@eigenpal/docx-editor-vue 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +204 -0
- package/README.md +60 -0
- package/dist/KeyboardShortcutsDialog-BtJB9UOD.js +2902 -0
- package/dist/KeyboardShortcutsDialog-D72k5DXR.cjs +1 -0
- package/dist/MenuBar-BrQW4COn.cjs +4 -0
- package/dist/MenuBar-D_Dvwb0F.js +3313 -0
- package/dist/RenderedDomContext-CHc18N_2.js +2 -0
- package/dist/TablePropertiesDialog-Ct5XChwd.cjs +1 -0
- package/dist/TablePropertiesDialog-cJx_xxxE.js +987 -0
- package/dist/_plugin-vue_export-helper-B52Kst-M.js +8 -0
- package/dist/_plugin-vue_export-helper-CX7YVcP6.cjs +1 -0
- package/dist/components/DocxEditor/types.d.ts +100 -0
- package/dist/components/EditorToolbarContext.d.ts +9 -0
- package/dist/components/Toolbar/presets.d.ts +42 -0
- package/dist/components/dialogs/index.d.ts +27 -0
- package/dist/components/imageContextMenuTypes.d.ts +30 -0
- package/dist/components/imageSelectionTypes.d.ts +14 -0
- package/dist/components/insertTableState.d.ts +9 -0
- package/dist/components/sidebar/cardStyles.d.ts +3 -0
- package/dist/components/sidebar/cardUtils.d.ts +1 -0
- package/dist/components/sidebar/resolveItemPositions.d.ts +4 -0
- package/dist/components/sidebar/sidebarUtils.d.ts +4 -0
- package/dist/components/tableStylePresets.d.ts +53 -0
- package/dist/components/toolbarUtils.d.ts +1 -0
- package/dist/components/ui/Icons.d.ts +1 -0
- package/dist/components/ui/hyperlinkPopupTypes.d.ts +20 -0
- package/dist/composables/index.d.ts +30 -0
- package/dist/composables/useAutoSave.d.ts +40 -0
- package/dist/composables/useClipboard.d.ts +22 -0
- package/dist/composables/useCommentLifecycle.d.ts +52 -0
- package/dist/composables/useCommentManagement.d.ts +41 -0
- package/dist/composables/useCommentSidebarItems.d.ts +24 -0
- package/dist/composables/useContextMenus.d.ts +39 -0
- package/dist/composables/useDocumentLifecycle.d.ts +11 -0
- package/dist/composables/useDocxEditor.d.ts +56 -0
- package/dist/composables/useDocxEditorRefApi.d.ts +49 -0
- package/dist/composables/useDragAutoScroll.d.ts +11 -0
- package/dist/composables/useFileIO.d.ts +30 -0
- package/dist/composables/useFindReplace.d.ts +34 -0
- package/dist/composables/useFixedDropdown.d.ts +14 -0
- package/dist/composables/useFormattingActions.d.ts +40 -0
- package/dist/composables/useHistory.d.ts +9 -0
- package/dist/composables/useHyperlinkManagement.d.ts +38 -0
- package/dist/composables/useImageActions.d.ts +30 -0
- package/dist/composables/useKeyboardShortcuts.d.ts +17 -0
- package/dist/composables/useMenuActions.d.ts +23 -0
- package/dist/composables/useOutlineSidebar.d.ts +17 -0
- package/dist/composables/usePageSetupControls.d.ts +22 -0
- package/dist/composables/usePagesPointer.d.ts +70 -0
- package/dist/composables/useSelectionHighlight.d.ts +19 -0
- package/dist/composables/useSelectionSync.d.ts +13 -0
- package/dist/composables/useTableResize.d.ts +7 -0
- package/dist/composables/useTableSelection.d.ts +10 -0
- package/dist/composables/useToolbarDropdowns.d.ts +14 -0
- package/dist/composables/useTrackedChanges.d.ts +12 -0
- package/dist/composables/useVisualLineNavigation.d.ts +11 -0
- package/dist/composables/useWheelZoom.d.ts +10 -0
- package/dist/composables/useZoom.d.ts +16 -0
- package/dist/composables.cjs +1 -0
- package/dist/composables.js +485 -0
- package/dist/dialogs.cjs +1 -0
- package/dist/dialogs.js +3 -0
- package/dist/docx-editor-vue.css +2 -0
- package/dist/i18n/LocaleContext.d.ts +1 -0
- package/dist/i18n/index.d.ts +26 -0
- package/dist/index.cjs +20 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +3600 -0
- package/dist/lib/utils.d.ts +10 -0
- package/dist/plugin-api/RenderedDomContext.d.ts +1 -0
- package/dist/plugin-api/index.d.ts +18 -0
- package/dist/plugin-api/types.d.ts +28 -0
- package/dist/plugin-api.cjs +1 -0
- package/dist/plugin-api.js +62 -0
- package/dist/renderAsync.d.ts +31 -0
- package/dist/styles/index.d.ts +12 -0
- package/dist/styles/zIndex.d.ts +24 -0
- package/dist/styles.cjs +1 -0
- package/dist/styles.js +5 -0
- package/dist/ui.cjs +18 -0
- package/dist/ui.d.ts +79 -0
- package/dist/ui.js +963 -0
- package/dist/useTableResize-1oSe9Kjk.js +480 -0
- package/dist/useTableResize-lWdIgX9x.cjs +1 -0
- package/dist/utils/commentFactories.d.ts +7 -0
- package/dist/utils/domQueries.d.ts +28 -0
- package/dist/utils/imageClipboard.d.ts +9 -0
- package/dist/utils/paraTextHelpers.d.ts +29 -0
- package/dist/utils/refApiQueries.d.ts +46 -0
- package/dist/zIndex-CH0jZ7U7.cjs +1 -0
- package/dist/zIndex-CxELVe_L.js +12 -0
- package/package.json +119 -0
|
@@ -0,0 +1,2902 @@
|
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-B52Kst-M.js";
|
|
2
|
+
import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, inject as l, nextTick as u, normalizeClass as d, normalizeStyle as f, openBlock as p, provide as m, ref as h, renderList as g, toDisplayString as _, unref as v, vModelCheckbox as y, vModelSelect as b, vModelText as x, watch as S, withDirectives as C, withKeys as w, withModifiers as T } from "vue";
|
|
3
|
+
import { TWIPS_PER_INCH as E } from "@eigenpal/docx-editor-core/utils";
|
|
4
|
+
import { TextSelection as D } from "prosemirror-state";
|
|
5
|
+
var O = {
|
|
6
|
+
undo: ["M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"],
|
|
7
|
+
redo: ["M396-200q-97 0-166.5-63T160-420q0-94 69.5-157T396-640h252L544-744l56-56 200 200-200 200-56-56 104-104H396q-63 0-109.5 40T240-420q0 60 46.5 100T396-280h284v80H396Z"],
|
|
8
|
+
print: ["M640-640v-120H320v120h-80v-200h480v200h-80Zm-480 80h640-640Zm560 100q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320Zm80 80H240v-160H80v-240q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v240H720v160Zm80-240v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160h80v-80h480v80h80Z"],
|
|
9
|
+
file_download: ["M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z"],
|
|
10
|
+
file_upload: ["M440-320v-326L336-542l-56-58 200-200 200 200-56 58-104-104v326h-80ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z"],
|
|
11
|
+
format_bold: ["M272-200v-560h221q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H272Zm121-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z"],
|
|
12
|
+
format_italic: ["M200-200v-100h160l120-360H320v-100h400v100H580L460-300h140v100H200Z"],
|
|
13
|
+
format_underlined: ["M200-120v-80h560v80H200Zm123-223q-56-63-56-167v-330h103v336q0 56 28 91t82 35q54 0 82-35t28-91v-336h103v330q0 104-56 167t-157 63q-101 0-157-63Z"],
|
|
14
|
+
strikethrough_s: ["M486-160q-76 0-135-45t-85-123l88-38q14 48 48.5 79t85.5 31q42 0 76-20t34-64q0-18-7-33t-19-27h112q5 14 7.5 28.5T694-340q0 86-61.5 133T486-160ZM80-480v-80h800v80H80Zm402-326q66 0 115.5 32.5T674-674l-88 39q-9-29-33.5-52T484-710q-41 0-68 18.5T386-640h-96q2-69 54.5-117.5T482-806Z"],
|
|
15
|
+
superscript: ["M760-600v-80q0-17 11.5-28.5T800-720h80v-40H760v-40h120q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h120v40H760ZM235-160l185-291-172-269h106l124 200h4l123-200h107L539-451l186 291H618L482-377h-4L342-160H235Z"],
|
|
16
|
+
subscript: ["M760-160v-80q0-17 11.5-28.5T800-280h80v-40H760v-40h120q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h120v40H760Zm-525-80 185-291-172-269h106l124 200h4l123-200h107L539-531l186 291H618L482-457h-4L342-240H235Z"],
|
|
17
|
+
link: ["M440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm200 160v-80h160q50 0 85-35t35-85q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H520Z"],
|
|
18
|
+
format_clear: ["m528-546-93-93-121-121h486v120H568l-40 94ZM792-56 460-388l-80 188H249l119-280L56-792l56-56 736 736-56 56Z"],
|
|
19
|
+
format_align_left: ["M120-120v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Z"],
|
|
20
|
+
format_align_center: ["M120-120v-80h720v80H120Zm160-160v-80h400v80H280ZM120-440v-80h720v80H120Zm160-160v-80h400v80H280ZM120-760v-80h720v80H120Z"],
|
|
21
|
+
format_align_right: ["M120-760v-80h720v80H120Zm240 160v-80h480v80H360ZM120-440v-80h720v80H120Zm240 160v-80h480v80H360ZM120-120v-80h720v80H120Z"],
|
|
22
|
+
format_align_justify: ["M120-120v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Z"],
|
|
23
|
+
format_line_spacing: ["M240-160 80-320l56-56 64 62v-332l-64 62-56-56 160-160 160 160-56 56-64-62v332l64-62 56 56-160 160Zm240-40v-80h400v80H480Zm0-240v-80h400v80H480Zm0-240v-80h400v80H480Z"],
|
|
24
|
+
format_list_bulleted: ["M360-200v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm-56.5-263.5Q120-687 120-720t23.5-56.5Q167-800 200-800t56.5 23.5Q280-753 280-720t-23.5 56.5Q233-640 200-640t-56.5-23.5Z"],
|
|
25
|
+
format_list_numbered: ["M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"],
|
|
26
|
+
format_indent_increase: ["M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm0 440v-320l160 160-160 160Z"],
|
|
27
|
+
format_indent_decrease: ["M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm160 440L120-480l160-160v320Z"],
|
|
28
|
+
format_color_text: ["M80 0v-160h800V0H80Zm140-280 210-560h100l210 560h-96l-50-144H368l-52 144h-96Zm176-224h168l-82-232h-4l-82 232Z"],
|
|
29
|
+
ink_highlighter: ["M544-400 440-504 240-304l104 104 200-200Zm-47-161 104 104 199-199-104-104-199 199Zm-84-28 216 216-229 229q-24 24-56 24t-56-24l-2-2-26 26H60l126-126-2-2q-24-24-24-56t24-56l229-229Zm0 0 227-227q24-24 56-24t56 24l104 104q24 24 24 56t-24 56L629-373 413-589Z"],
|
|
30
|
+
format_color_reset: ["M800-436q0 36-8 69t-22 63l-62-60q6-17 9-34.5t3-37.5q0-47-17.5-89T650-600L480-768l-88 86-56-56 144-142 226 222q44 42 69 99.5T800-436Zm-8 380L668-180q-41 29-88 44.5T480-120q-133 0-226.5-92.5T160-436q0-51 16-98t48-90L56-792l56-56 736 736-56 56ZM480-200q36 0 68.5-10t61.5-28L280-566q-21 32-30.5 64t-9.5 66q0 98 70 167t170 69Zm-37-204Zm110-116Z"],
|
|
31
|
+
arrow_drop_down: ["M480-360 280-560h400L480-360Z"],
|
|
32
|
+
table: ["M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm240-240H200v160h240v-160Zm80 0v160h240v-160H520Zm-80-80v-160H200v160h240Zm80 0h240v-160H520v160ZM200-680h560v-80H200v80Z"],
|
|
33
|
+
table_chart: ["M760-120H200q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120ZM200-640h560v-120H200v120Zm100 80H200v360h100v-360Zm360 0v360h100v-360H660Zm-80 0H380v360h200v-360Z"],
|
|
34
|
+
grid_on: ["M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133ZM200-413h133v-134H200v134Zm213 0h134v-134H413v134Zm214 0h133v-134H627v134ZM200-627h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133Z"],
|
|
35
|
+
table_rows: ["M760-200v-120H200v120h560Zm0-200v-160H200v160h560Zm0-240v-120H200v120h560ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"],
|
|
36
|
+
view_column: ["M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z"],
|
|
37
|
+
border_all: ["M120-120v-720h720v720H120Zm640-80v-240H520v240h240Zm0-560H520v240h240v-240Zm-560 0v240h240v-240H200Zm0 560h240v-240H200v240Z"],
|
|
38
|
+
border_outer: ["M200-200h560v-560H200v560Zm-80 80v-720h720v720H120Zm160-320v-80h80v80h-80Zm160 160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 160v-80h80v80h-80Z"],
|
|
39
|
+
border_inner: ["M120-120v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm320 640v-80h80v80h-80Zm160 0v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-160v-80h80v80h-80Zm-160 0v-80h80v80h-80ZM440-120v-320H120v-80h320v-320h80v320h320v80H520v320h-80Z"],
|
|
40
|
+
border_clear: ["M120-120v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Z"],
|
|
41
|
+
add: ["M440-440H200v-80h240v-240h80v240h240v80H520v240h-80v-240Z"],
|
|
42
|
+
remove: ["M200-440v-80h560v80H200Z"],
|
|
43
|
+
delete: ["M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"],
|
|
44
|
+
delete_sweep: ["M600-240v-80h160v80H600Zm0-320v-80h280v80H600Zm0 160v-80h240v80H600ZM120-640H80v-80h160v-60h160v60h160v80h-40v360q0 33-23.5 56.5T440-200H200q-33 0-56.5-23.5T120-280v-360Zm80 0v360h240v-360H200Zm0 0v360-360Z"],
|
|
45
|
+
call_merge: ["m296-160-56-56 200-200v-269L337-582l-57-57 200-200 201 201-57 57-104-104v301L296-160Zm368 1L536-286l57-57 127 128-56 56Z"],
|
|
46
|
+
call_split: ["M440-160v-304L240-664v104h-80v-240h240v80H296l224 224v336h-80Zm154-376-58-58 128-126H560v-80h240v240h-80v-104L594-536Z"],
|
|
47
|
+
drag_indicator: ["M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160Zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160ZM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400Zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400ZM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640Zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640Z"],
|
|
48
|
+
image: ["M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z"],
|
|
49
|
+
format_image_left: ["M120-280v-400h400v400H120Zm80-80h240v-240H200v240Zm-80-400v-80h720v80H120Zm480 160v-80h240v80H600Zm0 160v-80h240v80H600Zm0 160v-80h240v80H600ZM120-120v-80h720v80H120Z"],
|
|
50
|
+
format_image_right: ["M440-280v-400h400v400H440Zm80-80h240v-240H520v240ZM120-120v-80h720v80H120Zm0-160v-80h240v80H120Zm0-160v-80h240v80H120Zm0-160v-80h240v80H120Zm0-160v-80h720v80H120Z"],
|
|
51
|
+
horizontal_rule: ["M160-440v-80h640v80H160Z"],
|
|
52
|
+
flip_to_back: ["M200-120q-33 0-56.5-23.5T120-200v-480h80v480h480v80H200Zm160-240v80q-33 0-56.5-23.5T280-360h80Zm-80-80v-80h80v80h-80Zm0-160v-80h80v80h-80Zm80-160h-80q0-33 23.5-56.5T360-840v80Zm80 480v-80h80v80h-80Zm0-480v-80h80v80h-80Zm160 0v-80h80v80h-80Zm0 480v-80h80v80h-80Zm160-480v-80q33 0 56.5 23.5T840-760h-80Zm0 400h80q0 33-23.5 56.5T760-280v-80Zm0-80v-80h80v80h-80Zm0-160v-80h80v80h-80Z"],
|
|
53
|
+
flip_to_front: ["M360-280q-33 0-56.5-23.5T280-360v-400q0-33 23.5-56.5T360-840h400q33 0 56.5 23.5T840-760v400q0 33-23.5 56.5T760-280H360Zm0-80h400v-400H360v400ZM200-200v80q-33 0-56.5-23.5T120-200h80Zm-80-80v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 480v-80h80v80h-80Zm160 0v-80h80v80h-80Zm160 0v-80h80v80h-80Z"],
|
|
54
|
+
open_with: ["M480-80 310-250l57-57 73 73v-166h80v165l72-73 58 58L480-80ZM250-310 80-480l169-169 57 57-72 72h166v80H235l73 72-58 58Zm460 0-57-57 73-73H560v-80h165l-73-72 58-58 170 170-170 170ZM440-560v-166l-73 73-57-57 170-170 170 170-57 57-73-73v166h-80Z"],
|
|
55
|
+
tune: ["M440-120v-240h80v80h320v80H520v80h-80Zm-320-80v-80h240v80H120Zm160-160v-80H120v-80h160v-80h80v240h-80Zm160-80v-80h400v80H440Zm160-160v-240h80v80h160v80H680v80h-80Zm-480-80v-80h400v80H120Z"],
|
|
56
|
+
rotate_right: ["M522-80v-82q34-5 66.5-18t61.5-34l56 58q-42 32-88 51.5T522-80Zm-80 0Q304-98 213-199.5T122-438q0-75 28.5-140.5t77-114q48.5-48.5 114-77T482-798h6l-62-62 56-58 160 160-160 160-56-56 64-64h-8q-117 0-198.5 81.5T202-438q0 104 68 182.5T442-162v82Zm322-134-58-56q21-29 34-61.5t18-66.5h82q-5 50-24.5 96T764-214Zm76-264h-82q-5-34-18-66.5T706-606l58-56q32 39 51 86t25 98Z"],
|
|
57
|
+
rotate_left: ["M440-80q-50-5-96-24.5T256-156l56-58q29 21 61.5 34t66.5 18v82Zm80 0v-82q104-15 172-93.5T760-438q0-117-81.5-198.5T480-718h-8l64 64-56 56-160-160 160-160 56 58-62 62h6q75 0 140.5 28.5t114 77q48.5 48.5 77 114T840-438q0 137-91 238.5T520-80ZM198-214q-32-42-51.5-88T122-398h82q5 34 18 66.5t34 61.5l-58 56Zm-76-264q6-51 25-98t51-86l58 56q-21 29-34 61.5T204-478h-82Z"],
|
|
58
|
+
swap_horiz: ["M280-160 80-360l200-200 56 57-103 103h287v80H233l103 103-56 57Zm400-240-56-57 103-103H440v-80h287L624-743l56-57 200 200-200 200Z"],
|
|
59
|
+
swap_vert: ["M320-440v-287L217-624l-57-56 200-200 200 200-57 56-103-103v287h-80ZM600-80 400-280l57-56 103 103v-287h80v287l103-103 57 56L600-80Z"],
|
|
60
|
+
shapes: ["M600-360ZM320-242q10 1 19.5 1.5t20.5.5q11 0 20.5-.5T400-242v82h400v-400h-82q1-10 1.5-19.5t.5-20.5q0-11-.5-20.5T718-640h82q33 0 56.5 23.5T880-560v400q0 33-23.5 56.5T800-80H400q-33 0-56.5-23.5T320-160v-82Zm40-78q-117 0-198.5-81.5T80-600q0-117 81.5-198.5T360-880q117 0 198.5 81.5T640-600q0 117-81.5 198.5T360-320Zm0-80q83 0 141.5-58.5T560-600q0-83-58.5-141.5T360-800q-83 0-141.5 58.5T160-600q0 83 58.5 141.5T360-400Zm0-200Z"],
|
|
61
|
+
format_paint: ["M440-80q-33 0-56.5-23.5T360-160v-160H240q-33 0-56.5-23.5T160-400v-280q0-66 47-113t113-47h480v440q0 33-23.5 56.5T720-320H600v160q0 33-23.5 56.5T520-80h-80ZM240-560h480v-200h-40v160h-80v-160h-40v80h-80v-80H320q-33 0-56.5 23.5T240-680v120Zm0 160h480v-80H240v80Zm0 0v-80 80Z"],
|
|
62
|
+
expand_more: ["M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"],
|
|
63
|
+
expand_less: ["m296-345-56-56 240-240 240 240-56 56-184-184-184 184Z"],
|
|
64
|
+
border_top: ["M120-120v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h720v80H120Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 320v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 480v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 320v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Z"],
|
|
65
|
+
border_bottom: ["M120-120v-80h720v80H120Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 480v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 480v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Z"],
|
|
66
|
+
border_left: ["M120-120v-720h80v720h-80Zm160 0v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Z"],
|
|
67
|
+
border_right: ["M120-120v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-320v-80h80v80h-80Zm0-320v-80h80v80h-80Zm160 640v-720h80v720h-80Z"],
|
|
68
|
+
border_horizontal: ["M120-120v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h720v60H120Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-660v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-330v-60h60v60h-60Zm0-165v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-660v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-330v-60h60v60h-60Zm0-165v-60h60v60h-60Z"],
|
|
69
|
+
border_vertical: ["M120-120v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-330v-60h60v60h-60Zm0-330v-60h60v60h-60Zm165 660v-720h60v720h-60Zm165 0v-60h60v60h-60Zm0-330v-60h60v60h-60Zm0-330v-60h60v60h-60Zm165 660v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Zm0-165v-60h60v60h-60Z"],
|
|
70
|
+
padding: ["M320-600q17 0 28.5-11.5T360-640q0-17-11.5-28.5T320-680q-17 0-28.5 11.5T280-640q0 17 11.5 28.5T320-600Zm160 0q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm160 0q17 0 28.5-11.5T680-640q0-17-11.5-28.5T640-680q-17 0-28.5 11.5T600-640q0 17 11.5 28.5T640-600ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"],
|
|
71
|
+
text_rotation_none: ["M160-200v-80h528l-42-42 56-56 138 138-138 138-56-56 42-42H160Zm116-200 164-440h80l164 440h-76l-38-112H392l-40 112h-76Zm138-176h132l-64-182h-4l-64 182Z"],
|
|
72
|
+
wrap_text: ["M588-132 440-280l148-148 56 58-50 50h96q29 0 49.5-20.5T760-390q0-29-20.5-49.5T690-460H160v-80h530q63 0 106.5 43.5T840-390q0 63-43.5 106.5T690-240h-96l50 50-56 58ZM160-240v-80h200v80H160Zm0-440v-80h640v80H160Z"],
|
|
73
|
+
height: ["M480-120 320-280l56-56 64 63v-414l-64 63-56-56 160-160 160 160-56 57-64-64v414l64-63 56 56-160 160Z"],
|
|
74
|
+
fit_width: ["M120-120v-720h80v720h-80Zm640 0v-720h80v720h-80ZM280-440v-80h80v80h-80Zm160 0v-80h80v80h-80Zm160 0v-80h80v80h-80Z"],
|
|
75
|
+
settings: ["m370-80-16-128q-13-5-24.5-12T307-235l-119 50L78-375l103-78q-1-7-1-13.5v-27q0-6.5 1-13.5L78-585l110-190 119 50q11-8 23-15t24-12l16-128h220l16 128q13 5 24.5 12t22.5 15l119-50 110 190-103 78q1 7 1 13.5v27q0 6.5-2 13.5l103 78-110 190-118-50q-11 8-23 15t-24 12L590-80H370Zm70-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z"],
|
|
76
|
+
border_color: ["M80 0v-160h800V0H80Zm160-320h56l312-311-29-29-28-28-311 312v56Zm-80 80v-170l448-447q11-11 25.5-17t30.5-6q16 0 31 6t27 18l55 56q12 11 17.5 26t5.5 31q0 15-5.5 29.5T777-687L330-240H160Zm560-504-56-56 56 56ZM608-631l-29-29-28-28 57 57Z"],
|
|
77
|
+
format_color_fill: ["m247-904 57-56 343 343q23 23 23 57t-23 57L457-313q-23 23-57 23t-57-23L153-503q-23-23-23-57t23-57l190-191-96-96Zm153 153L209-560h382L400-751Zm360 471q-33 0-56.5-23.5T680-360q0-21 12.5-45t27.5-45q9-12 19-25t21-25q11 12 21 25t19 25q15 21 27.5 45t12.5 45q0 33-23.5 56.5T760-280ZM80 0v-160h800V0H80Z"],
|
|
78
|
+
vertical_align_top: ["M160-760v-80h640v80H160Zm280 640v-408L336-424l-56-56 200-200 200 200-56 56-104-104v408h-80Z"],
|
|
79
|
+
vertical_align_center: ["M440-80v-168l-64 64-56-56 160-160 160 160-56 56-64-64v168h-80ZM160-440v-80h640v80H160Zm320-120L320-720l56-56 64 64v-168h80v168l64-64 56 56-160 160Z"],
|
|
80
|
+
vertical_align_bottom: ["M160-120v-80h640v80H160Zm320-160L280-480l56-56 104 104v-408h80v408l104-104 56 56-200 200Z"],
|
|
81
|
+
line_weight: ["M120-160v-40h720v40H120Zm0-120v-80h720v80H120Zm0-160v-120h720v120H120Zm0-200v-160h720v160H120Z"],
|
|
82
|
+
keyboard_arrow_up: ["M480-528 296-344l-56-56 240-240 240 240-56 56-184-184Z"],
|
|
83
|
+
keyboard_arrow_down: ["M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"],
|
|
84
|
+
keyboard_arrow_left: ["M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"],
|
|
85
|
+
keyboard_arrow_right: ["M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"],
|
|
86
|
+
more_vert: ["M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z"],
|
|
87
|
+
page_break: ["M120-440v-80h160v80H120Zm200 0v-80h160v80H320Zm200 0v-80h160v80H520Zm200 0v-80h120v80H720ZM240-120q-33 0-56.5-23.5T160-200v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-120H240Zm-80-520v-120q0-33 23.5-56.5T240-840h480q33 0 56.5 23.5T800-760v120h-80v-120H240v120h-80Z"],
|
|
88
|
+
arrow_back: ["M313-440l224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z"],
|
|
89
|
+
done_all: ["M268-240 42-466l57-56 170 170 56 56-57 56Zm226 0L268-466l56-57 170 170 368-368 57 57-425 424Zm0-226-57-56 198-198 57 56-198 198Z"],
|
|
90
|
+
check_circle: ["m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"],
|
|
91
|
+
chat_bubble_outline: ["M80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"],
|
|
92
|
+
chat_bubble_check: ["M80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"],
|
|
93
|
+
check: ["M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"],
|
|
94
|
+
close: ["m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"],
|
|
95
|
+
add_comment: ["M440-400h80v-120h120v-80H520v-120h-80v120H320v80h120v120ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"],
|
|
96
|
+
comment: ["M240-400h480v-80H240v80Zm0-120h480v-80H240v80Zm0-120h480v-80H240v80ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"],
|
|
97
|
+
edit_note: ["M160-400h280v-80H160v80Zm0-160h440v-80H160v80Zm0-160h440v-80H160v80Zm360 360v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T863-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z"],
|
|
98
|
+
rate_review: ["M240-400h122l200-200q9-9 13.5-20.5T580-643q0-11-5-21.5T562-684l-36-38q-9-9-20-13.5t-23-4.5q-11 0-22.5 4.5T440-722L240-522v122Zm280-243-37-37 37 37ZM300-460v-38l101-101 20 18 18 20-101 101h-38Zm121-121 18 20-38-38 20 18Zm26 181h273v-80H527l-80 80ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Zm126-240h594v-480H160v525l46-45Zm-46 0v-480 480Z"],
|
|
99
|
+
visibility: ["M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200Zm0-300Zm0 220q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280Z"],
|
|
100
|
+
format_textdirection_l_to_r: ["M360-360v-200q-66 0-113-47t-47-113q0-66 47-113t113-47h320v80h-80v440h-80v-440h-80v440h-80Zm0-280v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80ZM680-80l-56-56 64-64H120v-80h568l-64-64 56-56 160 160L680-80Z"],
|
|
101
|
+
format_textdirection_r_to_l: ["M360-360v-200q-66 0-113-47t-47-113q0-66 47-113t113-47h320v80h-80v440h-80v-440h-80v440h-80Zm-88 160 64 64-56 56-160-160 160-160 56 56-64 64h568v80H272Zm88-440v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Z"],
|
|
102
|
+
"agent-sparkle": ["m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"]
|
|
103
|
+
}, k = ["width", "height"], A = ["d"], j = /* @__PURE__ */ c({
|
|
104
|
+
__name: "MaterialSymbol",
|
|
105
|
+
props: {
|
|
106
|
+
name: {},
|
|
107
|
+
size: { default: 20 },
|
|
108
|
+
className: { default: "" },
|
|
109
|
+
style: {}
|
|
110
|
+
},
|
|
111
|
+
setup(e) {
|
|
112
|
+
let r = e, a = n(() => O[r.name] || (typeof console < "u" && console.warn(`Icon not found: ${r.name}`), null));
|
|
113
|
+
return (n, r) => a.value ? (p(), i("svg", {
|
|
114
|
+
key: 0,
|
|
115
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
116
|
+
width: e.size,
|
|
117
|
+
height: e.size,
|
|
118
|
+
viewBox: "0 -960 960 960",
|
|
119
|
+
fill: "currentColor",
|
|
120
|
+
class: d(e.className),
|
|
121
|
+
style: f({
|
|
122
|
+
display: "inline-flex",
|
|
123
|
+
flexShrink: 0,
|
|
124
|
+
...e.style ?? {}
|
|
125
|
+
}),
|
|
126
|
+
"aria-hidden": "true"
|
|
127
|
+
}, [(p(!0), i(t, null, g(a.value, (e, t) => (p(), i("path", {
|
|
128
|
+
key: t,
|
|
129
|
+
d: e
|
|
130
|
+
}, null, 8, A))), 128))], 14, k)) : (p(), i("span", {
|
|
131
|
+
key: 1,
|
|
132
|
+
class: d(e.className),
|
|
133
|
+
style: f({
|
|
134
|
+
fontSize: `${e.size}px`,
|
|
135
|
+
width: `${e.size}px`,
|
|
136
|
+
height: `${e.size}px`,
|
|
137
|
+
display: "inline-flex",
|
|
138
|
+
...e.style ?? {}
|
|
139
|
+
})
|
|
140
|
+
}, _(e.name), 7));
|
|
141
|
+
}
|
|
142
|
+
}), M = {
|
|
143
|
+
_lang: "en",
|
|
144
|
+
common: {
|
|
145
|
+
cancel: "Cancel",
|
|
146
|
+
insert: "Insert",
|
|
147
|
+
apply: "Apply",
|
|
148
|
+
close: "Close",
|
|
149
|
+
delete: "Delete",
|
|
150
|
+
update: "Update",
|
|
151
|
+
save: "Save",
|
|
152
|
+
retry: "Retry",
|
|
153
|
+
send: "Send",
|
|
154
|
+
edit: "Edit",
|
|
155
|
+
comment: "Comment",
|
|
156
|
+
reply: "Reply",
|
|
157
|
+
accept: "Accept",
|
|
158
|
+
reject: "Reject",
|
|
159
|
+
dismiss: "Dismiss",
|
|
160
|
+
change: "Change",
|
|
161
|
+
clear: "Clear",
|
|
162
|
+
px: "px",
|
|
163
|
+
closeDialog: "Close dialog"
|
|
164
|
+
},
|
|
165
|
+
toolbar: {
|
|
166
|
+
ariaLabel: "Formatting toolbar",
|
|
167
|
+
file: "File",
|
|
168
|
+
format: "Format",
|
|
169
|
+
insert: "Insert",
|
|
170
|
+
open: "Open",
|
|
171
|
+
openShortcut: "Ctrl+O",
|
|
172
|
+
save: "Save",
|
|
173
|
+
saveShortcut: "Ctrl+S",
|
|
174
|
+
print: "Print",
|
|
175
|
+
printShortcut: "Ctrl+P",
|
|
176
|
+
pageSetup: "Page setup",
|
|
177
|
+
leftToRight: "Left-to-right text",
|
|
178
|
+
rightToLeft: "Right-to-left text",
|
|
179
|
+
image: "Image",
|
|
180
|
+
table: "Table",
|
|
181
|
+
pageBreak: "Page break",
|
|
182
|
+
tableOfContents: "Table of contents",
|
|
183
|
+
symbol: "Symbol",
|
|
184
|
+
help: "Help",
|
|
185
|
+
reportIssue: "Report issue"
|
|
186
|
+
},
|
|
187
|
+
formattingBar: {
|
|
188
|
+
groups: {
|
|
189
|
+
history: "History",
|
|
190
|
+
zoom: "Zoom",
|
|
191
|
+
styles: "Styles",
|
|
192
|
+
font: "Font",
|
|
193
|
+
textFormatting: "Text formatting",
|
|
194
|
+
script: "Script",
|
|
195
|
+
alignment: "Alignment",
|
|
196
|
+
listFormatting: "List formatting",
|
|
197
|
+
image: "Image",
|
|
198
|
+
table: "Table"
|
|
199
|
+
},
|
|
200
|
+
undo: "Undo",
|
|
201
|
+
undoShortcut: "Undo (Ctrl+Z)",
|
|
202
|
+
redo: "Redo",
|
|
203
|
+
redoShortcut: "Redo (Ctrl+Y)",
|
|
204
|
+
bold: "Bold",
|
|
205
|
+
boldShortcut: "Bold (Ctrl+B)",
|
|
206
|
+
italic: "Italic",
|
|
207
|
+
italicShortcut: "Italic (Ctrl+I)",
|
|
208
|
+
underline: "Underline",
|
|
209
|
+
underlineShortcut: "Underline (Ctrl+U)",
|
|
210
|
+
strikethrough: "Strikethrough",
|
|
211
|
+
fontColor: "Font Color",
|
|
212
|
+
highlightColor: "Text Highlight Color",
|
|
213
|
+
insertLink: "Insert link",
|
|
214
|
+
insertLinkShortcut: "Insert link (Ctrl+K)",
|
|
215
|
+
superscript: "Superscript",
|
|
216
|
+
superscriptShortcut: "Superscript (Ctrl+Shift+=)",
|
|
217
|
+
subscript: "Subscript",
|
|
218
|
+
subscriptShortcut: "Subscript (Ctrl+=)",
|
|
219
|
+
imageProperties: "Image properties",
|
|
220
|
+
imagePropertiesShortcut: "Image properties (alt text, border)...",
|
|
221
|
+
clearFormatting: "Clear formatting"
|
|
222
|
+
},
|
|
223
|
+
alignment: {
|
|
224
|
+
alignLeft: "Align Left",
|
|
225
|
+
alignLeftShortcut: "Ctrl+L",
|
|
226
|
+
center: "Center",
|
|
227
|
+
centerShortcut: "Ctrl+E",
|
|
228
|
+
alignRight: "Align Right",
|
|
229
|
+
alignRightShortcut: "Ctrl+R",
|
|
230
|
+
justify: "Justify",
|
|
231
|
+
justifyShortcut: "Ctrl+J"
|
|
232
|
+
},
|
|
233
|
+
lists: {
|
|
234
|
+
ariaLabel: "List formatting",
|
|
235
|
+
typeAriaLabel: "List type",
|
|
236
|
+
indentationAriaLabel: "List indentation",
|
|
237
|
+
bulletList: "Bullet List",
|
|
238
|
+
numberedList: "Numbered List",
|
|
239
|
+
decreaseIndent: "Decrease Indent",
|
|
240
|
+
increaseIndent: "Increase Indent"
|
|
241
|
+
},
|
|
242
|
+
lineSpacing: {
|
|
243
|
+
single: "Single",
|
|
244
|
+
double: "Double",
|
|
245
|
+
lineSpacingTitle: "Line spacing: {label}",
|
|
246
|
+
paragraphSpacing: "Paragraph spacing"
|
|
247
|
+
},
|
|
248
|
+
styles: {
|
|
249
|
+
selectAriaLabel: "Select paragraph style",
|
|
250
|
+
normalText: "Normal text",
|
|
251
|
+
title: "Title",
|
|
252
|
+
subtitle: "Subtitle",
|
|
253
|
+
heading1: "Heading 1",
|
|
254
|
+
heading2: "Heading 2",
|
|
255
|
+
heading3: "Heading 3"
|
|
256
|
+
},
|
|
257
|
+
font: {
|
|
258
|
+
selectAriaLabel: "Select font family",
|
|
259
|
+
sansSerif: "Sans Serif",
|
|
260
|
+
serif: "Serif",
|
|
261
|
+
monospace: "Monospace"
|
|
262
|
+
},
|
|
263
|
+
fontSize: {
|
|
264
|
+
decrease: "Decrease font size",
|
|
265
|
+
increase: "Increase font size",
|
|
266
|
+
label: "Font size",
|
|
267
|
+
listLabel: "Font sizes"
|
|
268
|
+
},
|
|
269
|
+
zoom: { ariaLabel: "Zoom: {label}" },
|
|
270
|
+
colorPicker: {
|
|
271
|
+
ariaLabel: "{type} color picker",
|
|
272
|
+
highlightColors: "Highlight Colors",
|
|
273
|
+
customColor: "Custom Color",
|
|
274
|
+
noColor: "No Color",
|
|
275
|
+
automatic: "Automatic",
|
|
276
|
+
themeColors: "Theme Colors",
|
|
277
|
+
standardColors: "Standard Colors",
|
|
278
|
+
colors: {
|
|
279
|
+
black: "Black",
|
|
280
|
+
darkRed: "Dark Red",
|
|
281
|
+
red: "Red",
|
|
282
|
+
orange: "Orange",
|
|
283
|
+
yellow: "Yellow",
|
|
284
|
+
darkYellow: "Dark Yellow",
|
|
285
|
+
green: "Green",
|
|
286
|
+
darkGreen: "Dark Green",
|
|
287
|
+
teal: "Teal",
|
|
288
|
+
darkTeal: "Dark Teal",
|
|
289
|
+
blue: "Blue",
|
|
290
|
+
darkBlue: "Dark Blue",
|
|
291
|
+
purple: "Purple",
|
|
292
|
+
darkPurple: "Dark Purple",
|
|
293
|
+
brown: "Brown",
|
|
294
|
+
grey50: "Grey 50%",
|
|
295
|
+
grey25: "Grey 25%",
|
|
296
|
+
grey10: "Grey 10%",
|
|
297
|
+
white: "White",
|
|
298
|
+
lightRed: "Light Red",
|
|
299
|
+
lightOrange: "Light Orange",
|
|
300
|
+
lightYellow: "Light Yellow",
|
|
301
|
+
lightGreen: "Light Green",
|
|
302
|
+
lightBlue: "Light Blue",
|
|
303
|
+
lightPurple: "Light Purple",
|
|
304
|
+
pink: "Pink",
|
|
305
|
+
rose: "Rose",
|
|
306
|
+
gold: "Gold",
|
|
307
|
+
aqua: "Aqua",
|
|
308
|
+
lavender: "Lavender",
|
|
309
|
+
silver: "Silver",
|
|
310
|
+
darkOrange: "Dark Orange",
|
|
311
|
+
darkGray: "Dark Gray",
|
|
312
|
+
gray: "Gray",
|
|
313
|
+
cyan: "Cyan",
|
|
314
|
+
magenta: "Magenta",
|
|
315
|
+
paleGreen: "Pale Green",
|
|
316
|
+
lightCyan: "Light Cyan",
|
|
317
|
+
skyBlue: "Sky Blue",
|
|
318
|
+
lightBlue2: "Light Blue 2",
|
|
319
|
+
lightMagenta: "Light Magenta",
|
|
320
|
+
brightGreen: "Bright Green",
|
|
321
|
+
violet: "Violet"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
dialogs: {
|
|
325
|
+
findReplace: {
|
|
326
|
+
titleFind: "Find",
|
|
327
|
+
titleFindReplace: "Find and Replace",
|
|
328
|
+
findLabel: "Find:",
|
|
329
|
+
findPlaceholder: "Enter text to find...",
|
|
330
|
+
findAriaLabel: "Find text",
|
|
331
|
+
findPrevious: "Find previous",
|
|
332
|
+
findPreviousTitle: "Find Previous (Shift+Enter)",
|
|
333
|
+
findNext: "Find next",
|
|
334
|
+
findNextTitle: "Find Next (Enter)",
|
|
335
|
+
matchCount: "{current} of {total} matches",
|
|
336
|
+
noResults: "No results found",
|
|
337
|
+
replaceLabel: "Replace:",
|
|
338
|
+
replacePlaceholder: "Enter replacement text...",
|
|
339
|
+
replaceAriaLabel: "Replace text",
|
|
340
|
+
replaceButton: "Replace",
|
|
341
|
+
replaceCurrentTitle: "Replace current match",
|
|
342
|
+
replaceAllButton: "Replace All",
|
|
343
|
+
replaceAllTitle: "Replace all matches",
|
|
344
|
+
matchCase: "Match case",
|
|
345
|
+
wholeWords: "Whole words",
|
|
346
|
+
matchesFound: "{total} matches",
|
|
347
|
+
toggleReplace: "+ Replace"
|
|
348
|
+
},
|
|
349
|
+
hyperlink: {
|
|
350
|
+
titleEdit: "Edit Hyperlink",
|
|
351
|
+
titleInsert: "Insert Hyperlink",
|
|
352
|
+
tabWebAddress: "Web Address",
|
|
353
|
+
tabBookmark: "Bookmark",
|
|
354
|
+
urlLabel: "URL",
|
|
355
|
+
urlPlaceholder: "https://example.com",
|
|
356
|
+
urlHint: "Enter a web address, email (mailto:), or phone (tel:)",
|
|
357
|
+
bookmarkLabel: "Bookmark",
|
|
358
|
+
bookmarkPlaceholder: "Select a bookmark...",
|
|
359
|
+
displayTextLabel: "Display Text",
|
|
360
|
+
displayTextPlaceholder: "Text to display (optional)",
|
|
361
|
+
displayTextHint: "Leave empty to use the selected text",
|
|
362
|
+
tooltipLabel: "Tooltip (optional)",
|
|
363
|
+
tooltipPlaceholder: "Text shown on hover",
|
|
364
|
+
removeLink: "Remove Link",
|
|
365
|
+
invalidUrl: "Please enter a valid URL",
|
|
366
|
+
urlRequired: "URL is required"
|
|
367
|
+
},
|
|
368
|
+
insertTable: {
|
|
369
|
+
title: "Insert Table",
|
|
370
|
+
hoverToSelect: "Hover to select size",
|
|
371
|
+
tableSize: "{cols} x {rows} Table",
|
|
372
|
+
orSpecifySize: "or specify size",
|
|
373
|
+
rowsLabel: "Rows:",
|
|
374
|
+
columnsLabel: "Columns:",
|
|
375
|
+
insertButton: "Insert Table",
|
|
376
|
+
sizeSelector: "Table size selector",
|
|
377
|
+
columnWidthLabel: "Column width",
|
|
378
|
+
fixedWidth: "Fixed",
|
|
379
|
+
autofit: "Auto-fit to contents",
|
|
380
|
+
tableStyleLabel: "Table style",
|
|
381
|
+
validationHint: "Rows: {minRows}-{maxRows}, Columns: {minCols}-{maxCols}"
|
|
382
|
+
},
|
|
383
|
+
splitCell: {
|
|
384
|
+
title: "Split Cell",
|
|
385
|
+
description: "Set how many rows and columns to split the selected cell into.",
|
|
386
|
+
rowsLabel: "Rows:",
|
|
387
|
+
columnsLabel: "Columns:",
|
|
388
|
+
currentMinimum: "Minimum from current span: {rows} row(s) x {cols} column(s)",
|
|
389
|
+
minValue: "Use at least {rows} row(s) and {cols} column(s).",
|
|
390
|
+
notOneByOne: "Choose at least two resulting cells."
|
|
391
|
+
},
|
|
392
|
+
insertImage: {
|
|
393
|
+
title: "Insert Image",
|
|
394
|
+
uploadAriaLabel: "Click or drag to upload image",
|
|
395
|
+
uploadText: "Click to select or drag and drop an image",
|
|
396
|
+
uploadSubtext: "PNG, JPG, GIF up to 10MB",
|
|
397
|
+
dimensions: "Dimensions",
|
|
398
|
+
widthLabel: "Width:",
|
|
399
|
+
heightLabel: "Height:",
|
|
400
|
+
aspectRatioLocked: "Aspect ratio locked",
|
|
401
|
+
aspectRatioUnlocked: "Aspect ratio unlocked",
|
|
402
|
+
altTextLabel: "Alt Text (optional)",
|
|
403
|
+
altTextPlaceholder: "Describe the image for accessibility",
|
|
404
|
+
insertButton: "Insert Image",
|
|
405
|
+
invalidFile: "Please select a valid image file",
|
|
406
|
+
fileTooLarge: "Image file is too large (max 10MB)",
|
|
407
|
+
readFailed: "Failed to read image file",
|
|
408
|
+
loadFailed: "Failed to load image",
|
|
409
|
+
preview: "Preview"
|
|
410
|
+
},
|
|
411
|
+
insertSymbol: {
|
|
412
|
+
title: "Insert Symbol",
|
|
413
|
+
searchPlaceholder: "Search symbols (character or Unicode)...",
|
|
414
|
+
noResultsEmpty: "No symbols found",
|
|
415
|
+
noResults: "No symbols found for \"{query}\"",
|
|
416
|
+
decimal: "Decimal: {value}",
|
|
417
|
+
recent: "Recent:",
|
|
418
|
+
categories: {
|
|
419
|
+
common: "Common",
|
|
420
|
+
arrows: "Arrows",
|
|
421
|
+
math: "Math",
|
|
422
|
+
greek: "Greek",
|
|
423
|
+
shapes: "Shapes",
|
|
424
|
+
punctuation: "Punctuation",
|
|
425
|
+
currency: "Currency",
|
|
426
|
+
music: "Music",
|
|
427
|
+
emoji: "Emoji"
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
imageProperties: {
|
|
431
|
+
title: "Image Properties",
|
|
432
|
+
altText: "Alt Text",
|
|
433
|
+
altTextPlaceholder: "Describe this image for accessibility...",
|
|
434
|
+
border: "Border",
|
|
435
|
+
width: "Width",
|
|
436
|
+
style: "Style",
|
|
437
|
+
color: "Color",
|
|
438
|
+
preview: "Preview",
|
|
439
|
+
textWrapping: "Text wrapping",
|
|
440
|
+
dimensions: "Dimensions",
|
|
441
|
+
widthLabel: "Width:",
|
|
442
|
+
heightLabel: "Height:",
|
|
443
|
+
lockAspectRatio: "Lock aspect ratio",
|
|
444
|
+
wrapOptions: {
|
|
445
|
+
inline: "Inline with text",
|
|
446
|
+
wrapRight: "Wrap text, float left",
|
|
447
|
+
wrapLeft: "Wrap text, float right",
|
|
448
|
+
topAndBottom: "Top and bottom",
|
|
449
|
+
behind: "Behind text",
|
|
450
|
+
inFront: "In front of text"
|
|
451
|
+
},
|
|
452
|
+
borderStyles: {
|
|
453
|
+
solid: "Solid",
|
|
454
|
+
dashed: "Dashed",
|
|
455
|
+
dotted: "Dotted",
|
|
456
|
+
double: "Double",
|
|
457
|
+
groove: "Groove",
|
|
458
|
+
ridge: "Ridge",
|
|
459
|
+
inset: "Inset",
|
|
460
|
+
outset: "Outset"
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
imagePosition: {
|
|
464
|
+
title: "Image Position",
|
|
465
|
+
horizontal: "Horizontal",
|
|
466
|
+
vertical: "Vertical",
|
|
467
|
+
position: "Position",
|
|
468
|
+
alignment: "Alignment",
|
|
469
|
+
offset: "Offset",
|
|
470
|
+
offsetPx: "Offset (px)",
|
|
471
|
+
align: "Align",
|
|
472
|
+
relativeTo: "Relative to",
|
|
473
|
+
alignOptions: {
|
|
474
|
+
left: "Left",
|
|
475
|
+
center: "Center",
|
|
476
|
+
right: "Right",
|
|
477
|
+
top: "Top",
|
|
478
|
+
bottom: "Bottom"
|
|
479
|
+
},
|
|
480
|
+
relativeOptions: {
|
|
481
|
+
page: "Page",
|
|
482
|
+
column: "Column",
|
|
483
|
+
margin: "Margin",
|
|
484
|
+
character: "Character",
|
|
485
|
+
paragraph: "Paragraph",
|
|
486
|
+
line: "Line"
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
pageSetup: {
|
|
490
|
+
title: "Page Setup",
|
|
491
|
+
pageSize: "PAGE SIZE",
|
|
492
|
+
sizeLabel: "Size",
|
|
493
|
+
custom: "Custom",
|
|
494
|
+
orientation: "Orientation",
|
|
495
|
+
portrait: "Portrait",
|
|
496
|
+
landscape: "Landscape",
|
|
497
|
+
margins: "MARGINS",
|
|
498
|
+
top: "Top",
|
|
499
|
+
bottom: "Bottom",
|
|
500
|
+
left: "Left",
|
|
501
|
+
right: "Right",
|
|
502
|
+
pageSizes: {
|
|
503
|
+
letter: "Letter (8.5\" × 11\")",
|
|
504
|
+
a4: "A4 (8.27\" × 11.69\")",
|
|
505
|
+
legal: "Legal (8.5\" × 14\")",
|
|
506
|
+
a3: "A3 (11.69\" × 16.54\")",
|
|
507
|
+
a5: "A5 (5.83\" × 8.27\")",
|
|
508
|
+
b5: "B5 (6.93\" × 9.84\")",
|
|
509
|
+
executive: "Executive (7.25\" × 10.5\")"
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
tableProperties: {
|
|
513
|
+
title: "Table Properties",
|
|
514
|
+
widthType: "Width type",
|
|
515
|
+
widthLabel: "Width",
|
|
516
|
+
alignmentLabel: "Alignment",
|
|
517
|
+
widthTypes: {
|
|
518
|
+
auto: "Auto",
|
|
519
|
+
fixed: "Fixed (twips)",
|
|
520
|
+
percentage: "Percentage"
|
|
521
|
+
},
|
|
522
|
+
units: {
|
|
523
|
+
fiftiethsPercent: "(50ths of %)",
|
|
524
|
+
twips: "tw"
|
|
525
|
+
},
|
|
526
|
+
alignOptions: {
|
|
527
|
+
left: "Left",
|
|
528
|
+
center: "Center",
|
|
529
|
+
right: "Right"
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
pasteSpecial: {
|
|
533
|
+
title: "Paste Special",
|
|
534
|
+
keepFormatting: "Keep Source Formatting",
|
|
535
|
+
keepFormattingDescription: "Paste with original formatting",
|
|
536
|
+
keepFormattingShortcut: "Ctrl+V",
|
|
537
|
+
plainText: "Paste as Plain Text",
|
|
538
|
+
plainTextDescription: "Paste without any formatting",
|
|
539
|
+
plainTextShortcut: "Ctrl+Shift+V",
|
|
540
|
+
readingClipboard: "Reading clipboard...",
|
|
541
|
+
preview: "Preview:",
|
|
542
|
+
noContent: "No content available to paste",
|
|
543
|
+
clipboardError: "Unable to read clipboard. Please use Ctrl+V to paste."
|
|
544
|
+
},
|
|
545
|
+
footnoteProperties: {
|
|
546
|
+
title: "Footnote & Endnote Properties",
|
|
547
|
+
footnotes: "Footnotes",
|
|
548
|
+
endnotes: "Endnotes",
|
|
549
|
+
position: "Position",
|
|
550
|
+
numberFormat: "Number format",
|
|
551
|
+
startAt: "Start at",
|
|
552
|
+
numbering: "Numbering",
|
|
553
|
+
footnotePositions: {
|
|
554
|
+
bottomOfPage: "Bottom of page",
|
|
555
|
+
belowText: "Below text"
|
|
556
|
+
},
|
|
557
|
+
endnotePositions: {
|
|
558
|
+
endOfDocument: "End of document",
|
|
559
|
+
endOfSection: "End of section"
|
|
560
|
+
},
|
|
561
|
+
numberingOptions: {
|
|
562
|
+
continuous: "Continuous",
|
|
563
|
+
restartSection: "Restart each section",
|
|
564
|
+
restartPage: "Restart each page"
|
|
565
|
+
},
|
|
566
|
+
formats: {
|
|
567
|
+
decimal: "1, 2, 3, ...",
|
|
568
|
+
lowerRoman: "i, ii, iii, ...",
|
|
569
|
+
upperRoman: "I, II, III, ...",
|
|
570
|
+
lowerAlpha: "a, b, c, ...",
|
|
571
|
+
upperAlpha: "A, B, C, ...",
|
|
572
|
+
symbols: "*, †, ‡, ..."
|
|
573
|
+
}
|
|
574
|
+
},
|
|
575
|
+
keyboardShortcuts: {
|
|
576
|
+
ariaLabel: "Keyboard Shortcuts",
|
|
577
|
+
searchPlaceholder: "Search shortcuts...",
|
|
578
|
+
categories: {
|
|
579
|
+
editing: "Editing",
|
|
580
|
+
formatting: "Formatting",
|
|
581
|
+
navigation: "Navigation",
|
|
582
|
+
clipboard: "Clipboard",
|
|
583
|
+
selection: "Selection",
|
|
584
|
+
view: "View",
|
|
585
|
+
file: "File",
|
|
586
|
+
other: "Other"
|
|
587
|
+
},
|
|
588
|
+
shortcuts: {
|
|
589
|
+
save: "Save",
|
|
590
|
+
saveDescription: "Save document",
|
|
591
|
+
print: "Print",
|
|
592
|
+
printDescription: "Print document",
|
|
593
|
+
undo: "Undo",
|
|
594
|
+
undoDescription: "Undo last action",
|
|
595
|
+
redo: "Redo",
|
|
596
|
+
redoDescription: "Redo last action",
|
|
597
|
+
delete: "Delete",
|
|
598
|
+
deleteDescription: "Delete selected text",
|
|
599
|
+
find: "Find",
|
|
600
|
+
findDescription: "Find text in document",
|
|
601
|
+
findReplace: "Find & Replace",
|
|
602
|
+
findReplaceDescription: "Find and replace text",
|
|
603
|
+
cut: "Cut",
|
|
604
|
+
cutDescription: "Cut selected text",
|
|
605
|
+
copy: "Copy",
|
|
606
|
+
copyDescription: "Copy selected text",
|
|
607
|
+
paste: "Paste",
|
|
608
|
+
pasteDescription: "Paste from clipboard",
|
|
609
|
+
pastePlainText: "Paste as Plain Text",
|
|
610
|
+
pastePlainTextDescription: "Paste without formatting",
|
|
611
|
+
bold: "Bold",
|
|
612
|
+
boldDescription: "Toggle bold formatting",
|
|
613
|
+
italic: "Italic",
|
|
614
|
+
italicDescription: "Toggle italic formatting",
|
|
615
|
+
underline: "Underline",
|
|
616
|
+
underlineDescription: "Toggle underline formatting",
|
|
617
|
+
strikethrough: "Strikethrough",
|
|
618
|
+
strikethroughDescription: "Toggle strikethrough",
|
|
619
|
+
subscript: "Subscript",
|
|
620
|
+
subscriptDescription: "Toggle subscript",
|
|
621
|
+
superscript: "Superscript",
|
|
622
|
+
superscriptDescription: "Toggle superscript",
|
|
623
|
+
alignLeft: "Align Left",
|
|
624
|
+
alignLeftDescription: "Left align paragraph",
|
|
625
|
+
alignCenter: "Align Center",
|
|
626
|
+
alignCenterDescription: "Center align paragraph",
|
|
627
|
+
alignRight: "Align Right",
|
|
628
|
+
alignRightDescription: "Right align paragraph",
|
|
629
|
+
justify: "Justify",
|
|
630
|
+
justifyDescription: "Justify paragraph",
|
|
631
|
+
increaseIndent: "Increase Indent",
|
|
632
|
+
increaseIndentDescription: "Increase paragraph indent",
|
|
633
|
+
decreaseIndent: "Decrease Indent",
|
|
634
|
+
decreaseIndentDescription: "Decrease paragraph indent",
|
|
635
|
+
selectAll: "Select All",
|
|
636
|
+
selectAllDescription: "Select all content",
|
|
637
|
+
selectWord: "Select Word",
|
|
638
|
+
selectWordDescription: "Select current word",
|
|
639
|
+
selectParagraph: "Select Paragraph",
|
|
640
|
+
selectParagraphDescription: "Select current paragraph",
|
|
641
|
+
extendSelectionByWord: "Extend Selection by Word",
|
|
642
|
+
extendSelectionByWordDescription: "Extend selection to next/previous word",
|
|
643
|
+
extendSelectionToLineEdge: "Extend Selection to Line Edge",
|
|
644
|
+
extendSelectionToLineEdgeDescription: "Extend selection to line start/end",
|
|
645
|
+
moveByWord: "Move by Word",
|
|
646
|
+
moveByWordDescription: "Move cursor to next/previous word",
|
|
647
|
+
moveToLineStart: "Move to Line Start",
|
|
648
|
+
moveToLineStartDescription: "Move cursor to start of line",
|
|
649
|
+
moveToLineEnd: "Move to Line End",
|
|
650
|
+
moveToLineEndDescription: "Move cursor to end of line",
|
|
651
|
+
moveToDocumentStart: "Move to Document Start",
|
|
652
|
+
moveToDocumentStartDescription: "Move cursor to start of document",
|
|
653
|
+
moveToDocumentEnd: "Move to Document End",
|
|
654
|
+
moveToDocumentEndDescription: "Move cursor to end of document",
|
|
655
|
+
pageUp: "Page Up",
|
|
656
|
+
pageUpDescription: "Scroll up one page",
|
|
657
|
+
pageDown: "Page Down",
|
|
658
|
+
pageDownDescription: "Scroll down one page",
|
|
659
|
+
zoomIn: "Zoom In",
|
|
660
|
+
zoomInDescription: "Increase zoom level",
|
|
661
|
+
zoomOut: "Zoom Out",
|
|
662
|
+
zoomOutDescription: "Decrease zoom level",
|
|
663
|
+
resetZoom: "Reset Zoom",
|
|
664
|
+
resetZoomDescription: "Reset zoom to 100%",
|
|
665
|
+
keyboardShortcuts: "Keyboard Shortcuts",
|
|
666
|
+
keyboardShortcutsDescription: "Show this help dialog",
|
|
667
|
+
insertLink: "Insert Link",
|
|
668
|
+
insertLinkDescription: "Insert or edit hyperlink"
|
|
669
|
+
},
|
|
670
|
+
noResults: "No shortcuts found matching \"{query}\"",
|
|
671
|
+
pressEscToClose: "Press {key} to close",
|
|
672
|
+
or: "or"
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
comments: {
|
|
676
|
+
resolved: "Resolved",
|
|
677
|
+
resolve: "Resolve",
|
|
678
|
+
reopen: "Reopen",
|
|
679
|
+
moreOptions: "More options",
|
|
680
|
+
unknown: "Unknown",
|
|
681
|
+
addComment: "Add a comment...",
|
|
682
|
+
replyPlaceholder: "Reply or add others with @",
|
|
683
|
+
replyCount: "{count, plural, one {# reply} other {# replies}}"
|
|
684
|
+
},
|
|
685
|
+
trackedChanges: {
|
|
686
|
+
unknown: "Unknown",
|
|
687
|
+
replaced: "Replaced",
|
|
688
|
+
with: "with",
|
|
689
|
+
added: "Added",
|
|
690
|
+
deleted: "Deleted"
|
|
691
|
+
},
|
|
692
|
+
contextMenu: {
|
|
693
|
+
ariaLabel: "AI actions menu",
|
|
694
|
+
textMenuAriaLabel: "Text editing menu",
|
|
695
|
+
customPromptPlaceholder: "Enter custom prompt...",
|
|
696
|
+
cut: "Cut",
|
|
697
|
+
cutShortcut: "Ctrl+X",
|
|
698
|
+
copy: "Copy",
|
|
699
|
+
copyShortcut: "Ctrl+C",
|
|
700
|
+
paste: "Paste",
|
|
701
|
+
pasteShortcut: "Ctrl+V",
|
|
702
|
+
pastePlainText: "Paste as Plain Text",
|
|
703
|
+
pastePlainTextShortcut: "Ctrl+Shift+V",
|
|
704
|
+
delete: "Delete",
|
|
705
|
+
deleteShortcut: "Del",
|
|
706
|
+
selectAll: "Select All",
|
|
707
|
+
selectAllShortcut: "Ctrl+A",
|
|
708
|
+
selected: "Selected:",
|
|
709
|
+
aiActions: {
|
|
710
|
+
askAi: "Ask AI",
|
|
711
|
+
rewrite: "Rewrite",
|
|
712
|
+
expand: "Expand",
|
|
713
|
+
summarize: "Summarize",
|
|
714
|
+
translate: "Translate",
|
|
715
|
+
explain: "Explain",
|
|
716
|
+
fixGrammar: "Fix Grammar",
|
|
717
|
+
makeFormal: "Make Formal",
|
|
718
|
+
makeCasual: "Make Casual",
|
|
719
|
+
custom: "Custom"
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
documentOutline: {
|
|
723
|
+
ariaLabel: "Document outline",
|
|
724
|
+
closeAriaLabel: "Close outline",
|
|
725
|
+
closeTitle: "Close outline",
|
|
726
|
+
title: "Outline",
|
|
727
|
+
noHeadings: "No headings found. Add headings to your document to see them here."
|
|
728
|
+
},
|
|
729
|
+
sidebar: { ariaLabel: "Annotations sidebar" },
|
|
730
|
+
viewer: { pageIndicator: "{current} of {total}" },
|
|
731
|
+
titleBar: {
|
|
732
|
+
untitled: "Untitled",
|
|
733
|
+
documentNameAriaLabel: "Document name",
|
|
734
|
+
menuBarAriaLabel: "Menu bar"
|
|
735
|
+
},
|
|
736
|
+
errors: {
|
|
737
|
+
loadingDocument: "Loading document...",
|
|
738
|
+
noDocumentLoaded: "No document loaded",
|
|
739
|
+
failedToLoad: "Failed to Load Document",
|
|
740
|
+
unableToParse: "Unable to Parse Document",
|
|
741
|
+
somethingWentWrong: "Something went wrong",
|
|
742
|
+
errorDescription: "An error occurred while rendering this component. Please try again or contact support if the problem persists.",
|
|
743
|
+
errorLabel: "Error:",
|
|
744
|
+
componentStack: "Component Stack:",
|
|
745
|
+
tryAgain: "Try Again",
|
|
746
|
+
showDetails: "Show details",
|
|
747
|
+
hideDetails: "Hide details",
|
|
748
|
+
unsavedChanges: "You have unsaved changes. Are you sure you want to leave?"
|
|
749
|
+
},
|
|
750
|
+
table: {
|
|
751
|
+
insertRowAbove: "Insert row above",
|
|
752
|
+
insertRowBelow: "Insert row below",
|
|
753
|
+
insertColumnLeft: "Insert column left",
|
|
754
|
+
insertColumnRight: "Insert column right",
|
|
755
|
+
deleteRow: "Delete row",
|
|
756
|
+
deleteColumn: "Delete column",
|
|
757
|
+
deleteTable: "Delete table",
|
|
758
|
+
mergeCells: "Merge cells",
|
|
759
|
+
splitCell: "Split cell",
|
|
760
|
+
editingTools: "Table editing tools",
|
|
761
|
+
label: "Table:",
|
|
762
|
+
cellFillColor: "Cell Fill Color",
|
|
763
|
+
borderColor: "Border Color",
|
|
764
|
+
borderWidth: "Border width",
|
|
765
|
+
unknownAction: "Unknown Action",
|
|
766
|
+
borders: {
|
|
767
|
+
all: "All borders",
|
|
768
|
+
outside: "Outside borders",
|
|
769
|
+
inside: "Inside borders",
|
|
770
|
+
none: "No borders",
|
|
771
|
+
remove: "Remove borders",
|
|
772
|
+
top: "Top border",
|
|
773
|
+
bottom: "Bottom border",
|
|
774
|
+
left: "Left border",
|
|
775
|
+
right: "Right border",
|
|
776
|
+
styleAriaLabel: "Border style",
|
|
777
|
+
tooltip: "Borders"
|
|
778
|
+
},
|
|
779
|
+
moreOptions: "More table options",
|
|
780
|
+
styles: {
|
|
781
|
+
title: "Table Styles",
|
|
782
|
+
label: "Styles",
|
|
783
|
+
normalTable: "Normal Table",
|
|
784
|
+
tableGrid: "Table Grid",
|
|
785
|
+
gridTableLight: "Grid Table Light",
|
|
786
|
+
plainTable1: "Plain Table 1",
|
|
787
|
+
plainTable2: "Plain Table 2",
|
|
788
|
+
plainTable3: "Plain Table 3",
|
|
789
|
+
plainTable4: "Plain Table 4",
|
|
790
|
+
gridTable1Light: "Grid Table 1 Light",
|
|
791
|
+
gridTable4Accent1: "Grid Table 4 Accent 1",
|
|
792
|
+
gridTable5Dark: "Grid Table 5 Dark",
|
|
793
|
+
listTable3Accent2: "List Table 3 Accent 2",
|
|
794
|
+
listTable4Accent3: "List Table 4 Accent 3",
|
|
795
|
+
gridTable4Accent5: "Grid Table 4 Accent 5",
|
|
796
|
+
gridTable4Accent6: "Grid Table 4 Accent 6"
|
|
797
|
+
}
|
|
798
|
+
},
|
|
799
|
+
tableAdvanced: {
|
|
800
|
+
verticalAlignment: "Vertical alignment",
|
|
801
|
+
top: "Top",
|
|
802
|
+
middle: "Middle",
|
|
803
|
+
bottom: "Bottom",
|
|
804
|
+
cellMargins: "Cell margins",
|
|
805
|
+
textDirection: "Text direction",
|
|
806
|
+
textDirections: {
|
|
807
|
+
horizontal: "Horizontal (LR)",
|
|
808
|
+
verticalRL: "Vertical (top-bottom, RL)",
|
|
809
|
+
verticalLR: "Vertical (bottom-top, LR)"
|
|
810
|
+
},
|
|
811
|
+
toggleNoWrap: "Toggle no-wrap",
|
|
812
|
+
rowHeight: "Row height",
|
|
813
|
+
heightRules: {
|
|
814
|
+
auto: "Auto",
|
|
815
|
+
atLeast: "At least",
|
|
816
|
+
exact: "Exact"
|
|
817
|
+
},
|
|
818
|
+
rule: "Rule",
|
|
819
|
+
height: "Height",
|
|
820
|
+
toggleHeaderRow: "Toggle header row",
|
|
821
|
+
distributeColumns: "Distribute columns evenly",
|
|
822
|
+
autoFit: "Auto-fit to contents",
|
|
823
|
+
tableProperties: "Table properties...",
|
|
824
|
+
tableAlignment: "Table alignment",
|
|
825
|
+
alignTableLeft: "Align table left",
|
|
826
|
+
alignTableCenter: "Align table center",
|
|
827
|
+
alignTableRight: "Align table right",
|
|
828
|
+
tableOptionsMenu: "Table options menu",
|
|
829
|
+
tableOptions: "Table options"
|
|
830
|
+
},
|
|
831
|
+
imageTransform: {
|
|
832
|
+
tooltip: "Transform",
|
|
833
|
+
rotateClockwise: "Rotate clockwise",
|
|
834
|
+
rotateCounterClockwise: "Rotate counter-clockwise",
|
|
835
|
+
flipHorizontal: "Flip horizontal",
|
|
836
|
+
flipVertical: "Flip vertical"
|
|
837
|
+
},
|
|
838
|
+
imageWrap: {
|
|
839
|
+
inline: "In Line with Text",
|
|
840
|
+
floatLeft: "Square Left",
|
|
841
|
+
floatRight: "Square Right",
|
|
842
|
+
topAndBottom: "Top and Bottom",
|
|
843
|
+
behindText: "Behind Text",
|
|
844
|
+
inFrontOfText: "In Front of Text",
|
|
845
|
+
tooltipPrefix: "Wrap: {label}",
|
|
846
|
+
menu: {
|
|
847
|
+
inLineWithText: "In Line with Text",
|
|
848
|
+
squareLeft: "Square Left",
|
|
849
|
+
squareRight: "Square Right",
|
|
850
|
+
behindText: "Behind Text",
|
|
851
|
+
inFrontOfText: "In Front of Text",
|
|
852
|
+
ariaLabel: "Image layout options",
|
|
853
|
+
imageProperties: "Image properties…"
|
|
854
|
+
},
|
|
855
|
+
menuDesc: {
|
|
856
|
+
inLineWithText: "Image flows in the line as a glyph",
|
|
857
|
+
squareLeft: "Image floats left, text wraps on the right",
|
|
858
|
+
squareRight: "Image floats right, text wraps on the left",
|
|
859
|
+
behindText: "Image paints behind body text",
|
|
860
|
+
inFrontOfText: "Image paints over body text"
|
|
861
|
+
}
|
|
862
|
+
},
|
|
863
|
+
responsePreview: {
|
|
864
|
+
loading: "{action}...",
|
|
865
|
+
result: "{action} Result",
|
|
866
|
+
closeEsc: "Close (Esc)",
|
|
867
|
+
editPrompt: "Edit the result before accepting:",
|
|
868
|
+
changes: "Changes:",
|
|
869
|
+
original: "Original:",
|
|
870
|
+
new: "New:",
|
|
871
|
+
cancelEdit: "Cancel Edit"
|
|
872
|
+
},
|
|
873
|
+
commentMarkers: {
|
|
874
|
+
resolvedComment: "Resolved comment",
|
|
875
|
+
comment: "Comment"
|
|
876
|
+
},
|
|
877
|
+
editor: {
|
|
878
|
+
toggleCommentsSidebar: "Toggle comments sidebar",
|
|
879
|
+
showDocumentOutline: "Show document outline",
|
|
880
|
+
editing: "Editing",
|
|
881
|
+
editingDescription: "Edit document directly",
|
|
882
|
+
suggesting: "Suggesting",
|
|
883
|
+
suggestingDescription: "Edits become suggestions",
|
|
884
|
+
viewing: "Viewing",
|
|
885
|
+
viewingDescription: "Read-only, no edits",
|
|
886
|
+
failedToParse: "Failed to parse document",
|
|
887
|
+
linkRemoved: "Link removed",
|
|
888
|
+
linkCopied: "Link copied to clipboard",
|
|
889
|
+
failedToSave: "Failed to save document"
|
|
890
|
+
},
|
|
891
|
+
hyperlinkPopup: {
|
|
892
|
+
displayTextPlaceholder: "Display text",
|
|
893
|
+
urlPlaceholder: "https://example.com",
|
|
894
|
+
copyLink: "Copy link",
|
|
895
|
+
editLink: "Edit link",
|
|
896
|
+
removeLink: "Remove link"
|
|
897
|
+
},
|
|
898
|
+
headerFooter: {
|
|
899
|
+
header: "Header",
|
|
900
|
+
footer: "Footer",
|
|
901
|
+
options: "Options",
|
|
902
|
+
insertPageNumber: "Insert current page number",
|
|
903
|
+
insertTotalPages: "Insert total page count",
|
|
904
|
+
remove: "Remove {label}",
|
|
905
|
+
closeEditing: "Close {label} editing"
|
|
906
|
+
},
|
|
907
|
+
image: {
|
|
908
|
+
placeholder: "Image placeholder",
|
|
909
|
+
placeholderText: "[Image]",
|
|
910
|
+
editableAriaLabel: "Editable image"
|
|
911
|
+
},
|
|
912
|
+
imageOverlay: {
|
|
913
|
+
rotate: "Rotate",
|
|
914
|
+
imageProperties: "Image properties",
|
|
915
|
+
deleteImage: "Delete image"
|
|
916
|
+
},
|
|
917
|
+
ruler: {
|
|
918
|
+
horizontal: "Horizontal ruler",
|
|
919
|
+
vertical: "Vertical ruler",
|
|
920
|
+
firstLineIndent: "First line indent",
|
|
921
|
+
leftIndent: "Left indent",
|
|
922
|
+
rightIndent: "Right indent",
|
|
923
|
+
topMargin: "Top margin",
|
|
924
|
+
bottomMargin: "Bottom margin"
|
|
925
|
+
},
|
|
926
|
+
print: {
|
|
927
|
+
label: "Print",
|
|
928
|
+
allPages: "All ({totalPages} pages)",
|
|
929
|
+
singlePage: "Page {start}",
|
|
930
|
+
pageRange: "Pages {start}-{end}"
|
|
931
|
+
},
|
|
932
|
+
unsaved: {
|
|
933
|
+
unsaved: "Unsaved",
|
|
934
|
+
saved: "Saved",
|
|
935
|
+
unsavedTitle: "Document has unsaved changes",
|
|
936
|
+
savedTitle: "All changes saved",
|
|
937
|
+
unsavedAriaLabel: "Unsaved changes",
|
|
938
|
+
savedAriaLabel: "All changes saved"
|
|
939
|
+
},
|
|
940
|
+
loading: { label: "Loading" },
|
|
941
|
+
agentPanel: {
|
|
942
|
+
defaultTitle: "Assistant",
|
|
943
|
+
toggle: "Open assistant",
|
|
944
|
+
close: "Close panel",
|
|
945
|
+
resizeHandle: "Resize agent panel",
|
|
946
|
+
thinking: "Assistant is thinking",
|
|
947
|
+
composerPlaceholder: "Ask the assistant…",
|
|
948
|
+
send: "Send",
|
|
949
|
+
timeline: {
|
|
950
|
+
working: "Working… {count, plural, one {# step} other {# steps}}",
|
|
951
|
+
summary: "{count, plural, one {# step} other {# steps}}",
|
|
952
|
+
earlier: "+ {count, plural, one {# earlier step} other {# earlier steps}}"
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
};
|
|
956
|
+
function N(e) {
|
|
957
|
+
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
958
|
+
}
|
|
959
|
+
function P(e, t) {
|
|
960
|
+
if (!t) return e;
|
|
961
|
+
let n = { ...e };
|
|
962
|
+
for (let r of Object.keys(t)) {
|
|
963
|
+
let i = t[r];
|
|
964
|
+
i !== null && (N(e[r]) && N(i) ? n[r] = P(e[r], i) : i !== void 0 && (n[r] = i));
|
|
965
|
+
}
|
|
966
|
+
return n;
|
|
967
|
+
}
|
|
968
|
+
function F(e, t) {
|
|
969
|
+
let n = e;
|
|
970
|
+
for (let e of t.split(".")) {
|
|
971
|
+
if (!N(n)) return;
|
|
972
|
+
n = n[e];
|
|
973
|
+
}
|
|
974
|
+
return typeof n == "string" ? n : void 0;
|
|
975
|
+
}
|
|
976
|
+
function I(e) {
|
|
977
|
+
let t = {}, n = /(=\d+|\w+)\s*\{([^}]*)\}/g, r;
|
|
978
|
+
for (; (r = n.exec(e)) !== null;) t[r[1]] = r[2];
|
|
979
|
+
return t;
|
|
980
|
+
}
|
|
981
|
+
function L(e, t, n) {
|
|
982
|
+
return t ? e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g, (e, r, i) => {
|
|
983
|
+
let a = Number(t[r]);
|
|
984
|
+
if (isNaN(a)) return e;
|
|
985
|
+
let o = I(i), s = o[`=${a}`];
|
|
986
|
+
if (s !== void 0) return s.replace(/#/g, String(a));
|
|
987
|
+
let c;
|
|
988
|
+
try {
|
|
989
|
+
c = new Intl.PluralRules(n || "en").select(a);
|
|
990
|
+
} catch {
|
|
991
|
+
c = a === 1 ? "one" : "other";
|
|
992
|
+
}
|
|
993
|
+
return (o[c] ?? o.other ?? "").replace(/#/g, String(a));
|
|
994
|
+
}).replace(/\{(\w+)\}/g, (e, n) => {
|
|
995
|
+
let r = t[n];
|
|
996
|
+
return r === void 0 ? `{${n}}` : String(r);
|
|
997
|
+
}) : e;
|
|
998
|
+
}
|
|
999
|
+
function R(e, t = "en") {
|
|
1000
|
+
return (n, r) => L(F(e, n) ?? n, r, t);
|
|
1001
|
+
}
|
|
1002
|
+
//#endregion
|
|
1003
|
+
//#region src/i18n/index.ts
|
|
1004
|
+
var z = Symbol("docx-locale"), B = Symbol("docx-lang");
|
|
1005
|
+
function V(e) {
|
|
1006
|
+
return {
|
|
1007
|
+
strings: n(() => P(M, v(e))),
|
|
1008
|
+
lang: n(() => {
|
|
1009
|
+
let t = v(e)?._lang;
|
|
1010
|
+
return typeof t == "string" ? t : "en";
|
|
1011
|
+
})
|
|
1012
|
+
};
|
|
1013
|
+
}
|
|
1014
|
+
function ee(e) {
|
|
1015
|
+
let { strings: t, lang: n } = V(e);
|
|
1016
|
+
m(z, t), m(B, n);
|
|
1017
|
+
}
|
|
1018
|
+
function te(e) {
|
|
1019
|
+
let { strings: t, lang: n } = V(e);
|
|
1020
|
+
return { t: (e, r) => R(v(t), v(n))(e, r) };
|
|
1021
|
+
}
|
|
1022
|
+
function H() {
|
|
1023
|
+
let e = l(z, M), t = l(B, "en");
|
|
1024
|
+
return { t: (n, r) => R(v(e), v(t))(n, r) };
|
|
1025
|
+
}
|
|
1026
|
+
var ne = { install(e, t) {
|
|
1027
|
+
let n = typeof t?._lang == "string" ? t._lang : "en", r = P(M, t);
|
|
1028
|
+
e.provide(z, r), e.provide(B, n);
|
|
1029
|
+
} }, re = { class: "find-replace-dialog__header" }, ie = { class: "find-replace-dialog__title" }, U = ["title"], W = { class: "find-replace-dialog__body" }, G = { class: "find-replace-dialog__row" }, K = ["placeholder", "aria-label"], q = { class: "find-replace-dialog__count" }, J = ["title"], Y = ["title"], ae = { class: "find-replace-dialog__options" }, oe = ["title"], se = {
|
|
1030
|
+
key: 0,
|
|
1031
|
+
class: "find-replace-dialog__row"
|
|
1032
|
+
}, ce = [
|
|
1033
|
+
"placeholder",
|
|
1034
|
+
"aria-label",
|
|
1035
|
+
"onKeydown"
|
|
1036
|
+
], le = ["title"], ue = ["title"], de = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
1037
|
+
__name: "FindReplaceDialog",
|
|
1038
|
+
props: {
|
|
1039
|
+
isOpen: { type: Boolean },
|
|
1040
|
+
view: {}
|
|
1041
|
+
},
|
|
1042
|
+
emits: ["close"],
|
|
1043
|
+
setup(e, { emit: t }) {
|
|
1044
|
+
let { t: s } = H(), c = e, l = t, f = h(null), m = h(""), g = h(""), b = h(!1), E = h(!1), O = h(!1), k = h([]), A = h(-1), j = n(() => m.value.trim() ? k.value.length === 0 ? s("dialogs.findReplace.noResults") : A.value < 0 ? s("dialogs.findReplace.matchesFound", { total: k.value.length }) : s("dialogs.findReplace.matchCount", {
|
|
1045
|
+
current: A.value + 1,
|
|
1046
|
+
total: k.value.length
|
|
1047
|
+
}) : "");
|
|
1048
|
+
S(() => c.isOpen, async (e) => {
|
|
1049
|
+
e ? (await u(), f.value?.focus(), f.value?.select(), N()) : z();
|
|
1050
|
+
});
|
|
1051
|
+
function M() {
|
|
1052
|
+
z(), l("close");
|
|
1053
|
+
}
|
|
1054
|
+
function N() {
|
|
1055
|
+
k.value = [], A.value = -1;
|
|
1056
|
+
let e = c.view;
|
|
1057
|
+
if (!e || !m.value.trim()) {
|
|
1058
|
+
z();
|
|
1059
|
+
return;
|
|
1060
|
+
}
|
|
1061
|
+
let t = e.state.doc, n = m.value, r = !b.value, i = [];
|
|
1062
|
+
t.descendants((e, a) => {
|
|
1063
|
+
if (!e.isTextblock) return !0;
|
|
1064
|
+
let o = t.textBetween(a + 1, a + e.nodeSize - 1, "", "");
|
|
1065
|
+
if (!o) return !1;
|
|
1066
|
+
let s = r ? n.toLowerCase() : n, c = r ? o.toLowerCase() : o, l = 0;
|
|
1067
|
+
for (; l < c.length;) {
|
|
1068
|
+
let e;
|
|
1069
|
+
if (E.value) {
|
|
1070
|
+
let t = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), n = r ? "gi" : "g", i = RegExp(`\\b${t}\\b`, n);
|
|
1071
|
+
i.lastIndex = l;
|
|
1072
|
+
let a = i.exec(c);
|
|
1073
|
+
if (!a) break;
|
|
1074
|
+
e = a.index;
|
|
1075
|
+
} else if (e = c.indexOf(s, l), e === -1) break;
|
|
1076
|
+
let t = a + 1 + e, o = t + n.length;
|
|
1077
|
+
i.push({
|
|
1078
|
+
from: t,
|
|
1079
|
+
to: o
|
|
1080
|
+
}), l = e + Math.max(1, n.length);
|
|
1081
|
+
}
|
|
1082
|
+
return !1;
|
|
1083
|
+
}), k.value = i, i.length > 0 && (A.value = 0, P(0));
|
|
1084
|
+
}
|
|
1085
|
+
function P(e) {
|
|
1086
|
+
let t = c.view;
|
|
1087
|
+
if (!t || k.value.length === 0) return;
|
|
1088
|
+
let n = k.value[e];
|
|
1089
|
+
if (!n) return;
|
|
1090
|
+
A.value = e;
|
|
1091
|
+
let { from: r, to: i } = n;
|
|
1092
|
+
try {
|
|
1093
|
+
let e = t.state.doc.resolve(r), n = t.state.doc.resolve(i), a = D.between(e, n);
|
|
1094
|
+
t.dispatch(t.state.tr.setSelection(a).scrollIntoView());
|
|
1095
|
+
} catch {}
|
|
1096
|
+
}
|
|
1097
|
+
function F() {
|
|
1098
|
+
if (k.value.length === 0) {
|
|
1099
|
+
N();
|
|
1100
|
+
return;
|
|
1101
|
+
}
|
|
1102
|
+
P((A.value + 1) % k.value.length);
|
|
1103
|
+
}
|
|
1104
|
+
function I() {
|
|
1105
|
+
k.value.length !== 0 && P((A.value - 1 + k.value.length) % k.value.length);
|
|
1106
|
+
}
|
|
1107
|
+
function L() {
|
|
1108
|
+
let e = c.view;
|
|
1109
|
+
if (!e || A.value < 0 || k.value.length === 0) return;
|
|
1110
|
+
let t = k.value[A.value];
|
|
1111
|
+
if (t) {
|
|
1112
|
+
try {
|
|
1113
|
+
let n;
|
|
1114
|
+
n = g.value ? e.state.tr.replaceWith(t.from, t.to, e.state.schema.text(g.value)) : e.state.tr.delete(t.from, t.to), e.dispatch(n);
|
|
1115
|
+
} catch {}
|
|
1116
|
+
N();
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
function R() {
|
|
1120
|
+
let e = c.view;
|
|
1121
|
+
if (!e || k.value.length === 0) return;
|
|
1122
|
+
let t = [...k.value].sort((e, t) => t.from - e.from), n = e.state.tr;
|
|
1123
|
+
for (let r of t) try {
|
|
1124
|
+
n = g.value ? n.replaceWith(r.from, r.to, e.state.schema.text(g.value)) : n.delete(r.from, r.to);
|
|
1125
|
+
} catch {}
|
|
1126
|
+
e.dispatch(n), N();
|
|
1127
|
+
}
|
|
1128
|
+
function z() {
|
|
1129
|
+
k.value = [], A.value = -1;
|
|
1130
|
+
}
|
|
1131
|
+
function B(e) {
|
|
1132
|
+
e.key === "Enter" ? (e.preventDefault(), e.shiftKey ? I() : F()) : e.key === "Escape" && M();
|
|
1133
|
+
}
|
|
1134
|
+
return (t, n) => e.isOpen ? (p(), i("div", {
|
|
1135
|
+
key: 0,
|
|
1136
|
+
class: "find-replace-dialog",
|
|
1137
|
+
onMousedown: n[5] ||= T(() => {}, ["stop"]),
|
|
1138
|
+
onKeydown: n[6] ||= T(() => {}, ["stop"])
|
|
1139
|
+
}, [a("div", re, [a("span", ie, _(O.value ? v(s)("dialogs.findReplace.titleFindReplace") : v(s)("dialogs.findReplace.titleFind")), 1), a("button", {
|
|
1140
|
+
class: "find-replace-dialog__close",
|
|
1141
|
+
onClick: M,
|
|
1142
|
+
title: v(s)("common.closeDialog")
|
|
1143
|
+
}, " ✕ ", 8, U)]), a("div", W, [
|
|
1144
|
+
a("div", G, [
|
|
1145
|
+
C(a("input", {
|
|
1146
|
+
ref_key: "searchInputRef",
|
|
1147
|
+
ref: f,
|
|
1148
|
+
"onUpdate:modelValue": n[0] ||= (e) => m.value = e,
|
|
1149
|
+
class: "find-replace-dialog__input",
|
|
1150
|
+
placeholder: v(s)("dialogs.findReplace.findPlaceholder"),
|
|
1151
|
+
"aria-label": v(s)("dialogs.findReplace.findAriaLabel"),
|
|
1152
|
+
onKeydown: B,
|
|
1153
|
+
onInput: N
|
|
1154
|
+
}, null, 40, K), [[x, m.value]]),
|
|
1155
|
+
a("span", q, _(j.value), 1),
|
|
1156
|
+
a("button", {
|
|
1157
|
+
title: v(s)("dialogs.findReplace.findPreviousTitle"),
|
|
1158
|
+
onMousedown: T(I, ["prevent"])
|
|
1159
|
+
}, " ▲ ", 40, J),
|
|
1160
|
+
a("button", {
|
|
1161
|
+
title: v(s)("dialogs.findReplace.findNextTitle"),
|
|
1162
|
+
onMousedown: T(F, ["prevent"])
|
|
1163
|
+
}, " ▼ ", 40, Y)
|
|
1164
|
+
]),
|
|
1165
|
+
a("div", ae, [
|
|
1166
|
+
a("label", null, [C(a("input", {
|
|
1167
|
+
type: "checkbox",
|
|
1168
|
+
"onUpdate:modelValue": n[1] ||= (e) => b.value = e,
|
|
1169
|
+
onChange: N
|
|
1170
|
+
}, null, 544), [[y, b.value]]), o(" " + _(v(s)("dialogs.findReplace.matchCase")), 1)]),
|
|
1171
|
+
a("label", null, [C(a("input", {
|
|
1172
|
+
type: "checkbox",
|
|
1173
|
+
"onUpdate:modelValue": n[2] ||= (e) => E.value = e,
|
|
1174
|
+
onChange: N
|
|
1175
|
+
}, null, 544), [[y, E.value]]), o(" " + _(v(s)("dialogs.findReplace.wholeWords")), 1)]),
|
|
1176
|
+
a("button", {
|
|
1177
|
+
class: d(["find-replace-dialog__toggle", { active: O.value }]),
|
|
1178
|
+
onMousedown: n[3] ||= T((e) => O.value = !O.value, ["prevent"]),
|
|
1179
|
+
title: v(s)("dialogs.findReplace.toggleReplace")
|
|
1180
|
+
}, " ↔ " + _(v(s)("dialogs.findReplace.replaceButton")), 43, oe)
|
|
1181
|
+
]),
|
|
1182
|
+
O.value ? (p(), i("div", se, [
|
|
1183
|
+
C(a("input", {
|
|
1184
|
+
"onUpdate:modelValue": n[4] ||= (e) => g.value = e,
|
|
1185
|
+
class: "find-replace-dialog__input",
|
|
1186
|
+
placeholder: v(s)("dialogs.findReplace.replacePlaceholder"),
|
|
1187
|
+
"aria-label": v(s)("dialogs.findReplace.replaceAriaLabel"),
|
|
1188
|
+
onKeydown: w(T(L, ["prevent"]), ["enter"])
|
|
1189
|
+
}, null, 40, ce), [[x, g.value]]),
|
|
1190
|
+
a("button", {
|
|
1191
|
+
title: v(s)("dialogs.findReplace.replaceCurrentTitle"),
|
|
1192
|
+
onMousedown: T(L, ["prevent"])
|
|
1193
|
+
}, _(v(s)("dialogs.findReplace.replaceButton")), 41, le),
|
|
1194
|
+
a("button", {
|
|
1195
|
+
title: v(s)("dialogs.findReplace.replaceAllTitle"),
|
|
1196
|
+
onMousedown: T(R, ["prevent"])
|
|
1197
|
+
}, _(v(s)("dialogs.findReplace.replaceAllButton")), 41, ue)
|
|
1198
|
+
])) : r("", !0)
|
|
1199
|
+
])], 32)) : r("", !0);
|
|
1200
|
+
}
|
|
1201
|
+
}), [["__scopeId", "data-v-0c72041a"]]), fe = { class: "dialog__header" }, pe = { class: "dialog__title" }, me = ["aria-label"], he = { class: "dialog__body" }, ge = { class: "drop-zone__icon" }, _e = { class: "drop-zone__text" }, ve = { class: "drop-zone__hint" }, ye = ["src", "alt"], be = ["aria-label"], xe = {
|
|
1202
|
+
key: 0,
|
|
1203
|
+
class: "drop-zone__error"
|
|
1204
|
+
}, Se = {
|
|
1205
|
+
key: 1,
|
|
1206
|
+
class: "image-controls"
|
|
1207
|
+
}, Ce = { class: "lock-label" }, we = {
|
|
1208
|
+
key: 2,
|
|
1209
|
+
class: "image-controls"
|
|
1210
|
+
}, Te = { style: { flex: "1" } }, Ee = ["placeholder"], De = {
|
|
1211
|
+
key: 3,
|
|
1212
|
+
class: "dialog__actions"
|
|
1213
|
+
}, Oe = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
1214
|
+
__name: "InsertImageDialog",
|
|
1215
|
+
props: { isOpen: { type: Boolean } },
|
|
1216
|
+
emits: ["close", "insert"],
|
|
1217
|
+
setup(e, { emit: n }) {
|
|
1218
|
+
let { t: c } = H(), l = n, u = h(null), f = h(""), m = h(400), g = h(300), b = h(!0), S = h(""), w = h(""), E = h(!1), D = 1;
|
|
1219
|
+
function O() {
|
|
1220
|
+
l("close");
|
|
1221
|
+
}
|
|
1222
|
+
function k() {
|
|
1223
|
+
f.value = "", w.value = "", S.value = "", m.value = 400, g.value = 300;
|
|
1224
|
+
}
|
|
1225
|
+
function A(e) {
|
|
1226
|
+
E.value = !1;
|
|
1227
|
+
let t = e.dataTransfer?.files?.[0];
|
|
1228
|
+
t && N(t);
|
|
1229
|
+
}
|
|
1230
|
+
function M(e) {
|
|
1231
|
+
let t = e.target.files?.[0];
|
|
1232
|
+
t && N(t);
|
|
1233
|
+
}
|
|
1234
|
+
function N(e) {
|
|
1235
|
+
if (w.value = "", !e.type.startsWith("image/")) {
|
|
1236
|
+
w.value = c("dialogs.insertImage.invalidFile");
|
|
1237
|
+
return;
|
|
1238
|
+
}
|
|
1239
|
+
if (e.size > 10 * 1024 * 1024) {
|
|
1240
|
+
w.value = c("dialogs.insertImage.fileTooLarge");
|
|
1241
|
+
return;
|
|
1242
|
+
}
|
|
1243
|
+
S.value = e.name.replace(/\.[^.]+$/, "");
|
|
1244
|
+
let t = new FileReader();
|
|
1245
|
+
t.onload = () => {
|
|
1246
|
+
let e = t.result, n = new Image();
|
|
1247
|
+
n.onload = () => {
|
|
1248
|
+
let t = n.naturalWidth, r = n.naturalHeight;
|
|
1249
|
+
t > 800 && (r = Math.round(800 / t * r), t = 800), r > 600 && (t = Math.round(600 / r * t), r = 600), m.value = t, g.value = r, D = t / r, f.value = e;
|
|
1250
|
+
}, n.onerror = () => {
|
|
1251
|
+
w.value = c("dialogs.insertImage.loadFailed");
|
|
1252
|
+
}, n.src = e;
|
|
1253
|
+
}, t.onerror = () => {
|
|
1254
|
+
w.value = c("dialogs.insertImage.readFailed");
|
|
1255
|
+
}, t.readAsDataURL(e);
|
|
1256
|
+
}
|
|
1257
|
+
function P() {
|
|
1258
|
+
b.value && D && (g.value = Math.round(m.value / D));
|
|
1259
|
+
}
|
|
1260
|
+
function F() {
|
|
1261
|
+
b.value && D && (m.value = Math.round(g.value * D));
|
|
1262
|
+
}
|
|
1263
|
+
function I() {
|
|
1264
|
+
f.value && (l("insert", {
|
|
1265
|
+
src: f.value,
|
|
1266
|
+
width: m.value,
|
|
1267
|
+
height: g.value,
|
|
1268
|
+
alt: S.value
|
|
1269
|
+
}), k(), O());
|
|
1270
|
+
}
|
|
1271
|
+
return (n, l) => e.isOpen ? (p(), i("div", {
|
|
1272
|
+
key: 0,
|
|
1273
|
+
class: "dialog-overlay",
|
|
1274
|
+
onMousedown: T(O, ["self"])
|
|
1275
|
+
}, [a("div", {
|
|
1276
|
+
class: "dialog",
|
|
1277
|
+
onMousedown: l[7] ||= T(() => {}, ["stop"]),
|
|
1278
|
+
onKeydown: l[8] ||= T(() => {}, ["stop"])
|
|
1279
|
+
}, [a("div", fe, [a("span", pe, _(v(c)("dialogs.insertImage.title")), 1), a("button", {
|
|
1280
|
+
class: "dialog__close",
|
|
1281
|
+
"aria-label": v(c)("common.closeDialog"),
|
|
1282
|
+
onClick: O
|
|
1283
|
+
}, " ✕ ", 8, me)]), a("div", he, [
|
|
1284
|
+
a("div", {
|
|
1285
|
+
class: d(["drop-zone", { "drop-zone--active": E.value }]),
|
|
1286
|
+
onDragover: l[0] ||= T((e) => E.value = !0, ["prevent"]),
|
|
1287
|
+
onDragleave: l[1] ||= (e) => E.value = !1,
|
|
1288
|
+
onDrop: T(A, ["prevent"]),
|
|
1289
|
+
onClick: l[2] ||= (e) => u.value?.click()
|
|
1290
|
+
}, [f.value ? (p(), i("img", {
|
|
1291
|
+
key: 1,
|
|
1292
|
+
src: f.value,
|
|
1293
|
+
class: "drop-zone__preview",
|
|
1294
|
+
alt: v(c)("dialogs.insertImage.preview")
|
|
1295
|
+
}, null, 8, ye)) : (p(), i(t, { key: 0 }, [
|
|
1296
|
+
a("div", ge, [s(j, {
|
|
1297
|
+
name: "image",
|
|
1298
|
+
size: 48
|
|
1299
|
+
})]),
|
|
1300
|
+
a("div", _e, _(v(c)("dialogs.insertImage.uploadText")), 1),
|
|
1301
|
+
a("div", ve, _(v(c)("dialogs.insertImage.uploadSubtext")), 1)
|
|
1302
|
+
], 64))], 34),
|
|
1303
|
+
a("input", {
|
|
1304
|
+
ref_key: "fileInput",
|
|
1305
|
+
ref: u,
|
|
1306
|
+
type: "file",
|
|
1307
|
+
accept: "image/*",
|
|
1308
|
+
style: { display: "none" },
|
|
1309
|
+
"aria-label": v(c)("dialogs.insertImage.uploadAriaLabel"),
|
|
1310
|
+
onChange: M
|
|
1311
|
+
}, null, 40, be),
|
|
1312
|
+
w.value ? (p(), i("div", xe, _(w.value), 1)) : r("", !0),
|
|
1313
|
+
f.value ? (p(), i("div", Se, [
|
|
1314
|
+
a("label", null, [o(_(v(c)("dialogs.insertImage.widthLabel")) + " ", 1), C(a("input", {
|
|
1315
|
+
"onUpdate:modelValue": l[3] ||= (e) => m.value = e,
|
|
1316
|
+
type: "number",
|
|
1317
|
+
min: "1",
|
|
1318
|
+
max: "2000",
|
|
1319
|
+
class: "dim-input",
|
|
1320
|
+
onInput: P
|
|
1321
|
+
}, null, 544), [[
|
|
1322
|
+
x,
|
|
1323
|
+
m.value,
|
|
1324
|
+
void 0,
|
|
1325
|
+
{ number: !0 }
|
|
1326
|
+
]])]),
|
|
1327
|
+
a("label", null, [o(_(v(c)("dialogs.insertImage.heightLabel")) + " ", 1), C(a("input", {
|
|
1328
|
+
"onUpdate:modelValue": l[4] ||= (e) => g.value = e,
|
|
1329
|
+
type: "number",
|
|
1330
|
+
min: "1",
|
|
1331
|
+
max: "2000",
|
|
1332
|
+
class: "dim-input",
|
|
1333
|
+
onInput: F
|
|
1334
|
+
}, null, 544), [[
|
|
1335
|
+
x,
|
|
1336
|
+
g.value,
|
|
1337
|
+
void 0,
|
|
1338
|
+
{ number: !0 }
|
|
1339
|
+
]])]),
|
|
1340
|
+
a("label", Ce, [C(a("input", {
|
|
1341
|
+
type: "checkbox",
|
|
1342
|
+
"onUpdate:modelValue": l[5] ||= (e) => b.value = e
|
|
1343
|
+
}, null, 512), [[y, b.value]]), o(" " + _(b.value ? v(c)("dialogs.insertImage.aspectRatioLocked") : v(c)("dialogs.insertImage.aspectRatioUnlocked")), 1)])
|
|
1344
|
+
])) : r("", !0),
|
|
1345
|
+
f.value ? (p(), i("div", we, [a("label", Te, [o(_(v(c)("dialogs.insertImage.altTextLabel")) + " ", 1), C(a("input", {
|
|
1346
|
+
"onUpdate:modelValue": l[6] ||= (e) => S.value = e,
|
|
1347
|
+
class: "alt-input",
|
|
1348
|
+
placeholder: v(c)("dialogs.insertImage.altTextPlaceholder")
|
|
1349
|
+
}, null, 8, Ee), [[x, S.value]])])])) : r("", !0),
|
|
1350
|
+
f.value ? (p(), i("div", De, [a("button", {
|
|
1351
|
+
class: "dialog__btn",
|
|
1352
|
+
onClick: k
|
|
1353
|
+
}, _(v(c)("common.clear")), 1), a("button", {
|
|
1354
|
+
class: "dialog__btn dialog__btn--primary",
|
|
1355
|
+
onMousedown: T(I, ["prevent"])
|
|
1356
|
+
}, _(v(c)("dialogs.insertImage.insertButton")), 33)])) : r("", !0)
|
|
1357
|
+
])], 32)], 32)) : r("", !0);
|
|
1358
|
+
}
|
|
1359
|
+
}), [["__scopeId", "data-v-8ea71e65"]]), ke = { class: "dialog__header" }, Ae = { class: "dialog__title" }, je = ["aria-label"], Me = { class: "dialog__body" }, Ne = {
|
|
1360
|
+
key: 0,
|
|
1361
|
+
class: "link-tabs",
|
|
1362
|
+
role: "tablist"
|
|
1363
|
+
}, Pe = ["aria-selected"], Fe = ["aria-selected"], Ie = {
|
|
1364
|
+
key: 1,
|
|
1365
|
+
class: "field"
|
|
1366
|
+
}, Le = { class: "field__label" }, Re = [
|
|
1367
|
+
"placeholder",
|
|
1368
|
+
"aria-invalid",
|
|
1369
|
+
"onKeydown"
|
|
1370
|
+
], ze = {
|
|
1371
|
+
key: 0,
|
|
1372
|
+
class: "field__error"
|
|
1373
|
+
}, Be = {
|
|
1374
|
+
key: 1,
|
|
1375
|
+
class: "field__hint"
|
|
1376
|
+
}, Ve = {
|
|
1377
|
+
key: 2,
|
|
1378
|
+
class: "field"
|
|
1379
|
+
}, He = { class: "field__label" }, Ue = ["onKeydown"], We = { value: "" }, Ge = ["value"], Ke = { class: "field" }, qe = { class: "field__label" }, Je = ["placeholder"], Ye = { class: "field__hint" }, Xe = { class: "field" }, Ze = { class: "field__label" }, Qe = ["placeholder"], $e = { class: "dialog__actions" }, et = ["disabled"], tt = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
1380
|
+
__name: "HyperlinkDialog",
|
|
1381
|
+
props: {
|
|
1382
|
+
isOpen: { type: Boolean },
|
|
1383
|
+
view: {},
|
|
1384
|
+
bookmarks: {}
|
|
1385
|
+
},
|
|
1386
|
+
emits: [
|
|
1387
|
+
"close",
|
|
1388
|
+
"submit",
|
|
1389
|
+
"remove"
|
|
1390
|
+
],
|
|
1391
|
+
setup(e, { emit: o }) {
|
|
1392
|
+
let { t: s } = H(), c = e, l = o, f = h(null), m = h(null), y = h("url"), E = h(""), D = h(""), O = h(""), k = h(""), A = h(!1), j = h(""), M = h(!1), N = n(() => c.bookmarks ?? []), P = n(() => y.value === "bookmark" ? !!D.value : !!E.value.trim() && !j.value);
|
|
1393
|
+
S(E, () => {
|
|
1394
|
+
j.value &&= "";
|
|
1395
|
+
});
|
|
1396
|
+
function F(e) {
|
|
1397
|
+
let t = e.trim();
|
|
1398
|
+
if (!t) return !1;
|
|
1399
|
+
if (/^(mailto:|tel:)/i.test(t)) return t.replace(/^(mailto:|tel:)/i, "").length > 0;
|
|
1400
|
+
if (/^ftp:\/\//i.test(t)) return t.length > 6;
|
|
1401
|
+
try {
|
|
1402
|
+
let e = new URL(/^https?:\/\//i.test(t) ? t : `https://${t}`);
|
|
1403
|
+
return e.protocol === "http:" || e.protocol === "https:";
|
|
1404
|
+
} catch {
|
|
1405
|
+
return !1;
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
function I(e) {
|
|
1409
|
+
let t = e.trim();
|
|
1410
|
+
return /^(https?:\/\/|mailto:|tel:|ftp:\/\/)/i.test(t) ? t : `https://${t}`;
|
|
1411
|
+
}
|
|
1412
|
+
S(() => c.isOpen, async (e) => {
|
|
1413
|
+
if (e) {
|
|
1414
|
+
let e = c.view;
|
|
1415
|
+
if (e) {
|
|
1416
|
+
let { $from: t, empty: n, from: r, to: i } = e.state.selection, a = (e.state.storedMarks || t.marks()).find((e) => e.type.name === "hyperlink");
|
|
1417
|
+
if (a) {
|
|
1418
|
+
let e = a.attrs.href || "";
|
|
1419
|
+
e.startsWith("#") ? (y.value = "bookmark", D.value = e.slice(1), E.value = "") : (y.value = "url", E.value = e, D.value = ""), k.value = a.attrs.tooltip || "", A.value = !0;
|
|
1420
|
+
} else y.value = "url", E.value = "", D.value = "", k.value = "", A.value = !1;
|
|
1421
|
+
n ? O.value = "" : O.value = e.state.doc.textBetween(r, i);
|
|
1422
|
+
}
|
|
1423
|
+
await u(), y.value === "bookmark" ? m.value?.focus() : f.value?.focus();
|
|
1424
|
+
} else M.value = !1, j.value = "";
|
|
1425
|
+
});
|
|
1426
|
+
function L() {
|
|
1427
|
+
l("close");
|
|
1428
|
+
}
|
|
1429
|
+
function R() {
|
|
1430
|
+
if (y.value === "bookmark") {
|
|
1431
|
+
if (!D.value) return;
|
|
1432
|
+
l("submit", {
|
|
1433
|
+
bookmark: D.value,
|
|
1434
|
+
displayText: O.value,
|
|
1435
|
+
tooltip: k.value
|
|
1436
|
+
}), L();
|
|
1437
|
+
return;
|
|
1438
|
+
}
|
|
1439
|
+
if (M.value = !0, !F(E.value)) {
|
|
1440
|
+
j.value = E.value.trim() ? s("dialogs.hyperlink.invalidUrl") : s("dialogs.hyperlink.urlRequired");
|
|
1441
|
+
return;
|
|
1442
|
+
}
|
|
1443
|
+
l("submit", {
|
|
1444
|
+
url: I(E.value),
|
|
1445
|
+
displayText: O.value,
|
|
1446
|
+
tooltip: k.value
|
|
1447
|
+
}), L();
|
|
1448
|
+
}
|
|
1449
|
+
function z() {
|
|
1450
|
+
if (y.value === "url") {
|
|
1451
|
+
if (M.value = !0, !E.value.trim()) {
|
|
1452
|
+
j.value = "";
|
|
1453
|
+
return;
|
|
1454
|
+
}
|
|
1455
|
+
j.value = F(E.value) ? "" : s("dialogs.hyperlink.invalidUrl");
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
function B() {
|
|
1459
|
+
l("remove"), L();
|
|
1460
|
+
}
|
|
1461
|
+
return (n, o) => e.isOpen ? (p(), i("div", {
|
|
1462
|
+
key: 0,
|
|
1463
|
+
class: "dialog-overlay",
|
|
1464
|
+
onMousedown: T(L, ["self"])
|
|
1465
|
+
}, [a("div", {
|
|
1466
|
+
class: "dialog",
|
|
1467
|
+
onMousedown: o[6] ||= T(() => {}, ["stop"]),
|
|
1468
|
+
onKeydown: o[7] ||= T(() => {}, ["stop"])
|
|
1469
|
+
}, [a("div", ke, [a("span", Ae, _(A.value ? v(s)("dialogs.hyperlink.titleEdit") : v(s)("dialogs.hyperlink.titleInsert")), 1), a("button", {
|
|
1470
|
+
class: "dialog__close",
|
|
1471
|
+
"aria-label": v(s)("common.closeDialog"),
|
|
1472
|
+
onClick: L
|
|
1473
|
+
}, " ✕ ", 8, je)]), a("div", Me, [
|
|
1474
|
+
N.value.length > 0 ? (p(), i("div", Ne, [a("button", {
|
|
1475
|
+
class: d(["link-tab", { active: y.value === "url" }]),
|
|
1476
|
+
role: "tab",
|
|
1477
|
+
"aria-selected": y.value === "url",
|
|
1478
|
+
onMousedown: o[0] ||= T((e) => y.value = "url", ["prevent"])
|
|
1479
|
+
}, _(v(s)("dialogs.hyperlink.tabWebAddress")), 43, Pe), a("button", {
|
|
1480
|
+
class: d(["link-tab", { active: y.value === "bookmark" }]),
|
|
1481
|
+
role: "tab",
|
|
1482
|
+
"aria-selected": y.value === "bookmark",
|
|
1483
|
+
onMousedown: o[1] ||= T((e) => y.value = "bookmark", ["prevent"])
|
|
1484
|
+
}, _(v(s)("dialogs.hyperlink.tabBookmark")), 43, Fe)])) : r("", !0),
|
|
1485
|
+
y.value === "url" ? (p(), i("div", Ie, [
|
|
1486
|
+
a("label", Le, _(v(s)("dialogs.hyperlink.urlLabel")), 1),
|
|
1487
|
+
C(a("input", {
|
|
1488
|
+
ref_key: "urlInputRef",
|
|
1489
|
+
ref: f,
|
|
1490
|
+
"onUpdate:modelValue": o[2] ||= (e) => E.value = e,
|
|
1491
|
+
class: d(["field__input", { "field__input--error": M.value && !!j.value }]),
|
|
1492
|
+
placeholder: v(s)("dialogs.hyperlink.urlPlaceholder"),
|
|
1493
|
+
"aria-invalid": M.value && !!j.value,
|
|
1494
|
+
onKeydown: w(T(R, ["prevent"]), ["enter"]),
|
|
1495
|
+
onBlur: z
|
|
1496
|
+
}, null, 42, Re), [[x, E.value]]),
|
|
1497
|
+
M.value && j.value ? (p(), i("div", ze, _(j.value), 1)) : (p(), i("div", Be, _(v(s)("dialogs.hyperlink.urlHint")), 1))
|
|
1498
|
+
])) : (p(), i("div", Ve, [a("label", He, _(v(s)("dialogs.hyperlink.bookmarkLabel")), 1), C(a("select", {
|
|
1499
|
+
ref_key: "bookmarkSelectRef",
|
|
1500
|
+
ref: m,
|
|
1501
|
+
"onUpdate:modelValue": o[3] ||= (e) => D.value = e,
|
|
1502
|
+
class: "field__input",
|
|
1503
|
+
onKeydown: w(T(R, ["prevent"]), ["enter"])
|
|
1504
|
+
}, [a("option", We, _(v(s)("dialogs.hyperlink.bookmarkPlaceholder")), 1), (p(!0), i(t, null, g(N.value, (e) => (p(), i("option", {
|
|
1505
|
+
key: e.name,
|
|
1506
|
+
value: e.name
|
|
1507
|
+
}, _(e.label || e.name), 9, Ge))), 128))], 40, Ue), [[b, D.value]])])),
|
|
1508
|
+
a("div", Ke, [
|
|
1509
|
+
a("label", qe, _(v(s)("dialogs.hyperlink.displayTextLabel")), 1),
|
|
1510
|
+
C(a("input", {
|
|
1511
|
+
"onUpdate:modelValue": o[4] ||= (e) => O.value = e,
|
|
1512
|
+
class: "field__input",
|
|
1513
|
+
placeholder: v(s)("dialogs.hyperlink.displayTextPlaceholder")
|
|
1514
|
+
}, null, 8, Je), [[x, O.value]]),
|
|
1515
|
+
a("div", Ye, _(v(s)("dialogs.hyperlink.displayTextHint")), 1)
|
|
1516
|
+
]),
|
|
1517
|
+
a("div", Xe, [a("label", Ze, _(v(s)("dialogs.hyperlink.tooltipLabel")), 1), C(a("input", {
|
|
1518
|
+
"onUpdate:modelValue": o[5] ||= (e) => k.value = e,
|
|
1519
|
+
class: "field__input",
|
|
1520
|
+
placeholder: v(s)("dialogs.hyperlink.tooltipPlaceholder")
|
|
1521
|
+
}, null, 8, Qe), [[x, k.value]])]),
|
|
1522
|
+
a("div", $e, [
|
|
1523
|
+
A.value ? (p(), i("button", {
|
|
1524
|
+
key: 0,
|
|
1525
|
+
class: "dialog__btn dialog__btn--danger",
|
|
1526
|
+
onMousedown: T(B, ["prevent"])
|
|
1527
|
+
}, _(v(s)("dialogs.hyperlink.removeLink")), 33)) : r("", !0),
|
|
1528
|
+
o[8] ||= a("div", { style: { flex: "1" } }, null, -1),
|
|
1529
|
+
a("button", {
|
|
1530
|
+
class: "dialog__btn",
|
|
1531
|
+
onClick: L
|
|
1532
|
+
}, _(v(s)("common.cancel")), 1),
|
|
1533
|
+
a("button", {
|
|
1534
|
+
class: "dialog__btn dialog__btn--primary",
|
|
1535
|
+
onMousedown: T(R, ["prevent"]),
|
|
1536
|
+
disabled: !P.value
|
|
1537
|
+
}, _(A.value ? v(s)("common.update") : v(s)("common.insert")), 41, et)
|
|
1538
|
+
])
|
|
1539
|
+
])], 32)], 32)) : r("", !0);
|
|
1540
|
+
}
|
|
1541
|
+
}), [["__scopeId", "data-v-4dc1170f"]]), nt = { class: "dialog__header" }, rt = { class: "dialog__title" }, it = ["title"], at = { class: "dialog__body" }, ot = ["placeholder"], st = {
|
|
1542
|
+
key: 0,
|
|
1543
|
+
class: "symbol-tabs"
|
|
1544
|
+
}, ct = ["onMousedown"], lt = { class: "symbol-grid" }, ut = [
|
|
1545
|
+
"title",
|
|
1546
|
+
"onClick",
|
|
1547
|
+
"onDblclick"
|
|
1548
|
+
], dt = {
|
|
1549
|
+
key: 0,
|
|
1550
|
+
class: "symbol-empty"
|
|
1551
|
+
}, ft = {
|
|
1552
|
+
key: 1,
|
|
1553
|
+
class: "symbol-preview"
|
|
1554
|
+
}, pt = { class: "symbol-preview__char" }, mt = { class: "symbol-preview__info" }, ht = {
|
|
1555
|
+
key: 2,
|
|
1556
|
+
class: "symbol-recent"
|
|
1557
|
+
}, gt = { class: "symbol-recent__label" }, _t = ["onDblclick", "onClick"], vt = { class: "dialog__actions" }, yt = ["disabled"], bt = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
1558
|
+
__name: "InsertSymbolDialog",
|
|
1559
|
+
props: { isOpen: { type: Boolean } },
|
|
1560
|
+
emits: ["close", "insert"],
|
|
1561
|
+
setup(e, { emit: o }) {
|
|
1562
|
+
let { t: s } = H(), c = e, l = o, f = h(null), m = h(""), y = h("Common"), b = h(""), E = h([]), D = [
|
|
1563
|
+
{
|
|
1564
|
+
name: "Common",
|
|
1565
|
+
nameKey: "dialogs.insertSymbol.categories.common",
|
|
1566
|
+
symbols: [
|
|
1567
|
+
{
|
|
1568
|
+
char: "©",
|
|
1569
|
+
name: "Copyright"
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
char: "®",
|
|
1573
|
+
name: "Registered"
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
char: "™",
|
|
1577
|
+
name: "Trademark"
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
char: "•",
|
|
1581
|
+
name: "Bullet"
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
char: "…",
|
|
1585
|
+
name: "Ellipsis"
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
char: "—",
|
|
1589
|
+
name: "Em dash"
|
|
1590
|
+
},
|
|
1591
|
+
{
|
|
1592
|
+
char: "–",
|
|
1593
|
+
name: "En dash"
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
char: "±",
|
|
1597
|
+
name: "Plus-minus"
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
char: "×",
|
|
1601
|
+
name: "Multiply"
|
|
1602
|
+
},
|
|
1603
|
+
{
|
|
1604
|
+
char: "÷",
|
|
1605
|
+
name: "Divide"
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
char: "≠",
|
|
1609
|
+
name: "Not equal"
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
char: "≈",
|
|
1613
|
+
name: "Approximately"
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
char: "≤",
|
|
1617
|
+
name: "Less or equal"
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
char: "≥",
|
|
1621
|
+
name: "Greater or equal"
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
char: "°",
|
|
1625
|
+
name: "Degree"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
char: "µ",
|
|
1629
|
+
name: "Micro"
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
char: "¶",
|
|
1633
|
+
name: "Pilcrow"
|
|
1634
|
+
},
|
|
1635
|
+
{
|
|
1636
|
+
char: "§",
|
|
1637
|
+
name: "Section"
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
char: "†",
|
|
1641
|
+
name: "Dagger"
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
char: "‡",
|
|
1645
|
+
name: "Double dagger"
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
char: "¿",
|
|
1649
|
+
name: "Inverted question"
|
|
1650
|
+
},
|
|
1651
|
+
{
|
|
1652
|
+
char: "¡",
|
|
1653
|
+
name: "Inverted exclamation"
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
char: "‰",
|
|
1657
|
+
name: "Per mille"
|
|
1658
|
+
},
|
|
1659
|
+
{
|
|
1660
|
+
char: "∞",
|
|
1661
|
+
name: "Infinity"
|
|
1662
|
+
}
|
|
1663
|
+
]
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
name: "Arrows",
|
|
1667
|
+
nameKey: "dialogs.insertSymbol.categories.arrows",
|
|
1668
|
+
symbols: [
|
|
1669
|
+
{
|
|
1670
|
+
char: "←",
|
|
1671
|
+
name: "Left"
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
char: "→",
|
|
1675
|
+
name: "Right"
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
char: "↑",
|
|
1679
|
+
name: "Up"
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
char: "↓",
|
|
1683
|
+
name: "Down"
|
|
1684
|
+
},
|
|
1685
|
+
{
|
|
1686
|
+
char: "↔",
|
|
1687
|
+
name: "Left-right"
|
|
1688
|
+
},
|
|
1689
|
+
{
|
|
1690
|
+
char: "↕",
|
|
1691
|
+
name: "Up-down"
|
|
1692
|
+
},
|
|
1693
|
+
{
|
|
1694
|
+
char: "⇐",
|
|
1695
|
+
name: "Double left"
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
char: "⇒",
|
|
1699
|
+
name: "Double right"
|
|
1700
|
+
},
|
|
1701
|
+
{
|
|
1702
|
+
char: "⇑",
|
|
1703
|
+
name: "Double up"
|
|
1704
|
+
},
|
|
1705
|
+
{
|
|
1706
|
+
char: "⇓",
|
|
1707
|
+
name: "Double down"
|
|
1708
|
+
},
|
|
1709
|
+
{
|
|
1710
|
+
char: "⇔",
|
|
1711
|
+
name: "Double left-right"
|
|
1712
|
+
},
|
|
1713
|
+
{
|
|
1714
|
+
char: "➡",
|
|
1715
|
+
name: "Heavy right"
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
char: "↩",
|
|
1719
|
+
name: "Return"
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
char: "↪",
|
|
1723
|
+
name: "Curved right"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
char: "↻",
|
|
1727
|
+
name: "Clockwise"
|
|
1728
|
+
},
|
|
1729
|
+
{
|
|
1730
|
+
char: "↺",
|
|
1731
|
+
name: "Counter-clockwise"
|
|
1732
|
+
}
|
|
1733
|
+
]
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
name: "Math",
|
|
1737
|
+
nameKey: "dialogs.insertSymbol.categories.math",
|
|
1738
|
+
symbols: [
|
|
1739
|
+
{
|
|
1740
|
+
char: "∑",
|
|
1741
|
+
name: "Summation"
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
char: "∏",
|
|
1745
|
+
name: "Product"
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
char: "∫",
|
|
1749
|
+
name: "Integral"
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
char: "√",
|
|
1753
|
+
name: "Square root"
|
|
1754
|
+
},
|
|
1755
|
+
{
|
|
1756
|
+
char: "∂",
|
|
1757
|
+
name: "Partial diff"
|
|
1758
|
+
},
|
|
1759
|
+
{
|
|
1760
|
+
char: "∇",
|
|
1761
|
+
name: "Nabla"
|
|
1762
|
+
},
|
|
1763
|
+
{
|
|
1764
|
+
char: "∈",
|
|
1765
|
+
name: "Element of"
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
char: "∉",
|
|
1769
|
+
name: "Not element"
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
char: "⊂",
|
|
1773
|
+
name: "Subset"
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
char: "⊃",
|
|
1777
|
+
name: "Superset"
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
char: "∪",
|
|
1781
|
+
name: "Union"
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
char: "∩",
|
|
1785
|
+
name: "Intersection"
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
char: "∧",
|
|
1789
|
+
name: "And"
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
char: "∨",
|
|
1793
|
+
name: "Or"
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
char: "¬",
|
|
1797
|
+
name: "Not"
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
char: "∀",
|
|
1801
|
+
name: "For all"
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
char: "∃",
|
|
1805
|
+
name: "Exists"
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
char: "∅",
|
|
1809
|
+
name: "Empty set"
|
|
1810
|
+
},
|
|
1811
|
+
{
|
|
1812
|
+
char: "∝",
|
|
1813
|
+
name: "Proportional"
|
|
1814
|
+
},
|
|
1815
|
+
{
|
|
1816
|
+
char: "∠",
|
|
1817
|
+
name: "Angle"
|
|
1818
|
+
}
|
|
1819
|
+
]
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
name: "Greek",
|
|
1823
|
+
nameKey: "dialogs.insertSymbol.categories.greek",
|
|
1824
|
+
symbols: [
|
|
1825
|
+
{
|
|
1826
|
+
char: "α",
|
|
1827
|
+
name: "alpha"
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
char: "β",
|
|
1831
|
+
name: "beta"
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
char: "γ",
|
|
1835
|
+
name: "gamma"
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
char: "δ",
|
|
1839
|
+
name: "delta"
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
char: "ε",
|
|
1843
|
+
name: "epsilon"
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
char: "ζ",
|
|
1847
|
+
name: "zeta"
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
char: "η",
|
|
1851
|
+
name: "eta"
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
char: "θ",
|
|
1855
|
+
name: "theta"
|
|
1856
|
+
},
|
|
1857
|
+
{
|
|
1858
|
+
char: "λ",
|
|
1859
|
+
name: "lambda"
|
|
1860
|
+
},
|
|
1861
|
+
{
|
|
1862
|
+
char: "μ",
|
|
1863
|
+
name: "mu"
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
char: "π",
|
|
1867
|
+
name: "pi"
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
char: "ρ",
|
|
1871
|
+
name: "rho"
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
char: "σ",
|
|
1875
|
+
name: "sigma"
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
char: "τ",
|
|
1879
|
+
name: "tau"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
char: "φ",
|
|
1883
|
+
name: "phi"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
char: "ψ",
|
|
1887
|
+
name: "psi"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
char: "ω",
|
|
1891
|
+
name: "omega"
|
|
1892
|
+
},
|
|
1893
|
+
{
|
|
1894
|
+
char: "Δ",
|
|
1895
|
+
name: "Delta"
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
char: "Σ",
|
|
1899
|
+
name: "Sigma"
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
char: "Ω",
|
|
1903
|
+
name: "Omega"
|
|
1904
|
+
},
|
|
1905
|
+
{
|
|
1906
|
+
char: "Π",
|
|
1907
|
+
name: "Pi"
|
|
1908
|
+
},
|
|
1909
|
+
{
|
|
1910
|
+
char: "Φ",
|
|
1911
|
+
name: "Phi"
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
char: "Ψ",
|
|
1915
|
+
name: "Psi"
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
char: "Θ",
|
|
1919
|
+
name: "Theta"
|
|
1920
|
+
}
|
|
1921
|
+
]
|
|
1922
|
+
},
|
|
1923
|
+
{
|
|
1924
|
+
name: "Currency",
|
|
1925
|
+
nameKey: "dialogs.insertSymbol.categories.currency",
|
|
1926
|
+
symbols: [
|
|
1927
|
+
{
|
|
1928
|
+
char: "$",
|
|
1929
|
+
name: "Dollar"
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
char: "€",
|
|
1933
|
+
name: "Euro"
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
char: "£",
|
|
1937
|
+
name: "Pound"
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
char: "¥",
|
|
1941
|
+
name: "Yen"
|
|
1942
|
+
},
|
|
1943
|
+
{
|
|
1944
|
+
char: "₹",
|
|
1945
|
+
name: "Rupee"
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
char: "₽",
|
|
1949
|
+
name: "Ruble"
|
|
1950
|
+
},
|
|
1951
|
+
{
|
|
1952
|
+
char: "₩",
|
|
1953
|
+
name: "Won"
|
|
1954
|
+
},
|
|
1955
|
+
{
|
|
1956
|
+
char: "₿",
|
|
1957
|
+
name: "Bitcoin"
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
char: "¢",
|
|
1961
|
+
name: "Cent"
|
|
1962
|
+
},
|
|
1963
|
+
{
|
|
1964
|
+
char: "₫",
|
|
1965
|
+
name: "Dong"
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
char: "₺",
|
|
1969
|
+
name: "Lira"
|
|
1970
|
+
},
|
|
1971
|
+
{
|
|
1972
|
+
char: "₴",
|
|
1973
|
+
name: "Hryvnia"
|
|
1974
|
+
}
|
|
1975
|
+
]
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
name: "Shapes",
|
|
1979
|
+
nameKey: "dialogs.insertSymbol.categories.shapes",
|
|
1980
|
+
symbols: [
|
|
1981
|
+
{
|
|
1982
|
+
char: "■",
|
|
1983
|
+
name: "Black square"
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
char: "□",
|
|
1987
|
+
name: "White square"
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
char: "▲",
|
|
1991
|
+
name: "Up triangle"
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
char: "▼",
|
|
1995
|
+
name: "Down triangle"
|
|
1996
|
+
},
|
|
1997
|
+
{
|
|
1998
|
+
char: "●",
|
|
1999
|
+
name: "Black circle"
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
char: "○",
|
|
2003
|
+
name: "White circle"
|
|
2004
|
+
},
|
|
2005
|
+
{
|
|
2006
|
+
char: "◆",
|
|
2007
|
+
name: "Black diamond"
|
|
2008
|
+
},
|
|
2009
|
+
{
|
|
2010
|
+
char: "◇",
|
|
2011
|
+
name: "White diamond"
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
char: "★",
|
|
2015
|
+
name: "Black star"
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
char: "☆",
|
|
2019
|
+
name: "White star"
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
char: "♠",
|
|
2023
|
+
name: "Spade"
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
char: "♥",
|
|
2027
|
+
name: "Heart"
|
|
2028
|
+
},
|
|
2029
|
+
{
|
|
2030
|
+
char: "♦",
|
|
2031
|
+
name: "Diamond"
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
char: "♣",
|
|
2035
|
+
name: "Club"
|
|
2036
|
+
},
|
|
2037
|
+
{
|
|
2038
|
+
char: "✓",
|
|
2039
|
+
name: "Check mark"
|
|
2040
|
+
},
|
|
2041
|
+
{
|
|
2042
|
+
char: "✗",
|
|
2043
|
+
name: "Ballot X"
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
char: "✦",
|
|
2047
|
+
name: "Four pointed star"
|
|
2048
|
+
},
|
|
2049
|
+
{
|
|
2050
|
+
char: "◌",
|
|
2051
|
+
name: "Dotted circle"
|
|
2052
|
+
}
|
|
2053
|
+
]
|
|
2054
|
+
}
|
|
2055
|
+
], O = n(() => {
|
|
2056
|
+
let e = [];
|
|
2057
|
+
for (let t of D) for (let n of t.symbols) e.push({
|
|
2058
|
+
...n,
|
|
2059
|
+
category: t.name
|
|
2060
|
+
});
|
|
2061
|
+
return e;
|
|
2062
|
+
}), k = n(() => {
|
|
2063
|
+
if (m.value) {
|
|
2064
|
+
let e = m.value.toLowerCase();
|
|
2065
|
+
return O.value.filter((t) => t.name.toLowerCase().includes(e) || t.char === e);
|
|
2066
|
+
}
|
|
2067
|
+
let e = D.find((e) => e.name === y.value);
|
|
2068
|
+
return e ? e.symbols.map((t) => ({
|
|
2069
|
+
...t,
|
|
2070
|
+
category: e.name
|
|
2071
|
+
})) : [];
|
|
2072
|
+
});
|
|
2073
|
+
S(() => c.isOpen, async (e) => {
|
|
2074
|
+
e && (await u(), f.value?.focus());
|
|
2075
|
+
});
|
|
2076
|
+
function A() {
|
|
2077
|
+
l("close");
|
|
2078
|
+
}
|
|
2079
|
+
function j(e) {
|
|
2080
|
+
e && (E.value = [e, ...E.value.filter((t) => t !== e)].slice(0, 10), l("insert", e));
|
|
2081
|
+
}
|
|
2082
|
+
return (n, o) => e.isOpen ? (p(), i("div", {
|
|
2083
|
+
key: 0,
|
|
2084
|
+
class: "dialog-overlay",
|
|
2085
|
+
onMousedown: T(A, ["self"])
|
|
2086
|
+
}, [a("div", {
|
|
2087
|
+
class: "dialog symbol-dialog",
|
|
2088
|
+
onMousedown: o[2] ||= T(() => {}, ["stop"]),
|
|
2089
|
+
onKeydown: o[3] ||= T(() => {}, ["stop"])
|
|
2090
|
+
}, [a("div", nt, [a("span", rt, _(v(s)("dialogs.insertSymbol.title")), 1), a("button", {
|
|
2091
|
+
class: "dialog__close",
|
|
2092
|
+
title: v(s)("common.closeDialog"),
|
|
2093
|
+
onClick: A
|
|
2094
|
+
}, "✕", 8, it)]), a("div", at, [
|
|
2095
|
+
C(a("input", {
|
|
2096
|
+
ref_key: "searchRef",
|
|
2097
|
+
ref: f,
|
|
2098
|
+
"onUpdate:modelValue": o[0] ||= (e) => m.value = e,
|
|
2099
|
+
class: "symbol-search",
|
|
2100
|
+
placeholder: v(s)("dialogs.insertSymbol.searchPlaceholder"),
|
|
2101
|
+
onKeydown: w(A, ["escape"])
|
|
2102
|
+
}, null, 40, ot), [[x, m.value]]),
|
|
2103
|
+
m.value ? r("", !0) : (p(), i("div", st, [(p(), i(t, null, g(D, (e) => a("button", {
|
|
2104
|
+
key: e.name,
|
|
2105
|
+
class: d(["symbol-tab", { active: y.value === e.name }]),
|
|
2106
|
+
onMousedown: T((t) => y.value = e.name, ["prevent"])
|
|
2107
|
+
}, _(v(s)(e.nameKey)), 43, ct)), 64))])),
|
|
2108
|
+
a("div", lt, [(p(!0), i(t, null, g(k.value, (e) => (p(), i("button", {
|
|
2109
|
+
key: e.char,
|
|
2110
|
+
class: d(["symbol-cell", { selected: b.value === e.char }]),
|
|
2111
|
+
title: e.name,
|
|
2112
|
+
onClick: (t) => b.value = e.char,
|
|
2113
|
+
onDblclick: (t) => j(e.char)
|
|
2114
|
+
}, _(e.char), 43, ut))), 128)), k.value.length === 0 ? (p(), i("div", dt, _(m.value ? v(s)("dialogs.insertSymbol.noResults", { query: m.value }) : v(s)("dialogs.insertSymbol.noResultsEmpty")), 1)) : r("", !0)]),
|
|
2115
|
+
b.value ? (p(), i("div", ft, [a("span", pt, _(b.value), 1), a("span", mt, "U+" + _(b.value.codePointAt(0)?.toString(16).toUpperCase().padStart(4, "0")), 1)])) : r("", !0),
|
|
2116
|
+
E.value.length > 0 && !m.value ? (p(), i("div", ht, [a("div", gt, _(v(s)("dialogs.insertSymbol.recent")), 1), (p(!0), i(t, null, g(E.value, (e) => (p(), i("button", {
|
|
2117
|
+
key: e,
|
|
2118
|
+
class: "symbol-cell symbol-cell--small",
|
|
2119
|
+
onDblclick: (t) => j(e),
|
|
2120
|
+
onClick: (t) => b.value = e
|
|
2121
|
+
}, _(e), 41, _t))), 128))])) : r("", !0),
|
|
2122
|
+
a("div", vt, [a("button", {
|
|
2123
|
+
class: "dialog__btn",
|
|
2124
|
+
onClick: A
|
|
2125
|
+
}, _(v(s)("common.cancel")), 1), a("button", {
|
|
2126
|
+
class: "dialog__btn dialog__btn--primary",
|
|
2127
|
+
onMousedown: o[1] ||= T((e) => j(b.value), ["prevent"]),
|
|
2128
|
+
disabled: !b.value
|
|
2129
|
+
}, _(v(s)("common.insert")), 41, yt)])
|
|
2130
|
+
])], 32)], 32)) : r("", !0);
|
|
2131
|
+
}
|
|
2132
|
+
}), [["__scopeId", "data-v-c5817b27"]]), xt = { class: "dialog__header" }, St = { class: "dialog__title" }, Ct = ["aria-label"], wt = { class: "dialog__body" }, Tt = { class: "field" }, Et = { class: "field__label" }, Dt = ["placeholder"], Ot = { class: "field" }, kt = { class: "field__label" }, At = { value: "inline" }, jt = { value: "wrapRight" }, Mt = { value: "wrapLeft" }, Nt = { value: "topAndBottom" }, Pt = { value: "behind" }, Ft = { value: "inFront" }, It = { class: "field" }, Lt = { class: "field__label" }, Rt = { class: "field-row" }, zt = { value: "solid" }, Bt = { value: "dashed" }, Vt = { value: "dotted" }, Ht = { value: "double" }, Ut = { class: "field" }, Wt = { class: "field__label" }, Gt = { class: "field-row" }, Kt = ["value"], qt = ["value"], Jt = { class: "field__checkbox" }, Yt = { class: "dialog__actions" }, Xt = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
2133
|
+
__name: "ImagePropertiesDialog",
|
|
2134
|
+
props: {
|
|
2135
|
+
isOpen: { type: Boolean },
|
|
2136
|
+
view: {},
|
|
2137
|
+
pmPos: {}
|
|
2138
|
+
},
|
|
2139
|
+
emits: ["close"],
|
|
2140
|
+
setup(e, { emit: t }) {
|
|
2141
|
+
let { t: n } = H(), s = e, c = t, l = h(""), u = h("inline"), d = h(0), f = h("solid"), m = h("#000000"), g = h(200), w = h(150), E = h(!0), D = 1;
|
|
2142
|
+
S(() => s.isOpen, (e) => {
|
|
2143
|
+
if (!(!e || !s.view || s.pmPos === null)) try {
|
|
2144
|
+
let e = s.view.state.doc.nodeAt(s.pmPos);
|
|
2145
|
+
if (e && e.type.name === "image") {
|
|
2146
|
+
l.value = e.attrs.alt || "", d.value = e.attrs.borderWidth || 0, f.value = e.attrs.borderStyle || "solid", m.value = e.attrs.borderColor || "#000000", g.value = e.attrs.width || 200, w.value = e.attrs.height || 150, D = g.value / (w.value || 1), E.value = !0;
|
|
2147
|
+
let t = e.attrs.displayMode, n = e.attrs.cssFloat, r = e.attrs.wrapType;
|
|
2148
|
+
t === "float" && n === "left" ? u.value = "wrapRight" : t === "float" && n === "right" ? u.value = "wrapLeft" : t === "block" ? u.value = "topAndBottom" : r === "behind" ? u.value = "behind" : r === "inFront" ? u.value = "inFront" : u.value = "inline";
|
|
2149
|
+
}
|
|
2150
|
+
} catch {}
|
|
2151
|
+
});
|
|
2152
|
+
function O(e) {
|
|
2153
|
+
let t = Number(e.target.value);
|
|
2154
|
+
isNaN(t) || t < 1 || (g.value = t, E.value && D > 0 && (w.value = Math.round(t / D)));
|
|
2155
|
+
}
|
|
2156
|
+
function k(e) {
|
|
2157
|
+
let t = Number(e.target.value);
|
|
2158
|
+
isNaN(t) || t < 1 || (w.value = t, E.value && D > 0 && (g.value = Math.round(t * D)));
|
|
2159
|
+
}
|
|
2160
|
+
function A() {
|
|
2161
|
+
c("close");
|
|
2162
|
+
}
|
|
2163
|
+
function j() {
|
|
2164
|
+
let e = s.view;
|
|
2165
|
+
if (!(!e || s.pmPos === null)) {
|
|
2166
|
+
try {
|
|
2167
|
+
let t = e.state.doc.nodeAt(s.pmPos);
|
|
2168
|
+
if (!t || t.type.name !== "image") return;
|
|
2169
|
+
let n = "inline", r = null, i = "inline";
|
|
2170
|
+
switch (u.value) {
|
|
2171
|
+
case "wrapRight":
|
|
2172
|
+
n = "float", r = "left", i = "square";
|
|
2173
|
+
break;
|
|
2174
|
+
case "wrapLeft":
|
|
2175
|
+
n = "float", r = "right", i = "square";
|
|
2176
|
+
break;
|
|
2177
|
+
case "topAndBottom":
|
|
2178
|
+
n = "block", i = "topAndBottom";
|
|
2179
|
+
break;
|
|
2180
|
+
case "behind":
|
|
2181
|
+
n = "float", r = "none", i = "behind";
|
|
2182
|
+
break;
|
|
2183
|
+
case "inFront":
|
|
2184
|
+
n = "float", r = "none", i = "inFront";
|
|
2185
|
+
break;
|
|
2186
|
+
default:
|
|
2187
|
+
n = "inline", i = "inline";
|
|
2188
|
+
break;
|
|
2189
|
+
}
|
|
2190
|
+
let a = e.state.tr.setNodeMarkup(s.pmPos, void 0, {
|
|
2191
|
+
...t.attrs,
|
|
2192
|
+
alt: l.value,
|
|
2193
|
+
width: g.value,
|
|
2194
|
+
height: w.value,
|
|
2195
|
+
borderWidth: d.value || void 0,
|
|
2196
|
+
borderStyle: d.value > 0 ? f.value : void 0,
|
|
2197
|
+
borderColor: d.value > 0 ? m.value : void 0,
|
|
2198
|
+
displayMode: n,
|
|
2199
|
+
cssFloat: r,
|
|
2200
|
+
wrapType: i
|
|
2201
|
+
});
|
|
2202
|
+
e.dispatch(a);
|
|
2203
|
+
} catch {}
|
|
2204
|
+
A();
|
|
2205
|
+
}
|
|
2206
|
+
}
|
|
2207
|
+
return (t, s) => e.isOpen ? (p(), i("div", {
|
|
2208
|
+
key: 0,
|
|
2209
|
+
class: "dialog-overlay",
|
|
2210
|
+
onMousedown: T(A, ["self"])
|
|
2211
|
+
}, [a("div", {
|
|
2212
|
+
class: "dialog",
|
|
2213
|
+
onMousedown: s[6] ||= T(() => {}, ["stop"]),
|
|
2214
|
+
onKeydown: s[7] ||= T(() => {}, ["stop"])
|
|
2215
|
+
}, [a("div", xt, [a("span", St, _(v(n)("dialogs.imageProperties.title")), 1), a("button", {
|
|
2216
|
+
class: "dialog__close",
|
|
2217
|
+
"aria-label": v(n)("common.closeDialog"),
|
|
2218
|
+
onClick: A
|
|
2219
|
+
}, " ✕ ", 8, Ct)]), a("div", wt, [
|
|
2220
|
+
a("div", Tt, [a("label", Et, _(v(n)("dialogs.imageProperties.altText")), 1), C(a("textarea", {
|
|
2221
|
+
"onUpdate:modelValue": s[0] ||= (e) => l.value = e,
|
|
2222
|
+
class: "field__textarea",
|
|
2223
|
+
placeholder: v(n)("dialogs.imageProperties.altTextPlaceholder"),
|
|
2224
|
+
rows: "2"
|
|
2225
|
+
}, null, 8, Dt), [[x, l.value]])]),
|
|
2226
|
+
a("div", Ot, [a("label", kt, _(v(n)("dialogs.imageProperties.textWrapping")), 1), C(a("select", {
|
|
2227
|
+
"onUpdate:modelValue": s[1] ||= (e) => u.value = e,
|
|
2228
|
+
class: "field__select"
|
|
2229
|
+
}, [
|
|
2230
|
+
a("option", At, _(v(n)("dialogs.imageProperties.wrapOptions.inline")), 1),
|
|
2231
|
+
a("option", jt, _(v(n)("dialogs.imageProperties.wrapOptions.wrapRight")), 1),
|
|
2232
|
+
a("option", Mt, _(v(n)("dialogs.imageProperties.wrapOptions.wrapLeft")), 1),
|
|
2233
|
+
a("option", Nt, _(v(n)("dialogs.imageProperties.wrapOptions.topAndBottom")), 1),
|
|
2234
|
+
a("option", Pt, _(v(n)("dialogs.imageProperties.wrapOptions.behind")), 1),
|
|
2235
|
+
a("option", Ft, _(v(n)("dialogs.imageProperties.wrapOptions.inFront")), 1)
|
|
2236
|
+
], 512), [[b, u.value]])]),
|
|
2237
|
+
a("div", It, [a("label", Lt, _(v(n)("dialogs.imageProperties.border")), 1), a("div", Rt, [
|
|
2238
|
+
a("label", null, [
|
|
2239
|
+
o(_(v(n)("dialogs.imageProperties.width")) + ": ", 1),
|
|
2240
|
+
C(a("input", {
|
|
2241
|
+
"onUpdate:modelValue": s[2] ||= (e) => d.value = e,
|
|
2242
|
+
type: "number",
|
|
2243
|
+
min: "0",
|
|
2244
|
+
max: "20",
|
|
2245
|
+
step: "0.5",
|
|
2246
|
+
class: "field__input--small"
|
|
2247
|
+
}, null, 512), [[
|
|
2248
|
+
x,
|
|
2249
|
+
d.value,
|
|
2250
|
+
void 0,
|
|
2251
|
+
{ number: !0 }
|
|
2252
|
+
]]),
|
|
2253
|
+
o(_(v(n)("common.px")), 1)
|
|
2254
|
+
]),
|
|
2255
|
+
a("label", null, [o(_(v(n)("dialogs.imageProperties.style")) + ": ", 1), C(a("select", {
|
|
2256
|
+
"onUpdate:modelValue": s[3] ||= (e) => f.value = e,
|
|
2257
|
+
class: "field__select--small"
|
|
2258
|
+
}, [
|
|
2259
|
+
a("option", zt, _(v(n)("dialogs.imageProperties.borderStyles.solid")), 1),
|
|
2260
|
+
a("option", Bt, _(v(n)("dialogs.imageProperties.borderStyles.dashed")), 1),
|
|
2261
|
+
a("option", Vt, _(v(n)("dialogs.imageProperties.borderStyles.dotted")), 1),
|
|
2262
|
+
a("option", Ht, _(v(n)("dialogs.imageProperties.borderStyles.double")), 1)
|
|
2263
|
+
], 512), [[b, f.value]])]),
|
|
2264
|
+
a("label", null, [o(_(v(n)("dialogs.imageProperties.color")) + ": ", 1), C(a("input", {
|
|
2265
|
+
"onUpdate:modelValue": s[4] ||= (e) => m.value = e,
|
|
2266
|
+
type: "color",
|
|
2267
|
+
class: "field__color"
|
|
2268
|
+
}, null, 512), [[x, m.value]])])
|
|
2269
|
+
])]),
|
|
2270
|
+
a("div", Ut, [
|
|
2271
|
+
a("label", Wt, _(v(n)("dialogs.imageProperties.dimensions")), 1),
|
|
2272
|
+
a("div", Gt, [a("label", null, [
|
|
2273
|
+
o(_(v(n)("dialogs.imageProperties.widthLabel")) + " ", 1),
|
|
2274
|
+
a("input", {
|
|
2275
|
+
value: g.value,
|
|
2276
|
+
type: "number",
|
|
2277
|
+
min: "1",
|
|
2278
|
+
max: "2000",
|
|
2279
|
+
class: "field__input--small",
|
|
2280
|
+
onInput: O
|
|
2281
|
+
}, null, 40, Kt),
|
|
2282
|
+
o(_(v(n)("common.px")), 1)
|
|
2283
|
+
]), a("label", null, [
|
|
2284
|
+
o(_(v(n)("dialogs.imageProperties.heightLabel")) + " ", 1),
|
|
2285
|
+
a("input", {
|
|
2286
|
+
value: w.value,
|
|
2287
|
+
type: "number",
|
|
2288
|
+
min: "1",
|
|
2289
|
+
max: "2000",
|
|
2290
|
+
class: "field__input--small",
|
|
2291
|
+
onInput: k
|
|
2292
|
+
}, null, 40, qt),
|
|
2293
|
+
o(_(v(n)("common.px")), 1)
|
|
2294
|
+
])]),
|
|
2295
|
+
a("label", Jt, [C(a("input", {
|
|
2296
|
+
"onUpdate:modelValue": s[5] ||= (e) => E.value = e,
|
|
2297
|
+
type: "checkbox"
|
|
2298
|
+
}, null, 512), [[y, E.value]]), o(" " + _(v(n)("dialogs.imageProperties.lockAspectRatio")), 1)])
|
|
2299
|
+
]),
|
|
2300
|
+
a("div", Yt, [a("button", {
|
|
2301
|
+
class: "dialog__btn",
|
|
2302
|
+
onClick: A
|
|
2303
|
+
}, _(v(n)("common.cancel")), 1), a("button", {
|
|
2304
|
+
class: "dialog__btn dialog__btn--primary",
|
|
2305
|
+
onMousedown: T(j, ["prevent"])
|
|
2306
|
+
}, _(v(n)("common.apply")), 33)])
|
|
2307
|
+
])], 32)], 32)) : r("", !0);
|
|
2308
|
+
}
|
|
2309
|
+
}), [["__scopeId", "data-v-2bc21138"]]), Zt = ["aria-label"], Qt = { class: "ps-header" }, $t = { class: "ps-body" }, en = { class: "ps-section-label" }, tn = { class: "ps-row" }, nn = { class: "ps-label" }, rn = ["value"], an = ["value"], on = {
|
|
2310
|
+
key: 0,
|
|
2311
|
+
value: -1
|
|
2312
|
+
}, sn = { class: "ps-row" }, cn = { class: "ps-label" }, ln = ["value"], un = { value: "portrait" }, dn = { value: "landscape" }, fn = { class: "ps-section-label ps-section-label--spaced" }, pn = { class: "ps-row" }, mn = { class: "ps-label" }, hn = { class: "ps-row" }, gn = { class: "ps-label" }, _n = { class: "ps-row" }, vn = { class: "ps-label" }, yn = { class: "ps-row" }, bn = { class: "ps-label" }, xn = { class: "ps-footer" }, X = 12240, Z = 15840, Q = 1440, Sn = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
2313
|
+
__name: "PageSetupDialog",
|
|
2314
|
+
props: {
|
|
2315
|
+
isOpen: { type: Boolean },
|
|
2316
|
+
sectionProperties: {}
|
|
2317
|
+
},
|
|
2318
|
+
emits: ["close", "apply"],
|
|
2319
|
+
setup(e, { emit: o }) {
|
|
2320
|
+
let { t: s } = H(), c = [
|
|
2321
|
+
{
|
|
2322
|
+
labelKey: "dialogs.pageSetup.pageSizes.letter",
|
|
2323
|
+
width: 12240,
|
|
2324
|
+
height: 15840
|
|
2325
|
+
},
|
|
2326
|
+
{
|
|
2327
|
+
labelKey: "dialogs.pageSetup.pageSizes.a4",
|
|
2328
|
+
width: 11906,
|
|
2329
|
+
height: 16838
|
|
2330
|
+
},
|
|
2331
|
+
{
|
|
2332
|
+
labelKey: "dialogs.pageSetup.pageSizes.legal",
|
|
2333
|
+
width: 12240,
|
|
2334
|
+
height: 20160
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
labelKey: "dialogs.pageSetup.pageSizes.a3",
|
|
2338
|
+
width: 16838,
|
|
2339
|
+
height: 23811
|
|
2340
|
+
},
|
|
2341
|
+
{
|
|
2342
|
+
labelKey: "dialogs.pageSetup.pageSizes.a5",
|
|
2343
|
+
width: 8391,
|
|
2344
|
+
height: 11906
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
labelKey: "dialogs.pageSetup.pageSizes.b5",
|
|
2348
|
+
width: 9979,
|
|
2349
|
+
height: 14175
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
labelKey: "dialogs.pageSetup.pageSizes.executive",
|
|
2353
|
+
width: 10440,
|
|
2354
|
+
height: 15120
|
|
2355
|
+
}
|
|
2356
|
+
], l = e, u = o, d = h(X), f = h(Z), m = h("portrait"), y = h(1), b = h(1), w = h(1), D = h(1);
|
|
2357
|
+
function O(e) {
|
|
2358
|
+
return Math.round(e / E * 100) / 100;
|
|
2359
|
+
}
|
|
2360
|
+
function k(e) {
|
|
2361
|
+
return Math.round((Number(e) || 0) * E);
|
|
2362
|
+
}
|
|
2363
|
+
let A = n(() => {
|
|
2364
|
+
let e = Math.min(d.value, f.value), t = Math.max(d.value, f.value);
|
|
2365
|
+
return c.findIndex((n) => Math.abs(n.width - e) < 20 && Math.abs(n.height - t) < 20);
|
|
2366
|
+
});
|
|
2367
|
+
S(() => l.isOpen, (e) => {
|
|
2368
|
+
if (!e) return;
|
|
2369
|
+
let t = l.sectionProperties, n = t?.pageWidth || X, r = t?.pageHeight || Z;
|
|
2370
|
+
d.value = n, f.value = r, m.value = t?.orientation || (n > r ? "landscape" : "portrait"), y.value = O(t?.marginTop ?? Q), b.value = O(t?.marginBottom ?? Q), w.value = O(t?.marginLeft ?? Q), D.value = O(t?.marginRight ?? Q);
|
|
2371
|
+
}, { immediate: !0 });
|
|
2372
|
+
function j(e) {
|
|
2373
|
+
let t = Number(e.target.value);
|
|
2374
|
+
if (t < 0) return;
|
|
2375
|
+
let n = c[t];
|
|
2376
|
+
m.value === "landscape" ? (d.value = n.height, f.value = n.width) : (d.value = n.width, f.value = n.height);
|
|
2377
|
+
}
|
|
2378
|
+
function M(e) {
|
|
2379
|
+
let t = e.target.value;
|
|
2380
|
+
if (t === m.value) return;
|
|
2381
|
+
m.value = t;
|
|
2382
|
+
let n = d.value;
|
|
2383
|
+
d.value = f.value, f.value = n;
|
|
2384
|
+
}
|
|
2385
|
+
function N() {
|
|
2386
|
+
u("close");
|
|
2387
|
+
}
|
|
2388
|
+
function P() {
|
|
2389
|
+
u("apply", {
|
|
2390
|
+
pageWidth: d.value,
|
|
2391
|
+
pageHeight: f.value,
|
|
2392
|
+
orientation: m.value,
|
|
2393
|
+
marginTop: k(y.value),
|
|
2394
|
+
marginBottom: k(b.value),
|
|
2395
|
+
marginLeft: k(w.value),
|
|
2396
|
+
marginRight: k(D.value)
|
|
2397
|
+
}), N();
|
|
2398
|
+
}
|
|
2399
|
+
function F(e) {
|
|
2400
|
+
e.key === "Escape" && N(), e.key === "Enter" && P();
|
|
2401
|
+
}
|
|
2402
|
+
return (n, o) => e.isOpen ? (p(), i("div", {
|
|
2403
|
+
key: 0,
|
|
2404
|
+
class: "ps-overlay",
|
|
2405
|
+
onMousedown: T(N, ["self"]),
|
|
2406
|
+
onKeydown: F
|
|
2407
|
+
}, [a("div", {
|
|
2408
|
+
class: "ps-dialog",
|
|
2409
|
+
role: "dialog",
|
|
2410
|
+
"aria-label": v(s)("dialogs.pageSetup.title"),
|
|
2411
|
+
onMousedown: o[4] ||= T(() => {}, ["stop"])
|
|
2412
|
+
}, [
|
|
2413
|
+
a("div", Qt, _(v(s)("dialogs.pageSetup.title")), 1),
|
|
2414
|
+
a("div", $t, [
|
|
2415
|
+
a("div", en, _(v(s)("dialogs.pageSetup.pageSize")), 1),
|
|
2416
|
+
a("div", tn, [a("label", nn, _(v(s)("dialogs.pageSetup.sizeLabel")), 1), a("select", {
|
|
2417
|
+
class: "ps-input",
|
|
2418
|
+
value: A.value,
|
|
2419
|
+
onChange: j
|
|
2420
|
+
}, [(p(), i(t, null, g(c, (e, t) => a("option", {
|
|
2421
|
+
key: e.labelKey,
|
|
2422
|
+
value: t
|
|
2423
|
+
}, _(v(s)(e.labelKey)), 9, an)), 64)), A.value < 0 ? (p(), i("option", on, _(v(s)("dialogs.pageSetup.custom")), 1)) : r("", !0)], 40, rn)]),
|
|
2424
|
+
a("div", sn, [a("label", cn, _(v(s)("dialogs.pageSetup.orientation")), 1), a("select", {
|
|
2425
|
+
class: "ps-input",
|
|
2426
|
+
value: m.value,
|
|
2427
|
+
onChange: M
|
|
2428
|
+
}, [a("option", un, _(v(s)("dialogs.pageSetup.portrait")), 1), a("option", dn, _(v(s)("dialogs.pageSetup.landscape")), 1)], 40, ln)]),
|
|
2429
|
+
a("div", fn, _(v(s)("dialogs.pageSetup.margins")), 1),
|
|
2430
|
+
a("div", pn, [
|
|
2431
|
+
a("label", mn, _(v(s)("dialogs.pageSetup.top")), 1),
|
|
2432
|
+
C(a("input", {
|
|
2433
|
+
class: "ps-input",
|
|
2434
|
+
type: "number",
|
|
2435
|
+
min: "0",
|
|
2436
|
+
max: "10",
|
|
2437
|
+
step: "0.1",
|
|
2438
|
+
"onUpdate:modelValue": o[0] ||= (e) => y.value = e
|
|
2439
|
+
}, null, 512), [[
|
|
2440
|
+
x,
|
|
2441
|
+
y.value,
|
|
2442
|
+
void 0,
|
|
2443
|
+
{ number: !0 }
|
|
2444
|
+
]]),
|
|
2445
|
+
o[5] ||= a("span", { class: "ps-unit" }, "in", -1)
|
|
2446
|
+
]),
|
|
2447
|
+
a("div", hn, [
|
|
2448
|
+
a("label", gn, _(v(s)("dialogs.pageSetup.bottom")), 1),
|
|
2449
|
+
C(a("input", {
|
|
2450
|
+
class: "ps-input",
|
|
2451
|
+
type: "number",
|
|
2452
|
+
min: "0",
|
|
2453
|
+
max: "10",
|
|
2454
|
+
step: "0.1",
|
|
2455
|
+
"onUpdate:modelValue": o[1] ||= (e) => b.value = e
|
|
2456
|
+
}, null, 512), [[
|
|
2457
|
+
x,
|
|
2458
|
+
b.value,
|
|
2459
|
+
void 0,
|
|
2460
|
+
{ number: !0 }
|
|
2461
|
+
]]),
|
|
2462
|
+
o[6] ||= a("span", { class: "ps-unit" }, "in", -1)
|
|
2463
|
+
]),
|
|
2464
|
+
a("div", _n, [
|
|
2465
|
+
a("label", vn, _(v(s)("dialogs.pageSetup.left")), 1),
|
|
2466
|
+
C(a("input", {
|
|
2467
|
+
class: "ps-input",
|
|
2468
|
+
type: "number",
|
|
2469
|
+
min: "0",
|
|
2470
|
+
max: "10",
|
|
2471
|
+
step: "0.1",
|
|
2472
|
+
"onUpdate:modelValue": o[2] ||= (e) => w.value = e
|
|
2473
|
+
}, null, 512), [[
|
|
2474
|
+
x,
|
|
2475
|
+
w.value,
|
|
2476
|
+
void 0,
|
|
2477
|
+
{ number: !0 }
|
|
2478
|
+
]]),
|
|
2479
|
+
o[7] ||= a("span", { class: "ps-unit" }, "in", -1)
|
|
2480
|
+
]),
|
|
2481
|
+
a("div", yn, [
|
|
2482
|
+
a("label", bn, _(v(s)("dialogs.pageSetup.right")), 1),
|
|
2483
|
+
C(a("input", {
|
|
2484
|
+
class: "ps-input",
|
|
2485
|
+
type: "number",
|
|
2486
|
+
min: "0",
|
|
2487
|
+
max: "10",
|
|
2488
|
+
step: "0.1",
|
|
2489
|
+
"onUpdate:modelValue": o[3] ||= (e) => D.value = e
|
|
2490
|
+
}, null, 512), [[
|
|
2491
|
+
x,
|
|
2492
|
+
D.value,
|
|
2493
|
+
void 0,
|
|
2494
|
+
{ number: !0 }
|
|
2495
|
+
]]),
|
|
2496
|
+
o[8] ||= a("span", { class: "ps-unit" }, "in", -1)
|
|
2497
|
+
])
|
|
2498
|
+
]),
|
|
2499
|
+
a("div", xn, [a("button", {
|
|
2500
|
+
type: "button",
|
|
2501
|
+
class: "ps-btn",
|
|
2502
|
+
onClick: N
|
|
2503
|
+
}, _(v(s)("common.cancel")), 1), a("button", {
|
|
2504
|
+
type: "button",
|
|
2505
|
+
class: "ps-btn ps-btn--primary",
|
|
2506
|
+
onClick: P
|
|
2507
|
+
}, _(v(s)("common.apply")), 1)])
|
|
2508
|
+
], 40, Zt)], 32)) : r("", !0);
|
|
2509
|
+
}
|
|
2510
|
+
}), [["__scopeId", "data-v-bd508fe8"]]), Cn = { class: "kbd-dialog__header" }, wn = { class: "kbd-dialog__title" }, Tn = ["aria-label"], En = {
|
|
2511
|
+
key: 0,
|
|
2512
|
+
class: "kbd-dialog__search"
|
|
2513
|
+
}, $ = ["placeholder"], Dn = { class: "kbd-dialog__body" }, On = { class: "kbd-category" }, kn = { class: "kbd-item__info" }, An = { class: "kbd-item__name" }, jn = { class: "kbd-item__desc" }, Mn = { class: "kbd-item__keys" }, Nn = { class: "kbd-badge" }, Pn = { class: "kbd-or" }, Fn = { class: "kbd-badge" }, In = {
|
|
2514
|
+
key: 0,
|
|
2515
|
+
class: "kbd-dialog__empty"
|
|
2516
|
+
}, Ln = { class: "kbd-dialog__footer" }, Rn = {
|
|
2517
|
+
key: 0,
|
|
2518
|
+
class: "kbd-badge kbd-badge--small"
|
|
2519
|
+
}, zn = /* @__PURE__ */ e(/* @__PURE__ */ c({
|
|
2520
|
+
__name: "KeyboardShortcutsDialog",
|
|
2521
|
+
props: {
|
|
2522
|
+
isOpen: { type: Boolean },
|
|
2523
|
+
showSearch: {
|
|
2524
|
+
type: Boolean,
|
|
2525
|
+
default: !0
|
|
2526
|
+
}
|
|
2527
|
+
},
|
|
2528
|
+
emits: ["close"],
|
|
2529
|
+
setup(e, { emit: o }) {
|
|
2530
|
+
let { t: s } = H(), c = e, l = o, d = h(null), f = h(""), m = typeof navigator < "u" && /Mac/.test(navigator.platform);
|
|
2531
|
+
function y(e) {
|
|
2532
|
+
return m ? e.replace(/Ctrl/g, "⌘").replace(/Alt/g, "⌥").replace(/Shift/g, "⇧") : e;
|
|
2533
|
+
}
|
|
2534
|
+
function b() {
|
|
2535
|
+
f.value = "", l("close");
|
|
2536
|
+
}
|
|
2537
|
+
S(() => c.isOpen, (e) => {
|
|
2538
|
+
e && u(() => d.value?.focus());
|
|
2539
|
+
});
|
|
2540
|
+
let w = n(() => s("dialogs.keyboardShortcuts.pressEscToClose", { key: "Esc" }).split("Esc")), E = [
|
|
2541
|
+
{
|
|
2542
|
+
id: "undo",
|
|
2543
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.undo",
|
|
2544
|
+
name: "Undo",
|
|
2545
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.undoDescription",
|
|
2546
|
+
description: "Undo last action",
|
|
2547
|
+
keys: "Ctrl+Z",
|
|
2548
|
+
category: "Editing"
|
|
2549
|
+
},
|
|
2550
|
+
{
|
|
2551
|
+
id: "redo",
|
|
2552
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.redo",
|
|
2553
|
+
name: "Redo",
|
|
2554
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.redoDescription",
|
|
2555
|
+
description: "Redo last action",
|
|
2556
|
+
keys: "Ctrl+Y",
|
|
2557
|
+
altKeys: "Ctrl+Shift+Z",
|
|
2558
|
+
category: "Editing"
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
id: "find",
|
|
2562
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.find",
|
|
2563
|
+
name: "Find",
|
|
2564
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.findDescription",
|
|
2565
|
+
description: "Open find dialog",
|
|
2566
|
+
keys: "Ctrl+F",
|
|
2567
|
+
category: "Editing"
|
|
2568
|
+
},
|
|
2569
|
+
{
|
|
2570
|
+
id: "replace",
|
|
2571
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.findReplace",
|
|
2572
|
+
name: "Find & Replace",
|
|
2573
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.findReplaceDescription",
|
|
2574
|
+
description: "Open find and replace",
|
|
2575
|
+
keys: "Ctrl+H",
|
|
2576
|
+
category: "Editing"
|
|
2577
|
+
},
|
|
2578
|
+
{
|
|
2579
|
+
id: "delete",
|
|
2580
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.delete",
|
|
2581
|
+
name: "Delete",
|
|
2582
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.deleteDescription",
|
|
2583
|
+
description: "Delete selected content",
|
|
2584
|
+
keys: "Del",
|
|
2585
|
+
altKeys: "Backspace",
|
|
2586
|
+
category: "Editing"
|
|
2587
|
+
},
|
|
2588
|
+
{
|
|
2589
|
+
id: "cut",
|
|
2590
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.cut",
|
|
2591
|
+
name: "Cut",
|
|
2592
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.cutDescription",
|
|
2593
|
+
description: "Cut selection",
|
|
2594
|
+
keys: "Ctrl+X",
|
|
2595
|
+
category: "Clipboard"
|
|
2596
|
+
},
|
|
2597
|
+
{
|
|
2598
|
+
id: "copy",
|
|
2599
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.copy",
|
|
2600
|
+
name: "Copy",
|
|
2601
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.copyDescription",
|
|
2602
|
+
description: "Copy selection",
|
|
2603
|
+
keys: "Ctrl+C",
|
|
2604
|
+
category: "Clipboard"
|
|
2605
|
+
},
|
|
2606
|
+
{
|
|
2607
|
+
id: "paste",
|
|
2608
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.paste",
|
|
2609
|
+
name: "Paste",
|
|
2610
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.pasteDescription",
|
|
2611
|
+
description: "Paste content",
|
|
2612
|
+
keys: "Ctrl+V",
|
|
2613
|
+
category: "Clipboard"
|
|
2614
|
+
},
|
|
2615
|
+
{
|
|
2616
|
+
id: "bold",
|
|
2617
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.bold",
|
|
2618
|
+
name: "Bold",
|
|
2619
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.boldDescription",
|
|
2620
|
+
description: "Toggle bold",
|
|
2621
|
+
keys: "Ctrl+B",
|
|
2622
|
+
category: "Formatting"
|
|
2623
|
+
},
|
|
2624
|
+
{
|
|
2625
|
+
id: "italic",
|
|
2626
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.italic",
|
|
2627
|
+
name: "Italic",
|
|
2628
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.italicDescription",
|
|
2629
|
+
description: "Toggle italic",
|
|
2630
|
+
keys: "Ctrl+I",
|
|
2631
|
+
category: "Formatting"
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
id: "underline",
|
|
2635
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.underline",
|
|
2636
|
+
name: "Underline",
|
|
2637
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.underlineDescription",
|
|
2638
|
+
description: "Toggle underline",
|
|
2639
|
+
keys: "Ctrl+U",
|
|
2640
|
+
category: "Formatting"
|
|
2641
|
+
},
|
|
2642
|
+
{
|
|
2643
|
+
id: "strike",
|
|
2644
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.strikethrough",
|
|
2645
|
+
name: "Strikethrough",
|
|
2646
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.strikethroughDescription",
|
|
2647
|
+
description: "Toggle strikethrough",
|
|
2648
|
+
keys: "Ctrl+Shift+X",
|
|
2649
|
+
category: "Formatting"
|
|
2650
|
+
},
|
|
2651
|
+
{
|
|
2652
|
+
id: "subscript",
|
|
2653
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.subscript",
|
|
2654
|
+
name: "Subscript",
|
|
2655
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.subscriptDescription",
|
|
2656
|
+
description: "Toggle subscript",
|
|
2657
|
+
keys: "Ctrl+=",
|
|
2658
|
+
category: "Formatting"
|
|
2659
|
+
},
|
|
2660
|
+
{
|
|
2661
|
+
id: "superscript",
|
|
2662
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.superscript",
|
|
2663
|
+
name: "Superscript",
|
|
2664
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.superscriptDescription",
|
|
2665
|
+
description: "Toggle superscript",
|
|
2666
|
+
keys: "Ctrl+Shift+=",
|
|
2667
|
+
category: "Formatting"
|
|
2668
|
+
},
|
|
2669
|
+
{
|
|
2670
|
+
id: "alignLeft",
|
|
2671
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.alignLeft",
|
|
2672
|
+
name: "Align Left",
|
|
2673
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.alignLeftDescription",
|
|
2674
|
+
description: "Left alignment",
|
|
2675
|
+
keys: "Ctrl+L",
|
|
2676
|
+
category: "Formatting"
|
|
2677
|
+
},
|
|
2678
|
+
{
|
|
2679
|
+
id: "alignCenter",
|
|
2680
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.alignCenter",
|
|
2681
|
+
name: "Align Center",
|
|
2682
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.alignCenterDescription",
|
|
2683
|
+
description: "Center alignment",
|
|
2684
|
+
keys: "Ctrl+E",
|
|
2685
|
+
category: "Formatting"
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
id: "alignRight",
|
|
2689
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.alignRight",
|
|
2690
|
+
name: "Align Right",
|
|
2691
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.alignRightDescription",
|
|
2692
|
+
description: "Right alignment",
|
|
2693
|
+
keys: "Ctrl+R",
|
|
2694
|
+
category: "Formatting"
|
|
2695
|
+
},
|
|
2696
|
+
{
|
|
2697
|
+
id: "justify",
|
|
2698
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.justify",
|
|
2699
|
+
name: "Justify",
|
|
2700
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.justifyDescription",
|
|
2701
|
+
description: "Justify alignment",
|
|
2702
|
+
keys: "Ctrl+J",
|
|
2703
|
+
category: "Formatting"
|
|
2704
|
+
},
|
|
2705
|
+
{
|
|
2706
|
+
id: "indent",
|
|
2707
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.increaseIndent",
|
|
2708
|
+
name: "Increase Indent",
|
|
2709
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.increaseIndentDescription",
|
|
2710
|
+
description: "Increase indent level",
|
|
2711
|
+
keys: "Tab",
|
|
2712
|
+
category: "Formatting"
|
|
2713
|
+
},
|
|
2714
|
+
{
|
|
2715
|
+
id: "outdent",
|
|
2716
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.decreaseIndent",
|
|
2717
|
+
name: "Decrease Indent",
|
|
2718
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.decreaseIndentDescription",
|
|
2719
|
+
description: "Decrease indent level",
|
|
2720
|
+
keys: "Shift+Tab",
|
|
2721
|
+
category: "Formatting"
|
|
2722
|
+
},
|
|
2723
|
+
{
|
|
2724
|
+
id: "link",
|
|
2725
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.insertLink",
|
|
2726
|
+
name: "Insert Link",
|
|
2727
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.insertLinkDescription",
|
|
2728
|
+
description: "Insert or edit hyperlink",
|
|
2729
|
+
keys: "Ctrl+K",
|
|
2730
|
+
category: "Formatting"
|
|
2731
|
+
},
|
|
2732
|
+
{
|
|
2733
|
+
id: "selectAll",
|
|
2734
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.selectAll",
|
|
2735
|
+
name: "Select All",
|
|
2736
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.selectAllDescription",
|
|
2737
|
+
description: "Select all content",
|
|
2738
|
+
keys: "Ctrl+A",
|
|
2739
|
+
category: "Selection"
|
|
2740
|
+
},
|
|
2741
|
+
{
|
|
2742
|
+
id: "selectWord",
|
|
2743
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.selectWord",
|
|
2744
|
+
name: "Select Word",
|
|
2745
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.selectWordDescription",
|
|
2746
|
+
description: "Select current word",
|
|
2747
|
+
keys: "Double-click",
|
|
2748
|
+
category: "Selection"
|
|
2749
|
+
},
|
|
2750
|
+
{
|
|
2751
|
+
id: "selectPara",
|
|
2752
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.selectParagraph",
|
|
2753
|
+
name: "Select Paragraph",
|
|
2754
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.selectParagraphDescription",
|
|
2755
|
+
description: "Select current paragraph",
|
|
2756
|
+
keys: "Triple-click",
|
|
2757
|
+
category: "Selection"
|
|
2758
|
+
},
|
|
2759
|
+
{
|
|
2760
|
+
id: "moveWord",
|
|
2761
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.moveByWord",
|
|
2762
|
+
name: "Move by Word",
|
|
2763
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.moveByWordDescription",
|
|
2764
|
+
description: "Jump to next/previous word",
|
|
2765
|
+
keys: "Ctrl+Arrow",
|
|
2766
|
+
category: "Navigation"
|
|
2767
|
+
},
|
|
2768
|
+
{
|
|
2769
|
+
id: "lineStart",
|
|
2770
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.moveToLineStart",
|
|
2771
|
+
name: "Line Start",
|
|
2772
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.moveToLineStartDescription",
|
|
2773
|
+
description: "Move to start of line",
|
|
2774
|
+
keys: "Home",
|
|
2775
|
+
category: "Navigation"
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
id: "lineEnd",
|
|
2779
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.moveToLineEnd",
|
|
2780
|
+
name: "Line End",
|
|
2781
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.moveToLineEndDescription",
|
|
2782
|
+
description: "Move to end of line",
|
|
2783
|
+
keys: "End",
|
|
2784
|
+
category: "Navigation"
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
id: "docStart",
|
|
2788
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.moveToDocumentStart",
|
|
2789
|
+
name: "Document Start",
|
|
2790
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.moveToDocumentStartDescription",
|
|
2791
|
+
description: "Move to start of document",
|
|
2792
|
+
keys: "Ctrl+Home",
|
|
2793
|
+
category: "Navigation"
|
|
2794
|
+
},
|
|
2795
|
+
{
|
|
2796
|
+
id: "docEnd",
|
|
2797
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.moveToDocumentEnd",
|
|
2798
|
+
name: "Document End",
|
|
2799
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.moveToDocumentEndDescription",
|
|
2800
|
+
description: "Move to end of document",
|
|
2801
|
+
keys: "Ctrl+End",
|
|
2802
|
+
category: "Navigation"
|
|
2803
|
+
},
|
|
2804
|
+
{
|
|
2805
|
+
id: "zoomIn",
|
|
2806
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.zoomIn",
|
|
2807
|
+
name: "Zoom In",
|
|
2808
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.zoomInDescription",
|
|
2809
|
+
description: "Increase zoom level",
|
|
2810
|
+
keys: "Ctrl++",
|
|
2811
|
+
altKeys: "Ctrl+=",
|
|
2812
|
+
category: "View"
|
|
2813
|
+
},
|
|
2814
|
+
{
|
|
2815
|
+
id: "zoomOut",
|
|
2816
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.zoomOut",
|
|
2817
|
+
name: "Zoom Out",
|
|
2818
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.zoomOutDescription",
|
|
2819
|
+
description: "Decrease zoom level",
|
|
2820
|
+
keys: "Ctrl+-",
|
|
2821
|
+
category: "View"
|
|
2822
|
+
},
|
|
2823
|
+
{
|
|
2824
|
+
id: "zoomReset",
|
|
2825
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.resetZoom",
|
|
2826
|
+
name: "Reset Zoom",
|
|
2827
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.resetZoomDescription",
|
|
2828
|
+
description: "Reset to 100% zoom",
|
|
2829
|
+
keys: "Ctrl+0",
|
|
2830
|
+
category: "View"
|
|
2831
|
+
},
|
|
2832
|
+
{
|
|
2833
|
+
id: "shortcuts",
|
|
2834
|
+
nameKey: "dialogs.keyboardShortcuts.shortcuts.keyboardShortcuts",
|
|
2835
|
+
name: "Keyboard Shortcuts",
|
|
2836
|
+
descriptionKey: "dialogs.keyboardShortcuts.shortcuts.keyboardShortcutsDescription",
|
|
2837
|
+
description: "Show this dialog",
|
|
2838
|
+
keys: "Ctrl+/",
|
|
2839
|
+
altKeys: "F1",
|
|
2840
|
+
category: "View"
|
|
2841
|
+
}
|
|
2842
|
+
], D = {
|
|
2843
|
+
Editing: "dialogs.keyboardShortcuts.categories.editing",
|
|
2844
|
+
Clipboard: "dialogs.keyboardShortcuts.categories.clipboard",
|
|
2845
|
+
Formatting: "dialogs.keyboardShortcuts.categories.formatting",
|
|
2846
|
+
Selection: "dialogs.keyboardShortcuts.categories.selection",
|
|
2847
|
+
Navigation: "dialogs.keyboardShortcuts.categories.navigation",
|
|
2848
|
+
View: "dialogs.keyboardShortcuts.categories.view"
|
|
2849
|
+
}, O = [
|
|
2850
|
+
"Editing",
|
|
2851
|
+
"Clipboard",
|
|
2852
|
+
"Formatting",
|
|
2853
|
+
"Selection",
|
|
2854
|
+
"Navigation",
|
|
2855
|
+
"View"
|
|
2856
|
+
], k = n(() => {
|
|
2857
|
+
let e = f.value.toLowerCase().trim(), t = [];
|
|
2858
|
+
for (let n of O) {
|
|
2859
|
+
let r = E.filter((e) => e.category === n);
|
|
2860
|
+
e && (r = r.filter((t) => {
|
|
2861
|
+
let n = t.nameKey ? s(t.nameKey) : t.name, r = t.descriptionKey ? s(t.descriptionKey) : t.description;
|
|
2862
|
+
return n.toLowerCase().includes(e) || r.toLowerCase().includes(e) || t.keys.toLowerCase().includes(e) || t.altKeys != null && t.altKeys.toLowerCase().includes(e);
|
|
2863
|
+
})), r.length > 0 && t.push({
|
|
2864
|
+
name: n,
|
|
2865
|
+
labelKey: D[n],
|
|
2866
|
+
shortcuts: r
|
|
2867
|
+
});
|
|
2868
|
+
}
|
|
2869
|
+
return t;
|
|
2870
|
+
});
|
|
2871
|
+
return (n, o) => e.isOpen ? (p(), i("div", {
|
|
2872
|
+
key: 0,
|
|
2873
|
+
class: "kbd-overlay",
|
|
2874
|
+
onMousedown: T(b, ["self"])
|
|
2875
|
+
}, [a("div", {
|
|
2876
|
+
class: "kbd-dialog",
|
|
2877
|
+
onMousedown: o[1] ||= T(() => {}, ["stop"]),
|
|
2878
|
+
onKeydown: o[2] ||= T(() => {}, ["stop"])
|
|
2879
|
+
}, [
|
|
2880
|
+
a("div", Cn, [a("span", wn, _(v(s)("dialogs.keyboardShortcuts.ariaLabel")), 1), a("button", {
|
|
2881
|
+
class: "kbd-dialog__close",
|
|
2882
|
+
"aria-label": v(s)("common.closeDialog"),
|
|
2883
|
+
onClick: b
|
|
2884
|
+
}, " ✕ ", 8, Tn)]),
|
|
2885
|
+
e.showSearch ? (p(), i("div", En, [C(a("input", {
|
|
2886
|
+
ref_key: "searchInput",
|
|
2887
|
+
ref: d,
|
|
2888
|
+
"onUpdate:modelValue": o[0] ||= (e) => f.value = e,
|
|
2889
|
+
class: "kbd-dialog__search-input",
|
|
2890
|
+
placeholder: v(s)("dialogs.keyboardShortcuts.searchPlaceholder"),
|
|
2891
|
+
type: "text"
|
|
2892
|
+
}, null, 8, $), [[x, f.value]])])) : r("", !0),
|
|
2893
|
+
a("div", Dn, [(p(!0), i(t, null, g(k.value, (e) => (p(), i(t, { key: e.name }, [a("div", On, _(v(s)(e.labelKey).toUpperCase()), 1), (p(!0), i(t, null, g(e.shortcuts, (e) => (p(), i("div", {
|
|
2894
|
+
key: e.id,
|
|
2895
|
+
class: "kbd-item"
|
|
2896
|
+
}, [a("div", kn, [a("span", An, _(e.nameKey ? v(s)(e.nameKey) : e.name), 1), a("span", jn, _(e.descriptionKey ? v(s)(e.descriptionKey) : e.description), 1)]), a("div", Mn, [a("kbd", Nn, _(y(e.keys)), 1), e.altKeys ? (p(), i(t, { key: 0 }, [a("span", Pn, _(v(s)("dialogs.keyboardShortcuts.or")), 1), a("kbd", Fn, _(y(e.altKeys)), 1)], 64)) : r("", !0)])]))), 128))], 64))), 128)), k.value.length === 0 ? (p(), i("div", In, _(v(s)("dialogs.keyboardShortcuts.noResults", { query: f.value })), 1)) : r("", !0)]),
|
|
2897
|
+
a("div", Ln, [(p(!0), i(t, null, g(w.value, (e, n) => (p(), i(t, { key: n }, [a("span", null, _(e), 1), n < w.value.length - 1 ? (p(), i("kbd", Rn, "Esc")) : r("", !0)], 64))), 128))])
|
|
2898
|
+
], 32)], 32)) : r("", !0);
|
|
2899
|
+
}
|
|
2900
|
+
}), [["__scopeId", "data-v-77199050"]]);
|
|
2901
|
+
//#endregion
|
|
2902
|
+
export { tt as a, te as c, H as d, M as f, bt as i, ne as l, Sn as n, Oe as o, j as p, Xt as r, de as s, zn as t, ee as u };
|