@superdoc-dev/cli 0.17.0-next.13 → 0.17.0-next.14

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 (2) hide show
  1. package/dist/index.js +1172 -362
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -174447,7 +174447,7 @@ var init_SuperConverter_d9QeIy9_es = __esm(() => {
174447
174447
  };
174448
174448
  });
174449
174449
 
174450
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-l5QB6sQY.es.js
174450
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CJpgldP1.es.js
174451
174451
  function parseSizeUnit(val = "0") {
174452
174452
  const length3 = val.toString() || "0";
174453
174453
  const value = Number.parseFloat(length3);
@@ -174457,6 +174457,43 @@ function parseSizeUnit(val = "0") {
174457
174457
  function getPreservedSelection(state) {
174458
174458
  return CustomSelectionPluginKey.getState(state)?.preservedSelection ?? null;
174459
174459
  }
174460
+ function getSelectedTextRange(state) {
174461
+ const { selection } = state;
174462
+ let from5 = null;
174463
+ let to = null;
174464
+ state.doc.nodesBetween(selection.from, selection.to, (node3, pos) => {
174465
+ if (!node3.isText || !node3.text)
174466
+ return;
174467
+ const start = pos;
174468
+ const end = pos + node3.nodeSize;
174469
+ from5 = from5 == null ? start : Math.min(from5, start);
174470
+ to = to == null ? end : Math.max(to, end);
174471
+ });
174472
+ return from5 == null || to == null ? null : {
174473
+ from: from5,
174474
+ to
174475
+ };
174476
+ }
174477
+ function prepareSelectionForTextInputHandoff(editor) {
174478
+ const state = editor?.view?.state ?? editor?.state;
174479
+ const dispatch = typeof editor?.view?.dispatch === "function" ? editor.view.dispatch.bind(editor.view) : typeof editor?.dispatch === "function" ? editor.dispatch.bind(editor) : null;
174480
+ if (!state || !dispatch)
174481
+ return false;
174482
+ let tr = state.tr.setMeta(CustomSelectionPluginKey, DEFAULT_CUSTOM_SELECTION_STATE);
174483
+ if (state.selection instanceof AllSelection) {
174484
+ const range = getSelectedTextRange(state);
174485
+ if (range)
174486
+ try {
174487
+ tr = tr.setSelection(TextSelection.create(tr.doc, range.from, range.to));
174488
+ } catch {}
174489
+ }
174490
+ dispatch(tr);
174491
+ editor?.setOptions?.({
174492
+ preservedSelection: null,
174493
+ lastSelection: null
174494
+ });
174495
+ return true;
174496
+ }
174460
174497
  function createSelectionTrackingBookmark(selection) {
174461
174498
  if (selection instanceof TextSelection && !selection.empty)
174462
174499
  return new InclusiveTextSelectionBookmark(selection.anchor, selection.head);
@@ -182050,7 +182087,7 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
182050
182087
  static create(config2) {
182051
182088
  return new Extension2(config2);
182052
182089
  }
182053
- }, CustomSelectionPluginKey, InclusiveTextSelectionBookmark = class InclusiveTextSelectionBookmark2 {
182090
+ }, CustomSelectionPluginKey, DEFAULT_CUSTOM_SELECTION_STATE, InclusiveTextSelectionBookmark = class InclusiveTextSelectionBookmark2 {
182054
182091
  constructor(anchor, head) {
182055
182092
  this.anchor = anchor;
182056
182093
  this.head = head;
@@ -184805,7 +184842,7 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
184805
184842
  }
184806
184843
  };
184807
184844
  };
184808
- var init_create_headless_toolbar_l5QB6sQY_es = __esm(() => {
184845
+ var init_create_headless_toolbar_CJpgldP1_es = __esm(() => {
184809
184846
  init_SuperConverter_d9QeIy9_es();
184810
184847
  init_uuid_B2wVPhPi_es();
184811
184848
  init_constants_D9qj59G2_es();
@@ -184827,6 +184864,12 @@ var init_create_headless_toolbar_l5QB6sQY_es = __esm(() => {
184827
184864
  "vmax"
184828
184865
  ];
184829
184866
  CustomSelectionPluginKey = new PluginKey("CustomSelection");
184867
+ DEFAULT_CUSTOM_SELECTION_STATE = Object.freeze({
184868
+ focused: false,
184869
+ preservedSelection: null,
184870
+ showVisualSelection: false,
184871
+ skipFocusReset: false
184872
+ });
184830
184873
  SelectionHandlePluginKey = new PluginKey("selectionHandle");
184831
184874
  MIME_TYPE_TO_EXTENSION2 = {
184832
184875
  "image/svg+xml": "svg",
@@ -233969,7 +234012,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
233969
234012
  init_remark_gfm_BhnWr3yf_es();
233970
234013
  });
233971
234014
 
233972
- // ../../packages/superdoc/dist/chunks/src-LeQVnrcZ.es.js
234015
+ // ../../packages/superdoc/dist/chunks/src-BVjcuFXj.es.js
233973
234016
  function deleteProps(obj, propOrProps) {
233974
234017
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
233975
234018
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -234071,6 +234114,15 @@ function mapPreservedSelection(selection, tr) {
234071
234114
  return null;
234072
234115
  }
234073
234116
  }
234117
+ function shouldClearPreservedSelectionOnSelectionMove(tr, nextState) {
234118
+ if (!nextState?.preservedSelection)
234119
+ return false;
234120
+ if (tr.docChanged || !tr.selectionSet)
234121
+ return false;
234122
+ if (getFocusMeta(tr) !== undefined)
234123
+ return false;
234124
+ return true;
234125
+ }
234074
234126
  function applySelectionCleanup(editor, tr) {
234075
234127
  let cleaned = tr.setMeta(CustomSelectionPluginKey, DEFAULT_SELECTION_STATE);
234076
234128
  const sel = cleaned.selection;
@@ -235151,13 +235203,13 @@ function normalizeYjsFragmentForSchema(fragment2) {
235151
235203
  if (!isTraversableYjsXml(fragment2))
235152
235204
  return false;
235153
235205
  let changed = false;
235154
- const normalize4 = () => {
235206
+ const normalize$1 = () => {
235155
235207
  changed = stripSchemaAtomChildren(fragment2) || changed;
235156
235208
  };
235157
235209
  if (fragment2.doc)
235158
- fragment2.doc.transact(normalize4, NORMALIZE_YJS_FRAGMENT_ORIGIN);
235210
+ fragment2.doc.transact(normalize$1, NORMALIZE_YJS_FRAGMENT_ORIGIN);
235159
235211
  else
235160
- normalize4();
235212
+ normalize$1();
235161
235213
  return changed;
235162
235214
  }
235163
235215
  function normalizeYjsFragmentEventsForSchema(events, fallbackFragment) {
@@ -235166,7 +235218,7 @@ function normalizeYjsFragmentEventsForSchema(events, fallbackFragment) {
235166
235218
  if (events.some((event) => event?.transaction?.origin === NORMALIZE_YJS_FRAGMENT_ORIGIN))
235167
235219
  return false;
235168
235220
  let changed = false;
235169
- const normalize4 = () => {
235221
+ const normalize$1 = () => {
235170
235222
  const visited = /* @__PURE__ */ new Set;
235171
235223
  for (const event of events) {
235172
235224
  const target = findNormalizableEventTarget(event?.target);
@@ -235178,9 +235230,9 @@ function normalizeYjsFragmentEventsForSchema(events, fallbackFragment) {
235178
235230
  };
235179
235231
  const doc$12 = fallbackFragment?.doc || findEventDoc(events);
235180
235232
  if (doc$12)
235181
- doc$12.transact(normalize4, NORMALIZE_YJS_FRAGMENT_ORIGIN);
235233
+ doc$12.transact(normalize$1, NORMALIZE_YJS_FRAGMENT_ORIGIN);
235182
235234
  else
235183
- normalize4();
235235
+ normalize$1();
235184
235236
  return changed;
235185
235237
  }
235186
235238
  function stripSchemaAtomChildren(parent) {
@@ -239307,11 +239359,7 @@ function parseCellVerticalAlignFromStyle(element3) {
239307
239359
  }
239308
239360
  function findRemovedFieldAnnotations(tr) {
239309
239361
  let removedNodes = [];
239310
- if (!tr.steps.length || tr.meta && !Object.keys(tr.meta).every((meta2) => [
239311
- "inputType",
239312
- "uiEvent",
239313
- "paste"
239314
- ].includes(meta2)) || ["historyUndo", "historyRedo"].includes(tr.getMeta("inputType")) || ["drop"].includes(tr.getMeta("uiEvent")) || tr.getMeta("fieldAnnotationUpdate") === true || tr.getMeta("tableGeneration") === true)
239362
+ if (!tr.steps.length || tr.meta && !Object.keys(tr.meta).every((meta2) => ALLOWED_META_KEYS$1.includes(meta2)) || ["historyUndo", "historyRedo"].includes(tr.getMeta("inputType")) || ["drop"].includes(tr.getMeta("uiEvent")) || tr.getMeta("fieldAnnotationUpdate") === true || tr.getMeta("tableGeneration") === true)
239315
239363
  return removedNodes;
239316
239364
  if (!transactionDeletedAnything(tr))
239317
239365
  return removedNodes;
@@ -295793,12 +295841,12 @@ var Node$13 = class Node$14 {
295793
295841
  }, registerYjsFragmentNormalizer = (fragment2) => {
295794
295842
  if (!fragment2 || typeof fragment2.observeDeep !== "function" || typeof fragment2.unobserveDeep !== "function")
295795
295843
  return () => {};
295796
- const normalize4 = (events) => {
295844
+ const normalize$1 = (events) => {
295797
295845
  normalizeYjsFragmentEventsForSchema(events, fragment2);
295798
295846
  };
295799
- fragment2.observeDeep(normalize4);
295847
+ fragment2.observeDeep(normalize$1);
295800
295848
  return () => {
295801
- fragment2.unobserveDeep(normalize4);
295849
+ fragment2.unobserveDeep(normalize$1);
295802
295850
  };
295803
295851
  }, initializeMetaMap = (ydoc, editor) => {
295804
295852
  seedPartsFromEditor(editor, ydoc);
@@ -300858,7 +300906,7 @@ var Node$13 = class Node$14 {
300858
300906
  return true;
300859
300907
  });
300860
300908
  }
300861
- }, FieldAnnotationPlugin = (options = {}) => {
300909
+ }, ALLOWED_META_KEYS$1, FieldAnnotationPlugin = (options = {}) => {
300862
300910
  let { editor, annotationClass: annotationClass$1 } = options;
300863
300911
  return new Plugin({
300864
300912
  key: new PluginKey("fieldAnnotation"),
@@ -303397,7 +303445,7 @@ var Node$13 = class Node$14 {
303397
303445
  }, getTypeName = (markLike) => {
303398
303446
  return markLike?.type?.name ?? markLike?.type;
303399
303447
  }, isTrackFormatNoOp = (before2, after2) => {
303400
- const normalize4 = (entries2) => entries2.map((s2) => ({
303448
+ const normalize$1 = (entries2) => entries2.map((s2) => ({
303401
303449
  type: getTypeName(s2),
303402
303450
  attrs: normalizeSnapshotAttrs(s2.attrs || {})
303403
303451
  })).filter((s2) => {
@@ -303405,8 +303453,8 @@ var Node$13 = class Node$14 {
303405
303453
  return false;
303406
303454
  return true;
303407
303455
  });
303408
- const normBefore = normalize4(before2);
303409
- const normAfter = normalize4(after2);
303456
+ const normBefore = normalize$1(before2);
303457
+ const normAfter = normalize$1(after2);
303410
303458
  if (normBefore.length === 0 && normAfter.length === 0)
303411
303459
  return true;
303412
303460
  if (normBefore.length !== normAfter.length)
@@ -307332,7 +307380,7 @@ var Node$13 = class Node$14 {
307332
307380
  if (!target || !target.classList)
307333
307381
  return;
307334
307382
  target.classList.add(STYLE_ISOLATION_CLASS);
307335
- }, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$7, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
307383
+ }, _hoisted_1$23, _hoisted_2$18, _hoisted_3$14, _hoisted_4$10, _hoisted_5$9, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
307336
307384
  constructor(view, editor) {
307337
307385
  this.editor = editor;
307338
307386
  this.view = view;
@@ -309073,7 +309121,7 @@ var Node$13 = class Node$14 {
309073
309121
  </linearGradient>
309074
309122
  </defs>
309075
309123
  <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"/>
309076
- </svg>`, _hoisted_1$21, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$6, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<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="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<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.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<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. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
309124
+ </svg>`, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$8, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<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="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<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.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<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. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
309077
309125
  `, list_square_solid_default = `<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. (bullet shapes modified)--><path d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 48 L112 48 L112 144 L16 144 Z M16 208 L112 208 L112 304 L16 304 Z M16 368 L112 368 L112 464 L16 464 Z"/></svg>
309078
309126
  `, list_ol_solid_default = '<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.--><path d="M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>', list_decimal_solid_default = `<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
309079
309127
  <g clip-path="url(#clip0_0_1)">
@@ -309140,8 +309188,8 @@ var Node$13 = class Node$14 {
309140
309188
  `, image_solid_default = '<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.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"/></svg>', link_solid_default = '<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="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>', align_left_solid_default = '<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="M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_center_solid_default = '<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="M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"/></svg>', align_right_solid_default = '<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="M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_justify_solid_default = '<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="M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"/></svg>', indent_solid_default = '<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="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>', outdent_solid_default = '<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="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6l0 158.6c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z"/></svg>', paint_roller_solid_default = '<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.--><path d="M0 64C0 28.7 28.7 0 64 0L352 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 192c-35.3 0-64-28.7-64-64L0 64zM160 352c0-17.7 14.3-32 32-32l0-16c0-44.2 35.8-80 80-80l144 0c17.7 0 32-14.3 32-32l0-32 0-90.5c37.3 13.2 64 48.7 64 90.5l0 32c0 53-43 96-96 96l-144 0c-8.8 0-16 7.2-16 16l0 16c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-128z"/></svg>', text_slash_solid_default = '<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="M38.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.7L355.7 253.5 400.2 96 503 96 497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32L376.1 32l-.3 0L204.5 32c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96l116.7 0L301.3 210.8l-94.5-74.1zM243.3 416L192 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-42.2 0 17.6-62.1L272.9 311 243.3 416z"/></svg>', rotate_left_solid_default = '<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.--><path d="M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"/></svg>', rotate_right_solid_default = '<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.--><path d="M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"/></svg>', calendar_check_solid_default = '<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="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z"/></svg>', calendar_xmark_solid_default = '<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="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z"/></svg>', list_check_solid_default = '<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.--><path d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></svg>', user_edit_solid_default = '<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="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l293.1 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1l-91.4 0zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z"/></svg>', eye_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"/></svg>', file_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z"/></svg>', font_solid_default = '<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="M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z"/></svg>', file_half_dashed_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 0C28.7 0 0 28.7 0 64L0 320l384 0 0-160-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM0 416l64 0 0-64L0 352l0 64zm288 32l-80 0 0 64 80 0 0-64zm-112 0l-80 0 0 64 80 0 0-64zM64 448L0 448c0 35.3 28.7 64 64 64l0-64zm256 0l0 64c35.3 0 64-28.7 64-64l-64 0zm64-32l0-64-64 0 0 64 64 0z"/></svg>', comment_solid_default = '<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.--><path d="M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"/></svg>', circle_solid_default = '<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.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>', check_solid_default = '<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>', xmark_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>', up_right_from_square_solid_default = '<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.--><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"/></svg>', ellipsis_vertical_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"/></svg>', caret_up_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z"/></svg>', caret_down_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>', ruler_solid_default = '<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.--><path d="M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z"/></svg>', paintbrush_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448L64 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"/></svg>', highlighter_icon_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5s0 0 0 0l0-71.7c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5L224 416l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7L24 512c-13.3 0-24-10.7-24-24l0-4.7c0-6.4 2.5-12.5 7-17z"/></svg>
309141
309189
  `, magic_wand_solid_default = '<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.--><path d="M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z"/></svg>', table_solid_default = '<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.--><path d="M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"/></svg>', table_columns_solid_default = '<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.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z"/></svg>', arrows_left_right_solid_default = '<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.--><path d="M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"/></svg>', arrows_to_dot_solid_default = '<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.--><path d="M256 0c17.7 0 32 14.3 32 32l0 32 32 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l32 0 0-32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 32 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>', plus_solid_default = '<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="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"/></svg>', trash_can_solid_default = '<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="M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"/></svg>', wrench_solid_default = '<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.--><path d="M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>', border_none_solid_default = '<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="M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"/></svg>', up_down_default = `<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="3 4 18 16"><path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 10V5m0 0L4 7m2-2 2 2m-2 7v5m0 0 2-2m-2 2-2-2m8-10h8m0 5h-8m0 5h8"></path></svg>
309142
309190
  `, magnifying_glass_default = `<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.--><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
309143
- `, scissors_solid_default = '<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="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<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="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<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="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$20, AlignmentButtons_default, _hoisted_1$19, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$18, _hoisted_2$15, _hoisted_3$11, _hoisted_4$7, _hoisted_5$5, _hoisted_6$3, DocumentMode_default, _hoisted_1$17, _hoisted_2$14, LinkedStyle_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, _hoisted_4$6, _hoisted_5$4, _hoisted_6$2, _hoisted_7$2, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13, _hoisted_14, LinkInput_default, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<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>
309144
- `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
309191
+ `, scissors_solid_default = '<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="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<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="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<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="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$21, AlignmentButtons_default, _hoisted_1$20, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$19, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$7, _hoisted_6$5, DocumentMode_default, _hoisted_1$18, _hoisted_2$15, LinkedStyle_default, _hoisted_1$17, _hoisted_2$14, _hoisted_3$11, _hoisted_4$7, _hoisted_5$6, _hoisted_6$4, _hoisted_7$3, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13$1, _hoisted_14$1, LinkInput_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<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>
309192
+ `, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, IconGrid_default, closeDropdown$1 = (dropdown) => {
309145
309193
  dropdown.expand.value = false;
309146
309194
  }, makeColorOption = (color2, label = null) => {
309147
309195
  return {
@@ -309172,8 +309220,8 @@ var Node$13 = class Node$14 {
309172
309220
  })]);
309173
309221
  }, icons, getAvailableColorOptions = () => {
309174
309222
  return icons.flat().map((item) => item.value);
309175
- }, _hoisted_1$13, _hoisted_2$10, ROW_SIZE = 5, TableGrid_default, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, _hoisted_4$5, _hoisted_5$3, TableActions_default, check_default = `<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>
309176
- `, _hoisted_1$11, _hoisted_2$8, _hoisted_3$6, SearchInput_default, TOOLBAR_FONTS, TOOLBAR_FONT_SIZES, RESPONSIVE_BREAKPOINTS, HEADLESS_ITEM_MAP, TABLE_ACTION_COMMAND_MAP, TABLE_ACTION_COMMAND_IDS, HEADLESS_TOOLBAR_COMMANDS, NON_HEADLESS_EXECUTE_ITEM_NAMES, HEADLESS_EXECUTE_ITEMS, closeDropdown = (dropdown) => {
309223
+ }, _hoisted_1$14, _hoisted_2$11, ROW_SIZE = 5, TableGrid_default, _hoisted_1$13, _hoisted_2$10, _hoisted_3$8, _hoisted_4$6, _hoisted_5$5, TableActions_default, check_default = `<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>
309224
+ `, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, SearchInput_default, TOOLBAR_FONTS, TOOLBAR_FONT_SIZES, RESPONSIVE_BREAKPOINTS, HEADLESS_ITEM_MAP, TABLE_ACTION_COMMAND_MAP, TABLE_ACTION_COMMAND_IDS, HEADLESS_TOOLBAR_COMMANDS, NON_HEADLESS_EXECUTE_ITEM_NAMES, HEADLESS_EXECUTE_ITEMS, closeDropdown = (dropdown) => {
309177
309225
  dropdown.expand.value = false;
309178
309226
  }, makeDefaultItems = ({ superToolbar, toolbarIcons: toolbarIcons$1, toolbarTexts: toolbarTexts$1, toolbarFonts, hideButtons, availableWidth, role, isDev = false } = {}) => {
309179
309227
  const bold2 = useToolbarItem({
@@ -310237,7 +310285,39 @@ var Node$13 = class Node$14 {
310237
310285
  defaultItems: visibleItems,
310238
310286
  overflowItems: overflowItems.filter((item) => item.type !== "separator")
310239
310287
  };
310240
- }, _hoisted_1$10, _hoisted_2$7, ToolbarButtonIcon_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, _hoisted_4$4, _hoisted_5$2, _hoisted_6$1, _hoisted_7$1, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, ToolbarButton_default, _hoisted_1$8, ToolbarSeparator_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, OverflowMenu_default, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
310288
+ }, _hoisted_1$11, _hoisted_2$8, ToolbarButtonIcon_default, _hoisted_1$10, _hoisted_2$7, _hoisted_3$6, _hoisted_4$5, _hoisted_5$4, _hoisted_6$3, _hoisted_7$2, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, _hoisted_13, _hoisted_14, ToolbarButton_default, _hoisted_1$9, ToolbarSeparator_default, _hoisted_1$8, _hoisted_2$6, _hoisted_3$5, OverflowMenu_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, _hoisted_4$4, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, normalize4 = (value) => String(value ?? "").trim().toLowerCase(), findPrefixMatchIndex = (query2, labels) => {
310289
+ const q$1 = normalize4(query2);
310290
+ if (!q$1)
310291
+ return -1;
310292
+ for (let i4 = 0;i4 < labels.length; i4 += 1)
310293
+ if (normalize4(labels[i4]).startsWith(q$1))
310294
+ return i4;
310295
+ return -1;
310296
+ }, computeTypeahead = (query2, labels, { autocomplete = true } = {}) => {
310297
+ const typed = String(query2 ?? "");
310298
+ const matchIndex = findPrefixMatchIndex(typed, labels);
310299
+ const completion = matchIndex >= 0 ? String(labels[matchIndex] ?? "") : "";
310300
+ if (autocomplete && matchIndex >= 0 && completion.length > typed.length)
310301
+ return {
310302
+ matchIndex,
310303
+ display: completion,
310304
+ selectionStart: typed.length,
310305
+ selectionEnd: completion.length
310306
+ };
310307
+ return {
310308
+ matchIndex,
310309
+ display: typed,
310310
+ selectionStart: typed.length,
310311
+ selectionEnd: typed.length
310312
+ };
310313
+ }, stripWrappingQuotes = (value) => {
310314
+ let result = String(value ?? "").trim();
310315
+ while (result.length >= 2 && (result.startsWith('"') && result.endsWith('"') || result.startsWith("'") && result.endsWith("'")))
310316
+ result = result.slice(1, -1).trim();
310317
+ return result;
310318
+ }, normalizeCustomFontFamily = (value) => {
310319
+ return stripWrappingQuotes((String(value ?? "").split(",")[0] ?? "").replace(/[\u0000-\u001f\u007f]/g, "")).replace(/\s+/g, " ").trim();
310320
+ }, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, _hoisted_5$3, _hoisted_6$2, _hoisted_7$1, FontFamilyCombobox_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, TOOLBAR_TOOLTIP_AUTO_HIDE_MS = 3000, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
310241
310321
  const fontFamilyProps = paragraphProps?.runProperties?.fontFamily;
310242
310322
  if (!fontFamilyProps)
310243
310323
  return null;
@@ -310456,6 +310536,14 @@ var Node$13 = class Node$14 {
310456
310536
  const before2 = $pos.parent.childBefore($pos.parentOffset).node;
310457
310537
  const after2 = $pos.parent.childAfter($pos.parentOffset).node;
310458
310538
  return isInlineStructuredContentNode(before2) || isInlineStructuredContentNode(after2);
310539
+ }, getInputSelection = (state) => {
310540
+ const { selection } = state;
310541
+ if (!selection.empty)
310542
+ return selection;
310543
+ const preserved = getPreservedSelection(state);
310544
+ if (preserved && !preserved.empty)
310545
+ return preserved;
310546
+ return selection;
310459
310547
  }, handleInsertTextBeforeInput = (view, event, editor) => {
310460
310548
  const isInsertTextInput = event?.inputType === "insertText";
310461
310549
  const hasTextData = typeof event?.data === "string" && event.data.length > 0;
@@ -310469,8 +310557,8 @@ var Node$13 = class Node$14 {
310469
310557
  recordStoryInputDebug(view, event, editor, "beforeinput:skip");
310470
310558
  return false;
310471
310559
  }
310472
- const selection = view.state.selection;
310473
- const shouldHandleCollapsedSelection = isStorySurfaceEditor(editor) || isInlineStructuredContentBoundary(view.state.doc, selection.from);
310560
+ const selection = getInputSelection(view.state);
310561
+ const shouldHandleCollapsedSelection = isStorySurfaceEditor(editor) || isInlineStructuredContentBoundary(view.state.doc, view.state.selection.from);
310474
310562
  if (selection.empty && !shouldHandleCollapsedSelection) {
310475
310563
  recordStoryInputDebug(view, event, editor, "beforeinput:skip-empty-selection");
310476
310564
  return false;
@@ -310482,6 +310570,13 @@ var Node$13 = class Node$14 {
310482
310570
  } catch {
310483
310571
  tr.setSelection(Selection.near(tr.doc.resolve(insertedTo), 1));
310484
310572
  }
310573
+ if (!selection.empty)
310574
+ tr.setMeta(CustomSelectionPluginKey, {
310575
+ focused: false,
310576
+ preservedSelection: null,
310577
+ showVisualSelection: false,
310578
+ skipFocusReset: false
310579
+ });
310485
310580
  tr.setMeta("inputType", "insertText");
310486
310581
  view.dispatch(tr);
310487
310582
  event.preventDefault();
@@ -331575,13 +331670,13 @@ menclose::after {
331575
331670
  return;
331576
331671
  console.log(...args$1);
331577
331672
  }, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
331578
- var init_src_LeQVnrcZ_es = __esm(() => {
331673
+ var init_src_BVjcuFXj_es = __esm(() => {
331579
331674
  init_rolldown_runtime_Bg48TavK_es();
331580
331675
  init_SuperConverter_d9QeIy9_es();
331581
331676
  init_jszip_C49i9kUs_es();
331582
331677
  init_xml_js_CqGKpaft_es();
331583
331678
  init_uuid_B2wVPhPi_es();
331584
- init_create_headless_toolbar_l5QB6sQY_es();
331679
+ init_create_headless_toolbar_CJpgldP1_es();
331585
331680
  init_constants_D9qj59G2_es();
331586
331681
  init_dist_B8HfvhaK_es();
331587
331682
  init_unified_Dsuw2be5_es();
@@ -332139,6 +332234,12 @@ ${err.toString()}`);
332139
332234
  }) : value;
332140
332235
  if (!nextState?.preservedSelection)
332141
332236
  return nextState;
332237
+ if (shouldClearPreservedSelectionOnSelectionMove(tr, nextState))
332238
+ return {
332239
+ ...nextState,
332240
+ preservedSelection: null,
332241
+ showVisualSelection: false
332242
+ };
332142
332243
  if (!tr.docChanged)
332143
332244
  return nextState;
332144
332245
  const mappedSelection = mapPreservedSelection(nextState.preservedSelection, tr);
@@ -336967,6 +337068,12 @@ ${err.toString()}`);
336967
337068
  ];
336968
337069
  }
336969
337070
  });
337071
+ ALLOWED_META_KEYS$1 = [
337072
+ "inputType",
337073
+ "uiEvent",
337074
+ "paste",
337075
+ CustomSelectionPluginKey.key
337076
+ ];
336970
337077
  AnnotatorHelpers = {
336971
337078
  getFieldAttrs,
336972
337079
  processTables,
@@ -348832,7 +348939,8 @@ function print() { __p += __j.call(arguments, '') }
348832
348939
  "composition",
348833
348940
  "superdocSlicePaste",
348834
348941
  "forceTrackChanges",
348835
- "protectTrackedReviewState"
348942
+ "protectTrackedReviewState",
348943
+ CustomSelectionPluginKey.key
348836
348944
  ];
348837
348945
  PASSTHROUGH_META_KEYS = [
348838
348946
  "inputType",
@@ -348841,7 +348949,8 @@ function print() { __p += __j.call(arguments, '') }
348841
348949
  "pointer",
348842
348950
  "composition",
348843
348951
  "addToHistory",
348844
- "superdocSlicePaste"
348952
+ "superdocSlicePaste",
348953
+ CustomSelectionPluginKey.key
348845
348954
  ];
348846
348955
  ALLOWED_META_KEYS = new Set([...TRACKABLE_META_KEYS, ySyncPluginKey.key]);
348847
348956
  TrackFormat = Mark3.create({
@@ -349509,11 +349618,11 @@ function print() { __p += __j.call(arguments, '') }
349509
349618
  } });
349510
349619
  tippy.setDefaultProps({ render });
349511
349620
  tippy_esm_default = tippy;
349512
- _hoisted_1$22 = ["onClick", "onMouseenter"];
349513
- _hoisted_2$17 = { key: 0 };
349514
- _hoisted_3$13 = { key: 0 };
349515
- _hoisted_4$9 = { key: 1 };
349516
- _hoisted_5$7 = { key: 1 };
349621
+ _hoisted_1$23 = ["onClick", "onMouseenter"];
349622
+ _hoisted_2$18 = { key: 0 };
349623
+ _hoisted_3$14 = { key: 0 };
349624
+ _hoisted_4$10 = { key: 1 };
349625
+ _hoisted_5$9 = { key: 1 };
349517
349626
  Mentions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
349518
349627
  __name: "Mentions",
349519
349628
  props: {
@@ -349579,7 +349688,7 @@ function print() { __p += __j.call(arguments, '') }
349579
349688
  onMouseleave: _cache[0] || (_cache[0] = ($event) => activeUserIndex.value = null),
349580
349689
  key: user.email,
349581
349690
  class: exports_vue.normalizeClass(["user-row", { "sd-selected": activeUserIndex.value === index2 }])
349582
- }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$17, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$13, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$9, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$7, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$22);
349691
+ }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$18, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$14, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$10, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$9, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$23);
349583
349692
  }), 128))], 544);
349584
349693
  };
349585
349694
  }
@@ -350854,11 +350963,11 @@ function print() { __p += __j.call(arguments, '') }
350854
350963
  })
350855
350964
  }
350856
350965
  ] };
350857
- _hoisted_1$21 = { class: "ai-user-input-field" };
350858
- _hoisted_2$16 = ["innerHTML"];
350859
- _hoisted_3$12 = ["placeholder"];
350860
- _hoisted_4$8 = { class: "ai-loader" };
350861
- _hoisted_5$6 = ["innerHTML"];
350966
+ _hoisted_1$22 = { class: "ai-user-input-field" };
350967
+ _hoisted_2$17 = ["innerHTML"];
350968
+ _hoisted_3$13 = ["placeholder"];
350969
+ _hoisted_4$9 = { class: "ai-loader" };
350970
+ _hoisted_5$8 = ["innerHTML"];
350862
350971
  AIWriter_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
350863
350972
  __name: "AIWriter",
350864
350973
  props: {
@@ -351085,10 +351194,10 @@ function print() { __p += __j.call(arguments, '') }
351085
351194
  ref_key: "aiWriterRef",
351086
351195
  ref: aiWriterRef,
351087
351196
  onMousedown: _cache[1] || (_cache[1] = exports_vue.withModifiers(() => {}, ["stop"]))
351088
- }, [exports_vue.createElementVNode("div", _hoisted_1$21, [exports_vue.createElementVNode("span", {
351197
+ }, [exports_vue.createElementVNode("div", _hoisted_1$22, [exports_vue.createElementVNode("span", {
351089
351198
  class: "ai-textarea-icon",
351090
351199
  innerHTML: exports_vue.unref(edit_regular_default)
351091
- }, null, 8, _hoisted_2$16), exports_vue.withDirectives(exports_vue.createElementVNode("textarea", {
351200
+ }, null, 8, _hoisted_2$17), exports_vue.withDirectives(exports_vue.createElementVNode("textarea", {
351092
351201
  ref_key: "editableRef",
351093
351202
  ref: editableRef,
351094
351203
  class: "ai-textarea",
@@ -351097,12 +351206,12 @@ function print() { __p += __j.call(arguments, '') }
351097
351206
  onInput: handleInput,
351098
351207
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => promptText.value = $event),
351099
351208
  rows: "4"
351100
- }, null, 40, _hoisted_3$12), [[exports_vue.vModelText, promptText.value]])]), exports_vue.createElementVNode("div", _hoisted_4$8, [promptText.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", {
351209
+ }, null, 40, _hoisted_3$13), [[exports_vue.vModelText, promptText.value]])]), exports_vue.createElementVNode("div", _hoisted_4$9, [promptText.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", {
351101
351210
  key: 0,
351102
351211
  class: "ai-textarea-icon ai-submit-button",
351103
351212
  onClick: exports_vue.withModifiers(handleSubmit, ["stop"]),
351104
351213
  innerHTML: exports_vue.unref(paper_plane_regular_default)
351105
- }, null, 8, _hoisted_5$6)) : exports_vue.createCommentVNode("", true)])], 544);
351214
+ }, null, 8, _hoisted_5$8)) : exports_vue.createCommentVNode("", true)])], 544);
351106
351215
  };
351107
351216
  }
351108
351217
  }, [["__scopeId", "data-v-5444b0c8"]]);
@@ -351187,7 +351296,7 @@ function print() { __p += __j.call(arguments, '') }
351187
351296
  formattingMarks: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true"><text x="12" y="18" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="700" fill="currentColor">¶</text></svg>
351188
351297
  `
351189
351298
  };
351190
- _hoisted_1$20 = [
351299
+ _hoisted_1$21 = [
351191
351300
  "onClick",
351192
351301
  "innerHTML",
351193
351302
  "aria-label",
@@ -351279,12 +351388,12 @@ function print() { __p += __j.call(arguments, '') }
351279
351388
  ref_key: "alignmentButtonsRefs",
351280
351389
  ref: alignmentButtonsRefs,
351281
351390
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351282
- }, null, 40, _hoisted_1$20);
351391
+ }, null, 40, _hoisted_1$21);
351283
351392
  }), 64))], 2);
351284
351393
  };
351285
351394
  }
351286
351395
  }, [["__scopeId", "data-v-ceb338e0"]]);
351287
- _hoisted_1$19 = [
351396
+ _hoisted_1$20 = [
351288
351397
  "onClick",
351289
351398
  "innerHTML",
351290
351399
  "aria-label",
@@ -351373,7 +351482,7 @@ function print() { __p += __j.call(arguments, '') }
351373
351482
  ref_key: "buttonRefs",
351374
351483
  ref: buttonRefs,
351375
351484
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351376
- }, null, 46, _hoisted_1$19);
351485
+ }, null, 46, _hoisted_1$20);
351377
351486
  }), 128))], 2);
351378
351487
  };
351379
351488
  }
@@ -351437,12 +351546,12 @@ function print() { __p += __j.call(arguments, '') }
351437
351546
  ariaLabel: "a) b) c)"
351438
351547
  }
351439
351548
  ];
351440
- _hoisted_1$18 = ["onClick", "onKeydown"];
351441
- _hoisted_2$15 = { class: "document-mode-column icon-column" };
351442
- _hoisted_3$11 = ["innerHTML"];
351443
- _hoisted_4$7 = { class: "document-mode-column text-column" };
351444
- _hoisted_5$5 = { class: "document-mode-type" };
351445
- _hoisted_6$3 = { class: "document-mode-description" };
351549
+ _hoisted_1$19 = ["onClick", "onKeydown"];
351550
+ _hoisted_2$16 = { class: "document-mode-column icon-column" };
351551
+ _hoisted_3$12 = ["innerHTML"];
351552
+ _hoisted_4$8 = { class: "document-mode-column text-column" };
351553
+ _hoisted_5$7 = { class: "document-mode-type" };
351554
+ _hoisted_6$5 = { class: "document-mode-description" };
351446
351555
  DocumentMode_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
351447
351556
  __name: "DocumentMode",
351448
351557
  props: { options: { type: Array } },
@@ -351503,20 +351612,20 @@ function print() { __p += __j.call(arguments, '') }
351503
351612
  ref_key: "documentModeRefs",
351504
351613
  ref: documentModeRefs,
351505
351614
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351506
- }, [exports_vue.createElementVNode("div", _hoisted_2$15, [exports_vue.createElementVNode("div", {
351615
+ }, [exports_vue.createElementVNode("div", _hoisted_2$16, [exports_vue.createElementVNode("div", {
351507
351616
  class: "icon-column__icon",
351508
351617
  innerHTML: option.icon
351509
- }, null, 8, _hoisted_3$11)]), exports_vue.createElementVNode("div", _hoisted_4$7, [exports_vue.createElementVNode("div", _hoisted_5$5, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$3, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$18);
351618
+ }, null, 8, _hoisted_3$12)]), exports_vue.createElementVNode("div", _hoisted_4$8, [exports_vue.createElementVNode("div", _hoisted_5$7, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$5, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$19);
351510
351619
  }), 256))], 2);
351511
351620
  };
351512
351621
  }
351513
351622
  }, [["__scopeId", "data-v-abd514d9"]]);
351514
- _hoisted_1$17 = {
351623
+ _hoisted_1$18 = {
351515
351624
  key: 0,
351516
351625
  class: "linked-style-buttons",
351517
351626
  "data-editor-ui-surface": ""
351518
351627
  };
351519
- _hoisted_2$14 = [
351628
+ _hoisted_2$15 = [
351520
351629
  "onClick",
351521
351630
  "onKeydown",
351522
351631
  "aria-label"
@@ -351573,7 +351682,7 @@ function print() { __p += __j.call(arguments, '') }
351573
351682
  styleRefs.value[0].focus();
351574
351683
  });
351575
351684
  return (_ctx, _cache) => {
351576
- return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$17, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
351685
+ return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$18, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
351577
351686
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
351578
351687
  class: exports_vue.normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
351579
351688
  onClick: ($event) => select2(style2),
@@ -351586,33 +351695,33 @@ function print() { __p += __j.call(arguments, '') }
351586
351695
  class: "style-name",
351587
351696
  style: exports_vue.normalizeStyle(exports_vue.unref(generateLinkedStyleString)(style2, null, null, false)),
351588
351697
  "data-item": "btn-linkedStyles-option"
351589
- }, exports_vue.toDisplayString(style2.definition.attrs.name), 5)], 42, _hoisted_2$14);
351698
+ }, exports_vue.toDisplayString(style2.definition.attrs.name), 5)], 42, _hoisted_2$15);
351590
351699
  }), 256))])) : exports_vue.createCommentVNode("", true);
351591
351700
  };
351592
351701
  }
351593
351702
  }, [["__scopeId", "data-v-80e74746"]]);
351594
- _hoisted_1$16 = {
351703
+ _hoisted_1$17 = {
351595
351704
  key: 0,
351596
351705
  class: "link-title"
351597
351706
  };
351598
- _hoisted_2$13 = {
351707
+ _hoisted_2$14 = {
351599
351708
  key: 1,
351600
351709
  class: "link-title"
351601
351710
  };
351602
- _hoisted_3$10 = {
351711
+ _hoisted_3$11 = {
351603
351712
  key: 2,
351604
351713
  class: "link-title"
351605
351714
  };
351606
- _hoisted_4$6 = {
351715
+ _hoisted_4$7 = {
351607
351716
  key: 3,
351608
351717
  class: "link-title"
351609
351718
  };
351610
- _hoisted_5$4 = {
351719
+ _hoisted_5$6 = {
351611
351720
  key: 4,
351612
351721
  class: "link-input-wrapper"
351613
351722
  };
351614
- _hoisted_6$2 = { class: "input-row text-input-row" };
351615
- _hoisted_7$2 = ["readonly"];
351723
+ _hoisted_6$4 = { class: "input-row text-input-row" };
351724
+ _hoisted_7$3 = ["readonly"];
351616
351725
  _hoisted_8$1 = { class: "input-row url-input-row" };
351617
351726
  _hoisted_9$1 = ["innerHTML"];
351618
351727
  _hoisted_10$1 = ["readonly", "onKeydown"];
@@ -351621,8 +351730,8 @@ function print() { __p += __j.call(arguments, '') }
351621
351730
  key: 0,
351622
351731
  class: "input-row link-buttons"
351623
351732
  };
351624
- _hoisted_13 = ["innerHTML"];
351625
- _hoisted_14 = {
351733
+ _hoisted_13$1 = ["innerHTML"];
351734
+ _hoisted_14$1 = {
351626
351735
  key: 5,
351627
351736
  class: "input-row go-to-anchor clickable"
351628
351737
  };
@@ -351794,15 +351903,15 @@ function print() { __p += __j.call(arguments, '') }
351794
351903
  props.goToAnchor(url$1);
351795
351904
  };
351796
351905
  return (_ctx, _cache) => {
351797
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$16, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$13, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$10, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$6, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$4, [
351798
- exports_vue.createElementVNode("div", _hoisted_6$2, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
351906
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$17, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$14, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$11, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$7, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [
351907
+ exports_vue.createElementVNode("div", _hoisted_6$4, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
351799
351908
  type: "text",
351800
351909
  name: "text",
351801
351910
  placeholder: "Text",
351802
351911
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => text5.value = $event),
351803
351912
  readonly: isViewingMode.value,
351804
351913
  onKeydown: _cache[1] || (_cache[1] = exports_vue.withKeys(exports_vue.withModifiers(($event) => !isViewingMode.value && handleSubmit, ["stop", "prevent"]), ["enter"]))
351805
- }, null, 40, _hoisted_7$2), [[exports_vue.vModelText, text5.value]])]),
351914
+ }, null, 40, _hoisted_7$3), [[exports_vue.vModelText, text5.value]])]),
351806
351915
  exports_vue.createElementVNode("div", _hoisted_8$1, [
351807
351916
  exports_vue.createElementVNode("div", {
351808
351917
  class: "input-icon",
@@ -351832,22 +351941,22 @@ function print() { __p += __j.call(arguments, '') }
351832
351941
  }, [exports_vue.createElementVNode("div", {
351833
351942
  class: "remove-btn__icon",
351834
351943
  innerHTML: exports_vue.unref(toolbarIcons).removeLink
351835
- }, null, 8, _hoisted_13), _cache[6] || (_cache[6] = exports_vue.createTextVNode(" Remove ", -1))])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("button", {
351944
+ }, null, 8, _hoisted_13$1), _cache[6] || (_cache[6] = exports_vue.createTextVNode(" Remove ", -1))])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("button", {
351836
351945
  class: exports_vue.normalizeClass(["sd-submit-btn", { "disable-btn": isDisabled.value }]),
351837
351946
  onClick: handleSubmit,
351838
351947
  "data-item": "btn-link-apply"
351839
351948
  }, " Apply ", 2)])) : exports_vue.createCommentVNode("", true)
351840
- ])) : isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_14, [exports_vue.createElementVNode("a", { onClick: _cache[4] || (_cache[4] = exports_vue.withModifiers(($event) => navigateToAnchor(rawUrl.value), ["stop", "prevent"])) }, "Go to " + exports_vue.toDisplayString(rawUrl.value.startsWith("#_") ? rawUrl.value.substring(2) : rawUrl.value), 1)])) : exports_vue.createCommentVNode("", true)], 2);
351949
+ ])) : isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_14$1, [exports_vue.createElementVNode("a", { onClick: _cache[4] || (_cache[4] = exports_vue.withModifiers(($event) => navigateToAnchor(rawUrl.value), ["stop", "prevent"])) }, "Go to " + exports_vue.toDisplayString(rawUrl.value.startsWith("#_") ? rawUrl.value.substring(2) : rawUrl.value), 1)])) : exports_vue.createCommentVNode("", true)], 2);
351841
351950
  };
351842
351951
  }
351843
351952
  }, [["__scopeId", "data-v-c490d677"]]);
351844
- _hoisted_1$15 = [
351953
+ _hoisted_1$16 = [
351845
351954
  "aria-label",
351846
351955
  "onClick",
351847
351956
  "onKeydown"
351848
351957
  ];
351849
- _hoisted_2$12 = ["innerHTML"];
351850
- _hoisted_3$9 = ["innerHTML"];
351958
+ _hoisted_2$13 = ["innerHTML"];
351959
+ _hoisted_3$10 = ["innerHTML"];
351851
351960
  IconGridRow_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
351852
351961
  __name: "IconGridRow",
351853
351962
  props: {
@@ -351968,20 +352077,20 @@ function print() { __p += __j.call(arguments, '') }
351968
352077
  class: "sd-option__icon",
351969
352078
  innerHTML: option.icon,
351970
352079
  style: exports_vue.normalizeStyle(option.style)
351971
- }, null, 12, _hoisted_2$12), isActive$1.value(option) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352080
+ }, null, 12, _hoisted_2$13), isActive$1.value(option) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
351972
352081
  key: 0,
351973
352082
  class: "sd-option__check",
351974
352083
  innerHTML: exports_vue.unref(toolbarIcons).colorOptionCheck,
351975
352084
  style: exports_vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
351976
- }, null, 12, _hoisted_3$9)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$15);
352085
+ }, null, 12, _hoisted_3$10)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$16);
351977
352086
  }), 128))]);
351978
352087
  }), 128);
351979
352088
  };
351980
352089
  }
351981
352090
  }, [["__scopeId", "data-v-30cad300"]]);
351982
- _hoisted_1$14 = { class: "options-grid-wrap" };
351983
- _hoisted_2$11 = ["innerHTML"];
351984
- _hoisted_3$8 = { class: "option-grid-ctn" };
352091
+ _hoisted_1$15 = { class: "options-grid-wrap" };
352092
+ _hoisted_2$12 = ["innerHTML"];
352093
+ _hoisted_3$9 = { class: "option-grid-ctn" };
351985
352094
  IconGrid_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
351986
352095
  __name: "IconGrid",
351987
352096
  props: {
@@ -352009,7 +352118,7 @@ function print() { __p += __j.call(arguments, '') }
352009
352118
  emit("select", option);
352010
352119
  };
352011
352120
  return (_ctx, _cache) => {
352012
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$14, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352121
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$15, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352013
352122
  key: 0,
352014
352123
  class: "none-option",
352015
352124
  role: "menuitem",
@@ -352018,7 +352127,7 @@ function print() { __p += __j.call(arguments, '') }
352018
352127
  }, [exports_vue.createElementVNode("span", {
352019
352128
  innerHTML: exports_vue.unref(droplet_slash_default),
352020
352129
  class: "none-icon"
352021
- }, null, 8, _hoisted_2$11), _cache[1] || (_cache[1] = exports_vue.createTextVNode(" None ", -1))])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("div", _hoisted_3$8, [exports_vue.createVNode(IconGridRow_default, {
352130
+ }, null, 8, _hoisted_2$12), _cache[1] || (_cache[1] = exports_vue.createTextVNode(" None ", -1))])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("div", _hoisted_3$9, [exports_vue.createVNode(IconGridRow_default, {
352022
352131
  icons: __props.icons,
352023
352132
  "active-color": __props.activeColor,
352024
352133
  onSelect: handleSelect
@@ -352104,13 +352213,13 @@ function print() { __p += __j.call(arguments, '') }
352104
352213
  makeColorOption("#A91DFF", "neon purple")
352105
352214
  ]
352106
352215
  ];
352107
- _hoisted_1$13 = [
352216
+ _hoisted_1$14 = [
352108
352217
  "data-cols",
352109
352218
  "data-rows",
352110
352219
  "onKeydown",
352111
352220
  "onClick"
352112
352221
  ];
352113
- _hoisted_2$10 = ["aria-valuetext"];
352222
+ _hoisted_2$11 = ["aria-valuetext"];
352114
352223
  TableGrid_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352115
352224
  __name: "TableGrid",
352116
352225
  emits: ["select", "clickoutside"],
@@ -352221,24 +352330,24 @@ function print() { __p += __j.call(arguments, '') }
352221
352330
  cols: n,
352222
352331
  rows: i4
352223
352332
  }), ["stop", "prevent"])
352224
- }, null, 40, _hoisted_1$13);
352333
+ }, null, 40, _hoisted_1$14);
352225
352334
  }), 64))], 64);
352226
352335
  }), 64))], 32), exports_vue.createElementVNode("div", {
352227
352336
  class: "toolbar-table-grid-value",
352228
352337
  "aria-valuetext": `${selectedRows.value} x ${selectedCols.value}`
352229
- }, exports_vue.toDisplayString(selectedRows.value) + " x " + exports_vue.toDisplayString(selectedCols.value), 9, _hoisted_2$10)], 2);
352338
+ }, exports_vue.toDisplayString(selectedRows.value) + " x " + exports_vue.toDisplayString(selectedCols.value), 9, _hoisted_2$11)], 2);
352230
352339
  };
352231
352340
  }
352232
352341
  }, [["__scopeId", "data-v-168b91ce"]]);
352233
- _hoisted_1$12 = { class: "toolbar-table-actions" };
352234
- _hoisted_2$9 = [
352342
+ _hoisted_1$13 = { class: "toolbar-table-actions" };
352343
+ _hoisted_2$10 = [
352235
352344
  "onClick",
352236
352345
  "data-item",
352237
352346
  "ariaLabel"
352238
352347
  ];
352239
- _hoisted_3$7 = { class: "toolbar-table-actions__icon" };
352240
- _hoisted_4$5 = ["innerHTML"];
352241
- _hoisted_5$3 = { class: "toolbar-table-actions__label" };
352348
+ _hoisted_3$8 = { class: "toolbar-table-actions__icon" };
352349
+ _hoisted_4$6 = ["innerHTML"];
352350
+ _hoisted_5$5 = { class: "toolbar-table-actions__label" };
352242
352351
  TableActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352243
352352
  __name: "TableActions",
352244
352353
  props: { options: { type: Array } },
@@ -352249,24 +352358,24 @@ function print() { __p += __j.call(arguments, '') }
352249
352358
  emit("select", { command: item.command });
352250
352359
  };
352251
352360
  return (_ctx, _cache) => {
352252
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
352361
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$13, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
352253
352362
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352254
352363
  class: exports_vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
352255
352364
  onClick: ($event) => handleClick$1(option),
352256
352365
  "data-item": option.props?.["data-item"] || "",
352257
352366
  ariaLabel: option.props?.ariaLabel,
352258
352367
  role: "menuitem"
352259
- }, [exports_vue.createElementVNode("div", _hoisted_3$7, [exports_vue.createElementVNode("div", {
352368
+ }, [exports_vue.createElementVNode("div", _hoisted_3$8, [exports_vue.createElementVNode("div", {
352260
352369
  class: "toolbar-table-actions__icon-wrapper",
352261
352370
  innerHTML: option.icon
352262
- }, null, 8, _hoisted_4$5)]), exports_vue.createElementVNode("div", _hoisted_5$3, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$9);
352371
+ }, null, 8, _hoisted_4$6)]), exports_vue.createElementVNode("div", _hoisted_5$5, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$10);
352263
352372
  }), 256))]);
352264
352373
  };
352265
352374
  }
352266
352375
  }, [["__scopeId", "data-v-652015c8"]]);
352267
- _hoisted_1$11 = { class: "search-input-ctn" };
352268
- _hoisted_2$8 = { class: "sd-row" };
352269
- _hoisted_3$6 = ["onKeydown"];
352376
+ _hoisted_1$12 = { class: "search-input-ctn" };
352377
+ _hoisted_2$9 = { class: "sd-row" };
352378
+ _hoisted_3$7 = ["onKeydown"];
352270
352379
  SearchInput_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352271
352380
  __name: "SearchInput",
352272
352381
  props: { searchRef: { type: Object } },
@@ -352278,7 +352387,7 @@ function print() { __p += __j.call(arguments, '') }
352278
352387
  emit("submit", { value: searchValue.value });
352279
352388
  };
352280
352389
  return (_ctx, _cache) => {
352281
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$11, [exports_vue.createElementVNode("div", _hoisted_2$8, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352390
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [exports_vue.createElementVNode("div", _hoisted_2$9, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352282
352391
  ref: __props.searchRef,
352283
352392
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
352284
352393
  class: "search-input",
@@ -352286,7 +352395,7 @@ function print() { __p += __j.call(arguments, '') }
352286
352395
  name: "search",
352287
352396
  placeholder: "Type search string",
352288
352397
  onKeydown: exports_vue.withKeys(exports_vue.withModifiers(handleSubmit, ["stop", "prevent"]), ["enter"])
352289
- }, null, 40, _hoisted_3$6), [[exports_vue.vModelText, searchValue.value]])]), exports_vue.createElementVNode("div", { class: "sd-row sd-submit" }, [exports_vue.createElementVNode("button", {
352398
+ }, null, 40, _hoisted_3$7), [[exports_vue.vModelText, searchValue.value]])]), exports_vue.createElementVNode("div", { class: "sd-row sd-submit" }, [exports_vue.createElementVNode("button", {
352290
352399
  class: "sd-submit-btn",
352291
352400
  onClick: handleSubmit
352292
352401
  }, "Apply")])]);
@@ -352430,8 +352539,8 @@ function print() { __p += __j.call(arguments, '') }
352430
352539
  HEADLESS_TOOLBAR_COMMANDS = [...new Set([...Object.values(HEADLESS_ITEM_MAP), ...TABLE_ACTION_COMMAND_IDS])];
352431
352540
  NON_HEADLESS_EXECUTE_ITEM_NAMES = new Set(["link"]);
352432
352541
  HEADLESS_EXECUTE_ITEMS = new Set(Object.keys(HEADLESS_ITEM_MAP).filter((itemName) => !NON_HEADLESS_EXECUTE_ITEM_NAMES.has(itemName)));
352433
- _hoisted_1$10 = { class: "sd-toolbar-icon" };
352434
- _hoisted_2$7 = ["innerHTML"];
352542
+ _hoisted_1$11 = { class: "sd-toolbar-icon" };
352543
+ _hoisted_2$8 = ["innerHTML"];
352435
352544
  ToolbarButtonIcon_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352436
352545
  __name: "ToolbarButtonIcon",
352437
352546
  props: {
@@ -352460,10 +352569,10 @@ function print() { __p += __j.call(arguments, '') }
352460
352569
  return ["color", "highlight"].includes(props.name);
352461
352570
  });
352462
352571
  return (_ctx, _cache) => {
352463
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$10, [exports_vue.createElementVNode("div", {
352572
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$11, [exports_vue.createElementVNode("div", {
352464
352573
  class: exports_vue.normalizeClass(["sd-toolbar-icon__icon", [`sd-toolbar-icon__icon--${props.name}`]]),
352465
352574
  innerHTML: __props.icon
352466
- }, null, 10, _hoisted_2$7), hasColorBar.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352575
+ }, null, 10, _hoisted_2$8), hasColorBar.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352467
352576
  key: 0,
352468
352577
  class: "color-bar",
352469
352578
  style: exports_vue.normalizeStyle(getBarColor.value)
@@ -352471,28 +352580,37 @@ function print() { __p += __j.call(arguments, '') }
352471
352580
  };
352472
352581
  }
352473
352582
  }, [["__scopeId", "data-v-521c3d93"]]);
352474
- _hoisted_1$9 = ["role", "aria-label"];
352475
- _hoisted_2$6 = ["data-item"];
352476
- _hoisted_3$5 = ["data-item"];
352477
- _hoisted_4$4 = {
352583
+ _hoisted_1$10 = ["role", "aria-label"];
352584
+ _hoisted_2$7 = ["data-item"];
352585
+ _hoisted_3$6 = ["data-item"];
352586
+ _hoisted_4$5 = {
352478
352587
  key: 1,
352479
352588
  class: "sd-button-label"
352480
352589
  };
352481
- _hoisted_5$2 = ["data-item", "aria-label"];
352482
- _hoisted_6$1 = ["innerHTML"];
352483
- _hoisted_7$1 = {
352590
+ _hoisted_5$4 = ["data-item", "aria-label"];
352591
+ _hoisted_6$3 = ["innerHTML"];
352592
+ _hoisted_7$2 = {
352484
352593
  key: 1,
352485
352594
  class: "sd-button-label"
352486
352595
  };
352487
- _hoisted_8 = { key: 2 };
352596
+ _hoisted_8 = {
352597
+ key: 2,
352598
+ class: "sd-toolbar-button__field sd-toolbar-split-field__main"
352599
+ };
352488
352600
  _hoisted_9 = ["onKeydown", "id"];
352489
352601
  _hoisted_10 = [
352490
352602
  "placeholder",
352491
352603
  "onKeydown",
352492
352604
  "id"
352493
352605
  ];
352494
- _hoisted_11 = ["innerHTML"];
352495
- _hoisted_12 = {
352606
+ _hoisted_11 = [
352607
+ "data-item",
352608
+ "aria-label",
352609
+ "disabled"
352610
+ ];
352611
+ _hoisted_12 = ["innerHTML"];
352612
+ _hoisted_13 = ["innerHTML"];
352613
+ _hoisted_14 = {
352496
352614
  "aria-live": "polite",
352497
352615
  class: "sd-visually-hidden"
352498
352616
  };
@@ -352535,21 +352653,28 @@ function print() { __p += __j.call(arguments, '') }
352535
352653
  emits: [
352536
352654
  "buttonClick",
352537
352655
  "textSubmit",
352538
- "mainClick"
352656
+ "mainClick",
352657
+ "tabOut"
352539
352658
  ],
352540
352659
  setup(__props, { emit: __emit }) {
352541
352660
  const emit = __emit;
352542
352661
  const props = __props;
352543
352662
  const { name, active, icon, label, hideLabel, iconColor, hasCaret, splitButton, disabled, expand, inlineTextInputVisible, hasInlineTextInput, minWidth, style: style2, attributes } = props.toolbarItem;
352544
352663
  const isSplit = exports_vue.computed(() => Boolean(splitButton?.value) && Boolean(hasCaret?.value));
352664
+ const isInlineSplitField = exports_vue.computed(() => name?.value === "fontSize" && Boolean(hasInlineTextInput?.value) && Boolean(hasCaret?.value));
352545
352665
  const inlineTextInput = exports_vue.ref(label);
352546
352666
  const inlineInput = exports_vue.ref(null);
352547
352667
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
352668
+ const selectInlineInput = () => {
352669
+ exports_vue.nextTick(() => {
352670
+ inlineInput.value?.select();
352671
+ });
352672
+ };
352548
352673
  const handleClick$1 = () => {
352549
352674
  if (hasInlineTextInput)
352550
352675
  exports_vue.nextTick(() => {
352551
352676
  inlineInput.value?.focus();
352552
- inlineInput.value?.select();
352677
+ selectInlineInput();
352553
352678
  });
352554
352679
  emit("buttonClick");
352555
352680
  };
@@ -352582,6 +352707,14 @@ function print() { __p += __j.call(arguments, '') }
352582
352707
  emit("textSubmit", cleanValue);
352583
352708
  inlineTextInput.value = cleanValue;
352584
352709
  };
352710
+ const handleInputTab = (event) => {
352711
+ if (name?.value !== "fontSize")
352712
+ return;
352713
+ event.preventDefault();
352714
+ handleInputSubmit();
352715
+ inlineInput.value?.blur();
352716
+ emit("tabOut", event);
352717
+ };
352585
352718
  const getStyle = exports_vue.computed(() => {
352586
352719
  if (style2.value)
352587
352720
  return style2.value;
@@ -352598,7 +352731,7 @@ function print() { __p += __j.call(arguments, '') }
352598
352731
  "aria-label": exports_vue.unref(attributes).ariaLabel,
352599
352732
  "data-sd-part": "toolbar-item",
352600
352733
  onClick: handleOuterClick,
352601
- onKeydown: _cache[3] || (_cache[3] = exports_vue.withKeys(($event) => onEnterKeydown($event), ["enter"])),
352734
+ onKeydown: _cache[5] || (_cache[5] = exports_vue.withKeys(($event) => onEnterKeydown($event), ["enter"])),
352602
352735
  tabindex: "0"
352603
352736
  }, [exports_vue.createElementVNode("div", {
352604
352737
  class: exports_vue.normalizeClass(["sd-toolbar-button", {
@@ -352607,6 +352740,8 @@ function print() { __p += __j.call(arguments, '') }
352607
352740
  narrow: __props.isNarrow,
352608
352741
  wide: __props.isWide,
352609
352742
  split: isSplit.value,
352743
+ "split-field": isInlineSplitField.value,
352744
+ "sd-toolbar-split-field": isInlineSplitField.value,
352610
352745
  "has-inline-text-input": exports_vue.unref(hasInlineTextInput),
352611
352746
  "high-contrast": exports_vue.unref(isHighContrastMode$1)
352612
352747
  }]),
@@ -352627,7 +352762,7 @@ function print() { __p += __j.call(arguments, '') }
352627
352762
  "color",
352628
352763
  "icon",
352629
352764
  "name"
352630
- ])) : exports_vue.createCommentVNode("", true), exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$4, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true)], 8, _hoisted_3$5)) : exports_vue.createCommentVNode("", true),
352765
+ ])) : exports_vue.createCommentVNode("", true), exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$5, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true)], 8, _hoisted_3$6)) : exports_vue.createCommentVNode("", true),
352631
352766
  isSplit.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352632
352767
  key: 1,
352633
352768
  class: "sd-toolbar-button__caret",
@@ -352638,7 +352773,7 @@ function print() { __p += __j.call(arguments, '') }
352638
352773
  class: "sd-dropdown-caret",
352639
352774
  innerHTML: caretIcon.value,
352640
352775
  style: exports_vue.normalizeStyle({ opacity: exports_vue.unref(disabled) ? 0.6 : 1 })
352641
- }, null, 12, _hoisted_6$1)], 8, _hoisted_5$2)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
352776
+ }, null, 12, _hoisted_6$3)], 8, _hoisted_5$4)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
352642
352777
  exports_vue.unref(icon) ? (exports_vue.openBlock(), exports_vue.createBlock(ToolbarButtonIcon_default, {
352643
352778
  key: 0,
352644
352779
  color: exports_vue.unref(iconColor),
@@ -352650,11 +352785,13 @@ function print() { __p += __j.call(arguments, '') }
352650
352785
  "icon",
352651
352786
  "name"
352652
352787
  ])) : exports_vue.createCommentVNode("", true),
352653
- exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7$1, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
352788
+ exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7$2, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
352654
352789
  exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_8, [exports_vue.unref(name) === "fontSize" ? exports_vue.withDirectives((exports_vue.openBlock(), exports_vue.createElementBlock("input", {
352655
352790
  key: 0,
352656
352791
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => inlineTextInput.value = $event),
352657
- onKeydown: exports_vue.withKeys(exports_vue.withModifiers(handleInputSubmit, ["prevent"]), ["enter"]),
352792
+ onKeydown: [exports_vue.withKeys(exports_vue.withModifiers(handleInputSubmit, ["prevent"]), ["enter"]), exports_vue.withKeys(handleInputTab, ["tab"])],
352793
+ onFocus: selectInlineInput,
352794
+ onClick: _cache[2] || (_cache[2] = exports_vue.withModifiers(() => {}, ["stop"])),
352658
352795
  type: "text",
352659
352796
  class: exports_vue.normalizeClass(["button-text-input button-text-input--font-size", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]),
352660
352797
  id: "inlineTextInput-" + exports_vue.unref(name),
@@ -352663,7 +352800,7 @@ function print() { __p += __j.call(arguments, '') }
352663
352800
  ref: inlineInput
352664
352801
  }, null, 42, _hoisted_9)), [[exports_vue.vModelText, inlineTextInput.value]]) : exports_vue.withDirectives((exports_vue.openBlock(), exports_vue.createElementBlock("input", {
352665
352802
  key: 1,
352666
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => inlineTextInput.value = $event),
352803
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => inlineTextInput.value = $event),
352667
352804
  placeholder: exports_vue.unref(label),
352668
352805
  onKeydown: exports_vue.withKeys(exports_vue.withModifiers(handleInputSubmit, ["prevent"]), ["enter"]),
352669
352806
  type: "text",
@@ -352673,19 +352810,32 @@ function print() { __p += __j.call(arguments, '') }
352673
352810
  ref_key: "inlineInput",
352674
352811
  ref: inlineInput
352675
352812
  }, null, 40, _hoisted_10)), [[exports_vue.vModelText, inlineTextInput.value]])])) : exports_vue.createCommentVNode("", true),
352676
- exports_vue.unref(hasCaret) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352813
+ isInlineSplitField.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("button", {
352677
352814
  key: 3,
352815
+ type: "button",
352816
+ class: "sd-toolbar-button__field-caret sd-toolbar-split-field__caret",
352817
+ "data-item": `btn-${exports_vue.unref(name) || ""}-caret`,
352818
+ "aria-label": `${exports_vue.unref(attributes).ariaLabel} options`,
352819
+ disabled: exports_vue.unref(disabled),
352820
+ tabindex: "-1",
352821
+ onMousedown: _cache[4] || (_cache[4] = exports_vue.withModifiers(() => {}, ["prevent"]))
352822
+ }, [exports_vue.createElementVNode("span", {
352678
352823
  class: "sd-dropdown-caret",
352679
352824
  innerHTML: caretIcon.value,
352680
352825
  style: exports_vue.normalizeStyle({ opacity: exports_vue.unref(disabled) ? 0.6 : 1 })
352681
- }, null, 12, _hoisted_11)) : exports_vue.createCommentVNode("", true)
352826
+ }, null, 12, _hoisted_12)], 40, _hoisted_11)) : exports_vue.unref(hasCaret) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352827
+ key: 4,
352828
+ class: "sd-dropdown-caret",
352829
+ innerHTML: caretIcon.value,
352830
+ style: exports_vue.normalizeStyle({ opacity: exports_vue.unref(disabled) ? 0.6 : 1 })
352831
+ }, null, 12, _hoisted_13)) : exports_vue.createCommentVNode("", true)
352682
352832
  ], 64)),
352683
- exports_vue.createElementVNode("div", _hoisted_12, exports_vue.toDisplayString(`${exports_vue.unref(attributes).ariaLabel} ${exports_vue.unref(active) ? "selected" : "unset"}`), 1)
352684
- ], 10, _hoisted_2$6)], 46, _hoisted_1$9);
352833
+ exports_vue.createElementVNode("div", _hoisted_14, exports_vue.toDisplayString(`${exports_vue.unref(attributes).ariaLabel} ${exports_vue.unref(active) ? "selected" : "unset"}`), 1)
352834
+ ], 10, _hoisted_2$7)], 46, _hoisted_1$10);
352685
352835
  };
352686
352836
  }
352687
- }, [["__scopeId", "data-v-360f6a95"]]);
352688
- _hoisted_1$8 = {
352837
+ }, [["__scopeId", "data-v-2caa0057"]]);
352838
+ _hoisted_1$9 = {
352689
352839
  class: "toolbar-separator",
352690
352840
  role: "separator",
352691
352841
  "aria-label": "Toolbar separator"
@@ -352705,16 +352855,16 @@ function print() { __p += __j.call(arguments, '') }
352705
352855
  return "var(--sd-ui-border, #dbdbdb)";
352706
352856
  };
352707
352857
  return (_ctx, _cache) => {
352708
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", {
352858
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$9, [exports_vue.createElementVNode("div", {
352709
352859
  class: "separator-inner",
352710
352860
  style: exports_vue.normalizeStyle({ backgroundColor: getSeparatorColor() })
352711
352861
  }, null, 4)]);
352712
352862
  };
352713
352863
  }
352714
352864
  }, [["__scopeId", "data-v-d027f7fc"]]);
352715
- _hoisted_1$7 = { class: "overflow-menu" };
352716
- _hoisted_2$5 = { class: "overflow-menu-trigger" };
352717
- _hoisted_3$4 = {
352865
+ _hoisted_1$8 = { class: "overflow-menu" };
352866
+ _hoisted_2$6 = { class: "overflow-menu-trigger" };
352867
+ _hoisted_3$5 = {
352718
352868
  key: 0,
352719
352869
  class: "overflow-menu_items",
352720
352870
  role: "group"
@@ -352766,10 +352916,10 @@ function print() { __p += __j.call(arguments, '') }
352766
352916
  document.removeEventListener("keydown", handleKeyDown$1, true);
352767
352917
  });
352768
352918
  return (_ctx, _cache) => {
352769
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$7, [exports_vue.createElementVNode("div", _hoisted_2$5, [exports_vue.createVNode(ToolbarButton_default, {
352919
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", _hoisted_2$6, [exports_vue.createVNode(ToolbarButton_default, {
352770
352920
  "toolbar-item": overflowToolbarItem.value,
352771
352921
  onButtonClick: toggleOverflowMenu
352772
- }, null, 8, ["toolbar-item"])]), isOverflowMenuOpened.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$4, [exports_vue.createVNode(ButtonGroup_default, {
352922
+ }, null, 8, ["toolbar-item"])]), isOverflowMenuOpened.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$5, [exports_vue.createVNode(ButtonGroup_default, {
352773
352923
  class: "superdoc-toolbar-overflow",
352774
352924
  "toolbar-items": __props.overflowItems,
352775
352925
  "from-overflow": "",
@@ -352779,13 +352929,13 @@ function print() { __p += __j.call(arguments, '') }
352779
352929
  };
352780
352930
  }
352781
352931
  }, [["__scopeId", "data-v-35b48dff"]]);
352782
- _hoisted_1$6 = { class: "toolbar-dropdown" };
352783
- _hoisted_2$4 = ["onClick"];
352784
- _hoisted_3$3 = {
352932
+ _hoisted_1$7 = { class: "toolbar-dropdown" };
352933
+ _hoisted_2$5 = ["onClick"];
352934
+ _hoisted_3$4 = {
352785
352935
  key: 0,
352786
352936
  class: "toolbar-dropdown-option__icon"
352787
352937
  };
352788
- _hoisted_4$3 = { class: "toolbar-dropdown-option__label" };
352938
+ _hoisted_4$4 = { class: "toolbar-dropdown-option__label" };
352789
352939
  ToolbarDropdown_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352790
352940
  __name: "ToolbarDropdown",
352791
352941
  props: {
@@ -353133,7 +353283,7 @@ function print() { __p += __j.call(arguments, '') }
353133
353283
  window.removeEventListener("scroll", updateMenuPosition, true);
353134
353284
  });
353135
353285
  return (_ctx, _cache) => {
353136
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$6, [exports_vue.createElementVNode("div", {
353286
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$7, [exports_vue.createElementVNode("div", {
353137
353287
  ref_key: "triggerRef",
353138
353288
  ref: triggerRef,
353139
353289
  class: "toolbar-dropdown-trigger",
@@ -353168,13 +353318,486 @@ function print() { __p += __j.call(arguments, '') }
353168
353318
  }), [isRenderOption(option) ? (exports_vue.openBlock(), exports_vue.createBlock(exports_vue.unref(RenderOption), {
353169
353319
  key: 0,
353170
353320
  option
353171
- }, null, 8, ["option"])) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 1 }, [hasIcon(option) ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$3, [exports_vue.createVNode(exports_vue.unref(OptionIcon), { option }, null, 8, ["option"])])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("span", _hoisted_4$3, exports_vue.toDisplayString(option.label), 1)], 64))], 16, _hoisted_2$4);
353321
+ }, null, 8, ["option"])) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 1 }, [hasIcon(option) ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$4, [exports_vue.createVNode(exports_vue.unref(OptionIcon), { option }, null, 8, ["option"])])) : exports_vue.createCommentVNode("", true), exports_vue.createElementVNode("span", _hoisted_4$4, exports_vue.toDisplayString(option.label), 1)], 64))], 16, _hoisted_2$5);
353172
353322
  }), 128))], 16)) : exports_vue.createCommentVNode("", true)]),
353173
353323
  _: 1
353174
353324
  })]))]);
353175
353325
  };
353176
353326
  }
353177
353327
  }, [["__scopeId", "data-v-69732782"]]);
353328
+ _hoisted_1$6 = [
353329
+ "value",
353330
+ "disabled",
353331
+ "aria-label",
353332
+ "aria-expanded",
353333
+ "aria-controls",
353334
+ "aria-activedescendant"
353335
+ ];
353336
+ _hoisted_2$4 = ["aria-label", "disabled"];
353337
+ _hoisted_3$3 = ["innerHTML"];
353338
+ _hoisted_4$3 = ["id", "aria-label"];
353339
+ _hoisted_5$3 = [
353340
+ "id",
353341
+ "aria-selected",
353342
+ "aria-label",
353343
+ "onMousedown",
353344
+ "onMouseenter"
353345
+ ];
353346
+ _hoisted_6$2 = { class: "toolbar-dropdown-option__label" };
353347
+ _hoisted_7$1 = {
353348
+ class: "sd-button-label sd-font-combobox__legacy-label",
353349
+ "aria-hidden": "true"
353350
+ };
353351
+ FontFamilyCombobox_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
353352
+ __name: "FontFamilyCombobox",
353353
+ props: {
353354
+ item: {
353355
+ type: Object,
353356
+ required: true
353357
+ },
353358
+ uiFontFamily: {
353359
+ type: String,
353360
+ default: "Arial, Helvetica, sans-serif"
353361
+ }
353362
+ },
353363
+ emits: [
353364
+ "command",
353365
+ "item-clicked",
353366
+ "tab-out",
353367
+ "editor-handoff"
353368
+ ],
353369
+ setup(__props, { emit: __emit }) {
353370
+ const props = __props;
353371
+ const emit = __emit;
353372
+ const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
353373
+ const inputRef = exports_vue.ref(null);
353374
+ const rootRef = exports_vue.ref(null);
353375
+ const popupRef = exports_vue.ref(null);
353376
+ const optionRefs = exports_vue.ref([]);
353377
+ const isEditing = exports_vue.ref(false);
353378
+ const isOpen = exports_vue.ref(false);
353379
+ const activeIndex = exports_vue.ref(-1);
353380
+ const query2 = exports_vue.ref("");
353381
+ const inputDisplay = exports_vue.ref("");
353382
+ const isComposing = exports_vue.ref(false);
353383
+ const menuPosition = exports_vue.ref({
353384
+ top: "0px",
353385
+ left: "0px",
353386
+ minWidth: "0px",
353387
+ maxHeight: "none"
353388
+ });
353389
+ const options = exports_vue.computed(() => props.item.nestedOptions?.value ?? []);
353390
+ const optionLabels = exports_vue.computed(() => options.value.map((option) => String(option?.label ?? "")));
353391
+ const appliedLabel = exports_vue.computed(() => String(props.item.label?.value ?? ""));
353392
+ const disabled = exports_vue.computed(() => Boolean(props.item.disabled?.value));
353393
+ const ariaLabel = exports_vue.computed(() => props.item.attributes?.value?.ariaLabel ?? "Font family");
353394
+ const boundValue = exports_vue.computed(() => isEditing.value ? inputDisplay.value : appliedLabel.value);
353395
+ const listboxId = exports_vue.computed(() => `sd-fontfamily-listbox-${props.item.id?.value ?? "default"}`);
353396
+ const optionId = (index2) => `${listboxId.value}-option-${index2}`;
353397
+ const activeDescendant = exports_vue.computed(() => isOpen.value && activeIndex.value >= 0 ? optionId(activeIndex.value) : undefined);
353398
+ const caretIcon = exports_vue.computed(() => isOpen.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown);
353399
+ const previewFamilyForLabel = (label) => {
353400
+ const normalized = String(label ?? "").trim().toLowerCase();
353401
+ return options.value.find((candidate) => String(candidate?.label ?? "").trim().toLowerCase() === normalized)?.props?.style?.fontFamily || label || props.uiFontFamily;
353402
+ };
353403
+ const inputStyle = exports_vue.computed(() => ({ fontFamily: previewFamilyForLabel(isEditing.value ? inputDisplay.value : appliedLabel.value) }));
353404
+ const appliedIndex = () => {
353405
+ const selectedKey = props.item.selectedValue?.value;
353406
+ if (selectedKey) {
353407
+ const byKey = options.value.findIndex((option) => option?.key === selectedKey);
353408
+ if (byKey >= 0)
353409
+ return byKey;
353410
+ }
353411
+ return optionLabels.value.findIndex((label) => label.toLowerCase() === appliedLabel.value.toLowerCase());
353412
+ };
353413
+ const setSelectionRange = (start$1, end$1) => {
353414
+ const el = inputRef.value;
353415
+ if (!el || typeof el.setSelectionRange !== "function")
353416
+ return;
353417
+ try {
353418
+ el.setSelectionRange(start$1, end$1);
353419
+ } catch {}
353420
+ };
353421
+ const scrollActiveIntoView = () => {
353422
+ optionRefs.value[activeIndex.value]?.scrollIntoView?.({
353423
+ block: "nearest",
353424
+ inline: "nearest"
353425
+ });
353426
+ };
353427
+ const updatePosition$1 = () => {
353428
+ const trigger = rootRef.value;
353429
+ if (!trigger)
353430
+ return;
353431
+ const rect = trigger.getBoundingClientRect();
353432
+ const menuEl = popupRef.value;
353433
+ const menuHeight = menuEl?.scrollHeight ?? menuEl?.offsetHeight ?? 0;
353434
+ const viewportHeight = window.innerHeight || document.documentElement.clientHeight || 0;
353435
+ const viewportWidth = window.innerWidth || document.documentElement.clientWidth || 0;
353436
+ const gutter = 8;
353437
+ const gap = 4;
353438
+ const belowTop = rect.bottom + gap;
353439
+ const aboveBottom = rect.top - gap;
353440
+ const availableBelow = Math.max(0, viewportHeight - belowTop - gutter);
353441
+ const availableAbove = Math.max(0, aboveBottom - gutter);
353442
+ const openAbove = availableBelow < menuHeight && availableAbove > availableBelow;
353443
+ const maxHeight = openAbove ? availableAbove : availableBelow;
353444
+ const renderHeight = menuHeight ? Math.min(menuHeight, maxHeight) : maxHeight;
353445
+ const top$1 = openAbove ? Math.max(gutter, aboveBottom - renderHeight) : belowTop;
353446
+ const left$1 = Math.min(Math.max(gutter, rect.left), Math.max(gutter, viewportWidth - rect.width - gutter));
353447
+ menuPosition.value = {
353448
+ top: `${top$1}px`,
353449
+ left: `${left$1}px`,
353450
+ minWidth: `${rect.width}px`,
353451
+ maxHeight: `${maxHeight}px`
353452
+ };
353453
+ };
353454
+ const menuStyle = exports_vue.computed(() => ({
353455
+ position: "fixed",
353456
+ top: menuPosition.value.top,
353457
+ left: menuPosition.value.left,
353458
+ minWidth: menuPosition.value.minWidth,
353459
+ maxHeight: menuPosition.value.maxHeight,
353460
+ fontFamily: props.uiFontFamily,
353461
+ zIndex: 2000
353462
+ }));
353463
+ const setItemExpanded = (open2) => {
353464
+ if (props.item.expand && typeof props.item.expand === "object" && "value" in props.item.expand)
353465
+ props.item.expand.value = open2;
353466
+ };
353467
+ const openList = (index2, { focusInput = false } = {}) => {
353468
+ if (disabled.value || !options.value.length) {
353469
+ setItemExpanded(false);
353470
+ return;
353471
+ }
353472
+ isOpen.value = true;
353473
+ setItemExpanded(true);
353474
+ activeIndex.value = index2 ?? -1;
353475
+ if (focusInput) {
353476
+ isEditing.value = true;
353477
+ inputDisplay.value = appliedLabel.value;
353478
+ inputRef.value?.focus();
353479
+ }
353480
+ exports_vue.nextTick(() => {
353481
+ updatePosition$1();
353482
+ scrollActiveIntoView();
353483
+ });
353484
+ };
353485
+ const closeList = ({ syncItem = true } = {}) => {
353486
+ isOpen.value = false;
353487
+ activeIndex.value = -1;
353488
+ if (syncItem)
353489
+ setItemExpanded(false);
353490
+ };
353491
+ const resetToApplied = () => {
353492
+ closeList();
353493
+ isEditing.value = false;
353494
+ query2.value = "";
353495
+ inputDisplay.value = appliedLabel.value;
353496
+ };
353497
+ const onFocus = () => {
353498
+ if (disabled.value)
353499
+ return;
353500
+ emit("item-clicked");
353501
+ isEditing.value = true;
353502
+ query2.value = "";
353503
+ inputDisplay.value = appliedLabel.value;
353504
+ exports_vue.nextTick(() => setSelectionRange(0, inputDisplay.value.length));
353505
+ };
353506
+ const onInputMousedown = (event) => {
353507
+ if (disabled.value || document.activeElement === inputRef.value)
353508
+ return;
353509
+ event.preventDefault();
353510
+ inputRef.value?.focus();
353511
+ isEditing.value = true;
353512
+ query2.value = "";
353513
+ inputDisplay.value = appliedLabel.value;
353514
+ setSelectionRange(0, appliedLabel.value.length);
353515
+ };
353516
+ const onBlur = (event) => {
353517
+ const next2 = event.relatedTarget;
353518
+ if (next2 instanceof Node && rootRef.value?.contains(next2))
353519
+ return;
353520
+ if (next2 instanceof Node && popupRef.value?.contains(next2))
353521
+ return;
353522
+ resetToApplied();
353523
+ };
353524
+ const onInput = (event) => {
353525
+ if (isComposing.value)
353526
+ return;
353527
+ const el = event.target;
353528
+ const typed = el.value;
353529
+ const selectionStart = typeof el.selectionStart === "number" ? el.selectionStart : typed.length;
353530
+ const selectionEnd = typeof el.selectionEnd === "number" ? el.selectionEnd : selectionStart;
353531
+ const isDelete = typeof event.inputType === "string" && event.inputType.startsWith("delete");
353532
+ const editAtEnd = selectionStart === typed.length && selectionEnd === typed.length;
353533
+ query2.value = typed;
353534
+ const result = computeTypeahead(typed, optionLabels.value, { autocomplete: !isDelete && editAtEnd });
353535
+ inputDisplay.value = result.display;
353536
+ el.value = result.display;
353537
+ if (result.display === typed && !editAtEnd)
353538
+ setSelectionRange(selectionStart, selectionEnd);
353539
+ else
353540
+ setSelectionRange(result.selectionStart, result.selectionEnd);
353541
+ if (isOpen.value) {
353542
+ activeIndex.value = result.matchIndex;
353543
+ exports_vue.nextTick(scrollActiveIntoView);
353544
+ }
353545
+ };
353546
+ const onCompositionEnd = (event) => {
353547
+ isComposing.value = false;
353548
+ onInput(event);
353549
+ };
353550
+ const moveActive = (direction) => {
353551
+ if (!options.value.length)
353552
+ return;
353553
+ const count2 = options.value.length;
353554
+ activeIndex.value = ((activeIndex.value < 0 ? direction > 0 ? -1 : 0 : activeIndex.value) + direction + count2) % count2;
353555
+ exports_vue.nextTick(scrollActiveIntoView);
353556
+ };
353557
+ const emitFontCommand = (label, option) => {
353558
+ emit("item-clicked");
353559
+ emit("command", {
353560
+ item: props.item,
353561
+ argument: label,
353562
+ option
353563
+ });
353564
+ if (option)
353565
+ props.item.selectedValue.value = option.key;
353566
+ };
353567
+ const applyOption = (option) => {
353568
+ if (!option)
353569
+ return;
353570
+ emitFontCommand(option.label, option);
353571
+ isEditing.value = false;
353572
+ query2.value = "";
353573
+ inputDisplay.value = option.label;
353574
+ closeList();
353575
+ };
353576
+ const applySelection = () => {
353577
+ if (isOpen.value && activeIndex.value >= 0) {
353578
+ applyOption(options.value[activeIndex.value]);
353579
+ return true;
353580
+ }
353581
+ const matchIndex = findPrefixMatchIndex(query2.value, optionLabels.value);
353582
+ if (matchIndex >= 0) {
353583
+ applyOption(options.value[matchIndex]);
353584
+ return true;
353585
+ }
353586
+ const custom = normalizeCustomFontFamily(query2.value);
353587
+ if (custom) {
353588
+ emitFontCommand(custom, null);
353589
+ isEditing.value = false;
353590
+ query2.value = "";
353591
+ inputDisplay.value = custom;
353592
+ closeList();
353593
+ return true;
353594
+ }
353595
+ return false;
353596
+ };
353597
+ const onKeydown = (event) => {
353598
+ if (event.isComposing || isComposing.value || event.keyCode === 229)
353599
+ return;
353600
+ if (event.ctrlKey || event.metaKey || event.altKey)
353601
+ return;
353602
+ switch (event.key) {
353603
+ case "ArrowDown":
353604
+ event.preventDefault();
353605
+ if (!isOpen.value) {
353606
+ const typedMatch = findPrefixMatchIndex(query2.value, optionLabels.value);
353607
+ const index2 = typedMatch >= 0 ? typedMatch : appliedIndex();
353608
+ openList(index2 >= 0 ? index2 : 0);
353609
+ } else
353610
+ moveActive(1);
353611
+ break;
353612
+ case "ArrowUp":
353613
+ event.preventDefault();
353614
+ if (!isOpen.value) {
353615
+ const typedMatch = findPrefixMatchIndex(query2.value, optionLabels.value);
353616
+ const index2 = typedMatch >= 0 ? typedMatch : appliedIndex();
353617
+ openList(index2 >= 0 ? index2 : options.value.length - 1);
353618
+ } else
353619
+ moveActive(-1);
353620
+ break;
353621
+ case "Enter":
353622
+ event.preventDefault();
353623
+ if (applySelection())
353624
+ emit("editor-handoff");
353625
+ inputRef.value?.blur();
353626
+ break;
353627
+ case "Tab":
353628
+ event.preventDefault();
353629
+ applySelection();
353630
+ closeList();
353631
+ inputRef.value?.blur();
353632
+ emit("tab-out", event);
353633
+ break;
353634
+ case "Escape":
353635
+ event.preventDefault();
353636
+ resetToApplied();
353637
+ exports_vue.nextTick(() => inputRef.value?.focus());
353638
+ break;
353639
+ default:
353640
+ break;
353641
+ }
353642
+ };
353643
+ const onCaretMousedown = (event) => {
353644
+ event.preventDefault();
353645
+ if (disabled.value)
353646
+ return;
353647
+ emit("item-clicked");
353648
+ if (!isEditing.value) {
353649
+ isEditing.value = true;
353650
+ inputDisplay.value = appliedLabel.value;
353651
+ inputRef.value?.focus();
353652
+ }
353653
+ if (isOpen.value)
353654
+ closeList();
353655
+ else {
353656
+ const index2 = appliedIndex();
353657
+ openList(index2 >= 0 ? index2 : 0);
353658
+ }
353659
+ };
353660
+ const onOptionMousedown = (event, option) => {
353661
+ event.preventDefault();
353662
+ applyOption(option);
353663
+ emit("editor-handoff");
353664
+ inputRef.value?.blur();
353665
+ };
353666
+ const onOptionMouseenter = (index2) => {
353667
+ activeIndex.value = index2;
353668
+ };
353669
+ const handleDocumentPointerDown = (event) => {
353670
+ if (!isOpen.value)
353671
+ return;
353672
+ const target = event.target;
353673
+ if (!(target instanceof Element))
353674
+ return;
353675
+ if (rootRef.value?.contains(target) || popupRef.value?.contains(target))
353676
+ return;
353677
+ closeList();
353678
+ };
353679
+ exports_vue.watch(isOpen, (open2) => {
353680
+ if (open2) {
353681
+ document.addEventListener("pointerdown", handleDocumentPointerDown, true);
353682
+ window.addEventListener("resize", updatePosition$1);
353683
+ window.addEventListener("scroll", updatePosition$1, true);
353684
+ } else {
353685
+ document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
353686
+ window.removeEventListener("resize", updatePosition$1);
353687
+ window.removeEventListener("scroll", updatePosition$1, true);
353688
+ optionRefs.value = [];
353689
+ }
353690
+ }, { immediate: true });
353691
+ exports_vue.onBeforeUnmount(() => {
353692
+ document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
353693
+ window.removeEventListener("resize", updatePosition$1);
353694
+ window.removeEventListener("scroll", updatePosition$1, true);
353695
+ });
353696
+ const setOptionRef = (el, index2) => {
353697
+ if (!el) {
353698
+ delete optionRefs.value[index2];
353699
+ return;
353700
+ }
353701
+ optionRefs.value[index2] = el;
353702
+ };
353703
+ const isOptionActive = (index2) => index2 === activeIndex.value;
353704
+ const isOptionSelected = (option) => option?.key && option.key === props.item.selectedValue?.value;
353705
+ exports_vue.watch(appliedLabel, (label) => {
353706
+ if (isEditing.value)
353707
+ return;
353708
+ inputDisplay.value = label;
353709
+ });
353710
+ exports_vue.watch(() => Boolean(props.item.expand?.value), (expanded) => {
353711
+ if (expanded && !isOpen.value) {
353712
+ const index2 = appliedIndex();
353713
+ openList(index2 >= 0 ? index2 : 0, { focusInput: true });
353714
+ return;
353715
+ }
353716
+ if (!expanded && isOpen.value)
353717
+ closeList({ syncItem: false });
353718
+ });
353719
+ return (_ctx, _cache) => {
353720
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
353721
+ ref_key: "rootRef",
353722
+ ref: rootRef,
353723
+ class: exports_vue.normalizeClass(["sd-font-combobox sd-toolbar-split-field", {
353724
+ "sd-disabled": disabled.value,
353725
+ "high-contrast": exports_vue.unref(isHighContrastMode$1)
353726
+ }]),
353727
+ style: exports_vue.normalizeStyle(props.item.style?.value),
353728
+ "data-item": "btn-fontFamily"
353729
+ }, [
353730
+ exports_vue.createElementVNode("span", {
353731
+ class: "sd-font-combobox__field sd-toolbar-split-field__main",
353732
+ onMousedown: onInputMousedown
353733
+ }, [exports_vue.createElementVNode("input", {
353734
+ ref_key: "inputRef",
353735
+ ref: inputRef,
353736
+ class: "button-text-input sd-font-combobox__input",
353737
+ type: "text",
353738
+ role: "combobox",
353739
+ autocomplete: "off",
353740
+ spellcheck: "false",
353741
+ value: boundValue.value,
353742
+ style: exports_vue.normalizeStyle(inputStyle.value),
353743
+ disabled: disabled.value,
353744
+ "aria-label": ariaLabel.value,
353745
+ "aria-expanded": isOpen.value ? "true" : "false",
353746
+ "aria-controls": listboxId.value,
353747
+ "aria-activedescendant": activeDescendant.value,
353748
+ "aria-haspopup": "listbox",
353749
+ "aria-autocomplete": "both",
353750
+ onFocus,
353751
+ onBlur,
353752
+ onInput,
353753
+ onKeydown,
353754
+ onCompositionstart: _cache[0] || (_cache[0] = ($event) => isComposing.value = true),
353755
+ onCompositionend: onCompositionEnd
353756
+ }, null, 44, _hoisted_1$6)], 32),
353757
+ exports_vue.createElementVNode("button", {
353758
+ type: "button",
353759
+ class: "sd-font-combobox__caret sd-toolbar-split-field__caret",
353760
+ "data-item": "btn-fontFamily-toggle",
353761
+ tabindex: "-1",
353762
+ "aria-label": `${ariaLabel.value} options`,
353763
+ disabled: disabled.value,
353764
+ onMousedown: onCaretMousedown
353765
+ }, [exports_vue.createElementVNode("span", {
353766
+ class: "sd-dropdown-caret",
353767
+ innerHTML: caretIcon.value
353768
+ }, null, 8, _hoisted_3$3)], 40, _hoisted_2$4),
353769
+ (exports_vue.openBlock(), exports_vue.createBlock(exports_vue.Teleport, { to: "body" }, [isOpen.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
353770
+ key: 0,
353771
+ ref_key: "popupRef",
353772
+ ref: popupRef,
353773
+ role: "listbox",
353774
+ id: listboxId.value,
353775
+ "aria-label": ariaLabel.value,
353776
+ class: exports_vue.normalizeClass(["sd-font-combobox__listbox", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]),
353777
+ style: exports_vue.normalizeStyle(menuStyle.value)
353778
+ }, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(options.value, (option, index2) => {
353779
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", exports_vue.mergeProps({
353780
+ key: option.key,
353781
+ ref_for: true,
353782
+ ref: (el) => setOptionRef(el, index2),
353783
+ id: optionId(index2),
353784
+ role: "option",
353785
+ class: ["toolbar-dropdown-option sd-font-combobox__option", {
353786
+ "sd-active": isOptionActive(index2),
353787
+ "sd-selected": isOptionSelected(option)
353788
+ }],
353789
+ "aria-selected": isOptionSelected(option) ? "true" : "false",
353790
+ "aria-label": `${ariaLabel.value} - ${option.label}`
353791
+ }, { ref_for: true }, option.props, {
353792
+ onMousedown: (e) => onOptionMousedown(e, option),
353793
+ onMouseenter: ($event) => onOptionMouseenter(index2)
353794
+ }), [exports_vue.createElementVNode("span", _hoisted_6$2, exports_vue.toDisplayString(option.label), 1)], 16, _hoisted_5$3);
353795
+ }), 128))], 14, _hoisted_4$3)) : exports_vue.createCommentVNode("", true)])),
353796
+ exports_vue.createElementVNode("span", _hoisted_7$1, exports_vue.toDisplayString(appliedLabel.value), 1)
353797
+ ], 6);
353798
+ };
353799
+ }
353800
+ }, [["__scopeId", "data-v-1e39033e"]]);
353178
353801
  SdTooltip_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
353179
353802
  __name: "SdTooltip",
353180
353803
  props: {
@@ -353190,6 +353813,10 @@ function print() { __p += __j.call(arguments, '') }
353190
353813
  type: Number,
353191
353814
  default: 100
353192
353815
  },
353816
+ autoHideDuration: {
353817
+ type: Number,
353818
+ default: 0
353819
+ },
353193
353820
  disabled: {
353194
353821
  type: Boolean,
353195
353822
  default: false
@@ -353211,6 +353838,7 @@ function print() { __p += __j.call(arguments, '') }
353211
353838
  });
353212
353839
  let closeTimeout = null;
353213
353840
  let openTimeout = null;
353841
+ let autoHideTimeout = null;
353214
353842
  const mergedContentClass = exports_vue.computed(() => ["sd-tooltip-content", attrs.class]);
353215
353843
  const contentStyle = exports_vue.computed(() => ({
353216
353844
  ...props.contentStyle,
@@ -353232,6 +353860,21 @@ function print() { __p += __j.call(arguments, '') }
353232
353860
  openTimeout = null;
353233
353861
  }
353234
353862
  };
353863
+ const clearAutoHideTimeout = () => {
353864
+ if (autoHideTimeout) {
353865
+ window.clearTimeout(autoHideTimeout);
353866
+ autoHideTimeout = null;
353867
+ }
353868
+ };
353869
+ const scheduleAutoHide = () => {
353870
+ clearAutoHideTimeout();
353871
+ if (props.autoHideDuration <= 0)
353872
+ return;
353873
+ autoHideTimeout = window.setTimeout(() => {
353874
+ autoHideTimeout = null;
353875
+ close2();
353876
+ }, props.autoHideDuration);
353877
+ };
353235
353878
  const updatePosition$1 = () => {
353236
353879
  if (!triggerRef.value || !contentRef.value)
353237
353880
  return;
@@ -353257,10 +353900,12 @@ function print() { __p += __j.call(arguments, '') }
353257
353900
  isOpen.value = true;
353258
353901
  await exports_vue.nextTick();
353259
353902
  updatePosition$1();
353903
+ scheduleAutoHide();
353260
353904
  };
353261
353905
  const close2 = () => {
353262
353906
  clearOpenTimeout();
353263
353907
  clearCloseTimeout();
353908
+ clearAutoHideTimeout();
353264
353909
  if (!isOpen.value)
353265
353910
  return;
353266
353911
  isOpen.value = false;
@@ -353332,6 +353977,7 @@ function print() { __p += __j.call(arguments, '') }
353332
353977
  exports_vue.onBeforeUnmount(() => {
353333
353978
  clearOpenTimeout();
353334
353979
  clearCloseTimeout();
353980
+ clearAutoHideTimeout();
353335
353981
  window.removeEventListener("resize", updatePosition$1);
353336
353982
  window.removeEventListener("scroll", updatePosition$1, true);
353337
353983
  document.removeEventListener("keydown", handleEscape, true);
@@ -353362,15 +354008,17 @@ function print() { __p += __j.call(arguments, '') }
353362
354008
  })]))], 64);
353363
354009
  };
353364
354010
  }
353365
- }), [["__scopeId", "data-v-d8dd2f5a"]]);
353366
- _hoisted_1$5 = [
354011
+ }), [["__scopeId", "data-v-f0925f67"]]);
354012
+ _hoisted_1$5 = ["data-toolbar-position"];
354013
+ _hoisted_2$3 = [
353367
354014
  "onKeydown",
353368
354015
  "tabindex",
353369
354016
  "data-item-id"
353370
354017
  ];
353371
- _hoisted_2$3 = { key: 0 };
353372
354018
  _hoisted_3$2 = { key: 0 };
353373
354019
  _hoisted_4$2 = { key: 0 };
354020
+ _hoisted_5$2 = { key: 0 };
354021
+ _hoisted_6$1 = { key: 0 };
353374
354022
  ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
353375
354023
  __name: "ButtonGroup",
353376
354024
  props: {
@@ -353431,8 +354079,10 @@ function print() { __p += __j.call(arguments, '') }
353431
354079
  });
353432
354080
  const isButton = (item) => item.type === "button";
353433
354081
  const isDropdown = (item) => item.type === "dropdown";
354082
+ const isFontFamily = (item) => item.type === "dropdown" && item.name?.value === "fontFamily";
353434
354083
  const isSeparator = (item) => item.type === "separator";
353435
354084
  const isOverflow = (item) => item.type === "overflow";
354085
+ const hasNestedOptions = (item) => Boolean(item.nestedOptions?.value?.length);
353436
354086
  const getExpanded = (item) => {
353437
354087
  if (!item)
353438
354088
  return false;
@@ -353496,16 +354146,19 @@ function print() { __p += __j.call(arguments, '') }
353496
354146
  argument: null
353497
354147
  });
353498
354148
  };
353499
- const closeDropdowns = () => {
354149
+ const closeDropdowns = (exceptItem = null) => {
353500
354150
  const toolbarItems = proxy?.$toolbar?.toolbarItems || [];
353501
354151
  const overflowItems = proxy?.$toolbar?.overflowItems || [];
353502
354152
  const allItems = [...toolbarItems, ...overflowItems];
353503
354153
  (allItems.length ? allItems : props.toolbarItems).forEach((toolbarItem) => {
354154
+ if (toolbarItem === exceptItem)
354155
+ return;
353504
354156
  const shouldCloseOverflow = isOverflow(toolbarItem) && !props.fromOverflow;
353505
354157
  if (isDropdown(toolbarItem) || shouldCloseOverflow)
353506
354158
  setExpanded(toolbarItem, false);
353507
354159
  });
353508
- currentItem.value = null;
354160
+ if (!exceptItem || currentItem.value !== exceptItem)
354161
+ currentItem.value = null;
353509
354162
  };
353510
354163
  const handleSelect = (item, option) => {
353511
354164
  closeDropdowns();
@@ -353516,6 +354169,39 @@ function print() { __p += __j.call(arguments, '') }
353516
354169
  });
353517
354170
  item.selectedValue.value = option.key;
353518
354171
  };
354172
+ const handleComboboxItemClicked = (item) => {
354173
+ closeDropdowns(item);
354174
+ emit("item-clicked");
354175
+ };
354176
+ const handleComboboxCommand = (payload) => {
354177
+ emit("command", payload);
354178
+ };
354179
+ const waitForFrame = () => new Promise((resolve3) => requestAnimationFrame(resolve3));
354180
+ const flushPendingToolbarMarks = () => Boolean(proxy?.$toolbar?.flushPendingMarkCommands?.());
354181
+ const handleEditorTextInputHandoff = () => {
354182
+ flushPendingToolbarMarks();
354183
+ prepareSelectionForTextInputHandoff(proxy?.$toolbar?.activeEditor);
354184
+ focusEditor();
354185
+ };
354186
+ const handleComboboxTabOut = (startIndex, event) => {
354187
+ closeDropdowns();
354188
+ flushPendingToolbarMarks();
354189
+ if (event.shiftKey)
354190
+ focusAdjacentToolbarControlAfterUpdate(startIndex, -1, () => focusPreviousButtonGroup() || focusEditor());
354191
+ else
354192
+ focusAdjacentToolbarControlAfterUpdate(startIndex, 1, true);
354193
+ };
354194
+ const handleToolbarButtonTabOut = (item, event) => {
354195
+ closeDropdowns();
354196
+ if (item.name.value === "fontSize" && !event.shiftKey) {
354197
+ handleEditorTextInputHandoff();
354198
+ return;
354199
+ }
354200
+ if (event.shiftKey)
354201
+ moveToAdjacentToolbarControl(event, -1);
354202
+ else
354203
+ moveToAdjacentToolbarControl(event, 1) || focusEditor();
354204
+ };
353519
354205
  const dropdownOptions = (item) => {
353520
354206
  if (!item.nestedOptions?.value?.length)
353521
354207
  return [];
@@ -353554,16 +354240,97 @@ function print() { __p += __j.call(arguments, '') }
353554
354240
  previousButton.focus();
353555
354241
  }
353556
354242
  };
354243
+ const focusEditor = () => {
354244
+ const editor = proxy?.$toolbar?.activeEditor;
354245
+ if (editor && typeof editor.focus === "function") {
354246
+ editor.focus();
354247
+ return true;
354248
+ }
354249
+ const editorDom = editor?.view?.dom;
354250
+ if (editorDom instanceof HTMLElement) {
354251
+ editorDom.focus();
354252
+ return true;
354253
+ }
354254
+ return false;
354255
+ };
354256
+ const getToolbarItemFocusTarget = (container) => {
354257
+ if (!(container instanceof HTMLElement))
354258
+ return null;
354259
+ if (container.classList.contains("sd-disabled"))
354260
+ return null;
354261
+ return container.querySelector("input:not([disabled]), textarea:not([disabled]), select:not([disabled])") || container.querySelector('button:not([disabled]), [role="button"]:not(.sd-disabled), [tabindex]:not([tabindex="-1"])');
354262
+ };
354263
+ const getCurrentToolbarItemContainers = () => {
354264
+ if (toolbarItemRefs.value.length)
354265
+ return toolbarItemRefs.value;
354266
+ const group = document.querySelector(`.button-group[data-toolbar-position="${props.position}"]`);
354267
+ if (!group)
354268
+ return [];
354269
+ return Array.from(group.querySelectorAll(":scope > .sd-toolbar-item-ctn"));
354270
+ };
354271
+ const focusToolbarControlFromIndex = (startIndex, direction) => {
354272
+ if (startIndex < 0)
354273
+ return false;
354274
+ const containers = getCurrentToolbarItemContainers();
354275
+ let index2 = startIndex + direction;
354276
+ while (index2 >= 0 && index2 < containers.length) {
354277
+ const container = containers[index2];
354278
+ const target = getToolbarItemFocusTarget(container);
354279
+ if (target instanceof HTMLElement) {
354280
+ containers[startIndex]?.setAttribute("tabindex", "-1");
354281
+ container.setAttribute("tabindex", "0");
354282
+ target.focus();
354283
+ return true;
354284
+ }
354285
+ index2 += direction;
354286
+ }
354287
+ return false;
354288
+ };
354289
+ const focusPreviousButtonGroup = () => {
354290
+ const previousButtonGroup = buttonGroupRef.value?.previousElementSibling;
354291
+ if (previousButtonGroup instanceof HTMLElement) {
354292
+ previousButtonGroup.setAttribute("tabindex", "0");
354293
+ previousButtonGroup.focus();
354294
+ return true;
354295
+ }
354296
+ return false;
354297
+ };
354298
+ const focusAdjacentToolbarControlAfterUpdate = async (startIndex, direction, fallback = false) => {
354299
+ await exports_vue.nextTick();
354300
+ await waitForFrame();
354301
+ if (focusToolbarControlFromIndex(startIndex, direction))
354302
+ return;
354303
+ if (typeof fallback === "function") {
354304
+ fallback();
354305
+ return;
354306
+ }
354307
+ if (fallback)
354308
+ focusEditor();
354309
+ };
354310
+ const moveToAdjacentToolbarControl = (event, direction) => {
354311
+ const current = event.target.closest(".sd-toolbar-item-ctn");
354312
+ if (!(current instanceof HTMLElement))
354313
+ return false;
354314
+ let candidate = direction > 0 ? current.nextElementSibling : current.previousElementSibling;
354315
+ while (candidate) {
354316
+ const target = getToolbarItemFocusTarget(candidate);
354317
+ if (target instanceof HTMLElement) {
354318
+ current.setAttribute("tabindex", "-1");
354319
+ candidate.setAttribute("tabindex", "0");
354320
+ target.focus();
354321
+ return true;
354322
+ }
354323
+ candidate = direction > 0 ? candidate.nextElementSibling : candidate.previousElementSibling;
354324
+ }
354325
+ return false;
354326
+ };
353557
354327
  const moveToNextButtonGroup = (e) => {
353558
354328
  const nextButtonGroup = e.target.closest(".button-group").nextElementSibling;
353559
354329
  if (nextButtonGroup) {
353560
354330
  nextButtonGroup.setAttribute("tabindex", "0");
353561
354331
  nextButtonGroup.focus();
353562
- } else {
353563
- const editor = document.querySelector(".ProseMirror");
353564
- if (editor)
353565
- editor.focus();
353566
- }
354332
+ } else
354333
+ focusEditor();
353567
354334
  };
353568
354335
  const moveToPreviousButtonGroup = (e) => {
353569
354336
  const previousButtonGroup = e.target.closest(".button-group").previousElementSibling;
@@ -353583,7 +354350,7 @@ function print() { __p += __j.call(arguments, '') }
353583
354350
  };
353584
354351
  const handleKeyDown$1 = (e, item) => {
353585
354352
  const isTypingField = e.target.nodeName === "INPUT" || e.target.nodeName === "TEXTAREA";
353586
- const isTypingToolbarItem = item.name.value === "fontSize";
354353
+ const isTypingToolbarItem = item.name.value === "fontSize" || item.name.value === "fontFamily";
353587
354354
  if (isTypingField && isTypingToolbarItem)
353588
354355
  return;
353589
354356
  if (![
@@ -353649,7 +354416,7 @@ function print() { __p += __j.call(arguments, '') }
353649
354416
  const target = event.target;
353650
354417
  if (!(target instanceof Element))
353651
354418
  return;
353652
- if (target.closest(".sd-toolbar-dropdown-menu"))
354419
+ if (target.closest(".sd-toolbar-dropdown-menu, .sd-font-combobox__listbox"))
353653
354420
  return;
353654
354421
  if (buttonGroupRef.value?.contains(target))
353655
354422
  return;
@@ -353674,7 +354441,8 @@ function print() { __p += __j.call(arguments, '') }
353674
354441
  role: "group",
353675
354442
  onFocus: handleFocus,
353676
354443
  ref_key: "buttonGroupRef",
353677
- ref: buttonGroupRef
354444
+ ref: buttonGroupRef,
354445
+ "data-toolbar-position": props.position
353678
354446
  }, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.toolbarItems, (item, index2) => {
353679
354447
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
353680
354448
  key: item.id.value,
@@ -353694,8 +354462,31 @@ function print() { __p += __j.call(arguments, '') }
353694
354462
  key: 0,
353695
354463
  style: { width: "20px" }
353696
354464
  })) : exports_vue.createCommentVNode("", true),
353697
- isDropdown(item) && item.nestedOptions?.value?.length ? (exports_vue.openBlock(), exports_vue.createBlock(ToolbarDropdown_default, {
354465
+ isFontFamily(item) && hasNestedOptions(item) ? (exports_vue.openBlock(), exports_vue.createBlock(SdTooltip_default, {
353698
354466
  key: 1,
354467
+ trigger: "hover",
354468
+ disabled: !item.tooltip?.value,
354469
+ "auto-hide-duration": TOOLBAR_TOOLTIP_AUTO_HIDE_MS,
354470
+ "content-style": { fontFamily: props.uiFontFamily }
354471
+ }, {
354472
+ trigger: exports_vue.withCtx(() => [exports_vue.createVNode(FontFamilyCombobox_default, {
354473
+ item,
354474
+ "ui-font-family": props.uiFontFamily,
354475
+ class: "sd-toolbar-button sd-editor-toolbar-dropdown",
354476
+ onCommand: handleComboboxCommand,
354477
+ onItemClicked: ($event) => handleComboboxItemClicked(item),
354478
+ onTabOut: ($event) => handleComboboxTabOut(index2, $event),
354479
+ onEditorHandoff: handleEditorTextInputHandoff
354480
+ }, null, 8, [
354481
+ "item",
354482
+ "ui-font-family",
354483
+ "onItemClicked",
354484
+ "onTabOut"
354485
+ ])]),
354486
+ default: exports_vue.withCtx(() => [exports_vue.createElementVNode("div", null, [exports_vue.createTextVNode(exports_vue.toDisplayString(item.tooltip) + " ", 1), item.disabled.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$2, "(disabled)")) : exports_vue.createCommentVNode("", true)])]),
354487
+ _: 2
354488
+ }, 1032, ["disabled", "content-style"])) : isDropdown(item) && hasNestedOptions(item) ? (exports_vue.openBlock(), exports_vue.createBlock(ToolbarDropdown_default, {
354489
+ key: 2,
353699
354490
  options: dropdownOptions(item),
353700
354491
  disabled: item.disabled.value,
353701
354492
  show: getExpanded(item),
@@ -353715,6 +354506,7 @@ function print() { __p += __j.call(arguments, '') }
353715
354506
  trigger: exports_vue.withCtx(() => [exports_vue.createVNode(SdTooltip_default, {
353716
354507
  trigger: "hover",
353717
354508
  disabled: !item.tooltip?.value,
354509
+ "auto-hide-duration": TOOLBAR_TOOLTIP_AUTO_HIDE_MS,
353718
354510
  "content-style": { fontFamily: props.uiFontFamily }
353719
354511
  }, {
353720
354512
  trigger: exports_vue.withCtx(() => [exports_vue.createVNode(ToolbarButton_default, {
@@ -353722,14 +354514,16 @@ function print() { __p += __j.call(arguments, '') }
353722
354514
  disabled: item.disabled.value,
353723
354515
  "allow-enter-propagation": true,
353724
354516
  onTextSubmit: ($event) => handleToolbarButtonTextSubmit(item, $event),
353725
- onMainClick: ($event) => handleSplitButtonMainClick(item)
354517
+ onMainClick: ($event) => handleSplitButtonMainClick(item),
354518
+ onTabOut: ($event) => handleToolbarButtonTabOut(item, $event)
353726
354519
  }, null, 8, [
353727
354520
  "toolbar-item",
353728
354521
  "disabled",
353729
354522
  "onTextSubmit",
353730
- "onMainClick"
354523
+ "onMainClick",
354524
+ "onTabOut"
353731
354525
  ])]),
353732
- default: exports_vue.withCtx(() => [exports_vue.createElementVNode("div", null, [exports_vue.createTextVNode(exports_vue.toDisplayString(item.tooltip) + " ", 1), item.disabled.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_2$3, "(disabled)")) : exports_vue.createCommentVNode("", true)])]),
354526
+ default: exports_vue.withCtx(() => [exports_vue.createElementVNode("div", null, [exports_vue.createTextVNode(exports_vue.toDisplayString(item.tooltip) + " ", 1), item.disabled.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$2, "(disabled)")) : exports_vue.createCommentVNode("", true)])]),
353733
354527
  _: 2
353734
354528
  }, 1032, ["disabled", "content-style"])]),
353735
354529
  _: 2
@@ -353744,9 +354538,10 @@ function print() { __p += __j.call(arguments, '') }
353744
354538
  "menu-props",
353745
354539
  "node-props"
353746
354540
  ])) : isButton(item) ? (exports_vue.openBlock(), exports_vue.createBlock(SdTooltip_default, {
353747
- key: 2,
354541
+ key: 3,
353748
354542
  trigger: "hover",
353749
354543
  class: "sd-editor-toolbar-tooltip",
354544
+ "auto-hide-duration": TOOLBAR_TOOLTIP_AUTO_HIDE_MS,
353750
354545
  "content-style": { fontFamily: props.uiFontFamily }
353751
354546
  }, {
353752
354547
  trigger: exports_vue.withCtx(() => [exports_vue.createVNode(ToolbarButton_default, {
@@ -353760,11 +354555,11 @@ function print() { __p += __j.call(arguments, '') }
353760
354555
  "onTextSubmit",
353761
354556
  "onButtonClick"
353762
354557
  ])]),
353763
- default: exports_vue.withCtx(() => [item.tooltip ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$2, [exports_vue.createTextVNode(exports_vue.toDisplayString(item.tooltip) + " ", 1), item.disabled.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$2, "(disabled)")) : exports_vue.createCommentVNode("", true)])) : exports_vue.createCommentVNode("", true)]),
354558
+ default: exports_vue.withCtx(() => [item.tooltip ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$2, [exports_vue.createTextVNode(exports_vue.toDisplayString(item.tooltip) + " ", 1), item.disabled.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_6$1, "(disabled)")) : exports_vue.createCommentVNode("", true)])) : exports_vue.createCommentVNode("", true)]),
353764
354559
  _: 2
353765
354560
  }, 1032, ["content-style"])) : exports_vue.createCommentVNode("", true),
353766
354561
  isOverflow(item) && __props.overflowItems.length ? (exports_vue.openBlock(), exports_vue.createBlock(OverflowMenu_default, {
353767
- key: 3,
354562
+ key: 4,
353768
354563
  "toolbar-item": item,
353769
354564
  onButtonClick: ($event) => handleToolbarButtonClick(item),
353770
354565
  "overflow-items": __props.overflowItems,
@@ -353774,11 +354569,11 @@ function print() { __p += __j.call(arguments, '') }
353774
354569
  "onButtonClick",
353775
354570
  "overflow-items"
353776
354571
  ])) : exports_vue.createCommentVNode("", true)
353777
- ], 42, _hoisted_1$5);
353778
- }), 128))], 36);
354572
+ ], 42, _hoisted_2$3);
354573
+ }), 128))], 44, _hoisted_1$5);
353779
354574
  };
353780
354575
  }
353781
- }, [["__scopeId", "data-v-9c3524ec"]]);
354576
+ }, [["__scopeId", "data-v-181bd035"]]);
353782
354577
  Toolbar_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
353783
354578
  __name: "Toolbar",
353784
354579
  emits: [
@@ -353932,7 +354727,7 @@ function print() { __p += __j.call(arguments, '') }
353932
354727
  }, [["__scopeId", "data-v-938eaa1b"]]);
353933
354728
  toolbarTexts = {
353934
354729
  bold: "Bold",
353935
- fontFamily: "Font",
354730
+ fontFamily: "Font family",
353936
354731
  ai: "AI text generation",
353937
354732
  fontSize: "Font size",
353938
354733
  italic: "Italic",
@@ -354541,45 +355336,51 @@ function print() { __p += __j.call(arguments, '') }
354541
355336
  if (shouldRestoreFocus)
354542
355337
  this.#scheduleRestoreEditorFocus();
354543
355338
  }
354544
- onEditorSelectionUpdate() {
355339
+ flushPendingMarkCommands() {
354545
355340
  if (!this.activeEditor)
354546
- return;
354547
- if (this.pendingMarkCommands.length) {
354548
- const pending = this.pendingMarkCommands;
354549
- this.pendingMarkCommands = [];
354550
- pending.forEach(({ command: command$1, argument, item }) => {
354551
- if (!command$1)
354552
- return;
354553
- try {
354554
- if (HEADLESS_EXECUTE_ITEMS.has(item?.name?.value)) {
354555
- if (this.#executeHeadlessCommand(item, argument)) {
354556
- this.#ensureStoredMarksForMarkToggle({
354557
- command: command$1,
354558
- argument
354559
- });
354560
- return;
354561
- }
355341
+ return false;
355342
+ if (!this.pendingMarkCommands.length)
355343
+ return false;
355344
+ const pending = this.pendingMarkCommands;
355345
+ this.pendingMarkCommands = [];
355346
+ pending.forEach(({ command: command$1, argument, item }) => {
355347
+ if (!command$1)
355348
+ return;
355349
+ try {
355350
+ if (HEADLESS_EXECUTE_ITEMS.has(item?.name?.value)) {
355351
+ if (this.#executeHeadlessCommand(item, argument)) {
355352
+ this.#ensureStoredMarksForMarkToggle({
355353
+ command: command$1,
355354
+ argument
355355
+ });
355356
+ return;
354562
355357
  }
354563
- if (this.activeEditor.commands && command$1 in this.activeEditor.commands)
354564
- this.activeEditor.commands[command$1](argument);
354565
- this.#ensureStoredMarksForMarkToggle({
354566
- command: command$1,
354567
- argument
354568
- });
354569
- } catch (error3) {
354570
- const err = /* @__PURE__ */ new Error(`[super-toolbar \uD83C\uDFA8] Failed to execute pending command: ${command$1}`);
354571
- this.emit("exception", {
354572
- error: err,
354573
- editor: this.activeEditor,
354574
- originalError: error3
354575
- });
354576
- console.error(err, error3);
354577
355358
  }
354578
- });
354579
- this.#syncStickyMarksFromState();
354580
- this.updateToolbarState();
355359
+ if (this.activeEditor.commands && command$1 in this.activeEditor.commands)
355360
+ this.activeEditor.commands[command$1](argument);
355361
+ this.#ensureStoredMarksForMarkToggle({
355362
+ command: command$1,
355363
+ argument
355364
+ });
355365
+ } catch (error3) {
355366
+ const err = /* @__PURE__ */ new Error(`[super-toolbar \uD83C\uDFA8] Failed to execute pending command: ${command$1}`);
355367
+ this.emit("exception", {
355368
+ error: err,
355369
+ editor: this.activeEditor,
355370
+ originalError: error3
355371
+ });
355372
+ console.error(err, error3);
355373
+ }
355374
+ });
355375
+ this.#syncStickyMarksFromState();
355376
+ this.updateToolbarState();
355377
+ return true;
355378
+ }
355379
+ onEditorSelectionUpdate() {
355380
+ if (!this.activeEditor)
355381
+ return;
355382
+ if (this.flushPendingMarkCommands())
354581
355383
  return;
354582
- }
354583
355384
  if (this.#restoreStickyMarksIfNeeded())
354584
355385
  this.updateToolbarState();
354585
355386
  }
@@ -366546,161 +367347,166 @@ function print() { __p += __j.call(arguments, '') }
366546
367347
  ]);
366547
367348
  });
366548
367349
 
366549
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-uuXftA9o.es.js
366550
- var headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
366551
- var init_create_super_doc_ui_uuXftA9o_es = __esm(() => {
367350
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-DQMMcx6J.es.js
367351
+ var DEFAULT_TEXT_ALIGN_OPTIONS, DEFAULT_LINE_HEIGHT_OPTIONS, DEFAULT_ZOOM_OPTIONS, DEFAULT_DOCUMENT_MODE_OPTIONS, DEFAULT_FONT_SIZE_OPTIONS, headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS, FONT_SIZE_OPTIONS;
367352
+ var init_create_super_doc_ui_DQMMcx6J_es = __esm(() => {
366552
367353
  init_SuperConverter_d9QeIy9_es();
366553
- init_create_headless_toolbar_l5QB6sQY_es();
367354
+ init_create_headless_toolbar_CJpgldP1_es();
367355
+ DEFAULT_TEXT_ALIGN_OPTIONS = [
367356
+ {
367357
+ label: "Left",
367358
+ value: "left"
367359
+ },
367360
+ {
367361
+ label: "Center",
367362
+ value: "center"
367363
+ },
367364
+ {
367365
+ label: "Right",
367366
+ value: "right"
367367
+ },
367368
+ {
367369
+ label: "Justify",
367370
+ value: "justify"
367371
+ }
367372
+ ];
367373
+ DEFAULT_LINE_HEIGHT_OPTIONS = [
367374
+ {
367375
+ label: "1.00",
367376
+ value: 1
367377
+ },
367378
+ {
367379
+ label: "1.15",
367380
+ value: 1.15
367381
+ },
367382
+ {
367383
+ label: "1.50",
367384
+ value: 1.5
367385
+ },
367386
+ {
367387
+ label: "2.00",
367388
+ value: 2
367389
+ },
367390
+ {
367391
+ label: "2.50",
367392
+ value: 2.5
367393
+ },
367394
+ {
367395
+ label: "3.00",
367396
+ value: 3
367397
+ }
367398
+ ];
367399
+ DEFAULT_ZOOM_OPTIONS = [
367400
+ {
367401
+ label: "50%",
367402
+ value: 50
367403
+ },
367404
+ {
367405
+ label: "75%",
367406
+ value: 75
367407
+ },
367408
+ {
367409
+ label: "90%",
367410
+ value: 90
367411
+ },
367412
+ {
367413
+ label: "100%",
367414
+ value: 100
367415
+ },
367416
+ {
367417
+ label: "125%",
367418
+ value: 125
367419
+ },
367420
+ {
367421
+ label: "150%",
367422
+ value: 150
367423
+ },
367424
+ {
367425
+ label: "200%",
367426
+ value: 200
367427
+ }
367428
+ ];
367429
+ DEFAULT_DOCUMENT_MODE_OPTIONS = [
367430
+ {
367431
+ label: "Editing",
367432
+ value: "editing",
367433
+ description: "Edit document directly"
367434
+ },
367435
+ {
367436
+ label: "Suggesting",
367437
+ value: "suggesting",
367438
+ description: "Edits become suggestions"
367439
+ },
367440
+ {
367441
+ label: "Viewing",
367442
+ value: "viewing",
367443
+ description: "View clean version of document only"
367444
+ }
367445
+ ];
367446
+ DEFAULT_FONT_SIZE_OPTIONS = [
367447
+ {
367448
+ label: "8",
367449
+ value: "8pt"
367450
+ },
367451
+ {
367452
+ label: "9",
367453
+ value: "9pt"
367454
+ },
367455
+ {
367456
+ label: "10",
367457
+ value: "10pt"
367458
+ },
367459
+ {
367460
+ label: "11",
367461
+ value: "11pt"
367462
+ },
367463
+ {
367464
+ label: "12",
367465
+ value: "12pt"
367466
+ },
367467
+ {
367468
+ label: "14",
367469
+ value: "14pt"
367470
+ },
367471
+ {
367472
+ label: "18",
367473
+ value: "18pt"
367474
+ },
367475
+ {
367476
+ label: "24",
367477
+ value: "24pt"
367478
+ },
367479
+ {
367480
+ label: "30",
367481
+ value: "30pt"
367482
+ },
367483
+ {
367484
+ label: "36",
367485
+ value: "36pt"
367486
+ },
367487
+ {
367488
+ label: "48",
367489
+ value: "48pt"
367490
+ },
367491
+ {
367492
+ label: "60",
367493
+ value: "60pt"
367494
+ },
367495
+ {
367496
+ label: "72",
367497
+ value: "72pt"
367498
+ },
367499
+ {
367500
+ label: "96",
367501
+ value: "96pt"
367502
+ }
367503
+ ];
366554
367504
  headlessToolbarConstants = {
366555
- DEFAULT_TEXT_ALIGN_OPTIONS: [
366556
- {
366557
- label: "Left",
366558
- value: "left"
366559
- },
366560
- {
366561
- label: "Center",
366562
- value: "center"
366563
- },
366564
- {
366565
- label: "Right",
366566
- value: "right"
366567
- },
366568
- {
366569
- label: "Justify",
366570
- value: "justify"
366571
- }
366572
- ],
366573
- DEFAULT_LINE_HEIGHT_OPTIONS: [
366574
- {
366575
- label: "1.00",
366576
- value: 1
366577
- },
366578
- {
366579
- label: "1.15",
366580
- value: 1.15
366581
- },
366582
- {
366583
- label: "1.50",
366584
- value: 1.5
366585
- },
366586
- {
366587
- label: "2.00",
366588
- value: 2
366589
- },
366590
- {
366591
- label: "2.50",
366592
- value: 2.5
366593
- },
366594
- {
366595
- label: "3.00",
366596
- value: 3
366597
- }
366598
- ],
366599
- DEFAULT_ZOOM_OPTIONS: [
366600
- {
366601
- label: "50%",
366602
- value: 50
366603
- },
366604
- {
366605
- label: "75%",
366606
- value: 75
366607
- },
366608
- {
366609
- label: "90%",
366610
- value: 90
366611
- },
366612
- {
366613
- label: "100%",
366614
- value: 100
366615
- },
366616
- {
366617
- label: "125%",
366618
- value: 125
366619
- },
366620
- {
366621
- label: "150%",
366622
- value: 150
366623
- },
366624
- {
366625
- label: "200%",
366626
- value: 200
366627
- }
366628
- ],
366629
- DEFAULT_DOCUMENT_MODE_OPTIONS: [
366630
- {
366631
- label: "Editing",
366632
- value: "editing",
366633
- description: "Edit document directly"
366634
- },
366635
- {
366636
- label: "Suggesting",
366637
- value: "suggesting",
366638
- description: "Edits become suggestions"
366639
- },
366640
- {
366641
- label: "Viewing",
366642
- value: "viewing",
366643
- description: "View clean version of document only"
366644
- }
366645
- ],
366646
- DEFAULT_FONT_SIZE_OPTIONS: [
366647
- {
366648
- label: "8",
366649
- value: "8pt"
366650
- },
366651
- {
366652
- label: "9",
366653
- value: "9pt"
366654
- },
366655
- {
366656
- label: "10",
366657
- value: "10pt"
366658
- },
366659
- {
366660
- label: "11",
366661
- value: "11pt"
366662
- },
366663
- {
366664
- label: "12",
366665
- value: "12pt"
366666
- },
366667
- {
366668
- label: "14",
366669
- value: "14pt"
366670
- },
366671
- {
366672
- label: "18",
366673
- value: "18pt"
366674
- },
366675
- {
366676
- label: "24",
366677
- value: "24pt"
366678
- },
366679
- {
366680
- label: "30",
366681
- value: "30pt"
366682
- },
366683
- {
366684
- label: "36",
366685
- value: "36pt"
366686
- },
366687
- {
366688
- label: "48",
366689
- value: "48pt"
366690
- },
366691
- {
366692
- label: "60",
366693
- value: "60pt"
366694
- },
366695
- {
366696
- label: "72",
366697
- value: "72pt"
366698
- },
366699
- {
366700
- label: "96",
366701
- value: "96pt"
366702
- }
366703
- ],
367505
+ DEFAULT_TEXT_ALIGN_OPTIONS,
367506
+ DEFAULT_LINE_HEIGHT_OPTIONS,
367507
+ DEFAULT_ZOOM_OPTIONS,
367508
+ DEFAULT_DOCUMENT_MODE_OPTIONS,
367509
+ DEFAULT_FONT_SIZE_OPTIONS,
366704
367510
  DEFAULT_FONT_FAMILY_OPTIONS: getDefaultFontFamilyOptions(),
366705
367511
  DEFAULT_TEXT_COLOR_OPTIONS: [
366706
367512
  {
@@ -366817,6 +367623,10 @@ var init_create_super_doc_ui_uuXftA9o_es = __esm(() => {
366817
367623
  ]);
366818
367624
  ALL_TOOLBAR_COMMAND_IDS = Object.keys(createToolbarRegistry());
366819
367625
  EMPTY_ACTIVE_IDS = Object.freeze([]);
367626
+ FONT_SIZE_OPTIONS = DEFAULT_FONT_SIZE_OPTIONS.map(({ label, value }) => ({
367627
+ label,
367628
+ value
367629
+ }));
366820
367630
  });
366821
367631
 
366822
367632
  // ../../packages/superdoc/dist/chunks/ui-C5PAS9hY.es.js
@@ -366832,16 +367642,16 @@ var init_zipper_yaJVJ4z9_es = __esm(() => {
366832
367642
 
366833
367643
  // ../../packages/superdoc/dist/super-editor.es.js
366834
367644
  var init_super_editor_es = __esm(() => {
366835
- init_src_LeQVnrcZ_es();
367645
+ init_src_BVjcuFXj_es();
366836
367646
  init_SuperConverter_d9QeIy9_es();
366837
367647
  init_jszip_C49i9kUs_es();
366838
367648
  init_xml_js_CqGKpaft_es();
366839
- init_create_headless_toolbar_l5QB6sQY_es();
367649
+ init_create_headless_toolbar_CJpgldP1_es();
366840
367650
  init_constants_D9qj59G2_es();
366841
367651
  init_dist_B8HfvhaK_es();
366842
367652
  init_unified_Dsuw2be5_es();
366843
367653
  init_DocxZipper_FUsfThjV_es();
366844
- init_create_super_doc_ui_uuXftA9o_es();
367654
+ init_create_super_doc_ui_DQMMcx6J_es();
366845
367655
  init_ui_C5PAS9hY_es();
366846
367656
  init_eventemitter3_BnGqBE_Q_es();
366847
367657
  init_errors_CNaD6vcg_es();