diff --git a/src/components/Menu/ActionFormattingHelp.vue b/src/components/Menu/ActionFormattingHelp.vue
new file mode 100644
index 00000000000..de19b253300
--- /dev/null
+++ b/src/components/Menu/ActionFormattingHelp.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ {{ t('text', 'Formatting help') }}
+
+
+
+
diff --git a/src/components/Menu/ActionList.vue b/src/components/Menu/ActionList.vue
index 1724047309f..476b8176b7d 100644
--- a/src/components/Menu/ActionList.vue
+++ b/src/components/Menu/ActionList.vue
@@ -29,7 +29,8 @@
:aria-label="actionEntry.label"
:title="actionEntry.label"
:data-text-action-entry="actionEntry.key"
- :data-text-action-active="activeKey">
+ :data-text-action-active="activeKey"
+ @update:open="onOpenChange">
@@ -39,6 +40,7 @@
:action-entry="child"
v-on="$listeners"
@trigged="onTrigger" />
+
@@ -53,9 +55,15 @@ import { useMenuIDMixin } from './MenuBar.provider.js'
export default {
name: 'ActionList',
- components: { NcActions, ActionSingle },
+ components: {
+ NcActions,
+ ActionSingle,
+ },
extends: BaseActionEntry,
mixins: [useStore, useOutlineStateMixin, useMenuIDMixin],
+ data: () => ({
+ visible: false,
+ }),
computed: {
currentChild() {
const {
@@ -98,6 +106,9 @@ export default {
},
},
methods: {
+ onOpenChange(val) {
+ this.visible = val
+ },
runAction() {
// nothing todo
},
diff --git a/src/components/Menu/CharacterCount.vue b/src/components/Menu/CharacterCount.vue
new file mode 100644
index 00000000000..ed7eb19c6f4
--- /dev/null
+++ b/src/components/Menu/CharacterCount.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+ {{ countString }}
+
+
+
+
+
diff --git a/src/components/Menu/MenuBar.vue b/src/components/Menu/MenuBar.vue
index 2b985cb217c..85da510ff3f 100644
--- a/src/components/Menu/MenuBar.vue
+++ b/src/components/Menu/MenuBar.vue
@@ -42,8 +42,15 @@
:aria-label="t('text', 'Editor actions')">
+ :key="`text-action--${actionEntry.key}`" />
+
+
+
+
+
+
+