oasis-editor 0.0.19 → 0.0.21

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.
@@ -1568,8 +1568,19 @@ const en = {
1568
1568
  "section.pageSetup": "Page Setup",
1569
1569
  "section.toggleOrientation": "Toggle Orientation",
1570
1570
  "section.margins": "Margins",
1571
- "section.marginsNormal": "Normal Margins",
1572
- "section.marginsNarrow": "Narrow Margins",
1571
+ "section.marginPreset.normal": "Normal",
1572
+ "section.marginPreset.narrow": "Narrow",
1573
+ "section.marginPreset.moderate": "Moderate",
1574
+ "section.marginPreset.wide": "Wide",
1575
+ "section.marginPreset.mirrored": "Mirrored",
1576
+ "section.marginPreset.custom": "Custom Margins…",
1577
+ "section.marginField.top": "Top:",
1578
+ "section.marginField.bottom": "Bottom:",
1579
+ "section.marginField.left": "Left:",
1580
+ "section.marginField.right": "Right:",
1581
+ "section.marginValue": "{0} cm",
1582
+ "section.marginApply": "Apply",
1583
+ "number.decimalSeparator": ".",
1573
1584
  "section.secNext": "Sec Next",
1574
1585
  "section.secNextTooltip": "Insert Section Break (Next Page)",
1575
1586
  "section.secCont": "Sec Cont",
@@ -2013,8 +2024,19 @@ const ptBR = {
2013
2024
  "section.pageSetup": "Configurações de Página",
2014
2025
  "section.toggleOrientation": "Alternar Orientação",
2015
2026
  "section.margins": "Margens",
2016
- "section.marginsNormal": "Margens Normais",
2017
- "section.marginsNarrow": "Margens Estreitas",
2027
+ "section.marginPreset.normal": "Normal",
2028
+ "section.marginPreset.narrow": "Estreita",
2029
+ "section.marginPreset.moderate": "Moderada",
2030
+ "section.marginPreset.wide": "Larga",
2031
+ "section.marginPreset.mirrored": "Espelhada",
2032
+ "section.marginPreset.custom": "Margens Personalizadas…",
2033
+ "section.marginField.top": "Sup.:",
2034
+ "section.marginField.bottom": "Inf.:",
2035
+ "section.marginField.left": "Esq.:",
2036
+ "section.marginField.right": "Dir.:",
2037
+ "section.marginValue": "{0} cm",
2038
+ "section.marginApply": "Aplicar",
2039
+ "number.decimalSeparator": ",",
2018
2040
  "section.secNext": "Próx Seç",
2019
2041
  "section.secNextTooltip": "Inserir Quebra de Seção (Próxima Página)",
2020
2042
  "section.secCont": "Seç Cont",
@@ -2320,14 +2342,14 @@ function t(key, params = []) {
2320
2342
  return template2;
2321
2343
  }
2322
2344
  const oasisMarkBase64 = "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";
2323
- var _tmpl$$R = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2345
+ var _tmpl$$S = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2324
2346
  const OASIS_MARK_DATA_URI = `data:image/webp;base64,${oasisMarkBase64}`;
2325
2347
  const MARK_ASPECT = 3 / 4;
2326
2348
  function OasisBrandMark(props) {
2327
2349
  const height = () => props.height ?? 64;
2328
2350
  const width = () => Math.round(height() * MARK_ASPECT);
2329
2351
  return (() => {
2330
- var _el$ = _tmpl$$R();
2352
+ var _el$ = _tmpl$$S();
2331
2353
  setAttribute(_el$, "src", OASIS_MARK_DATA_URI);
2332
2354
  setAttribute(_el$, "draggable", false);
2333
2355
  createRenderEffect((_p$) => {
@@ -2344,7 +2366,7 @@ function OasisBrandMark(props) {
2344
2366
  return _el$;
2345
2367
  })();
2346
2368
  }
2347
- var _tmpl$$Q = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$x = /* @__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$l = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2369
+ var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$z = /* @__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$m = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2348
2370
  function OasisEditorLoading(props) {
2349
2371
  const variant = () => props.variant ?? "overlay";
2350
2372
  const pct = () => {
@@ -2353,7 +2375,7 @@ function OasisEditorLoading(props) {
2353
2375
  };
2354
2376
  const isDone = () => (pct() ?? 0) >= 100;
2355
2377
  return (() => {
2356
- var _el$ = _tmpl$2$x(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2378
+ var _el$ = _tmpl$2$z(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2357
2379
  insert(_el$2, createComponent(OasisBrandMark, {
2358
2380
  height: 40,
2359
2381
  "class": "oasis-editor-loading-mark"
@@ -2364,10 +2386,10 @@ function OasisEditorLoading(props) {
2364
2386
  return pct() != null;
2365
2387
  },
2366
2388
  get children() {
2367
- var _el$6 = _tmpl$$Q();
2389
+ var _el$6 = _tmpl$$R();
2368
2390
  insert(_el$6, (() => {
2369
2391
  var _c$ = memo(() => !!isDone());
2370
- return () => _c$() ? _tmpl$3$l() : `${pct()}%`;
2392
+ return () => _c$() ? _tmpl$3$m() : `${pct()}%`;
2371
2393
  })());
2372
2394
  return _el$6;
2373
2395
  }
@@ -2416,7 +2438,7 @@ function OasisEditorAppLazy(props = {}) {
2416
2438
  onCleanup(() => {
2417
2439
  cancelled = true;
2418
2440
  });
2419
- import("./OasisEditorApp-xXfigQp4.js").then((m) => {
2441
+ import("./OasisEditorApp-D-O4XHvu.js").then((m) => {
2420
2442
  cancelled = true;
2421
2443
  setProgress(1);
2422
2444
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -4489,9 +4511,9 @@ class MenuRegistry {
4489
4511
  }
4490
4512
  }
4491
4513
  const defaultMenuRegistry = new MenuRegistry();
4492
- var _tmpl$$P = /* @__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$w = /* @__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$k = /* @__PURE__ */ template(`<i>`);
4493
- const FootnoteIcon = () => _tmpl$$P();
4494
- const SpecialIndentFirstLineIcon = () => _tmpl$2$w();
4514
+ var _tmpl$$Q = /* @__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$y = /* @__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$l = /* @__PURE__ */ template(`<i>`);
4515
+ const FootnoteIcon = () => _tmpl$$Q();
4516
+ const SpecialIndentFirstLineIcon = () => _tmpl$2$y();
4495
4517
  const CUSTOM_ICONS = {
4496
4518
  footnote: FootnoteIcon,
4497
4519
  specialIndentFirstLine: SpecialIndentFirstLineIcon
@@ -4506,7 +4528,7 @@ function ToolIcon(props) {
4506
4528
  },
4507
4529
  get fallback() {
4508
4530
  return (() => {
4509
- var _el$3 = _tmpl$3$k();
4531
+ var _el$3 = _tmpl$3$l();
4510
4532
  createRenderEffect(() => setAttribute(_el$3, "data-lucide", props.name));
4511
4533
  return _el$3;
4512
4534
  })();
@@ -4856,7 +4878,7 @@ const defaultMenuItems = [
4856
4878
  }
4857
4879
  ];
4858
4880
  defaultMenuItems.forEach((item) => defaultMenuRegistry.register(item));
4859
- var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$v = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-menubar-menu><div class=oasis-menubar-button role=menuitem aria-haspopup=true>`), _tmpl$4$e = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$d = /* @__PURE__ */ template(`<span class=oasis-menubar-item-icon aria-hidden=true>`), _tmpl$6$6 = /* @__PURE__ */ template(`<span class=oasis-menubar-shortcut>`), _tmpl$7$3 = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$8$2 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`), _tmpl$9$1 = /* @__PURE__ */ template(`<div class=oasis-menubar-item role=menuitem><span class=oasis-menubar-item-main><span>`);
4881
+ var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$x = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-menubar-menu><div class=oasis-menubar-button role=menuitem aria-haspopup=true>`), _tmpl$4$f = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$e = /* @__PURE__ */ template(`<span class=oasis-menubar-item-icon aria-hidden=true>`), _tmpl$6$7 = /* @__PURE__ */ template(`<span class=oasis-menubar-shortcut>`), _tmpl$7$3 = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$8$2 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`), _tmpl$9$1 = /* @__PURE__ */ template(`<div class=oasis-menubar-item role=menuitem><span class=oasis-menubar-item-main><span>`);
4860
4882
  function Menubar(props) {
4861
4883
  const [activeMenu, setActiveMenu] = createSignal(null);
4862
4884
  const menuItems = () => (props.registry ?? defaultMenuRegistry).getItems();
@@ -4923,13 +4945,13 @@ function Menubar(props) {
4923
4945
  });
4924
4946
  const topLevelItems = () => pruneTree(menuTree());
4925
4947
  return (() => {
4926
- var _el$ = _tmpl$$O();
4948
+ var _el$ = _tmpl$$P();
4927
4949
  insert(_el$, createComponent(For, {
4928
4950
  get each() {
4929
4951
  return topLevelItems();
4930
4952
  },
4931
4953
  children: (topLevel) => (() => {
4932
- var _el$2 = _tmpl$3$j(), _el$3 = _el$2.firstChild;
4954
+ var _el$2 = _tmpl$3$k(), _el$3 = _el$2.firstChild;
4933
4955
  _el$2.addEventListener("mouseenter", () => {
4934
4956
  if (activeMenu() && activeMenu() !== topLevel.id) {
4935
4957
  setActiveMenu(topLevel.id);
@@ -4949,7 +4971,7 @@ function Menubar(props) {
4949
4971
  return activeMenu() === topLevel.id;
4950
4972
  },
4951
4973
  get children() {
4952
- var _el$4 = _tmpl$2$v();
4974
+ var _el$4 = _tmpl$2$x();
4953
4975
  insert(_el$4, createComponent(For, {
4954
4976
  get each() {
4955
4977
  return topLevel.children;
@@ -4988,7 +5010,7 @@ function MenuNode(props) {
4988
5010
  } = props;
4989
5011
  const isSeparator = (_a = node.item) == null ? void 0 : _a.separator;
4990
5012
  if (isSeparator) {
4991
- return _tmpl$4$e();
5013
+ return _tmpl$4$f();
4992
5014
  }
4993
5015
  const hasChildren = node.children.length > 0;
4994
5016
  const [showSub, setShowSub] = createSignal(false);
@@ -5023,7 +5045,7 @@ function MenuNode(props) {
5023
5045
  return icon();
5024
5046
  },
5025
5047
  get children() {
5026
- var _el$8 = _tmpl$5$d();
5048
+ var _el$8 = _tmpl$5$e();
5027
5049
  insert(_el$8, createComponent(ToolIcon, {
5028
5050
  get name() {
5029
5051
  return icon();
@@ -5039,7 +5061,7 @@ function MenuNode(props) {
5039
5061
  return (_a2 = node.item) == null ? void 0 : _a2.shortcut;
5040
5062
  },
5041
5063
  get children() {
5042
- var _el$0 = _tmpl$6$6();
5064
+ var _el$0 = _tmpl$6$7();
5043
5065
  insert(_el$0, () => node.item.shortcut);
5044
5066
  return _el$0;
5045
5067
  }
@@ -5076,10 +5098,10 @@ function MenuNode(props) {
5076
5098
  })();
5077
5099
  }
5078
5100
  delegateEvents(["click"]);
5079
- var _tmpl$$N = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
5101
+ var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
5080
5102
  function TitleBar(props) {
5081
5103
  return (() => {
5082
- var _el$ = _tmpl$$N(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
5104
+ var _el$ = _tmpl$$O(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
5083
5105
  insert(_el$3, () => props.children);
5084
5106
  return _el$;
5085
5107
  })();
@@ -17138,7 +17160,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
17138
17160
  );
17139
17161
  return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
17140
17162
  }
17141
- var _tmpl$$M = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$d = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$c = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
17163
+ var _tmpl$$N = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$w = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$e = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$d = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
17142
17164
  function OutlinePanel(props) {
17143
17165
  const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
17144
17166
  const [items, setItems] = createSignal([]);
@@ -17206,13 +17228,13 @@ function OutlinePanel(props) {
17206
17228
  }
17207
17229
  });
17208
17230
  return (() => {
17209
- var _el$ = _tmpl$3$i(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
17231
+ var _el$ = _tmpl$3$j(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
17210
17232
  insert(_el$2, createComponent(Show, {
17211
17233
  get when() {
17212
17234
  return !collapsed();
17213
17235
  },
17214
17236
  get children() {
17215
- var _el$3 = _tmpl$$M();
17237
+ var _el$3 = _tmpl$$N();
17216
17238
  insert(_el$3, () => t("menu.view.outline") || "Outline");
17217
17239
  return _el$3;
17218
17240
  }
@@ -17223,14 +17245,14 @@ function OutlinePanel(props) {
17223
17245
  return !collapsed();
17224
17246
  },
17225
17247
  get children() {
17226
- var _el$6 = _tmpl$2$u();
17248
+ var _el$6 = _tmpl$2$w();
17227
17249
  insert(_el$6, createComponent(Show, {
17228
17250
  get when() {
17229
17251
  return items().length > 0;
17230
17252
  },
17231
17253
  get fallback() {
17232
17254
  return (() => {
17233
- var _el$7 = _tmpl$4$d();
17255
+ var _el$7 = _tmpl$4$e();
17234
17256
  insert(_el$7, () => t("outline.empty"));
17235
17257
  return _el$7;
17236
17258
  })();
@@ -17241,7 +17263,7 @@ function OutlinePanel(props) {
17241
17263
  return items();
17242
17264
  },
17243
17265
  children: (item) => (() => {
17244
- var _el$8 = _tmpl$5$c();
17266
+ var _el$8 = _tmpl$5$d();
17245
17267
  _el$8.$$click = () => props.onNavigate(item.anchor);
17246
17268
  insert(_el$8, () => item.text);
17247
17269
  createRenderEffect((_p$) => {
@@ -17280,7 +17302,7 @@ function OutlinePanel(props) {
17280
17302
  })();
17281
17303
  }
17282
17304
  delegateEvents(["click"]);
17283
- var _tmpl$$L = /* @__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$t = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
17305
+ var _tmpl$$M = /* @__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$v = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
17284
17306
  function ToolbarOverflowManager(props) {
17285
17307
  const [overflowCount, setOverflowCount] = createSignal(0);
17286
17308
  const [menuOpen, setMenuOpen] = createSignal(false);
@@ -17423,7 +17445,7 @@ function ToolbarOverflowManager(props) {
17423
17445
  };
17424
17446
  };
17425
17447
  return (() => {
17426
- var _el$ = _tmpl$$L(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
17448
+ var _el$ = _tmpl$$M(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
17427
17449
  var _ref$ = containerRef;
17428
17450
  typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
17429
17451
  var _ref$2 = moreMeasureRef;
@@ -17435,7 +17457,7 @@ function ToolbarOverflowManager(props) {
17435
17457
  return items();
17436
17458
  },
17437
17459
  children: (item) => (() => {
17438
- var _el$7 = _tmpl$2$t();
17460
+ var _el$7 = _tmpl$2$v();
17439
17461
  insert(_el$7, item);
17440
17462
  return _el$7;
17441
17463
  })()
@@ -17511,12 +17533,12 @@ function resolveLabel(item, api) {
17511
17533
  if (item.labelKey) return api.t(item.labelKey);
17512
17534
  return void 0;
17513
17535
  }
17514
- var _tmpl$$K = /* @__PURE__ */ template(`<span>`), _tmpl$2$s = /* @__PURE__ */ template(`<button type=button>`);
17536
+ var _tmpl$$L = /* @__PURE__ */ template(`<span>`), _tmpl$2$u = /* @__PURE__ */ template(`<button type=button>`);
17515
17537
  function Button$1(props) {
17516
- const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "aria-label", "class", "classList"]);
17538
+ const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "ribbonSize", "aria-label", "class", "classList"]);
17517
17539
  const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
17518
17540
  return (() => {
17519
- var _el$ = _tmpl$2$s();
17541
+ var _el$ = _tmpl$2$u();
17520
17542
  spread(_el$, mergeProps({
17521
17543
  get ["class"]() {
17522
17544
  return `oasis-editor-tool-button ${local.class || ""}`;
@@ -17525,6 +17547,7 @@ function Button$1(props) {
17525
17547
  return {
17526
17548
  "oasis-editor-tool-button-active": local.active,
17527
17549
  "oasis-editor-tool-button-wide": local.wide,
17550
+ "oasis-editor-tool-button-ribbon-large": local.ribbonSize === "large",
17528
17551
  ...local.classList
17529
17552
  };
17530
17553
  },
@@ -17552,7 +17575,7 @@ function Button$1(props) {
17552
17575
  return local.label;
17553
17576
  },
17554
17577
  get children() {
17555
- var _el$2 = _tmpl$$K();
17578
+ var _el$2 = _tmpl$$L();
17556
17579
  insert(_el$2, () => local.label);
17557
17580
  return _el$2;
17558
17581
  }
@@ -17634,7 +17657,7 @@ function useDismiss(options) {
17634
17657
  });
17635
17658
  });
17636
17659
  }
17637
- var _tmpl$$J = /* @__PURE__ */ template(`<div>`);
17660
+ var _tmpl$$K = /* @__PURE__ */ template(`<div>`);
17638
17661
  function Popover(props) {
17639
17662
  let anchorRef;
17640
17663
  let panelRef;
@@ -17651,7 +17674,7 @@ function Popover(props) {
17651
17674
  closeOnEscape: props.closeOnEscape
17652
17675
  });
17653
17676
  const panel = (portalled) => (() => {
17654
- var _el$ = _tmpl$$J();
17677
+ var _el$ = _tmpl$$K();
17655
17678
  addEventListener(_el$, "mouseleave", props.onPanelMouseLeave);
17656
17679
  var _ref$ = panelRef;
17657
17680
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
@@ -17703,12 +17726,12 @@ function Popover(props) {
17703
17726
  }
17704
17727
  })];
17705
17728
  }
17706
- var _tmpl$$I = /* @__PURE__ */ template(`<div>`), _tmpl$2$r = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$h = /* @__PURE__ */ template(`<i>`), _tmpl$4$c = /* @__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$5 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
17729
+ var _tmpl$$J = /* @__PURE__ */ template(`<div>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$i = /* @__PURE__ */ template(`<i>`), _tmpl$4$d = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$c = /* @__PURE__ */ template(`<i data-lucide=chevron-down class=oasis-editor-dropdown-chevron>`), _tmpl$6$6 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
17707
17730
  function Menu(props) {
17708
17731
  const [open, setOpen] = createSignal(false);
17709
17732
  const ariaLabel = () => props.tooltip || props.label || "";
17710
17733
  return (() => {
17711
- var _el$ = _tmpl$2$r();
17734
+ var _el$ = _tmpl$2$t();
17712
17735
  insert(_el$, createComponent(Popover, {
17713
17736
  get open() {
17714
17737
  return open();
@@ -17723,7 +17746,7 @@ function Menu(props) {
17723
17746
  },
17724
17747
  onPanelMouseLeave: void 0,
17725
17748
  trigger: (api) => (() => {
17726
- var _el$3 = _tmpl$6$5();
17749
+ var _el$3 = _tmpl$6$6();
17727
17750
  _el$3.$$click = () => api.toggle();
17728
17751
  use((el) => api.ref(el), _el$3);
17729
17752
  insert(_el$3, createComponent(Show, {
@@ -17731,7 +17754,7 @@ function Menu(props) {
17731
17754
  return props.icon;
17732
17755
  },
17733
17756
  get children() {
17734
- var _el$4 = _tmpl$3$h();
17757
+ var _el$4 = _tmpl$3$i();
17735
17758
  createRenderEffect(() => setAttribute(_el$4, "data-lucide", props.icon));
17736
17759
  return _el$4;
17737
17760
  }
@@ -17741,7 +17764,7 @@ function Menu(props) {
17741
17764
  return props.label;
17742
17765
  },
17743
17766
  get children() {
17744
- var _el$5 = _tmpl$4$c();
17767
+ var _el$5 = _tmpl$4$d();
17745
17768
  insert(_el$5, () => props.label);
17746
17769
  return _el$5;
17747
17770
  }
@@ -17751,17 +17774,18 @@ function Menu(props) {
17751
17774
  return !props.hideChevron;
17752
17775
  },
17753
17776
  get children() {
17754
- return _tmpl$5$b();
17777
+ return _tmpl$5$c();
17755
17778
  }
17756
17779
  }), null);
17757
17780
  createRenderEffect((_p$) => {
17758
- var _v$ = !!(props.active || api.open), _v$2 = props.disabled, _v$3 = props.tooltip, _v$4 = ariaLabel(), _v$5 = api.open, _v$6 = props.testId;
17781
+ var _v$ = !!(props.active || api.open), _v$2 = !!(props.ribbonSize === "large"), _v$3 = props.disabled, _v$4 = props.tooltip, _v$5 = ariaLabel(), _v$6 = api.open, _v$7 = props.testId;
17759
17782
  _v$ !== _p$.e && _el$3.classList.toggle("oasis-editor-tool-button-active", _p$.e = _v$);
17760
- _v$2 !== _p$.t && (_el$3.disabled = _p$.t = _v$2);
17761
- _v$3 !== _p$.a && setAttribute(_el$3, "title", _p$.a = _v$3);
17762
- _v$4 !== _p$.o && setAttribute(_el$3, "aria-label", _p$.o = _v$4);
17763
- _v$5 !== _p$.i && setAttribute(_el$3, "aria-expanded", _p$.i = _v$5);
17764
- _v$6 !== _p$.n && setAttribute(_el$3, "data-testid", _p$.n = _v$6);
17783
+ _v$2 !== _p$.t && _el$3.classList.toggle("oasis-editor-tool-button-ribbon-large", _p$.t = _v$2);
17784
+ _v$3 !== _p$.a && (_el$3.disabled = _p$.a = _v$3);
17785
+ _v$4 !== _p$.o && setAttribute(_el$3, "title", _p$.o = _v$4);
17786
+ _v$5 !== _p$.i && setAttribute(_el$3, "aria-label", _p$.i = _v$5);
17787
+ _v$6 !== _p$.n && setAttribute(_el$3, "aria-expanded", _p$.n = _v$6);
17788
+ _v$7 !== _p$.s && setAttribute(_el$3, "data-testid", _p$.s = _v$7);
17765
17789
  return _p$;
17766
17790
  }, {
17767
17791
  e: void 0,
@@ -17769,12 +17793,13 @@ function Menu(props) {
17769
17793
  a: void 0,
17770
17794
  o: void 0,
17771
17795
  i: void 0,
17772
- n: void 0
17796
+ n: void 0,
17797
+ s: void 0
17773
17798
  });
17774
17799
  return _el$3;
17775
17800
  })(),
17776
17801
  get children() {
17777
- var _el$2 = _tmpl$$I();
17802
+ var _el$2 = _tmpl$$J();
17778
17803
  _el$2.$$click = (event) => {
17779
17804
  const el = event.target;
17780
17805
  if (el.closest("button") && !el.closest(".oasis-editor-tool-button-dropdown") && !el.closest(".oasis-editor-toolbar-list-options")) {
@@ -17789,7 +17814,7 @@ function Menu(props) {
17789
17814
  })();
17790
17815
  }
17791
17816
  delegateEvents(["click"]);
17792
- var _tmpl$$H = /* @__PURE__ */ template(`<select>`);
17817
+ var _tmpl$$I = /* @__PURE__ */ template(`<select>`);
17793
17818
  function Select(props) {
17794
17819
  let selectRef;
17795
17820
  const [local, others] = splitProps(props, ["wide", "small", "class", "tooltip", "aria-label", "value"]);
@@ -17805,7 +17830,7 @@ function Select(props) {
17805
17830
  }
17806
17831
  });
17807
17832
  return (() => {
17808
- var _el$ = _tmpl$$H();
17833
+ var _el$ = _tmpl$$I();
17809
17834
  var _ref$ = selectRef;
17810
17835
  typeof _ref$ === "function" ? use(_ref$, _el$) : selectRef = _el$;
17811
17836
  spread(_el$, mergeProps({
@@ -17832,15 +17857,15 @@ function Select(props) {
17832
17857
  return _el$;
17833
17858
  })();
17834
17859
  }
17835
- var _tmpl$$G = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
17860
+ var _tmpl$$H = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
17836
17861
  function Separator(props) {
17837
17862
  return (() => {
17838
- var _el$ = _tmpl$$G();
17863
+ var _el$ = _tmpl$$H();
17839
17864
  createRenderEffect((_$p) => setStyleProperty(_el$, "display", props.hidden ? "none" : void 0));
17840
17865
  return _el$;
17841
17866
  })();
17842
17867
  }
17843
- var _tmpl$$F = /* @__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>`);
17868
+ var _tmpl$$G = /* @__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>`);
17844
17869
  function SplitButton(props) {
17845
17870
  return createComponent(Popover, {
17846
17871
  get open() {
@@ -17859,7 +17884,7 @@ function SplitButton(props) {
17859
17884
  return props.onPanelMouseLeave;
17860
17885
  },
17861
17886
  trigger: (api) => (() => {
17862
- var _el$ = _tmpl$$F(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
17887
+ var _el$ = _tmpl$$G(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
17863
17888
  use((el) => api.ref(el), _el$);
17864
17889
  _el$2.$$click = () => props.onMain();
17865
17890
  insert(_el$2, () => props.mainContent);
@@ -17897,7 +17922,7 @@ function SplitButton(props) {
17897
17922
  });
17898
17923
  }
17899
17924
  delegateEvents(["click"]);
17900
- var _tmpl$$E = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$q = /* @__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$g = /* @__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$b = /* @__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$4 = /* @__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>`);
17925
+ var _tmpl$$F = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$s = /* @__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$h = /* @__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$c = /* @__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$b = /* @__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$5 = /* @__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>`);
17901
17926
  const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
17902
17927
  function ColorPicker(props) {
17903
17928
  const [isOpen, setIsOpen] = createSignal(false);
@@ -17962,7 +17987,7 @@ function ColorPicker(props) {
17962
17987
  return clearLabel();
17963
17988
  },
17964
17989
  get children() {
17965
- var _el$ = _tmpl$2$q(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
17990
+ var _el$ = _tmpl$2$s(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
17966
17991
  _el$.$$click = () => applyColor(null);
17967
17992
  insert(_el$2, createComponent(Show, {
17968
17993
  get when() {
@@ -17972,7 +17997,7 @@ function ColorPicker(props) {
17972
17997
  return _tmpl$8$1();
17973
17998
  },
17974
17999
  get children() {
17975
- return _tmpl$$E();
18000
+ return _tmpl$$F();
17976
18001
  }
17977
18002
  }));
17978
18003
  insert(_el$4, clearLabel);
@@ -17980,7 +18005,7 @@ function ColorPicker(props) {
17980
18005
  return _el$;
17981
18006
  }
17982
18007
  }), (() => {
17983
- var _el$5 = _tmpl$3$g(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
18008
+ var _el$5 = _tmpl$3$h(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
17984
18009
  insert(_el$6, () => props.themeColorsLabel);
17985
18010
  insert(_el$7, createComponent(For, {
17986
18011
  get each() {
@@ -18020,7 +18045,7 @@ function ColorPicker(props) {
18020
18045
  }));
18021
18046
  return _el$5;
18022
18047
  })(), (() => {
18023
- var _el$8 = _tmpl$4$b(), _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling;
18048
+ var _el$8 = _tmpl$4$c(), _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling;
18024
18049
  insert(_el$9, () => props.standardColorsLabel);
18025
18050
  insert(_el$0, createComponent(For, {
18026
18051
  get each() {
@@ -18057,13 +18082,13 @@ function ColorPicker(props) {
18057
18082
  },
18058
18083
  get children() {
18059
18084
  return [(() => {
18060
- var _el$1 = _tmpl$5$a(), _el$10 = _el$1.firstChild, _el$11 = _el$10.nextSibling;
18085
+ var _el$1 = _tmpl$5$b(), _el$10 = _el$1.firstChild, _el$11 = _el$10.nextSibling;
18061
18086
  _el$1.$$click = () => customColorInputRef == null ? void 0 : customColorInputRef.click();
18062
18087
  insert(_el$11, () => props.moreColorsLabel);
18063
18088
  createRenderEffect(() => setAttribute(_el$1, "data-testid", `${props.testId}-more-colors`));
18064
18089
  return _el$1;
18065
18090
  })(), (() => {
18066
- var _el$12 = _tmpl$6$4();
18091
+ var _el$12 = _tmpl$6$5();
18067
18092
  _el$12.$$input = (event) => applyColor(event.currentTarget.value);
18068
18093
  var _ref$ = customColorInputRef;
18069
18094
  typeof _ref$ === "function" ? use(_ref$, _el$12) : customColorInputRef = _el$12;
@@ -18085,7 +18110,7 @@ function ColorPicker(props) {
18085
18110
  });
18086
18111
  }
18087
18112
  delegateEvents(["click", "input"]);
18088
- var _tmpl$$D = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$p = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$a = /* @__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>`);
18113
+ var _tmpl$$E = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$r = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$g = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$b = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$a = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
18089
18114
  function GridPicker(props) {
18090
18115
  const [isOpen, setIsOpen] = createSignal(false);
18091
18116
  const [hover, setHover] = createSignal({
@@ -18159,7 +18184,7 @@ function GridPicker(props) {
18159
18184
  return h.row === 0 || h.col === 0 ? t("toolbar.table") : `${h.row} × ${h.col}`;
18160
18185
  };
18161
18186
  return (() => {
18162
- var _el$ = _tmpl$3$f();
18187
+ var _el$ = _tmpl$3$g();
18163
18188
  insert(_el$, createComponent(Popover, {
18164
18189
  get open() {
18165
18190
  return isOpen();
@@ -18171,7 +18196,7 @@ function GridPicker(props) {
18171
18196
  col: 0
18172
18197
  }),
18173
18198
  trigger: (api) => (() => {
18174
- var _el$4 = _tmpl$4$a(), _el$5 = _el$4.firstChild;
18199
+ var _el$4 = _tmpl$4$b(), _el$5 = _el$4.firstChild;
18175
18200
  _el$4.$$click = () => api.toggle();
18176
18201
  use((el) => api.ref(el), _el$4);
18177
18202
  createRenderEffect((_p$) => {
@@ -18193,11 +18218,11 @@ function GridPicker(props) {
18193
18218
  })(),
18194
18219
  get children() {
18195
18220
  return [(() => {
18196
- var _el$2 = _tmpl$$D();
18221
+ var _el$2 = _tmpl$$E();
18197
18222
  insert(_el$2, statusLabel);
18198
18223
  return _el$2;
18199
18224
  })(), (() => {
18200
- var _el$3 = _tmpl$2$p();
18225
+ var _el$3 = _tmpl$2$r();
18201
18226
  insert(_el$3, createComponent(For, {
18202
18227
  get each() {
18203
18228
  return rows();
@@ -18207,7 +18232,7 @@ function GridPicker(props) {
18207
18232
  return cols();
18208
18233
  },
18209
18234
  children: (c) => (() => {
18210
- var _el$6 = _tmpl$5$9();
18235
+ var _el$6 = _tmpl$5$a();
18211
18236
  _el$6.$$click = () => selectGridSize(r, c);
18212
18237
  _el$6.$$mousedown = (event) => event.preventDefault();
18213
18238
  _el$6.addEventListener("mouseenter", () => setHover({
@@ -18297,7 +18322,7 @@ const DEFAULT_PALETTE = {
18297
18322
  standardColors: STANDARD_COLORS,
18298
18323
  allowCustom: true
18299
18324
  };
18300
- var _tmpl$$C = /* @__PURE__ */ template(`<option value>`), _tmpl$2$o = /* @__PURE__ */ template(`<option>`);
18325
+ var _tmpl$$D = /* @__PURE__ */ template(`<option value>`), _tmpl$2$q = /* @__PURE__ */ template(`<option>`);
18301
18326
  function renderMenuContent(content, api) {
18302
18327
  if (content.kind === "custom") {
18303
18328
  return content.render(api);
@@ -18324,6 +18349,9 @@ function RenderButton(props) {
18324
18349
  get wide() {
18325
18350
  return props.item.wide;
18326
18351
  },
18352
+ get ribbonSize() {
18353
+ return props.item.ribbonSize;
18354
+ },
18327
18355
  get active() {
18328
18356
  return b.active();
18329
18357
  },
@@ -18351,6 +18379,9 @@ function RenderToggle(props) {
18351
18379
  get wide() {
18352
18380
  return props.item.wide;
18353
18381
  },
18382
+ get ribbonSize() {
18383
+ return props.item.ribbonSize;
18384
+ },
18354
18385
  get active() {
18355
18386
  return b.active();
18356
18387
  },
@@ -18390,6 +18421,9 @@ function RenderMenu(props) {
18390
18421
  get hideChevron() {
18391
18422
  return props.item.hideChevron;
18392
18423
  },
18424
+ get ribbonSize() {
18425
+ return props.item.ribbonSize;
18426
+ },
18393
18427
  get panelClass() {
18394
18428
  return props.item.panelClass;
18395
18429
  },
@@ -18470,7 +18504,7 @@ function RenderSelect(props) {
18470
18504
  return props.item.placeholder !== void 0;
18471
18505
  },
18472
18506
  get children() {
18473
- var _el$ = _tmpl$$C();
18507
+ var _el$ = _tmpl$$D();
18474
18508
  insert(_el$, () => props.item.placeholder);
18475
18509
  return _el$;
18476
18510
  }
@@ -18479,7 +18513,7 @@ function RenderSelect(props) {
18479
18513
  return props.item.options(props.api);
18480
18514
  },
18481
18515
  children: (option) => (() => {
18482
- var _el$2 = _tmpl$2$o();
18516
+ var _el$2 = _tmpl$2$q();
18483
18517
  insert(_el$2, () => option.label);
18484
18518
  createRenderEffect(() => _el$2.value = option.value);
18485
18519
  return _el$2;
@@ -18602,12 +18636,12 @@ function registerToolbarRenderer(type, component) {
18602
18636
  function resolveRenderer(type) {
18603
18637
  return TOOLBAR_RENDERERS[type] ?? customRenderers.get(type);
18604
18638
  }
18605
- var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
18639
+ var _tmpl$$C = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
18606
18640
  function ToolbarItemRenderer(props) {
18607
18641
  const binding = bindItem(props.item, props.api);
18608
18642
  const component = () => resolveRenderer(props.item.type);
18609
18643
  return (() => {
18610
- var _el$ = _tmpl$$B();
18644
+ var _el$ = _tmpl$$C();
18611
18645
  insert(_el$, createComponent(Show, {
18612
18646
  get when() {
18613
18647
  return component();
@@ -18624,7 +18658,15 @@ function ToolbarItemRenderer(props) {
18624
18658
  }
18625
18659
  })
18626
18660
  }));
18627
- createRenderEffect((_$p) => setStyleProperty(_el$, "display", binding.visible() ? "flex" : "none"));
18661
+ createRenderEffect((_p$) => {
18662
+ var _v$ = !!("ribbonSize" in props.item && props.item.ribbonSize === "large"), _v$2 = binding.visible() ? "flex" : "none";
18663
+ _v$ !== _p$.e && _el$.classList.toggle("oasis-editor-toolbar-item-ribbon-large", _p$.e = _v$);
18664
+ _v$2 !== _p$.t && setStyleProperty(_el$, "display", _p$.t = _v$2);
18665
+ return _p$;
18666
+ }, {
18667
+ e: void 0,
18668
+ t: void 0
18669
+ });
18628
18670
  return _el$;
18629
18671
  })();
18630
18672
  }
@@ -18720,8 +18762,12 @@ function normalizeRibbonGroup(group) {
18720
18762
  function normalizeRibbonRow(row) {
18721
18763
  return row === 2 ? 2 : DEFAULT_RIBBON_ROW;
18722
18764
  }
18765
+ function isLargeRibbonItem(item) {
18766
+ return "ribbonSize" in item && item.ribbonSize === "large";
18767
+ }
18723
18768
  function ribbonGroupLabel(group) {
18724
- return t(GROUP_LABEL_KEYS[group] ?? group);
18769
+ const key = GROUP_LABEL_KEYS[group];
18770
+ return key ? t(key) : group;
18725
18771
  }
18726
18772
  function buildRibbonGroups(items, tab) {
18727
18773
  const groups = /* @__PURE__ */ new Map();
@@ -18738,17 +18784,22 @@ function buildRibbonGroups(items, tab) {
18738
18784
  group = {
18739
18785
  id: groupId,
18740
18786
  label: ribbonGroupLabel(groupId),
18787
+ largeItems: [],
18741
18788
  rows: { 1: [], 2: [] },
18742
18789
  order: groupOrder
18743
18790
  };
18744
18791
  groups.set(groupId, group);
18745
18792
  }
18746
18793
  group.order = Math.min(group.order, groupOrder);
18747
- group.rows[row].push(item);
18794
+ if (isLargeRibbonItem(item)) {
18795
+ group.largeItems.push(item);
18796
+ } else {
18797
+ group.rows[row].push(item);
18798
+ }
18748
18799
  });
18749
18800
  return Array.from(groups.values()).sort((a, b) => a.order - b.order);
18750
18801
  }
18751
- var _tmpl$$A = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$n = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
18802
+ var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$p = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
18752
18803
  function RibbonTabs(props) {
18753
18804
  const tabs = RIBBON_TAB_DEFINITIONS;
18754
18805
  const moveTab = (current, delta) => {
@@ -18757,11 +18808,11 @@ function RibbonTabs(props) {
18757
18808
  if (next) props.setActiveTab(next.id);
18758
18809
  };
18759
18810
  return (() => {
18760
- var _el$ = _tmpl$$A();
18811
+ var _el$ = _tmpl$$B();
18761
18812
  insert(_el$, createComponent(For, {
18762
18813
  each: tabs,
18763
18814
  children: (tab) => (() => {
18764
- var _el$2 = _tmpl$2$n();
18815
+ var _el$2 = _tmpl$2$p();
18765
18816
  _el$2.$$keydown = (event) => {
18766
18817
  if (event.key === "ArrowRight") {
18767
18818
  event.preventDefault();
@@ -18803,10 +18854,10 @@ function RibbonTabs(props) {
18803
18854
  })();
18804
18855
  }
18805
18856
  delegateEvents(["click", "keydown"]);
18806
- var _tmpl$$z = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
18857
+ var _tmpl$$A = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
18807
18858
  function RibbonRow(props) {
18808
18859
  return (() => {
18809
- var _el$ = _tmpl$$z();
18860
+ var _el$ = _tmpl$$A();
18810
18861
  insert(_el$, createComponent(For, {
18811
18862
  get each() {
18812
18863
  return props.items;
@@ -18821,11 +18872,31 @@ function RibbonRow(props) {
18821
18872
  return _el$;
18822
18873
  })();
18823
18874
  }
18824
- var _tmpl$$y = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group><div class=oasis-editor-ribbon-group-rows></div><div class=oasis-editor-ribbon-group-label>`);
18875
+ var _tmpl$$z = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$o = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group><div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows></div></div><div class=oasis-editor-ribbon-group-label>`);
18825
18876
  function RibbonGroup(props) {
18826
18877
  return (() => {
18827
- var _el$ = _tmpl$$y(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
18828
- insert(_el$2, createComponent(RibbonRow, {
18878
+ var _el$ = _tmpl$2$o(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$2.nextSibling;
18879
+ insert(_el$2, createComponent(Show, {
18880
+ get when() {
18881
+ return props.group.largeItems.length > 0;
18882
+ },
18883
+ get children() {
18884
+ var _el$3 = _tmpl$$z();
18885
+ insert(_el$3, createComponent(For, {
18886
+ get each() {
18887
+ return props.group.largeItems;
18888
+ },
18889
+ children: (item) => createComponent(ToolbarItemRenderer, {
18890
+ item,
18891
+ get api() {
18892
+ return props.api;
18893
+ }
18894
+ })
18895
+ }));
18896
+ return _el$3;
18897
+ }
18898
+ }), _el$4);
18899
+ insert(_el$4, createComponent(RibbonRow, {
18829
18900
  get items() {
18830
18901
  return props.group.rows[1];
18831
18902
  },
@@ -18833,7 +18904,7 @@ function RibbonGroup(props) {
18833
18904
  return props.api;
18834
18905
  }
18835
18906
  }), null);
18836
- insert(_el$2, createComponent(RibbonRow, {
18907
+ insert(_el$4, createComponent(RibbonRow, {
18837
18908
  get items() {
18838
18909
  return props.group.rows[2];
18839
18910
  },
@@ -18841,7 +18912,7 @@ function RibbonGroup(props) {
18841
18912
  return props.api;
18842
18913
  }
18843
18914
  }), null);
18844
- insert(_el$3, () => props.group.label);
18915
+ insert(_el$5, () => props.group.label);
18845
18916
  createRenderEffect((_p$) => {
18846
18917
  var _v$ = props.group.id, _v$2 = props.group.label;
18847
18918
  _v$ !== _p$.e && setAttribute(_el$, "data-ribbon-group", _p$.e = _v$);
@@ -18854,11 +18925,11 @@ function RibbonGroup(props) {
18854
18925
  return _el$;
18855
18926
  })();
18856
18927
  }
18857
- var _tmpl$$x = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
18928
+ var _tmpl$$y = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
18858
18929
  function RibbonPanel(props) {
18859
18930
  const groups = () => buildRibbonGroups(props.items(), props.activeTab());
18860
18931
  return (() => {
18861
- var _el$ = _tmpl$$x();
18932
+ var _el$ = _tmpl$$y();
18862
18933
  insert(_el$, createComponent(For, {
18863
18934
  get each() {
18864
18935
  return groups();
@@ -18882,7 +18953,7 @@ function RibbonPanel(props) {
18882
18953
  return _el$;
18883
18954
  })();
18884
18955
  }
18885
- var _tmpl$$w = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$m = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
18956
+ var _tmpl$$x = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$n = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
18886
18957
  const shouldAllowNativeMouseDown = (target) => target instanceof Element && target.closest("select, input, textarea, label") !== null;
18887
18958
  function Toolbar(props) {
18888
18959
  const api = createToolbarApi(props.host);
@@ -18912,7 +18983,7 @@ function Toolbar(props) {
18912
18983
  })
18913
18984
  });
18914
18985
  return (() => {
18915
- var _el$ = _tmpl$$w();
18986
+ var _el$ = _tmpl$$x();
18916
18987
  _el$.$$mousedown = (event) => {
18917
18988
  if (shouldAllowNativeMouseDown(event.target)) {
18918
18989
  return;
@@ -18933,7 +19004,7 @@ function Toolbar(props) {
18933
19004
  return renderItems();
18934
19005
  }
18935
19006
  }) : (() => {
18936
- var _el$2 = _tmpl$2$m();
19007
+ var _el$2 = _tmpl$2$n();
18937
19008
  insert(_el$2, renderItems);
18938
19009
  return _el$2;
18939
19010
  })();
@@ -19262,10 +19333,10 @@ function createLayoutIdentityStabilizer() {
19262
19333
  return { pages };
19263
19334
  };
19264
19335
  }
19265
- var _tmpl$$v = /* @__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">`);
19336
+ var _tmpl$$w = /* @__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">`);
19266
19337
  function PageBreak(props) {
19267
19338
  return (() => {
19268
- var _el$ = _tmpl$$v(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
19339
+ var _el$ = _tmpl$$w(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
19269
19340
  insert(_el$3, () => t("metric.pageBreak") || "Page Break");
19270
19341
  return _el$;
19271
19342
  })();
@@ -19782,7 +19853,7 @@ function createCanvasPageRenderer(options) {
19782
19853
  }
19783
19854
  };
19784
19855
  }
19785
- var _tmpl$$u = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$l = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$e = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`);
19856
+ var _tmpl$$v = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$m = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`);
19786
19857
  const canvasTextMeasurer = {
19787
19858
  composeMeasuredParagraphLines: (options) => domTextMeasurer.composeMeasuredParagraphLines(options),
19788
19859
  resolveRenderedLineHeightPx: (styles, lineHeightMultiple) => domTextMeasurer.resolveRenderedLineHeightPx(styles, lineHeightMultiple)
@@ -19851,7 +19922,7 @@ function CanvasEditorSurface(props) {
19851
19922
  return layout;
19852
19923
  });
19853
19924
  return (() => {
19854
- var _el$ = _tmpl$$u();
19925
+ var _el$ = _tmpl$$v();
19855
19926
  insert(_el$, createComponent(Index, {
19856
19927
  get each() {
19857
19928
  return documentLayout().pages;
@@ -19863,7 +19934,7 @@ function CanvasEditorSurface(props) {
19863
19934
  // inserting an image that triggers re-pagination in a narrow viewport),
19864
19935
  // causing "Failed to execute 'insertBefore'" errors.
19865
19936
  (() => {
19866
- var _el$2 = _tmpl$2$l();
19937
+ var _el$2 = _tmpl$2$m();
19867
19938
  insert(_el$2, createComponent(Show, {
19868
19939
  when: index > 0,
19869
19940
  get children() {
@@ -19936,7 +20007,7 @@ function CanvasPage(props) {
19936
20007
  });
19937
20008
  onCleanup(() => renderer.dispose());
19938
20009
  return (() => {
19939
- var _el$3 = _tmpl$3$e(), _el$4 = _el$3.firstChild;
20010
+ var _el$3 = _tmpl$3$f(), _el$4 = _el$3.firstChild;
19940
20011
  addEventListener(_el$3, "dblclick", props.onSurfaceDblClick, true);
19941
20012
  addEventListener(_el$3, "mousemove", props.onSurfaceMouseMove, true);
19942
20013
  addEventListener(_el$3, "click", props.onSurfaceClick, true);
@@ -20274,7 +20345,7 @@ function computeRulerTicks(pageWidth, contentLeft, unit) {
20274
20345
  pushSide(-1);
20275
20346
  return ticks;
20276
20347
  }
20277
- var _tmpl$$t = /* @__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$k = /* @__PURE__ */ template(`<div>`), _tmpl$3$d = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
20348
+ var _tmpl$$u = /* @__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$l = /* @__PURE__ */ template(`<div>`), _tmpl$3$e = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
20278
20349
  function getActivePageSettings(state) {
20279
20350
  var _a;
20280
20351
  const idx = getActiveSectionIndex(state);
@@ -20477,7 +20548,7 @@ function HorizontalRuler(props) {
20477
20548
  }
20478
20549
  };
20479
20550
  return (() => {
20480
- var _el$ = _tmpl$$t(), _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;
20551
+ var _el$ = _tmpl$$u(), _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;
20481
20552
  var _ref$ = pageRef;
20482
20553
  typeof _ref$ === "function" ? use(_ref$, _el$3) : pageRef = _el$3;
20483
20554
  insert(_el$3, createComponent(For, {
@@ -20485,7 +20556,7 @@ function HorizontalRuler(props) {
20485
20556
  return ticks();
20486
20557
  },
20487
20558
  children: (tick) => [(() => {
20488
- var _el$11 = _tmpl$2$k();
20559
+ var _el$11 = _tmpl$2$l();
20489
20560
  createRenderEffect((_p$) => {
20490
20561
  var _v$27 = `oasis-editor-horizontal-ruler-tick oasis-editor-horizontal-ruler-tick-${tick.kind}`, _v$28 = `${tick.x}px`;
20491
20562
  _v$27 !== _p$.e && className(_el$11, _p$.e = _v$27);
@@ -20497,7 +20568,7 @@ function HorizontalRuler(props) {
20497
20568
  });
20498
20569
  return _el$11;
20499
20570
  })(), memo(() => memo(() => !!tick.label)() && (() => {
20500
- var _el$12 = _tmpl$3$d();
20571
+ var _el$12 = _tmpl$3$e();
20501
20572
  insert(_el$12, () => tick.label);
20502
20573
  createRenderEffect((_$p) => setStyleProperty(_el$12, "left", `${tick.x}px`));
20503
20574
  return _el$12;
@@ -20574,10 +20645,10 @@ function HorizontalRuler(props) {
20574
20645
  })();
20575
20646
  }
20576
20647
  delegateEvents(["pointerdown"]);
20577
- var _tmpl$$s = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
20648
+ var _tmpl$$t = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
20578
20649
  function CaretOverlay(props) {
20579
20650
  return (() => {
20580
- var _el$ = _tmpl$$s();
20651
+ var _el$ = _tmpl$$t();
20581
20652
  createRenderEffect((_p$) => {
20582
20653
  var _v$ = !!props.active, _v$2 = {
20583
20654
  left: `${props.left}px`,
@@ -20598,16 +20669,16 @@ function CaretOverlay(props) {
20598
20669
  return _el$;
20599
20670
  })();
20600
20671
  }
20601
- var _tmpl$$r = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$j = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
20672
+ var _tmpl$$s = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$k = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
20602
20673
  function SelectionOverlay(props) {
20603
20674
  return (() => {
20604
- var _el$ = _tmpl$$r();
20675
+ var _el$ = _tmpl$$s();
20605
20676
  insert(_el$, createComponent(Index, {
20606
20677
  get each() {
20607
20678
  return props.boxes;
20608
20679
  },
20609
20680
  children: (box) => (() => {
20610
- var _el$2 = _tmpl$2$j();
20681
+ var _el$2 = _tmpl$2$k();
20611
20682
  createRenderEffect((_p$) => {
20612
20683
  var _v$ = `${box().left}px`, _v$2 = `${box().top}px`, _v$3 = `${box().width}px`, _v$4 = `${box().height}px`;
20613
20684
  _v$ !== _p$.e && setStyleProperty(_el$2, "left", _p$.e = _v$);
@@ -20627,7 +20698,7 @@ function SelectionOverlay(props) {
20627
20698
  return _el$;
20628
20699
  })();
20629
20700
  }
20630
- var _tmpl$$q = /* @__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>`);
20701
+ var _tmpl$$r = /* @__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>`);
20631
20702
  function RevisionOverlay(props) {
20632
20703
  const formattedDate = () => {
20633
20704
  try {
@@ -20638,7 +20709,7 @@ function RevisionOverlay(props) {
20638
20709
  };
20639
20710
  const label = () => props.box.type === "insert" ? "Inserido por" : "Excluído por";
20640
20711
  return (() => {
20641
- var _el$ = _tmpl$$q(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
20712
+ var _el$ = _tmpl$$r(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
20642
20713
  _el$4.nextSibling;
20643
20714
  var _el$7 = _el$3.nextSibling;
20644
20715
  insert(_el$4, label, _el$5);
@@ -20656,7 +20727,7 @@ function RevisionOverlay(props) {
20656
20727
  return _el$;
20657
20728
  })();
20658
20729
  }
20659
- var _tmpl$$p = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$i = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$c = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$9 = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$8 = /* @__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>`);
20730
+ var _tmpl$$q = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$j = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$d = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$a = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$9 = /* @__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>`);
20660
20731
  function CommentHighlightOverlay(props) {
20661
20732
  const [activeCommentId, setActiveCommentId] = createSignal(null);
20662
20733
  const activeComment = createMemo(() => {
@@ -20683,13 +20754,13 @@ function CommentHighlightOverlay(props) {
20683
20754
  }
20684
20755
  };
20685
20756
  return (() => {
20686
- var _el$ = _tmpl$$p();
20757
+ var _el$ = _tmpl$$q();
20687
20758
  insert(_el$, createComponent(For, {
20688
20759
  get each() {
20689
20760
  return props.boxes();
20690
20761
  },
20691
20762
  children: (box) => (() => {
20692
- var _el$2 = _tmpl$2$i();
20763
+ var _el$2 = _tmpl$2$j();
20693
20764
  _el$2.$$click = () => setActiveCommentId(box.commentId);
20694
20765
  _el$2.addEventListener("mouseenter", () => setActiveCommentId(box.commentId));
20695
20766
  createRenderEffect((_p$) => {
@@ -20721,7 +20792,7 @@ function CommentHighlightOverlay(props) {
20721
20792
  const comment = activeComment();
20722
20793
  const anchor = popupAnchor();
20723
20794
  return (() => {
20724
- var _el$3 = _tmpl$5$8(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$8 = _el$4.nextSibling;
20795
+ var _el$3 = _tmpl$5$9(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$8 = _el$4.nextSibling;
20725
20796
  _el$3.addEventListener("mouseleave", () => setActiveCommentId(null));
20726
20797
  insert(_el$5, () => comment.author || "—");
20727
20798
  insert(_el$4, createComponent(Show, {
@@ -20729,7 +20800,7 @@ function CommentHighlightOverlay(props) {
20729
20800
  return comment.date !== void 0;
20730
20801
  },
20731
20802
  get children() {
20732
- var _el$6 = _tmpl$3$c();
20803
+ var _el$6 = _tmpl$3$d();
20733
20804
  insert(_el$6, () => formattedDate(comment.date));
20734
20805
  return _el$6;
20735
20806
  }
@@ -20739,7 +20810,7 @@ function CommentHighlightOverlay(props) {
20739
20810
  return comment.resolved;
20740
20811
  },
20741
20812
  get children() {
20742
- return _tmpl$4$9();
20813
+ return _tmpl$4$a();
20743
20814
  }
20744
20815
  }), null);
20745
20816
  insert(_el$8, () => comment.text);
@@ -20761,7 +20832,7 @@ function CommentHighlightOverlay(props) {
20761
20832
  })();
20762
20833
  }
20763
20834
  delegateEvents(["click"]);
20764
- var _tmpl$$o = /* @__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>`);
20835
+ var _tmpl$$p = /* @__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>`);
20765
20836
  function FloatingTableToolbar(props) {
20766
20837
  const host = () => props.host();
20767
20838
  const run = (command, payload) => host().commands.execute(command, payload);
@@ -20842,7 +20913,7 @@ function FloatingTableToolbar(props) {
20842
20913
  return document.body;
20843
20914
  },
20844
20915
  get children() {
20845
- var _el$ = _tmpl$$o(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
20916
+ var _el$ = _tmpl$$p(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
20846
20917
  _el$.$$mousedown = (event) => event.preventDefault();
20847
20918
  insert(_el$2, createComponent(Button$1, {
20848
20919
  icon: "combine",
@@ -21002,7 +21073,7 @@ function FloatingTableToolbar(props) {
21002
21073
  });
21003
21074
  }
21004
21075
  delegateEvents(["mousedown"]);
21005
- var _tmpl$$n = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$h = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$b = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$8 = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$7 = /* @__PURE__ */ template(`<svg viewBox="0 0 40 32"fill=none aria-hidden=true>`), _tmpl$6$3 = /* @__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>`);
21076
+ var _tmpl$$o = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$i = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$c = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$9 = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$8 = /* @__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>`);
21006
21077
  const WRAP_OPTIONS = [{
21007
21078
  preset: "square",
21008
21079
  labelKey: "layoutOptions.square"
@@ -21024,14 +21095,14 @@ const WRAP_OPTIONS = [{
21024
21095
  }];
21025
21096
  function WrapIcon(props) {
21026
21097
  const line = (x, y, w) => (() => {
21027
- var _el$ = _tmpl$$n();
21098
+ var _el$ = _tmpl$$o();
21028
21099
  setAttribute(_el$, "x", x);
21029
21100
  setAttribute(_el$, "y", y);
21030
21101
  setAttribute(_el$, "width", w);
21031
21102
  return _el$;
21032
21103
  })();
21033
21104
  const box = (x, y, w, h, fill = "#1a73e8") => (() => {
21034
- var _el$2 = _tmpl$2$h();
21105
+ var _el$2 = _tmpl$2$i();
21035
21106
  setAttribute(_el$2, "x", x);
21036
21107
  setAttribute(_el$2, "y", y);
21037
21108
  setAttribute(_el$2, "width", w);
@@ -21040,7 +21111,7 @@ function WrapIcon(props) {
21040
21111
  return _el$2;
21041
21112
  })();
21042
21113
  return (() => {
21043
- var _el$3 = _tmpl$5$7();
21114
+ var _el$3 = _tmpl$5$8();
21044
21115
  insert(_el$3, createComponent(Show, {
21045
21116
  get when() {
21046
21117
  return props.preset === "square";
@@ -21054,7 +21125,7 @@ function WrapIcon(props) {
21054
21125
  return props.preset === "tight";
21055
21126
  },
21056
21127
  get children() {
21057
- return [memo(() => line(4, 6, 12)), memo(() => line(4, 12, 10)), memo(() => line(4, 18, 12)), memo(() => line(4, 24, 32)), _tmpl$3$b()];
21128
+ return [memo(() => line(4, 6, 12)), memo(() => line(4, 12, 10)), memo(() => line(4, 18, 12)), memo(() => line(4, 24, 32)), _tmpl$3$c()];
21058
21129
  }
21059
21130
  }), null);
21060
21131
  insert(_el$3, createComponent(Show, {
@@ -21062,7 +21133,7 @@ function WrapIcon(props) {
21062
21133
  return props.preset === "through";
21063
21134
  },
21064
21135
  get children() {
21065
- return [memo(() => line(4, 6, 32)), memo(() => line(4, 12, 9)), memo(() => line(27, 12, 9)), memo(() => line(4, 18, 32)), _tmpl$4$8()];
21136
+ return [memo(() => line(4, 6, 32)), memo(() => line(4, 12, 9)), memo(() => line(27, 12, 9)), memo(() => line(4, 18, 32)), _tmpl$4$9()];
21066
21137
  }
21067
21138
  }), null);
21068
21139
  insert(_el$3, createComponent(Show, {
@@ -21151,7 +21222,7 @@ function FloatingLayoutOptions(props) {
21151
21222
  },
21152
21223
  get children() {
21153
21224
  return [(() => {
21154
- var _el$6 = _tmpl$6$3();
21225
+ var _el$6 = _tmpl$6$4();
21155
21226
  _el$6.$$click = () => setOpen((value) => !value);
21156
21227
  _el$6.$$mousedown = (event) => event.preventDefault();
21157
21228
  createRenderEffect((_p$) => {
@@ -34998,10 +35069,10 @@ function resolveResizedDimensions(geometry, deltaX, deltaY, preserveAspectRatio,
34998
35069
  nextHeight = clamp(nextWidth / aspectRatio, MIN_RESIZE_SIZE_PX);
34999
35070
  return { width: nextWidth, height: nextHeight };
35000
35071
  }
35001
- var _tmpl$$m = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$g = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$a = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
35072
+ var _tmpl$$n = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$h = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$b = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
35002
35073
  function ResizeHandlesOverlay(props) {
35003
35074
  return (() => {
35004
- var _el$ = _tmpl$2$g();
35075
+ var _el$ = _tmpl$2$h();
35005
35076
  _el$.$$mousedown = (event) => {
35006
35077
  if (props.readOnly || !props.box() || !props.onBodyMouseDown) {
35007
35078
  return;
@@ -35017,7 +35088,7 @@ function ResizeHandlesOverlay(props) {
35017
35088
  return [createComponent(For, {
35018
35089
  each: RESIZE_HANDLE_DIRECTIONS,
35019
35090
  children: (direction) => (() => {
35020
- var _el$3 = _tmpl$3$a();
35091
+ var _el$3 = _tmpl$3$b();
35021
35092
  _el$3.$$mousedown = (event) => {
35022
35093
  if (!props.box()) {
35023
35094
  return;
@@ -35032,7 +35103,7 @@ function ResizeHandlesOverlay(props) {
35032
35103
  return props.onRotateStart;
35033
35104
  },
35034
35105
  get children() {
35035
- var _el$2 = _tmpl$$m();
35106
+ var _el$2 = _tmpl$$n();
35036
35107
  _el$2.$$mousedown = (event) => {
35037
35108
  var _a;
35038
35109
  if (!props.box()) {
@@ -35073,7 +35144,7 @@ function ResizeHandlesOverlay(props) {
35073
35144
  })();
35074
35145
  }
35075
35146
  delegateEvents(["mousedown"]);
35076
- var _tmpl$$l = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content><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 class=oasis-editor-statusbar data-testid=editor-statusbar><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><span class=oasis-editor-statusbar-item>: 100%`), _tmpl$2$f = /* @__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$9 = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$4$7 = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`), _tmpl$5$6 = /* @__PURE__ */ template(`<span>`);
35147
+ var _tmpl$$m = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content><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 class=oasis-editor-statusbar data-testid=editor-statusbar><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><span class=oasis-editor-statusbar-item>: 100%`), _tmpl$2$g = /* @__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$a = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$4$8 = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`), _tmpl$5$7 = /* @__PURE__ */ template(`<span>`);
35077
35148
  function OasisEditorEditor(props) {
35078
35149
  const layout = () => props.layout ?? {};
35079
35150
  const overlays = () => props.overlays;
@@ -35161,7 +35232,7 @@ function OasisEditorEditor(props) {
35161
35232
  queueMicrotask(recomputeViewportPageIndex);
35162
35233
  });
35163
35234
  return (() => {
35164
- var _el$ = _tmpl$$l(), _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$2.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild;
35235
+ var _el$ = _tmpl$$m(), _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$2.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild;
35165
35236
  insert(_el$, createComponent(Show, {
35166
35237
  get when() {
35167
35238
  return memo(() => !!layout().showHorizontalRuler)() && overlays().toolbarHost;
@@ -35417,7 +35488,7 @@ function OasisEditorEditor(props) {
35417
35488
  const isDone = progress().phase === "done";
35418
35489
  const isError = progress().phase === "error";
35419
35490
  return (() => {
35420
- var _el$11 = _tmpl$2$f(), _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$15.nextSibling;
35491
+ var _el$11 = _tmpl$2$g(), _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$15.nextSibling;
35421
35492
  _el$11.classList.toggle("oasis-editor-import-overlay-done", !!isDone);
35422
35493
  _el$11.classList.toggle("oasis-editor-import-overlay-error", !!isError);
35423
35494
  setAttribute(_el$11, "aria-busy", !isDone && !isError);
@@ -35430,11 +35501,11 @@ function OasisEditorEditor(props) {
35430
35501
  _el$16.classList.toggle("oasis-editor-import-progress-bar-done", !!isDone);
35431
35502
  _el$16.classList.toggle("oasis-editor-import-progress-bar-error", !!isError);
35432
35503
  insert(_el$17, isDone ? (() => {
35433
- var _el$18 = _tmpl$3$9();
35504
+ var _el$18 = _tmpl$3$a();
35434
35505
  insert(_el$18, () => t("import.phase.done"));
35435
35506
  return _el$18;
35436
35507
  })() : isError ? (() => {
35437
- var _el$19 = _tmpl$4$7();
35508
+ var _el$19 = _tmpl$4$8();
35438
35509
  insert(_el$19, () => t("import.phase.error"));
35439
35510
  return _el$19;
35440
35511
  })() : [memo(() => Math.round(progress().progress)), "%"]);
@@ -35467,7 +35538,7 @@ function OasisEditorEditor(props) {
35467
35538
  return createComponent(Show, {
35468
35539
  when: key,
35469
35540
  get children() {
35470
- var _el$20 = _tmpl$5$6();
35541
+ var _el$20 = _tmpl$5$7();
35471
35542
  insert(_el$20, () => t(key));
35472
35543
  createRenderEffect(() => className(_el$20, `oasis-editor-statusbar-item oasis-editor-persistence-status oasis-editor-status-${status.replace("...", "ing").replace(".", "")}`));
35473
35544
  return _el$20;
@@ -35499,11 +35570,11 @@ function OasisEditorEditor(props) {
35499
35570
  })();
35500
35571
  }
35501
35572
  delegateEvents(["mousedown", "contextmenu", "input", "keydown"]);
35502
- var _tmpl$$k = /* @__PURE__ */ template(`<button>`);
35573
+ var _tmpl$$l = /* @__PURE__ */ template(`<button>`);
35503
35574
  function FloatingActionButton(props) {
35504
35575
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "class", "classList"]);
35505
35576
  return (() => {
35506
- var _el$ = _tmpl$$k();
35577
+ var _el$ = _tmpl$$l();
35507
35578
  spread(_el$, mergeProps({
35508
35579
  get type() {
35509
35580
  return local.type ?? "button";
@@ -35532,7 +35603,7 @@ function FloatingActionButton(props) {
35532
35603
  return _el$;
35533
35604
  })();
35534
35605
  }
35535
- var _tmpl$$j = /* @__PURE__ */ template(`<aside>`), _tmpl$2$e = /* @__PURE__ */ template(`<div>`);
35606
+ var _tmpl$$k = /* @__PURE__ */ template(`<aside>`), _tmpl$2$f = /* @__PURE__ */ template(`<div>`);
35536
35607
  function SidePanel(props) {
35537
35608
  const [local, others] = splitProps(props, ["mode", "width", "class", "classList", "children", "style"]);
35538
35609
  const width = () => {
@@ -35542,7 +35613,7 @@ function SidePanel(props) {
35542
35613
  return local.width ?? "360px";
35543
35614
  };
35544
35615
  return (() => {
35545
- var _el$ = _tmpl$$j();
35616
+ var _el$ = _tmpl$$k();
35546
35617
  spread(_el$, mergeProps({
35547
35618
  get ["class"]() {
35548
35619
  return `oasis-editor-plugin-side-panel ${local.class ?? ""}`;
@@ -35567,7 +35638,7 @@ function SidePanel(props) {
35567
35638
  function SidePanelHeader(props) {
35568
35639
  const [local, others] = splitProps(props, ["class", "children"]);
35569
35640
  return (() => {
35570
- var _el$2 = _tmpl$2$e();
35641
+ var _el$2 = _tmpl$2$f();
35571
35642
  spread(_el$2, mergeProps({
35572
35643
  get ["class"]() {
35573
35644
  return `oasis-editor-plugin-side-panel-header ${local.class ?? ""}`;
@@ -35580,7 +35651,7 @@ function SidePanelHeader(props) {
35580
35651
  function SidePanelBody(props) {
35581
35652
  const [local, others] = splitProps(props, ["class", "children"]);
35582
35653
  return (() => {
35583
- var _el$3 = _tmpl$2$e();
35654
+ var _el$3 = _tmpl$2$f();
35584
35655
  spread(_el$3, mergeProps({
35585
35656
  get ["class"]() {
35586
35657
  return `oasis-editor-plugin-side-panel-body ${local.class ?? ""}`;
@@ -35593,7 +35664,7 @@ function SidePanelBody(props) {
35593
35664
  function SidePanelFooter(props) {
35594
35665
  const [local, others] = splitProps(props, ["class", "children"]);
35595
35666
  return (() => {
35596
- var _el$4 = _tmpl$2$e();
35667
+ var _el$4 = _tmpl$2$f();
35597
35668
  spread(_el$4, mergeProps({
35598
35669
  get ["class"]() {
35599
35670
  return `oasis-editor-plugin-side-panel-footer ${local.class ?? ""}`;
@@ -35603,11 +35674,11 @@ function SidePanelFooter(props) {
35603
35674
  return _el$4;
35604
35675
  })();
35605
35676
  }
35606
- var _tmpl$$i = /* @__PURE__ */ template(`<button>`);
35677
+ var _tmpl$$j = /* @__PURE__ */ template(`<button>`);
35607
35678
  function IconButton(props) {
35608
35679
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "variant", "size", "class", "classList"]);
35609
35680
  return (() => {
35610
- var _el$ = _tmpl$$i();
35681
+ var _el$ = _tmpl$$j();
35611
35682
  spread(_el$, mergeProps({
35612
35683
  get type() {
35613
35684
  return local.type ?? "button";
@@ -35638,7 +35709,7 @@ function IconButton(props) {
35638
35709
  return _el$;
35639
35710
  })();
35640
35711
  }
35641
- var _tmpl$$h = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$d = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$8 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$6 = /* @__PURE__ */ template(`<span class=oasis-editor-plugin-side-panel-icon>`), _tmpl$5$5 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title><span>`);
35712
+ var _tmpl$$i = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$e = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$9 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$7 = /* @__PURE__ */ template(`<span class=oasis-editor-plugin-side-panel-icon>`), _tmpl$5$6 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title><span>`);
35642
35713
  const EMPTY_SNAPSHOT = {
35643
35714
  floatingActions: [],
35644
35715
  sidePanels: [],
@@ -35669,7 +35740,7 @@ function PluginUiHost(props) {
35669
35740
  return groupActionsByPlacement(actions());
35670
35741
  },
35671
35742
  children: (group) => (() => {
35672
- var _el$ = _tmpl$$h();
35743
+ var _el$ = _tmpl$$i();
35673
35744
  insert(_el$, createComponent(For, {
35674
35745
  get each() {
35675
35746
  return group.actions;
@@ -35698,7 +35769,7 @@ function PluginUiHost(props) {
35698
35769
  })()
35699
35770
  });
35700
35771
  return (() => {
35701
- var _el$2 = _tmpl$2$d(), _el$3 = _el$2.firstChild;
35772
+ var _el$2 = _tmpl$2$e(), _el$3 = _el$2.firstChild;
35702
35773
  insert(_el$3, resolvedChildren);
35703
35774
  insert(_el$2, createComponent(Show, {
35704
35775
  get when() {
@@ -35711,7 +35782,7 @@ function PluginUiHost(props) {
35711
35782
  return overlayPanel();
35712
35783
  },
35713
35784
  children: (panel) => (() => {
35714
- var _el$4 = _tmpl$3$8();
35785
+ var _el$4 = _tmpl$3$9();
35715
35786
  insert(_el$4, () => renderPanel(props.editor, panel()));
35716
35787
  return _el$4;
35717
35788
  })()
@@ -35762,13 +35833,13 @@ function renderPanel(editor, panel) {
35762
35833
  return [createComponent(SidePanelHeader, {
35763
35834
  get children() {
35764
35835
  return [(() => {
35765
- var _el$5 = _tmpl$5$5(), _el$7 = _el$5.firstChild;
35836
+ var _el$5 = _tmpl$5$6(), _el$7 = _el$5.firstChild;
35766
35837
  insert(_el$5, createComponent(Show, {
35767
35838
  get when() {
35768
35839
  return panel.icon;
35769
35840
  },
35770
35841
  get children() {
35771
- var _el$6 = _tmpl$4$6();
35842
+ var _el$6 = _tmpl$4$7();
35772
35843
  insert(_el$6, createComponent(ToolIcon, {
35773
35844
  get name() {
35774
35845
  return panel.icon;
@@ -35817,7 +35888,7 @@ function groupActionsByPlacement(actions) {
35817
35888
  actions: groupActions
35818
35889
  }));
35819
35890
  }
35820
- var _tmpl$$g = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
35891
+ var _tmpl$$h = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
35821
35892
  function DocumentShell(props) {
35822
35893
  let surfaceEl;
35823
35894
  let viewportEl;
@@ -35940,7 +36011,7 @@ function DocumentShell(props) {
35940
36011
  return props.runtimeEditor;
35941
36012
  },
35942
36013
  get children() {
35943
- var _el$ = _tmpl$$g(), _el$2 = _el$.firstChild;
36014
+ var _el$ = _tmpl$$h(), _el$2 = _el$.firstChild;
35944
36015
  insert(_el$, createComponent(Show, {
35945
36016
  get when() {
35946
36017
  return memo(() => !!props.showChrome)() && props.showOutline;
@@ -35997,10 +36068,10 @@ function DocumentShell(props) {
35997
36068
  }
35998
36069
  })];
35999
36070
  }
36000
- var _tmpl$$f = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$c = /* @__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">`);
36071
+ var _tmpl$$g = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$d = /* @__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">`);
36001
36072
  function InlineShell(props) {
36002
36073
  return (() => {
36003
- var _el$ = _tmpl$2$c();
36074
+ var _el$ = _tmpl$2$d();
36004
36075
  insert(_el$, createComponent(Show, {
36005
36076
  get when() {
36006
36077
  return memo(() => !!props.showChrome)() && props.showToolbar;
@@ -36027,7 +36098,7 @@ function InlineShell(props) {
36027
36098
  return props.runtimeEditor;
36028
36099
  },
36029
36100
  get children() {
36030
- var _el$2 = _tmpl$$f(), _el$3 = _el$2.firstChild;
36101
+ var _el$2 = _tmpl$$g(), _el$3 = _el$2.firstChild;
36031
36102
  insert(_el$3, createComponent(OasisEditorEditor, {
36032
36103
  state: () => props.state,
36033
36104
  get layout() {
@@ -36066,16 +36137,16 @@ function InlineShell(props) {
36066
36137
  return _el$;
36067
36138
  })();
36068
36139
  }
36069
- var _tmpl$$e = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$b = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
36140
+ var _tmpl$$f = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$c = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
36070
36141
  function BalloonShell(props) {
36071
36142
  return (() => {
36072
- var _el$ = _tmpl$2$b();
36143
+ var _el$ = _tmpl$2$c();
36073
36144
  insert(_el$, createComponent(PluginUiHost, {
36074
36145
  get editor() {
36075
36146
  return props.runtimeEditor;
36076
36147
  },
36077
36148
  get children() {
36078
- var _el$2 = _tmpl$$e(), _el$3 = _el$2.firstChild;
36149
+ var _el$2 = _tmpl$$f(), _el$3 = _el$2.firstChild;
36079
36150
  insert(_el$3, createComponent(OasisEditorEditor, {
36080
36151
  state: () => props.state,
36081
36152
  get layout() {
@@ -36114,7 +36185,7 @@ function BalloonShell(props) {
36114
36185
  return _el$;
36115
36186
  })();
36116
36187
  }
36117
- var _tmpl$$d = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$a = /* @__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>`);
36188
+ var _tmpl$$e = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$b = /* @__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>`);
36118
36189
  function Dialog(props) {
36119
36190
  let dialogRef;
36120
36191
  const fallbackTitleId = createUniqueId();
@@ -36138,7 +36209,7 @@ function Dialog(props) {
36138
36209
  return props.isOpen;
36139
36210
  },
36140
36211
  get children() {
36141
- var _el$ = _tmpl$2$a(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
36212
+ var _el$ = _tmpl$2$b(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
36142
36213
  _el$.$$click = () => {
36143
36214
  if (props.closeOnOverlayClick ?? true) {
36144
36215
  props.onClose();
@@ -36155,7 +36226,7 @@ function Dialog(props) {
36155
36226
  return props.footer;
36156
36227
  },
36157
36228
  get children() {
36158
- var _el$7 = _tmpl$$d();
36229
+ var _el$7 = _tmpl$$e();
36159
36230
  insert(_el$7, () => props.footer);
36160
36231
  return _el$7;
36161
36232
  }
@@ -36184,7 +36255,7 @@ function Dialog(props) {
36184
36255
  });
36185
36256
  }
36186
36257
  delegateEvents(["click"]);
36187
- var _tmpl$$c = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$9 = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$7 = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
36258
+ var _tmpl$$d = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$a = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$8 = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
36188
36259
  function findEnabledItem(items, startIndex, direction) {
36189
36260
  if (!items.length) return void 0;
36190
36261
  for (let step = 0; step < items.length; step += 1) {
@@ -36235,7 +36306,7 @@ function Tabs(props) {
36235
36306
  selectItem(findEnabledItem(items(), currentIndex + direction, direction), true);
36236
36307
  };
36237
36308
  return (() => {
36238
- var _el$ = _tmpl$$c(), _el$2 = _el$.firstChild;
36309
+ var _el$ = _tmpl$$d(), _el$2 = _el$.firstChild;
36239
36310
  _el$2.$$keydown = handleKeyDown;
36240
36311
  insert(_el$2, createComponent(For, {
36241
36312
  get each() {
@@ -36245,7 +36316,7 @@ function Tabs(props) {
36245
36316
  const tabId = `${baseId}-${item.id}-tab`;
36246
36317
  const panelId = `${baseId}-${item.id}-panel`;
36247
36318
  return (() => {
36248
- var _el$3 = _tmpl$2$9();
36319
+ var _el$3 = _tmpl$2$a();
36249
36320
  _el$3.$$click = () => selectItem(item);
36250
36321
  use((element) => {
36251
36322
  tabRefs[index()] = element;
@@ -36280,7 +36351,7 @@ function Tabs(props) {
36280
36351
  return items();
36281
36352
  },
36282
36353
  children: (item) => (() => {
36283
- var _el$4 = _tmpl$3$7();
36354
+ var _el$4 = _tmpl$3$8();
36284
36355
  insert(_el$4, () => item.panel);
36285
36356
  createRenderEffect((_p$) => {
36286
36357
  var _a, _b;
@@ -36312,12 +36383,12 @@ function Tabs(props) {
36312
36383
  })();
36313
36384
  }
36314
36385
  delegateEvents(["keydown", "click"]);
36315
- var _tmpl$$b = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
36386
+ var _tmpl$$c = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
36316
36387
  function Button(props) {
36317
36388
  const [local, others] = splitProps(props, ["type", "variant", "size", "icon", "iconPosition", "fullWidth", "class", "classList", "children"]);
36318
36389
  const iconPosition = () => local.iconPosition ?? "start";
36319
36390
  return (() => {
36320
- var _el$ = _tmpl$$b(), _el$2 = _el$.firstChild;
36391
+ var _el$ = _tmpl$$c(), _el$2 = _el$.firstChild;
36321
36392
  spread(_el$, mergeProps({
36322
36393
  get type() {
36323
36394
  return local.type ?? "button";
@@ -36362,7 +36433,7 @@ function Button(props) {
36362
36433
  return _el$;
36363
36434
  })();
36364
36435
  }
36365
- var _tmpl$$a = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _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$5 = /* @__PURE__ */ template(`<label><input class=oasis-editor-ui-input>`);
36436
+ var _tmpl$$b = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$2$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$7 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$6 = /* @__PURE__ */ template(`<label><input class=oasis-editor-ui-input>`);
36366
36437
  function TextField(props) {
36367
36438
  const fallbackId = createUniqueId();
36368
36439
  const [local, others] = splitProps(props, ["label", "description", "error", "onChange", "class", "id"]);
@@ -36370,13 +36441,13 @@ function TextField(props) {
36370
36441
  const descriptionId = () => `${id()}-description`;
36371
36442
  const errorId = () => `${id()}-error`;
36372
36443
  return (() => {
36373
- var _el$ = _tmpl$4$5(), _el$3 = _el$.firstChild;
36444
+ var _el$ = _tmpl$4$6(), _el$3 = _el$.firstChild;
36374
36445
  insert(_el$, createComponent(Show, {
36375
36446
  get when() {
36376
36447
  return local.label;
36377
36448
  },
36378
36449
  get children() {
36379
- var _el$2 = _tmpl$$a();
36450
+ var _el$2 = _tmpl$$b();
36380
36451
  insert(_el$2, () => local.label);
36381
36452
  return _el$2;
36382
36453
  }
@@ -36401,7 +36472,7 @@ function TextField(props) {
36401
36472
  return local.description;
36402
36473
  },
36403
36474
  get children() {
36404
- var _el$4 = _tmpl$2$8();
36475
+ var _el$4 = _tmpl$2$9();
36405
36476
  insert(_el$4, () => local.description);
36406
36477
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
36407
36478
  return _el$4;
@@ -36412,7 +36483,7 @@ function TextField(props) {
36412
36483
  return local.error;
36413
36484
  },
36414
36485
  get children() {
36415
- var _el$5 = _tmpl$3$6();
36486
+ var _el$5 = _tmpl$3$7();
36416
36487
  insert(_el$5, () => local.error);
36417
36488
  createRenderEffect(() => setAttribute(_el$5, "id", errorId()));
36418
36489
  return _el$5;
@@ -36431,7 +36502,7 @@ function TextField(props) {
36431
36502
  })();
36432
36503
  }
36433
36504
  delegateEvents(["input"]);
36434
- var _tmpl$$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$7 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$5 = /* @__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>`);
36505
+ var _tmpl$$a = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$6 = /* @__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>`);
36435
36506
  function Checkbox(props) {
36436
36507
  const fallbackId = createUniqueId();
36437
36508
  const [local, others] = splitProps(props, ["label", "description", "error", "onChange", "class", "id"]);
@@ -36439,7 +36510,7 @@ function Checkbox(props) {
36439
36510
  const descriptionId = () => `${id()}-description`;
36440
36511
  const errorId = () => `${id()}-error`;
36441
36512
  return (() => {
36442
- var _el$ = _tmpl$3$5(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
36513
+ var _el$ = _tmpl$3$6(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
36443
36514
  _el$2.addEventListener("change", (event) => {
36444
36515
  var _a;
36445
36516
  return (_a = local.onChange) == null ? void 0 : _a.call(local, event.currentTarget.checked);
@@ -36461,7 +36532,7 @@ function Checkbox(props) {
36461
36532
  return local.description;
36462
36533
  },
36463
36534
  get children() {
36464
- var _el$5 = _tmpl$$9();
36535
+ var _el$5 = _tmpl$$a();
36465
36536
  insert(_el$5, () => local.description);
36466
36537
  createRenderEffect(() => setAttribute(_el$5, "id", descriptionId()));
36467
36538
  return _el$5;
@@ -36472,7 +36543,7 @@ function Checkbox(props) {
36472
36543
  return local.error;
36473
36544
  },
36474
36545
  get children() {
36475
- var _el$6 = _tmpl$2$7();
36546
+ var _el$6 = _tmpl$2$8();
36476
36547
  insert(_el$6, () => local.error);
36477
36548
  createRenderEffect(() => setAttribute(_el$6, "id", errorId()));
36478
36549
  return _el$6;
@@ -36490,7 +36561,7 @@ function Checkbox(props) {
36490
36561
  return _el$;
36491
36562
  })();
36492
36563
  }
36493
- var _tmpl$$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$2$6 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$4 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$4 = /* @__PURE__ */ template(`<label><select class=oasis-editor-ui-select>`), _tmpl$5$4 = /* @__PURE__ */ template(`<option>`);
36564
+ var _tmpl$$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$2$7 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$5 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$5 = /* @__PURE__ */ template(`<label><select class=oasis-editor-ui-select>`), _tmpl$5$5 = /* @__PURE__ */ template(`<option>`);
36494
36565
  function SelectField(props) {
36495
36566
  const fallbackId = createUniqueId();
36496
36567
  const [local, others] = splitProps(props, ["label", "description", "error", "options", "onChange", "class", "id"]);
@@ -36498,13 +36569,13 @@ function SelectField(props) {
36498
36569
  const descriptionId = () => `${id()}-description`;
36499
36570
  const errorId = () => `${id()}-error`;
36500
36571
  return (() => {
36501
- var _el$ = _tmpl$4$4(), _el$3 = _el$.firstChild;
36572
+ var _el$ = _tmpl$4$5(), _el$3 = _el$.firstChild;
36502
36573
  insert(_el$, createComponent(Show, {
36503
36574
  get when() {
36504
36575
  return local.label;
36505
36576
  },
36506
36577
  get children() {
36507
- var _el$2 = _tmpl$$8();
36578
+ var _el$2 = _tmpl$$9();
36508
36579
  insert(_el$2, () => local.label);
36509
36580
  return _el$2;
36510
36581
  }
@@ -36529,7 +36600,7 @@ function SelectField(props) {
36529
36600
  return local.options;
36530
36601
  },
36531
36602
  children: (option) => (() => {
36532
- var _el$6 = _tmpl$5$4();
36603
+ var _el$6 = _tmpl$5$5();
36533
36604
  insert(_el$6, () => option.label);
36534
36605
  createRenderEffect(() => _el$6.disabled = option.disabled);
36535
36606
  createRenderEffect(() => _el$6.value = option.value);
@@ -36541,7 +36612,7 @@ function SelectField(props) {
36541
36612
  return local.description;
36542
36613
  },
36543
36614
  get children() {
36544
- var _el$4 = _tmpl$2$6();
36615
+ var _el$4 = _tmpl$2$7();
36545
36616
  insert(_el$4, () => local.description);
36546
36617
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
36547
36618
  return _el$4;
@@ -36552,7 +36623,7 @@ function SelectField(props) {
36552
36623
  return local.error;
36553
36624
  },
36554
36625
  get children() {
36555
- var _el$5 = _tmpl$3$4();
36626
+ var _el$5 = _tmpl$3$5();
36556
36627
  insert(_el$5, () => local.error);
36557
36628
  createRenderEffect(() => setAttribute(_el$5, "id", errorId()));
36558
36629
  return _el$5;
@@ -36570,11 +36641,11 @@ function SelectField(props) {
36570
36641
  return _el$;
36571
36642
  })();
36572
36643
  }
36573
- var _tmpl$$7 = /* @__PURE__ */ template(`<div>`);
36644
+ var _tmpl$$8 = /* @__PURE__ */ template(`<div>`);
36574
36645
  function DialogFooter(props) {
36575
36646
  const [local, others] = splitProps(props, ["align", "class", "classList", "children"]);
36576
36647
  return (() => {
36577
- var _el$ = _tmpl$$7();
36648
+ var _el$ = _tmpl$$8();
36578
36649
  spread(_el$, mergeProps({
36579
36650
  get ["class"]() {
36580
36651
  return `oasis-editor-ui-dialog-footer ${local.class ?? ""}`;
@@ -36850,7 +36921,7 @@ const UNDERLINE_STYLE_OPTIONS = [
36850
36921
  }
36851
36922
  }
36852
36923
  ];
36853
- var _tmpl$$6 = /* @__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$3 = /* @__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$3 = /* @__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$2 = /* @__PURE__ */ template(`<span class=oasis-editor-underline-menu-stroke>`);
36924
+ var _tmpl$$7 = /* @__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$4 = /* @__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>`);
36854
36925
  const mod$1 = /Mac/i.test(navigator.userAgent) ? "⌘" : "Ctrl";
36855
36926
  const UNDERLINE_BUTTON_TOOLTIP = `${t("toolbar.underline")} (${mod$1}+U)`;
36856
36927
  const TEST_ID = "editor-toolbar-underline";
@@ -36900,14 +36971,14 @@ function UnderlineControl(props) {
36900
36971
  panelRole: "menu",
36901
36972
  get mainContent() {
36902
36973
  return (() => {
36903
- var _el$5 = _tmpl$3$3(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
36974
+ var _el$5 = _tmpl$3$4(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
36904
36975
  createRenderEffect(() => setAttribute(_el$7, "data-style", indicatorStyle()));
36905
36976
  return _el$5;
36906
36977
  })();
36907
36978
  },
36908
36979
  get children() {
36909
36980
  return [(() => {
36910
- var _el$ = _tmpl$$6(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
36981
+ var _el$ = _tmpl$$7(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
36911
36982
  _el$.$$click = () => {
36912
36983
  removeUnderline();
36913
36984
  setOpen(false);
@@ -36915,13 +36986,13 @@ function UnderlineControl(props) {
36915
36986
  insert(_el$3, () => t("toolbar.underlineRemove"));
36916
36987
  return _el$;
36917
36988
  })(), (() => {
36918
- var _el$4 = _tmpl$2$5();
36989
+ var _el$4 = _tmpl$2$6();
36919
36990
  insert(_el$4, createComponent(For, {
36920
36991
  each: UNDERLINE_STYLE_OPTIONS,
36921
36992
  children: (option) => {
36922
36993
  const isActive = () => active() && activeStyleValue() === option.value.toLowerCase();
36923
36994
  return (() => {
36924
- var _el$8 = _tmpl$5$3(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling;
36995
+ var _el$8 = _tmpl$5$4(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling;
36925
36996
  _el$8.$$click = () => {
36926
36997
  applyUnderlineStyle(option.value);
36927
36998
  setOpen(false);
@@ -36932,7 +37003,7 @@ function UnderlineControl(props) {
36932
37003
  },
36933
37004
  get fallback() {
36934
37005
  return (() => {
36935
- var _el$10 = _tmpl$6$2();
37006
+ var _el$10 = _tmpl$6$3();
36936
37007
  createRenderEffect((_$p) => style(_el$10, option.preview.borderStyle === "wavy" ? void 0 : {
36937
37008
  "border-bottom-style": option.preview.borderStyle,
36938
37009
  "border-bottom-width": option.preview.borderBottomWidth ?? "1px"
@@ -36941,7 +37012,7 @@ function UnderlineControl(props) {
36941
37012
  })();
36942
37013
  },
36943
37014
  get children() {
36944
- var _el$0 = _tmpl$4$3();
37015
+ var _el$0 = _tmpl$4$4();
36945
37016
  createRenderEffect(() => _el$0.innerHTML = option.preview.svg);
36946
37017
  return _el$0;
36947
37018
  }
@@ -36970,7 +37041,7 @@ function UnderlineControl(props) {
36970
37041
  });
36971
37042
  }
36972
37043
  delegateEvents(["click"]);
36973
- var _tmpl$$5 = /* @__PURE__ */ template(`<option value=decimal>`), _tmpl$2$4 = /* @__PURE__ */ template(`<option value=lowerLetter>`), _tmpl$3$2 = /* @__PURE__ */ template(`<option value=upperLetter>`), _tmpl$4$2 = /* @__PURE__ */ template(`<option value=lowerRoman>`), _tmpl$5$2 = /* @__PURE__ */ template(`<option value=upperRoman>`), _tmpl$6$1 = /* @__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>`);
37044
+ var _tmpl$$6 = /* @__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$3 = /* @__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>`);
36974
37045
  function ListOptionsControl(props) {
36975
37046
  const api = props.api;
36976
37047
  return createComponent(Menu, {
@@ -36991,27 +37062,27 @@ function ListOptionsControl(props) {
36991
37062
  },
36992
37063
  get children() {
36993
37064
  return [(() => {
36994
- var _el$4 = _tmpl$$5();
37065
+ var _el$4 = _tmpl$$6();
36995
37066
  insert(_el$4, () => t("toolbar.formatDecimal"));
36996
37067
  return _el$4;
36997
37068
  })(), (() => {
36998
- var _el$5 = _tmpl$2$4();
37069
+ var _el$5 = _tmpl$2$5();
36999
37070
  insert(_el$5, () => t("toolbar.formatLowerLetter"));
37000
37071
  return _el$5;
37001
37072
  })(), (() => {
37002
- var _el$6 = _tmpl$3$2();
37073
+ var _el$6 = _tmpl$3$3();
37003
37074
  insert(_el$6, () => t("toolbar.formatUpperLetter"));
37004
37075
  return _el$6;
37005
37076
  })(), (() => {
37006
- var _el$7 = _tmpl$4$2();
37077
+ var _el$7 = _tmpl$4$3();
37007
37078
  insert(_el$7, () => t("toolbar.formatLowerRoman"));
37008
37079
  return _el$7;
37009
37080
  })(), (() => {
37010
- var _el$8 = _tmpl$5$2();
37081
+ var _el$8 = _tmpl$5$3();
37011
37082
  insert(_el$8, () => t("toolbar.formatUpperRoman"));
37012
37083
  return _el$8;
37013
37084
  })(), (() => {
37014
- var _el$9 = _tmpl$6$1();
37085
+ var _el$9 = _tmpl$6$2();
37015
37086
  insert(_el$9, () => t("toolbar.formatBullet"));
37016
37087
  return _el$9;
37017
37088
  })()];
@@ -37024,7 +37095,7 @@ function ListOptionsControl(props) {
37024
37095
  }
37025
37096
  });
37026
37097
  }
37027
- var _tmpl$$4 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-row><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0.5 step=0.05 data-testid=editor-line-spacing-dialog-line-height>`), _tmpl$2$3 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-row><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0 step=1 data-testid=editor-line-spacing-dialog-spacing-before></div><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0 step=1 data-testid=editor-line-spacing-dialog-spacing-after>`), _tmpl$3$1 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-input-group><label class=oasis-editor-dialog-label></label><div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`), _tmpl$4$1 = /* @__PURE__ */ template(`<button class="oasis-editor-dialog-button oasis-editor-dialog-button-secondary"data-testid=editor-line-spacing-dialog-cancel>`), _tmpl$5$1 = /* @__PURE__ */ template(`<button class="oasis-editor-dialog-button oasis-editor-dialog-button-primary"data-testid=editor-line-spacing-dialog-apply>`);
37098
+ var _tmpl$$5 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-row><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0.5 step=0.05 data-testid=editor-line-spacing-dialog-line-height>`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-row><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0 step=1 data-testid=editor-line-spacing-dialog-spacing-before></div><div class="oasis-editor-dialog-input-group oasis-editor-dialog-input-group-grow"><label class=oasis-editor-dialog-label></label><input type=number class=oasis-editor-dialog-input min=0 step=1 data-testid=editor-line-spacing-dialog-spacing-after>`), _tmpl$3$2 = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-input-group><label class=oasis-editor-dialog-label></label><div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`), _tmpl$4$2 = /* @__PURE__ */ template(`<button class="oasis-editor-dialog-button oasis-editor-dialog-button-secondary"data-testid=editor-line-spacing-dialog-cancel>`), _tmpl$5$2 = /* @__PURE__ */ template(`<button class="oasis-editor-dialog-button oasis-editor-dialog-button-primary"data-testid=editor-line-spacing-dialog-apply>`);
37028
37099
  function LineSpacingDialog(props) {
37029
37100
  const [lineHeight, setLineHeight] = createSignal("");
37030
37101
  const [spacingBefore, setSpacingBefore] = createSignal("");
@@ -37067,12 +37138,12 @@ function LineSpacingDialog(props) {
37067
37138
  },
37068
37139
  get footer() {
37069
37140
  return [(() => {
37070
- var _el$14 = _tmpl$4$1();
37141
+ var _el$14 = _tmpl$4$2();
37071
37142
  addEventListener(_el$14, "click", props.onClose, true);
37072
37143
  insert(_el$14, () => t("generic.cancel"));
37073
37144
  return _el$14;
37074
37145
  })(), (() => {
37075
- var _el$15 = _tmpl$5$1();
37146
+ var _el$15 = _tmpl$5$2();
37076
37147
  _el$15.$$click = handleApply;
37077
37148
  insert(_el$15, () => t("generic.apply"));
37078
37149
  return _el$15;
@@ -37080,13 +37151,13 @@ function LineSpacingDialog(props) {
37080
37151
  },
37081
37152
  get children() {
37082
37153
  return [(() => {
37083
- var _el$ = _tmpl$$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
37154
+ var _el$ = _tmpl$$5(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
37084
37155
  insert(_el$3, () => t("lineSpacing.lineSpacingLabel"));
37085
37156
  _el$4.$$input = (e) => setLineHeight(e.currentTarget.value);
37086
37157
  createRenderEffect(() => _el$4.value = lineHeight());
37087
37158
  return _el$;
37088
37159
  })(), (() => {
37089
- var _el$5 = _tmpl$2$3(), _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling;
37160
+ var _el$5 = _tmpl$2$4(), _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling;
37090
37161
  insert(_el$7, () => t("lineSpacing.spacingBeforeLabel"));
37091
37162
  _el$8.$$input = (e) => setSpacingBefore(e.currentTarget.value);
37092
37163
  insert(_el$0, () => t("lineSpacing.spacingAfterLabel"));
@@ -37095,7 +37166,7 @@ function LineSpacingDialog(props) {
37095
37166
  createRenderEffect(() => _el$1.value = spacingAfter());
37096
37167
  return _el$5;
37097
37168
  })(), (() => {
37098
- var _el$10 = _tmpl$3$1(), _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling, _el$13 = _el$12.firstChild;
37169
+ var _el$10 = _tmpl$3$2(), _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling, _el$13 = _el$12.firstChild;
37099
37170
  insert(_el$11, () => t("lineSpacing.preview"));
37100
37171
  insert(_el$12, () => t("lineSpacing.previewText"), _el$13);
37101
37172
  insert(_el$12, () => t("lineSpacing.previewText"), null);
@@ -37106,7 +37177,7 @@ function LineSpacingDialog(props) {
37106
37177
  });
37107
37178
  }
37108
37179
  delegateEvents(["input", "click"]);
37109
- var _tmpl$$3 = /* @__PURE__ */ template(`<div class=oasis-editor-line-spacing-menu-separator role=separator>`), _tmpl$2$2 = /* @__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 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4 = /* @__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 = /* @__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 = /* @__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>`);
37180
+ var _tmpl$$4 = /* @__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$1 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$1 = /* @__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>`);
37110
37181
  const PRESET_VALUES = [1, 1.15, 1.5, 2, 2.5, 3];
37111
37182
  function formatPreset(value) {
37112
37183
  return value.toFixed(value === Math.floor(value) ? 1 : 2);
@@ -37163,7 +37234,7 @@ function LineSpacingButton(props) {
37163
37234
  api.focusEditor();
37164
37235
  };
37165
37236
  return (() => {
37166
- var _el$ = _tmpl$3();
37237
+ var _el$ = _tmpl$3$1();
37167
37238
  insert(_el$, createComponent(Popover, {
37168
37239
  get open() {
37169
37240
  return isOpen();
@@ -37172,7 +37243,7 @@ function LineSpacingButton(props) {
37172
37243
  panelRole: "menu",
37173
37244
  panelClass: "oasis-editor-toolbar-dropdown-menu oasis-editor-line-spacing-menu",
37174
37245
  trigger: (popover) => (() => {
37175
- var _el$6 = _tmpl$4();
37246
+ var _el$6 = _tmpl$4$1();
37176
37247
  _el$6.$$click = () => popover.toggle();
37177
37248
  use((el) => popover.ref(el), _el$6);
37178
37249
  createRenderEffect((_p$) => {
@@ -37200,14 +37271,14 @@ function LineSpacingButton(props) {
37200
37271
  return lh !== null && approxEqual(lh, value);
37201
37272
  };
37202
37273
  return (() => {
37203
- var _el$7 = _tmpl$6(), _el$8 = _el$7.firstChild, _el$0 = _el$8.nextSibling;
37274
+ var _el$7 = _tmpl$6$1(), _el$8 = _el$7.firstChild, _el$0 = _el$8.nextSibling;
37204
37275
  _el$7.$$click = () => applyPreset(value);
37205
37276
  insert(_el$8, createComponent(Show, {
37206
37277
  get when() {
37207
37278
  return isActive();
37208
37279
  },
37209
37280
  get children() {
37210
- return _tmpl$5();
37281
+ return _tmpl$5$1();
37211
37282
  }
37212
37283
  }));
37213
37284
  insert(_el$0, label);
@@ -37227,8 +37298,8 @@ function LineSpacingButton(props) {
37227
37298
  return _el$7;
37228
37299
  })();
37229
37300
  }
37230
- }), _tmpl$$3(), (() => {
37231
- var _el$3 = _tmpl$2$2(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
37301
+ }), _tmpl$$4(), (() => {
37302
+ var _el$3 = _tmpl$2$3(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
37232
37303
  _el$3.$$click = openDialog;
37233
37304
  insert(_el$5, () => t("metric.lineSpacingOptions"));
37234
37305
  return _el$3;
@@ -37260,7 +37331,7 @@ function LineSpacingButton(props) {
37260
37331
  })();
37261
37332
  }
37262
37333
  delegateEvents(["click"]);
37263
- var _tmpl$$2 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$1 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-panel-grid><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-spacing-after min=0 step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-left min=0 step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-first-line step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-hanging min=0 step=1></label><label class=oasis-editor-tool-color><span></span><input type=color class=oasis-editor-tool-color-input data-testid=editor-toolbar-paragraph-shading>`);
37334
+ var _tmpl$$3 = /* @__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><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-spacing-after min=0 step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-left min=0 step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-first-line step=1></label><label class=oasis-editor-tool-metric><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-indent-hanging min=0 step=1></label><label class=oasis-editor-tool-color><span></span><input type=color class=oasis-editor-tool-color-input data-testid=editor-toolbar-paragraph-shading>`);
37264
37335
  const numValue = (api, command) => {
37265
37336
  const value = api.commands.state(command).value;
37266
37337
  return value == null ? "" : String(value);
@@ -37279,7 +37350,7 @@ function MetricGroup(props) {
37279
37350
  keepMounted: true,
37280
37351
  get children() {
37281
37352
  return [(() => {
37282
- var _el$ = _tmpl$$2();
37353
+ var _el$ = _tmpl$$3();
37283
37354
  insert(_el$, createComponent(Button$1, {
37284
37355
  icon: "file-up",
37285
37356
  get active() {
@@ -37304,7 +37375,7 @@ function MetricGroup(props) {
37304
37375
  }), null);
37305
37376
  return _el$;
37306
37377
  })(), (() => {
37307
- var _el$2 = _tmpl$2$1(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$9.nextSibling, _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling, _el$13 = _el$10.nextSibling, _el$14 = _el$13.firstChild, _el$15 = _el$14.nextSibling;
37378
+ var _el$2 = _tmpl$2$2(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$9.nextSibling, _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling, _el$13 = _el$10.nextSibling, _el$14 = _el$13.firstChild, _el$15 = _el$14.nextSibling;
37308
37379
  insert(_el$4, () => t("metric.after"));
37309
37380
  addEventListener(_el$5, "change", onNumber("setSpacingAfter"));
37310
37381
  insert(_el$7, () => t("metric.indent"));
@@ -37349,7 +37420,7 @@ function MetricGroup(props) {
37349
37420
  });
37350
37421
  }
37351
37422
  delegateEvents(["input"]);
37352
- var _tmpl$$1 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-badge data-testid=editor-table-selection-label>`);
37423
+ var _tmpl$$2 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$1 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-badge data-testid=editor-table-selection-label>`);
37353
37424
  function TableGroup(props) {
37354
37425
  const api = props.api;
37355
37426
  const disabled = (command) => !api.commands.state(command).isEnabled;
@@ -37365,7 +37436,7 @@ function TableGroup(props) {
37365
37436
  keepMounted: true,
37366
37437
  get children() {
37367
37438
  return [(() => {
37368
- var _el$ = _tmpl$$1();
37439
+ var _el$ = _tmpl$$2();
37369
37440
  insert(_el$, createComponent(Button$1, {
37370
37441
  icon: "combine",
37371
37442
  "data-testid": "editor-toolbar-merge-table",
@@ -37390,7 +37461,7 @@ function TableGroup(props) {
37390
37461
  }), null);
37391
37462
  return _el$;
37392
37463
  })(), (() => {
37393
- var _el$2 = _tmpl$$1();
37464
+ var _el$2 = _tmpl$$2();
37394
37465
  insert(_el$2, createComponent(Button$1, {
37395
37466
  icon: "columns",
37396
37467
  "data-testid": "editor-toolbar-insert-table-column-before",
@@ -37426,7 +37497,7 @@ function TableGroup(props) {
37426
37497
  }), null);
37427
37498
  return _el$2;
37428
37499
  })(), (() => {
37429
- var _el$3 = _tmpl$$1();
37500
+ var _el$3 = _tmpl$$2();
37430
37501
  insert(_el$3, createComponent(Button$1, {
37431
37502
  icon: "rows",
37432
37503
  "data-testid": "editor-toolbar-insert-table-row-before",
@@ -37462,7 +37533,7 @@ function TableGroup(props) {
37462
37533
  }), null);
37463
37534
  return _el$3;
37464
37535
  })(), (() => {
37465
- var _el$4 = _tmpl$$1();
37536
+ var _el$4 = _tmpl$$2();
37466
37537
  insert(_el$4, createComponent(Button$1, {
37467
37538
  icon: "palette",
37468
37539
  "data-testid": "editor-toolbar-table-shading",
@@ -37492,7 +37563,7 @@ function TableGroup(props) {
37492
37563
  }), null);
37493
37564
  return _el$4;
37494
37565
  })(), (() => {
37495
- var _el$5 = _tmpl$$1();
37566
+ var _el$5 = _tmpl$$2();
37496
37567
  insert(_el$5, createComponent(Button$1, {
37497
37568
  icon: "maximize",
37498
37569
  "data-testid": "editor-toolbar-table-width-100",
@@ -37503,7 +37574,7 @@ function TableGroup(props) {
37503
37574
  }));
37504
37575
  return _el$5;
37505
37576
  })(), (() => {
37506
- var _el$6 = _tmpl$$1();
37577
+ var _el$6 = _tmpl$$2();
37507
37578
  insert(_el$6, createComponent(Button$1, {
37508
37579
  icon: "align-left",
37509
37580
  "data-testid": "editor-toolbar-table-align-left",
@@ -37545,7 +37616,7 @@ function TableGroup(props) {
37545
37616
  return selectionLabel();
37546
37617
  },
37547
37618
  children: (label) => (() => {
37548
- var _el$7 = _tmpl$2();
37619
+ var _el$7 = _tmpl$2$1();
37549
37620
  insert(_el$7, label);
37550
37621
  return _el$7;
37551
37622
  })()
@@ -37553,21 +37624,23 @@ function TableGroup(props) {
37553
37624
  }
37554
37625
  });
37555
37626
  }
37556
- var _tmpl$ = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`);
37627
+ var _tmpl$$1 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`);
37557
37628
  function SectionGroup(props) {
37558
37629
  const api = props.api;
37559
37630
  return createComponent(Menu, {
37560
37631
  icon: "layout-template",
37632
+ get label() {
37633
+ return t("section.orientation");
37634
+ },
37561
37635
  testId: "editor-toolbar-section-dropdown",
37562
37636
  get tooltip() {
37563
37637
  return t("section.pageSetup");
37564
37638
  },
37565
- hideChevron: true,
37566
37639
  panelClass: "oasis-editor-toolbar-panel",
37567
37640
  keepMounted: true,
37568
37641
  get children() {
37569
37642
  return [(() => {
37570
- var _el$ = _tmpl$();
37643
+ var _el$ = _tmpl$$1();
37571
37644
  insert(_el$, createComponent(Button$1, {
37572
37645
  icon: "rectangle-vertical",
37573
37646
  get active() {
@@ -37598,7 +37671,7 @@ function SectionGroup(props) {
37598
37671
  }), null);
37599
37672
  return _el$;
37600
37673
  })(), (() => {
37601
- var _el$2 = _tmpl$();
37674
+ var _el$2 = _tmpl$$1();
37602
37675
  insert(_el$2, createComponent(Button$1, {
37603
37676
  icon: "scissors",
37604
37677
  "data-testid": "editor-toolbar-section-break-next",
@@ -37620,6 +37693,202 @@ function SectionGroup(props) {
37620
37693
  }
37621
37694
  });
37622
37695
  }
37696
+ const CM_TO_PX = 96 / 2.54;
37697
+ function cmToPx(cm) {
37698
+ return Math.round(cm * CM_TO_PX);
37699
+ }
37700
+ function pxToCm(px) {
37701
+ return Math.round(px / CM_TO_PX * 100) / 100;
37702
+ }
37703
+ const MARGIN_PRESETS = [
37704
+ {
37705
+ id: "normal",
37706
+ labelKey: "section.marginPreset.normal",
37707
+ top: 2.5,
37708
+ bottom: 2.5,
37709
+ left: 3,
37710
+ right: 3
37711
+ },
37712
+ {
37713
+ id: "narrow",
37714
+ labelKey: "section.marginPreset.narrow",
37715
+ top: 1.27,
37716
+ bottom: 1.27,
37717
+ left: 1.27,
37718
+ right: 1.27
37719
+ },
37720
+ {
37721
+ id: "moderate",
37722
+ labelKey: "section.marginPreset.moderate",
37723
+ top: 2.54,
37724
+ bottom: 2.54,
37725
+ left: 1.91,
37726
+ right: 1.91
37727
+ },
37728
+ {
37729
+ id: "wide",
37730
+ labelKey: "section.marginPreset.wide",
37731
+ top: 2.54,
37732
+ bottom: 2.54,
37733
+ left: 5.08,
37734
+ right: 5.08
37735
+ },
37736
+ {
37737
+ id: "mirrored",
37738
+ labelKey: "section.marginPreset.mirrored",
37739
+ top: 2.54,
37740
+ bottom: 2.54,
37741
+ left: 3.18,
37742
+ right: 2.54
37743
+ }
37744
+ ];
37745
+ function presetMarginsPx(preset) {
37746
+ return {
37747
+ top: cmToPx(preset.top),
37748
+ bottom: cmToPx(preset.bottom),
37749
+ left: cmToPx(preset.left),
37750
+ right: cmToPx(preset.right)
37751
+ };
37752
+ }
37753
+ function marginsMatchPreset(margins, preset) {
37754
+ const target = presetMarginsPx(preset);
37755
+ return Math.abs(margins.top - target.top) <= 1 && Math.abs(margins.bottom - target.bottom) <= 1 && Math.abs(margins.left - target.left) <= 1 && Math.abs(margins.right - target.right) <= 1;
37756
+ }
37757
+ var _tmpl$ = /* @__PURE__ */ template(`<div class=oasis-editor-margins-list>`), _tmpl$2 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-form>`), _tmpl$3 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><button type=button class=oasis-editor-margins-custom-toggle data-testid=editor-toolbar-margins-custom><i data-lucide=sliders-horizontal></i><span>`), _tmpl$4 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-actions><button type=button class=oasis-editor-margins-custom-apply data-testid=editor-toolbar-margins-custom-apply>`), _tmpl$5 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-margins-item><span class=oasis-editor-margins-item-name></span><span class=oasis-editor-margins-item-values><br>`), _tmpl$6 = /* @__PURE__ */ template(`<label class=oasis-editor-margins-custom-field><span></span><input type=number min=0 step=0.1>`);
37758
+ const FIELDS = [{
37759
+ key: "top",
37760
+ labelKey: "section.marginField.top"
37761
+ }, {
37762
+ key: "bottom",
37763
+ labelKey: "section.marginField.bottom"
37764
+ }, {
37765
+ key: "left",
37766
+ labelKey: "section.marginField.left"
37767
+ }, {
37768
+ key: "right",
37769
+ labelKey: "section.marginField.right"
37770
+ }];
37771
+ function formatCm(cm) {
37772
+ return t("section.marginValue", [String(cm).replace(".", t("number.decimalSeparator"))]);
37773
+ }
37774
+ function MarginsGroup(props) {
37775
+ const api = props.api;
37776
+ const [showCustom, setShowCustom] = createSignal(false);
37777
+ const [draft, setDraft] = createSignal({});
37778
+ const current = createMemo(() => api.commands.state("setPageMargins").value);
37779
+ const activePresetId = createMemo(() => {
37780
+ var _a;
37781
+ const margins = current();
37782
+ if (!margins) return void 0;
37783
+ return (_a = MARGIN_PRESETS.find((preset) => marginsMatchPreset(margins, preset))) == null ? void 0 : _a.id;
37784
+ });
37785
+ const applyPreset = (preset) => {
37786
+ api.commands.execute("setPageMargins", presetMarginsPx(preset));
37787
+ api.focusEditor();
37788
+ };
37789
+ const openCustom = () => {
37790
+ const margins = current();
37791
+ setDraft({
37792
+ top: margins ? String(pxToCm(margins.top)) : "",
37793
+ bottom: margins ? String(pxToCm(margins.bottom)) : "",
37794
+ left: margins ? String(pxToCm(margins.left)) : "",
37795
+ right: margins ? String(pxToCm(margins.right)) : ""
37796
+ });
37797
+ setShowCustom((v) => !v);
37798
+ };
37799
+ const applyCustom = () => {
37800
+ const d = draft();
37801
+ const payload = {};
37802
+ for (const {
37803
+ key
37804
+ } of FIELDS) {
37805
+ const raw = d[key];
37806
+ if (raw == null || raw === "") continue;
37807
+ const cm = Number(raw.replace(",", "."));
37808
+ if (Number.isFinite(cm) && cm >= 0) payload[key] = cmToPx(cm);
37809
+ }
37810
+ if (Object.keys(payload).length > 0) {
37811
+ api.commands.execute("setPageMargins", payload);
37812
+ }
37813
+ api.focusEditor();
37814
+ };
37815
+ return createComponent(Menu, {
37816
+ icon: "square-dashed",
37817
+ get label() {
37818
+ return t("section.margins");
37819
+ },
37820
+ testId: "editor-toolbar-margins-dropdown",
37821
+ get tooltip() {
37822
+ return t("section.margins");
37823
+ },
37824
+ panelClass: "oasis-editor-toolbar-panel oasis-editor-margins-panel",
37825
+ keepMounted: true,
37826
+ get children() {
37827
+ return [(() => {
37828
+ var _el$ = _tmpl$();
37829
+ insert(_el$, createComponent(For, {
37830
+ each: MARGIN_PRESETS,
37831
+ children: (preset) => (() => {
37832
+ var _el$9 = _tmpl$5(), _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild;
37833
+ _el$9.$$click = () => applyPreset(preset);
37834
+ insert(_el$0, () => t(preset.labelKey));
37835
+ insert(_el$1, () => `${t("section.marginField.top")} ${formatCm(preset.top)} ${t("section.marginField.bottom")} ${formatCm(preset.bottom)}`, _el$10);
37836
+ insert(_el$1, () => `${t("section.marginField.left")} ${formatCm(preset.left)} ${t("section.marginField.right")} ${formatCm(preset.right)}`, null);
37837
+ createRenderEffect((_p$) => {
37838
+ var _v$ = !!(activePresetId() === preset.id), _v$2 = `editor-toolbar-margins-${preset.id}`;
37839
+ _v$ !== _p$.e && _el$9.classList.toggle("oasis-editor-margins-item-active", _p$.e = _v$);
37840
+ _v$2 !== _p$.t && setAttribute(_el$9, "data-testid", _p$.t = _v$2);
37841
+ return _p$;
37842
+ }, {
37843
+ e: void 0,
37844
+ t: void 0
37845
+ });
37846
+ return _el$9;
37847
+ })()
37848
+ }));
37849
+ return _el$;
37850
+ })(), (() => {
37851
+ var _el$2 = _tmpl$3(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
37852
+ _el$3.$$click = openCustom;
37853
+ insert(_el$5, () => t("section.marginPreset.custom"));
37854
+ insert(_el$2, createComponent(Show, {
37855
+ get when() {
37856
+ return showCustom();
37857
+ },
37858
+ get children() {
37859
+ var _el$6 = _tmpl$2();
37860
+ insert(_el$6, createComponent(For, {
37861
+ each: FIELDS,
37862
+ children: (field) => (() => {
37863
+ var _el$11 = _tmpl$6(), _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling;
37864
+ insert(_el$12, () => t(field.labelKey));
37865
+ _el$13.$$input = (e) => setDraft((d) => ({
37866
+ ...d,
37867
+ [field.key]: e.currentTarget.value
37868
+ }));
37869
+ createRenderEffect(() => _el$13.value = draft()[field.key] ?? "");
37870
+ return _el$11;
37871
+ })()
37872
+ }));
37873
+ return _el$6;
37874
+ }
37875
+ }), null);
37876
+ return _el$2;
37877
+ })(), createComponent(Show, {
37878
+ get when() {
37879
+ return showCustom();
37880
+ },
37881
+ get children() {
37882
+ var _el$7 = _tmpl$4(), _el$8 = _el$7.firstChild;
37883
+ _el$8.$$click = applyCustom;
37884
+ insert(_el$8, () => t("section.marginApply"));
37885
+ return _el$7;
37886
+ }
37887
+ })];
37888
+ }
37889
+ });
37890
+ }
37891
+ delegateEvents(["click", "input"]);
37623
37892
  const mod = /Mac/i.test(navigator.userAgent) ? "⌘" : "Ctrl";
37624
37893
  const documentStyles = (api) => api.commands.state("documentStyles").value ?? [];
37625
37894
  const fontFamilyOptions = (api) => {
@@ -37763,6 +38032,7 @@ const RIBBON_PLACEMENTS = {
37763
38032
  "sep-metrics": { tab: "layout", group: "paragraph", row: 2 },
37764
38033
  "editor-toolbar-table": { tab: "layout", group: "table", row: 1 },
37765
38034
  "sep-table": { tab: "layout", group: "table", row: 2 },
38035
+ "editor-toolbar-margins": { tab: "layout", group: "section", row: 1 },
37766
38036
  "editor-toolbar-section": { tab: "layout", group: "section", row: 1 }
37767
38037
  };
37768
38038
  function withDefaultRibbonPlacement(items) {
@@ -38265,9 +38535,16 @@ function createDefaultToolbarPreset() {
38265
38535
  id: "sep-table",
38266
38536
  isVisible: (api) => api.commands.state("tableContext").isActive
38267
38537
  });
38538
+ items.push({
38539
+ type: "custom",
38540
+ id: "editor-toolbar-margins",
38541
+ ribbonSize: "large",
38542
+ render: (api) => MarginsGroup({ api })
38543
+ });
38268
38544
  items.push({
38269
38545
  type: "custom",
38270
38546
  id: "editor-toolbar-section",
38547
+ ribbonSize: "large",
38271
38548
  render: (api) => SectionGroup({ api })
38272
38549
  });
38273
38550
  return withDefaultRibbonPlacement(items);
@@ -38311,6 +38588,7 @@ const OASIS_TOOLBAR_ITEMS = {
38311
38588
  lineSpacing: "editor-toolbar-line-spacing-control",
38312
38589
  metrics: "editor-toolbar-metrics",
38313
38590
  table: "editor-toolbar-table",
38591
+ margins: "editor-toolbar-margins",
38314
38592
  section: "editor-toolbar-section"
38315
38593
  };
38316
38594
  const OASIS_MENU_ITEMS = {