{"version":3,"file":"MenuBar-yxPsXXVM.chunk.mjs","sources":["../src/composables/useMenuEntries.ts","../src/components/Menu/ActionListItem.vue","../src/components/Menu/ActionList.vue","../src/components/Menu/ActionSingle.vue","../src/components/Menu/ToolBarLogic.js","../src/components/Menu/ReadonlyBar.vue","../node_modules/@nextcloud/vue/dist/chunks/NcActionCheckbox-D9aQuEYw.mjs","../node_modules/path-normalize/lib/index.js","../src/services/AttachmentResolver.js","../src/helpers/platform.js","../src/components/HelpModal.vue","../src/components/Menu/ActionFormattingHelp.vue","../src/components/Menu/CharacterCount.vue","../src/components/Menu/WidthToggle.vue","../src/components/Menu/MenuBar.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tgetAssistantMenuEntries,\n\tgetMenuEntries,\n\toutlineEntries,\n\treadOnlyDoneEntries,\n\treadOnlyEditEntries,\n} from '../components/Menu/entries'\nimport { useEditorFlags } from './useEditorFlags'\n\nexport const useMenuEntries = () => {\n\tconst { isRichWorkspace } = useEditorFlags()\n\n\tconst assistantMenuEntries = getAssistantMenuEntries()\n\tconst menuEntries = getMenuEntries(isRichWorkspace)\n\n\treturn {\n\t\tassistantMenuEntries,\n\t\tmenuEntries,\n\t\toutlineEntries,\n\t\treadOnlyDoneEntries,\n\t\treadOnlyEditEntries,\n\t}\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tdata() {\n\t\treturn {\n\t\t\t/** Current menu entry that has focus */\n\t\t\tactiveMenuEntry: 0,\n\t\t\tentries: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tvisibleEntries() {\n\t\t\treturn this.entries\n\t\t},\n\t},\n\twatch: {\n\t\tvisibleEntries() {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (\n\t\t\t\t\tthis.activeMenuEntry > this.visibleEntries.length\n\t\t\t\t\t|| this.visibleEntries[this.activeMenuEntry]?.disabled\n\t\t\t\t) {\n\t\t\t\t\tthis.setNextMenuEntry()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Update the disabled state of an menu entry\n\t\t * @param {string} menuKey The key of the menu entry that changed\n\t\t * @param {boolean} state The new disabled state\n\t\t */\n\t\tdisableMenuEntry(menuKey, state) {\n\t\t\tconst index = this.visibleEntries.findIndex(({ key }) => key === menuKey)\n\t\t\tthis.visibleEntries[index].disabled = state\n\t\t\tif (state === false && this.activeMenuEntry === index) {\n\t\t\t\tthis.$nextTick(() => this.setNextMenuEntry())\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set the active menu entry to the next one (or reset to first)\n\t\t */\n\t\tsetNextMenuEntry() {\n\t\t\t// refs is not reactive so we must check this every time\n\t\t\tconst modulo =\n\t\t\t\tthis.visibleEntries.length + (this.$refs.remainingEntries ? 1 : 0)\n\n\t\t\tdo {\n\t\t\t\tthis.activeMenuEntry = (this.activeMenuEntry + 1) % modulo\n\t\t\t} while (\n\t\t\t\tthis.activeMenuEntry < this.visibleEntries.length\n\t\t\t\t&& this.visibleEntries[this.activeMenuEntry].disabled\n\t\t\t)\n\t\t},\n\t\t/**\n\t\t * Set the active menu entry to the previous one (or reset to last entry (remaining actions))\n\t\t */\n\t\tsetPreviousMenuEntry() {\n\t\t\t// refs is not reactive so we must check this every time\n\t\t\tconst modulo =\n\t\t\t\tthis.visibleEntries.length + (this.$refs.remainingEntries ? 1 : 0)\n\n\t\t\tdo {\n\t\t\t\tconst index = this.activeMenuEntry - 1\n\t\t\t\tthis.activeMenuEntry = ((index % modulo) + modulo) % modulo // needed as JS does not work with negative modulos\n\t\t\t} while (\n\t\t\t\tthis.activeMenuEntry < this.visibleEntries.length\n\t\t\t\t&& this.visibleEntries[this.activeMenuEntry].disabled\n\t\t\t)\n\t\t},\n\n\t\t/**\n\t\t * Handle navigation in toolbar\n\t\t * @param {KeyboardEvent} event The keyup event\n\t\t */\n\t\thandleToolbarNavigation(event) {\n\t\t\tif (event.key === 'ArrowRight') {\n\t\t\t\tthis.setNextMenuEntry()\n\t\t\t} else if (event.key === 'ArrowLeft') {\n\t\t\t\tthis.setPreviousMenuEntry()\n\t\t\t}\n\n\t\t\tif (this.activeMenuEntry === this.visibleEntries.length) {\n\t\t\t\tthis.$refs.remainingEntries?.focusButton?.()\n\t\t\t} else {\n\t\t\t\t// The ref is in no order (ordered by the time they needed to mount), so we need to order them like they are shown on the menu\n\t\t\t\tconst entries = [...this.$refs.menuEntries].sort(\n\t\t\t\t\t(a, b) =>\n\t\t\t\t\t\tthis.visibleEntries.findIndex(\n\t\t\t\t\t\t\t({ key }) => key === a.$vnode.data.key,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t- this.visibleEntries.findIndex(\n\t\t\t\t\t\t\t({ key }) => key === b.$vnode.data.key,\n\t\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\tentries[this.activeMenuEntry].focusButton()\n\t\t\t}\n\t\t},\n\t},\n})\n","\n\n\n\n\n\n\n","import '../assets/NcActionCheckbox-C8I_k6NA.css';\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionCheckbox\",\n mixins: [ActionGlobalMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n checked: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: void 0\n },\n /**\n * checked state of the the checkbox element\n */\n modelValue: {\n type: Boolean,\n default: false\n },\n /**\n * value of the checkbox input\n */\n value: {\n type: [String, Number],\n default: \"\"\n },\n /**\n * disabled state of the checkbox element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"change\",\n \"check\",\n \"uncheck\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:checked\",\n /**\n * Emitted when the checkbox state is changed\n *\n * @type {boolean}\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"checked\", \"update:checked\");\n return {\n model\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * aria-checked attribute for role=\"menuitemcheckbox\"\n *\n * @return {'true'|'false'|undefined} aria-checked value if needed\n */\n ariaChecked() {\n if (this.isInSemanticMenu) {\n return this.model ? \"true\" : \"false\";\n }\n return void 0;\n }\n },\n methods: {\n checkInput() {\n this.$refs.label.click();\n },\n onChange(event) {\n this.model = this.$refs.checkbox.checked;\n this.$emit(\"change\", event);\n if (this.$refs.checkbox.checked) {\n this.$emit(\"check\");\n } else {\n this.$emit(\"uncheck\");\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"span\", { staticClass: \"action-checkbox\", attrs: { \"role\": _vm.isInSemanticMenu && \"menuitemcheckbox\", \"aria-checked\": _vm.ariaChecked } }, [_c(\"input\", { ref: \"checkbox\", staticClass: \"checkbox action-checkbox__checkbox\", class: { focusable: _vm.isFocusable }, attrs: { \"id\": _vm.id, \"disabled\": _vm.disabled, \"type\": \"checkbox\" }, domProps: { \"checked\": _vm.model, \"value\": _vm.value }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.preventDefault();\n return _vm.checkInput.apply(null, arguments);\n }, \"change\": _vm.onChange } }), _c(\"label\", { ref: \"label\", staticClass: \"action-checkbox__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"73edcb0b\"\n);\nconst NcActionCheckbox = __component__.exports;\nexport {\n NcActionCheckbox as N\n};\n//# sourceMappingURL=NcActionCheckbox-D9aQuEYw.mjs.map\n","\"use strict\";\n/* eslint-disable @typescript-eslint/no-magic-numbers */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalize = void 0;\nconst SLASH = 47;\nconst DOT = 46;\nconst assertPath = (path) => {\n const t = typeof path;\n if (t !== 'string') {\n throw new TypeError(`Expected a string, got a ${t}`);\n }\n};\n// this function is directly from node source\n// eslint-disable-next-line complexity\nconst posixNormalize = (path, allowAboveRoot) => {\n let res = '';\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n // eslint-disable-next-line @typescript-eslint/init-declarations\n let code;\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i <= path.length; ++i) {\n if (i < path.length) {\n code = path.charCodeAt(i);\n }\n else if (code === SLASH) {\n break;\n }\n else {\n code = SLASH;\n }\n if (code === SLASH) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n }\n else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 ||\n lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== DOT ||\n res.charCodeAt(res.length - 2) !== DOT) {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n // eslint-disable-next-line max-depth\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n }\n else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0) {\n res += '/..';\n }\n else {\n res = '..';\n }\n lastSegmentLength = 2;\n }\n }\n else {\n if (res.length > 0) {\n res += '/' + path.slice(lastSlash + 1, i);\n }\n else {\n res = path.slice(lastSlash + 1, i);\n }\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n }\n else if (code === DOT && dots !== -1) {\n // eslint-disable-next-line no-plusplus\n ++dots;\n }\n else {\n dots = -1;\n }\n }\n return res;\n};\nconst decode = (s) => {\n try {\n return decodeURIComponent(s);\n }\n catch {\n return s;\n }\n};\nconst normalize = (p) => {\n assertPath(p);\n let path = p;\n if (path.length === 0) {\n return '.';\n }\n const isAbsolute = path.charCodeAt(0) === SLASH;\n const trailingSeparator = path.charCodeAt(path.length - 1) === SLASH;\n path = decode(path);\n path = posixNormalize(path, !isAbsolute);\n if (path.length === 0 && !isAbsolute) {\n path = '.';\n }\n if (path.length > 0 && trailingSeparator) {\n path += '/';\n }\n if (isAbsolute) {\n return '/' + path;\n }\n return path;\n};\nexports.normalize = normalize;\nexports.default = exports.normalize;\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport pathNormalize from 'path-normalize'\n\nexport default class AttachmentResolver {\n\t#session\n\t#user\n\t#shareToken\n\t#currentDirectory\n\t#documentId\n\t#initAttachmentListPromise\n\t#attachmentList = []\n\n\tconstructor({ session, user, shareToken, currentDirectory, fileId }) {\n\t\tthis.#session = session\n\t\tthis.#user = user\n\t\tthis.#shareToken = shareToken\n\t\tthis.#currentDirectory = currentDirectory\n\t\tthis.#documentId = fileId ?? session.documentId\n\t\tthis.#initAttachmentListPromise = this.#updateAttachmentList()\n\t}\n\n\tasync #updateAttachmentList() {\n\t\tconst response = await axios.post(generateUrl('/apps/text/attachments'), {\n\t\t\tdocumentId: this.#session?.documentId ?? this.#documentId,\n\t\t\tsessionId: this.#session?.id,\n\t\t\tsessionToken: this.#session?.token,\n\t\t\tshareToken: this.#shareToken,\n\t\t})\n\t\tthis.#attachmentList = response.data\n\t}\n\n\t#findAttachment(fileName) {\n\t\treturn this.#attachmentList.find((a) => a.name === fileName)\n\t}\n\n\t/*\n\t * Resolve a given image/attachment src.\n\t * @param { string } src - the original src in the node.\n\t * @param { bool } fallback - fetch again attachmentsList if not found | defaul = true\n\t */\n\tasync resolve(src, fallback = true) {\n\t\tlet attachment\n\n\t\t// Native attachment\n\t\tconst directoryRegexp = /^\\.attachments\\.\\d+\\//\n\t\tif (src.match(directoryRegexp)) {\n\t\t\tconst imageFileName = decodeURIComponent(\n\t\t\t\tsrc.replace(directoryRegexp, '').split('?')[0],\n\t\t\t)\n\n\t\t\t// Wait until attachment list got fetched (initialized by constructor)\n\t\t\tawait this.#initAttachmentListPromise\n\t\t\tattachment = this.#findAttachment(imageFileName)\n\n\t\t\tif (fallback && !attachment) {\n\t\t\t\t// Update attachments list. Needed if attachments gets added to the session\n\t\t\t\tawait this.#updateAttachmentList()\n\t\t\t\tattachment = this.#findAttachment(imageFileName)\n\t\t\t}\n\n\t\t\tif (attachment) {\n\t\t\t\treturn attachment\n\t\t\t}\n\t\t}\n\n\t\t// Direct URLs\n\t\tif (isDirectUrl(src)) {\n\t\t\treturn {\n\t\t\t\tisImage: true,\n\t\t\t\tname: this.#name(src),\n\t\t\t\tpreviewUrl: src,\n\t\t\t\tfullUrl: src,\n\t\t\t}\n\t\t}\n\n\t\t// Fallback: Return DAV url (e.g. for relative paths to images)\n\t\treturn {\n\t\t\tisImage: true,\n\t\t\tname: this.#name(src),\n\t\t\tpreviewUrl: this.#davUrl(src),\n\t\t\tfullUrl: this.#davUrl(src),\n\t\t}\n\t}\n\n\t#name(src) {\n\t\treturn src.split('/').pop()\n\t}\n\n\t#davUrl(src) {\n\t\tif (this.#user) {\n\t\t\tconst uid = this.#user.uid\n\t\t\tconst encoded = this.#filePath(src)\n\t\t\t\t.split('/')\n\t\t\t\t.map(encodeURIComponent)\n\t\t\t\t.join('/')\n\t\t\treturn generateRemoteUrl(`dav/files/${uid}${encoded}`)\n\t\t}\n\n\t\tconst path = this.#filePath(src).split('/')\n\t\tconst basename = path.pop()\n\t\tconst dirname = path.join('/')\n\n\t\treturn generateUrl('/s/{token}/download?path={dirname}&files={basename}', {\n\t\t\ttoken: this.#shareToken,\n\t\t\tbasename,\n\t\t\tdirname,\n\t\t})\n\t}\n\n\t/**\n\t * Return the relativePath to a file specified in the url\n\t *\n\t * @param {string} src - url to extract path from\n\t */\n\t#relativePath(src) {\n\t\treturn decodeURI(src.split('?')[0])\n\t}\n\n\t#filePath(src) {\n\t\tconst f = [this.#currentDirectory, this.#relativePath(src)].join('/')\n\n\t\treturn pathNormalize(f)\n\t}\n}\n\n/**\n * Check if src is a direct URL.\n * Full URLs only work for images on the same Nextcloud instance (due to CORS restrictions).\n *\n * @param {string} src - the url to check\n */\nfunction isDirectUrl(src) {\n\treturn (\n\t\tsrc.startsWith('http://')\n\t\t|| src.startsWith('https://')\n\t\t|| src.startsWith('data:')\n\t)\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Check if current platform is a mobile device\n *\n * @return {boolean} whether the platform is a mobile device\n */\nexport function isMobilePlatform() {\n\t// Use client hints if already available\n\tif (navigator?.userAgentData?.mobile !== undefined)\n\t\treturn navigator.userAgentData.mobile\n\n\t// use regex to match userAgent (required for Safari and Firefox in 2022)\n\tconst mobileDevices = [\n\t\t/Android/i,\n\t\t/webOS/i,\n\t\t/iPhone/i,\n\t\t/iPad/i,\n\t\t/iPod/i,\n\t\t/playbook/i,\n\t\t/silk/i,\n\t\t/BlackBerry/i,\n\t\t/Windows Phone/i,\n\t]\n\n\treturn mobileDevices.some((regex) => navigator.userAgent.match(regex))\n}\n","\n\n\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["useMenuEntries","isRichWorkspace","useEditorFlags","assistantMenuEntries","getAssistantMenuEntries","menuEntries","getMenuEntries","outlineEntries","readOnlyDoneEntries","readOnlyEditEntries","_sfc_main","NextcloudVueNcActionButton","BaseActionEntry","actionEntry","NcActions","NcActionSeparator","ActionListItem","useMenuIDMixin","state","editor","children","child","getIsActive","visible","t","debounce","val","entry","getActionState","NcButton","ToolBarLogic","defineComponent","menuKey","index","key","modulo","event","a","b","ActionList","ActionSingle","useIsMobileMixin","ActionGlobalMixin","GenRandomId","id","useModelMigration","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcActionCheckbox","exports","SLASH","DOT","assertPath","path","posixNormalize","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","code","i","lastSlashIndex","decode","s","normalize","p","isAbsolute","trailingSeparator","AttachmentResolver","#session","#user","#shareToken","#currentDirectory","#documentId","#initAttachmentListPromise","#attachmentList","session","user","shareToken","currentDirectory","fileId","#updateAttachmentList","response","axios","generateUrl","#findAttachment","fileName","src","fallback","attachment","directoryRegexp","imageFileName","isDirectUrl","#name","#davUrl","uid","encoded","#filePath","generateRemoteUrl","basename","dirname","#relativePath","f","pathNormalize","isMobilePlatform","regex","NcDialog","TRANSLATIONS","MODIFIERS","style","Help","AlphabeticalVariant","NcActionText","useEditor","countString","ref","storage","wordCount","charCount","words","n","chars","canToggleWidth","isFullWidth","setFullWidth","useEditorWidth","ActionFormattingHelp","HelpModal","CharacterCount","WidthToggle","MENU_ID","isPublic","isRichEditor","menubar","width","useElementSize","e","remainingEntries","entries","acc","separatorBefore","separatorAfter","DotsHorizontal","clickableArea","spaceToFill","spacePerSlot"],"mappings":"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","x_google_ignoreList":[6,7]}