oasis-editor 0.0.127 → 0.0.129

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.
@@ -1681,6 +1681,16 @@ const en = {
1681
1681
  "table.alignLeft": "Align Left",
1682
1682
  "table.alignCenter": "Align Center",
1683
1683
  "table.alignRight": "Align Right",
1684
+ "table.headerRow": "Header Row",
1685
+ "table.totalRow": "Total Row",
1686
+ "table.bandedRows": "Banded Rows",
1687
+ "table.firstColumn": "First Column",
1688
+ "table.lastColumn": "Last Column",
1689
+ "table.bandedColumns": "Banded Columns",
1690
+ "table.tableStyle": "Table Style",
1691
+ "table.autoFit": "AutoFit",
1692
+ "table.distributeRows": "Distribute Rows",
1693
+ "table.distributeColumns": "Distribute Columns",
1684
1694
  "table.cellWidth": "Cell Width",
1685
1695
  "table.cellBgColorPrompt": "Cell Background Color:",
1686
1696
  "table.cellWidthPrompt": "Cell Width (e.g. 50% or 200pt):",
@@ -1803,6 +1813,8 @@ const en = {
1803
1813
  "ribbon.tab.collaboration": "Collaboration",
1804
1814
  "ribbon.tab.protection": "Protection",
1805
1815
  "ribbon.tab.view": "View",
1816
+ "ribbon.tab.tableDesign": "Table Design",
1817
+ "ribbon.tab.tableLayout": "Table Layout",
1806
1818
  "ribbon.tab.plugins": "Plugins",
1807
1819
  "ribbon.tab.ai": "AI",
1808
1820
  // Ribbon groups
@@ -1819,6 +1831,13 @@ const en = {
1819
1831
  "ribbon.group.table": "Table",
1820
1832
  "ribbon.group.section": "Section",
1821
1833
  "ribbon.group.general": "General",
1834
+ "ribbon.group.tableStyleOptions": "Table Style Options",
1835
+ "ribbon.group.tableStyles": "Table Styles",
1836
+ "ribbon.group.borders": "Borders",
1837
+ "ribbon.group.rowsColumns": "Rows & Columns",
1838
+ "ribbon.group.merge": "Merge",
1839
+ "ribbon.group.cellSize": "Cell Size",
1840
+ "ribbon.group.alignment": "Alignment",
1822
1841
  // Export
1823
1842
  "toolbar.exportDocx": "Export DOCX",
1824
1843
  "toolbar.exportPdf": "Export PDF",
@@ -2209,6 +2228,16 @@ const ptBR = {
2209
2228
  "table.alignLeft": "Alinhar à Esquerda",
2210
2229
  "table.alignCenter": "Centralizar",
2211
2230
  "table.alignRight": "Alinhar à Direita",
2231
+ "table.headerRow": "Linha de Cabeçalho",
2232
+ "table.totalRow": "Linha de Totais",
2233
+ "table.bandedRows": "Linhas em Tiras",
2234
+ "table.firstColumn": "Primeira Coluna",
2235
+ "table.lastColumn": "Última Coluna",
2236
+ "table.bandedColumns": "Colunas em Tiras",
2237
+ "table.tableStyle": "Estilo de Tabela",
2238
+ "table.autoFit": "AutoAjuste",
2239
+ "table.distributeRows": "Distribuir Linhas",
2240
+ "table.distributeColumns": "Distribuir Colunas",
2212
2241
  "table.cellWidth": "Largura da Célula",
2213
2242
  "table.cellBgColorPrompt": "Cor de Fundo da Célula:",
2214
2243
  "table.cellWidthPrompt": "Largura da Célula (ex: 50% ou 200pt):",
@@ -2331,6 +2360,8 @@ const ptBR = {
2331
2360
  "ribbon.tab.collaboration": "Colaboração",
2332
2361
  "ribbon.tab.protection": "Proteção",
2333
2362
  "ribbon.tab.view": "Exibir",
2363
+ "ribbon.tab.tableDesign": "Design da Tabela",
2364
+ "ribbon.tab.tableLayout": "Layout da Tabela",
2334
2365
  "ribbon.tab.plugins": "Plugins",
2335
2366
  "ribbon.tab.ai": "IA",
2336
2367
  // Ribbon groups
@@ -2347,6 +2378,13 @@ const ptBR = {
2347
2378
  "ribbon.group.table": "Tabela",
2348
2379
  "ribbon.group.section": "Seção",
2349
2380
  "ribbon.group.general": "Geral",
2381
+ "ribbon.group.tableStyleOptions": "Opções de Estilo de Tabela",
2382
+ "ribbon.group.tableStyles": "Estilos de Tabela",
2383
+ "ribbon.group.borders": "Bordas",
2384
+ "ribbon.group.rowsColumns": "Linhas e Colunas",
2385
+ "ribbon.group.merge": "Mesclar",
2386
+ "ribbon.group.cellSize": "Tamanho da Célula",
2387
+ "ribbon.group.alignment": "Alinhamento",
2350
2388
  // Export
2351
2389
  "toolbar.exportDocx": "Exportar DOCX",
2352
2390
  "toolbar.exportPdf": "Exportar PDF",
@@ -2524,14 +2562,14 @@ function I18nProvider(props) {
2524
2562
  });
2525
2563
  }
2526
2564
  const oasisMarkBase64 = "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";
2527
- var _tmpl$$11 = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2565
+ var _tmpl$$10 = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2528
2566
  const OASIS_MARK_DATA_URI = `data:image/webp;base64,${oasisMarkBase64}`;
2529
2567
  const MARK_ASPECT = 3 / 4;
2530
2568
  function OasisBrandMark(props) {
2531
2569
  const height = () => props.height ?? 64;
2532
2570
  const width = () => Math.round(height() * MARK_ASPECT);
2533
2571
  return (() => {
2534
- var _el$ = _tmpl$$11();
2572
+ var _el$ = _tmpl$$10();
2535
2573
  setAttribute(_el$, "src", OASIS_MARK_DATA_URI);
2536
2574
  setAttribute(_el$, "draggable", false);
2537
2575
  createRenderEffect((_p$) => {
@@ -2548,7 +2586,7 @@ function OasisBrandMark(props) {
2548
2586
  return _el$;
2549
2587
  })();
2550
2588
  }
2551
- var _tmpl$$10 = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$D = /* @__PURE__ */ template(`<div role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-progress-track><div>`), _tmpl$3$q = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2589
+ var _tmpl$$$ = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$C = /* @__PURE__ */ template(`<div role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-progress-track><div>`), _tmpl$3$q = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2552
2590
  function OasisEditorLoading(props) {
2553
2591
  const t = useI18n();
2554
2592
  const variant = () => props.variant ?? "overlay";
@@ -2558,7 +2596,7 @@ function OasisEditorLoading(props) {
2558
2596
  };
2559
2597
  const isDone = () => (pct() ?? 0) >= 100;
2560
2598
  return (() => {
2561
- var _el$ = _tmpl$2$D(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2599
+ var _el$ = _tmpl$2$C(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2562
2600
  insert(_el$2, createComponent(OasisBrandMark, {
2563
2601
  height: 40,
2564
2602
  "class": "oasis-editor-loading-mark"
@@ -2569,7 +2607,7 @@ function OasisEditorLoading(props) {
2569
2607
  return pct() != null;
2570
2608
  },
2571
2609
  get children() {
2572
- var _el$6 = _tmpl$$10();
2610
+ var _el$6 = _tmpl$$$();
2573
2611
  insert(_el$6, (() => {
2574
2612
  var _c$ = memo(() => !!isDone());
2575
2613
  return () => _c$() ? _tmpl$3$q() : `${pct()}%`;
@@ -2623,7 +2661,7 @@ function OasisEditorAppLazy(props = {}) {
2623
2661
  onCleanup(() => {
2624
2662
  cancelled = true;
2625
2663
  });
2626
- import("./OasisEditorApp-3vvH6KOz.js").then((m) => {
2664
+ import("./OasisEditorApp-CDBzb0Eg.js").then((m) => {
2627
2665
  cancelled = true;
2628
2666
  setProgress(1);
2629
2667
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -5210,9 +5248,9 @@ function mount(target, props = {}) {
5210
5248
  unmount: () => client.dispose()
5211
5249
  });
5212
5250
  }
5213
- var _tmpl$$$ = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none aria-hidden=true><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</text><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1`), _tmpl$2$C = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"aria-hidden=true><g fill=currentColor><path d="M3.375 4.875 L7.125 8.625 L3.375 12.375 L2.25 11.25 L4.875 8.625 L2.25 6 Z"></path><rect x=10.125 y=6 width=9 height=1.6875 rx=0.25></rect><rect x=5.625 y=10.875 width=13.5 height=1.6875 rx=0.25></rect><rect x=5.625 y=15.75 width=13.5 height=1.6875 rx=0.25>`), _tmpl$3$p = /* @__PURE__ */ template(`<i>`);
5214
- const FootnoteIcon = () => _tmpl$$$();
5215
- const SpecialIndentFirstLineIcon = () => _tmpl$2$C();
5251
+ var _tmpl$$_ = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none aria-hidden=true><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</text><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1`), _tmpl$2$B = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"aria-hidden=true><g fill=currentColor><path d="M3.375 4.875 L7.125 8.625 L3.375 12.375 L2.25 11.25 L4.875 8.625 L2.25 6 Z"></path><rect x=10.125 y=6 width=9 height=1.6875 rx=0.25></rect><rect x=5.625 y=10.875 width=13.5 height=1.6875 rx=0.25></rect><rect x=5.625 y=15.75 width=13.5 height=1.6875 rx=0.25>`), _tmpl$3$p = /* @__PURE__ */ template(`<i>`);
5252
+ const FootnoteIcon = () => _tmpl$$_();
5253
+ const SpecialIndentFirstLineIcon = () => _tmpl$2$B();
5216
5254
  const CUSTOM_ICONS = {
5217
5255
  footnote: FootnoteIcon,
5218
5256
  specialIndentFirstLine: SpecialIndentFirstLineIcon
@@ -5235,11 +5273,11 @@ function ToolIcon(props) {
5235
5273
  children: (render2) => render2()()
5236
5274
  });
5237
5275
  }
5238
- var _tmpl$$_ = /* @__PURE__ */ template(`<button>`);
5276
+ var _tmpl$$Z = /* @__PURE__ */ template(`<button>`);
5239
5277
  function SurfaceButton(props) {
5240
5278
  const [local, others] = splitProps(props, ["type", "icon", "label", "variant", "size", "active", "class", "classList", "children"]);
5241
5279
  return (() => {
5242
- var _el$ = _tmpl$$_();
5280
+ var _el$ = _tmpl$$Z();
5243
5281
  spread(_el$, mergeProps({
5244
5282
  get type() {
5245
5283
  return local.type ?? "button";
@@ -5300,7 +5338,7 @@ function Text$1(props) {
5300
5338
  }
5301
5339
  }));
5302
5340
  }
5303
- var _tmpl$$Z = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$B = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$o = /* @__PURE__ */ template(`<div class=oasis-menubar-menu>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$d = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`);
5341
+ var _tmpl$$Y = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$A = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$o = /* @__PURE__ */ template(`<div class=oasis-menubar-menu>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$d = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`);
5304
5342
  function Menubar(props) {
5305
5343
  const t = useI18n();
5306
5344
  const [activeMenu, setActiveMenu] = createSignal(null);
@@ -5368,7 +5406,7 @@ function Menubar(props) {
5368
5406
  });
5369
5407
  const topLevelItems = () => pruneTree(menuTree());
5370
5408
  return (() => {
5371
- var _el$ = _tmpl$$Z();
5409
+ var _el$ = _tmpl$$Y();
5372
5410
  insert(_el$, createComponent(For, {
5373
5411
  get each() {
5374
5412
  return topLevelItems();
@@ -5409,7 +5447,7 @@ function Menubar(props) {
5409
5447
  return activeMenu() === topLevel.id;
5410
5448
  },
5411
5449
  get children() {
5412
- var _el$3 = _tmpl$2$B();
5450
+ var _el$3 = _tmpl$2$A();
5413
5451
  insert(_el$3, createComponent(For, {
5414
5452
  get each() {
5415
5453
  return topLevel.children;
@@ -5542,10 +5580,10 @@ function MenuNode(props) {
5542
5580
  }
5543
5581
  });
5544
5582
  }
5545
- var _tmpl$$Y = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
5583
+ var _tmpl$$X = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
5546
5584
  function TitleBar(props) {
5547
5585
  return (() => {
5548
- var _el$ = _tmpl$$Y(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
5586
+ var _el$ = _tmpl$$X(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
5549
5587
  insert(_el$3, () => props.children);
5550
5588
  return _el$;
5551
5589
  })();
@@ -5640,7 +5678,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
5640
5678
  );
5641
5679
  return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
5642
5680
  }
5643
- var _tmpl$$X = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$A = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$n = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$i = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$c = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
5681
+ var _tmpl$$W = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$z = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$n = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$i = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$c = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
5644
5682
  function OutlinePanel(props) {
5645
5683
  const t = useI18n();
5646
5684
  const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
@@ -5717,7 +5755,7 @@ function OutlinePanel(props) {
5717
5755
  return !collapsed();
5718
5756
  },
5719
5757
  get children() {
5720
- var _el$3 = _tmpl$$X();
5758
+ var _el$3 = _tmpl$$W();
5721
5759
  insert(_el$3, () => t("menu.view.outline") || "Outline");
5722
5760
  return _el$3;
5723
5761
  }
@@ -5728,7 +5766,7 @@ function OutlinePanel(props) {
5728
5766
  return !collapsed();
5729
5767
  },
5730
5768
  get children() {
5731
- var _el$6 = _tmpl$2$A();
5769
+ var _el$6 = _tmpl$2$z();
5732
5770
  insert(_el$6, createComponent(Show, {
5733
5771
  get when() {
5734
5772
  return items().length > 0;
@@ -5785,7 +5823,7 @@ function OutlinePanel(props) {
5785
5823
  })();
5786
5824
  }
5787
5825
  delegateEvents(["click"]);
5788
- var _tmpl$$W = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$z = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
5826
+ var _tmpl$$V = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$y = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
5789
5827
  function ToolbarOverflowManager(props) {
5790
5828
  const t = useI18n();
5791
5829
  const [overflowCount, setOverflowCount] = createSignal(0);
@@ -5929,7 +5967,7 @@ function ToolbarOverflowManager(props) {
5929
5967
  };
5930
5968
  };
5931
5969
  return (() => {
5932
- var _el$ = _tmpl$$W(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
5970
+ var _el$ = _tmpl$$V(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
5933
5971
  var _ref$ = containerRef;
5934
5972
  typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
5935
5973
  var _ref$2 = moreMeasureRef;
@@ -5941,7 +5979,7 @@ function ToolbarOverflowManager(props) {
5941
5979
  return items();
5942
5980
  },
5943
5981
  children: (item) => (() => {
5944
- var _el$7 = _tmpl$2$z();
5982
+ var _el$7 = _tmpl$2$y();
5945
5983
  insert(_el$7, item);
5946
5984
  return _el$7;
5947
5985
  })()
@@ -6017,12 +6055,12 @@ function resolveLabel(item, api) {
6017
6055
  if (item.labelKey) return api.t(item.labelKey);
6018
6056
  return void 0;
6019
6057
  }
6020
- var _tmpl$$V = /* @__PURE__ */ template(`<span>`), _tmpl$2$y = /* @__PURE__ */ template(`<button type=button>`);
6058
+ var _tmpl$$U = /* @__PURE__ */ template(`<span>`), _tmpl$2$x = /* @__PURE__ */ template(`<button type=button>`);
6021
6059
  function Button$1(props) {
6022
6060
  const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "ribbonSize", "aria-label", "class", "classList"]);
6023
6061
  const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
6024
6062
  return (() => {
6025
- var _el$ = _tmpl$2$y();
6063
+ var _el$ = _tmpl$2$x();
6026
6064
  spread(_el$, mergeProps({
6027
6065
  get ["class"]() {
6028
6066
  return `oasis-editor-tool-button ${local.class || ""}`;
@@ -6059,7 +6097,7 @@ function Button$1(props) {
6059
6097
  return local.label;
6060
6098
  },
6061
6099
  get children() {
6062
- var _el$2 = _tmpl$$V();
6100
+ var _el$2 = _tmpl$$U();
6063
6101
  insert(_el$2, () => local.label);
6064
6102
  return _el$2;
6065
6103
  }
@@ -6141,7 +6179,7 @@ function useDismiss(options) {
6141
6179
  });
6142
6180
  });
6143
6181
  }
6144
- var _tmpl$$U = /* @__PURE__ */ template(`<div>`);
6182
+ var _tmpl$$T = /* @__PURE__ */ template(`<div>`);
6145
6183
  function Popover(props) {
6146
6184
  let anchorRef;
6147
6185
  let panelRef;
@@ -6158,7 +6196,7 @@ function Popover(props) {
6158
6196
  closeOnEscape: props.closeOnEscape
6159
6197
  });
6160
6198
  const panel = (portalled) => (() => {
6161
- var _el$ = _tmpl$$U();
6199
+ var _el$ = _tmpl$$T();
6162
6200
  addEventListener(_el$, "mouseleave", props.onPanelMouseLeave);
6163
6201
  var _ref$ = panelRef;
6164
6202
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
@@ -6210,12 +6248,12 @@ function Popover(props) {
6210
6248
  }
6211
6249
  })];
6212
6250
  }
6213
- var _tmpl$$T = /* @__PURE__ */ template(`<div>`), _tmpl$2$x = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$m = /* @__PURE__ */ template(`<i>`), _tmpl$4$h = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$b = /* @__PURE__ */ template(`<i data-lucide=chevron-down class=oasis-editor-dropdown-chevron>`), _tmpl$6$7 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
6251
+ var _tmpl$$S = /* @__PURE__ */ template(`<div>`), _tmpl$2$w = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$m = /* @__PURE__ */ template(`<i>`), _tmpl$4$h = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$b = /* @__PURE__ */ template(`<i data-lucide=chevron-down class=oasis-editor-dropdown-chevron>`), _tmpl$6$7 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
6214
6252
  function Menu(props) {
6215
6253
  const [open, setOpen] = createSignal(false);
6216
6254
  const ariaLabel = () => props.tooltip || props.label || "";
6217
6255
  return (() => {
6218
- var _el$ = _tmpl$2$x();
6256
+ var _el$ = _tmpl$2$w();
6219
6257
  insert(_el$, createComponent(Popover, {
6220
6258
  get open() {
6221
6259
  return open();
@@ -6283,7 +6321,7 @@ function Menu(props) {
6283
6321
  return _el$3;
6284
6322
  })(),
6285
6323
  get children() {
6286
- var _el$2 = _tmpl$$T();
6324
+ var _el$2 = _tmpl$$S();
6287
6325
  _el$2.$$click = (event) => {
6288
6326
  const el = event.target;
6289
6327
  if (el.closest("button") && !el.closest(".oasis-editor-tool-button-dropdown") && !el.closest(".oasis-editor-toolbar-list-options")) {
@@ -6298,7 +6336,7 @@ function Menu(props) {
6298
6336
  })();
6299
6337
  }
6300
6338
  delegateEvents(["click"]);
6301
- var _tmpl$$S = /* @__PURE__ */ template(`<select>`);
6339
+ var _tmpl$$R = /* @__PURE__ */ template(`<select>`);
6302
6340
  function Select(props) {
6303
6341
  let selectRef;
6304
6342
  const [local, others] = splitProps(props, ["wide", "small", "class", "tooltip", "aria-label", "value"]);
@@ -6314,7 +6352,7 @@ function Select(props) {
6314
6352
  }
6315
6353
  });
6316
6354
  return (() => {
6317
- var _el$ = _tmpl$$S();
6355
+ var _el$ = _tmpl$$R();
6318
6356
  var _ref$ = selectRef;
6319
6357
  typeof _ref$ === "function" ? use(_ref$, _el$) : selectRef = _el$;
6320
6358
  spread(_el$, mergeProps({
@@ -6341,15 +6379,15 @@ function Select(props) {
6341
6379
  return _el$;
6342
6380
  })();
6343
6381
  }
6344
- var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
6382
+ var _tmpl$$Q = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
6345
6383
  function Separator(props) {
6346
6384
  return (() => {
6347
- var _el$ = _tmpl$$R();
6385
+ var _el$ = _tmpl$$Q();
6348
6386
  createRenderEffect((_$p) => setStyleProperty(_el$, "display", props.hidden ? "none" : void 0));
6349
6387
  return _el$;
6350
6388
  })();
6351
6389
  }
6352
- var _tmpl$$Q = /* @__PURE__ */ template(`<div><button type=button class=oasis-editor-color-split-main></button><button type=button class=oasis-editor-color-split-menu-button aria-haspopup=menu><i data-lucide=chevron-down>`);
6390
+ var _tmpl$$P = /* @__PURE__ */ template(`<div><button type=button class=oasis-editor-color-split-main></button><button type=button class=oasis-editor-color-split-menu-button aria-haspopup=menu><i data-lucide=chevron-down>`);
6353
6391
  function SplitButton(props) {
6354
6392
  return createComponent(Popover, {
6355
6393
  get open() {
@@ -6368,7 +6406,7 @@ function SplitButton(props) {
6368
6406
  return props.onPanelMouseLeave;
6369
6407
  },
6370
6408
  trigger: (api) => (() => {
6371
- var _el$ = _tmpl$$Q(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
6409
+ var _el$ = _tmpl$$P(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
6372
6410
  use((el) => api.ref(el), _el$);
6373
6411
  _el$2.$$click = () => props.onMain();
6374
6412
  insert(_el$2, () => props.mainContent);
@@ -6406,7 +6444,7 @@ function SplitButton(props) {
6406
6444
  });
6407
6445
  }
6408
6446
  delegateEvents(["click"]);
6409
- var _tmpl$$P = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$w = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch></span><span>`), _tmpl$3$l = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-theme-grid>`), _tmpl$4$g = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-standard-grid>`), _tmpl$5$a = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$6$6 = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$7$2 = /* @__PURE__ */ template(`<span class=oasis-editor-color-split-icon><i></i><span class=oasis-editor-color-split-indicator>`), _tmpl$8$1 = /* @__PURE__ */ template(`<i data-lucide=slash>`), _tmpl$9 = /* @__PURE__ */ template(`<div class=oasis-editor-color-theme-column>`), _tmpl$0 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-swatch>`);
6447
+ var _tmpl$$O = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$v = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch></span><span>`), _tmpl$3$l = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-theme-grid>`), _tmpl$4$g = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-standard-grid>`), _tmpl$5$a = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$6$6 = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$7$2 = /* @__PURE__ */ template(`<span class=oasis-editor-color-split-icon><i></i><span class=oasis-editor-color-split-indicator>`), _tmpl$8$1 = /* @__PURE__ */ template(`<i data-lucide=slash>`), _tmpl$9 = /* @__PURE__ */ template(`<div class=oasis-editor-color-theme-column>`), _tmpl$0 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-swatch>`);
6410
6448
  const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
6411
6449
  function ColorPicker(props) {
6412
6450
  const [isOpen, setIsOpen] = createSignal(false);
@@ -6471,7 +6509,7 @@ function ColorPicker(props) {
6471
6509
  return clearLabel();
6472
6510
  },
6473
6511
  get children() {
6474
- var _el$ = _tmpl$2$w(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
6512
+ var _el$ = _tmpl$2$v(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
6475
6513
  _el$.$$click = () => applyColor(null);
6476
6514
  insert(_el$2, createComponent(Show, {
6477
6515
  get when() {
@@ -6481,7 +6519,7 @@ function ColorPicker(props) {
6481
6519
  return _tmpl$8$1();
6482
6520
  },
6483
6521
  get children() {
6484
- return _tmpl$$P();
6522
+ return _tmpl$$O();
6485
6523
  }
6486
6524
  }));
6487
6525
  insert(_el$4, clearLabel);
@@ -6594,7 +6632,7 @@ function ColorPicker(props) {
6594
6632
  });
6595
6633
  }
6596
6634
  delegateEvents(["click", "input"]);
6597
- var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$v = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$f = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
6635
+ var _tmpl$$N = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$f = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
6598
6636
  function GridPicker(props) {
6599
6637
  const t = useI18n();
6600
6638
  const [isOpen, setIsOpen] = createSignal(false);
@@ -6703,11 +6741,11 @@ function GridPicker(props) {
6703
6741
  })(),
6704
6742
  get children() {
6705
6743
  return [(() => {
6706
- var _el$2 = _tmpl$$O();
6744
+ var _el$2 = _tmpl$$N();
6707
6745
  insert(_el$2, statusLabel);
6708
6746
  return _el$2;
6709
6747
  })(), (() => {
6710
- var _el$3 = _tmpl$2$v();
6748
+ var _el$3 = _tmpl$2$u();
6711
6749
  insert(_el$3, createComponent(For, {
6712
6750
  get each() {
6713
6751
  return rows();
@@ -6807,7 +6845,7 @@ const DEFAULT_PALETTE = {
6807
6845
  standardColors: STANDARD_COLORS,
6808
6846
  allowCustom: true
6809
6847
  };
6810
- var _tmpl$$N = /* @__PURE__ */ template(`<button type=button class=oasis-editor-style-gallery-card role=option><span>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery-grid>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery><div class=oasis-editor-style-gallery-ribbon><div class=oasis-editor-style-gallery-strip role=listbox></div><button type=button class=oasis-editor-style-gallery-expand aria-haspopup=listbox><i data-lucide=chevron-down>`), _tmpl$4$e = /* @__PURE__ */ template(`<option>`);
6848
+ var _tmpl$$M = /* @__PURE__ */ template(`<button type=button class=oasis-editor-style-gallery-card role=option><span>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery-grid>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery><div class=oasis-editor-style-gallery-ribbon><div class=oasis-editor-style-gallery-strip role=listbox></div><button type=button class=oasis-editor-style-gallery-expand aria-haspopup=listbox><i data-lucide=chevron-down>`), _tmpl$4$e = /* @__PURE__ */ template(`<option>`);
6811
6849
  function getQuickStyles(styles) {
6812
6850
  const applicable = styles.filter((style2) => style2.type !== "table" && (!style2.semiHidden || style2.unhideWhenUsed && style2.isUsed));
6813
6851
  const hasQuickStyles = applicable.some((style2) => style2.qFormat === true);
@@ -6887,7 +6925,7 @@ function StyleGallery(props) {
6887
6925
  return styles();
6888
6926
  },
6889
6927
  children: (style$1) => (() => {
6890
- var _el$ = _tmpl$$N(), _el$2 = _el$.firstChild;
6928
+ var _el$ = _tmpl$$M(), _el$2 = _el$.firstChild;
6891
6929
  _el$.$$click = () => apply(style$1);
6892
6930
  insert(_el$2, () => style$1.name);
6893
6931
  createRenderEffect((_p$) => {
@@ -6967,7 +7005,7 @@ function StyleGallery(props) {
6967
7005
  return _el$4;
6968
7006
  })(),
6969
7007
  get children() {
6970
- var _el$3 = _tmpl$2$u();
7008
+ var _el$3 = _tmpl$2$t();
6971
7009
  _el$3.$$keydown = onPanelKeyDown;
6972
7010
  insert(_el$3, cards);
6973
7011
  return _el$3;
@@ -6975,7 +7013,7 @@ function StyleGallery(props) {
6975
7013
  });
6976
7014
  }
6977
7015
  delegateEvents(["click", "keydown"]);
6978
- var _tmpl$$M = /* @__PURE__ */ template(`<option value>`), _tmpl$2$t = /* @__PURE__ */ template(`<option>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
7016
+ var _tmpl$$L = /* @__PURE__ */ template(`<option value>`), _tmpl$2$s = /* @__PURE__ */ template(`<option>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
6979
7017
  function renderMenuContent(content, api) {
6980
7018
  if (content.kind === "custom") {
6981
7019
  return content.render(api);
@@ -7157,7 +7195,7 @@ function RenderSelect(props) {
7157
7195
  return props.item.placeholder !== void 0;
7158
7196
  },
7159
7197
  get children() {
7160
- var _el$ = _tmpl$$M();
7198
+ var _el$ = _tmpl$$L();
7161
7199
  insert(_el$, () => props.item.placeholder);
7162
7200
  return _el$;
7163
7201
  }
@@ -7166,7 +7204,7 @@ function RenderSelect(props) {
7166
7204
  return props.item.options(props.api);
7167
7205
  },
7168
7206
  children: (option) => (() => {
7169
- var _el$2 = _tmpl$2$t();
7207
+ var _el$2 = _tmpl$2$s();
7170
7208
  insert(_el$2, () => option.label);
7171
7209
  createRenderEffect(() => _el$2.value = option.value);
7172
7210
  return _el$2;
@@ -7350,9 +7388,15 @@ const RIBBON_TABS = [
7350
7388
  "collaboration",
7351
7389
  "protection",
7352
7390
  "view",
7391
+ "tableDesign",
7392
+ "tableLayout",
7353
7393
  "plugins",
7354
7394
  "ai"
7355
7395
  ];
7396
+ const CONTEXTUAL_TABS = {
7397
+ tableDesign: "tableContext",
7398
+ tableLayout: "tableContext"
7399
+ };
7356
7400
  const TAB_LABEL_KEYS = {
7357
7401
  file: "ribbon.tab.file",
7358
7402
  home: "ribbon.tab.home",
@@ -7363,6 +7407,8 @@ const TAB_LABEL_KEYS = {
7363
7407
  collaboration: "ribbon.tab.collaboration",
7364
7408
  protection: "ribbon.tab.protection",
7365
7409
  view: "ribbon.tab.view",
7410
+ tableDesign: "ribbon.tab.tableDesign",
7411
+ tableLayout: "ribbon.tab.tableLayout",
7366
7412
  plugins: "ribbon.tab.plugins",
7367
7413
  ai: "ribbon.tab.ai"
7368
7414
  };
@@ -7379,10 +7425,26 @@ const GROUP_LABEL_KEYS = {
7379
7425
  document: "ribbon.group.document",
7380
7426
  table: "ribbon.group.table",
7381
7427
  section: "ribbon.group.section",
7382
- general: "ribbon.group.general"
7428
+ general: "ribbon.group.general",
7429
+ tableStyleOptions: "ribbon.group.tableStyleOptions",
7430
+ tableStyles: "ribbon.group.tableStyles",
7431
+ borders: "ribbon.group.borders",
7432
+ rowsColumns: "ribbon.group.rowsColumns",
7433
+ merge: "ribbon.group.merge",
7434
+ cellSize: "ribbon.group.cellSize",
7435
+ alignment: "ribbon.group.alignment"
7383
7436
  };
7384
- function buildRibbonTabDefinitions(t) {
7385
- return RIBBON_TABS.map((id) => ({ id, label: t(TAB_LABEL_KEYS[id]) }));
7437
+ function isRibbonTabVisible(id, api) {
7438
+ const gatingCommand = CONTEXTUAL_TABS[id];
7439
+ if (!gatingCommand) return true;
7440
+ return api ? api.commands.state(gatingCommand).isActive : false;
7441
+ }
7442
+ function buildRibbonTabDefinitions(t, api) {
7443
+ return RIBBON_TABS.filter((id) => isRibbonTabVisible(id, api)).map((id) => ({
7444
+ id,
7445
+ label: t(TAB_LABEL_KEYS[id]),
7446
+ contextual: CONTEXTUAL_TABS[id] !== void 0
7447
+ }));
7386
7448
  }
7387
7449
  const DEFAULT_RIBBON_TAB = "plugins";
7388
7450
  const DEFAULT_RIBBON_GROUP = "general";
@@ -7412,6 +7474,18 @@ const RIBBON_GROUP_ORDER = {
7412
7474
  references: {
7413
7475
  footnotes: 10
7414
7476
  },
7477
+ tableDesign: {
7478
+ tableStyleOptions: 10,
7479
+ tableStyles: 20,
7480
+ borders: 30
7481
+ },
7482
+ tableLayout: {
7483
+ table: 10,
7484
+ rowsColumns: 20,
7485
+ merge: 30,
7486
+ cellSize: 40,
7487
+ alignment: 50
7488
+ },
7415
7489
  plugins: {
7416
7490
  general: 10
7417
7491
  }
@@ -7476,6 +7550,18 @@ const RIBBON_GROUP_RESIZE_DEFAULTS = {
7476
7550
  references: {
7477
7551
  footnotes: { priority: 10, collapsedIcon: "footnote" }
7478
7552
  },
7553
+ tableDesign: {
7554
+ tableStyleOptions: { priority: 20, collapsedIcon: "list-checks" },
7555
+ tableStyles: { priority: 10, collapsedIcon: "table" },
7556
+ borders: { priority: 30, collapsedIcon: "frame" }
7557
+ },
7558
+ tableLayout: {
7559
+ table: { priority: 15, collapsedIcon: "table-properties" },
7560
+ rowsColumns: { priority: 20, collapsedIcon: "rows" },
7561
+ merge: { priority: 30, collapsedIcon: "combine" },
7562
+ cellSize: { priority: 40, collapsedIcon: "move-horizontal" },
7563
+ alignment: { priority: 50, collapsedIcon: "align-left" }
7564
+ },
7479
7565
  plugins: {
7480
7566
  general: { priority: 50, collapsedIcon: "plug" }
7481
7567
  }
@@ -7715,20 +7801,23 @@ function resolveResponsiveRibbonGroups(groups, availableWidth, measurements = {}
7715
7801
  allocatedWidth: allocatedWidths.get(group.id)
7716
7802
  }));
7717
7803
  }
7718
- var _tmpl$$L = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$s = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
7804
+ var _tmpl$$K = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$r = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
7719
7805
  function RibbonTabs(props) {
7720
- const tabs = buildRibbonTabDefinitions(useI18n());
7806
+ const tabs = createMemo(() => buildRibbonTabDefinitions(props.api.t, props.api));
7721
7807
  const moveTab = (current, delta) => {
7722
- const index = tabs.findIndex((tab) => tab.id === current);
7723
- const next = tabs[(index + delta + tabs.length) % tabs.length];
7808
+ const list = tabs();
7809
+ const index = list.findIndex((tab) => tab.id === current);
7810
+ const next = list[(index + delta + list.length) % list.length];
7724
7811
  if (next) props.setActiveTab(next.id);
7725
7812
  };
7726
7813
  return (() => {
7727
- var _el$ = _tmpl$$L();
7814
+ var _el$ = _tmpl$$K();
7728
7815
  insert(_el$, createComponent(For, {
7729
- each: tabs,
7816
+ get each() {
7817
+ return tabs();
7818
+ },
7730
7819
  children: (tab) => (() => {
7731
- var _el$2 = _tmpl$2$s();
7820
+ var _el$2 = _tmpl$2$r();
7732
7821
  _el$2.$$keydown = (event) => {
7733
7822
  if (event.key === "ArrowRight") {
7734
7823
  event.preventDefault();
@@ -7738,22 +7827,24 @@ function RibbonTabs(props) {
7738
7827
  moveTab(tab.id, -1);
7739
7828
  } else if (event.key === "Home") {
7740
7829
  event.preventDefault();
7741
- props.setActiveTab(tabs[0].id);
7830
+ props.setActiveTab(tabs()[0].id);
7742
7831
  } else if (event.key === "End") {
7743
7832
  event.preventDefault();
7744
- props.setActiveTab(tabs[tabs.length - 1].id);
7833
+ const list = tabs();
7834
+ props.setActiveTab(list[list.length - 1].id);
7745
7835
  }
7746
7836
  };
7747
7837
  _el$2.$$click = () => props.setActiveTab(tab.id);
7748
7838
  insert(_el$2, () => tab.label);
7749
7839
  createRenderEffect((_p$) => {
7750
- var _v$ = !!(props.activeTab() === tab.id), _v$2 = props.activeTab() === tab.id, _v$3 = `oasis-editor-ribbon-panel-${tab.id}`, _v$4 = `oasis-editor-ribbon-tab-${tab.id}`, _v$5 = `editor-ribbon-tab-${tab.id}`, _v$6 = props.activeTab() === tab.id ? 0 : -1;
7840
+ var _v$ = !!(props.activeTab() === tab.id), _v$2 = !!(tab.contextual === true), _v$3 = props.activeTab() === tab.id, _v$4 = `oasis-editor-ribbon-panel-${tab.id}`, _v$5 = `oasis-editor-ribbon-tab-${tab.id}`, _v$6 = `editor-ribbon-tab-${tab.id}`, _v$7 = props.activeTab() === tab.id ? 0 : -1;
7751
7841
  _v$ !== _p$.e && _el$2.classList.toggle("oasis-editor-ribbon-tab-active", _p$.e = _v$);
7752
- _v$2 !== _p$.t && setAttribute(_el$2, "aria-selected", _p$.t = _v$2);
7753
- _v$3 !== _p$.a && setAttribute(_el$2, "aria-controls", _p$.a = _v$3);
7754
- _v$4 !== _p$.o && setAttribute(_el$2, "id", _p$.o = _v$4);
7755
- _v$5 !== _p$.i && setAttribute(_el$2, "data-testid", _p$.i = _v$5);
7756
- _v$6 !== _p$.n && setAttribute(_el$2, "tabindex", _p$.n = _v$6);
7842
+ _v$2 !== _p$.t && _el$2.classList.toggle("oasis-editor-ribbon-tab-contextual", _p$.t = _v$2);
7843
+ _v$3 !== _p$.a && setAttribute(_el$2, "aria-selected", _p$.a = _v$3);
7844
+ _v$4 !== _p$.o && setAttribute(_el$2, "aria-controls", _p$.o = _v$4);
7845
+ _v$5 !== _p$.i && setAttribute(_el$2, "id", _p$.i = _v$5);
7846
+ _v$6 !== _p$.n && setAttribute(_el$2, "data-testid", _p$.n = _v$6);
7847
+ _v$7 !== _p$.s && setAttribute(_el$2, "tabindex", _p$.s = _v$7);
7757
7848
  return _p$;
7758
7849
  }, {
7759
7850
  e: void 0,
@@ -7761,7 +7852,8 @@ function RibbonTabs(props) {
7761
7852
  a: void 0,
7762
7853
  o: void 0,
7763
7854
  i: void 0,
7764
- n: void 0
7855
+ n: void 0,
7856
+ s: void 0
7765
7857
  });
7766
7858
  return _el$2;
7767
7859
  })()
@@ -7770,10 +7862,10 @@ function RibbonTabs(props) {
7770
7862
  })();
7771
7863
  }
7772
7864
  delegateEvents(["click", "keydown"]);
7773
- var _tmpl$$K = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
7865
+ var _tmpl$$J = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
7774
7866
  function RibbonRow(props) {
7775
7867
  return (() => {
7776
- var _el$ = _tmpl$$K();
7868
+ var _el$ = _tmpl$$J();
7777
7869
  insert(_el$, createComponent(For, {
7778
7870
  get each() {
7779
7871
  return props.items;
@@ -7788,7 +7880,7 @@ function RibbonRow(props) {
7788
7880
  return _el$;
7789
7881
  })();
7790
7882
  }
7791
- var _tmpl$$J = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$r = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows>`), _tmpl$3$h = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-label>`), _tmpl$4$d = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-collapsed-items>`), _tmpl$6$5 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows>`);
7883
+ var _tmpl$$I = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$q = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows>`), _tmpl$3$h = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-label>`), _tmpl$4$d = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-collapsed-items>`), _tmpl$6$5 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows>`);
7792
7884
  function groupItems(group) {
7793
7885
  return [...group.largeItems, ...group.rows[1], ...group.rows[2]];
7794
7886
  }
@@ -7847,13 +7939,13 @@ function RibbonGroup(props) {
7847
7939
  },
7848
7940
  get children() {
7849
7941
  return [(() => {
7850
- var _el$2 = _tmpl$2$r(), _el$4 = _el$2.firstChild;
7942
+ var _el$2 = _tmpl$2$q(), _el$4 = _el$2.firstChild;
7851
7943
  insert(_el$2, createComponent(Show, {
7852
7944
  get when() {
7853
7945
  return props.group.largeItems.length > 0;
7854
7946
  },
7855
7947
  get children() {
7856
- var _el$3 = _tmpl$$J();
7948
+ var _el$3 = _tmpl$$I();
7857
7949
  insert(_el$3, createComponent(For, {
7858
7950
  get each() {
7859
7951
  return props.group.largeItems;
@@ -7914,7 +8006,7 @@ function RibbonGroup(props) {
7914
8006
  return _el$;
7915
8007
  })();
7916
8008
  }
7917
- var _tmpl$$I = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
8009
+ var _tmpl$$H = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
7918
8010
  function RibbonPanel(props) {
7919
8011
  const [availableWidth, setAvailableWidth] = createSignal(null);
7920
8012
  const [measurements, setMeasurements] = createSignal({});
@@ -7959,7 +8051,7 @@ function RibbonPanel(props) {
7959
8051
  requestAnimationFrame(measureGroups);
7960
8052
  });
7961
8053
  return (() => {
7962
- var _el$ = _tmpl$$I();
8054
+ var _el$ = _tmpl$$H();
7963
8055
  var _ref$ = panelRef;
7964
8056
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
7965
8057
  insert(_el$, createComponent(For, {
@@ -7985,12 +8077,22 @@ function RibbonPanel(props) {
7985
8077
  return _el$;
7986
8078
  })();
7987
8079
  }
7988
- var _tmpl$$H = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$q = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
8080
+ var _tmpl$$G = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$p = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
7989
8081
  const shouldAllowNativeMouseDown = (target) => target instanceof Element && target.closest("select, input, textarea, label") !== null;
7990
8082
  function Toolbar(props) {
7991
8083
  const api = createToolbarApi(props.host, useI18n());
7992
8084
  const [version2, setVersion2] = createSignal(0);
7993
8085
  const [activeTab, setActiveTab] = createSignal("home");
8086
+ const CONTEXTUAL_TABLE_TABS = ["tableDesign", "tableLayout"];
8087
+ createEffect((prevInside) => {
8088
+ const inside = api.commands.state("tableContext").isActive;
8089
+ if (inside && prevInside === false) {
8090
+ setActiveTab("tableDesign");
8091
+ } else if (!inside && CONTEXTUAL_TABLE_TABS.includes(activeTab())) {
8092
+ setActiveTab("home");
8093
+ }
8094
+ return inside;
8095
+ });
7994
8096
  onMount(() => {
7995
8097
  const unsubscribe = props.registry.onChange(() => setVersion2((v) => v + 1));
7996
8098
  onCleanup(unsubscribe);
@@ -8015,7 +8117,7 @@ function Toolbar(props) {
8015
8117
  })
8016
8118
  });
8017
8119
  return (() => {
8018
- var _el$ = _tmpl$$H();
8120
+ var _el$ = _tmpl$$G();
8019
8121
  _el$.$$mousedown = (event) => {
8020
8122
  if (shouldAllowNativeMouseDown(event.target)) {
8021
8123
  return;
@@ -8026,7 +8128,8 @@ function Toolbar(props) {
8026
8128
  var _c$ = memo(() => view() === "ribbon");
8027
8129
  return () => _c$() ? [createComponent(RibbonTabs, {
8028
8130
  activeTab,
8029
- setActiveTab
8131
+ setActiveTab,
8132
+ api
8030
8133
  }), createComponent(RibbonPanel, {
8031
8134
  activeTab,
8032
8135
  items,
@@ -8036,7 +8139,7 @@ function Toolbar(props) {
8036
8139
  return renderItems();
8037
8140
  }
8038
8141
  }) : (() => {
8039
- var _el$2 = _tmpl$2$q();
8142
+ var _el$2 = _tmpl$2$p();
8040
8143
  insert(_el$2, renderItems);
8041
8144
  return _el$2;
8042
8145
  })();
@@ -18657,11 +18760,11 @@ function buildCanvasTableLayout(options) {
18657
18760
  unsupported: Array.from(new Set(unsupported))
18658
18761
  };
18659
18762
  }
18660
- var _tmpl$$G = /* @__PURE__ */ template(`<div class=oasis-editor-page-break style="display:flex;align-items:center;justify-content:center;margin:16px 0;position:relative;user-select:none"><div style="position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--oasis-toolbar-border, #e0e3e7)"></div><div style="background:var(--oasis-bg, #f6f8fb);padding:0 12px;color:var(--oasis-text-muted, #5f6368);font-size:12px;font-family:var(--oasis-font-ui, sans-serif);z-index:1">`);
18763
+ var _tmpl$$F = /* @__PURE__ */ template(`<div class=oasis-editor-page-break style="display:flex;align-items:center;justify-content:center;margin:16px 0;position:relative;user-select:none"><div style="position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--oasis-toolbar-border, #e0e3e7)"></div><div style="background:var(--oasis-bg, #f6f8fb);padding:0 12px;color:var(--oasis-text-muted, #5f6368);font-size:12px;font-family:var(--oasis-font-ui, sans-serif);z-index:1">`);
18661
18764
  function PageBreak(_props) {
18662
18765
  const t = useI18n();
18663
18766
  return (() => {
18664
- var _el$ = _tmpl$$G(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
18767
+ var _el$ = _tmpl$$F(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
18665
18768
  insert(_el$3, () => t("metric.pageBreak") || "Page Break");
18666
18769
  return _el$;
18667
18770
  })();
@@ -22230,7 +22333,7 @@ function createCanvasPageRenderer(options) {
22230
22333
  }
22231
22334
  };
22232
22335
  }
22233
- var _tmpl$$F = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$p = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$g = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`), _tmpl$4$c = /* @__PURE__ */ template(`<div class=oasis-editor-table-revision-hit style=position:absolute;pointer-events:auto;background:transparent>`);
22336
+ var _tmpl$$E = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$o = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$g = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`), _tmpl$4$c = /* @__PURE__ */ template(`<div class=oasis-editor-table-revision-hit style=position:absolute;pointer-events:auto;background:transparent>`);
22234
22337
  const surfaceLogger = createEditorLogger("canvas-surface");
22235
22338
  function checkBrowserFonts(families) {
22236
22339
  if (typeof document === "undefined" || !document.fonts) {
@@ -22290,7 +22393,7 @@ function CanvasEditorSurface(props) {
22290
22393
  return layout;
22291
22394
  });
22292
22395
  return (() => {
22293
- var _el$ = _tmpl$$F();
22396
+ var _el$ = _tmpl$$E();
22294
22397
  insert(_el$, createComponent(Index, {
22295
22398
  get each() {
22296
22399
  return documentLayout().pages;
@@ -22302,7 +22405,7 @@ function CanvasEditorSurface(props) {
22302
22405
  // inserting an image that triggers re-pagination in a narrow viewport),
22303
22406
  // causing "Failed to execute 'insertBefore'" errors.
22304
22407
  (() => {
22305
- var _el$2 = _tmpl$2$p();
22408
+ var _el$2 = _tmpl$2$o();
22306
22409
  insert(_el$2, createComponent(Show, {
22307
22410
  when: index > 0,
22308
22411
  get children() {
@@ -22824,7 +22927,7 @@ function computeRulerTicks(pageWidth, contentLeft, unit) {
22824
22927
  pushSide(-1);
22825
22928
  return ticks;
22826
22929
  }
22827
- var _tmpl$$E = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler data-testid=editor-horizontal-ruler role=presentation><div class=oasis-editor-horizontal-ruler-track><div class=oasis-editor-horizontal-ruler-page><div class=oasis-editor-horizontal-ruler-margin style=left:0px></div><div class=oasis-editor-horizontal-ruler-margin></div><div class=oasis-editor-horizontal-ruler-content></div><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-first-line"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-hanging"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-left-box"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-right-indent">`), _tmpl$2$o = /* @__PURE__ */ template(`<div>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
22930
+ var _tmpl$$D = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler data-testid=editor-horizontal-ruler role=presentation><div class=oasis-editor-horizontal-ruler-track><div class=oasis-editor-horizontal-ruler-page><div class=oasis-editor-horizontal-ruler-margin style=left:0px></div><div class=oasis-editor-horizontal-ruler-margin></div><div class=oasis-editor-horizontal-ruler-content></div><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-first-line"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-hanging"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-left-box"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-right-indent">`), _tmpl$2$n = /* @__PURE__ */ template(`<div>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
22828
22931
  function getActivePageSettings(state) {
22829
22932
  var _a;
22830
22933
  const idx = getActiveSectionIndex(state);
@@ -23030,7 +23133,7 @@ function HorizontalRuler(props) {
23030
23133
  }
23031
23134
  };
23032
23135
  return (() => {
23033
- var _el$ = _tmpl$$E(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling;
23136
+ var _el$ = _tmpl$$D(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling;
23034
23137
  var _ref$ = pageRef;
23035
23138
  typeof _ref$ === "function" ? use(_ref$, _el$3) : pageRef = _el$3;
23036
23139
  insert(_el$3, createComponent(For, {
@@ -23038,7 +23141,7 @@ function HorizontalRuler(props) {
23038
23141
  return ticks();
23039
23142
  },
23040
23143
  children: (tick) => [(() => {
23041
- var _el$11 = _tmpl$2$o();
23144
+ var _el$11 = _tmpl$2$n();
23042
23145
  createRenderEffect((_p$) => {
23043
23146
  var _v$27 = `oasis-editor-horizontal-ruler-tick oasis-editor-horizontal-ruler-tick-${tick.kind}`, _v$28 = `${sx(tick.x)}px`;
23044
23147
  _v$27 !== _p$.e && className(_el$11, _p$.e = _v$27);
@@ -23127,10 +23230,10 @@ function HorizontalRuler(props) {
23127
23230
  })();
23128
23231
  }
23129
23232
  delegateEvents(["pointerdown"]);
23130
- var _tmpl$$D = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
23233
+ var _tmpl$$C = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
23131
23234
  function CaretOverlay(props) {
23132
23235
  return (() => {
23133
- var _el$ = _tmpl$$D();
23236
+ var _el$ = _tmpl$$C();
23134
23237
  createRenderEffect((_p$) => {
23135
23238
  var _v$ = !!props.active, _v$2 = {
23136
23239
  left: `${props.left}px`,
@@ -23151,16 +23254,16 @@ function CaretOverlay(props) {
23151
23254
  return _el$;
23152
23255
  })();
23153
23256
  }
23154
- var _tmpl$$C = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$n = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
23257
+ var _tmpl$$B = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$m = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
23155
23258
  function SelectionOverlay(props) {
23156
23259
  return (() => {
23157
- var _el$ = _tmpl$$C();
23260
+ var _el$ = _tmpl$$B();
23158
23261
  insert(_el$, createComponent(Index, {
23159
23262
  get each() {
23160
23263
  return props.boxes;
23161
23264
  },
23162
23265
  children: (box) => (() => {
23163
- var _el$2 = _tmpl$2$n();
23266
+ var _el$2 = _tmpl$2$m();
23164
23267
  createRenderEffect((_p$) => {
23165
23268
  var _v$ = `${box().left}px`, _v$2 = `${box().top}px`, _v$3 = `${box().width}px`, _v$4 = `${box().height}px`;
23166
23269
  _v$ !== _p$.e && setStyleProperty(_el$2, "left", _p$.e = _v$);
@@ -23180,7 +23283,7 @@ function SelectionOverlay(props) {
23180
23283
  return _el$;
23181
23284
  })();
23182
23285
  }
23183
- var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-revision-overlay data-testid=editor-revision-overlay><div class=oasis-editor-revision-overlay-content><span class=oasis-editor-revision-overlay-author><strong>:</strong> </span><span class=oasis-editor-revision-overlay-date></span></div><div class=oasis-editor-revision-overlay-arrow>`);
23286
+ var _tmpl$$A = /* @__PURE__ */ template(`<div class=oasis-editor-revision-overlay data-testid=editor-revision-overlay><div class=oasis-editor-revision-overlay-content><span class=oasis-editor-revision-overlay-author><strong>:</strong> </span><span class=oasis-editor-revision-overlay-date></span></div><div class=oasis-editor-revision-overlay-arrow>`);
23184
23287
  function RevisionOverlay(props) {
23185
23288
  const formattedDate = () => {
23186
23289
  try {
@@ -23195,7 +23298,7 @@ function RevisionOverlay(props) {
23195
23298
  return "Alterado por";
23196
23299
  };
23197
23300
  return (() => {
23198
- var _el$ = _tmpl$$B(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
23301
+ var _el$ = _tmpl$$A(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
23199
23302
  _el$4.nextSibling;
23200
23303
  var _el$7 = _el$3.nextSibling;
23201
23304
  insert(_el$4, label, _el$5);
@@ -23213,7 +23316,7 @@ function RevisionOverlay(props) {
23213
23316
  return _el$;
23214
23317
  })();
23215
23318
  }
23216
- var _tmpl$$A = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$m = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$e = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$b = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=oasis-editor-comment-popup data-testid=editor-comment-popup><div class=oasis-editor-comment-popup-header><span class=oasis-editor-comment-popup-author></span></div><div class=oasis-editor-comment-popup-body>`);
23319
+ var _tmpl$$z = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$l = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$e = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$b = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=oasis-editor-comment-popup data-testid=editor-comment-popup><div class=oasis-editor-comment-popup-header><span class=oasis-editor-comment-popup-author></span></div><div class=oasis-editor-comment-popup-body>`);
23217
23320
  function CommentHighlightOverlay(props) {
23218
23321
  const [activeCommentId, setActiveCommentId] = createSignal(null);
23219
23322
  const activeComment = createMemo(() => {
@@ -23240,13 +23343,13 @@ function CommentHighlightOverlay(props) {
23240
23343
  }
23241
23344
  };
23242
23345
  return (() => {
23243
- var _el$ = _tmpl$$A();
23346
+ var _el$ = _tmpl$$z();
23244
23347
  insert(_el$, createComponent(For, {
23245
23348
  get each() {
23246
23349
  return props.boxes();
23247
23350
  },
23248
23351
  children: (box) => (() => {
23249
- var _el$2 = _tmpl$2$m();
23352
+ var _el$2 = _tmpl$2$l();
23250
23353
  _el$2.$$click = () => setActiveCommentId(box.commentId);
23251
23354
  _el$2.addEventListener("mouseenter", () => setActiveCommentId(box.commentId));
23252
23355
  createRenderEffect((_p$) => {
@@ -23346,7 +23449,7 @@ function useSurfaceRect(surfaceRef) {
23346
23449
  });
23347
23450
  return { rect, tick, refresh };
23348
23451
  }
23349
- var _tmpl$$z = /* @__PURE__ */ template(`<div class=oasis-editor-floating-toolbar data-testid=editor-floating-table-toolbar><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group>`);
23452
+ var _tmpl$$y = /* @__PURE__ */ template(`<div class=oasis-editor-floating-toolbar data-testid=editor-floating-table-toolbar><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group></div><div class=oasis-editor-toolbar-group>`);
23350
23453
  function FloatingTableToolbar(props) {
23351
23454
  const t = useI18n();
23352
23455
  const host = () => props.host();
@@ -23404,7 +23507,7 @@ function FloatingTableToolbar(props) {
23404
23507
  return document.body;
23405
23508
  },
23406
23509
  get children() {
23407
- var _el$ = _tmpl$$z(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
23510
+ var _el$ = _tmpl$$y(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
23408
23511
  _el$.$$mousedown = (event) => event.preventDefault();
23409
23512
  insert(_el$2, createComponent(Button$1, {
23410
23513
  icon: "combine",
@@ -23564,7 +23667,7 @@ function FloatingTableToolbar(props) {
23564
23667
  });
23565
23668
  }
23566
23669
  delegateEvents(["mousedown"]);
23567
- var _tmpl$$y = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$l = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$d = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$a = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$6 = /* @__PURE__ */ template(`<svg viewBox="0 0 40 32"fill=none aria-hidden=true>`), _tmpl$6$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-anchor data-testid=editor-layout-options-anchor><svg viewBox="0 0 24 24"fill=none aria-hidden=true><rect x=3 y=4 width=10 height=10 rx=1.5 fill=#1a73e8></rect><rect x=3 y=17 width=18 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=5 width=6 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=9 width=6 height=2 rx=1 fill=#9aa0a6>`), _tmpl$7$1 = /* @__PURE__ */ template(`<div class=oasis-editor-layout-options-popup data-testid=editor-layout-options-popup><div class=oasis-editor-layout-options-popup-header><span class=oasis-editor-layout-options-title></span><button type=button class=oasis-editor-layout-options-close>×</button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid><button type=button class=oasis-editor-layout-options-cell data-testid=editor-layout-options-inline><svg viewBox="0 0 40 32"fill=none aria-hidden=true><rect x=4 y=7 width=9 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=4 width=11 height=11 rx=1.5 fill=#1a73e8></rect><rect x=28 y=7 width=8 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=20 width=32 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=26 width=32 height=2 rx=1 fill=#9aa0a6></rect></svg></button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid></div><div class=oasis-editor-layout-options-radios><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position></label><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position>`), _tmpl$8 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-cell>`);
23670
+ var _tmpl$$x = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$k = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$d = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$a = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$6 = /* @__PURE__ */ template(`<svg viewBox="0 0 40 32"fill=none aria-hidden=true>`), _tmpl$6$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-anchor data-testid=editor-layout-options-anchor><svg viewBox="0 0 24 24"fill=none aria-hidden=true><rect x=3 y=4 width=10 height=10 rx=1.5 fill=#1a73e8></rect><rect x=3 y=17 width=18 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=5 width=6 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=9 width=6 height=2 rx=1 fill=#9aa0a6>`), _tmpl$7$1 = /* @__PURE__ */ template(`<div class=oasis-editor-layout-options-popup data-testid=editor-layout-options-popup><div class=oasis-editor-layout-options-popup-header><span class=oasis-editor-layout-options-title></span><button type=button class=oasis-editor-layout-options-close>×</button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid><button type=button class=oasis-editor-layout-options-cell data-testid=editor-layout-options-inline><svg viewBox="0 0 40 32"fill=none aria-hidden=true><rect x=4 y=7 width=9 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=4 width=11 height=11 rx=1.5 fill=#1a73e8></rect><rect x=28 y=7 width=8 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=20 width=32 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=26 width=32 height=2 rx=1 fill=#9aa0a6></rect></svg></button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid></div><div class=oasis-editor-layout-options-radios><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position></label><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position>`), _tmpl$8 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-cell>`);
23568
23671
  const WRAP_OPTIONS = [{
23569
23672
  preset: "square",
23570
23673
  labelKey: "layoutOptions.square"
@@ -23586,14 +23689,14 @@ const WRAP_OPTIONS = [{
23586
23689
  }];
23587
23690
  function WrapIcon(props) {
23588
23691
  const line = (x, y, w) => (() => {
23589
- var _el$ = _tmpl$$y();
23692
+ var _el$ = _tmpl$$x();
23590
23693
  setAttribute(_el$, "x", x);
23591
23694
  setAttribute(_el$, "y", y);
23592
23695
  setAttribute(_el$, "width", w);
23593
23696
  return _el$;
23594
23697
  })();
23595
23698
  const box = (x, y, w, h, fill = "#1a73e8") => (() => {
23596
- var _el$2 = _tmpl$2$l();
23699
+ var _el$2 = _tmpl$2$k();
23597
23700
  setAttribute(_el$2, "x", x);
23598
23701
  setAttribute(_el$2, "y", y);
23599
23702
  setAttribute(_el$2, "width", w);
@@ -38201,10 +38304,10 @@ function resolveResizedDimensions(geometry, deltaX, deltaY, preserveAspectRatio,
38201
38304
  nextHeight = clamp(nextWidth / aspectRatio, MIN_RESIZE_SIZE_PX);
38202
38305
  return { width: nextWidth, height: nextHeight };
38203
38306
  }
38204
- var _tmpl$$x = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$k = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$c = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
38307
+ var _tmpl$$w = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$j = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$c = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
38205
38308
  function ResizeHandlesOverlay(props) {
38206
38309
  return (() => {
38207
- var _el$ = _tmpl$2$k();
38310
+ var _el$ = _tmpl$2$j();
38208
38311
  _el$.$$mousedown = (event) => {
38209
38312
  if (props.readOnly || !props.box() || !props.onBodyMouseDown) {
38210
38313
  return;
@@ -38235,7 +38338,7 @@ function ResizeHandlesOverlay(props) {
38235
38338
  return props.onRotateStart;
38236
38339
  },
38237
38340
  get children() {
38238
- var _el$2 = _tmpl$$x();
38341
+ var _el$2 = _tmpl$$w();
38239
38342
  _el$2.$$mousedown = (event) => {
38240
38343
  var _a;
38241
38344
  if (!props.box()) {
@@ -38291,7 +38394,7 @@ function createEditorZoom(initial = ZOOM_DEFAULT) {
38291
38394
  const zoomFactor = createMemo(() => zoomPercent() / 100);
38292
38395
  return { zoomPercent, setZoomPercent, adjustZoom, zoomFactor };
38293
38396
  }
38294
- var _tmpl$$w = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-zoom-sizer><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content style="position:absolute;top:0px;transform-origin:top left"><textarea aria-label="Editor input"autocomplete=off autocapitalize=off class=oasis-editor-input data-testid=editor-input value style=pointer-events:none></textarea><input data-testid=editor-import-docx-input type=file style=display:none><input accept="image/png, image/jpeg, image/gif"data-testid=editor-insert-image-input type=file style=display:none></div></div></div><div class=oasis-editor-statusbar data-testid=editor-statusbar><div class="oasis-editor-statusbar-group oasis-editor-statusbar-start"><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-word-count></span><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-character-count></span><span class=oasis-editor-statusbar-item></span></div><div class="oasis-editor-statusbar-group oasis-editor-statusbar-end"><div class=oasis-editor-statusbar-zoom data-testid=editor-statusbar-zoom-control><button type=button class=oasis-editor-zoom-button>−</button><input class=oasis-editor-zoom-slider type=range><button type=button class=oasis-editor-zoom-button>+</button><span class="oasis-editor-statusbar-item oasis-editor-zoom-value"data-testid=editor-statusbar-zoom>%`), _tmpl$2$j = /* @__PURE__ */ template(`<div class=oasis-editor-import-overlay data-testid=editor-import-overlay role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-phase data-testid=editor-import-phase></div><div class=oasis-editor-import-progress-track><div class=oasis-editor-import-progress-bar data-testid=editor-import-progress-bar></div></div><div class=oasis-editor-import-progress-label>`), _tmpl$3$b = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$4$9 = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`), _tmpl$5$5 = /* @__PURE__ */ template(`<span>`);
38397
+ var _tmpl$$v = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-zoom-sizer><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content style="position:absolute;top:0px;transform-origin:top left"><textarea aria-label="Editor input"autocomplete=off autocapitalize=off class=oasis-editor-input data-testid=editor-input value style=pointer-events:none></textarea><input data-testid=editor-import-docx-input type=file style=display:none><input accept="image/png, image/jpeg, image/gif"data-testid=editor-insert-image-input type=file style=display:none></div></div></div><div class=oasis-editor-statusbar data-testid=editor-statusbar><div class="oasis-editor-statusbar-group oasis-editor-statusbar-start"><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-word-count></span><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-character-count></span><span class=oasis-editor-statusbar-item></span></div><div class="oasis-editor-statusbar-group oasis-editor-statusbar-end"><div class=oasis-editor-statusbar-zoom data-testid=editor-statusbar-zoom-control><button type=button class=oasis-editor-zoom-button>−</button><input class=oasis-editor-zoom-slider type=range><button type=button class=oasis-editor-zoom-button>+</button><span class="oasis-editor-statusbar-item oasis-editor-zoom-value"data-testid=editor-statusbar-zoom>%`), _tmpl$2$i = /* @__PURE__ */ template(`<div class=oasis-editor-import-overlay data-testid=editor-import-overlay role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-phase data-testid=editor-import-phase></div><div class=oasis-editor-import-progress-track><div class=oasis-editor-import-progress-bar data-testid=editor-import-progress-bar></div></div><div class=oasis-editor-import-progress-label>`), _tmpl$3$b = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$4$9 = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`), _tmpl$5$5 = /* @__PURE__ */ template(`<span>`);
38295
38398
  function OasisEditorEditor(props) {
38296
38399
  const t = useI18n();
38297
38400
  const layout = () => props.layout;
@@ -38419,7 +38522,7 @@ function OasisEditorEditor(props) {
38419
38522
  queueMicrotask(recomputeViewportPageIndex);
38420
38523
  });
38421
38524
  return (() => {
38422
- var _el$ = _tmpl$$w(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$2.nextSibling, _el$9 = _el$8.firstChild, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling, _el$11 = _el$9.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.nextSibling, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild;
38525
+ var _el$ = _tmpl$$v(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$2.nextSibling, _el$9 = _el$8.firstChild, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling, _el$11 = _el$9.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.nextSibling, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild;
38423
38526
  insert(_el$, createComponent(Show, {
38424
38527
  get when() {
38425
38528
  return memo(() => !!layout().showHorizontalRuler)() && overlays().toolbarHost;
@@ -38703,7 +38806,7 @@ function OasisEditorEditor(props) {
38703
38806
  const isDone = progress().phase === "done";
38704
38807
  const isError = progress().phase === "error";
38705
38808
  return (() => {
38706
- var _el$18 = _tmpl$2$j(), _el$19 = _el$18.firstChild, _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.firstChild, _el$24 = _el$22.nextSibling;
38809
+ var _el$18 = _tmpl$2$i(), _el$19 = _el$18.firstChild, _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.firstChild, _el$24 = _el$22.nextSibling;
38707
38810
  _el$18.classList.toggle("oasis-editor-import-overlay-done", !!isDone);
38708
38811
  _el$18.classList.toggle("oasis-editor-import-overlay-error", !!isError);
38709
38812
  setAttribute(_el$18, "aria-busy", !isDone && !isError);
@@ -39495,11 +39598,11 @@ function createCanvasLayoutSnapshotProvider() {
39495
39598
  }
39496
39599
  };
39497
39600
  }
39498
- var _tmpl$$v = /* @__PURE__ */ template(`<button>`);
39601
+ var _tmpl$$u = /* @__PURE__ */ template(`<button>`);
39499
39602
  function FloatingActionButton(props) {
39500
39603
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "class", "classList"]);
39501
39604
  return (() => {
39502
- var _el$ = _tmpl$$v();
39605
+ var _el$ = _tmpl$$u();
39503
39606
  spread(_el$, mergeProps({
39504
39607
  get type() {
39505
39608
  return local.type ?? "button";
@@ -39528,7 +39631,7 @@ function FloatingActionButton(props) {
39528
39631
  return _el$;
39529
39632
  })();
39530
39633
  }
39531
- var _tmpl$$u = /* @__PURE__ */ template(`<aside>`), _tmpl$2$i = /* @__PURE__ */ template(`<div>`);
39634
+ var _tmpl$$t = /* @__PURE__ */ template(`<aside>`), _tmpl$2$h = /* @__PURE__ */ template(`<div>`);
39532
39635
  function SidePanel(props) {
39533
39636
  const [local, others] = splitProps(props, ["mode", "width", "class", "classList", "children", "style"]);
39534
39637
  const width = () => {
@@ -39538,7 +39641,7 @@ function SidePanel(props) {
39538
39641
  return local.width ?? "360px";
39539
39642
  };
39540
39643
  return (() => {
39541
- var _el$ = _tmpl$$u();
39644
+ var _el$ = _tmpl$$t();
39542
39645
  spread(_el$, mergeProps({
39543
39646
  get ["class"]() {
39544
39647
  return `oasis-editor-plugin-side-panel ${local.class ?? ""}`;
@@ -39563,7 +39666,7 @@ function SidePanel(props) {
39563
39666
  function SidePanelHeader(props) {
39564
39667
  const [local, others] = splitProps(props, ["class", "children"]);
39565
39668
  return (() => {
39566
- var _el$2 = _tmpl$2$i();
39669
+ var _el$2 = _tmpl$2$h();
39567
39670
  spread(_el$2, mergeProps({
39568
39671
  get ["class"]() {
39569
39672
  return `oasis-editor-plugin-side-panel-header ${local.class ?? ""}`;
@@ -39576,7 +39679,7 @@ function SidePanelHeader(props) {
39576
39679
  function SidePanelBody(props) {
39577
39680
  const [local, others] = splitProps(props, ["class", "children"]);
39578
39681
  return (() => {
39579
- var _el$3 = _tmpl$2$i();
39682
+ var _el$3 = _tmpl$2$h();
39580
39683
  spread(_el$3, mergeProps({
39581
39684
  get ["class"]() {
39582
39685
  return `oasis-editor-plugin-side-panel-body ${local.class ?? ""}`;
@@ -39589,7 +39692,7 @@ function SidePanelBody(props) {
39589
39692
  function SidePanelFooter(props) {
39590
39693
  const [local, others] = splitProps(props, ["class", "children"]);
39591
39694
  return (() => {
39592
- var _el$4 = _tmpl$2$i();
39695
+ var _el$4 = _tmpl$2$h();
39593
39696
  spread(_el$4, mergeProps({
39594
39697
  get ["class"]() {
39595
39698
  return `oasis-editor-plugin-side-panel-footer ${local.class ?? ""}`;
@@ -39599,11 +39702,11 @@ function SidePanelFooter(props) {
39599
39702
  return _el$4;
39600
39703
  })();
39601
39704
  }
39602
- var _tmpl$$t = /* @__PURE__ */ template(`<button>`);
39705
+ var _tmpl$$s = /* @__PURE__ */ template(`<button>`);
39603
39706
  function IconButton(props) {
39604
39707
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "variant", "size", "class", "classList"]);
39605
39708
  return (() => {
39606
- var _el$ = _tmpl$$t();
39709
+ var _el$ = _tmpl$$s();
39607
39710
  spread(_el$, mergeProps({
39608
39711
  get type() {
39609
39712
  return local.type ?? "button";
@@ -39634,7 +39737,7 @@ function IconButton(props) {
39634
39737
  return _el$;
39635
39738
  })();
39636
39739
  }
39637
- var _tmpl$$s = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$h = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$a = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$8 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title>`);
39740
+ var _tmpl$$r = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$g = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$a = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$8 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title>`);
39638
39741
  const EMPTY_SNAPSHOT = {
39639
39742
  floatingActions: [],
39640
39743
  sidePanels: [],
@@ -39666,7 +39769,7 @@ function PluginUiHost(props) {
39666
39769
  return groupActionsByPlacement(actions());
39667
39770
  },
39668
39771
  children: (group) => (() => {
39669
- var _el$ = _tmpl$$s();
39772
+ var _el$ = _tmpl$$r();
39670
39773
  insert(_el$, createComponent(For, {
39671
39774
  get each() {
39672
39775
  return group.actions;
@@ -39695,7 +39798,7 @@ function PluginUiHost(props) {
39695
39798
  })()
39696
39799
  });
39697
39800
  return (() => {
39698
- var _el$2 = _tmpl$2$h(), _el$3 = _el$2.firstChild;
39801
+ var _el$2 = _tmpl$2$g(), _el$3 = _el$2.firstChild;
39699
39802
  insert(_el$3, resolvedChildren);
39700
39803
  insert(_el$2, createComponent(Show, {
39701
39804
  get when() {
@@ -39818,7 +39921,7 @@ function groupActionsByPlacement(actions) {
39818
39921
  actions: groupActions
39819
39922
  }));
39820
39923
  }
39821
- var _tmpl$$r = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
39924
+ var _tmpl$$q = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
39822
39925
  function DocumentShell(props) {
39823
39926
  let surfaceEl;
39824
39927
  let viewportEl;
@@ -39945,7 +40048,7 @@ function DocumentShell(props) {
39945
40048
  return props.runtimeEditor;
39946
40049
  },
39947
40050
  get children() {
39948
- var _el$ = _tmpl$$r(), _el$2 = _el$.firstChild;
40051
+ var _el$ = _tmpl$$q(), _el$2 = _el$.firstChild;
39949
40052
  insert(_el$, createComponent(Show, {
39950
40053
  get when() {
39951
40054
  return memo(() => !!props.showChrome)() && props.showOutline;
@@ -40010,10 +40113,10 @@ function DocumentShell(props) {
40010
40113
  }
40011
40114
  })];
40012
40115
  }
40013
- var _tmpl$$q = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$g = /* @__PURE__ */ template(`<div class=oasis-inline-shell style="border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);overflow:hidden;display:flex;flex-direction:column">`);
40116
+ var _tmpl$$p = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$f = /* @__PURE__ */ template(`<div class=oasis-inline-shell style="border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);overflow:hidden;display:flex;flex-direction:column">`);
40014
40117
  function InlineShell(props) {
40015
40118
  return (() => {
40016
- var _el$ = _tmpl$2$g();
40119
+ var _el$ = _tmpl$2$f();
40017
40120
  insert(_el$, createComponent(Show, {
40018
40121
  get when() {
40019
40122
  return memo(() => !!props.showChrome)() && props.showToolbar;
@@ -40040,7 +40143,7 @@ function InlineShell(props) {
40040
40143
  return props.runtimeEditor;
40041
40144
  },
40042
40145
  get children() {
40043
- var _el$2 = _tmpl$$q(), _el$3 = _el$2.firstChild;
40146
+ var _el$2 = _tmpl$$p(), _el$3 = _el$2.firstChild;
40044
40147
  insert(_el$3, createComponent(OasisEditorEditor, {
40045
40148
  state: () => props.state,
40046
40149
  get layout() {
@@ -40080,16 +40183,16 @@ function InlineShell(props) {
40080
40183
  return _el$;
40081
40184
  })();
40082
40185
  }
40083
- var _tmpl$$p = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$f = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
40186
+ var _tmpl$$o = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$e = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
40084
40187
  function BalloonShell(props) {
40085
40188
  return (() => {
40086
- var _el$ = _tmpl$2$f();
40189
+ var _el$ = _tmpl$2$e();
40087
40190
  insert(_el$, createComponent(PluginUiHost, {
40088
40191
  get editor() {
40089
40192
  return props.runtimeEditor;
40090
40193
  },
40091
40194
  get children() {
40092
- var _el$2 = _tmpl$$p(), _el$3 = _el$2.firstChild;
40195
+ var _el$2 = _tmpl$$o(), _el$3 = _el$2.firstChild;
40093
40196
  insert(_el$3, createComponent(OasisEditorEditor, {
40094
40197
  state: () => props.state,
40095
40198
  get layout() {
@@ -40129,7 +40232,7 @@ function BalloonShell(props) {
40129
40232
  return _el$;
40130
40233
  })();
40131
40234
  }
40132
- var _tmpl$$o = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$e = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-overlay><div role=dialog aria-modal=true data-testid=editor-dialog><div class=oasis-editor-dialog-header><h3 class=oasis-editor-dialog-title></h3><button class=oasis-editor-dialog-close data-testid=editor-dialog-close><i data-lucide=x></i></button></div><div data-testid=editor-dialog-body>`);
40235
+ var _tmpl$$n = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$d = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-overlay><div role=dialog aria-modal=true data-testid=editor-dialog><div class=oasis-editor-dialog-header><h3 class=oasis-editor-dialog-title></h3><button class=oasis-editor-dialog-close data-testid=editor-dialog-close><i data-lucide=x></i></button></div><div data-testid=editor-dialog-body>`);
40133
40236
  function Dialog(props) {
40134
40237
  const t = useI18n();
40135
40238
  let dialogRef;
@@ -40154,7 +40257,7 @@ function Dialog(props) {
40154
40257
  return props.isOpen;
40155
40258
  },
40156
40259
  get children() {
40157
- var _el$ = _tmpl$2$e(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
40260
+ var _el$ = _tmpl$2$d(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
40158
40261
  _el$.$$click = () => {
40159
40262
  if (props.closeOnOverlayClick ?? true) {
40160
40263
  props.onClose();
@@ -40171,7 +40274,7 @@ function Dialog(props) {
40171
40274
  return props.footer;
40172
40275
  },
40173
40276
  get children() {
40174
- var _el$7 = _tmpl$$o();
40277
+ var _el$7 = _tmpl$$n();
40175
40278
  insert(_el$7, () => props.footer);
40176
40279
  return _el$7;
40177
40280
  }
@@ -40200,7 +40303,7 @@ function Dialog(props) {
40200
40303
  });
40201
40304
  }
40202
40305
  delegateEvents(["click"]);
40203
- var _tmpl$$n = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$d = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$9 = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
40306
+ var _tmpl$$m = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$c = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$9 = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
40204
40307
  function findEnabledItem(items, startIndex, direction) {
40205
40308
  if (!items.length) return void 0;
40206
40309
  for (let step = 0; step < items.length; step += 1) {
@@ -40251,7 +40354,7 @@ function Tabs(props) {
40251
40354
  selectItem(findEnabledItem(items(), currentIndex + direction, direction), true);
40252
40355
  };
40253
40356
  return (() => {
40254
- var _el$ = _tmpl$$n(), _el$2 = _el$.firstChild;
40357
+ var _el$ = _tmpl$$m(), _el$2 = _el$.firstChild;
40255
40358
  _el$2.$$keydown = handleKeyDown;
40256
40359
  insert(_el$2, createComponent(For, {
40257
40360
  get each() {
@@ -40261,7 +40364,7 @@ function Tabs(props) {
40261
40364
  const tabId = `${baseId}-${item.id}-tab`;
40262
40365
  const panelId = `${baseId}-${item.id}-panel`;
40263
40366
  return (() => {
40264
- var _el$3 = _tmpl$2$d();
40367
+ var _el$3 = _tmpl$2$c();
40265
40368
  _el$3.$$click = () => selectItem(item);
40266
40369
  use((element) => {
40267
40370
  tabRefs[index()] = element;
@@ -40328,12 +40431,12 @@ function Tabs(props) {
40328
40431
  })();
40329
40432
  }
40330
40433
  delegateEvents(["keydown", "click"]);
40331
- var _tmpl$$m = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
40434
+ var _tmpl$$l = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
40332
40435
  function Button(props) {
40333
40436
  const [local, others] = splitProps(props, ["type", "variant", "size", "icon", "iconPosition", "fullWidth", "class", "classList", "children"]);
40334
40437
  const iconPosition = () => local.iconPosition ?? "start";
40335
40438
  return (() => {
40336
- var _el$ = _tmpl$$m(), _el$2 = _el$.firstChild;
40439
+ var _el$ = _tmpl$$l(), _el$2 = _el$.firstChild;
40337
40440
  spread(_el$, mergeProps({
40338
40441
  get type() {
40339
40442
  return local.type ?? "button";
@@ -40413,11 +40516,11 @@ function StatusText(props) {
40413
40516
  }
40414
40517
  }, others));
40415
40518
  }
40416
- var _tmpl$$l = /* @__PURE__ */ template(`<div>`);
40519
+ var _tmpl$$k = /* @__PURE__ */ template(`<div>`);
40417
40520
  function ActionRow(props) {
40418
40521
  const [local, others] = splitProps(props, ["align", "wrap", "class", "classList", "children"]);
40419
40522
  return (() => {
40420
- var _el$ = _tmpl$$l();
40523
+ var _el$ = _tmpl$$k();
40421
40524
  spread(_el$, mergeProps({
40422
40525
  get ["class"]() {
40423
40526
  return `oasis-editor-ui-action-row ${local.class ?? ""}`;
@@ -40473,7 +40576,7 @@ function mergeStyles(...styles) {
40473
40576
  }
40474
40577
  return Object.assign({}, ...objectStyles);
40475
40578
  }
40476
- var _tmpl$$k = /* @__PURE__ */ template(`<span class=oasis-editor-ui-stack-divider-item aria-hidden=true>`);
40579
+ var _tmpl$$j = /* @__PURE__ */ template(`<span class=oasis-editor-ui-stack-divider-item aria-hidden=true>`);
40477
40580
  function childArray(value) {
40478
40581
  if (Array.isArray(value)) return value;
40479
40582
  if (value === null || value === void 0 || value === false) return [];
@@ -40513,7 +40616,7 @@ function Stack(props) {
40513
40616
  return memo(() => index() > 0)() && local.divider;
40514
40617
  },
40515
40618
  get children() {
40516
- var _el$ = _tmpl$$k();
40619
+ var _el$ = _tmpl$$j();
40517
40620
  insert(_el$, () => renderDivider(index()));
40518
40621
  return _el$;
40519
40622
  }
@@ -40592,14 +40695,14 @@ function Grid(props) {
40592
40695
  }
40593
40696
  }));
40594
40697
  }
40595
- var _tmpl$$j = /* @__PURE__ */ template(`<label>`), _tmpl$2$c = /* @__PURE__ */ template(`<div>`);
40698
+ var _tmpl$$i = /* @__PURE__ */ template(`<label>`), _tmpl$2$b = /* @__PURE__ */ template(`<div>`);
40596
40699
  function FormField(props) {
40597
40700
  const fallbackId = createUniqueId();
40598
40701
  const [local, others] = splitProps(props, ["label", "for", "description", "error", "labelClass", "class", "classList", "children"]);
40599
40702
  const descriptionId = () => local.for ?? `${fallbackId}-description`;
40600
40703
  const errorId = () => local.for ?? `${fallbackId}-error`;
40601
40704
  return (() => {
40602
- var _el$ = _tmpl$2$c();
40705
+ var _el$ = _tmpl$2$b();
40603
40706
  spread(_el$, mergeProps({
40604
40707
  get ["class"]() {
40605
40708
  return `oasis-editor-ui-field ${local.class ?? ""}`;
@@ -40613,7 +40716,7 @@ function FormField(props) {
40613
40716
  return local.label;
40614
40717
  },
40615
40718
  get children() {
40616
- var _el$2 = _tmpl$$j();
40719
+ var _el$2 = _tmpl$$i();
40617
40720
  insert(_el$2, () => local.label);
40618
40721
  createRenderEffect((_p$) => {
40619
40722
  var _v$ = `oasis-editor-ui-field-label ${local.labelClass ?? ""}`, _v$2 = local.for;
@@ -40664,7 +40767,7 @@ function FormField(props) {
40664
40767
  return _el$;
40665
40768
  })();
40666
40769
  }
40667
- var _tmpl$$i = /* @__PURE__ */ template(`<span>`), _tmpl$2$b = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$7 = /* @__PURE__ */ template(`<label><input>`);
40770
+ var _tmpl$$h = /* @__PURE__ */ template(`<span>`), _tmpl$2$a = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$7 = /* @__PURE__ */ template(`<label><input>`);
40668
40771
  function TextField(props) {
40669
40772
  const fallbackId = createUniqueId();
40670
40773
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "onChange", "class", "classList", "id"]);
@@ -40678,7 +40781,7 @@ function TextField(props) {
40678
40781
  return local.label;
40679
40782
  },
40680
40783
  get children() {
40681
- var _el$2 = _tmpl$$i();
40784
+ var _el$2 = _tmpl$$h();
40682
40785
  insert(_el$2, () => local.label);
40683
40786
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-label ${local.labelClass ?? ""}`));
40684
40787
  return _el$2;
@@ -40707,7 +40810,7 @@ function TextField(props) {
40707
40810
  return local.description;
40708
40811
  },
40709
40812
  get children() {
40710
- var _el$4 = _tmpl$2$b();
40813
+ var _el$4 = _tmpl$2$a();
40711
40814
  insert(_el$4, () => local.description);
40712
40815
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
40713
40816
  return _el$4;
@@ -40739,7 +40842,7 @@ function TextField(props) {
40739
40842
  })();
40740
40843
  }
40741
40844
  delegateEvents(["input"]);
40742
- var _tmpl$$h = /* @__PURE__ */ template(`<textarea>`);
40845
+ var _tmpl$$g = /* @__PURE__ */ template(`<textarea>`);
40743
40846
  function TextAreaField(props) {
40744
40847
  const fallbackId = createUniqueId();
40745
40848
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "onChange", "class", "id"]);
@@ -40765,7 +40868,7 @@ function TextAreaField(props) {
40765
40868
  return local.error;
40766
40869
  },
40767
40870
  get children() {
40768
- var _el$ = _tmpl$$h();
40871
+ var _el$ = _tmpl$$g();
40769
40872
  _el$.$$input = (event) => {
40770
40873
  var _a;
40771
40874
  return (_a = local.onChange) == null ? void 0 : _a.call(local, event.currentTarget.value);
@@ -40801,7 +40904,7 @@ function ColorField(props) {
40801
40904
  }
40802
40905
  }, others));
40803
40906
  }
40804
- var _tmpl$$g = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$a = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$7 = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-checkbox-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`);
40907
+ var _tmpl$$f = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$7 = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-checkbox-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`);
40805
40908
  function Checkbox(props) {
40806
40909
  const fallbackId = createUniqueId();
40807
40910
  const [local, others] = splitProps(props, ["label", "description", "error", "onChange", "class", "id"]);
@@ -40831,7 +40934,7 @@ function Checkbox(props) {
40831
40934
  return local.description;
40832
40935
  },
40833
40936
  get children() {
40834
- var _el$5 = _tmpl$$g();
40937
+ var _el$5 = _tmpl$$f();
40835
40938
  insert(_el$5, () => local.description);
40836
40939
  createRenderEffect(() => setAttribute(_el$5, "id", descriptionId()));
40837
40940
  return _el$5;
@@ -40842,7 +40945,7 @@ function Checkbox(props) {
40842
40945
  return local.error;
40843
40946
  },
40844
40947
  get children() {
40845
- var _el$6 = _tmpl$2$a();
40948
+ var _el$6 = _tmpl$2$9();
40846
40949
  insert(_el$6, () => local.error);
40847
40950
  createRenderEffect(() => setAttribute(_el$6, "id", errorId()));
40848
40951
  return _el$6;
@@ -40860,7 +40963,7 @@ function Checkbox(props) {
40860
40963
  return _el$;
40861
40964
  })();
40862
40965
  }
40863
- var _tmpl$$f = /* @__PURE__ */ template(`<span>`), _tmpl$2$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$6 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$6 = /* @__PURE__ */ template(`<label><select>`), _tmpl$5$4 = /* @__PURE__ */ template(`<option>`);
40966
+ var _tmpl$$e = /* @__PURE__ */ template(`<span>`), _tmpl$2$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$6 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$6 = /* @__PURE__ */ template(`<label><select>`), _tmpl$5$4 = /* @__PURE__ */ template(`<option>`);
40864
40967
  function SelectField(props) {
40865
40968
  const fallbackId = createUniqueId();
40866
40969
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "options", "onChange", "class", "classList", "id", "value"]);
@@ -40875,7 +40978,7 @@ function SelectField(props) {
40875
40978
  return local.label;
40876
40979
  },
40877
40980
  get children() {
40878
- var _el$2 = _tmpl$$f();
40981
+ var _el$2 = _tmpl$$e();
40879
40982
  insert(_el$2, () => local.label);
40880
40983
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-label ${local.labelClass ?? ""}`));
40881
40984
  return _el$2;
@@ -40928,7 +41031,7 @@ function SelectField(props) {
40928
41031
  return local.description;
40929
41032
  },
40930
41033
  get children() {
40931
- var _el$4 = _tmpl$2$9();
41034
+ var _el$4 = _tmpl$2$8();
40932
41035
  insert(_el$4, () => local.description);
40933
41036
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
40934
41037
  return _el$4;
@@ -40974,7 +41077,7 @@ function NumberField(props) {
40974
41077
  }
40975
41078
  }, others));
40976
41079
  }
40977
- var _tmpl$$e = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$8 = /* @__PURE__ */ template(`<label><input type=radio class=oasis-editor-ui-radio-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`), _tmpl$3$5 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div role=radiogroup>`);
41080
+ var _tmpl$$d = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$7 = /* @__PURE__ */ template(`<label><input type=radio class=oasis-editor-ui-radio-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`), _tmpl$3$5 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div role=radiogroup>`);
40978
41081
  const RadioGroupCtx = createContext();
40979
41082
  function Radio(props) {
40980
41083
  const fallbackId = createUniqueId();
@@ -40985,7 +41088,7 @@ function Radio(props) {
40985
41088
  const checked = () => group ? group.value() === local.value : Boolean(local.checked);
40986
41089
  const disabled = () => Boolean(local.disabled) || (group ? group.disabled() : false);
40987
41090
  return (() => {
40988
- var _el$ = _tmpl$2$8(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
41091
+ var _el$ = _tmpl$2$7(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
40989
41092
  _el$2.addEventListener("change", (event) => {
40990
41093
  var _a;
40991
41094
  if (group) group.onSelect(local.value);
@@ -41017,7 +41120,7 @@ function Radio(props) {
41017
41120
  return local.description;
41018
41121
  },
41019
41122
  get children() {
41020
- var _el$5 = _tmpl$$e();
41123
+ var _el$5 = _tmpl$$d();
41021
41124
  insert(_el$5, () => local.description);
41022
41125
  createRenderEffect(() => setAttribute(_el$5, "id", descriptionId()));
41023
41126
  return _el$5;
@@ -41102,7 +41205,7 @@ function RadioGroup(props) {
41102
41205
  }
41103
41206
  });
41104
41207
  }
41105
- var _tmpl$$d = /* @__PURE__ */ template(`<div>`);
41208
+ var _tmpl$$c = /* @__PURE__ */ template(`<div>`);
41106
41209
  const ALIGN_MAP = {
41107
41210
  start: "flex-start",
41108
41211
  center: "center",
@@ -41112,7 +41215,7 @@ const ALIGN_MAP = {
41112
41215
  function FieldRow(props) {
41113
41216
  const [local, others] = splitProps(props, ["align", "class", "style", "children"]);
41114
41217
  return (() => {
41115
- var _el$ = _tmpl$$d();
41218
+ var _el$ = _tmpl$$c();
41116
41219
  spread(_el$, mergeProps({
41117
41220
  get ["class"]() {
41118
41221
  return `oasis-editor-ui-field-row ${local.class ?? ""}`;
@@ -41128,11 +41231,11 @@ function FieldRow(props) {
41128
41231
  return _el$;
41129
41232
  })();
41130
41233
  }
41131
- var _tmpl$$c = /* @__PURE__ */ template(`<legend>`), _tmpl$2$7 = /* @__PURE__ */ template(`<fieldset>`);
41234
+ var _tmpl$$b = /* @__PURE__ */ template(`<legend>`), _tmpl$2$6 = /* @__PURE__ */ template(`<fieldset>`);
41132
41235
  function FieldGroup(props) {
41133
41236
  const [local, others] = splitProps(props, ["legend", "legendClass", "class", "children"]);
41134
41237
  return (() => {
41135
- var _el$ = _tmpl$2$7();
41238
+ var _el$ = _tmpl$2$6();
41136
41239
  spread(_el$, mergeProps({
41137
41240
  get ["class"]() {
41138
41241
  return `oasis-editor-ui-field-group ${local.class ?? ""}`;
@@ -41143,7 +41246,7 @@ function FieldGroup(props) {
41143
41246
  return local.legend;
41144
41247
  },
41145
41248
  get children() {
41146
- var _el$2 = _tmpl$$c();
41249
+ var _el$2 = _tmpl$$b();
41147
41250
  insert(_el$2, () => local.legend);
41148
41251
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-group-legend ${local.legendClass ?? ""}`));
41149
41252
  return _el$2;
@@ -41153,11 +41256,11 @@ function FieldGroup(props) {
41153
41256
  return _el$;
41154
41257
  })();
41155
41258
  }
41156
- var _tmpl$$b = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-toggle-chip-input><span class=oasis-editor-ui-toggle-chip-label>`);
41259
+ var _tmpl$$a = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-toggle-chip-input><span class=oasis-editor-ui-toggle-chip-label>`);
41157
41260
  function ToggleChip(props) {
41158
41261
  const [local, others] = splitProps(props, ["label", "labelStyle", "onChange", "class", "checked"]);
41159
41262
  return (() => {
41160
- var _el$ = _tmpl$$b(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
41263
+ var _el$ = _tmpl$$a(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
41161
41264
  _el$2.addEventListener("change", (event) => {
41162
41265
  var _a;
41163
41266
  return (_a = local.onChange) == null ? void 0 : _a.call(local, event.currentTarget.checked);
@@ -41182,11 +41285,11 @@ function ToggleChip(props) {
41182
41285
  return _el$;
41183
41286
  })();
41184
41287
  }
41185
- var _tmpl$$a = /* @__PURE__ */ template(`<div>`);
41288
+ var _tmpl$$9 = /* @__PURE__ */ template(`<div>`);
41186
41289
  function DialogFooter(props) {
41187
41290
  const [local, others] = splitProps(props, ["align", "class", "classList", "children"]);
41188
41291
  return (() => {
41189
- var _el$ = _tmpl$$a();
41292
+ var _el$ = _tmpl$$9();
41190
41293
  spread(_el$, mergeProps({
41191
41294
  get ["class"]() {
41192
41295
  return `oasis-editor-ui-dialog-footer ${local.class ?? ""}`;
@@ -41512,7 +41615,7 @@ const UNDERLINE_STYLE_OPTIONS = [
41512
41615
  }
41513
41616
  }
41514
41617
  ];
41515
- var _tmpl$$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action data-testid=editor-toolbar-underline-remove role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$6 = /* @__PURE__ */ template(`<div class=oasis-editor-underline-menu-list>`), _tmpl$3$4 = /* @__PURE__ */ template(`<span class="oasis-editor-color-split-icon oasis-editor-underline-split-icon"><span class=oasis-editor-underline-split-glyph aria-hidden=true>U</span><span class=oasis-editor-underline-split-indicator>`), _tmpl$4$4 = /* @__PURE__ */ template(`<span class="oasis-editor-underline-menu-stroke oasis-editor-underline-menu-stroke-svg">`), _tmpl$5$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-underline-menu-item role=menuitemradio><span class=oasis-editor-underline-menu-preview></span><span class=oasis-editor-underline-menu-label>`), _tmpl$6$3 = /* @__PURE__ */ template(`<span class=oasis-editor-underline-menu-stroke>`);
41618
+ var _tmpl$$8 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action data-testid=editor-toolbar-underline-remove role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=oasis-editor-underline-menu-list>`), _tmpl$3$4 = /* @__PURE__ */ template(`<span class="oasis-editor-color-split-icon oasis-editor-underline-split-icon"><span class=oasis-editor-underline-split-glyph aria-hidden=true>U</span><span class=oasis-editor-underline-split-indicator>`), _tmpl$4$4 = /* @__PURE__ */ template(`<span class="oasis-editor-underline-menu-stroke oasis-editor-underline-menu-stroke-svg">`), _tmpl$5$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-underline-menu-item role=menuitemradio><span class=oasis-editor-underline-menu-preview></span><span class=oasis-editor-underline-menu-label>`), _tmpl$6$3 = /* @__PURE__ */ template(`<span class=oasis-editor-underline-menu-stroke>`);
41516
41619
  const mod$1 = /Mac/i.test(navigator.userAgent) ? "⌘" : "Ctrl";
41517
41620
  const TEST_ID = "editor-toolbar-underline";
41518
41621
  function UnderlineControl(props) {
@@ -41570,7 +41673,7 @@ function UnderlineControl(props) {
41570
41673
  },
41571
41674
  get children() {
41572
41675
  return [(() => {
41573
- var _el$ = _tmpl$$9(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
41676
+ var _el$ = _tmpl$$8(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
41574
41677
  _el$.$$click = () => {
41575
41678
  removeUnderline();
41576
41679
  setOpen(false);
@@ -41578,7 +41681,7 @@ function UnderlineControl(props) {
41578
41681
  insert(_el$3, () => t("toolbar.underlineRemove"));
41579
41682
  return _el$;
41580
41683
  })(), (() => {
41581
- var _el$4 = _tmpl$2$6();
41684
+ var _el$4 = _tmpl$2$5();
41582
41685
  insert(_el$4, createComponent(For, {
41583
41686
  each: UNDERLINE_STYLE_OPTIONS,
41584
41687
  children: (option) => {
@@ -41633,7 +41736,7 @@ function UnderlineControl(props) {
41633
41736
  });
41634
41737
  }
41635
41738
  delegateEvents(["click"]);
41636
- var _tmpl$$8 = /* @__PURE__ */ template(`<option value=decimal>`), _tmpl$2$5 = /* @__PURE__ */ template(`<option value=lowerLetter>`), _tmpl$3$3 = /* @__PURE__ */ template(`<option value=upperLetter>`), _tmpl$4$3 = /* @__PURE__ */ template(`<option value=lowerRoman>`), _tmpl$5$2 = /* @__PURE__ */ template(`<option value=upperRoman>`), _tmpl$6$2 = /* @__PURE__ */ template(`<option value=bullet>`), _tmpl$7 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><label class=oasis-editor-toolbar-field><span></span></label><label class=oasis-editor-toolbar-field><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-list-start-at min=1 step=1 placeholder=1>`);
41739
+ var _tmpl$$7 = /* @__PURE__ */ template(`<option value=decimal>`), _tmpl$2$4 = /* @__PURE__ */ template(`<option value=lowerLetter>`), _tmpl$3$3 = /* @__PURE__ */ template(`<option value=upperLetter>`), _tmpl$4$3 = /* @__PURE__ */ template(`<option value=lowerRoman>`), _tmpl$5$2 = /* @__PURE__ */ template(`<option value=upperRoman>`), _tmpl$6$2 = /* @__PURE__ */ template(`<option value=bullet>`), _tmpl$7 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><label class=oasis-editor-toolbar-field><span></span></label><label class=oasis-editor-toolbar-field><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-list-start-at min=1 step=1 placeholder=1>`);
41637
41740
  function ListOptionsControl(props) {
41638
41741
  const t = useI18n();
41639
41742
  const api = props.api;
@@ -41655,11 +41758,11 @@ function ListOptionsControl(props) {
41655
41758
  },
41656
41759
  get children() {
41657
41760
  return [(() => {
41658
- var _el$4 = _tmpl$$8();
41761
+ var _el$4 = _tmpl$$7();
41659
41762
  insert(_el$4, () => t("toolbar.formatDecimal"));
41660
41763
  return _el$4;
41661
41764
  })(), (() => {
41662
- var _el$5 = _tmpl$2$5();
41765
+ var _el$5 = _tmpl$2$4();
41663
41766
  insert(_el$5, () => t("toolbar.formatLowerLetter"));
41664
41767
  return _el$5;
41665
41768
  })(), (() => {
@@ -41688,7 +41791,7 @@ function ListOptionsControl(props) {
41688
41791
  }
41689
41792
  });
41690
41793
  }
41691
- var _tmpl$$7 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`);
41794
+ var _tmpl$$6 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`);
41692
41795
  function LineSpacingDialog(props) {
41693
41796
  const t = useI18n();
41694
41797
  const parseNumber = (value) => {
@@ -41824,7 +41927,7 @@ function LineSpacingDialog(props) {
41824
41927
  return t("lineSpacing.preview");
41825
41928
  },
41826
41929
  get children() {
41827
- var _el$ = _tmpl$$7(), _el$2 = _el$.firstChild;
41930
+ var _el$ = _tmpl$$6(), _el$2 = _el$.firstChild;
41828
41931
  insert(_el$, () => t("lineSpacing.previewText"), _el$2);
41829
41932
  insert(_el$, () => t("lineSpacing.previewText"), null);
41830
41933
  createRenderEffect((_$p) => style(_el$, previewStyle2(), _$p));
@@ -41834,7 +41937,7 @@ function LineSpacingDialog(props) {
41834
41937
  }
41835
41938
  });
41836
41939
  }
41837
- var _tmpl$$6 = /* @__PURE__ */ template(`<div class=oasis-editor-line-spacing-menu-separator role=separator>`), _tmpl$2$4 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-line-spacing-item oasis-editor-line-spacing-item-more"role=menuitem data-testid=editor-toolbar-line-spacing-options><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`), _tmpl$3$2 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$2 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-line-spacing-button"aria-haspopup=menu data-testid=editor-toolbar-line-spacing><span class=oasis-editor-line-spacing-icon aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><polyline points="4 7 7 4 10 7"></polyline><line x1=7 y1=4 x2=7 y2=20></line><polyline points="4 17 7 20 10 17"></polyline><line x1=13 y1=6 x2=21 y2=6></line><line x1=13 y1=12 x2=21 y2=12></line><line x1=13 y1=18 x2=21 y2=18>`), _tmpl$5$1 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round><polyline points="20 6 9 17 4 12">`), _tmpl$6$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-line-spacing-item role=menuitemradio><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`);
41940
+ var _tmpl$$5 = /* @__PURE__ */ template(`<div class=oasis-editor-line-spacing-menu-separator role=separator>`), _tmpl$2$3 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-line-spacing-item oasis-editor-line-spacing-item-more"role=menuitem data-testid=editor-toolbar-line-spacing-options><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`), _tmpl$3$2 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$2 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-line-spacing-button"aria-haspopup=menu data-testid=editor-toolbar-line-spacing><span class=oasis-editor-line-spacing-icon aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><polyline points="4 7 7 4 10 7"></polyline><line x1=7 y1=4 x2=7 y2=20></line><polyline points="4 17 7 20 10 17"></polyline><line x1=13 y1=6 x2=21 y2=6></line><line x1=13 y1=12 x2=21 y2=12></line><line x1=13 y1=18 x2=21 y2=18>`), _tmpl$5$1 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round><polyline points="20 6 9 17 4 12">`), _tmpl$6$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-line-spacing-item role=menuitemradio><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`);
41838
41941
  const PRESET_VALUES = [1, 1.15, 1.5, 2, 2.5, 3];
41839
41942
  function formatPreset(value) {
41840
41943
  return value.toFixed(value === Math.floor(value) ? 1 : 2);
@@ -41956,8 +42059,8 @@ function LineSpacingButton(props) {
41956
42059
  return _el$7;
41957
42060
  })();
41958
42061
  }
41959
- }), _tmpl$$6(), (() => {
41960
- var _el$3 = _tmpl$2$4(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
42062
+ }), _tmpl$$5(), (() => {
42063
+ var _el$3 = _tmpl$2$3(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
41961
42064
  _el$3.$$click = openDialog;
41962
42065
  insert(_el$5, () => t("metric.lineSpacingOptions"));
41963
42066
  return _el$3;
@@ -41989,7 +42092,7 @@ function LineSpacingButton(props) {
41989
42092
  })();
41990
42093
  }
41991
42094
  delegateEvents(["click"]);
41992
- var _tmpl$$5 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$3 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-panel-grid>`);
42095
+ var _tmpl$$4 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$2 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-panel-grid>`);
41993
42096
  const numValue = (api, command) => {
41994
42097
  const value = api.commands.state(command).value;
41995
42098
  return value == null ? "" : String(value);
@@ -42008,7 +42111,7 @@ function MetricGroup(props) {
42008
42111
  keepMounted: true,
42009
42112
  get children() {
42010
42113
  return [(() => {
42011
- var _el$ = _tmpl$$5();
42114
+ var _el$ = _tmpl$$4();
42012
42115
  insert(_el$, createComponent(Button$1, {
42013
42116
  icon: "file-up",
42014
42117
  get active() {
@@ -42033,7 +42136,7 @@ function MetricGroup(props) {
42033
42136
  }), null);
42034
42137
  return _el$;
42035
42138
  })(), (() => {
42036
- var _el$2 = _tmpl$2$3();
42139
+ var _el$2 = _tmpl$2$2();
42037
42140
  insert(_el$2, createComponent(NumberField, {
42038
42141
  "class": "oasis-editor-tool-metric",
42039
42142
  labelClass: "oasis-editor-tool-metric-label",
@@ -42135,211 +42238,6 @@ function MetricGroup(props) {
42135
42238
  }
42136
42239
  });
42137
42240
  }
42138
- var _tmpl$$4 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$2 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-badge data-testid=editor-table-selection-label>`);
42139
- function TableGroup(props) {
42140
- const t = useI18n();
42141
- const api = props.api;
42142
- const disabled = (command) => !api.commands.state(command).isEnabled;
42143
- const selectionLabel = () => api.commands.state("tableContext").value;
42144
- return createComponent(Menu, {
42145
- icon: "table-properties",
42146
- testId: "editor-toolbar-table-dropdown",
42147
- get tooltip() {
42148
- return t("toolbar.table");
42149
- },
42150
- hideChevron: true,
42151
- panelClass: "oasis-editor-toolbar-panel oasis-editor-toolbar-table-panel",
42152
- keepMounted: true,
42153
- get children() {
42154
- return [(() => {
42155
- var _el$ = _tmpl$$4();
42156
- insert(_el$, createComponent(Button$1, {
42157
- icon: "combine",
42158
- "data-testid": "editor-toolbar-merge-table",
42159
- get disabled() {
42160
- return disabled("tableMerge");
42161
- },
42162
- onClick: () => api.commands.execute("tableMerge"),
42163
- get tooltip() {
42164
- return t("table.mergeTooltip");
42165
- }
42166
- }), null);
42167
- insert(_el$, createComponent(Button$1, {
42168
- icon: "split",
42169
- "data-testid": "editor-toolbar-split-table",
42170
- get disabled() {
42171
- return disabled("tableSplit");
42172
- },
42173
- onClick: () => api.commands.execute("tableSplit"),
42174
- get tooltip() {
42175
- return t("table.splitTooltip");
42176
- }
42177
- }), null);
42178
- return _el$;
42179
- })(), (() => {
42180
- var _el$2 = _tmpl$$4();
42181
- insert(_el$2, createComponent(Button$1, {
42182
- icon: "columns",
42183
- "data-testid": "editor-toolbar-insert-table-column-before",
42184
- get disabled() {
42185
- return disabled("tableInsertColumnBefore");
42186
- },
42187
- onClick: () => api.commands.execute("tableInsertColumnBefore"),
42188
- get tooltip() {
42189
- return t("table.insertColumnLeft");
42190
- }
42191
- }), null);
42192
- insert(_el$2, createComponent(Button$1, {
42193
- icon: "columns",
42194
- "data-testid": "editor-toolbar-insert-table-column-after",
42195
- get disabled() {
42196
- return disabled("tableInsertColumnAfter");
42197
- },
42198
- onClick: () => api.commands.execute("tableInsertColumnAfter"),
42199
- get tooltip() {
42200
- return t("table.insertColumnRight");
42201
- }
42202
- }), null);
42203
- insert(_el$2, createComponent(Button$1, {
42204
- icon: "trash-2",
42205
- "data-testid": "editor-toolbar-delete-table-column",
42206
- get disabled() {
42207
- return disabled("tableDeleteColumn");
42208
- },
42209
- onClick: () => api.commands.execute("tableDeleteColumn"),
42210
- get tooltip() {
42211
- return t("table.deleteColumn");
42212
- }
42213
- }), null);
42214
- return _el$2;
42215
- })(), (() => {
42216
- var _el$3 = _tmpl$$4();
42217
- insert(_el$3, createComponent(Button$1, {
42218
- icon: "rows",
42219
- "data-testid": "editor-toolbar-insert-table-row-before",
42220
- get disabled() {
42221
- return disabled("tableInsertRowBefore");
42222
- },
42223
- onClick: () => api.commands.execute("tableInsertRowBefore"),
42224
- get tooltip() {
42225
- return t("table.insertRowAbove");
42226
- }
42227
- }), null);
42228
- insert(_el$3, createComponent(Button$1, {
42229
- icon: "rows",
42230
- "data-testid": "editor-toolbar-insert-table-row-after",
42231
- get disabled() {
42232
- return disabled("tableInsertRowAfter");
42233
- },
42234
- onClick: () => api.commands.execute("tableInsertRowAfter"),
42235
- get tooltip() {
42236
- return t("table.insertRowBelow");
42237
- }
42238
- }), null);
42239
- insert(_el$3, createComponent(Button$1, {
42240
- icon: "trash-2",
42241
- "data-testid": "editor-toolbar-delete-table-row",
42242
- get disabled() {
42243
- return disabled("tableDeleteRow");
42244
- },
42245
- onClick: () => api.commands.execute("tableDeleteRow"),
42246
- get tooltip() {
42247
- return t("table.deleteRow");
42248
- }
42249
- }), null);
42250
- return _el$3;
42251
- })(), (() => {
42252
- var _el$4 = _tmpl$$4();
42253
- insert(_el$4, createComponent(Button$1, {
42254
- icon: "palette",
42255
- "data-testid": "editor-toolbar-table-shading",
42256
- onClick: () => {
42257
- const color = prompt(t("table.cellBgColorPrompt"), "#f1f5f9");
42258
- if (color !== null) api.commands.execute("tableCellShading", color);
42259
- },
42260
- get tooltip() {
42261
- return t("table.cellColor");
42262
- }
42263
- }), null);
42264
- insert(_el$4, createComponent(Button$1, {
42265
- icon: "frame",
42266
- "data-testid": "editor-toolbar-table-borders",
42267
- onClick: () => api.commands.execute("tableCellBorders"),
42268
- get tooltip() {
42269
- return t("table.applyBorders");
42270
- }
42271
- }), null);
42272
- insert(_el$4, createComponent(Button$1, {
42273
- icon: "square",
42274
- "data-testid": "editor-toolbar-table-no-borders",
42275
- onClick: () => api.commands.execute("tableCellNoBorders"),
42276
- get tooltip() {
42277
- return t("table.removeBorders");
42278
- }
42279
- }), null);
42280
- return _el$4;
42281
- })(), (() => {
42282
- var _el$5 = _tmpl$$4();
42283
- insert(_el$5, createComponent(Button$1, {
42284
- icon: "maximize",
42285
- "data-testid": "editor-toolbar-table-width-100",
42286
- onClick: () => api.commands.execute("tableWidth100"),
42287
- get tooltip() {
42288
- return t("table.width100Tooltip");
42289
- }
42290
- }));
42291
- return _el$5;
42292
- })(), (() => {
42293
- var _el$6 = _tmpl$$4();
42294
- insert(_el$6, createComponent(Button$1, {
42295
- icon: "align-left",
42296
- "data-testid": "editor-toolbar-table-align-left",
42297
- onClick: () => api.commands.execute("tableAlignLeft"),
42298
- get tooltip() {
42299
- return t("table.alignLeft");
42300
- }
42301
- }), null);
42302
- insert(_el$6, createComponent(Button$1, {
42303
- icon: "align-center",
42304
- "data-testid": "editor-toolbar-table-align-center",
42305
- onClick: () => api.commands.execute("tableAlignCenter"),
42306
- get tooltip() {
42307
- return t("table.alignCenter");
42308
- }
42309
- }), null);
42310
- insert(_el$6, createComponent(Button$1, {
42311
- icon: "align-right",
42312
- "data-testid": "editor-toolbar-table-align-right",
42313
- onClick: () => api.commands.execute("tableAlignRight"),
42314
- get tooltip() {
42315
- return t("table.alignRight");
42316
- }
42317
- }), null);
42318
- insert(_el$6, createComponent(Button$1, {
42319
- icon: "move-horizontal",
42320
- "data-testid": "editor-toolbar-table-cell-width",
42321
- onClick: () => {
42322
- const width = prompt(t("table.cellWidthPrompt"));
42323
- if (width) api.commands.execute("tableSetCellWidth", width);
42324
- },
42325
- get tooltip() {
42326
- return t("table.cellWidth");
42327
- }
42328
- }), null);
42329
- return _el$6;
42330
- })(), createComponent(Show, {
42331
- get when() {
42332
- return selectionLabel();
42333
- },
42334
- children: (label) => (() => {
42335
- var _el$7 = _tmpl$2$2();
42336
- insert(_el$7, label);
42337
- return _el$7;
42338
- })()
42339
- })];
42340
- }
42341
- });
42342
- }
42343
42241
  var _tmpl$$3 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`);
42344
42242
  function SectionGroup(props) {
42345
42243
  const t = useI18n();
@@ -43253,6 +43151,7 @@ function ShapeGallery(props) {
43253
43151
  delegateEvents(["click"]);
43254
43152
  const mod = /Mac/i.test(navigator.userAgent) ? "⌘" : "Ctrl";
43255
43153
  const documentStyles = (api) => api.commands.state("documentStyles").value ?? [];
43154
+ const tableStyleOptions = (api) => documentStyles(api).filter((s) => s.type === "table").map((s) => ({ value: s.id, label: s.name }));
43256
43155
  const fontFamilyOptions = (api) => {
43257
43156
  const values = /* @__PURE__ */ new Set([
43258
43157
  "Arial",
@@ -43324,6 +43223,112 @@ const LIST_BUTTONS = [
43324
43223
  tooltipKey: "toolbar.numberedList"
43325
43224
  }
43326
43225
  ];
43226
+ const TABLE_LAYOUT_BUTTONS = [
43227
+ {
43228
+ id: "editor-toolbar-tbl-insert-row-above",
43229
+ command: "tableInsertRowBefore",
43230
+ icon: "rows",
43231
+ tooltipKey: "table.insertRowAbove"
43232
+ },
43233
+ {
43234
+ id: "editor-toolbar-tbl-insert-row-below",
43235
+ command: "tableInsertRowAfter",
43236
+ icon: "rows",
43237
+ tooltipKey: "table.insertRowBelow"
43238
+ },
43239
+ {
43240
+ id: "editor-toolbar-tbl-delete-row",
43241
+ command: "tableDeleteRow",
43242
+ icon: "trash-2",
43243
+ tooltipKey: "table.deleteRow"
43244
+ },
43245
+ {
43246
+ id: "editor-toolbar-tbl-insert-col-left",
43247
+ command: "tableInsertColumnBefore",
43248
+ icon: "columns",
43249
+ tooltipKey: "table.insertColumnLeft"
43250
+ },
43251
+ {
43252
+ id: "editor-toolbar-tbl-insert-col-right",
43253
+ command: "tableInsertColumnAfter",
43254
+ icon: "columns",
43255
+ tooltipKey: "table.insertColumnRight"
43256
+ },
43257
+ {
43258
+ id: "editor-toolbar-tbl-delete-col",
43259
+ command: "tableDeleteColumn",
43260
+ icon: "trash-2",
43261
+ tooltipKey: "table.deleteColumn"
43262
+ },
43263
+ {
43264
+ id: "editor-toolbar-tbl-merge",
43265
+ command: "tableMerge",
43266
+ icon: "combine",
43267
+ tooltipKey: "table.mergeTooltip"
43268
+ },
43269
+ {
43270
+ id: "editor-toolbar-tbl-split",
43271
+ command: "tableSplit",
43272
+ icon: "split",
43273
+ tooltipKey: "table.splitTooltip"
43274
+ },
43275
+ {
43276
+ id: "editor-toolbar-tbl-width-100",
43277
+ command: "tableWidth100",
43278
+ icon: "maximize",
43279
+ tooltipKey: "table.width100Tooltip"
43280
+ },
43281
+ {
43282
+ id: "editor-toolbar-tbl-align-left",
43283
+ command: "tableAlignLeft",
43284
+ icon: "align-left",
43285
+ tooltipKey: "table.alignLeft"
43286
+ },
43287
+ {
43288
+ id: "editor-toolbar-tbl-align-center",
43289
+ command: "tableAlignCenter",
43290
+ icon: "align-center",
43291
+ tooltipKey: "table.alignCenter"
43292
+ },
43293
+ {
43294
+ id: "editor-toolbar-tbl-align-right",
43295
+ command: "tableAlignRight",
43296
+ icon: "align-right",
43297
+ tooltipKey: "table.alignRight"
43298
+ }
43299
+ ];
43300
+ const TABLE_DESIGN_TOGGLES = [
43301
+ {
43302
+ id: "editor-toolbar-tbl-header-row",
43303
+ command: "tableToggleHeaderRow",
43304
+ labelKey: "table.headerRow"
43305
+ },
43306
+ {
43307
+ id: "editor-toolbar-tbl-total-row",
43308
+ command: "tableToggleTotalRow",
43309
+ labelKey: "table.totalRow"
43310
+ },
43311
+ {
43312
+ id: "editor-toolbar-tbl-banded-rows",
43313
+ command: "tableToggleBandedRows",
43314
+ labelKey: "table.bandedRows"
43315
+ },
43316
+ {
43317
+ id: "editor-toolbar-tbl-first-col",
43318
+ command: "tableToggleFirstColumn",
43319
+ labelKey: "table.firstColumn"
43320
+ },
43321
+ {
43322
+ id: "editor-toolbar-tbl-last-col",
43323
+ command: "tableToggleLastColumn",
43324
+ labelKey: "table.lastColumn"
43325
+ },
43326
+ {
43327
+ id: "editor-toolbar-tbl-banded-cols",
43328
+ command: "tableToggleBandedColumns",
43329
+ labelKey: "table.bandedColumns"
43330
+ }
43331
+ ];
43327
43332
  const RIBBON_PLACEMENTS = {
43328
43333
  "editor-toolbar-file-dropdown": { tab: "file", group: "document", row: 1 },
43329
43334
  "sep-file": { tab: "file", group: "document", row: 1 },
@@ -43391,8 +43396,123 @@ const RIBBON_PLACEMENTS = {
43391
43396
  "sep-paragraph": { tab: "home", group: "paragraph", row: 2 },
43392
43397
  "editor-toolbar-metrics": { tab: "layout", group: "paragraph", row: 1 },
43393
43398
  "sep-metrics": { tab: "layout", group: "paragraph", row: 2 },
43394
- "editor-toolbar-table": { tab: "layout", group: "table", row: 1 },
43395
- "sep-table": { tab: "layout", group: "table", row: 2 },
43399
+ "editor-toolbar-tbl-insert-row-above": {
43400
+ tab: "tableLayout",
43401
+ group: "rowsColumns",
43402
+ row: 1
43403
+ },
43404
+ "editor-toolbar-tbl-insert-row-below": {
43405
+ tab: "tableLayout",
43406
+ group: "rowsColumns",
43407
+ row: 1
43408
+ },
43409
+ "editor-toolbar-tbl-delete-row": {
43410
+ tab: "tableLayout",
43411
+ group: "rowsColumns",
43412
+ row: 1
43413
+ },
43414
+ "editor-toolbar-tbl-insert-col-left": {
43415
+ tab: "tableLayout",
43416
+ group: "rowsColumns",
43417
+ row: 2
43418
+ },
43419
+ "editor-toolbar-tbl-insert-col-right": {
43420
+ tab: "tableLayout",
43421
+ group: "rowsColumns",
43422
+ row: 2
43423
+ },
43424
+ "editor-toolbar-tbl-delete-col": {
43425
+ tab: "tableLayout",
43426
+ group: "rowsColumns",
43427
+ row: 2
43428
+ },
43429
+ "editor-toolbar-tbl-merge": { tab: "tableLayout", group: "merge", row: 1 },
43430
+ "editor-toolbar-tbl-split": { tab: "tableLayout", group: "merge", row: 2 },
43431
+ "editor-toolbar-tbl-width-100": {
43432
+ tab: "tableLayout",
43433
+ group: "cellSize",
43434
+ row: 1
43435
+ },
43436
+ "editor-toolbar-tbl-align-left": {
43437
+ tab: "tableLayout",
43438
+ group: "alignment",
43439
+ row: 1
43440
+ },
43441
+ "editor-toolbar-tbl-align-center": {
43442
+ tab: "tableLayout",
43443
+ group: "alignment",
43444
+ row: 1
43445
+ },
43446
+ "editor-toolbar-tbl-align-right": {
43447
+ tab: "tableLayout",
43448
+ group: "alignment",
43449
+ row: 1
43450
+ },
43451
+ "editor-toolbar-tbl-header-row": {
43452
+ tab: "tableDesign",
43453
+ group: "tableStyleOptions",
43454
+ row: 1
43455
+ },
43456
+ "editor-toolbar-tbl-total-row": {
43457
+ tab: "tableDesign",
43458
+ group: "tableStyleOptions",
43459
+ row: 1
43460
+ },
43461
+ "editor-toolbar-tbl-banded-rows": {
43462
+ tab: "tableDesign",
43463
+ group: "tableStyleOptions",
43464
+ row: 1
43465
+ },
43466
+ "editor-toolbar-tbl-first-col": {
43467
+ tab: "tableDesign",
43468
+ group: "tableStyleOptions",
43469
+ row: 2
43470
+ },
43471
+ "editor-toolbar-tbl-last-col": {
43472
+ tab: "tableDesign",
43473
+ group: "tableStyleOptions",
43474
+ row: 2
43475
+ },
43476
+ "editor-toolbar-tbl-banded-cols": {
43477
+ tab: "tableDesign",
43478
+ group: "tableStyleOptions",
43479
+ row: 2
43480
+ },
43481
+ "editor-toolbar-tbl-shading": {
43482
+ tab: "tableDesign",
43483
+ group: "borders",
43484
+ row: 1
43485
+ },
43486
+ "editor-toolbar-tbl-borders": {
43487
+ tab: "tableDesign",
43488
+ group: "borders",
43489
+ row: 2
43490
+ },
43491
+ "editor-toolbar-tbl-no-borders": {
43492
+ tab: "tableDesign",
43493
+ group: "borders",
43494
+ row: 2
43495
+ },
43496
+ "editor-toolbar-tbl-style": {
43497
+ tab: "tableDesign",
43498
+ group: "tableStyles",
43499
+ row: 1
43500
+ },
43501
+ "editor-toolbar-tbl-distribute-rows": {
43502
+ tab: "tableLayout",
43503
+ group: "cellSize",
43504
+ row: 1
43505
+ },
43506
+ "editor-toolbar-tbl-distribute-cols": {
43507
+ tab: "tableLayout",
43508
+ group: "cellSize",
43509
+ row: 1
43510
+ },
43511
+ "editor-toolbar-tbl-autofit": {
43512
+ tab: "tableLayout",
43513
+ group: "cellSize",
43514
+ row: 2
43515
+ },
43396
43516
  "editor-toolbar-margins": { tab: "layout", group: "section", row: 1 },
43397
43517
  "editor-toolbar-section": { tab: "layout", group: "section", row: 1 }
43398
43518
  };
@@ -43832,16 +43952,85 @@ function createDefaultToolbarPreset(t) {
43832
43952
  render: (api) => MetricGroup({ api })
43833
43953
  });
43834
43954
  items.push({ type: "separator", id: "sep-metrics" });
43955
+ for (const spec of TABLE_LAYOUT_BUTTONS) {
43956
+ items.push({
43957
+ type: "button",
43958
+ id: spec.id,
43959
+ testId: spec.id,
43960
+ iconName: spec.icon,
43961
+ command: spec.command,
43962
+ tooltipKey: spec.tooltipKey
43963
+ });
43964
+ }
43965
+ for (const spec of TABLE_DESIGN_TOGGLES) {
43966
+ items.push({
43967
+ type: "toggle",
43968
+ id: spec.id,
43969
+ testId: spec.id,
43970
+ command: spec.command,
43971
+ labelKey: spec.labelKey,
43972
+ tooltipKey: spec.labelKey
43973
+ });
43974
+ }
43835
43975
  items.push({
43836
- type: "custom",
43837
- id: "editor-toolbar-table",
43838
- isVisible: (api) => api.commands.state("tableContext").isActive,
43839
- render: (api) => TableGroup({ api })
43976
+ type: "colorPicker",
43977
+ id: "editor-toolbar-tbl-shading",
43978
+ testId: "editor-toolbar-tbl-shading",
43979
+ kind: "shading",
43980
+ command: "tableCellShading",
43981
+ defaultValue: "#f1f5f9",
43982
+ tooltipKey: "table.cellColor"
43983
+ });
43984
+ items.push({
43985
+ type: "button",
43986
+ id: "editor-toolbar-tbl-borders",
43987
+ testId: "editor-toolbar-tbl-borders",
43988
+ iconName: "frame",
43989
+ command: "tableCellBorders",
43990
+ tooltipKey: "table.applyBorders"
43991
+ });
43992
+ items.push({
43993
+ type: "button",
43994
+ id: "editor-toolbar-tbl-no-borders",
43995
+ testId: "editor-toolbar-tbl-no-borders",
43996
+ iconName: "square",
43997
+ command: "tableCellNoBorders",
43998
+ tooltipKey: "table.removeBorders"
43999
+ });
44000
+ items.push({
44001
+ type: "select",
44002
+ id: "editor-toolbar-tbl-style",
44003
+ testId: "editor-toolbar-tbl-style",
44004
+ tooltipKey: "table.tableStyle",
44005
+ placeholder: t("table.tableStyle"),
44006
+ width: "wide",
44007
+ command: "setTableStyle",
44008
+ options: tableStyleOptions
44009
+ });
44010
+ items.push({
44011
+ type: "button",
44012
+ id: "editor-toolbar-tbl-distribute-rows",
44013
+ testId: "editor-toolbar-tbl-distribute-rows",
44014
+ iconName: "rows",
44015
+ command: "tableDistributeRows",
44016
+ tooltipKey: "table.distributeRows"
43840
44017
  });
43841
44018
  items.push({
43842
- type: "separator",
43843
- id: "sep-table",
43844
- isVisible: (api) => api.commands.state("tableContext").isActive
44019
+ type: "button",
44020
+ id: "editor-toolbar-tbl-distribute-cols",
44021
+ testId: "editor-toolbar-tbl-distribute-cols",
44022
+ iconName: "columns",
44023
+ command: "tableDistributeColumns",
44024
+ tooltipKey: "table.distributeColumns"
44025
+ });
44026
+ items.push({
44027
+ type: "toggle",
44028
+ id: "editor-toolbar-tbl-autofit",
44029
+ testId: "editor-toolbar-tbl-autofit",
44030
+ iconName: "move-horizontal",
44031
+ command: "tableToggleAutoFit",
44032
+ labelKey: "table.autoFit",
44033
+ tooltipKey: "table.autoFit"
43845
44034
  });
43846
44035
  items.push({
43847
44036
  type: "custom",
@@ -43895,7 +44084,6 @@ const OASIS_TOOLBAR_ITEMS = {
43895
44084
  specialIndent: "editor-toolbar-special-indent",
43896
44085
  lineSpacing: "editor-toolbar-line-spacing-control",
43897
44086
  metrics: "editor-toolbar-metrics",
43898
- table: "editor-toolbar-table",
43899
44087
  margins: "editor-toolbar-margins",
43900
44088
  section: "editor-toolbar-section"
43901
44089
  };