@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
@@ -30667,7 +30667,7 @@
30667
30667
  return;
30668
30668
  }
30669
30669
  }
30670
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.30") {
30670
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.1") {
30671
30671
  const customLocation = "docProps/custom.xml";
30672
30672
  if (!docx[customLocation]) {
30673
30673
  docx[customLocation] = generateCustomXml();
@@ -31133,7 +31133,7 @@
31133
31133
  function generateCustomXml() {
31134
31134
  return DEFAULT_CUSTOM_XML;
31135
31135
  }
31136
- function generateSuperdocVersion(pid = 2, version2 = "0.12.30") {
31136
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.1") {
31137
31137
  return {
31138
31138
  type: "element",
31139
31139
  name: "property",
@@ -46478,6 +46478,9 @@
46478
46478
  pm.style.minHeight = "100%";
46479
46479
  pm.style.outline = "none";
46480
46480
  pm.style.border = "none";
46481
+ pm.setAttribute("role", "textbox");
46482
+ pm.setAttribute("aria-multiline", true);
46483
+ pm.setAttribute("aria-label", `${type2} content area. Double click to start typing.`);
46481
46484
  return headerFooterEditor;
46482
46485
  };
46483
46486
  const broadcastEditorEvents = (editor, sectionEditor) => {
@@ -46499,13 +46502,16 @@
46499
46502
  const toggleHeaderFooterEditMode = (editor, focusedSectionEditor, isEditMode) => {
46500
46503
  editor.converter.headerEditors.forEach((item) => {
46501
46504
  item.editor.setEditable(isEditMode, false);
46505
+ item.editor.view.dom.setAttribute("aria-readonly", !isEditMode);
46502
46506
  });
46503
46507
  editor.converter.footerEditors.forEach((item) => {
46504
46508
  item.editor.setEditable(isEditMode, false);
46509
+ item.editor.view.dom.setAttribute("aria-readonly", !isEditMode);
46505
46510
  });
46506
46511
  if (isEditMode) {
46507
46512
  const pm = document.querySelector(".ProseMirror");
46508
46513
  pm.classList.add("header-footer-edit");
46514
+ pm.setAttribute("aria-readonly", true);
46509
46515
  }
46510
46516
  if (focusedSectionEditor) {
46511
46517
  focusedSectionEditor.view.focus();
@@ -47693,6 +47699,16 @@
47693
47699
  initializeMetaMap(ydoc, editor);
47694
47700
  return Y.encodeStateAsUpdate(ydoc);
47695
47701
  };
47702
+ const isHighContrastMode$1 = ref$1(false);
47703
+ function useHighContrastMode$1() {
47704
+ const setHighContrastMode = (value) => {
47705
+ isHighContrastMode$1.value = value;
47706
+ };
47707
+ return {
47708
+ isHighContrastMode: isHighContrastMode$1,
47709
+ setHighContrastMode
47710
+ };
47711
+ }
47696
47712
  const _Editor = class _Editor2 extends EventEmitter$2 {
47697
47713
  /**
47698
47714
  * Create a new Editor instance
@@ -47785,6 +47801,8 @@
47785
47801
  }
47786
47802
  };
47787
47803
  let initMode = modes[this.options.mode] ?? modes.default;
47804
+ const { setHighContrastMode } = useHighContrastMode$1();
47805
+ this.setHighContrastMode = setHighContrastMode;
47788
47806
  initMode();
47789
47807
  }
47790
47808
  /**
@@ -48081,6 +48099,10 @@
48081
48099
  if (!proseMirror || !pageSize || !pageMargins) {
48082
48100
  return;
48083
48101
  }
48102
+ proseMirror.setAttribute("role", "document");
48103
+ proseMirror.setAttribute("aria-multiline", true);
48104
+ proseMirror.setAttribute("aria-label", "Main content area, start typing to enter text.");
48105
+ proseMirror.setAttribute("aria-description", "");
48084
48106
  element.style.width = pageSize.width + "in";
48085
48107
  element.style.minWidth = pageSize.width + "in";
48086
48108
  element.style.minHeight = pageSize.height + "in";
@@ -48332,7 +48354,7 @@
48332
48354
  * @returns {Object | void} Migration results
48333
48355
  */
48334
48356
  processCollaborationMigrations() {
48335
- console.debug("[checkVersionMigrations] Current editor version", "0.12.30");
48357
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.1");
48336
48358
  if (!this.options.ydoc) return;
48337
48359
  const metaMap = this.options.ydoc.getMap("meta");
48338
48360
  let docVersion = metaMap.get("version");
@@ -48696,6 +48718,7 @@
48696
48718
  toggleHeaderFooterEditMode(this, null, false);
48697
48719
  const pm = document.querySelector(".ProseMirror");
48698
48720
  pm.classList.remove("header-footer-edit");
48721
+ pm.setAttribute("aria-readonly", false);
48699
48722
  }
48700
48723
  }
48701
48724
  });
@@ -49668,7 +49691,8 @@
49668
49691
  return {
49669
49692
  htmlAttributes: {
49670
49693
  class: "sd-ai-loader",
49671
- contentEditable: "false"
49694
+ contentEditable: "false",
49695
+ "aria-label": "AI loader node"
49672
49696
  }
49673
49697
  };
49674
49698
  },
@@ -49864,7 +49888,8 @@
49864
49888
  addAttributes() {
49865
49889
  return {
49866
49890
  attributes: {
49867
- rendered: false
49891
+ rendered: false,
49892
+ "aria-label": "Document node"
49868
49893
  }
49869
49894
  };
49870
49895
  }
@@ -49888,7 +49913,8 @@
49888
49913
  addAttributes() {
49889
49914
  return {
49890
49915
  attributes: {
49891
- rendered: false
49916
+ rendered: false,
49917
+ "aria-label": "Run node"
49892
49918
  }
49893
49919
  };
49894
49920
  }
@@ -49941,7 +49967,9 @@
49941
49967
  addOptions() {
49942
49968
  return {
49943
49969
  itemTypeName: "listItem",
49944
- htmlAttributes: {},
49970
+ htmlAttributes: {
49971
+ "aria-label": "Bullet list node"
49972
+ },
49945
49973
  keepMarks: true,
49946
49974
  keepAttributes: false
49947
49975
  };
@@ -50232,7 +50260,9 @@
50232
50260
  addOptions() {
50233
50261
  return {
50234
50262
  itemTypeName: "listItem",
50235
- htmlAttributes: {},
50263
+ htmlAttributes: {
50264
+ "aria-label": "Ordered list node"
50265
+ },
50236
50266
  keepMarks: true,
50237
50267
  keepAttributes: false,
50238
50268
  listStyleTypes: ["decimal", "lowerAlpha", "lowerRoman"]
@@ -50632,7 +50662,9 @@
50632
50662
  // to run listItem commands first
50633
50663
  addOptions() {
50634
50664
  return {
50635
- htmlAttributes: {},
50665
+ htmlAttributes: {
50666
+ "aria-label": "List item node"
50667
+ },
50636
50668
  bulletListTypeName: "bulletList",
50637
50669
  orderedListTypeName: "orderedList"
50638
50670
  };
@@ -51154,7 +51186,9 @@
51154
51186
  addOptions() {
51155
51187
  return {
51156
51188
  levels: [1, 2, 3, 4, 5, 6],
51157
- htmlAttributes: {}
51189
+ htmlAttributes: {
51190
+ "aria-label": "Heading node"
51191
+ }
51158
51192
  };
51159
51193
  },
51160
51194
  addAttributes() {
@@ -51215,7 +51249,8 @@
51215
51249
  addOptions() {
51216
51250
  return {
51217
51251
  htmlAttributes: {
51218
- contentEditable: "false"
51252
+ contentEditable: "false",
51253
+ "aria-label": "Comment range start node"
51219
51254
  }
51220
51255
  };
51221
51256
  },
@@ -51244,7 +51279,8 @@
51244
51279
  addOptions() {
51245
51280
  return {
51246
51281
  htmlAttributes: {
51247
- contentEditable: "false"
51282
+ contentEditable: "false",
51283
+ "aria-label": "Comment range end node"
51248
51284
  }
51249
51285
  };
51250
51286
  },
@@ -51272,7 +51308,8 @@
51272
51308
  addOptions() {
51273
51309
  return {
51274
51310
  htmlAttributes: {
51275
- contentEditable: "false"
51311
+ contentEditable: "false",
51312
+ "aria-label": "Comment reference node"
51276
51313
  }
51277
51314
  };
51278
51315
  },
@@ -51447,7 +51484,9 @@
51447
51484
  return {
51448
51485
  htmlAttributes: {
51449
51486
  contentEditable: "false",
51450
- lineBreakType: "page"
51487
+ lineBreakType: "page",
51488
+ "aria-hidden": "true",
51489
+ "aria-label": "Hard break node"
51451
51490
  }
51452
51491
  };
51453
51492
  },
@@ -53805,7 +53844,9 @@
53805
53844
  tableRole: "table",
53806
53845
  addOptions() {
53807
53846
  return {
53808
- htmlAttributes: {},
53847
+ htmlAttributes: {
53848
+ "aria-label": "Table node"
53849
+ },
53809
53850
  resizable: true,
53810
53851
  handleWidth: 5,
53811
53852
  cellMinWidth: 25,
@@ -54055,7 +54096,9 @@
54055
54096
  isolating: true,
54056
54097
  addOptions() {
54057
54098
  return {
54058
- htmlAttributes: {}
54099
+ htmlAttributes: {
54100
+ "aria-label": "Table head node"
54101
+ }
54059
54102
  };
54060
54103
  },
54061
54104
  addAttributes() {
@@ -54095,7 +54138,9 @@
54095
54138
  tableRole: "row",
54096
54139
  addOptions() {
54097
54140
  return {
54098
- htmlAttributes: {}
54141
+ htmlAttributes: {
54142
+ "aria-label": "Table row node"
54143
+ }
54099
54144
  };
54100
54145
  },
54101
54146
  addAttributes() {
@@ -54123,7 +54168,9 @@
54123
54168
  isolating: true,
54124
54169
  addOptions() {
54125
54170
  return {
54126
- htmlAttributes: {}
54171
+ htmlAttributes: {
54172
+ "aria-label": "Table cell node"
54173
+ }
54127
54174
  };
54128
54175
  },
54129
54176
  addAttributes() {
@@ -54804,7 +54851,8 @@
54804
54851
  addOptions() {
54805
54852
  return {
54806
54853
  htmlAttributes: {
54807
- class: annotationClass
54854
+ class: annotationClass,
54855
+ "aria-label": "Field annotation node"
54808
54856
  },
54809
54857
  annotationClass,
54810
54858
  annotationContentClass,
@@ -55746,7 +55794,8 @@
55746
55794
  return {
55747
55795
  allowBase64: true,
55748
55796
  htmlAttributes: {
55749
- style: "display: inline-block;"
55797
+ style: "display: inline-block;",
55798
+ "aria-label": "Image node"
55750
55799
  }
55751
55800
  };
55752
55801
  },
@@ -55862,7 +55911,11 @@
55862
55911
  inline: true,
55863
55912
  addOptions() {
55864
55913
  return {
55865
- htmlAttributes: { style: "height: 0; width: 0;" }
55914
+ htmlAttributes: {
55915
+ style: "height: 0; width: 0;",
55916
+ "aria-label": "Bookmark start node",
55917
+ role: "link"
55918
+ }
55866
55919
  };
55867
55920
  },
55868
55921
  addAttributes() {
@@ -55896,7 +55949,8 @@
55896
55949
  addOptions() {
55897
55950
  return {
55898
55951
  htmlAttributes: {
55899
- class: "sd-editor-mention"
55952
+ class: "sd-editor-mention",
55953
+ "aria-label": "Mention node"
55900
55954
  }
55901
55955
  };
55902
55956
  },
@@ -55934,7 +55988,8 @@
55934
55988
  addOptions() {
55935
55989
  return {
55936
55990
  htmlAttributes: {
55937
- "data-id": "auto-page-number"
55991
+ "data-id": "auto-page-number",
55992
+ "aria-label": "Page number node"
55938
55993
  }
55939
55994
  };
55940
55995
  },
@@ -55953,7 +56008,8 @@
55953
56008
  addOptions() {
55954
56009
  return {
55955
56010
  htmlAttributes: {
55956
- "data-id": "auto-total-pages"
56011
+ "data-id": "auto-total-pages",
56012
+ "aria-label": "Total page count node"
55957
56013
  }
55958
56014
  };
55959
56015
  },
@@ -55972,7 +56028,8 @@
55972
56028
  addOptions() {
55973
56029
  return {
55974
56030
  htmlAttributes: {
55975
- class: "sd-editor-shape-container"
56031
+ class: "sd-editor-shape-container",
56032
+ "aria-label": "Shape container node"
55976
56033
  }
55977
56034
  };
55978
56035
  },
@@ -56025,7 +56082,8 @@
56025
56082
  addOptions() {
56026
56083
  return {
56027
56084
  htmlAttributes: {
56028
- class: "sd-editor-shape-textbox"
56085
+ class: "sd-editor-shape-textbox",
56086
+ "aria-label": "Shape textbox node"
56029
56087
  }
56030
56088
  };
56031
56089
  },
@@ -56117,7 +56175,9 @@
56117
56175
  addOptions() {
56118
56176
  return {
56119
56177
  annotationClass: "sd-structured-content-tag",
56120
- htmlAttributes: {}
56178
+ htmlAttributes: {
56179
+ "aria-label": "Structured content node"
56180
+ }
56121
56181
  };
56122
56182
  },
56123
56183
  parseDOM() {
@@ -59577,9 +59637,9 @@
59577
59637
  };
59578
59638
  const _hoisted_1$k = ["onClick", "onMouseenter"];
59579
59639
  const _hoisted_2$e = { key: 0 };
59580
- const _hoisted_3$c = { key: 0 };
59640
+ const _hoisted_3$b = { key: 0 };
59581
59641
  const _hoisted_4$8 = { key: 1 };
59582
- const _hoisted_5$7 = { key: 1 };
59642
+ const _hoisted_5$6 = { key: 1 };
59583
59643
  const _sfc_main$l = {
59584
59644
  __name: "Mentions",
59585
59645
  props: {
@@ -59652,9 +59712,9 @@
59652
59712
  class: normalizeClass(["user-row", { selected: activeUserIndex.value === index2 }])
59653
59713
  }, [
59654
59714
  user.name ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
59655
- user.name ? (openBlock(), createElementBlock("span", _hoisted_3$c, toDisplayString(user.name), 1)) : createCommentVNode("", true),
59715
+ user.name ? (openBlock(), createElementBlock("span", _hoisted_3$b, toDisplayString(user.name), 1)) : createCommentVNode("", true),
59656
59716
  user.name && user.email ? (openBlock(), createElementBlock("span", _hoisted_4$8, " (" + toDisplayString(user.email) + ")", 1)) : createCommentVNode("", true)
59657
- ])) : (openBlock(), createElementBlock("div", _hoisted_5$7, [
59717
+ ])) : (openBlock(), createElementBlock("div", _hoisted_5$6, [
59658
59718
  createBaseVNode("span", null, toDisplayString(user.email), 1)
59659
59719
  ]))
59660
59720
  ], 42, _hoisted_1$k);
@@ -60965,15 +61025,16 @@
60965
61025
  }
60966
61026
  };
60967
61027
  const ToolbarButtonIcon = /* @__PURE__ */ _export_sfc$1(_sfc_main$5$2, [["__scopeId", "data-v-6d7523ab"]]);
60968
- const _hoisted_1$3$2 = ["data-item"];
60969
- const _hoisted_2$2$2 = {
61028
+ const _hoisted_1$3$2 = ["role"];
61029
+ const _hoisted_2$2$2 = ["data-item", "aria-label"];
61030
+ const _hoisted_3$2$2 = {
60970
61031
  key: 1,
60971
61032
  class: "button-label"
60972
61033
  };
60973
- const _hoisted_3$2$2 = { key: 2 };
60974
- const _hoisted_4$7 = ["placeholder", "onKeydown", "id"];
60975
- const _hoisted_5$6 = ["placeholder", "onKeydown", "id"];
60976
- const _hoisted_6$3 = ["innerHTML"];
61034
+ const _hoisted_4$7 = { key: 2 };
61035
+ const _hoisted_5$5 = ["placeholder", "onKeydown", "id"];
61036
+ const _hoisted_6$3 = ["placeholder", "onKeydown", "id"];
61037
+ const _hoisted_7$3 = ["innerHTML"];
60977
61038
  const _sfc_main$4$2 = {
60978
61039
  __name: "ToolbarButton",
60979
61040
  props: {
@@ -61000,6 +61061,10 @@
61000
61061
  defaultLabel: {
61001
61062
  type: String,
61002
61063
  default: null
61064
+ },
61065
+ isOverflowItem: {
61066
+ type: Boolean,
61067
+ default: false
61003
61068
  }
61004
61069
  },
61005
61070
  emits: ["buttonClick", "textSubmit"],
@@ -61023,6 +61088,7 @@
61023
61088
  } = props.toolbarItem;
61024
61089
  const inlineTextInput = ref$1(props.defaultLabel);
61025
61090
  const inlineInput = ref$1(null);
61091
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
61026
61092
  const handleClick2 = () => {
61027
61093
  if (hasInlineTextInput) {
61028
61094
  inlineInput.value?.focus();
@@ -61050,12 +61116,15 @@
61050
61116
  return (_ctx, _cache) => {
61051
61117
  return openBlock(), createElementBlock("div", {
61052
61118
  class: normalizeClass(["toolbar-item", unref(attributes).className]),
61053
- style: normalizeStyle(getStyle.value)
61119
+ style: normalizeStyle(getStyle.value),
61120
+ role: __props.isOverflowItem ? "menuitem" : ""
61054
61121
  }, [
61055
61122
  createBaseVNode("div", {
61056
61123
  onClick: handleClick2,
61057
- class: normalizeClass(["toolbar-button", { active: unref(active), disabled: unref(disabled), narrow: __props.isNarrow, wide: __props.isWide, "has-inline-text-input": unref(hasInlineTextInput) }]),
61058
- "data-item": `btn-${unref(name) || ""}`
61124
+ class: normalizeClass(["toolbar-button", { active: unref(active), disabled: unref(disabled), narrow: __props.isNarrow, wide: __props.isWide, "has-inline-text-input": unref(hasInlineTextInput), "high-contrast": unref(isHighContrastMode2) }]),
61125
+ "data-item": `btn-${unref(name) || ""}`,
61126
+ "aria-label": unref(attributes).ariaLabel,
61127
+ role: "button"
61059
61128
  }, [
61060
61129
  unref(icon) ? (openBlock(), createBlock(ToolbarButtonIcon, {
61061
61130
  key: 0,
@@ -61064,8 +61133,8 @@
61064
61133
  icon: unref(icon),
61065
61134
  name: unref(name)
61066
61135
  }, null, 8, ["color", "icon", "name"])) : createCommentVNode("", true),
61067
- unref(label) && !unref(hideLabel) && !unref(inlineTextInputVisible) ? (openBlock(), createElementBlock("div", _hoisted_2$2$2, toDisplayString(unref(label)), 1)) : createCommentVNode("", true),
61068
- unref(inlineTextInputVisible) ? (openBlock(), createElementBlock("span", _hoisted_3$2$2, [
61136
+ unref(label) && !unref(hideLabel) && !unref(inlineTextInputVisible) ? (openBlock(), createElementBlock("div", _hoisted_3$2$2, toDisplayString(unref(label)), 1)) : createCommentVNode("", true),
61137
+ unref(inlineTextInputVisible) ? (openBlock(), createElementBlock("span", _hoisted_4$7, [
61069
61138
  unref(name) === "fontSize" ? withDirectives((openBlock(), createElementBlock("input", {
61070
61139
  key: 0,
61071
61140
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inlineTextInput.value = $event),
@@ -61073,12 +61142,12 @@
61073
61142
  placeholder: unref(label),
61074
61143
  onKeydown: withKeys(withModifiers(handleInputSubmit, ["prevent"]), ["enter"]),
61075
61144
  type: "text",
61076
- class: "button-text-input",
61145
+ class: normalizeClass(["button-text-input", { "high-contrast": unref(isHighContrastMode2) }]),
61077
61146
  id: "inlineTextInput-" + unref(name),
61078
61147
  autoccomplete: "off",
61079
61148
  ref_key: "inlineInput",
61080
61149
  ref: inlineInput
61081
- }, null, 40, _hoisted_4$7)), [
61150
+ }, null, 42, _hoisted_5$5)), [
61082
61151
  [vModelText, inlineTextInput.value]
61083
61152
  ]) : withDirectives((openBlock(), createElementBlock("input", {
61084
61153
  key: 1,
@@ -61091,7 +61160,7 @@
61091
61160
  autoccomplete: "off",
61092
61161
  ref_key: "inlineInput",
61093
61162
  ref: inlineInput
61094
- }, null, 40, _hoisted_5$6)), [
61163
+ }, null, 40, _hoisted_6$3)), [
61095
61164
  [vModelText, inlineTextInput.value]
61096
61165
  ])
61097
61166
  ])) : createCommentVNode("", true),
@@ -61100,14 +61169,18 @@
61100
61169
  class: "dropdown-caret",
61101
61170
  innerHTML: caretIcon.value,
61102
61171
  style: normalizeStyle({ opacity: unref(disabled) ? 0.6 : 1 })
61103
- }, null, 12, _hoisted_6$3)) : createCommentVNode("", true)
61104
- ], 10, _hoisted_1$3$2)
61105
- ], 6);
61172
+ }, null, 12, _hoisted_7$3)) : createCommentVNode("", true)
61173
+ ], 10, _hoisted_2$2$2)
61174
+ ], 14, _hoisted_1$3$2);
61106
61175
  };
61107
61176
  }
61108
61177
  };
61109
- const ToolbarButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$4$2, [["__scopeId", "data-v-62bb3747"]]);
61110
- const _hoisted_1$2$2 = { class: "toolbar-separator" };
61178
+ const ToolbarButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$4$2, [["__scopeId", "data-v-6eb57404"]]);
61179
+ const _hoisted_1$2$2 = {
61180
+ class: "toolbar-separator",
61181
+ role: "separator",
61182
+ "aria-label": "Toolbar separator"
61183
+ };
61111
61184
  const _sfc_main$3$2 = {
61112
61185
  __name: "ToolbarSeparator",
61113
61186
  props: {
@@ -61118,19 +61191,30 @@
61118
61191
  },
61119
61192
  emits: ["command"],
61120
61193
  setup(__props, { emit: __emit }) {
61194
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
61195
+ const getSeparatorColor = () => {
61196
+ if (isHighContrastMode2.value) {
61197
+ return "#000";
61198
+ }
61199
+ return "#dbdbdb";
61200
+ };
61121
61201
  return (_ctx, _cache) => {
61122
- return openBlock(), createElementBlock("div", _hoisted_1$2$2, _cache[0] || (_cache[0] = [
61123
- createBaseVNode("div", { class: "separator-inner" }, null, -1)
61124
- ]));
61202
+ return openBlock(), createElementBlock("div", _hoisted_1$2$2, [
61203
+ createBaseVNode("div", {
61204
+ class: "separator-inner",
61205
+ style: normalizeStyle({ backgroundColor: getSeparatorColor() })
61206
+ }, null, 4)
61207
+ ]);
61125
61208
  };
61126
61209
  }
61127
61210
  };
61128
- const ToolbarSeparator = /* @__PURE__ */ _export_sfc$1(_sfc_main$3$2, [["__scopeId", "data-v-ac2ee4f9"]]);
61211
+ const ToolbarSeparator = /* @__PURE__ */ _export_sfc$1(_sfc_main$3$2, [["__scopeId", "data-v-b240fc3a"]]);
61129
61212
  const _hoisted_1$1$2 = { class: "overflow-menu" };
61130
61213
  const _hoisted_2$1$2 = { class: "overflow-menu-trigger" };
61131
61214
  const _hoisted_3$1$2 = {
61132
61215
  key: 0,
61133
- class: "overflow-menu_items"
61216
+ class: "overflow-menu_items",
61217
+ role: "group"
61134
61218
  };
61135
61219
  const _sfc_main$2$2 = {
61136
61220
  __name: "OverflowMenu",
@@ -61168,16 +61252,17 @@
61168
61252
  ]),
61169
61253
  isDropdownOpened.value ? (openBlock(), createElementBlock("div", _hoisted_3$1$2, [
61170
61254
  createVNode(ButtonGroup, {
61255
+ class: "superdoc-toolbar-overflow",
61171
61256
  "toolbar-items": __props.overflowItems,
61172
- onCommand: handleCommand,
61173
- class: "superdoc-toolbar-overflow"
61257
+ "from-overflow": "",
61258
+ onCommand: handleCommand
61174
61259
  }, null, 8, ["toolbar-items"])
61175
61260
  ])) : createCommentVNode("", true)
61176
61261
  ]);
61177
61262
  };
61178
61263
  }
61179
61264
  };
61180
- const OverflowMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$2$2, [["__scopeId", "data-v-ca29bf1d"]]);
61265
+ const OverflowMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$2$2, [["__scopeId", "data-v-c637209b"]]);
61181
61266
  function plugin$1$1(options2) {
61182
61267
  let _bPrefix = ".";
61183
61268
  let _ePrefix = "__";
@@ -70510,7 +70595,7 @@ ${style2}
70510
70595
  });
70511
70596
  const _hoisted_1$j = { key: 0 };
70512
70597
  const _hoisted_2$d = { key: 0 };
70513
- const _hoisted_3$b = { key: 0 };
70598
+ const _hoisted_3$a = { key: 0 };
70514
70599
  const _sfc_main$1$1 = {
70515
70600
  __name: "ButtonGroup",
70516
70601
  props: {
@@ -70525,6 +70610,10 @@ ${style2}
70525
70610
  position: {
70526
70611
  type: String,
70527
70612
  default: "left"
70613
+ },
70614
+ fromOverflow: {
70615
+ type: Boolean,
70616
+ default: false
70528
70617
  }
70529
70618
  },
70530
70619
  emits: ["command"],
@@ -70532,6 +70621,7 @@ ${style2}
70532
70621
  const emit2 = __emit;
70533
70622
  const props = __props;
70534
70623
  const currentItem = ref$1(null);
70624
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
70535
70625
  const isMobile = window.matchMedia("(max-width: 768px)").matches;
70536
70626
  const styleMap = {
70537
70627
  left: {
@@ -70590,13 +70680,20 @@ ${style2}
70590
70680
  };
70591
70681
  });
70592
70682
  };
70683
+ const getDropdownAttributes = (option, item) => {
70684
+ return {
70685
+ role: "menuitem",
70686
+ ariaLabel: `${item.attributes.value.ariaLabel} - ${option.label}`
70687
+ };
70688
+ };
70593
70689
  const handleClickOutside = (e) => {
70594
70690
  closeDropdowns();
70595
70691
  };
70596
70692
  return (_ctx, _cache) => {
70597
70693
  return openBlock(), createElementBlock("div", {
70598
70694
  style: normalizeStyle(getPositionStyle.value),
70599
- class: "button-group"
70695
+ class: "button-group",
70696
+ role: "group"
70600
70697
  }, [
70601
70698
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.toolbarItems, (item) => {
70602
70699
  return openBlock(), createElementBlock("div", {
@@ -70617,10 +70714,14 @@ ${style2}
70617
70714
  show: item.expand.value,
70618
70715
  size: "medium",
70619
70716
  placement: "bottom-start",
70620
- class: "toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown",
70717
+ class: normalizeClass(["toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown", { "high-contrast": unref(isHighContrastMode2) }]),
70621
70718
  onSelect: (key, option) => handleSelect(item, option),
70622
70719
  onClickoutside: handleClickOutside,
70623
- style: normalizeStyle(item.dropdownStyles.value)
70720
+ style: normalizeStyle(item.dropdownStyles.value),
70721
+ "menu-props": () => ({
70722
+ role: "menu"
70723
+ }),
70724
+ "node-props": (option) => getDropdownAttributes(option, item)
70624
70725
  }, {
70625
70726
  default: withCtx(() => [
70626
70727
  createVNode(unref(NTooltip), {
@@ -70644,7 +70745,7 @@ ${style2}
70644
70745
  }, 1032, ["disabled"])
70645
70746
  ]),
70646
70747
  _: 2
70647
- }, 1032, ["options", "trigger", "show", "onSelect", "style"])) : isButton(item) ? (openBlock(), createBlock(unref(NTooltip), {
70748
+ }, 1032, ["options", "trigger", "show", "class", "onSelect", "style", "node-props"])) : isButton(item) ? (openBlock(), createBlock(unref(NTooltip), {
70648
70749
  key: 2,
70649
70750
  trigger: "hover",
70650
70751
  class: "sd-editor-toolbar-tooltip"
@@ -70652,14 +70753,15 @@ ${style2}
70652
70753
  trigger: withCtx(() => [
70653
70754
  createVNode(ToolbarButton, {
70654
70755
  "toolbar-item": item,
70756
+ "is-overflow-item": __props.fromOverflow,
70655
70757
  onTextSubmit: ($event) => handleToolbarButtonTextSubmit(item, $event),
70656
70758
  onButtonClick: ($event) => handleToolbarButtonClick(item)
70657
- }, null, 8, ["toolbar-item", "onTextSubmit", "onButtonClick"])
70759
+ }, null, 8, ["toolbar-item", "is-overflow-item", "onTextSubmit", "onButtonClick"])
70658
70760
  ]),
70659
70761
  default: withCtx(() => [
70660
70762
  item.tooltip ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
70661
70763
  createTextVNode(toDisplayString(item.tooltip) + " ", 1),
70662
- item.disabled.value ? (openBlock(), createElementBlock("span", _hoisted_3$b, "(disabled)")) : createCommentVNode("", true)
70764
+ item.disabled.value ? (openBlock(), createElementBlock("span", _hoisted_3$a, "(disabled)")) : createCommentVNode("", true)
70663
70765
  ])) : createCommentVNode("", true)
70664
70766
  ]),
70665
70767
  _: 2
@@ -70675,7 +70777,7 @@ ${style2}
70675
70777
  };
70676
70778
  }
70677
70779
  };
70678
- const ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-7751c4e5"]]);
70780
+ const ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-b09e5a20"]]);
70679
70781
  const _sfc_main$k = {
70680
70782
  __name: "Toolbar",
70681
70783
  emits: ["command", "toggle", "select"],
@@ -70720,7 +70822,9 @@ ${style2}
70720
70822
  return (_ctx, _cache) => {
70721
70823
  return openBlock(), createElementBlock("div", {
70722
70824
  class: "superdoc-toolbar",
70723
- key: unref(toolbarKey)
70825
+ key: unref(toolbarKey),
70826
+ role: "toolbar",
70827
+ "aria-label": "Toolbar"
70724
70828
  }, [
70725
70829
  unref(showLeftSide) ? (openBlock(), createBlock(ButtonGroup, {
70726
70830
  key: 0,
@@ -70746,7 +70850,7 @@ ${style2}
70746
70850
  };
70747
70851
  }
70748
70852
  };
70749
- const Toolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__scopeId", "data-v-abd0fb95"]]);
70853
+ const Toolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__scopeId", "data-v-2a400574"]]);
70750
70854
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
70751
70855
  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: ";
70752
70856
  async function baseInsightsFetch(payload, options2 = {}) {
@@ -70983,9 +71087,9 @@ ${style2}
70983
71087
  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>';
70984
71088
  const _hoisted_1$i = { class: "ai-user-input-field" };
70985
71089
  const _hoisted_2$c = ["innerHTML"];
70986
- const _hoisted_3$a = ["placeholder"];
71090
+ const _hoisted_3$9 = ["placeholder"];
70987
71091
  const _hoisted_4$6 = { class: "ai-loader" };
70988
- const _hoisted_5$5 = ["innerHTML"];
71092
+ const _hoisted_5$4 = ["innerHTML"];
70989
71093
  const _sfc_main$j = {
70990
71094
  __name: "AIWriter",
70991
71095
  props: {
@@ -71261,7 +71365,7 @@ ${style2}
71261
71365
  onInput: handleInput,
71262
71366
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => promptText.value = $event),
71263
71367
  rows: "4"
71264
- }, null, 40, _hoisted_3$a), [
71368
+ }, null, 40, _hoisted_3$9), [
71265
71369
  [vModelText, promptText.value]
71266
71370
  ])
71267
71371
  ]),
@@ -71271,7 +71375,7 @@ ${style2}
71271
71375
  class: "ai-textarea-icon ai-submit-button",
71272
71376
  onClick: withModifiers(handleSubmit, ["stop"]),
71273
71377
  innerHTML: unref(paperPlane)
71274
- }, null, 8, _hoisted_5$5)) : createCommentVNode("", true)
71378
+ }, null, 8, _hoisted_5$4)) : createCommentVNode("", true)
71275
71379
  ])
71276
71380
  ], 544);
71277
71381
  };
@@ -71606,71 +71710,80 @@ ${style2}
71606
71710
  onDeactivate
71607
71711
  };
71608
71712
  };
71609
- const _hoisted_1$b$1 = { class: "alignment-buttons" };
71713
+ const _hoisted_1$b$1 = ["innerHTML"];
71610
71714
  const _hoisted_2$9$1 = ["innerHTML"];
71611
- const _hoisted_3$8 = ["innerHTML"];
71715
+ const _hoisted_3$7$1 = ["innerHTML"];
71612
71716
  const _hoisted_4$3$1 = ["innerHTML"];
71613
- const _hoisted_5$3 = ["innerHTML"];
71614
71717
  const _sfc_main$c$1 = {
71615
71718
  __name: "AlignmentButtons",
71616
71719
  emits: ["select"],
71617
71720
  setup(__props, { emit: __emit }) {
71721
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
71618
71722
  const emit2 = __emit;
71619
71723
  const select = (alignment2) => {
71620
71724
  emit2("select", alignment2);
71621
71725
  };
71622
71726
  return (_ctx, _cache) => {
71623
- return openBlock(), createElementBlock("div", _hoisted_1$b$1, [
71727
+ return openBlock(), createElementBlock("div", {
71728
+ class: normalizeClass(["alignment-buttons", { "high-contrast": unref(isHighContrastMode2) }])
71729
+ }, [
71624
71730
  createBaseVNode("div", {
71625
71731
  class: "button-icon",
71626
71732
  onClick: _cache[0] || (_cache[0] = ($event) => select("left")),
71627
71733
  innerHTML: unref(toolbarIcons).alignLeft,
71628
- "data-item": "btn-textAlign-option"
71629
- }, null, 8, _hoisted_2$9$1),
71734
+ "data-item": "btn-textAlign-option",
71735
+ role: "menuitem",
71736
+ "aria-label": "Align left"
71737
+ }, null, 8, _hoisted_1$b$1),
71630
71738
  createBaseVNode("div", {
71631
71739
  class: "button-icon",
71632
71740
  onClick: _cache[1] || (_cache[1] = ($event) => select("center")),
71633
71741
  innerHTML: unref(toolbarIcons).alignCenter,
71634
- "data-item": "btn-textAlign-option"
71635
- }, null, 8, _hoisted_3$8),
71742
+ "data-item": "btn-textAlign-option",
71743
+ role: "menuitem",
71744
+ "aria-label": "Align center"
71745
+ }, null, 8, _hoisted_2$9$1),
71636
71746
  createBaseVNode("div", {
71637
71747
  class: "button-icon",
71638
71748
  onClick: _cache[2] || (_cache[2] = ($event) => select("right")),
71639
71749
  innerHTML: unref(toolbarIcons).alignRight,
71640
- "data-item": "btn-textAlign-option"
71641
- }, null, 8, _hoisted_4$3$1),
71750
+ "data-item": "btn-textAlign-option",
71751
+ role: "menuitem",
71752
+ "aria-label": "Align right"
71753
+ }, null, 8, _hoisted_3$7$1),
71642
71754
  createBaseVNode("div", {
71643
71755
  class: "button-icon",
71644
71756
  onClick: _cache[3] || (_cache[3] = ($event) => select("justify")),
71645
71757
  innerHTML: unref(toolbarIcons).alignJustify,
71646
- "data-item": "btn-textAlign-option"
71647
- }, null, 8, _hoisted_5$3)
71648
- ]);
71758
+ "data-item": "btn-textAlign-option",
71759
+ role: "menuitem",
71760
+ "aria-label": "Justify"
71761
+ }, null, 8, _hoisted_4$3$1)
71762
+ ], 2);
71649
71763
  };
71650
71764
  }
71651
71765
  };
71652
- const AlignmentButtons = /* @__PURE__ */ _export_sfc$1(_sfc_main$c$1, [["__scopeId", "data-v-932a4937"]]);
71653
- const _hoisted_1$a$1 = { class: "link-input-ctn" };
71654
- const _hoisted_2$8$1 = {
71766
+ const AlignmentButtons = /* @__PURE__ */ _export_sfc$1(_sfc_main$c$1, [["__scopeId", "data-v-58d8a9bb"]]);
71767
+ const _hoisted_1$a$1 = {
71655
71768
  key: 0,
71656
71769
  class: "link-title"
71657
71770
  };
71658
- const _hoisted_3$7$1 = {
71771
+ const _hoisted_2$8$1 = {
71659
71772
  key: 1,
71660
71773
  class: "link-title"
71661
71774
  };
71662
- const _hoisted_4$2$1 = {
71775
+ const _hoisted_3$6$1 = {
71663
71776
  key: 2,
71664
71777
  class: "link-title"
71665
71778
  };
71666
- const _hoisted_5$2$1 = { key: 3 };
71667
- const _hoisted_6$1$1 = { class: "input-row" };
71668
- const _hoisted_7$1$1 = ["innerHTML"];
71669
- const _hoisted_8$2 = ["onKeydown"];
71670
- const _hoisted_9$2 = ["innerHTML"];
71671
- const _hoisted_10$1 = { class: "input-row link-buttons" };
71672
- const _hoisted_11$1 = ["innerHTML"];
71673
- const _hoisted_12$1 = {
71779
+ const _hoisted_4$2$1 = { key: 3 };
71780
+ const _hoisted_5$2$1 = { class: "input-row" };
71781
+ const _hoisted_6$1$1 = ["innerHTML"];
71782
+ const _hoisted_7$2 = ["onKeydown"];
71783
+ const _hoisted_8$2 = ["innerHTML"];
71784
+ const _hoisted_9$2 = { class: "input-row link-buttons" };
71785
+ const _hoisted_10$1 = ["innerHTML"];
71786
+ const _hoisted_11$1 = {
71674
71787
  key: 4,
71675
71788
  class: "input-row go-to-anchor clickable"
71676
71789
  };
@@ -71703,6 +71816,7 @@ ${style2}
71703
71816
  setup(__props, { emit: __emit }) {
71704
71817
  const emit2 = __emit;
71705
71818
  const props = __props;
71819
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
71706
71820
  const { proxy } = getCurrentInstance();
71707
71821
  const handleSubmit = () => {
71708
71822
  if (proxy?.$submit instanceof Function) proxy.$submit();
@@ -71753,16 +71867,19 @@ ${style2}
71753
71867
  if (props.showInput) focusInput();
71754
71868
  });
71755
71869
  return (_ctx, _cache) => {
71756
- return openBlock(), createElementBlock("div", _hoisted_1$a$1, [
71757
- !__props.href ? (openBlock(), createElementBlock("div", _hoisted_2$8$1, "Add link")) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_3$7$1, "Page anchor")) : (openBlock(), createElementBlock("div", _hoisted_4$2$1, "Edit link")),
71758
- __props.showInput && !isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_5$2$1, [
71759
- createBaseVNode("div", _hoisted_6$1$1, [
71870
+ return openBlock(), createElementBlock("div", {
71871
+ class: normalizeClass(["link-input-ctn", { "high-contrast": unref(isHighContrastMode2) }])
71872
+ }, [
71873
+ !__props.href ? (openBlock(), createElementBlock("div", _hoisted_1$a$1, "Add link")) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_2$8$1, "Page anchor")) : (openBlock(), createElementBlock("div", _hoisted_3$6$1, "Edit link")),
71874
+ __props.showInput && !isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_4$2$1, [
71875
+ createBaseVNode("div", _hoisted_5$2$1, [
71760
71876
  createBaseVNode("div", {
71761
71877
  class: "input-icon",
71762
71878
  innerHTML: unref(toolbarIcons).linkInput
71763
- }, null, 8, _hoisted_7$1$1),
71879
+ }, null, 8, _hoisted_6$1$1),
71764
71880
  withDirectives(createBaseVNode("input", {
71765
71881
  type: "text",
71882
+ name: "link",
71766
71883
  placeholder: "Type or paste a link",
71767
71884
  class: normalizeClass({ error: urlError.value }),
71768
71885
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => rawUrl.value = $event),
@@ -71770,7 +71887,7 @@ ${style2}
71770
71887
  withKeys(withModifiers(handleSubmit, ["stop", "prevent"]), ["enter"]),
71771
71888
  _cache[1] || (_cache[1] = ($event) => urlError.value = false)
71772
71889
  ]
71773
- }, null, 42, _hoisted_8$2), [
71890
+ }, null, 42, _hoisted_7$2), [
71774
71891
  [vModelText, rawUrl.value]
71775
71892
  ]),
71776
71893
  createBaseVNode("div", {
@@ -71778,9 +71895,9 @@ ${style2}
71778
71895
  innerHTML: unref(toolbarIcons).openLink,
71779
71896
  onClick: openLink,
71780
71897
  "data-item": "btn-link-open"
71781
- }, null, 10, _hoisted_9$2)
71898
+ }, null, 10, _hoisted_8$2)
71782
71899
  ]),
71783
- createBaseVNode("div", _hoisted_10$1, [
71900
+ createBaseVNode("div", _hoisted_9$2, [
71784
71901
  __props.href ? (openBlock(), createElementBlock("button", {
71785
71902
  key: 0,
71786
71903
  class: "remove-btn",
@@ -71790,7 +71907,7 @@ ${style2}
71790
71907
  createBaseVNode("div", {
71791
71908
  class: "remove-btn__icon",
71792
71909
  innerHTML: unref(toolbarIcons).removeLink
71793
- }, null, 8, _hoisted_11$1),
71910
+ }, null, 8, _hoisted_10$1),
71794
71911
  _cache[3] || (_cache[3] = createTextVNode(" Remove "))
71795
71912
  ])) : createCommentVNode("", true),
71796
71913
  showApply.value ? (openBlock(), createElementBlock("button", {
@@ -71800,23 +71917,22 @@ ${style2}
71800
71917
  "data-item": "btn-link-apply"
71801
71918
  }, toDisplayString(getApplyText.value), 3)) : createCommentVNode("", true)
71802
71919
  ])
71803
- ])) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_12$1, [
71920
+ ])) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
71804
71921
  createBaseVNode("a", {
71805
71922
  onClick: _cache[2] || (_cache[2] = withModifiers((...args) => __props.goToAnchor && __props.goToAnchor(...args), ["stop", "prevent"]))
71806
71923
  }, "Go to " + toDisplayString(__props.href.startsWith("#_") ? __props.href.substring(2) : __props.href), 1)
71807
71924
  ])) : createCommentVNode("", true)
71808
- ]);
71925
+ ], 2);
71809
71926
  };
71810
71927
  }
71811
71928
  };
71812
- const LinkInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$b$1, [["__scopeId", "data-v-04bac853"]]);
71813
- const _hoisted_1$9$1 = { class: "document-mode" };
71814
- const _hoisted_2$7$1 = ["onClick"];
71815
- const _hoisted_3$6$1 = { class: "document-mode-column icon-column" };
71816
- const _hoisted_4$1$1 = ["innerHTML"];
71817
- const _hoisted_5$1$1 = { class: "document-mode-column text-column" };
71818
- const _hoisted_6$2 = { class: "document-mode-type" };
71819
- const _hoisted_7$2 = { class: "document-mode-description" };
71929
+ const LinkInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$b$1, [["__scopeId", "data-v-64aa14bc"]]);
71930
+ const _hoisted_1$9$1 = ["onClick"];
71931
+ const _hoisted_2$7$1 = { class: "document-mode-column icon-column" };
71932
+ const _hoisted_3$5$1 = ["innerHTML"];
71933
+ const _hoisted_4$1$1 = { class: "document-mode-column text-column" };
71934
+ const _hoisted_5$1$1 = { class: "document-mode-type" };
71935
+ const _hoisted_6$2 = { class: "document-mode-description" };
71820
71936
  const _sfc_main$a$1 = {
71821
71937
  __name: "DocumentMode",
71822
71938
  props: {
@@ -71827,34 +71943,38 @@ ${style2}
71827
71943
  emits: ["select"],
71828
71944
  setup(__props, { emit: __emit }) {
71829
71945
  const emit2 = __emit;
71946
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
71830
71947
  const handleClick2 = (item) => {
71831
71948
  emit2("select", item);
71832
71949
  };
71833
71950
  return (_ctx, _cache) => {
71834
- return openBlock(), createElementBlock("div", _hoisted_1$9$1, [
71951
+ return openBlock(), createElementBlock("div", {
71952
+ class: normalizeClass(["document-mode", { "high-contrast": unref(isHighContrastMode2) }])
71953
+ }, [
71835
71954
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.options, (option) => {
71836
71955
  return openBlock(), createElementBlock("div", {
71837
71956
  class: normalizeClass(["option-item", { disabled: option.disabled }]),
71838
71957
  onClick: ($event) => handleClick2(option),
71839
- "data-item": "btn-documentMode-option"
71958
+ "data-item": "btn-documentMode-option",
71959
+ role: "menuitem"
71840
71960
  }, [
71841
- createBaseVNode("div", _hoisted_3$6$1, [
71961
+ createBaseVNode("div", _hoisted_2$7$1, [
71842
71962
  createBaseVNode("div", {
71843
71963
  class: "icon-column__icon",
71844
71964
  innerHTML: option.icon
71845
- }, null, 8, _hoisted_4$1$1)
71965
+ }, null, 8, _hoisted_3$5$1)
71846
71966
  ]),
71847
- createBaseVNode("div", _hoisted_5$1$1, [
71848
- createBaseVNode("div", _hoisted_6$2, toDisplayString(option.label), 1),
71849
- createBaseVNode("div", _hoisted_7$2, toDisplayString(option.description), 1)
71967
+ createBaseVNode("div", _hoisted_4$1$1, [
71968
+ createBaseVNode("div", _hoisted_5$1$1, toDisplayString(option.label), 1),
71969
+ createBaseVNode("div", _hoisted_6$2, toDisplayString(option.description), 1)
71850
71970
  ])
71851
- ], 10, _hoisted_2$7$1);
71971
+ ], 10, _hoisted_1$9$1);
71852
71972
  }), 256))
71853
- ]);
71973
+ ], 2);
71854
71974
  };
71855
71975
  }
71856
71976
  };
71857
- const DocumentMode = /* @__PURE__ */ _export_sfc$1(_sfc_main$a$1, [["__scopeId", "data-v-8afd7fbb"]]);
71977
+ const DocumentMode = /* @__PURE__ */ _export_sfc$1(_sfc_main$a$1, [["__scopeId", "data-v-050d9d49"]]);
71858
71978
  const _hoisted_1$8$1 = {
71859
71979
  key: 0,
71860
71980
  class: "linked-style-buttons"
@@ -71897,9 +72017,9 @@ ${style2}
71897
72017
  }
71898
72018
  };
71899
72019
  const LinkedStyle = /* @__PURE__ */ _export_sfc$1(_sfc_main$9$1, [["__scopeId", "data-v-bf5a8c1e"]]);
71900
- const _hoisted_1$7$1 = ["onClick"];
72020
+ const _hoisted_1$7$1 = ["aria-label", "onClick"];
71901
72021
  const _hoisted_2$5$1 = ["innerHTML"];
71902
- const _hoisted_3$5$1 = ["innerHTML"];
72022
+ const _hoisted_3$4$1 = ["innerHTML"];
71903
72023
  const _sfc_main$8$1 = {
71904
72024
  __name: "IconGridRow",
71905
72025
  props: {
@@ -71936,12 +72056,15 @@ ${style2}
71936
72056
  return openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.icons, (row, rowIndex) => {
71937
72057
  return openBlock(), createElementBlock("div", {
71938
72058
  class: "option-row",
71939
- key: rowIndex
72059
+ key: rowIndex,
72060
+ role: "group"
71940
72061
  }, [
71941
72062
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(row, (option, optionIndex) => {
71942
72063
  return openBlock(), createElementBlock("div", {
71943
72064
  class: "option",
71944
72065
  key: optionIndex,
72066
+ "aria-label": option.label,
72067
+ role: "menuitem",
71945
72068
  onClick: withModifiers(($event) => handleClick2(option), ["stop", "prevent"])
71946
72069
  }, [
71947
72070
  createBaseVNode("div", {
@@ -71954,7 +72077,7 @@ ${style2}
71954
72077
  class: "option__check",
71955
72078
  innerHTML: unref(toolbarIcons).colorOptionCheck,
71956
72079
  style: normalizeStyle(getCheckStyle(option.value, optionIndex))
71957
- }, null, 12, _hoisted_3$5$1)) : createCommentVNode("", true)
72080
+ }, null, 12, _hoisted_3$4$1)) : createCommentVNode("", true)
71958
72081
  ], 8, _hoisted_1$7$1);
71959
72082
  }), 128))
71960
72083
  ]);
@@ -71962,11 +72085,11 @@ ${style2}
71962
72085
  };
71963
72086
  }
71964
72087
  };
71965
- const IconGridRow = /* @__PURE__ */ _export_sfc$1(_sfc_main$8$1, [["__scopeId", "data-v-6a2a9a40"]]);
72088
+ const IconGridRow = /* @__PURE__ */ _export_sfc$1(_sfc_main$8$1, [["__scopeId", "data-v-d96a82fa"]]);
71966
72089
  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';
71967
72090
  const _hoisted_1$6$1 = { class: "options-grid-wrap" };
71968
72091
  const _hoisted_2$4$1 = ["innerHTML"];
71969
- const _hoisted_3$4$1 = { class: "option-grid-ctn" };
72092
+ const _hoisted_3$3$1 = { class: "option-grid-ctn" };
71970
72093
  const _sfc_main$7$1 = {
71971
72094
  __name: "IconGrid",
71972
72095
  props: {
@@ -71998,6 +72121,8 @@ ${style2}
71998
72121
  __props.hasNoneIcon ? (openBlock(), createElementBlock("div", {
71999
72122
  key: 0,
72000
72123
  class: "none-option",
72124
+ role: "menuitem",
72125
+ "aria-label": "Clear color selection",
72001
72126
  onClick: _cache[0] || (_cache[0] = ($event) => handleSelect("none"))
72002
72127
  }, [
72003
72128
  createBaseVNode("span", {
@@ -72006,7 +72131,7 @@ ${style2}
72006
72131
  }, null, 8, _hoisted_2$4$1),
72007
72132
  _cache[1] || (_cache[1] = createTextVNode(" None "))
72008
72133
  ])) : createCommentVNode("", true),
72009
- createBaseVNode("div", _hoisted_3$4$1, [
72134
+ createBaseVNode("div", _hoisted_3$3$1, [
72010
72135
  createVNode(IconGridRow, {
72011
72136
  icons: __props.icons,
72012
72137
  "active-color": __props.activeColor,
@@ -72025,7 +72150,7 @@ ${style2}
72025
72150
  };
72026
72151
  }
72027
72152
  };
72028
- const IconGrid = /* @__PURE__ */ _export_sfc$1(_sfc_main$7$1, [["__scopeId", "data-v-47b783db"]]);
72153
+ const IconGrid = /* @__PURE__ */ _export_sfc$1(_sfc_main$7$1, [["__scopeId", "data-v-9246bdef"]]);
72029
72154
  const closeDropdown$1 = (dropdown) => {
72030
72155
  dropdown.expand.value = false;
72031
72156
  };
@@ -72059,84 +72184,83 @@ ${style2}
72059
72184
  };
72060
72185
  const icons = [
72061
72186
  [
72062
- makeColorOption("#111111"),
72063
- makeColorOption("#333333"),
72064
- makeColorOption("#5C5C5C"),
72065
- makeColorOption("#858585"),
72066
- makeColorOption("#ADADAD"),
72067
- makeColorOption("#D6D6D6"),
72068
- makeColorOption("#FFFFFF")
72187
+ makeColorOption("#111111", "black"),
72188
+ makeColorOption("#333333", "dark gray"),
72189
+ makeColorOption("#5C5C5C", "medium gray"),
72190
+ makeColorOption("#858585", "light gray"),
72191
+ makeColorOption("#ADADAD", "very light gray"),
72192
+ makeColorOption("#D6D6D6", "transparent gray"),
72193
+ makeColorOption("#FFFFFF", "white")
72069
72194
  ],
72070
72195
  [
72071
- makeColorOption("#860028"),
72072
- makeColorOption("#D2003F"),
72073
- makeColorOption("#DB3365"),
72074
- makeColorOption("#E4668C"),
72075
- makeColorOption("#ED99B2"),
72076
- makeColorOption("#F6CCD9"),
72077
- makeColorOption("#FF004D")
72196
+ makeColorOption("#860028", "dark red"),
72197
+ makeColorOption("#D2003F", "red"),
72198
+ makeColorOption("#DB3365", "coral red"),
72199
+ makeColorOption("#E4668C", "light red"),
72200
+ makeColorOption("#ED99B2", "pale pink"),
72201
+ makeColorOption("#F6CCD9", "transparent pink"),
72202
+ makeColorOption("#FF004D", "bright pink")
72078
72203
  ],
72079
72204
  [
72080
- makeColorOption("#83015E"),
72081
- makeColorOption("#CD0194"),
72082
- makeColorOption("#D734A9"),
72083
- makeColorOption("#E167BF"),
72084
- makeColorOption("#EB99D4"),
72085
- makeColorOption("#F5CCEA"),
72086
- makeColorOption("#FF00A8")
72205
+ makeColorOption("#83015E", "dark purple"),
72206
+ makeColorOption("#CD0194", "purple"),
72207
+ makeColorOption("#D734A9", "orchid"),
72208
+ makeColorOption("#E167BF", "light purple"),
72209
+ makeColorOption("#EB99D4", "lavender"),
72210
+ makeColorOption("#F5CCEA", "transparent pink"),
72211
+ makeColorOption("#FF00A8", "neon pink")
72087
72212
  ],
72088
72213
  [
72089
- makeColorOption("#8E220A"),
72090
- makeColorOption("#DD340F"),
72091
- makeColorOption("#E45C3F"),
72092
- makeColorOption("#EB856F"),
72093
- makeColorOption("#F1AE9F"),
72094
- makeColorOption("#F8D6CF"),
72095
- makeColorOption("#FF7A00")
72214
+ makeColorOption("#8E220A", "maroon"),
72215
+ makeColorOption("#DD340F", "red-orange"),
72216
+ makeColorOption("#E45C3F", "burnt orange"),
72217
+ makeColorOption("#EB856F", "peach"),
72218
+ makeColorOption("#F1AE9F", "pale peach"),
72219
+ makeColorOption("#F8D6CF", "transparent peach"),
72220
+ makeColorOption("#FF7A00", "orange")
72096
72221
  ],
72097
72222
  [
72098
- makeColorOption("#947D02"),
72099
- makeColorOption("#E7C302"),
72100
- makeColorOption("#ECCF35"),
72101
- makeColorOption("#F1DB67"),
72102
- makeColorOption("#F5E79A"),
72103
- makeColorOption("#FAF3CC"),
72104
- makeColorOption("#FAFF09")
72223
+ makeColorOption("#947D02", "olive"),
72224
+ makeColorOption("#E7C302", "mustard yellow"),
72225
+ makeColorOption("#ECCF35", "yellow"),
72226
+ makeColorOption("#F1DB67", "light yellow"),
72227
+ makeColorOption("#F5E79A", "very pale yellow"),
72228
+ makeColorOption("#FAF3CC", "transparent yellow"),
72229
+ makeColorOption("#FAFF09", "neon yellow")
72105
72230
  ],
72106
72231
  [
72107
- makeColorOption("#055432"),
72108
- makeColorOption("#07834F"),
72109
- makeColorOption("#399C72"),
72110
- makeColorOption("#6AB595"),
72111
- makeColorOption("#9CCDB9"),
72112
- makeColorOption("#CDE6DC"),
72113
- makeColorOption("#05F38F")
72232
+ makeColorOption("#055432", "forest green"),
72233
+ makeColorOption("#07834F", "green"),
72234
+ makeColorOption("#399C72", "medium green"),
72235
+ makeColorOption("#6AB595", "light green"),
72236
+ makeColorOption("#9CCDB9", "mint"),
72237
+ makeColorOption("#CDE6DC", "transparent mint"),
72238
+ makeColorOption("#05F38F", "bright teal")
72114
72239
  ],
72115
72240
  [
72116
- makeColorOption("#063E7E"),
72117
- makeColorOption("#0A60C5"),
72118
- makeColorOption("#3B80D1"),
72119
- makeColorOption("#6CA0DC"),
72120
- makeColorOption("#9DBFE8"),
72121
- makeColorOption("#CEDFF3"),
72122
- makeColorOption("#21c8ce")
72241
+ makeColorOption("#063E7E", "navy blue"),
72242
+ makeColorOption("#0A60C5", "blue"),
72243
+ makeColorOption("#3B80D1", "sky blue"),
72244
+ makeColorOption("#6CA0DC", "cornflower blue"),
72245
+ makeColorOption("#9DBFE8", "light blue"),
72246
+ makeColorOption("#CEDFF3", "very light blue"),
72247
+ makeColorOption("#21c8ce", "cyan")
72123
72248
  ],
72124
72249
  [
72125
- makeColorOption("#3E027A"),
72126
- makeColorOption("#6103BF"),
72127
- makeColorOption("#8136CC"),
72128
- makeColorOption("#A068D9"),
72129
- makeColorOption("#C09AE6"),
72130
- makeColorOption("#DFCDF2"),
72131
- makeColorOption("#A91DFF")
72250
+ makeColorOption("#3E027A", "deep purple"),
72251
+ makeColorOption("#6103BF", "indigo"),
72252
+ makeColorOption("#8136CC", "violet"),
72253
+ makeColorOption("#A068D9", "lavender pink"),
72254
+ makeColorOption("#C09AE6", "light lilac"),
72255
+ makeColorOption("#DFCDF2", "transparent lilac"),
72256
+ makeColorOption("#A91DFF", "neon purple")
72132
72257
  ]
72133
72258
  ];
72134
72259
  const getAvailableColorOptions = () => {
72135
72260
  return icons.flat().map((item) => item.value);
72136
72261
  };
72137
- const _hoisted_1$5$1 = { class: "toolbar-table-grid-wrapper" };
72138
- const _hoisted_2$3$1 = ["data-cols", "data-rows", "onClick"];
72139
- const _hoisted_3$3$1 = { class: "toolbar-table-grid-value" };
72262
+ const _hoisted_1$5$1 = ["data-cols", "data-rows", "onClick"];
72263
+ const _hoisted_2$3$1 = ["aria-valuetext"];
72140
72264
  const _sfc_main$6$1 = {
72141
72265
  __name: "TableGrid",
72142
72266
  emits: ["select", "clickoutside"],
@@ -72144,6 +72268,7 @@ ${style2}
72144
72268
  const emit2 = __emit;
72145
72269
  const selectedRows = ref$1(0);
72146
72270
  const selectedCols = ref$1(0);
72271
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode$1();
72147
72272
  const onTableGridMouseOver = (event) => {
72148
72273
  let target = event.target;
72149
72274
  let isGrid = !!target.dataset.grid;
@@ -72171,7 +72296,9 @@ ${style2}
72171
72296
  emit2("select", { cols, rows });
72172
72297
  };
72173
72298
  return (_ctx, _cache) => {
72174
- return openBlock(), createElementBlock("div", _hoisted_1$5$1, [
72299
+ return openBlock(), createElementBlock("div", {
72300
+ class: normalizeClass(["toolbar-table-grid-wrapper", { "high-contrast": unref(isHighContrastMode2) }])
72301
+ }, [
72175
72302
  createBaseVNode("div", {
72176
72303
  class: "toolbar-table-grid",
72177
72304
  onMouseover: onTableGridMouseOver,
@@ -72187,22 +72314,25 @@ ${style2}
72187
72314
  "data-rows": i2,
72188
72315
  "data-item": "true",
72189
72316
  onClick: withModifiers(($event) => handleClick2({ cols: n2, rows: i2 }), ["stop", "prevent"])
72190
- }, null, 8, _hoisted_2$3$1);
72317
+ }, null, 8, _hoisted_1$5$1);
72191
72318
  }), 64))
72192
72319
  ], 64);
72193
72320
  }), 64))
72194
72321
  ], 32),
72195
- createBaseVNode("div", _hoisted_3$3$1, toDisplayString(selectedRows.value) + " x " + toDisplayString(selectedCols.value), 1)
72196
- ]);
72322
+ createBaseVNode("div", {
72323
+ class: "toolbar-table-grid-value",
72324
+ "aria-valuetext": `${selectedRows.value} x ${selectedCols.value}`
72325
+ }, toDisplayString(selectedRows.value) + " x " + toDisplayString(selectedCols.value), 9, _hoisted_2$3$1)
72326
+ ], 2);
72197
72327
  };
72198
72328
  }
72199
72329
  };
72200
- const TableGrid = /* @__PURE__ */ _export_sfc$1(_sfc_main$6$1, [["__scopeId", "data-v-06352ab9"]]);
72330
+ const TableGrid = /* @__PURE__ */ _export_sfc$1(_sfc_main$6$1, [["__scopeId", "data-v-617bf152"]]);
72201
72331
  const _hoisted_1$4$1 = { class: "toolbar-table-actions" };
72202
- const _hoisted_2$2$1 = ["onClick", "data-item"];
72332
+ const _hoisted_2$2$1 = ["onClick", "data-item", "ariaLabel"];
72203
72333
  const _hoisted_3$2$1 = { class: "toolbar-table-actions__icon" };
72204
72334
  const _hoisted_4$5 = ["innerHTML"];
72205
- const _hoisted_5$4 = { class: "toolbar-table-actions__label" };
72335
+ const _hoisted_5$3 = { class: "toolbar-table-actions__label" };
72206
72336
  const _sfc_main$5$1 = {
72207
72337
  __name: "TableActions",
72208
72338
  props: {
@@ -72222,7 +72352,9 @@ ${style2}
72222
72352
  return openBlock(), createElementBlock("div", {
72223
72353
  class: normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
72224
72354
  onClick: ($event) => handleClick2(option),
72225
- "data-item": option.props?.["data-item"] || ""
72355
+ "data-item": option.props?.["data-item"] || "",
72356
+ ariaLabel: option.props?.ariaLabel,
72357
+ role: "menuitem"
72226
72358
  }, [
72227
72359
  createBaseVNode("div", _hoisted_3$2$1, [
72228
72360
  createBaseVNode("div", {
@@ -72230,14 +72362,14 @@ ${style2}
72230
72362
  innerHTML: option.icon
72231
72363
  }, null, 8, _hoisted_4$5)
72232
72364
  ]),
72233
- createBaseVNode("div", _hoisted_5$4, toDisplayString(option.label), 1)
72365
+ createBaseVNode("div", _hoisted_5$3, toDisplayString(option.label), 1)
72234
72366
  ], 10, _hoisted_2$2$1);
72235
72367
  }), 256))
72236
72368
  ]);
72237
72369
  };
72238
72370
  }
72239
72371
  };
72240
- const TableActions = /* @__PURE__ */ _export_sfc$1(_sfc_main$5$1, [["__scopeId", "data-v-fdbfb4b0"]]);
72372
+ const TableActions = /* @__PURE__ */ _export_sfc$1(_sfc_main$5$1, [["__scopeId", "data-v-f82e859a"]]);
72241
72373
  const checkIconSvg$1 = '<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';
72242
72374
  const _hoisted_1$3$1 = { class: "search-input-ctn" };
72243
72375
  const _hoisted_2$1$1 = { class: "row" };
@@ -72338,7 +72470,10 @@ ${style2}
72338
72470
  name: "bold",
72339
72471
  command: "toggleBold",
72340
72472
  icon: toolbarIcons2.bold,
72341
- tooltip: toolbarTexts2.bold
72473
+ tooltip: toolbarTexts2.bold,
72474
+ attributes: {
72475
+ ariaLabel: "Bold"
72476
+ }
72342
72477
  });
72343
72478
  const fontButton = useToolbarItem({
72344
72479
  type: "dropdown",
@@ -72353,6 +72488,9 @@ ${style2}
72353
72488
  isWide: true,
72354
72489
  style: { width: "116px" },
72355
72490
  suppressActiveHighlight: true,
72491
+ attributes: {
72492
+ ariaLabel: "Font family"
72493
+ },
72356
72494
  options: [...toolbarFonts ? toolbarFonts : TOOLBAR_FONTS],
72357
72495
  onActivate: ({ fontFamily: fontFamily2 }) => {
72358
72496
  if (!fontFamily2) return;
@@ -72373,6 +72511,9 @@ ${style2}
72373
72511
  hasCaret: false,
72374
72512
  isWide: true,
72375
72513
  suppressActiveHighlight: true,
72514
+ attributes: {
72515
+ ariaLabel: "AI"
72516
+ },
72376
72517
  options: [
72377
72518
  {
72378
72519
  type: "render",
@@ -72420,6 +72561,9 @@ ${style2}
72420
72561
  suppressActiveHighlight: true,
72421
72562
  isWide: true,
72422
72563
  command: "setFontSize",
72564
+ attributes: {
72565
+ ariaLabel: "Font size"
72566
+ },
72423
72567
  options: [
72424
72568
  { label: "8", key: "8pt", props: { "data-item": "btn-fontSize-option" } },
72425
72569
  { label: "9", key: "9pt", props: { "data-item": "btn-fontSize-option" } },
@@ -72455,14 +72599,20 @@ ${style2}
72455
72599
  name: "italic",
72456
72600
  command: "toggleItalic",
72457
72601
  icon: toolbarIcons2.italic,
72458
- tooltip: toolbarTexts2.italic
72602
+ tooltip: toolbarTexts2.italic,
72603
+ attributes: {
72604
+ ariaLabel: "Italic"
72605
+ }
72459
72606
  });
72460
72607
  const underline = useToolbarItem({
72461
72608
  type: "button",
72462
72609
  name: "underline",
72463
72610
  command: "toggleUnderline",
72464
72611
  icon: toolbarIcons2.underline,
72465
- tooltip: toolbarTexts2.underline
72612
+ tooltip: toolbarTexts2.underline,
72613
+ attributes: {
72614
+ ariaLabel: "Underline"
72615
+ }
72466
72616
  });
72467
72617
  const highlight = useToolbarItem({
72468
72618
  type: "dropdown",
@@ -72475,6 +72625,9 @@ ${style2}
72475
72625
  command: "setHighlight",
72476
72626
  noArgumentCommand: "unsetHighlight",
72477
72627
  suppressActiveHighlight: true,
72628
+ attributes: {
72629
+ ariaLabel: "Highlight"
72630
+ },
72478
72631
  options: [
72479
72632
  {
72480
72633
  key: "color",
@@ -72497,6 +72650,9 @@ ${style2}
72497
72650
  tooltip: toolbarTexts2.color,
72498
72651
  command: "setColor",
72499
72652
  suppressActiveHighlight: true,
72653
+ attributes: {
72654
+ ariaLabel: "Color"
72655
+ },
72500
72656
  options: [
72501
72657
  {
72502
72658
  key: "color",
@@ -72517,6 +72673,9 @@ ${style2}
72517
72673
  tooltip: toolbarTexts2.search,
72518
72674
  group: "right",
72519
72675
  inputRef: searchRef,
72676
+ attributes: {
72677
+ ariaLabel: "Search"
72678
+ },
72520
72679
  options: [
72521
72680
  {
72522
72681
  type: "render",
@@ -72542,6 +72701,9 @@ ${style2}
72542
72701
  markName: "link",
72543
72702
  icon: toolbarIcons2.link,
72544
72703
  tooltip: toolbarTexts2.link,
72704
+ attributes: {
72705
+ ariaLabel: "Link dropdown"
72706
+ },
72545
72707
  options: [
72546
72708
  {
72547
72709
  type: "render",
@@ -72595,7 +72757,10 @@ ${style2}
72595
72757
  command: "startImageUpload",
72596
72758
  icon: toolbarIcons2.image,
72597
72759
  tooltip: toolbarTexts2.image,
72598
- disabled: false
72760
+ disabled: false,
72761
+ attributes: {
72762
+ ariaLabel: "Image"
72763
+ }
72599
72764
  });
72600
72765
  const tableItem = useToolbarItem({
72601
72766
  type: "dropdown",
@@ -72606,6 +72771,9 @@ ${style2}
72606
72771
  tooltip: toolbarTexts2.table,
72607
72772
  command: "insertTable",
72608
72773
  suppressActiveHighlight: true,
72774
+ attributes: {
72775
+ ariaLabel: "Table"
72776
+ },
72609
72777
  options: [
72610
72778
  {
72611
72779
  key: "table",
@@ -72632,6 +72800,9 @@ ${style2}
72632
72800
  icon: toolbarIcons2.tableActions,
72633
72801
  hideLabel: true,
72634
72802
  disabled: true,
72803
+ attributes: {
72804
+ ariaLabel: "Table actions"
72805
+ },
72635
72806
  options: [
72636
72807
  {
72637
72808
  type: "render",
@@ -72644,69 +72815,102 @@ ${style2}
72644
72815
  label: toolbarTexts2.addRowBefore,
72645
72816
  command: "addRowBefore",
72646
72817
  icon: toolbarIcons2.addRowBefore,
72647
- props: { "data-item": "btn-tableActions-option" }
72818
+ props: {
72819
+ "data-item": "btn-tableActions-option",
72820
+ ariaLabel: "Add row before"
72821
+ }
72648
72822
  },
72649
72823
  {
72650
72824
  label: toolbarTexts2.addRowAfter,
72651
72825
  command: "addRowAfter",
72652
72826
  icon: toolbarIcons2.addRowAfter,
72653
- props: { "data-item": "btn-tableActions-option" }
72827
+ props: {
72828
+ "data-item": "btn-tableActions-option",
72829
+ ariaLabel: "Add row after"
72830
+ }
72654
72831
  },
72655
72832
  {
72656
72833
  label: toolbarTexts2.addColumnBefore,
72657
72834
  command: "addColumnBefore",
72658
72835
  icon: toolbarIcons2.addColumnBefore,
72659
- props: { "data-item": "btn-tableActions-option" }
72836
+ props: {
72837
+ "data-item": "btn-tableActions-option",
72838
+ ariaLabel: "Add column before"
72839
+ }
72660
72840
  },
72661
72841
  {
72662
72842
  label: toolbarTexts2.addColumnAfter,
72663
72843
  command: "addColumnAfter",
72664
72844
  icon: toolbarIcons2.addColumnAfter,
72665
72845
  bottomBorder: true,
72666
- props: { "data-item": "btn-tableActions-option" }
72846
+ props: {
72847
+ "data-item": "btn-tableActions-option",
72848
+ ariaLabel: "Add column after"
72849
+ }
72667
72850
  },
72668
72851
  {
72669
72852
  label: toolbarTexts2.deleteRow,
72670
72853
  command: "deleteRow",
72671
72854
  icon: toolbarIcons2.deleteRow,
72672
- props: { "data-item": "btn-tableActions-option" }
72855
+ props: {
72856
+ "data-item": "btn-tableActions-option",
72857
+ ariaLabel: "Delete row"
72858
+ }
72673
72859
  },
72674
72860
  {
72675
72861
  label: toolbarTexts2.deleteColumn,
72676
72862
  command: "deleteColumn",
72677
72863
  icon: toolbarIcons2.deleteColumn,
72678
- props: { "data-item": "btn-tableActions-option" }
72864
+ props: {
72865
+ "data-item": "btn-tableActions-option",
72866
+ ariaLabel: "Delete column"
72867
+ }
72679
72868
  },
72680
72869
  {
72681
72870
  label: toolbarTexts2.deleteTable,
72682
72871
  command: "deleteTable",
72683
72872
  icon: toolbarIcons2.deleteTable,
72684
- props: { "data-item": "btn-tableActions-option" }
72873
+ props: {
72874
+ "data-item": "btn-tableActions-option",
72875
+ ariaLabel: "Delete table"
72876
+ }
72685
72877
  },
72686
72878
  {
72687
72879
  label: toolbarTexts2.transparentBorders,
72688
72880
  command: "deleteCellAndTableBorders",
72689
72881
  icon: toolbarIcons2.deleteBorders,
72690
72882
  bottomBorder: true,
72691
- props: { "data-item": "btn-tableActions-option" }
72883
+ props: {
72884
+ "data-item": "btn-tableActions-option",
72885
+ ariaLabel: "Delete cell and table borders"
72886
+ }
72692
72887
  },
72693
72888
  {
72694
72889
  label: toolbarTexts2.mergeCells,
72695
72890
  command: "mergeCells",
72696
72891
  icon: toolbarIcons2.mergeCells,
72697
- props: { "data-item": "btn-tableActions-option" }
72892
+ props: {
72893
+ "data-item": "btn-tableActions-option",
72894
+ ariaLabel: "Merge cells"
72895
+ }
72698
72896
  },
72699
72897
  {
72700
72898
  label: toolbarTexts2.splitCell,
72701
72899
  command: "splitCell",
72702
72900
  icon: toolbarIcons2.splitCell,
72703
- props: { "data-item": "btn-tableActions-option" }
72901
+ props: {
72902
+ "data-item": "btn-tableActions-option",
72903
+ ariaLabel: "Split cells"
72904
+ }
72704
72905
  },
72705
72906
  {
72706
72907
  label: toolbarTexts2.fixTables,
72707
72908
  command: "fixTables",
72708
72909
  icon: toolbarIcons2.fixTables,
72709
- props: { "data-item": "btn-tableActions-option" }
72910
+ props: {
72911
+ "data-item": "btn-tableActions-option",
72912
+ ariaLabel: "Fix tables"
72913
+ }
72710
72914
  }
72711
72915
  ];
72712
72916
  function renderTableActions(tableActionsItem2) {
@@ -72729,6 +72933,9 @@ ${style2}
72729
72933
  markName: "textAlign",
72730
72934
  labelAttr: "textAlign",
72731
72935
  suppressActiveHighlight: true,
72936
+ attributes: {
72937
+ ariaLabel: "Text align"
72938
+ },
72732
72939
  options: [
72733
72940
  {
72734
72941
  type: "render",
@@ -72772,14 +72979,20 @@ ${style2}
72772
72979
  name: "list",
72773
72980
  command: "toggleBulletList",
72774
72981
  icon: toolbarIcons2.bulletList,
72775
- tooltip: toolbarTexts2.bulletList
72982
+ tooltip: toolbarTexts2.bulletList,
72983
+ attributes: {
72984
+ ariaLabel: "Bullet list"
72985
+ }
72776
72986
  });
72777
72987
  const numberedList = useToolbarItem({
72778
72988
  type: "button",
72779
72989
  name: "numberedlist",
72780
72990
  command: "toggleOrderedList",
72781
72991
  icon: toolbarIcons2.numberedList,
72782
- tooltip: toolbarTexts2.numberedList
72992
+ tooltip: toolbarTexts2.numberedList,
72993
+ attributes: {
72994
+ ariaLabel: "Numbered list"
72995
+ }
72783
72996
  });
72784
72997
  const indentLeft = useToolbarItem({
72785
72998
  type: "button",
@@ -72787,7 +73000,10 @@ ${style2}
72787
73000
  command: "decreaseTextIndent",
72788
73001
  icon: toolbarIcons2.indentLeft,
72789
73002
  tooltip: toolbarTexts2.indentLeft,
72790
- disabled: false
73003
+ disabled: false,
73004
+ attributes: {
73005
+ ariaLabel: "Left indent"
73006
+ }
72791
73007
  });
72792
73008
  const indentRight = useToolbarItem({
72793
73009
  type: "button",
@@ -72795,14 +73011,20 @@ ${style2}
72795
73011
  command: "increaseTextIndent",
72796
73012
  icon: toolbarIcons2.indentRight,
72797
73013
  tooltip: toolbarTexts2.indentRight,
72798
- disabled: false
73014
+ disabled: false,
73015
+ attributes: {
73016
+ ariaLabel: "Right indent"
73017
+ }
72799
73018
  });
72800
73019
  const overflow = useToolbarItem({
72801
73020
  type: "overflow",
72802
73021
  name: "overflow",
72803
73022
  command: "toggleOverflow",
72804
73023
  icon: toolbarIcons2.overflow,
72805
- disabled: false
73024
+ disabled: false,
73025
+ attributes: {
73026
+ ariaLabel: "Overflow items"
73027
+ }
72806
73028
  });
72807
73029
  const zoom = useToolbarItem({
72808
73030
  type: "dropdown",
@@ -72816,6 +73038,9 @@ ${style2}
72816
73038
  isWide: true,
72817
73039
  inlineTextInputVisible: false,
72818
73040
  hasInlineTextInput: true,
73041
+ attributes: {
73042
+ ariaLabel: "Zoom"
73043
+ },
72819
73044
  options: [
72820
73045
  { label: "50%", key: 0.5, props: { "data-item": "btn-zoom-option" } },
72821
73046
  { label: "75%", key: 0.75, props: { "data-item": "btn-zoom-option" } },
@@ -72838,6 +73063,9 @@ ${style2}
72838
73063
  command: "undo",
72839
73064
  icon: toolbarIcons2.undo,
72840
73065
  group: "left",
73066
+ attributes: {
73067
+ ariaLabel: "Undo"
73068
+ },
72841
73069
  onDeactivate: () => {
72842
73070
  undo2.disabled.value = !superToolbar.undoDepth;
72843
73071
  }
@@ -72850,6 +73078,9 @@ ${style2}
72850
73078
  command: "redo",
72851
73079
  icon: toolbarIcons2.redo,
72852
73080
  group: "left",
73081
+ attributes: {
73082
+ ariaLabel: "Redo"
73083
+ },
72853
73084
  onDeactivate: () => {
72854
73085
  redo2.disabled.value = !superToolbar.redoDepth;
72855
73086
  }
@@ -72861,7 +73092,10 @@ ${style2}
72861
73092
  tooltip: toolbarTexts2.trackChanges,
72862
73093
  command: "toggleTrackChanges",
72863
73094
  icon: toolbarIcons2.trackChanges,
72864
- group: "left"
73095
+ group: "left",
73096
+ attributes: {
73097
+ ariaLabel: "Track changes"
73098
+ }
72865
73099
  });
72866
73100
  const acceptTrackedChangeBySelection = useToolbarItem({
72867
73101
  type: "button",
@@ -72870,7 +73104,10 @@ ${style2}
72870
73104
  tooltip: toolbarTexts2.trackChangesAccept,
72871
73105
  command: "acceptTrackedChangeBySelection",
72872
73106
  icon: toolbarIcons2.trackChangesAccept,
72873
- group: "left"
73107
+ group: "left",
73108
+ attributes: {
73109
+ ariaLabel: "Accept tracked changes"
73110
+ }
72874
73111
  });
72875
73112
  const rejectTrackedChangeOnSelection = useToolbarItem({
72876
73113
  type: "button",
@@ -72879,7 +73116,10 @@ ${style2}
72879
73116
  tooltip: toolbarTexts2.trackChangesReject,
72880
73117
  command: "rejectTrackedChangeOnSelection",
72881
73118
  icon: toolbarIcons2.trackChangesReject,
72882
- group: "left"
73119
+ group: "left",
73120
+ attributes: {
73121
+ ariaLabel: "Reject tracked changes"
73122
+ }
72883
73123
  });
72884
73124
  const toggleTrackChangesOriginal = useToolbarItem({
72885
73125
  type: "button",
@@ -72888,7 +73128,10 @@ ${style2}
72888
73128
  tooltip: toolbarTexts2.trackChangesOriginal,
72889
73129
  command: "toggleTrackChangesShowOriginal",
72890
73130
  icon: toolbarIcons2.trackChangesOriginal,
72891
- group: "left"
73131
+ group: "left",
73132
+ attributes: {
73133
+ ariaLabel: "Toggle tracked changes show original"
73134
+ }
72892
73135
  });
72893
73136
  const toggleTrackChangesFinal = useToolbarItem({
72894
73137
  type: "button",
@@ -72897,14 +73140,20 @@ ${style2}
72897
73140
  tooltip: toolbarTexts2.trackChangesFinal,
72898
73141
  command: "toggleTrackChangesShowFinal",
72899
73142
  icon: toolbarIcons2.trackChangesFinal,
72900
- group: "left"
73143
+ group: "left",
73144
+ attributes: {
73145
+ ariaLabel: "Toggle tracked changes show final"
73146
+ }
72901
73147
  });
72902
73148
  const clearFormatting = useToolbarItem({
72903
73149
  type: "button",
72904
73150
  name: "clearFormatting",
72905
73151
  command: "clearFormat",
72906
73152
  tooltip: toolbarTexts2.clearFormatting,
72907
- icon: toolbarIcons2.clearFormatting
73153
+ icon: toolbarIcons2.clearFormatting,
73154
+ attributes: {
73155
+ ariaLabel: "Clear formatting"
73156
+ }
72908
73157
  });
72909
73158
  [
72910
73159
  bold,
@@ -72920,7 +73169,10 @@ ${style2}
72920
73169
  name: "copyFormat",
72921
73170
  tooltip: toolbarTexts2.copyFormat,
72922
73171
  icon: toolbarIcons2.copyFormat,
72923
- command: "copyFormat"
73172
+ command: "copyFormat",
73173
+ attributes: {
73174
+ ariaLabel: "Copy formatting"
73175
+ }
72924
73176
  });
72925
73177
  const getDocumentOptionsAfterRole = (role2, documentOptions2) => {
72926
73178
  if (role2 === "editor") return documentOptions2;
@@ -72949,7 +73201,8 @@ ${style2}
72949
73201
  disabled: role !== "editor",
72950
73202
  attributes: {
72951
73203
  dropdownPosition: "right",
72952
- className: "toolbar-item--doc-mode"
73204
+ className: "toolbar-item--doc-mode",
73205
+ ariaLabel: "Document mode"
72953
73206
  },
72954
73207
  options: [
72955
73208
  {
@@ -72996,7 +73249,10 @@ ${style2}
72996
73249
  name: "pageBreakTool",
72997
73250
  command: "insertPageBreak",
72998
73251
  icon: toolbarIcons2.pageBreak,
72999
- tooltip: toolbarTexts2.pageBreak
73252
+ tooltip: toolbarTexts2.pageBreak,
73253
+ attributes: {
73254
+ ariaLabel: "Page break"
73255
+ }
73000
73256
  });
73001
73257
  const controlSizes = /* @__PURE__ */ new Map([
73002
73258
  ["separator", 20],
@@ -73014,7 +73270,10 @@ ${style2}
73014
73270
  name: "ruler",
73015
73271
  command: "toggleRuler",
73016
73272
  icon: toolbarIcons2.ruler,
73017
- tooltip: toolbarTexts2.ruler
73273
+ tooltip: toolbarTexts2.ruler,
73274
+ attributes: {
73275
+ ariaLabel: "Ruler"
73276
+ }
73018
73277
  });
73019
73278
  const selectedLinkedStyle = ref$1(null);
73020
73279
  const linkedStyles = useToolbarItem({
@@ -73030,7 +73289,8 @@ ${style2}
73030
73289
  suppressActiveHighlight: true,
73031
73290
  disabled: false,
73032
73291
  attributes: {
73033
- className: "toolbar-item--linked-styles"
73292
+ className: "toolbar-item--linked-styles",
73293
+ ariaLabel: "Linked styles"
73034
73294
  },
73035
73295
  options: [
73036
73296
  {
@@ -73077,6 +73337,9 @@ ${style2}
73077
73337
  command: "setLineHeight",
73078
73338
  dropdownValueKey: "key",
73079
73339
  selectedValue: "1",
73340
+ attributes: {
73341
+ ariaLabel: "Line height"
73342
+ },
73080
73343
  options: [
73081
73344
  { label: "1,0", key: "1", icon: () => renderIcon("1", lineHeight2.selectedValue), props: { "data-item": "btn-lineHeight-option" } },
73082
73345
  { label: "1,15", key: "1.15", icon: () => renderIcon("1.15", lineHeight2.selectedValue), props: { "data-item": "btn-lineHeight-option" } },
@@ -74230,7 +74493,7 @@ ${style2}
74230
74493
  key: 1,
74231
74494
  class: "placeholder-editor"
74232
74495
  };
74233
- const _hoisted_3$9 = { class: "placeholder-title" };
74496
+ const _hoisted_3$8 = { class: "placeholder-title" };
74234
74497
  const _sfc_main$2$1 = {
74235
74498
  __name: "SuperEditor",
74236
74499
  props: {
@@ -74394,11 +74657,12 @@ ${style2}
74394
74657
  createBaseVNode("div", {
74395
74658
  ref_key: "editorElem",
74396
74659
  ref: editorElem,
74397
- class: "editor-element super-editor__element"
74660
+ class: "editor-element super-editor__element",
74661
+ role: "presentation"
74398
74662
  }, null, 512)
74399
74663
  ], 544),
74400
74664
  !editorReady.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [
74401
- createBaseVNode("div", _hoisted_3$9, [
74665
+ createBaseVNode("div", _hoisted_3$8, [
74402
74666
  createVNode(unref(NSkeleton), {
74403
74667
  text: "",
74404
74668
  style: { "width": "60%" }
@@ -74446,7 +74710,7 @@ ${style2}
74446
74710
  };
74447
74711
  }
74448
74712
  };
74449
- const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$2$1, [["__scopeId", "data-v-ff8f86f4"]]);
74713
+ const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$2$1, [["__scopeId", "data-v-f27b7c30"]]);
74450
74714
  const _hoisted_1$h = ["innerHTML"];
74451
74715
  const _sfc_main$i = {
74452
74716
  __name: "SuperInput",
@@ -87631,7 +87895,8 @@ ${style2}
87631
87895
  onClick: withModifiers(setFocus, ["stop", "prevent"]),
87632
87896
  style: normalizeStyle(getSidebarCommentStyle.value),
87633
87897
  ref_key: "commentDialogElement",
87634
- ref: commentDialogElement
87898
+ ref: commentDialogElement,
87899
+ role: "dialog"
87635
87900
  }, [
87636
87901
  shouldShowInternalExternal.value ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
87637
87902
  createVNode(InternalDropdown, {
@@ -87727,7 +87992,7 @@ ${style2}
87727
87992
  };
87728
87993
  }
87729
87994
  };
87730
- const CommentDialog = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-92061859"]]);
87995
+ const CommentDialog = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-ff48cd67"]]);
87731
87996
  const _hoisted_1$b = { class: "comments-list" };
87732
87997
  const _hoisted_2$6 = { key: 0 };
87733
87998
  const _hoisted_3$3 = { class: "comment-item" };
@@ -88895,6 +89160,16 @@ ${style2}
88895
89160
  handleAiToolClick
88896
89161
  };
88897
89162
  }
89163
+ const isHighContrastMode = ref$1(false);
89164
+ function useHighContrastMode() {
89165
+ const setHighContrastMode = (value) => {
89166
+ isHighContrastMode.value = value;
89167
+ };
89168
+ return {
89169
+ isHighContrastMode,
89170
+ setHighContrastMode
89171
+ };
89172
+ }
88898
89173
  const _hoisted_1 = ["innerHTML"];
88899
89174
  const _hoisted_2 = { class: "superdoc__document document" };
88900
89175
  const _hoisted_3 = {
@@ -88936,6 +89211,7 @@ ${style2}
88936
89211
  const { showAddComment, handleEditorLocationsUpdate, handleTrackedChangeUpdate } = commentsStore;
88937
89212
  const { proxy } = getCurrentInstance();
88938
89213
  commentsStore.proxy = proxy;
89214
+ const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
88939
89215
  const layers = ref$1(null);
88940
89216
  const commentsLayer = ref$1(null);
88941
89217
  const toolsMenuPosition = reactive({ top: null, right: "-25px", zIndex: 101 });
@@ -89291,12 +89567,13 @@ ${style2}
89291
89567
  return (_ctx, _cache) => {
89292
89568
  const _directive_click_outside = resolveDirective("click-outside");
89293
89569
  return openBlock(), createElementBlock("div", {
89294
- class: normalizeClass(["superdoc", { "superdoc--with-sidebar": showCommentsSidebar.value }])
89570
+ class: normalizeClass(["superdoc", { "superdoc--with-sidebar": showCommentsSidebar.value, "high-contrast": unref(isHighContrastMode2) }])
89295
89571
  }, [
89296
89572
  createBaseVNode("div", {
89297
89573
  class: "superdoc__layers layers",
89298
89574
  ref_key: "layers",
89299
- ref: layers
89575
+ ref: layers,
89576
+ role: "group"
89300
89577
  }, [
89301
89578
  showToolsFloatingMenu.value ? (openBlock(), createElementBlock("div", {
89302
89579
  key: 0,
@@ -89431,7 +89708,7 @@ ${style2}
89431
89708
  };
89432
89709
  }
89433
89710
  };
89434
- const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e620aa2b"]]);
89711
+ const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fc218ba5"]]);
89435
89712
  const createSuperdocVueApp = () => {
89436
89713
  const app = createApp(App);
89437
89714
  const pinia = createPinia();
@@ -89439,7 +89716,8 @@ ${style2}
89439
89716
  app.directive("click-outside", vClickOutside);
89440
89717
  const superdocStore = useSuperdocStore();
89441
89718
  const commentsStore = useCommentsStore();
89442
- return { app, pinia, superdocStore, commentsStore };
89719
+ const highContrastModeStore = useHighContrastMode();
89720
+ return { app, pinia, superdocStore, commentsStore, highContrastModeStore };
89443
89721
  };
89444
89722
  const createDownload = (blob, name, extension) => {
89445
89723
  const url = URL.createObjectURL(blob);
@@ -89529,7 +89807,7 @@ ${style2}
89529
89807
  this.config.colors = shuffleArray(this.config.colors);
89530
89808
  this.userColorMap = /* @__PURE__ */ new Map();
89531
89809
  this.colorIndex = 0;
89532
- this.version = "0.12.30";
89810
+ this.version = "0.12.31-next.1";
89533
89811
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
89534
89812
  this.superdocId = config.superdocId || v4();
89535
89813
  this.colors = this.config.colors;
@@ -89606,7 +89884,7 @@ ${style2}
89606
89884
  }
89607
89885
  }
89608
89886
  #initVueApp() {
89609
- const { app, pinia, superdocStore, commentsStore } = createSuperdocVueApp();
89887
+ const { app, pinia, superdocStore, commentsStore, highContrastModeStore } = createSuperdocVueApp();
89610
89888
  this.app = app;
89611
89889
  this.pinia = pinia;
89612
89890
  this.app.config.globalProperties.$config = this.config;
@@ -89614,6 +89892,7 @@ ${style2}
89614
89892
  this.app.config.globalProperties.$superdoc = this;
89615
89893
  this.superdocStore = superdocStore;
89616
89894
  this.commentsStore = commentsStore;
89895
+ this.highContrastModeStore = highContrastModeStore;
89617
89896
  this.superdocStore.init(this.config);
89618
89897
  this.commentsStore.init(this.config.modules.comments);
89619
89898
  }
@@ -90085,6 +90364,16 @@ ${style2}
90085
90364
  });
90086
90365
  }
90087
90366
  }
90367
+ /**
90368
+ * Set the high contrast mode
90369
+ * @param {boolean} isHighContrast
90370
+ * @returns {void}
90371
+ */
90372
+ setHighContrastMode(isHighContrast) {
90373
+ if (!this.activeEditor) return;
90374
+ this.activeEditor.setHighContrastMode(isHighContrast);
90375
+ this.highContrastModeStore.setHighContrastMode(isHighContrast);
90376
+ }
90088
90377
  }
90089
90378
  exports2.BlankDOCX = BlankDOCX;
90090
90379
  exports2.DOCX = DOCX;