@harbour-enterprises/superdoc 0.12.30 → 0.12.31-next.1

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.
Files changed (54) hide show
  1. package/dist/chunks/{super-editor.es-J7K_8fA3.es.js → super-editor.es-Bt5pMkY-.es.js} +500 -236
  2. package/dist/chunks/{super-editor.es-0mAzj58N.cjs → super-editor.es-CzfjXQ8V.cjs} +499 -235
  3. package/dist/composables/use-high-contrast-mode.d.ts +5 -0
  4. package/dist/composables/use-high-contrast-mode.d.ts.map +1 -0
  5. package/dist/core/SuperDoc.d.ts +7 -0
  6. package/dist/core/SuperDoc.d.ts.map +1 -1
  7. package/dist/core/create-app.d.ts.map +1 -1
  8. package/dist/style.css +299 -245
  9. package/dist/super-editor/ai-writer.es.js +2 -2
  10. package/dist/super-editor/chunks/{converter-BSr2Ue72.js → converter-LyqpytFD.js} +2 -2
  11. package/dist/super-editor/chunks/{docx-zipper-BCUCSdEs.js → docx-zipper-CSx2w--M.js} +1 -1
  12. package/dist/super-editor/chunks/{editor-DOwVVn_i.js → editor-czvDp00c.js} +96 -35
  13. package/dist/super-editor/chunks/{toolbar-hUPYR8un.js → toolbar-BnvzLMKn.js} +80 -36
  14. package/dist/super-editor/components/toolbar/defaultItems.d.ts.map +1 -1
  15. package/dist/super-editor/composables/use-high-contrast-mode.d.ts +5 -0
  16. package/dist/super-editor/composables/use-high-contrast-mode.d.ts.map +1 -0
  17. package/dist/super-editor/converter.es.js +1 -1
  18. package/dist/super-editor/core/Editor.d.ts +1 -0
  19. package/dist/super-editor/core/Editor.d.ts.map +1 -1
  20. package/dist/super-editor/docx-zipper.es.js +2 -2
  21. package/dist/super-editor/editor.es.js +3 -3
  22. package/dist/super-editor/extensions/ai/ai-nodes.d.ts.map +1 -1
  23. package/dist/super-editor/extensions/bookmarks/bookmarks.d.ts.map +1 -1
  24. package/dist/super-editor/extensions/bullet-list/bullet-list.d.ts.map +1 -1
  25. package/dist/super-editor/extensions/comment/comment.d.ts.map +1 -1
  26. package/dist/super-editor/extensions/document/document.d.ts.map +1 -1
  27. package/dist/super-editor/extensions/field-annotation/field-annotation.d.ts.map +1 -1
  28. package/dist/super-editor/extensions/heading/heading.d.ts.map +1 -1
  29. package/dist/super-editor/extensions/image/image.d.ts.map +1 -1
  30. package/dist/super-editor/extensions/line-break/line-break.d.ts.map +1 -1
  31. package/dist/super-editor/extensions/list-item/list-item.d.ts.map +1 -1
  32. package/dist/super-editor/extensions/mention/mention.d.ts.map +1 -1
  33. package/dist/super-editor/extensions/ordered-list/ordered-list.d.ts.map +1 -1
  34. package/dist/super-editor/extensions/page-number/page-number.d.ts.map +1 -1
  35. package/dist/super-editor/extensions/pagination/pagination-helpers.d.ts.map +1 -1
  36. package/dist/super-editor/extensions/run-item/run-item.d.ts.map +1 -1
  37. package/dist/super-editor/extensions/shape-container/shape-container.d.ts.map +1 -1
  38. package/dist/super-editor/extensions/shape-textbox/shape-textbox.d.ts.map +1 -1
  39. package/dist/super-editor/extensions/structured-content/structured-content.d.ts.map +1 -1
  40. package/dist/super-editor/extensions/table/table.d.ts.map +1 -1
  41. package/dist/super-editor/extensions/table-cell/table-cell.d.ts.map +1 -1
  42. package/dist/super-editor/extensions/table-header/table-header.d.ts.map +1 -1
  43. package/dist/super-editor/extensions/table-row/table-row.d.ts.map +1 -1
  44. package/dist/super-editor/file-zipper.es.js +1 -1
  45. package/dist/super-editor/style.css +243 -196
  46. package/dist/super-editor/super-editor.es.js +334 -174
  47. package/dist/super-editor/toolbar.es.js +2 -2
  48. package/dist/super-editor.cjs +1 -1
  49. package/dist/super-editor.es.js +1 -1
  50. package/dist/superdoc.cjs +34 -9
  51. package/dist/superdoc.es.js +35 -10
  52. package/dist/superdoc.umd.js +536 -247
  53. package/dist/superdoc.umd.js.map +1 -1
  54. package/package.json +2 -1
@@ -23307,7 +23307,7 @@ const _SuperConverter = class _SuperConverter2 {
23307
23307
  return;
23308
23308
  }
23309
23309
  }
23310
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.30") {
23310
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.1") {
23311
23311
  const customLocation = "docProps/custom.xml";
23312
23312
  if (!docx[customLocation]) {
23313
23313
  docx[customLocation] = generateCustomXml();
@@ -23773,7 +23773,7 @@ function storeSuperdocVersion(docx) {
23773
23773
  function generateCustomXml() {
23774
23774
  return DEFAULT_CUSTOM_XML;
23775
23775
  }
23776
- function generateSuperdocVersion(pid = 2, version2 = "0.12.30") {
23776
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.1") {
23777
23777
  return {
23778
23778
  type: "element",
23779
23779
  name: "property",
@@ -39118,6 +39118,9 @@ const createHeaderFooterEditor = ({
39118
39118
  pm.style.minHeight = "100%";
39119
39119
  pm.style.outline = "none";
39120
39120
  pm.style.border = "none";
39121
+ pm.setAttribute("role", "textbox");
39122
+ pm.setAttribute("aria-multiline", true);
39123
+ pm.setAttribute("aria-label", `${type2} content area. Double click to start typing.`);
39121
39124
  return headerFooterEditor;
39122
39125
  };
39123
39126
  const broadcastEditorEvents = (editor, sectionEditor) => {
@@ -39139,13 +39142,16 @@ const broadcastEditorEvents = (editor, sectionEditor) => {
39139
39142
  const toggleHeaderFooterEditMode = (editor, focusedSectionEditor, isEditMode) => {
39140
39143
  editor.converter.headerEditors.forEach((item) => {
39141
39144
  item.editor.setEditable(isEditMode, false);
39145
+ item.editor.view.dom.setAttribute("aria-readonly", !isEditMode);
39142
39146
  });
39143
39147
  editor.converter.footerEditors.forEach((item) => {
39144
39148
  item.editor.setEditable(isEditMode, false);
39149
+ item.editor.view.dom.setAttribute("aria-readonly", !isEditMode);
39145
39150
  });
39146
39151
  if (isEditMode) {
39147
39152
  const pm = document.querySelector(".ProseMirror");
39148
39153
  pm.classList.add("header-footer-edit");
39154
+ pm.setAttribute("aria-readonly", true);
39149
39155
  }
39150
39156
  if (focusedSectionEditor) {
39151
39157
  focusedSectionEditor.view.focus();
@@ -40333,6 +40339,16 @@ const generateCollaborationData = (editor) => {
40333
40339
  initializeMetaMap(ydoc, editor);
40334
40340
  return Y.encodeStateAsUpdate(ydoc);
40335
40341
  };
40342
+ const isHighContrastMode = vue.ref(false);
40343
+ function useHighContrastMode() {
40344
+ const setHighContrastMode = (value) => {
40345
+ isHighContrastMode.value = value;
40346
+ };
40347
+ return {
40348
+ isHighContrastMode,
40349
+ setHighContrastMode
40350
+ };
40351
+ }
40336
40352
  const _Editor = class _Editor2 extends EventEmitter$1 {
40337
40353
  /**
40338
40354
  * Create a new Editor instance
@@ -40425,6 +40441,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
40425
40441
  }
40426
40442
  };
40427
40443
  let initMode = modes[this.options.mode] ?? modes.default;
40444
+ const { setHighContrastMode } = useHighContrastMode();
40445
+ this.setHighContrastMode = setHighContrastMode;
40428
40446
  initMode();
40429
40447
  }
40430
40448
  /**
@@ -40721,6 +40739,10 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
40721
40739
  if (!proseMirror || !pageSize || !pageMargins) {
40722
40740
  return;
40723
40741
  }
40742
+ proseMirror.setAttribute("role", "document");
40743
+ proseMirror.setAttribute("aria-multiline", true);
40744
+ proseMirror.setAttribute("aria-label", "Main content area, start typing to enter text.");
40745
+ proseMirror.setAttribute("aria-description", "");
40724
40746
  element.style.width = pageSize.width + "in";
40725
40747
  element.style.minWidth = pageSize.width + "in";
40726
40748
  element.style.minHeight = pageSize.height + "in";
@@ -40972,7 +40994,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
40972
40994
  * @returns {Object | void} Migration results
40973
40995
  */
40974
40996
  processCollaborationMigrations() {
40975
- console.debug("[checkVersionMigrations] Current editor version", "0.12.30");
40997
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.1");
40976
40998
  if (!this.options.ydoc) return;
40977
40999
  const metaMap = this.options.ydoc.getMap("meta");
40978
41000
  let docVersion = metaMap.get("version");
@@ -41336,6 +41358,7 @@ createView_fn = function() {
41336
41358
  toggleHeaderFooterEditMode(this, null, false);
41337
41359
  const pm = document.querySelector(".ProseMirror");
41338
41360
  pm.classList.remove("header-footer-edit");
41361
+ pm.setAttribute("aria-readonly", false);
41339
41362
  }
41340
41363
  }
41341
41364
  });
@@ -42308,7 +42331,8 @@ const AiLoaderNode = Node$1.create({
42308
42331
  return {
42309
42332
  htmlAttributes: {
42310
42333
  class: "sd-ai-loader",
42311
- contentEditable: "false"
42334
+ contentEditable: "false",
42335
+ "aria-label": "AI loader node"
42312
42336
  }
42313
42337
  };
42314
42338
  },
@@ -42504,7 +42528,8 @@ const Document = Node$1.create({
42504
42528
  addAttributes() {
42505
42529
  return {
42506
42530
  attributes: {
42507
- rendered: false
42531
+ rendered: false,
42532
+ "aria-label": "Document node"
42508
42533
  }
42509
42534
  };
42510
42535
  }
@@ -42528,7 +42553,8 @@ const RunItem = Node$1.create({
42528
42553
  addAttributes() {
42529
42554
  return {
42530
42555
  attributes: {
42531
- rendered: false
42556
+ rendered: false,
42557
+ "aria-label": "Run node"
42532
42558
  }
42533
42559
  };
42534
42560
  }
@@ -42581,7 +42607,9 @@ const BulletList = Node$1.create({
42581
42607
  addOptions() {
42582
42608
  return {
42583
42609
  itemTypeName: "listItem",
42584
- htmlAttributes: {},
42610
+ htmlAttributes: {
42611
+ "aria-label": "Bullet list node"
42612
+ },
42585
42613
  keepMarks: true,
42586
42614
  keepAttributes: false
42587
42615
  };
@@ -42872,7 +42900,9 @@ const OrderedList = Node$1.create({
42872
42900
  addOptions() {
42873
42901
  return {
42874
42902
  itemTypeName: "listItem",
42875
- htmlAttributes: {},
42903
+ htmlAttributes: {
42904
+ "aria-label": "Ordered list node"
42905
+ },
42876
42906
  keepMarks: true,
42877
42907
  keepAttributes: false,
42878
42908
  listStyleTypes: ["decimal", "lowerAlpha", "lowerRoman"]
@@ -43272,7 +43302,9 @@ const ListItem = Node$1.create({
43272
43302
  // to run listItem commands first
43273
43303
  addOptions() {
43274
43304
  return {
43275
- htmlAttributes: {},
43305
+ htmlAttributes: {
43306
+ "aria-label": "List item node"
43307
+ },
43276
43308
  bulletListTypeName: "bulletList",
43277
43309
  orderedListTypeName: "orderedList"
43278
43310
  };
@@ -43794,7 +43826,9 @@ const Heading = Node$1.create({
43794
43826
  addOptions() {
43795
43827
  return {
43796
43828
  levels: [1, 2, 3, 4, 5, 6],
43797
- htmlAttributes: {}
43829
+ htmlAttributes: {
43830
+ "aria-label": "Heading node"
43831
+ }
43798
43832
  };
43799
43833
  },
43800
43834
  addAttributes() {
@@ -43855,7 +43889,8 @@ const CommentRangeStart = Node$1.create({
43855
43889
  addOptions() {
43856
43890
  return {
43857
43891
  htmlAttributes: {
43858
- contentEditable: "false"
43892
+ contentEditable: "false",
43893
+ "aria-label": "Comment range start node"
43859
43894
  }
43860
43895
  };
43861
43896
  },
@@ -43884,7 +43919,8 @@ const CommentRangeEnd = Node$1.create({
43884
43919
  addOptions() {
43885
43920
  return {
43886
43921
  htmlAttributes: {
43887
- contentEditable: "false"
43922
+ contentEditable: "false",
43923
+ "aria-label": "Comment range end node"
43888
43924
  }
43889
43925
  };
43890
43926
  },
@@ -43912,7 +43948,8 @@ const CommentReference = Node$1.create({
43912
43948
  addOptions() {
43913
43949
  return {
43914
43950
  htmlAttributes: {
43915
- contentEditable: "false"
43951
+ contentEditable: "false",
43952
+ "aria-label": "Comment reference node"
43916
43953
  }
43917
43954
  };
43918
43955
  },
@@ -44087,7 +44124,9 @@ const HardBreak = Node$1.create({
44087
44124
  return {
44088
44125
  htmlAttributes: {
44089
44126
  contentEditable: "false",
44090
- lineBreakType: "page"
44127
+ lineBreakType: "page",
44128
+ "aria-hidden": "true",
44129
+ "aria-label": "Hard break node"
44091
44130
  }
44092
44131
  };
44093
44132
  },
@@ -46445,7 +46484,9 @@ const Table = Node$1.create({
46445
46484
  tableRole: "table",
46446
46485
  addOptions() {
46447
46486
  return {
46448
- htmlAttributes: {},
46487
+ htmlAttributes: {
46488
+ "aria-label": "Table node"
46489
+ },
46449
46490
  resizable: true,
46450
46491
  handleWidth: 5,
46451
46492
  cellMinWidth: 25,
@@ -46695,7 +46736,9 @@ const TableHeader = Node$1.create({
46695
46736
  isolating: true,
46696
46737
  addOptions() {
46697
46738
  return {
46698
- htmlAttributes: {}
46739
+ htmlAttributes: {
46740
+ "aria-label": "Table head node"
46741
+ }
46699
46742
  };
46700
46743
  },
46701
46744
  addAttributes() {
@@ -46735,7 +46778,9 @@ const TableRow = Node$1.create({
46735
46778
  tableRole: "row",
46736
46779
  addOptions() {
46737
46780
  return {
46738
- htmlAttributes: {}
46781
+ htmlAttributes: {
46782
+ "aria-label": "Table row node"
46783
+ }
46739
46784
  };
46740
46785
  },
46741
46786
  addAttributes() {
@@ -46763,7 +46808,9 @@ const TableCell = Node$1.create({
46763
46808
  isolating: true,
46764
46809
  addOptions() {
46765
46810
  return {
46766
- htmlAttributes: {}
46811
+ htmlAttributes: {
46812
+ "aria-label": "Table cell node"
46813
+ }
46767
46814
  };
46768
46815
  },
46769
46816
  addAttributes() {
@@ -47444,7 +47491,8 @@ const FieldAnnotation = Node$1.create({
47444
47491
  addOptions() {
47445
47492
  return {
47446
47493
  htmlAttributes: {
47447
- class: annotationClass
47494
+ class: annotationClass,
47495
+ "aria-label": "Field annotation node"
47448
47496
  },
47449
47497
  annotationClass,
47450
47498
  annotationContentClass,
@@ -48386,7 +48434,8 @@ const Image = Node$1.create({
48386
48434
  return {
48387
48435
  allowBase64: true,
48388
48436
  htmlAttributes: {
48389
- style: "display: inline-block;"
48437
+ style: "display: inline-block;",
48438
+ "aria-label": "Image node"
48390
48439
  }
48391
48440
  };
48392
48441
  },
@@ -48502,7 +48551,11 @@ const BookmarkStart = Node$1.create({
48502
48551
  inline: true,
48503
48552
  addOptions() {
48504
48553
  return {
48505
- htmlAttributes: { style: "height: 0; width: 0;" }
48554
+ htmlAttributes: {
48555
+ style: "height: 0; width: 0;",
48556
+ "aria-label": "Bookmark start node",
48557
+ role: "link"
48558
+ }
48506
48559
  };
48507
48560
  },
48508
48561
  addAttributes() {
@@ -48536,7 +48589,8 @@ const Mention = Node$1.create({
48536
48589
  addOptions() {
48537
48590
  return {
48538
48591
  htmlAttributes: {
48539
- class: "sd-editor-mention"
48592
+ class: "sd-editor-mention",
48593
+ "aria-label": "Mention node"
48540
48594
  }
48541
48595
  };
48542
48596
  },
@@ -48574,7 +48628,8 @@ const PageNumber = Node$1.create({
48574
48628
  addOptions() {
48575
48629
  return {
48576
48630
  htmlAttributes: {
48577
- "data-id": "auto-page-number"
48631
+ "data-id": "auto-page-number",
48632
+ "aria-label": "Page number node"
48578
48633
  }
48579
48634
  };
48580
48635
  },
@@ -48593,7 +48648,8 @@ const TotalPageCount = Node$1.create({
48593
48648
  addOptions() {
48594
48649
  return {
48595
48650
  htmlAttributes: {
48596
- "data-id": "auto-total-pages"
48651
+ "data-id": "auto-total-pages",
48652
+ "aria-label": "Total page count node"
48597
48653
  }
48598
48654
  };
48599
48655
  },
@@ -48612,7 +48668,8 @@ const ShapeContainer = Node$1.create({
48612
48668
  addOptions() {
48613
48669
  return {
48614
48670
  htmlAttributes: {
48615
- class: "sd-editor-shape-container"
48671
+ class: "sd-editor-shape-container",
48672
+ "aria-label": "Shape container node"
48616
48673
  }
48617
48674
  };
48618
48675
  },
@@ -48665,7 +48722,8 @@ const ShapeTextbox = Node$1.create({
48665
48722
  addOptions() {
48666
48723
  return {
48667
48724
  htmlAttributes: {
48668
- class: "sd-editor-shape-textbox"
48725
+ class: "sd-editor-shape-textbox",
48726
+ "aria-label": "Shape textbox node"
48669
48727
  }
48670
48728
  };
48671
48729
  },
@@ -48757,7 +48815,9 @@ const StructuredContent = Node$1.create({
48757
48815
  addOptions() {
48758
48816
  return {
48759
48817
  annotationClass: "sd-structured-content-tag",
48760
- htmlAttributes: {}
48818
+ htmlAttributes: {
48819
+ "aria-label": "Structured content node"
48820
+ }
48761
48821
  };
48762
48822
  },
48763
48823
  parseDOM() {
@@ -52217,9 +52277,9 @@ const _export_sfc = (sfc, props) => {
52217
52277
  };
52218
52278
  const _hoisted_1$e = ["onClick", "onMouseenter"];
52219
52279
  const _hoisted_2$c = { key: 0 };
52220
- const _hoisted_3$b = { key: 0 };
52280
+ const _hoisted_3$a = { key: 0 };
52221
52281
  const _hoisted_4$6 = { key: 1 };
52222
- const _hoisted_5$6 = { key: 1 };
52282
+ const _hoisted_5$5 = { key: 1 };
52223
52283
  const _sfc_main$f = {
52224
52284
  __name: "Mentions",
52225
52285
  props: {
@@ -52292,9 +52352,9 @@ const _sfc_main$f = {
52292
52352
  class: vue.normalizeClass(["user-row", { selected: activeUserIndex.value === index2 }])
52293
52353
  }, [
52294
52354
  user.name ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$c, [
52295
- user.name ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b, vue.toDisplayString(user.name), 1)) : vue.createCommentVNode("", true),
52355
+ user.name ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$a, vue.toDisplayString(user.name), 1)) : vue.createCommentVNode("", true),
52296
52356
  user.name && user.email ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$6, " (" + vue.toDisplayString(user.email) + ")", 1)) : vue.createCommentVNode("", true)
52297
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, [
52357
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
52298
52358
  vue.createBaseVNode("span", null, vue.toDisplayString(user.email), 1)
52299
52359
  ]))
52300
52360
  ], 42, _hoisted_1$e);
@@ -53605,15 +53665,16 @@ const _sfc_main$5$1 = {
53605
53665
  }
53606
53666
  };
53607
53667
  const ToolbarButtonIcon = /* @__PURE__ */ _export_sfc(_sfc_main$5$1, [["__scopeId", "data-v-6d7523ab"]]);
53608
- const _hoisted_1$3$1 = ["data-item"];
53609
- const _hoisted_2$2$1 = {
53668
+ const _hoisted_1$3$1 = ["role"];
53669
+ const _hoisted_2$2$1 = ["data-item", "aria-label"];
53670
+ const _hoisted_3$2$1 = {
53610
53671
  key: 1,
53611
53672
  class: "button-label"
53612
53673
  };
53613
- const _hoisted_3$2$1 = { key: 2 };
53614
- const _hoisted_4$5 = ["placeholder", "onKeydown", "id"];
53615
- const _hoisted_5$5 = ["placeholder", "onKeydown", "id"];
53616
- const _hoisted_6$2 = ["innerHTML"];
53674
+ const _hoisted_4$5 = { key: 2 };
53675
+ const _hoisted_5$4 = ["placeholder", "onKeydown", "id"];
53676
+ const _hoisted_6$2 = ["placeholder", "onKeydown", "id"];
53677
+ const _hoisted_7$1 = ["innerHTML"];
53617
53678
  const _sfc_main$4$1 = {
53618
53679
  __name: "ToolbarButton",
53619
53680
  props: {
@@ -53640,6 +53701,10 @@ const _sfc_main$4$1 = {
53640
53701
  defaultLabel: {
53641
53702
  type: String,
53642
53703
  default: null
53704
+ },
53705
+ isOverflowItem: {
53706
+ type: Boolean,
53707
+ default: false
53643
53708
  }
53644
53709
  },
53645
53710
  emits: ["buttonClick", "textSubmit"],
@@ -53663,6 +53728,7 @@ const _sfc_main$4$1 = {
53663
53728
  } = props.toolbarItem;
53664
53729
  const inlineTextInput = vue.ref(props.defaultLabel);
53665
53730
  const inlineInput = vue.ref(null);
53731
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
53666
53732
  const handleClick2 = () => {
53667
53733
  if (hasInlineTextInput) {
53668
53734
  inlineInput.value?.focus();
@@ -53690,12 +53756,15 @@ const _sfc_main$4$1 = {
53690
53756
  return (_ctx, _cache) => {
53691
53757
  return vue.openBlock(), vue.createElementBlock("div", {
53692
53758
  class: vue.normalizeClass(["toolbar-item", vue.unref(attributes).className]),
53693
- style: vue.normalizeStyle(getStyle.value)
53759
+ style: vue.normalizeStyle(getStyle.value),
53760
+ role: __props.isOverflowItem ? "menuitem" : ""
53694
53761
  }, [
53695
53762
  vue.createBaseVNode("div", {
53696
53763
  onClick: handleClick2,
53697
- class: vue.normalizeClass(["toolbar-button", { active: vue.unref(active), disabled: vue.unref(disabled), narrow: __props.isNarrow, wide: __props.isWide, "has-inline-text-input": vue.unref(hasInlineTextInput) }]),
53698
- "data-item": `btn-${vue.unref(name) || ""}`
53764
+ class: vue.normalizeClass(["toolbar-button", { active: vue.unref(active), disabled: vue.unref(disabled), narrow: __props.isNarrow, wide: __props.isWide, "has-inline-text-input": vue.unref(hasInlineTextInput), "high-contrast": vue.unref(isHighContrastMode2) }]),
53765
+ "data-item": `btn-${vue.unref(name) || ""}`,
53766
+ "aria-label": vue.unref(attributes).ariaLabel,
53767
+ role: "button"
53699
53768
  }, [
53700
53769
  vue.unref(icon) ? (vue.openBlock(), vue.createBlock(ToolbarButtonIcon, {
53701
53770
  key: 0,
@@ -53704,8 +53773,8 @@ const _sfc_main$4$1 = {
53704
53773
  icon: vue.unref(icon),
53705
53774
  name: vue.unref(name)
53706
53775
  }, null, 8, ["color", "icon", "name"])) : vue.createCommentVNode("", true),
53707
- vue.unref(label) && !vue.unref(hideLabel) && !vue.unref(inlineTextInputVisible) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2$1, vue.toDisplayString(vue.unref(label)), 1)) : vue.createCommentVNode("", true),
53708
- vue.unref(inlineTextInputVisible) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$2$1, [
53776
+ vue.unref(label) && !vue.unref(hideLabel) && !vue.unref(inlineTextInputVisible) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2$1, vue.toDisplayString(vue.unref(label)), 1)) : vue.createCommentVNode("", true),
53777
+ vue.unref(inlineTextInputVisible) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$5, [
53709
53778
  vue.unref(name) === "fontSize" ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
53710
53779
  key: 0,
53711
53780
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inlineTextInput.value = $event),
@@ -53713,12 +53782,12 @@ const _sfc_main$4$1 = {
53713
53782
  placeholder: vue.unref(label),
53714
53783
  onKeydown: vue.withKeys(vue.withModifiers(handleInputSubmit, ["prevent"]), ["enter"]),
53715
53784
  type: "text",
53716
- class: "button-text-input",
53785
+ class: vue.normalizeClass(["button-text-input", { "high-contrast": vue.unref(isHighContrastMode2) }]),
53717
53786
  id: "inlineTextInput-" + vue.unref(name),
53718
53787
  autoccomplete: "off",
53719
53788
  ref_key: "inlineInput",
53720
53789
  ref: inlineInput
53721
- }, null, 40, _hoisted_4$5)), [
53790
+ }, null, 42, _hoisted_5$4)), [
53722
53791
  [vue.vModelText, inlineTextInput.value]
53723
53792
  ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
53724
53793
  key: 1,
@@ -53731,7 +53800,7 @@ const _sfc_main$4$1 = {
53731
53800
  autoccomplete: "off",
53732
53801
  ref_key: "inlineInput",
53733
53802
  ref: inlineInput
53734
- }, null, 40, _hoisted_5$5)), [
53803
+ }, null, 40, _hoisted_6$2)), [
53735
53804
  [vue.vModelText, inlineTextInput.value]
53736
53805
  ])
53737
53806
  ])) : vue.createCommentVNode("", true),
@@ -53740,14 +53809,18 @@ const _sfc_main$4$1 = {
53740
53809
  class: "dropdown-caret",
53741
53810
  innerHTML: caretIcon.value,
53742
53811
  style: vue.normalizeStyle({ opacity: vue.unref(disabled) ? 0.6 : 1 })
53743
- }, null, 12, _hoisted_6$2)) : vue.createCommentVNode("", true)
53744
- ], 10, _hoisted_1$3$1)
53745
- ], 6);
53812
+ }, null, 12, _hoisted_7$1)) : vue.createCommentVNode("", true)
53813
+ ], 10, _hoisted_2$2$1)
53814
+ ], 14, _hoisted_1$3$1);
53746
53815
  };
53747
53816
  }
53748
53817
  };
53749
- const ToolbarButton = /* @__PURE__ */ _export_sfc(_sfc_main$4$1, [["__scopeId", "data-v-62bb3747"]]);
53750
- const _hoisted_1$2$1 = { class: "toolbar-separator" };
53818
+ const ToolbarButton = /* @__PURE__ */ _export_sfc(_sfc_main$4$1, [["__scopeId", "data-v-6eb57404"]]);
53819
+ const _hoisted_1$2$1 = {
53820
+ class: "toolbar-separator",
53821
+ role: "separator",
53822
+ "aria-label": "Toolbar separator"
53823
+ };
53751
53824
  const _sfc_main$3$1 = {
53752
53825
  __name: "ToolbarSeparator",
53753
53826
  props: {
@@ -53758,19 +53831,30 @@ const _sfc_main$3$1 = {
53758
53831
  },
53759
53832
  emits: ["command"],
53760
53833
  setup(__props, { emit: __emit }) {
53834
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
53835
+ const getSeparatorColor = () => {
53836
+ if (isHighContrastMode2.value) {
53837
+ return "#000";
53838
+ }
53839
+ return "#dbdbdb";
53840
+ };
53761
53841
  return (_ctx, _cache) => {
53762
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2$1, _cache[0] || (_cache[0] = [
53763
- vue.createBaseVNode("div", { class: "separator-inner" }, null, -1)
53764
- ]));
53842
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2$1, [
53843
+ vue.createBaseVNode("div", {
53844
+ class: "separator-inner",
53845
+ style: vue.normalizeStyle({ backgroundColor: getSeparatorColor() })
53846
+ }, null, 4)
53847
+ ]);
53765
53848
  };
53766
53849
  }
53767
53850
  };
53768
- const ToolbarSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$3$1, [["__scopeId", "data-v-ac2ee4f9"]]);
53851
+ const ToolbarSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$3$1, [["__scopeId", "data-v-b240fc3a"]]);
53769
53852
  const _hoisted_1$1$1 = { class: "overflow-menu" };
53770
53853
  const _hoisted_2$1$1 = { class: "overflow-menu-trigger" };
53771
53854
  const _hoisted_3$1$1 = {
53772
53855
  key: 0,
53773
- class: "overflow-menu_items"
53856
+ class: "overflow-menu_items",
53857
+ role: "group"
53774
53858
  };
53775
53859
  const _sfc_main$2$1 = {
53776
53860
  __name: "OverflowMenu",
@@ -53808,16 +53892,17 @@ const _sfc_main$2$1 = {
53808
53892
  ]),
53809
53893
  isDropdownOpened.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1$1, [
53810
53894
  vue.createVNode(ButtonGroup, {
53895
+ class: "superdoc-toolbar-overflow",
53811
53896
  "toolbar-items": __props.overflowItems,
53812
- onCommand: handleCommand,
53813
- class: "superdoc-toolbar-overflow"
53897
+ "from-overflow": "",
53898
+ onCommand: handleCommand
53814
53899
  }, null, 8, ["toolbar-items"])
53815
53900
  ])) : vue.createCommentVNode("", true)
53816
53901
  ]);
53817
53902
  };
53818
53903
  }
53819
53904
  };
53820
- const OverflowMenu = /* @__PURE__ */ _export_sfc(_sfc_main$2$1, [["__scopeId", "data-v-ca29bf1d"]]);
53905
+ const OverflowMenu = /* @__PURE__ */ _export_sfc(_sfc_main$2$1, [["__scopeId", "data-v-c637209b"]]);
53821
53906
  function plugin$1(options2) {
53822
53907
  let _bPrefix = ".";
53823
53908
  let _ePrefix = "__";
@@ -63150,7 +63235,7 @@ const NSkeleton = vue.defineComponent({
63150
63235
  });
63151
63236
  const _hoisted_1$d = { key: 0 };
63152
63237
  const _hoisted_2$b = { key: 0 };
63153
- const _hoisted_3$a = { key: 0 };
63238
+ const _hoisted_3$9 = { key: 0 };
63154
63239
  const _sfc_main$1$1 = {
63155
63240
  __name: "ButtonGroup",
63156
63241
  props: {
@@ -63165,6 +63250,10 @@ const _sfc_main$1$1 = {
63165
63250
  position: {
63166
63251
  type: String,
63167
63252
  default: "left"
63253
+ },
63254
+ fromOverflow: {
63255
+ type: Boolean,
63256
+ default: false
63168
63257
  }
63169
63258
  },
63170
63259
  emits: ["command"],
@@ -63172,6 +63261,7 @@ const _sfc_main$1$1 = {
63172
63261
  const emit = __emit;
63173
63262
  const props = __props;
63174
63263
  const currentItem = vue.ref(null);
63264
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
63175
63265
  const isMobile = window.matchMedia("(max-width: 768px)").matches;
63176
63266
  const styleMap = {
63177
63267
  left: {
@@ -63230,13 +63320,20 @@ const _sfc_main$1$1 = {
63230
63320
  };
63231
63321
  });
63232
63322
  };
63323
+ const getDropdownAttributes = (option, item) => {
63324
+ return {
63325
+ role: "menuitem",
63326
+ ariaLabel: `${item.attributes.value.ariaLabel} - ${option.label}`
63327
+ };
63328
+ };
63233
63329
  const handleClickOutside = (e) => {
63234
63330
  closeDropdowns();
63235
63331
  };
63236
63332
  return (_ctx, _cache) => {
63237
63333
  return vue.openBlock(), vue.createElementBlock("div", {
63238
63334
  style: vue.normalizeStyle(getPositionStyle.value),
63239
- class: "button-group"
63335
+ class: "button-group",
63336
+ role: "group"
63240
63337
  }, [
63241
63338
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.toolbarItems, (item) => {
63242
63339
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -63257,10 +63354,14 @@ const _sfc_main$1$1 = {
63257
63354
  show: item.expand.value,
63258
63355
  size: "medium",
63259
63356
  placement: "bottom-start",
63260
- class: "toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown",
63357
+ class: vue.normalizeClass(["toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown", { "high-contrast": vue.unref(isHighContrastMode2) }]),
63261
63358
  onSelect: (key, option) => handleSelect(item, option),
63262
63359
  onClickoutside: handleClickOutside,
63263
- style: vue.normalizeStyle(item.dropdownStyles.value)
63360
+ style: vue.normalizeStyle(item.dropdownStyles.value),
63361
+ "menu-props": () => ({
63362
+ role: "menu"
63363
+ }),
63364
+ "node-props": (option) => getDropdownAttributes(option, item)
63264
63365
  }, {
63265
63366
  default: vue.withCtx(() => [
63266
63367
  vue.createVNode(vue.unref(NTooltip), {
@@ -63284,7 +63385,7 @@ const _sfc_main$1$1 = {
63284
63385
  }, 1032, ["disabled"])
63285
63386
  ]),
63286
63387
  _: 2
63287
- }, 1032, ["options", "trigger", "show", "onSelect", "style"])) : isButton(item) ? (vue.openBlock(), vue.createBlock(vue.unref(NTooltip), {
63388
+ }, 1032, ["options", "trigger", "show", "class", "onSelect", "style", "node-props"])) : isButton(item) ? (vue.openBlock(), vue.createBlock(vue.unref(NTooltip), {
63288
63389
  key: 2,
63289
63390
  trigger: "hover",
63290
63391
  class: "sd-editor-toolbar-tooltip"
@@ -63292,14 +63393,15 @@ const _sfc_main$1$1 = {
63292
63393
  trigger: vue.withCtx(() => [
63293
63394
  vue.createVNode(ToolbarButton, {
63294
63395
  "toolbar-item": item,
63396
+ "is-overflow-item": __props.fromOverflow,
63295
63397
  onTextSubmit: ($event) => handleToolbarButtonTextSubmit(item, $event),
63296
63398
  onButtonClick: ($event) => handleToolbarButtonClick(item)
63297
- }, null, 8, ["toolbar-item", "onTextSubmit", "onButtonClick"])
63399
+ }, null, 8, ["toolbar-item", "is-overflow-item", "onTextSubmit", "onButtonClick"])
63298
63400
  ]),
63299
63401
  default: vue.withCtx(() => [
63300
63402
  item.tooltip ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$b, [
63301
63403
  vue.createTextVNode(vue.toDisplayString(item.tooltip) + " ", 1),
63302
- item.disabled.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$a, "(disabled)")) : vue.createCommentVNode("", true)
63404
+ item.disabled.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$9, "(disabled)")) : vue.createCommentVNode("", true)
63303
63405
  ])) : vue.createCommentVNode("", true)
63304
63406
  ]),
63305
63407
  _: 2
@@ -63315,7 +63417,7 @@ const _sfc_main$1$1 = {
63315
63417
  };
63316
63418
  }
63317
63419
  };
63318
- const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-7751c4e5"]]);
63420
+ const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-b09e5a20"]]);
63319
63421
  const _sfc_main$e = {
63320
63422
  __name: "Toolbar",
63321
63423
  emits: ["command", "toggle", "select"],
@@ -63360,7 +63462,9 @@ const _sfc_main$e = {
63360
63462
  return (_ctx, _cache) => {
63361
63463
  return vue.openBlock(), vue.createElementBlock("div", {
63362
63464
  class: "superdoc-toolbar",
63363
- key: vue.unref(toolbarKey)
63465
+ key: vue.unref(toolbarKey),
63466
+ role: "toolbar",
63467
+ "aria-label": "Toolbar"
63364
63468
  }, [
63365
63469
  vue.unref(showLeftSide) ? (vue.openBlock(), vue.createBlock(ButtonGroup, {
63366
63470
  key: 0,
@@ -63386,7 +63490,7 @@ const _sfc_main$e = {
63386
63490
  };
63387
63491
  }
63388
63492
  };
63389
- const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-abd0fb95"]]);
63493
+ const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-2a400574"]]);
63390
63494
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
63391
63495
  const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
63392
63496
  async function baseInsightsFetch(payload, options2 = {}) {
@@ -63623,9 +63727,9 @@ const edit = '<!-- @note: includes color gradient for inline svg AI Writer -->\n
63623
63727
  const paperPlane = '<!-- @note: includes color gradient for inline svg AI Writer -->\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->\n <defs>\n <linearGradient id="gradient" x1="125%" y1="50%" x2="-25%" y2="50%">\n <stop offset="-20%" stop-color="rgba(218, 215, 118, 0.5)" />\n <stop offset="30%" stop-color="rgb(191, 100, 100)" />\n <stop offset="60%" stop-color="rgb(77, 82, 217)" />\n <stop offset="150%" stop-color="rgb(255, 219, 102)" />\n </linearGradient>\n </defs>\n <path fill="url(#gradient)" d="M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"/>\n</svg>';
63624
63728
  const _hoisted_1$c = { class: "ai-user-input-field" };
63625
63729
  const _hoisted_2$a = ["innerHTML"];
63626
- const _hoisted_3$9 = ["placeholder"];
63730
+ const _hoisted_3$8 = ["placeholder"];
63627
63731
  const _hoisted_4$4 = { class: "ai-loader" };
63628
- const _hoisted_5$4 = ["innerHTML"];
63732
+ const _hoisted_5$3 = ["innerHTML"];
63629
63733
  const _sfc_main$d = {
63630
63734
  __name: "AIWriter",
63631
63735
  props: {
@@ -63901,7 +64005,7 @@ const _sfc_main$d = {
63901
64005
  onInput: handleInput,
63902
64006
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => promptText.value = $event),
63903
64007
  rows: "4"
63904
- }, null, 40, _hoisted_3$9), [
64008
+ }, null, 40, _hoisted_3$8), [
63905
64009
  [vue.vModelText, promptText.value]
63906
64010
  ])
63907
64011
  ]),
@@ -63911,7 +64015,7 @@ const _sfc_main$d = {
63911
64015
  class: "ai-textarea-icon ai-submit-button",
63912
64016
  onClick: vue.withModifiers(handleSubmit, ["stop"]),
63913
64017
  innerHTML: vue.unref(paperPlane)
63914
- }, null, 8, _hoisted_5$4)) : vue.createCommentVNode("", true)
64018
+ }, null, 8, _hoisted_5$3)) : vue.createCommentVNode("", true)
63915
64019
  ])
63916
64020
  ], 544);
63917
64021
  };
@@ -64246,71 +64350,80 @@ const useToolbarItem = (options2) => {
64246
64350
  onDeactivate
64247
64351
  };
64248
64352
  };
64249
- const _hoisted_1$b = { class: "alignment-buttons" };
64353
+ const _hoisted_1$b = ["innerHTML"];
64250
64354
  const _hoisted_2$9 = ["innerHTML"];
64251
- const _hoisted_3$8 = ["innerHTML"];
64355
+ const _hoisted_3$7 = ["innerHTML"];
64252
64356
  const _hoisted_4$3 = ["innerHTML"];
64253
- const _hoisted_5$3 = ["innerHTML"];
64254
64357
  const _sfc_main$c = {
64255
64358
  __name: "AlignmentButtons",
64256
64359
  emits: ["select"],
64257
64360
  setup(__props, { emit: __emit }) {
64361
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
64258
64362
  const emit = __emit;
64259
64363
  const select = (alignment2) => {
64260
64364
  emit("select", alignment2);
64261
64365
  };
64262
64366
  return (_ctx, _cache) => {
64263
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
64367
+ return vue.openBlock(), vue.createElementBlock("div", {
64368
+ class: vue.normalizeClass(["alignment-buttons", { "high-contrast": vue.unref(isHighContrastMode2) }])
64369
+ }, [
64264
64370
  vue.createBaseVNode("div", {
64265
64371
  class: "button-icon",
64266
64372
  onClick: _cache[0] || (_cache[0] = ($event) => select("left")),
64267
64373
  innerHTML: vue.unref(toolbarIcons).alignLeft,
64268
- "data-item": "btn-textAlign-option"
64269
- }, null, 8, _hoisted_2$9),
64374
+ "data-item": "btn-textAlign-option",
64375
+ role: "menuitem",
64376
+ "aria-label": "Align left"
64377
+ }, null, 8, _hoisted_1$b),
64270
64378
  vue.createBaseVNode("div", {
64271
64379
  class: "button-icon",
64272
64380
  onClick: _cache[1] || (_cache[1] = ($event) => select("center")),
64273
64381
  innerHTML: vue.unref(toolbarIcons).alignCenter,
64274
- "data-item": "btn-textAlign-option"
64275
- }, null, 8, _hoisted_3$8),
64382
+ "data-item": "btn-textAlign-option",
64383
+ role: "menuitem",
64384
+ "aria-label": "Align center"
64385
+ }, null, 8, _hoisted_2$9),
64276
64386
  vue.createBaseVNode("div", {
64277
64387
  class: "button-icon",
64278
64388
  onClick: _cache[2] || (_cache[2] = ($event) => select("right")),
64279
64389
  innerHTML: vue.unref(toolbarIcons).alignRight,
64280
- "data-item": "btn-textAlign-option"
64281
- }, null, 8, _hoisted_4$3),
64390
+ "data-item": "btn-textAlign-option",
64391
+ role: "menuitem",
64392
+ "aria-label": "Align right"
64393
+ }, null, 8, _hoisted_3$7),
64282
64394
  vue.createBaseVNode("div", {
64283
64395
  class: "button-icon",
64284
64396
  onClick: _cache[3] || (_cache[3] = ($event) => select("justify")),
64285
64397
  innerHTML: vue.unref(toolbarIcons).alignJustify,
64286
- "data-item": "btn-textAlign-option"
64287
- }, null, 8, _hoisted_5$3)
64288
- ]);
64398
+ "data-item": "btn-textAlign-option",
64399
+ role: "menuitem",
64400
+ "aria-label": "Justify"
64401
+ }, null, 8, _hoisted_4$3)
64402
+ ], 2);
64289
64403
  };
64290
64404
  }
64291
64405
  };
64292
- const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-932a4937"]]);
64293
- const _hoisted_1$a = { class: "link-input-ctn" };
64294
- const _hoisted_2$8 = {
64406
+ const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-58d8a9bb"]]);
64407
+ const _hoisted_1$a = {
64295
64408
  key: 0,
64296
64409
  class: "link-title"
64297
64410
  };
64298
- const _hoisted_3$7 = {
64411
+ const _hoisted_2$8 = {
64299
64412
  key: 1,
64300
64413
  class: "link-title"
64301
64414
  };
64302
- const _hoisted_4$2 = {
64415
+ const _hoisted_3$6 = {
64303
64416
  key: 2,
64304
64417
  class: "link-title"
64305
64418
  };
64306
- const _hoisted_5$2 = { key: 3 };
64307
- const _hoisted_6$1 = { class: "input-row" };
64308
- const _hoisted_7$1 = ["innerHTML"];
64309
- const _hoisted_8 = ["onKeydown"];
64310
- const _hoisted_9 = ["innerHTML"];
64311
- const _hoisted_10 = { class: "input-row link-buttons" };
64312
- const _hoisted_11 = ["innerHTML"];
64313
- const _hoisted_12 = {
64419
+ const _hoisted_4$2 = { key: 3 };
64420
+ const _hoisted_5$2 = { class: "input-row" };
64421
+ const _hoisted_6$1 = ["innerHTML"];
64422
+ const _hoisted_7 = ["onKeydown"];
64423
+ const _hoisted_8 = ["innerHTML"];
64424
+ const _hoisted_9 = { class: "input-row link-buttons" };
64425
+ const _hoisted_10 = ["innerHTML"];
64426
+ const _hoisted_11 = {
64314
64427
  key: 4,
64315
64428
  class: "input-row go-to-anchor clickable"
64316
64429
  };
@@ -64343,6 +64456,7 @@ const _sfc_main$b = {
64343
64456
  setup(__props, { emit: __emit }) {
64344
64457
  const emit = __emit;
64345
64458
  const props = __props;
64459
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
64346
64460
  const { proxy } = vue.getCurrentInstance();
64347
64461
  const handleSubmit = () => {
64348
64462
  if (proxy?.$submit instanceof Function) proxy.$submit();
@@ -64393,16 +64507,19 @@ const _sfc_main$b = {
64393
64507
  if (props.showInput) focusInput();
64394
64508
  });
64395
64509
  return (_ctx, _cache) => {
64396
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
64397
- !__props.href ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$8, "Add link")) : isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, "Page anchor")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, "Edit link")),
64398
- __props.showInput && !isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$2, [
64399
- vue.createBaseVNode("div", _hoisted_6$1, [
64510
+ return vue.openBlock(), vue.createElementBlock("div", {
64511
+ class: vue.normalizeClass(["link-input-ctn", { "high-contrast": vue.unref(isHighContrastMode2) }])
64512
+ }, [
64513
+ !__props.href ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, "Add link")) : isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$8, "Page anchor")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, "Edit link")),
64514
+ __props.showInput && !isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
64515
+ vue.createBaseVNode("div", _hoisted_5$2, [
64400
64516
  vue.createBaseVNode("div", {
64401
64517
  class: "input-icon",
64402
64518
  innerHTML: vue.unref(toolbarIcons).linkInput
64403
- }, null, 8, _hoisted_7$1),
64519
+ }, null, 8, _hoisted_6$1),
64404
64520
  vue.withDirectives(vue.createBaseVNode("input", {
64405
64521
  type: "text",
64522
+ name: "link",
64406
64523
  placeholder: "Type or paste a link",
64407
64524
  class: vue.normalizeClass({ error: urlError.value }),
64408
64525
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => rawUrl.value = $event),
@@ -64410,7 +64527,7 @@ const _sfc_main$b = {
64410
64527
  vue.withKeys(vue.withModifiers(handleSubmit, ["stop", "prevent"]), ["enter"]),
64411
64528
  _cache[1] || (_cache[1] = ($event) => urlError.value = false)
64412
64529
  ]
64413
- }, null, 42, _hoisted_8), [
64530
+ }, null, 42, _hoisted_7), [
64414
64531
  [vue.vModelText, rawUrl.value]
64415
64532
  ]),
64416
64533
  vue.createBaseVNode("div", {
@@ -64418,9 +64535,9 @@ const _sfc_main$b = {
64418
64535
  innerHTML: vue.unref(toolbarIcons).openLink,
64419
64536
  onClick: openLink,
64420
64537
  "data-item": "btn-link-open"
64421
- }, null, 10, _hoisted_9)
64538
+ }, null, 10, _hoisted_8)
64422
64539
  ]),
64423
- vue.createBaseVNode("div", _hoisted_10, [
64540
+ vue.createBaseVNode("div", _hoisted_9, [
64424
64541
  __props.href ? (vue.openBlock(), vue.createElementBlock("button", {
64425
64542
  key: 0,
64426
64543
  class: "remove-btn",
@@ -64430,7 +64547,7 @@ const _sfc_main$b = {
64430
64547
  vue.createBaseVNode("div", {
64431
64548
  class: "remove-btn__icon",
64432
64549
  innerHTML: vue.unref(toolbarIcons).removeLink
64433
- }, null, 8, _hoisted_11),
64550
+ }, null, 8, _hoisted_10),
64434
64551
  _cache[3] || (_cache[3] = vue.createTextVNode(" Remove "))
64435
64552
  ])) : vue.createCommentVNode("", true),
64436
64553
  showApply.value ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -64440,23 +64557,22 @@ const _sfc_main$b = {
64440
64557
  "data-item": "btn-link-apply"
64441
64558
  }, vue.toDisplayString(getApplyText.value), 3)) : vue.createCommentVNode("", true)
64442
64559
  ])
64443
- ])) : isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
64560
+ ])) : isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, [
64444
64561
  vue.createBaseVNode("a", {
64445
64562
  onClick: _cache[2] || (_cache[2] = vue.withModifiers((...args) => __props.goToAnchor && __props.goToAnchor(...args), ["stop", "prevent"]))
64446
64563
  }, "Go to " + vue.toDisplayString(__props.href.startsWith("#_") ? __props.href.substring(2) : __props.href), 1)
64447
64564
  ])) : vue.createCommentVNode("", true)
64448
- ]);
64565
+ ], 2);
64449
64566
  };
64450
64567
  }
64451
64568
  };
64452
- const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-04bac853"]]);
64453
- const _hoisted_1$9 = { class: "document-mode" };
64454
- const _hoisted_2$7 = ["onClick"];
64455
- const _hoisted_3$6 = { class: "document-mode-column icon-column" };
64456
- const _hoisted_4$1 = ["innerHTML"];
64457
- const _hoisted_5$1 = { class: "document-mode-column text-column" };
64458
- const _hoisted_6 = { class: "document-mode-type" };
64459
- const _hoisted_7 = { class: "document-mode-description" };
64569
+ const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-64aa14bc"]]);
64570
+ const _hoisted_1$9 = ["onClick"];
64571
+ const _hoisted_2$7 = { class: "document-mode-column icon-column" };
64572
+ const _hoisted_3$5 = ["innerHTML"];
64573
+ const _hoisted_4$1 = { class: "document-mode-column text-column" };
64574
+ const _hoisted_5$1 = { class: "document-mode-type" };
64575
+ const _hoisted_6 = { class: "document-mode-description" };
64460
64576
  const _sfc_main$a = {
64461
64577
  __name: "DocumentMode",
64462
64578
  props: {
@@ -64467,34 +64583,38 @@ const _sfc_main$a = {
64467
64583
  emits: ["select"],
64468
64584
  setup(__props, { emit: __emit }) {
64469
64585
  const emit = __emit;
64586
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
64470
64587
  const handleClick2 = (item) => {
64471
64588
  emit("select", item);
64472
64589
  };
64473
64590
  return (_ctx, _cache) => {
64474
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
64591
+ return vue.openBlock(), vue.createElementBlock("div", {
64592
+ class: vue.normalizeClass(["document-mode", { "high-contrast": vue.unref(isHighContrastMode2) }])
64593
+ }, [
64475
64594
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
64476
64595
  return vue.openBlock(), vue.createElementBlock("div", {
64477
64596
  class: vue.normalizeClass(["option-item", { disabled: option.disabled }]),
64478
64597
  onClick: ($event) => handleClick2(option),
64479
- "data-item": "btn-documentMode-option"
64598
+ "data-item": "btn-documentMode-option",
64599
+ role: "menuitem"
64480
64600
  }, [
64481
- vue.createBaseVNode("div", _hoisted_3$6, [
64601
+ vue.createBaseVNode("div", _hoisted_2$7, [
64482
64602
  vue.createBaseVNode("div", {
64483
64603
  class: "icon-column__icon",
64484
64604
  innerHTML: option.icon
64485
- }, null, 8, _hoisted_4$1)
64605
+ }, null, 8, _hoisted_3$5)
64486
64606
  ]),
64487
- vue.createBaseVNode("div", _hoisted_5$1, [
64488
- vue.createBaseVNode("div", _hoisted_6, vue.toDisplayString(option.label), 1),
64489
- vue.createBaseVNode("div", _hoisted_7, vue.toDisplayString(option.description), 1)
64607
+ vue.createBaseVNode("div", _hoisted_4$1, [
64608
+ vue.createBaseVNode("div", _hoisted_5$1, vue.toDisplayString(option.label), 1),
64609
+ vue.createBaseVNode("div", _hoisted_6, vue.toDisplayString(option.description), 1)
64490
64610
  ])
64491
- ], 10, _hoisted_2$7);
64611
+ ], 10, _hoisted_1$9);
64492
64612
  }), 256))
64493
- ]);
64613
+ ], 2);
64494
64614
  };
64495
64615
  }
64496
64616
  };
64497
- const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-8afd7fbb"]]);
64617
+ const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-050d9d49"]]);
64498
64618
  const _hoisted_1$8 = {
64499
64619
  key: 0,
64500
64620
  class: "linked-style-buttons"
@@ -64537,9 +64657,9 @@ const _sfc_main$9 = {
64537
64657
  }
64538
64658
  };
64539
64659
  const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-bf5a8c1e"]]);
64540
- const _hoisted_1$7 = ["onClick"];
64660
+ const _hoisted_1$7 = ["aria-label", "onClick"];
64541
64661
  const _hoisted_2$5 = ["innerHTML"];
64542
- const _hoisted_3$5 = ["innerHTML"];
64662
+ const _hoisted_3$4 = ["innerHTML"];
64543
64663
  const _sfc_main$8 = {
64544
64664
  __name: "IconGridRow",
64545
64665
  props: {
@@ -64576,12 +64696,15 @@ const _sfc_main$8 = {
64576
64696
  return vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.icons, (row, rowIndex) => {
64577
64697
  return vue.openBlock(), vue.createElementBlock("div", {
64578
64698
  class: "option-row",
64579
- key: rowIndex
64699
+ key: rowIndex,
64700
+ role: "group"
64580
64701
  }, [
64581
64702
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (option, optionIndex) => {
64582
64703
  return vue.openBlock(), vue.createElementBlock("div", {
64583
64704
  class: "option",
64584
64705
  key: optionIndex,
64706
+ "aria-label": option.label,
64707
+ role: "menuitem",
64585
64708
  onClick: vue.withModifiers(($event) => handleClick2(option), ["stop", "prevent"])
64586
64709
  }, [
64587
64710
  vue.createBaseVNode("div", {
@@ -64594,7 +64717,7 @@ const _sfc_main$8 = {
64594
64717
  class: "option__check",
64595
64718
  innerHTML: vue.unref(toolbarIcons).colorOptionCheck,
64596
64719
  style: vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
64597
- }, null, 12, _hoisted_3$5)) : vue.createCommentVNode("", true)
64720
+ }, null, 12, _hoisted_3$4)) : vue.createCommentVNode("", true)
64598
64721
  ], 8, _hoisted_1$7);
64599
64722
  }), 128))
64600
64723
  ]);
@@ -64602,11 +64725,11 @@ const _sfc_main$8 = {
64602
64725
  };
64603
64726
  }
64604
64727
  };
64605
- const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-6a2a9a40"]]);
64728
+ const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-d96a82fa"]]);
64606
64729
  const DropIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>\n';
64607
64730
  const _hoisted_1$6 = { class: "options-grid-wrap" };
64608
64731
  const _hoisted_2$4 = ["innerHTML"];
64609
- const _hoisted_3$4 = { class: "option-grid-ctn" };
64732
+ const _hoisted_3$3 = { class: "option-grid-ctn" };
64610
64733
  const _sfc_main$7 = {
64611
64734
  __name: "IconGrid",
64612
64735
  props: {
@@ -64638,6 +64761,8 @@ const _sfc_main$7 = {
64638
64761
  __props.hasNoneIcon ? (vue.openBlock(), vue.createElementBlock("div", {
64639
64762
  key: 0,
64640
64763
  class: "none-option",
64764
+ role: "menuitem",
64765
+ "aria-label": "Clear color selection",
64641
64766
  onClick: _cache[0] || (_cache[0] = ($event) => handleSelect("none"))
64642
64767
  }, [
64643
64768
  vue.createBaseVNode("span", {
@@ -64646,7 +64771,7 @@ const _sfc_main$7 = {
64646
64771
  }, null, 8, _hoisted_2$4),
64647
64772
  _cache[1] || (_cache[1] = vue.createTextVNode(" None "))
64648
64773
  ])) : vue.createCommentVNode("", true),
64649
- vue.createBaseVNode("div", _hoisted_3$4, [
64774
+ vue.createBaseVNode("div", _hoisted_3$3, [
64650
64775
  vue.createVNode(IconGridRow, {
64651
64776
  icons: __props.icons,
64652
64777
  "active-color": __props.activeColor,
@@ -64665,7 +64790,7 @@ const _sfc_main$7 = {
64665
64790
  };
64666
64791
  }
64667
64792
  };
64668
- const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-47b783db"]]);
64793
+ const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-9246bdef"]]);
64669
64794
  const closeDropdown$1 = (dropdown) => {
64670
64795
  dropdown.expand.value = false;
64671
64796
  };
@@ -64699,84 +64824,83 @@ const renderColorOptions = (superToolbar, button, customIcons = [], hasNoneIcon
64699
64824
  };
64700
64825
  const icons = [
64701
64826
  [
64702
- makeColorOption("#111111"),
64703
- makeColorOption("#333333"),
64704
- makeColorOption("#5C5C5C"),
64705
- makeColorOption("#858585"),
64706
- makeColorOption("#ADADAD"),
64707
- makeColorOption("#D6D6D6"),
64708
- makeColorOption("#FFFFFF")
64827
+ makeColorOption("#111111", "black"),
64828
+ makeColorOption("#333333", "dark gray"),
64829
+ makeColorOption("#5C5C5C", "medium gray"),
64830
+ makeColorOption("#858585", "light gray"),
64831
+ makeColorOption("#ADADAD", "very light gray"),
64832
+ makeColorOption("#D6D6D6", "transparent gray"),
64833
+ makeColorOption("#FFFFFF", "white")
64709
64834
  ],
64710
64835
  [
64711
- makeColorOption("#860028"),
64712
- makeColorOption("#D2003F"),
64713
- makeColorOption("#DB3365"),
64714
- makeColorOption("#E4668C"),
64715
- makeColorOption("#ED99B2"),
64716
- makeColorOption("#F6CCD9"),
64717
- makeColorOption("#FF004D")
64836
+ makeColorOption("#860028", "dark red"),
64837
+ makeColorOption("#D2003F", "red"),
64838
+ makeColorOption("#DB3365", "coral red"),
64839
+ makeColorOption("#E4668C", "light red"),
64840
+ makeColorOption("#ED99B2", "pale pink"),
64841
+ makeColorOption("#F6CCD9", "transparent pink"),
64842
+ makeColorOption("#FF004D", "bright pink")
64718
64843
  ],
64719
64844
  [
64720
- makeColorOption("#83015E"),
64721
- makeColorOption("#CD0194"),
64722
- makeColorOption("#D734A9"),
64723
- makeColorOption("#E167BF"),
64724
- makeColorOption("#EB99D4"),
64725
- makeColorOption("#F5CCEA"),
64726
- makeColorOption("#FF00A8")
64845
+ makeColorOption("#83015E", "dark purple"),
64846
+ makeColorOption("#CD0194", "purple"),
64847
+ makeColorOption("#D734A9", "orchid"),
64848
+ makeColorOption("#E167BF", "light purple"),
64849
+ makeColorOption("#EB99D4", "lavender"),
64850
+ makeColorOption("#F5CCEA", "transparent pink"),
64851
+ makeColorOption("#FF00A8", "neon pink")
64727
64852
  ],
64728
64853
  [
64729
- makeColorOption("#8E220A"),
64730
- makeColorOption("#DD340F"),
64731
- makeColorOption("#E45C3F"),
64732
- makeColorOption("#EB856F"),
64733
- makeColorOption("#F1AE9F"),
64734
- makeColorOption("#F8D6CF"),
64735
- makeColorOption("#FF7A00")
64854
+ makeColorOption("#8E220A", "maroon"),
64855
+ makeColorOption("#DD340F", "red-orange"),
64856
+ makeColorOption("#E45C3F", "burnt orange"),
64857
+ makeColorOption("#EB856F", "peach"),
64858
+ makeColorOption("#F1AE9F", "pale peach"),
64859
+ makeColorOption("#F8D6CF", "transparent peach"),
64860
+ makeColorOption("#FF7A00", "orange")
64736
64861
  ],
64737
64862
  [
64738
- makeColorOption("#947D02"),
64739
- makeColorOption("#E7C302"),
64740
- makeColorOption("#ECCF35"),
64741
- makeColorOption("#F1DB67"),
64742
- makeColorOption("#F5E79A"),
64743
- makeColorOption("#FAF3CC"),
64744
- makeColorOption("#FAFF09")
64863
+ makeColorOption("#947D02", "olive"),
64864
+ makeColorOption("#E7C302", "mustard yellow"),
64865
+ makeColorOption("#ECCF35", "yellow"),
64866
+ makeColorOption("#F1DB67", "light yellow"),
64867
+ makeColorOption("#F5E79A", "very pale yellow"),
64868
+ makeColorOption("#FAF3CC", "transparent yellow"),
64869
+ makeColorOption("#FAFF09", "neon yellow")
64745
64870
  ],
64746
64871
  [
64747
- makeColorOption("#055432"),
64748
- makeColorOption("#07834F"),
64749
- makeColorOption("#399C72"),
64750
- makeColorOption("#6AB595"),
64751
- makeColorOption("#9CCDB9"),
64752
- makeColorOption("#CDE6DC"),
64753
- makeColorOption("#05F38F")
64872
+ makeColorOption("#055432", "forest green"),
64873
+ makeColorOption("#07834F", "green"),
64874
+ makeColorOption("#399C72", "medium green"),
64875
+ makeColorOption("#6AB595", "light green"),
64876
+ makeColorOption("#9CCDB9", "mint"),
64877
+ makeColorOption("#CDE6DC", "transparent mint"),
64878
+ makeColorOption("#05F38F", "bright teal")
64754
64879
  ],
64755
64880
  [
64756
- makeColorOption("#063E7E"),
64757
- makeColorOption("#0A60C5"),
64758
- makeColorOption("#3B80D1"),
64759
- makeColorOption("#6CA0DC"),
64760
- makeColorOption("#9DBFE8"),
64761
- makeColorOption("#CEDFF3"),
64762
- makeColorOption("#21c8ce")
64881
+ makeColorOption("#063E7E", "navy blue"),
64882
+ makeColorOption("#0A60C5", "blue"),
64883
+ makeColorOption("#3B80D1", "sky blue"),
64884
+ makeColorOption("#6CA0DC", "cornflower blue"),
64885
+ makeColorOption("#9DBFE8", "light blue"),
64886
+ makeColorOption("#CEDFF3", "very light blue"),
64887
+ makeColorOption("#21c8ce", "cyan")
64763
64888
  ],
64764
64889
  [
64765
- makeColorOption("#3E027A"),
64766
- makeColorOption("#6103BF"),
64767
- makeColorOption("#8136CC"),
64768
- makeColorOption("#A068D9"),
64769
- makeColorOption("#C09AE6"),
64770
- makeColorOption("#DFCDF2"),
64771
- makeColorOption("#A91DFF")
64890
+ makeColorOption("#3E027A", "deep purple"),
64891
+ makeColorOption("#6103BF", "indigo"),
64892
+ makeColorOption("#8136CC", "violet"),
64893
+ makeColorOption("#A068D9", "lavender pink"),
64894
+ makeColorOption("#C09AE6", "light lilac"),
64895
+ makeColorOption("#DFCDF2", "transparent lilac"),
64896
+ makeColorOption("#A91DFF", "neon purple")
64772
64897
  ]
64773
64898
  ];
64774
64899
  const getAvailableColorOptions = () => {
64775
64900
  return icons.flat().map((item) => item.value);
64776
64901
  };
64777
- const _hoisted_1$5 = { class: "toolbar-table-grid-wrapper" };
64778
- const _hoisted_2$3 = ["data-cols", "data-rows", "onClick"];
64779
- const _hoisted_3$3 = { class: "toolbar-table-grid-value" };
64902
+ const _hoisted_1$5 = ["data-cols", "data-rows", "onClick"];
64903
+ const _hoisted_2$3 = ["aria-valuetext"];
64780
64904
  const _sfc_main$6 = {
64781
64905
  __name: "TableGrid",
64782
64906
  emits: ["select", "clickoutside"],
@@ -64784,6 +64908,7 @@ const _sfc_main$6 = {
64784
64908
  const emit = __emit;
64785
64909
  const selectedRows = vue.ref(0);
64786
64910
  const selectedCols = vue.ref(0);
64911
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
64787
64912
  const onTableGridMouseOver = (event) => {
64788
64913
  let target = event.target;
64789
64914
  let isGrid = !!target.dataset.grid;
@@ -64811,7 +64936,9 @@ const _sfc_main$6 = {
64811
64936
  emit("select", { cols, rows });
64812
64937
  };
64813
64938
  return (_ctx, _cache) => {
64814
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
64939
+ return vue.openBlock(), vue.createElementBlock("div", {
64940
+ class: vue.normalizeClass(["toolbar-table-grid-wrapper", { "high-contrast": vue.unref(isHighContrastMode2) }])
64941
+ }, [
64815
64942
  vue.createBaseVNode("div", {
64816
64943
  class: "toolbar-table-grid",
64817
64944
  onMouseover: onTableGridMouseOver,
@@ -64827,19 +64954,22 @@ const _sfc_main$6 = {
64827
64954
  "data-rows": i,
64828
64955
  "data-item": "true",
64829
64956
  onClick: vue.withModifiers(($event) => handleClick2({ cols: n2, rows: i }), ["stop", "prevent"])
64830
- }, null, 8, _hoisted_2$3);
64957
+ }, null, 8, _hoisted_1$5);
64831
64958
  }), 64))
64832
64959
  ], 64);
64833
64960
  }), 64))
64834
64961
  ], 32),
64835
- vue.createBaseVNode("div", _hoisted_3$3, vue.toDisplayString(selectedRows.value) + " x " + vue.toDisplayString(selectedCols.value), 1)
64836
- ]);
64962
+ vue.createBaseVNode("div", {
64963
+ class: "toolbar-table-grid-value",
64964
+ "aria-valuetext": `${selectedRows.value} x ${selectedCols.value}`
64965
+ }, vue.toDisplayString(selectedRows.value) + " x " + vue.toDisplayString(selectedCols.value), 9, _hoisted_2$3)
64966
+ ], 2);
64837
64967
  };
64838
64968
  }
64839
64969
  };
64840
- const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-06352ab9"]]);
64970
+ const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-617bf152"]]);
64841
64971
  const _hoisted_1$4 = { class: "toolbar-table-actions" };
64842
- const _hoisted_2$2 = ["onClick", "data-item"];
64972
+ const _hoisted_2$2 = ["onClick", "data-item", "ariaLabel"];
64843
64973
  const _hoisted_3$2 = { class: "toolbar-table-actions__icon" };
64844
64974
  const _hoisted_4 = ["innerHTML"];
64845
64975
  const _hoisted_5 = { class: "toolbar-table-actions__label" };
@@ -64862,7 +64992,9 @@ const _sfc_main$5 = {
64862
64992
  return vue.openBlock(), vue.createElementBlock("div", {
64863
64993
  class: vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
64864
64994
  onClick: ($event) => handleClick2(option),
64865
- "data-item": option.props?.["data-item"] || ""
64995
+ "data-item": option.props?.["data-item"] || "",
64996
+ ariaLabel: option.props?.ariaLabel,
64997
+ role: "menuitem"
64866
64998
  }, [
64867
64999
  vue.createBaseVNode("div", _hoisted_3$2, [
64868
65000
  vue.createBaseVNode("div", {
@@ -64877,7 +65009,7 @@ const _sfc_main$5 = {
64877
65009
  };
64878
65010
  }
64879
65011
  };
64880
- const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-fdbfb4b0"]]);
65012
+ const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-f82e859a"]]);
64881
65013
  const checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>\n';
64882
65014
  const _hoisted_1$3 = { class: "search-input-ctn" };
64883
65015
  const _hoisted_2$1 = { class: "row" };
@@ -64978,7 +65110,10 @@ const makeDefaultItems = ({
64978
65110
  name: "bold",
64979
65111
  command: "toggleBold",
64980
65112
  icon: toolbarIcons2.bold,
64981
- tooltip: toolbarTexts2.bold
65113
+ tooltip: toolbarTexts2.bold,
65114
+ attributes: {
65115
+ ariaLabel: "Bold"
65116
+ }
64982
65117
  });
64983
65118
  const fontButton = useToolbarItem({
64984
65119
  type: "dropdown",
@@ -64993,6 +65128,9 @@ const makeDefaultItems = ({
64993
65128
  isWide: true,
64994
65129
  style: { width: "116px" },
64995
65130
  suppressActiveHighlight: true,
65131
+ attributes: {
65132
+ ariaLabel: "Font family"
65133
+ },
64996
65134
  options: [...toolbarFonts ? toolbarFonts : TOOLBAR_FONTS],
64997
65135
  onActivate: ({ fontFamily: fontFamily2 }) => {
64998
65136
  if (!fontFamily2) return;
@@ -65013,6 +65151,9 @@ const makeDefaultItems = ({
65013
65151
  hasCaret: false,
65014
65152
  isWide: true,
65015
65153
  suppressActiveHighlight: true,
65154
+ attributes: {
65155
+ ariaLabel: "AI"
65156
+ },
65016
65157
  options: [
65017
65158
  {
65018
65159
  type: "render",
@@ -65060,6 +65201,9 @@ const makeDefaultItems = ({
65060
65201
  suppressActiveHighlight: true,
65061
65202
  isWide: true,
65062
65203
  command: "setFontSize",
65204
+ attributes: {
65205
+ ariaLabel: "Font size"
65206
+ },
65063
65207
  options: [
65064
65208
  { label: "8", key: "8pt", props: { "data-item": "btn-fontSize-option" } },
65065
65209
  { label: "9", key: "9pt", props: { "data-item": "btn-fontSize-option" } },
@@ -65095,14 +65239,20 @@ const makeDefaultItems = ({
65095
65239
  name: "italic",
65096
65240
  command: "toggleItalic",
65097
65241
  icon: toolbarIcons2.italic,
65098
- tooltip: toolbarTexts2.italic
65242
+ tooltip: toolbarTexts2.italic,
65243
+ attributes: {
65244
+ ariaLabel: "Italic"
65245
+ }
65099
65246
  });
65100
65247
  const underline = useToolbarItem({
65101
65248
  type: "button",
65102
65249
  name: "underline",
65103
65250
  command: "toggleUnderline",
65104
65251
  icon: toolbarIcons2.underline,
65105
- tooltip: toolbarTexts2.underline
65252
+ tooltip: toolbarTexts2.underline,
65253
+ attributes: {
65254
+ ariaLabel: "Underline"
65255
+ }
65106
65256
  });
65107
65257
  const highlight = useToolbarItem({
65108
65258
  type: "dropdown",
@@ -65115,6 +65265,9 @@ const makeDefaultItems = ({
65115
65265
  command: "setHighlight",
65116
65266
  noArgumentCommand: "unsetHighlight",
65117
65267
  suppressActiveHighlight: true,
65268
+ attributes: {
65269
+ ariaLabel: "Highlight"
65270
+ },
65118
65271
  options: [
65119
65272
  {
65120
65273
  key: "color",
@@ -65137,6 +65290,9 @@ const makeDefaultItems = ({
65137
65290
  tooltip: toolbarTexts2.color,
65138
65291
  command: "setColor",
65139
65292
  suppressActiveHighlight: true,
65293
+ attributes: {
65294
+ ariaLabel: "Color"
65295
+ },
65140
65296
  options: [
65141
65297
  {
65142
65298
  key: "color",
@@ -65157,6 +65313,9 @@ const makeDefaultItems = ({
65157
65313
  tooltip: toolbarTexts2.search,
65158
65314
  group: "right",
65159
65315
  inputRef: searchRef,
65316
+ attributes: {
65317
+ ariaLabel: "Search"
65318
+ },
65160
65319
  options: [
65161
65320
  {
65162
65321
  type: "render",
@@ -65182,6 +65341,9 @@ const makeDefaultItems = ({
65182
65341
  markName: "link",
65183
65342
  icon: toolbarIcons2.link,
65184
65343
  tooltip: toolbarTexts2.link,
65344
+ attributes: {
65345
+ ariaLabel: "Link dropdown"
65346
+ },
65185
65347
  options: [
65186
65348
  {
65187
65349
  type: "render",
@@ -65235,7 +65397,10 @@ const makeDefaultItems = ({
65235
65397
  command: "startImageUpload",
65236
65398
  icon: toolbarIcons2.image,
65237
65399
  tooltip: toolbarTexts2.image,
65238
- disabled: false
65400
+ disabled: false,
65401
+ attributes: {
65402
+ ariaLabel: "Image"
65403
+ }
65239
65404
  });
65240
65405
  const tableItem = useToolbarItem({
65241
65406
  type: "dropdown",
@@ -65246,6 +65411,9 @@ const makeDefaultItems = ({
65246
65411
  tooltip: toolbarTexts2.table,
65247
65412
  command: "insertTable",
65248
65413
  suppressActiveHighlight: true,
65414
+ attributes: {
65415
+ ariaLabel: "Table"
65416
+ },
65249
65417
  options: [
65250
65418
  {
65251
65419
  key: "table",
@@ -65272,6 +65440,9 @@ const makeDefaultItems = ({
65272
65440
  icon: toolbarIcons2.tableActions,
65273
65441
  hideLabel: true,
65274
65442
  disabled: true,
65443
+ attributes: {
65444
+ ariaLabel: "Table actions"
65445
+ },
65275
65446
  options: [
65276
65447
  {
65277
65448
  type: "render",
@@ -65284,69 +65455,102 @@ const makeDefaultItems = ({
65284
65455
  label: toolbarTexts2.addRowBefore,
65285
65456
  command: "addRowBefore",
65286
65457
  icon: toolbarIcons2.addRowBefore,
65287
- props: { "data-item": "btn-tableActions-option" }
65458
+ props: {
65459
+ "data-item": "btn-tableActions-option",
65460
+ ariaLabel: "Add row before"
65461
+ }
65288
65462
  },
65289
65463
  {
65290
65464
  label: toolbarTexts2.addRowAfter,
65291
65465
  command: "addRowAfter",
65292
65466
  icon: toolbarIcons2.addRowAfter,
65293
- props: { "data-item": "btn-tableActions-option" }
65467
+ props: {
65468
+ "data-item": "btn-tableActions-option",
65469
+ ariaLabel: "Add row after"
65470
+ }
65294
65471
  },
65295
65472
  {
65296
65473
  label: toolbarTexts2.addColumnBefore,
65297
65474
  command: "addColumnBefore",
65298
65475
  icon: toolbarIcons2.addColumnBefore,
65299
- props: { "data-item": "btn-tableActions-option" }
65476
+ props: {
65477
+ "data-item": "btn-tableActions-option",
65478
+ ariaLabel: "Add column before"
65479
+ }
65300
65480
  },
65301
65481
  {
65302
65482
  label: toolbarTexts2.addColumnAfter,
65303
65483
  command: "addColumnAfter",
65304
65484
  icon: toolbarIcons2.addColumnAfter,
65305
65485
  bottomBorder: true,
65306
- props: { "data-item": "btn-tableActions-option" }
65486
+ props: {
65487
+ "data-item": "btn-tableActions-option",
65488
+ ariaLabel: "Add column after"
65489
+ }
65307
65490
  },
65308
65491
  {
65309
65492
  label: toolbarTexts2.deleteRow,
65310
65493
  command: "deleteRow",
65311
65494
  icon: toolbarIcons2.deleteRow,
65312
- props: { "data-item": "btn-tableActions-option" }
65495
+ props: {
65496
+ "data-item": "btn-tableActions-option",
65497
+ ariaLabel: "Delete row"
65498
+ }
65313
65499
  },
65314
65500
  {
65315
65501
  label: toolbarTexts2.deleteColumn,
65316
65502
  command: "deleteColumn",
65317
65503
  icon: toolbarIcons2.deleteColumn,
65318
- props: { "data-item": "btn-tableActions-option" }
65504
+ props: {
65505
+ "data-item": "btn-tableActions-option",
65506
+ ariaLabel: "Delete column"
65507
+ }
65319
65508
  },
65320
65509
  {
65321
65510
  label: toolbarTexts2.deleteTable,
65322
65511
  command: "deleteTable",
65323
65512
  icon: toolbarIcons2.deleteTable,
65324
- props: { "data-item": "btn-tableActions-option" }
65513
+ props: {
65514
+ "data-item": "btn-tableActions-option",
65515
+ ariaLabel: "Delete table"
65516
+ }
65325
65517
  },
65326
65518
  {
65327
65519
  label: toolbarTexts2.transparentBorders,
65328
65520
  command: "deleteCellAndTableBorders",
65329
65521
  icon: toolbarIcons2.deleteBorders,
65330
65522
  bottomBorder: true,
65331
- props: { "data-item": "btn-tableActions-option" }
65523
+ props: {
65524
+ "data-item": "btn-tableActions-option",
65525
+ ariaLabel: "Delete cell and table borders"
65526
+ }
65332
65527
  },
65333
65528
  {
65334
65529
  label: toolbarTexts2.mergeCells,
65335
65530
  command: "mergeCells",
65336
65531
  icon: toolbarIcons2.mergeCells,
65337
- props: { "data-item": "btn-tableActions-option" }
65532
+ props: {
65533
+ "data-item": "btn-tableActions-option",
65534
+ ariaLabel: "Merge cells"
65535
+ }
65338
65536
  },
65339
65537
  {
65340
65538
  label: toolbarTexts2.splitCell,
65341
65539
  command: "splitCell",
65342
65540
  icon: toolbarIcons2.splitCell,
65343
- props: { "data-item": "btn-tableActions-option" }
65541
+ props: {
65542
+ "data-item": "btn-tableActions-option",
65543
+ ariaLabel: "Split cells"
65544
+ }
65344
65545
  },
65345
65546
  {
65346
65547
  label: toolbarTexts2.fixTables,
65347
65548
  command: "fixTables",
65348
65549
  icon: toolbarIcons2.fixTables,
65349
- props: { "data-item": "btn-tableActions-option" }
65550
+ props: {
65551
+ "data-item": "btn-tableActions-option",
65552
+ ariaLabel: "Fix tables"
65553
+ }
65350
65554
  }
65351
65555
  ];
65352
65556
  function renderTableActions(tableActionsItem2) {
@@ -65369,6 +65573,9 @@ const makeDefaultItems = ({
65369
65573
  markName: "textAlign",
65370
65574
  labelAttr: "textAlign",
65371
65575
  suppressActiveHighlight: true,
65576
+ attributes: {
65577
+ ariaLabel: "Text align"
65578
+ },
65372
65579
  options: [
65373
65580
  {
65374
65581
  type: "render",
@@ -65412,14 +65619,20 @@ const makeDefaultItems = ({
65412
65619
  name: "list",
65413
65620
  command: "toggleBulletList",
65414
65621
  icon: toolbarIcons2.bulletList,
65415
- tooltip: toolbarTexts2.bulletList
65622
+ tooltip: toolbarTexts2.bulletList,
65623
+ attributes: {
65624
+ ariaLabel: "Bullet list"
65625
+ }
65416
65626
  });
65417
65627
  const numberedList = useToolbarItem({
65418
65628
  type: "button",
65419
65629
  name: "numberedlist",
65420
65630
  command: "toggleOrderedList",
65421
65631
  icon: toolbarIcons2.numberedList,
65422
- tooltip: toolbarTexts2.numberedList
65632
+ tooltip: toolbarTexts2.numberedList,
65633
+ attributes: {
65634
+ ariaLabel: "Numbered list"
65635
+ }
65423
65636
  });
65424
65637
  const indentLeft = useToolbarItem({
65425
65638
  type: "button",
@@ -65427,7 +65640,10 @@ const makeDefaultItems = ({
65427
65640
  command: "decreaseTextIndent",
65428
65641
  icon: toolbarIcons2.indentLeft,
65429
65642
  tooltip: toolbarTexts2.indentLeft,
65430
- disabled: false
65643
+ disabled: false,
65644
+ attributes: {
65645
+ ariaLabel: "Left indent"
65646
+ }
65431
65647
  });
65432
65648
  const indentRight = useToolbarItem({
65433
65649
  type: "button",
@@ -65435,14 +65651,20 @@ const makeDefaultItems = ({
65435
65651
  command: "increaseTextIndent",
65436
65652
  icon: toolbarIcons2.indentRight,
65437
65653
  tooltip: toolbarTexts2.indentRight,
65438
- disabled: false
65654
+ disabled: false,
65655
+ attributes: {
65656
+ ariaLabel: "Right indent"
65657
+ }
65439
65658
  });
65440
65659
  const overflow = useToolbarItem({
65441
65660
  type: "overflow",
65442
65661
  name: "overflow",
65443
65662
  command: "toggleOverflow",
65444
65663
  icon: toolbarIcons2.overflow,
65445
- disabled: false
65664
+ disabled: false,
65665
+ attributes: {
65666
+ ariaLabel: "Overflow items"
65667
+ }
65446
65668
  });
65447
65669
  const zoom = useToolbarItem({
65448
65670
  type: "dropdown",
@@ -65456,6 +65678,9 @@ const makeDefaultItems = ({
65456
65678
  isWide: true,
65457
65679
  inlineTextInputVisible: false,
65458
65680
  hasInlineTextInput: true,
65681
+ attributes: {
65682
+ ariaLabel: "Zoom"
65683
+ },
65459
65684
  options: [
65460
65685
  { label: "50%", key: 0.5, props: { "data-item": "btn-zoom-option" } },
65461
65686
  { label: "75%", key: 0.75, props: { "data-item": "btn-zoom-option" } },
@@ -65478,6 +65703,9 @@ const makeDefaultItems = ({
65478
65703
  command: "undo",
65479
65704
  icon: toolbarIcons2.undo,
65480
65705
  group: "left",
65706
+ attributes: {
65707
+ ariaLabel: "Undo"
65708
+ },
65481
65709
  onDeactivate: () => {
65482
65710
  undo2.disabled.value = !superToolbar.undoDepth;
65483
65711
  }
@@ -65490,6 +65718,9 @@ const makeDefaultItems = ({
65490
65718
  command: "redo",
65491
65719
  icon: toolbarIcons2.redo,
65492
65720
  group: "left",
65721
+ attributes: {
65722
+ ariaLabel: "Redo"
65723
+ },
65493
65724
  onDeactivate: () => {
65494
65725
  redo2.disabled.value = !superToolbar.redoDepth;
65495
65726
  }
@@ -65501,7 +65732,10 @@ const makeDefaultItems = ({
65501
65732
  tooltip: toolbarTexts2.trackChanges,
65502
65733
  command: "toggleTrackChanges",
65503
65734
  icon: toolbarIcons2.trackChanges,
65504
- group: "left"
65735
+ group: "left",
65736
+ attributes: {
65737
+ ariaLabel: "Track changes"
65738
+ }
65505
65739
  });
65506
65740
  const acceptTrackedChangeBySelection = useToolbarItem({
65507
65741
  type: "button",
@@ -65510,7 +65744,10 @@ const makeDefaultItems = ({
65510
65744
  tooltip: toolbarTexts2.trackChangesAccept,
65511
65745
  command: "acceptTrackedChangeBySelection",
65512
65746
  icon: toolbarIcons2.trackChangesAccept,
65513
- group: "left"
65747
+ group: "left",
65748
+ attributes: {
65749
+ ariaLabel: "Accept tracked changes"
65750
+ }
65514
65751
  });
65515
65752
  const rejectTrackedChangeOnSelection = useToolbarItem({
65516
65753
  type: "button",
@@ -65519,7 +65756,10 @@ const makeDefaultItems = ({
65519
65756
  tooltip: toolbarTexts2.trackChangesReject,
65520
65757
  command: "rejectTrackedChangeOnSelection",
65521
65758
  icon: toolbarIcons2.trackChangesReject,
65522
- group: "left"
65759
+ group: "left",
65760
+ attributes: {
65761
+ ariaLabel: "Reject tracked changes"
65762
+ }
65523
65763
  });
65524
65764
  const toggleTrackChangesOriginal = useToolbarItem({
65525
65765
  type: "button",
@@ -65528,7 +65768,10 @@ const makeDefaultItems = ({
65528
65768
  tooltip: toolbarTexts2.trackChangesOriginal,
65529
65769
  command: "toggleTrackChangesShowOriginal",
65530
65770
  icon: toolbarIcons2.trackChangesOriginal,
65531
- group: "left"
65771
+ group: "left",
65772
+ attributes: {
65773
+ ariaLabel: "Toggle tracked changes show original"
65774
+ }
65532
65775
  });
65533
65776
  const toggleTrackChangesFinal = useToolbarItem({
65534
65777
  type: "button",
@@ -65537,14 +65780,20 @@ const makeDefaultItems = ({
65537
65780
  tooltip: toolbarTexts2.trackChangesFinal,
65538
65781
  command: "toggleTrackChangesShowFinal",
65539
65782
  icon: toolbarIcons2.trackChangesFinal,
65540
- group: "left"
65783
+ group: "left",
65784
+ attributes: {
65785
+ ariaLabel: "Toggle tracked changes show final"
65786
+ }
65541
65787
  });
65542
65788
  const clearFormatting = useToolbarItem({
65543
65789
  type: "button",
65544
65790
  name: "clearFormatting",
65545
65791
  command: "clearFormat",
65546
65792
  tooltip: toolbarTexts2.clearFormatting,
65547
- icon: toolbarIcons2.clearFormatting
65793
+ icon: toolbarIcons2.clearFormatting,
65794
+ attributes: {
65795
+ ariaLabel: "Clear formatting"
65796
+ }
65548
65797
  });
65549
65798
  [
65550
65799
  bold,
@@ -65560,7 +65809,10 @@ const makeDefaultItems = ({
65560
65809
  name: "copyFormat",
65561
65810
  tooltip: toolbarTexts2.copyFormat,
65562
65811
  icon: toolbarIcons2.copyFormat,
65563
- command: "copyFormat"
65812
+ command: "copyFormat",
65813
+ attributes: {
65814
+ ariaLabel: "Copy formatting"
65815
+ }
65564
65816
  });
65565
65817
  const getDocumentOptionsAfterRole = (role2, documentOptions2) => {
65566
65818
  if (role2 === "editor") return documentOptions2;
@@ -65589,7 +65841,8 @@ const makeDefaultItems = ({
65589
65841
  disabled: role !== "editor",
65590
65842
  attributes: {
65591
65843
  dropdownPosition: "right",
65592
- className: "toolbar-item--doc-mode"
65844
+ className: "toolbar-item--doc-mode",
65845
+ ariaLabel: "Document mode"
65593
65846
  },
65594
65847
  options: [
65595
65848
  {
@@ -65636,7 +65889,10 @@ const makeDefaultItems = ({
65636
65889
  name: "pageBreakTool",
65637
65890
  command: "insertPageBreak",
65638
65891
  icon: toolbarIcons2.pageBreak,
65639
- tooltip: toolbarTexts2.pageBreak
65892
+ tooltip: toolbarTexts2.pageBreak,
65893
+ attributes: {
65894
+ ariaLabel: "Page break"
65895
+ }
65640
65896
  });
65641
65897
  const controlSizes = /* @__PURE__ */ new Map([
65642
65898
  ["separator", 20],
@@ -65654,7 +65910,10 @@ const makeDefaultItems = ({
65654
65910
  name: "ruler",
65655
65911
  command: "toggleRuler",
65656
65912
  icon: toolbarIcons2.ruler,
65657
- tooltip: toolbarTexts2.ruler
65913
+ tooltip: toolbarTexts2.ruler,
65914
+ attributes: {
65915
+ ariaLabel: "Ruler"
65916
+ }
65658
65917
  });
65659
65918
  const selectedLinkedStyle = vue.ref(null);
65660
65919
  const linkedStyles = useToolbarItem({
@@ -65670,7 +65929,8 @@ const makeDefaultItems = ({
65670
65929
  suppressActiveHighlight: true,
65671
65930
  disabled: false,
65672
65931
  attributes: {
65673
- className: "toolbar-item--linked-styles"
65932
+ className: "toolbar-item--linked-styles",
65933
+ ariaLabel: "Linked styles"
65674
65934
  },
65675
65935
  options: [
65676
65936
  {
@@ -65717,6 +65977,9 @@ const makeDefaultItems = ({
65717
65977
  command: "setLineHeight",
65718
65978
  dropdownValueKey: "key",
65719
65979
  selectedValue: "1",
65980
+ attributes: {
65981
+ ariaLabel: "Line height"
65982
+ },
65720
65983
  options: [
65721
65984
  { label: "1,0", key: "1", icon: () => renderIcon("1", lineHeight2.selectedValue), props: { "data-item": "btn-lineHeight-option" } },
65722
65985
  { label: "1,15", key: "1.15", icon: () => renderIcon("1.15", lineHeight2.selectedValue), props: { "data-item": "btn-lineHeight-option" } },
@@ -67034,7 +67297,8 @@ const _sfc_main$2 = {
67034
67297
  vue.createBaseVNode("div", {
67035
67298
  ref_key: "editorElem",
67036
67299
  ref: editorElem,
67037
- class: "editor-element super-editor__element"
67300
+ class: "editor-element super-editor__element",
67301
+ role: "presentation"
67038
67302
  }, null, 512)
67039
67303
  ], 544),
67040
67304
  !editorReady.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
@@ -67086,7 +67350,7 @@ const _sfc_main$2 = {
67086
67350
  };
67087
67351
  }
67088
67352
  };
67089
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-ff8f86f4"]]);
67353
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-f27b7c30"]]);
67090
67354
  const _sfc_main$1 = {
67091
67355
  __name: "BasicUpload",
67092
67356
  emits: ["file-change"],