oasis-editor 0.0.6 → 0.0.8

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.
@@ -2174,14 +2174,14 @@ function t(key, params = []) {
2174
2174
  return template2;
2175
2175
  }
2176
2176
  const oasisMarkBase64 = "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";
2177
- var _tmpl$$M = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2177
+ var _tmpl$$Q = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2178
2178
  const OASIS_MARK_DATA_URI = `data:image/webp;base64,${oasisMarkBase64}`;
2179
2179
  const MARK_ASPECT = 3 / 4;
2180
2180
  function OasisBrandMark(props) {
2181
2181
  const height = () => props.height ?? 64;
2182
2182
  const width = () => Math.round(height() * MARK_ASPECT);
2183
2183
  return (() => {
2184
- var _el$ = _tmpl$$M();
2184
+ var _el$ = _tmpl$$Q();
2185
2185
  setAttribute(_el$, "src", OASIS_MARK_DATA_URI);
2186
2186
  setAttribute(_el$, "draggable", false);
2187
2187
  createRenderEffect((_p$) => {
@@ -2198,7 +2198,7 @@ function OasisBrandMark(props) {
2198
2198
  return _el$;
2199
2199
  })();
2200
2200
  }
2201
- var _tmpl$$L = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$v = /* @__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$k = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2201
+ var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$w = /* @__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$k = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2202
2202
  function OasisEditorLoading(props) {
2203
2203
  const variant = () => props.variant ?? "overlay";
2204
2204
  const pct = () => {
@@ -2207,7 +2207,7 @@ function OasisEditorLoading(props) {
2207
2207
  };
2208
2208
  const isDone = () => (pct() ?? 0) >= 100;
2209
2209
  return (() => {
2210
- var _el$ = _tmpl$2$v(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2210
+ var _el$ = _tmpl$2$w(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2211
2211
  insert(_el$2, createComponent(OasisBrandMark, {
2212
2212
  height: 40,
2213
2213
  "class": "oasis-editor-loading-mark"
@@ -2218,7 +2218,7 @@ function OasisEditorLoading(props) {
2218
2218
  return pct() != null;
2219
2219
  },
2220
2220
  get children() {
2221
- var _el$6 = _tmpl$$L();
2221
+ var _el$6 = _tmpl$$P();
2222
2222
  insert(_el$6, (() => {
2223
2223
  var _c$ = memo(() => !!isDone());
2224
2224
  return () => _c$() ? _tmpl$3$k() : `${pct()}%`;
@@ -2270,7 +2270,7 @@ function OasisEditorAppLazy(props = {}) {
2270
2270
  onCleanup(() => {
2271
2271
  cancelled = true;
2272
2272
  });
2273
- import("./OasisEditorApp-Co_pXhKM.js").then((m) => {
2273
+ import("./OasisEditorApp-PbwiUucf.js").then((m) => {
2274
2274
  cancelled = true;
2275
2275
  setProgress(1);
2276
2276
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -4279,8 +4279,8 @@ class MenuRegistry {
4279
4279
  }
4280
4280
  }
4281
4281
  const defaultMenuRegistry = new MenuRegistry();
4282
- var _tmpl$$K = /* @__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$u = /* @__PURE__ */ template(`<i>`);
4283
- const FootnoteIcon = () => _tmpl$$K();
4282
+ var _tmpl$$O = /* @__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$v = /* @__PURE__ */ template(`<i>`);
4283
+ const FootnoteIcon = () => _tmpl$$O();
4284
4284
  const CUSTOM_ICONS = {
4285
4285
  footnote: FootnoteIcon
4286
4286
  };
@@ -4294,7 +4294,7 @@ function ToolIcon(props) {
4294
4294
  },
4295
4295
  get fallback() {
4296
4296
  return (() => {
4297
- var _el$2 = _tmpl$2$u();
4297
+ var _el$2 = _tmpl$2$v();
4298
4298
  createRenderEffect(() => setAttribute(_el$2, "data-lucide", props.name));
4299
4299
  return _el$2;
4300
4300
  })();
@@ -4616,7 +4616,7 @@ const defaultMenuItems = [
4616
4616
  }
4617
4617
  ];
4618
4618
  defaultMenuItems.forEach((item) => defaultMenuRegistry.register(item));
4619
- var _tmpl$$J = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$t = /* @__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$d = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$c = /* @__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>`);
4619
+ var _tmpl$$N = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$u = /* @__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$d = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$c = /* @__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>`);
4620
4620
  function Menubar(props) {
4621
4621
  const [activeMenu, setActiveMenu] = createSignal(null);
4622
4622
  const menuItems = () => (props.registry ?? defaultMenuRegistry).getItems();
@@ -4683,7 +4683,7 @@ function Menubar(props) {
4683
4683
  });
4684
4684
  const topLevelItems = () => pruneTree(menuTree());
4685
4685
  return (() => {
4686
- var _el$ = _tmpl$$J();
4686
+ var _el$ = _tmpl$$N();
4687
4687
  insert(_el$, createComponent(For, {
4688
4688
  get each() {
4689
4689
  return topLevelItems();
@@ -4709,7 +4709,7 @@ function Menubar(props) {
4709
4709
  return activeMenu() === topLevel.id;
4710
4710
  },
4711
4711
  get children() {
4712
- var _el$4 = _tmpl$2$t();
4712
+ var _el$4 = _tmpl$2$u();
4713
4713
  insert(_el$4, createComponent(For, {
4714
4714
  get each() {
4715
4715
  return topLevel.children;
@@ -4836,10 +4836,10 @@ function MenuNode(props) {
4836
4836
  })();
4837
4837
  }
4838
4838
  delegateEvents(["click"]);
4839
- var _tmpl$$I = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
4839
+ var _tmpl$$M = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
4840
4840
  function TitleBar(props) {
4841
4841
  return (() => {
4842
- var _el$ = _tmpl$$I(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
4842
+ var _el$ = _tmpl$$M(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
4843
4843
  insert(_el$3, () => props.children);
4844
4844
  return _el$;
4845
4845
  })();
@@ -16635,7 +16635,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
16635
16635
  );
16636
16636
  return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
16637
16637
  }
16638
- var _tmpl$$H = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$s = /* @__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$c = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
16638
+ var _tmpl$$L = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$t = /* @__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$c = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
16639
16639
  function OutlinePanel(props) {
16640
16640
  const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
16641
16641
  const [items, setItems] = createSignal([]);
@@ -16709,7 +16709,7 @@ function OutlinePanel(props) {
16709
16709
  return !collapsed();
16710
16710
  },
16711
16711
  get children() {
16712
- var _el$3 = _tmpl$$H();
16712
+ var _el$3 = _tmpl$$L();
16713
16713
  insert(_el$3, () => t("menu.view.outline") || "Outline");
16714
16714
  return _el$3;
16715
16715
  }
@@ -16720,7 +16720,7 @@ function OutlinePanel(props) {
16720
16720
  return !collapsed();
16721
16721
  },
16722
16722
  get children() {
16723
- var _el$6 = _tmpl$2$s();
16723
+ var _el$6 = _tmpl$2$t();
16724
16724
  insert(_el$6, createComponent(Show, {
16725
16725
  get when() {
16726
16726
  return items().length > 0;
@@ -16777,7 +16777,7 @@ function OutlinePanel(props) {
16777
16777
  })();
16778
16778
  }
16779
16779
  delegateEvents(["click"]);
16780
- var _tmpl$$G = /* @__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$r = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
16780
+ var _tmpl$$K = /* @__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$s = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
16781
16781
  function ToolbarOverflowManager(props) {
16782
16782
  const [overflowCount, setOverflowCount] = createSignal(0);
16783
16783
  const [menuOpen, setMenuOpen] = createSignal(false);
@@ -16920,7 +16920,7 @@ function ToolbarOverflowManager(props) {
16920
16920
  };
16921
16921
  };
16922
16922
  return (() => {
16923
- var _el$ = _tmpl$$G(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
16923
+ var _el$ = _tmpl$$K(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
16924
16924
  var _ref$ = containerRef;
16925
16925
  typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
16926
16926
  var _ref$2 = moreMeasureRef;
@@ -16932,7 +16932,7 @@ function ToolbarOverflowManager(props) {
16932
16932
  return items();
16933
16933
  },
16934
16934
  children: (item) => (() => {
16935
- var _el$7 = _tmpl$2$r();
16935
+ var _el$7 = _tmpl$2$s();
16936
16936
  insert(_el$7, item);
16937
16937
  return _el$7;
16938
16938
  })()
@@ -17008,12 +17008,12 @@ function resolveLabel(item, api) {
17008
17008
  if (item.labelKey) return api.t(item.labelKey);
17009
17009
  return void 0;
17010
17010
  }
17011
- var _tmpl$$F = /* @__PURE__ */ template(`<span>`), _tmpl$2$q = /* @__PURE__ */ template(`<button type=button>`);
17011
+ var _tmpl$$J = /* @__PURE__ */ template(`<span>`), _tmpl$2$r = /* @__PURE__ */ template(`<button type=button>`);
17012
17012
  function Button$1(props) {
17013
17013
  const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "aria-label", "class", "classList"]);
17014
17014
  const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
17015
17015
  return (() => {
17016
- var _el$ = _tmpl$2$q();
17016
+ var _el$ = _tmpl$2$r();
17017
17017
  spread(_el$, mergeProps({
17018
17018
  get ["class"]() {
17019
17019
  return `oasis-editor-tool-button ${local.class || ""}`;
@@ -17049,7 +17049,7 @@ function Button$1(props) {
17049
17049
  return local.label;
17050
17050
  },
17051
17051
  get children() {
17052
- var _el$2 = _tmpl$$F();
17052
+ var _el$2 = _tmpl$$J();
17053
17053
  insert(_el$2, () => local.label);
17054
17054
  return _el$2;
17055
17055
  }
@@ -17131,7 +17131,7 @@ function useDismiss(options) {
17131
17131
  });
17132
17132
  });
17133
17133
  }
17134
- var _tmpl$$E = /* @__PURE__ */ template(`<div>`);
17134
+ var _tmpl$$I = /* @__PURE__ */ template(`<div>`);
17135
17135
  function Popover(props) {
17136
17136
  let anchorRef;
17137
17137
  let panelRef;
@@ -17148,7 +17148,7 @@ function Popover(props) {
17148
17148
  closeOnEscape: props.closeOnEscape
17149
17149
  });
17150
17150
  const panel = (portalled) => (() => {
17151
- var _el$ = _tmpl$$E();
17151
+ var _el$ = _tmpl$$I();
17152
17152
  addEventListener(_el$, "mouseleave", props.onPanelMouseLeave);
17153
17153
  var _ref$ = panelRef;
17154
17154
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
@@ -17200,12 +17200,12 @@ function Popover(props) {
17200
17200
  }
17201
17201
  })];
17202
17202
  }
17203
- var _tmpl$$D = /* @__PURE__ */ template(`<div>`), _tmpl$2$p = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$h = /* @__PURE__ */ template(`<i>`), _tmpl$4$b = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$a = /* @__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>`);
17203
+ var _tmpl$$H = /* @__PURE__ */ template(`<div>`), _tmpl$2$q = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$h = /* @__PURE__ */ template(`<i>`), _tmpl$4$b = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$a = /* @__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>`);
17204
17204
  function Menu(props) {
17205
17205
  const [open, setOpen] = createSignal(false);
17206
17206
  const ariaLabel = () => props.tooltip || props.label || "";
17207
17207
  return (() => {
17208
- var _el$ = _tmpl$2$p();
17208
+ var _el$ = _tmpl$2$q();
17209
17209
  insert(_el$, createComponent(Popover, {
17210
17210
  get open() {
17211
17211
  return open();
@@ -17271,7 +17271,7 @@ function Menu(props) {
17271
17271
  return _el$3;
17272
17272
  })(),
17273
17273
  get children() {
17274
- var _el$2 = _tmpl$$D();
17274
+ var _el$2 = _tmpl$$H();
17275
17275
  _el$2.$$click = (event) => {
17276
17276
  const el = event.target;
17277
17277
  if (el.closest("button") && !el.closest(".oasis-editor-tool-button-dropdown") && !el.closest(".oasis-editor-toolbar-list-options")) {
@@ -17286,7 +17286,7 @@ function Menu(props) {
17286
17286
  })();
17287
17287
  }
17288
17288
  delegateEvents(["click"]);
17289
- var _tmpl$$C = /* @__PURE__ */ template(`<select>`);
17289
+ var _tmpl$$G = /* @__PURE__ */ template(`<select>`);
17290
17290
  function Select(props) {
17291
17291
  let selectRef;
17292
17292
  const [local, others] = splitProps(props, ["wide", "small", "class", "tooltip", "aria-label", "value"]);
@@ -17302,7 +17302,7 @@ function Select(props) {
17302
17302
  }
17303
17303
  });
17304
17304
  return (() => {
17305
- var _el$ = _tmpl$$C();
17305
+ var _el$ = _tmpl$$G();
17306
17306
  var _ref$ = selectRef;
17307
17307
  typeof _ref$ === "function" ? use(_ref$, _el$) : selectRef = _el$;
17308
17308
  spread(_el$, mergeProps({
@@ -17329,15 +17329,15 @@ function Select(props) {
17329
17329
  return _el$;
17330
17330
  })();
17331
17331
  }
17332
- var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
17332
+ var _tmpl$$F = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
17333
17333
  function Separator(props) {
17334
17334
  return (() => {
17335
- var _el$ = _tmpl$$B();
17335
+ var _el$ = _tmpl$$F();
17336
17336
  createRenderEffect((_$p) => setStyleProperty(_el$, "display", props.hidden ? "none" : void 0));
17337
17337
  return _el$;
17338
17338
  })();
17339
17339
  }
17340
- var _tmpl$$A = /* @__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>`);
17340
+ var _tmpl$$E = /* @__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>`);
17341
17341
  function SplitButton(props) {
17342
17342
  return createComponent(Popover, {
17343
17343
  get open() {
@@ -17356,7 +17356,7 @@ function SplitButton(props) {
17356
17356
  return props.onPanelMouseLeave;
17357
17357
  },
17358
17358
  trigger: (api) => (() => {
17359
- var _el$ = _tmpl$$A(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
17359
+ var _el$ = _tmpl$$E(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
17360
17360
  use((el) => api.ref(el), _el$);
17361
17361
  _el$2.$$click = () => props.onMain();
17362
17362
  insert(_el$2, () => props.mainContent);
@@ -17394,7 +17394,7 @@ function SplitButton(props) {
17394
17394
  });
17395
17395
  }
17396
17396
  delegateEvents(["click"]);
17397
- var _tmpl$$z = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$o = /* @__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$a = /* @__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$9 = /* @__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>`);
17397
+ var _tmpl$$D = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$p = /* @__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$a = /* @__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$9 = /* @__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>`);
17398
17398
  const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
17399
17399
  function ColorPicker(props) {
17400
17400
  const [isOpen, setIsOpen] = createSignal(false);
@@ -17459,7 +17459,7 @@ function ColorPicker(props) {
17459
17459
  return clearLabel();
17460
17460
  },
17461
17461
  get children() {
17462
- var _el$ = _tmpl$2$o(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
17462
+ var _el$ = _tmpl$2$p(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
17463
17463
  _el$.$$click = () => applyColor(null);
17464
17464
  insert(_el$2, createComponent(Show, {
17465
17465
  get when() {
@@ -17469,7 +17469,7 @@ function ColorPicker(props) {
17469
17469
  return _tmpl$8$1();
17470
17470
  },
17471
17471
  get children() {
17472
- return _tmpl$$z();
17472
+ return _tmpl$$D();
17473
17473
  }
17474
17474
  }));
17475
17475
  insert(_el$4, clearLabel);
@@ -17582,7 +17582,7 @@ function ColorPicker(props) {
17582
17582
  });
17583
17583
  }
17584
17584
  delegateEvents(["click", "input"]);
17585
- var _tmpl$$y = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$n = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$8 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
17585
+ var _tmpl$$C = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$o = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$f = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$8 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
17586
17586
  function GridPicker(props) {
17587
17587
  const [isOpen, setIsOpen] = createSignal(false);
17588
17588
  const [hover, setHover] = createSignal({
@@ -17690,11 +17690,11 @@ function GridPicker(props) {
17690
17690
  })(),
17691
17691
  get children() {
17692
17692
  return [(() => {
17693
- var _el$2 = _tmpl$$y();
17693
+ var _el$2 = _tmpl$$C();
17694
17694
  insert(_el$2, statusLabel);
17695
17695
  return _el$2;
17696
17696
  })(), (() => {
17697
- var _el$3 = _tmpl$2$n();
17697
+ var _el$3 = _tmpl$2$o();
17698
17698
  insert(_el$3, createComponent(For, {
17699
17699
  get each() {
17700
17700
  return rows();
@@ -17794,7 +17794,7 @@ const DEFAULT_PALETTE = {
17794
17794
  standardColors: STANDARD_COLORS,
17795
17795
  allowCustom: true
17796
17796
  };
17797
- var _tmpl$$x = /* @__PURE__ */ template(`<i>`), _tmpl$2$m = /* @__PURE__ */ template(`<option value>`), _tmpl$3$e = /* @__PURE__ */ template(`<option>`);
17797
+ var _tmpl$$B = /* @__PURE__ */ template(`<i>`), _tmpl$2$n = /* @__PURE__ */ template(`<option value>`), _tmpl$3$e = /* @__PURE__ */ template(`<option>`);
17798
17798
  function renderMenuContent(content, api) {
17799
17799
  if (content.kind === "custom") {
17800
17800
  return content.render(api);
@@ -17926,7 +17926,7 @@ function RenderSplit(props) {
17926
17926
  panelRole: "menu",
17927
17927
  get mainContent() {
17928
17928
  return (() => {
17929
- var _el$ = _tmpl$$x();
17929
+ var _el$ = _tmpl$$B();
17930
17930
  createRenderEffect(() => setAttribute(_el$, "data-lucide", props.item.iconName));
17931
17931
  return _el$;
17932
17932
  })();
@@ -17965,7 +17965,7 @@ function RenderSelect(props) {
17965
17965
  return props.item.placeholder !== void 0;
17966
17966
  },
17967
17967
  get children() {
17968
- var _el$2 = _tmpl$2$m();
17968
+ var _el$2 = _tmpl$2$n();
17969
17969
  insert(_el$2, () => props.item.placeholder);
17970
17970
  return _el$2;
17971
17971
  }
@@ -18097,12 +18097,12 @@ function registerToolbarRenderer(type, component) {
18097
18097
  function resolveRenderer(type) {
18098
18098
  return TOOLBAR_RENDERERS[type] ?? customRenderers.get(type);
18099
18099
  }
18100
- var _tmpl$$w = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
18100
+ var _tmpl$$A = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
18101
18101
  function ToolbarItemRenderer(props) {
18102
18102
  const binding = bindItem(props.item, props.api);
18103
18103
  const component = () => resolveRenderer(props.item.type);
18104
18104
  return (() => {
18105
- var _el$ = _tmpl$$w();
18105
+ var _el$ = _tmpl$$A();
18106
18106
  insert(_el$, createComponent(Show, {
18107
18107
  get when() {
18108
18108
  return component();
@@ -18130,11 +18130,245 @@ function createToolbarApi(host) {
18130
18130
  focusEditor: () => host().focusEditor()
18131
18131
  };
18132
18132
  }
18133
+ const RIBBON_TABS = [
18134
+ "file",
18135
+ "home",
18136
+ "insert",
18137
+ "draw",
18138
+ "layout",
18139
+ "references",
18140
+ "collaboration",
18141
+ "protection",
18142
+ "view",
18143
+ "plugins",
18144
+ "ai"
18145
+ ];
18146
+ const TAB_LABELS = {
18147
+ file: "File",
18148
+ home: "Home",
18149
+ insert: "Insert",
18150
+ draw: "Draw",
18151
+ layout: "Layout",
18152
+ references: "References",
18153
+ collaboration: "Collaboration",
18154
+ protection: "Protection",
18155
+ view: "View",
18156
+ plugins: "Plugins",
18157
+ ai: "AI"
18158
+ };
18159
+ const RIBBON_TAB_DEFINITIONS = RIBBON_TABS.map(
18160
+ (id) => ({ id, label: TAB_LABELS[id] })
18161
+ );
18162
+ const DEFAULT_RIBBON_TAB = "plugins";
18163
+ const DEFAULT_RIBBON_GROUP = "general";
18164
+ const DEFAULT_RIBBON_ROW = 1;
18165
+ const RIBBON_GROUP_ORDER = {
18166
+ file: {
18167
+ document: 10
18168
+ },
18169
+ home: {
18170
+ clipboard: 10,
18171
+ font: 20,
18172
+ text: 30,
18173
+ paragraph: 40,
18174
+ styles: 50
18175
+ },
18176
+ insert: {
18177
+ illustrations: 10,
18178
+ tables: 20,
18179
+ links: 30,
18180
+ footnotes: 40,
18181
+ accessibility: 50
18182
+ },
18183
+ layout: {
18184
+ paragraph: 10,
18185
+ table: 20,
18186
+ section: 30
18187
+ },
18188
+ references: {
18189
+ footnotes: 10
18190
+ },
18191
+ plugins: {
18192
+ general: 10
18193
+ }
18194
+ };
18195
+ function normalizeRibbonTab(tab) {
18196
+ return tab ?? DEFAULT_RIBBON_TAB;
18197
+ }
18198
+ function normalizeRibbonGroup(group) {
18199
+ return (group == null ? void 0 : group.trim()) || DEFAULT_RIBBON_GROUP;
18200
+ }
18201
+ function normalizeRibbonRow(row) {
18202
+ return row === 2 ? 2 : DEFAULT_RIBBON_ROW;
18203
+ }
18204
+ function ribbonGroupLabel(group) {
18205
+ return group.split(/[-_\s]+/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
18206
+ }
18207
+ function buildRibbonGroups(items, tab) {
18208
+ const groups = /* @__PURE__ */ new Map();
18209
+ const tabGroupOrder = RIBBON_GROUP_ORDER[tab] ?? {};
18210
+ items.forEach((item, index) => {
18211
+ if (normalizeRibbonTab(item.tab) !== tab) {
18212
+ return;
18213
+ }
18214
+ const groupId = normalizeRibbonGroup(item.group);
18215
+ const row = normalizeRibbonRow(item.row);
18216
+ const groupOrder = tabGroupOrder[groupId] ?? item.order ?? index;
18217
+ let group = groups.get(groupId);
18218
+ if (!group) {
18219
+ group = {
18220
+ id: groupId,
18221
+ label: ribbonGroupLabel(groupId),
18222
+ rows: { 1: [], 2: [] },
18223
+ order: groupOrder
18224
+ };
18225
+ groups.set(groupId, group);
18226
+ }
18227
+ group.order = Math.min(group.order, groupOrder);
18228
+ group.rows[row].push(item);
18229
+ });
18230
+ return Array.from(groups.values()).sort((a, b) => a.order - b.order);
18231
+ }
18232
+ var _tmpl$$z = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$m = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
18233
+ function RibbonTabs(props) {
18234
+ const tabs = RIBBON_TAB_DEFINITIONS;
18235
+ const moveTab = (current, delta) => {
18236
+ const index = tabs.findIndex((tab) => tab.id === current);
18237
+ const next = tabs[(index + delta + tabs.length) % tabs.length];
18238
+ if (next) props.setActiveTab(next.id);
18239
+ };
18240
+ return (() => {
18241
+ var _el$ = _tmpl$$z();
18242
+ insert(_el$, createComponent(For, {
18243
+ each: tabs,
18244
+ children: (tab) => (() => {
18245
+ var _el$2 = _tmpl$2$m();
18246
+ _el$2.$$keydown = (event) => {
18247
+ if (event.key === "ArrowRight") {
18248
+ event.preventDefault();
18249
+ moveTab(tab.id, 1);
18250
+ } else if (event.key === "ArrowLeft") {
18251
+ event.preventDefault();
18252
+ moveTab(tab.id, -1);
18253
+ } else if (event.key === "Home") {
18254
+ event.preventDefault();
18255
+ props.setActiveTab(tabs[0].id);
18256
+ } else if (event.key === "End") {
18257
+ event.preventDefault();
18258
+ props.setActiveTab(tabs[tabs.length - 1].id);
18259
+ }
18260
+ };
18261
+ _el$2.$$click = () => props.setActiveTab(tab.id);
18262
+ insert(_el$2, () => tab.label);
18263
+ createRenderEffect((_p$) => {
18264
+ var _v$ = !!(props.activeTab() === tab.id), _v$2 = props.activeTab() === tab.id, _v$3 = `oasis-editor-ribbon-panel-${tab.id}`, _v$4 = `oasis-editor-ribbon-tab-${tab.id}`, _v$5 = `editor-ribbon-tab-${tab.id}`, _v$6 = props.activeTab() === tab.id ? 0 : -1;
18265
+ _v$ !== _p$.e && _el$2.classList.toggle("oasis-editor-ribbon-tab-active", _p$.e = _v$);
18266
+ _v$2 !== _p$.t && setAttribute(_el$2, "aria-selected", _p$.t = _v$2);
18267
+ _v$3 !== _p$.a && setAttribute(_el$2, "aria-controls", _p$.a = _v$3);
18268
+ _v$4 !== _p$.o && setAttribute(_el$2, "id", _p$.o = _v$4);
18269
+ _v$5 !== _p$.i && setAttribute(_el$2, "data-testid", _p$.i = _v$5);
18270
+ _v$6 !== _p$.n && setAttribute(_el$2, "tabindex", _p$.n = _v$6);
18271
+ return _p$;
18272
+ }, {
18273
+ e: void 0,
18274
+ t: void 0,
18275
+ a: void 0,
18276
+ o: void 0,
18277
+ i: void 0,
18278
+ n: void 0
18279
+ });
18280
+ return _el$2;
18281
+ })()
18282
+ }));
18283
+ return _el$;
18284
+ })();
18285
+ }
18286
+ delegateEvents(["click", "keydown"]);
18287
+ var _tmpl$$y = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
18288
+ function RibbonRow(props) {
18289
+ return (() => {
18290
+ var _el$ = _tmpl$$y();
18291
+ insert(_el$, createComponent(For, {
18292
+ get each() {
18293
+ return props.items;
18294
+ },
18295
+ children: (item) => createComponent(ToolbarItemRenderer, {
18296
+ item,
18297
+ get api() {
18298
+ return props.api;
18299
+ }
18300
+ })
18301
+ }));
18302
+ return _el$;
18303
+ })();
18304
+ }
18305
+ var _tmpl$$x = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group><div class=oasis-editor-ribbon-group-rows></div><div class=oasis-editor-ribbon-group-label>`);
18306
+ function RibbonGroup(props) {
18307
+ return (() => {
18308
+ var _el$ = _tmpl$$x(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
18309
+ insert(_el$2, createComponent(RibbonRow, {
18310
+ get items() {
18311
+ return props.group.rows[1];
18312
+ },
18313
+ get api() {
18314
+ return props.api;
18315
+ }
18316
+ }), null);
18317
+ insert(_el$2, createComponent(RibbonRow, {
18318
+ get items() {
18319
+ return props.group.rows[2];
18320
+ },
18321
+ get api() {
18322
+ return props.api;
18323
+ }
18324
+ }), null);
18325
+ insert(_el$3, () => props.group.label);
18326
+ createRenderEffect((_p$) => {
18327
+ var _v$ = props.group.id, _v$2 = props.group.label;
18328
+ _v$ !== _p$.e && setAttribute(_el$, "data-ribbon-group", _p$.e = _v$);
18329
+ _v$2 !== _p$.t && setAttribute(_el$, "aria-label", _p$.t = _v$2);
18330
+ return _p$;
18331
+ }, {
18332
+ e: void 0,
18333
+ t: void 0
18334
+ });
18335
+ return _el$;
18336
+ })();
18337
+ }
18338
+ var _tmpl$$w = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
18339
+ function RibbonPanel(props) {
18340
+ const groups = () => buildRibbonGroups(props.items(), props.activeTab());
18341
+ return (() => {
18342
+ var _el$ = _tmpl$$w();
18343
+ insert(_el$, createComponent(For, {
18344
+ get each() {
18345
+ return groups();
18346
+ },
18347
+ children: (group) => createComponent(RibbonGroup, {
18348
+ group,
18349
+ get api() {
18350
+ return props.api;
18351
+ }
18352
+ })
18353
+ }));
18354
+ createRenderEffect((_p$) => {
18355
+ var _v$ = `oasis-editor-ribbon-panel-${props.activeTab()}`, _v$2 = `oasis-editor-ribbon-tab-${props.activeTab()}`;
18356
+ _v$ !== _p$.e && setAttribute(_el$, "id", _p$.e = _v$);
18357
+ _v$2 !== _p$.t && setAttribute(_el$, "aria-labelledby", _p$.t = _v$2);
18358
+ return _p$;
18359
+ }, {
18360
+ e: void 0,
18361
+ t: void 0
18362
+ });
18363
+ return _el$;
18364
+ })();
18365
+ }
18133
18366
  var _tmpl$$v = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$l = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
18134
18367
  const shouldAllowNativeMouseDown = (target) => target instanceof Element && target.closest("select, input, textarea, label") !== null;
18135
18368
  function Toolbar(props) {
18136
18369
  const api = createToolbarApi(props.host);
18137
18370
  const [version2, setVersion2] = createSignal(0);
18371
+ const [activeTab, setActiveTab] = createSignal("home");
18138
18372
  onMount(() => {
18139
18373
  const unsubscribe = props.registry.onChange(() => setVersion2((v) => v + 1));
18140
18374
  onCleanup(unsubscribe);
@@ -18147,6 +18381,7 @@ function Toolbar(props) {
18147
18381
  }
18148
18382
  return ordered;
18149
18383
  });
18384
+ const view = () => props.view ?? "ribbon";
18150
18385
  const layout = () => props.layout ?? "overflow";
18151
18386
  const renderItems = () => createComponent(For, {
18152
18387
  get each() {
@@ -18166,8 +18401,15 @@ function Toolbar(props) {
18166
18401
  event.preventDefault();
18167
18402
  };
18168
18403
  insert(_el$, (() => {
18169
- var _c$ = memo(() => layout() === "overflow");
18170
- return () => _c$() ? createComponent(ToolbarOverflowManager, {
18404
+ var _c$ = memo(() => view() === "ribbon");
18405
+ return () => _c$() ? [createComponent(RibbonTabs, {
18406
+ activeTab,
18407
+ setActiveTab
18408
+ }), createComponent(RibbonPanel, {
18409
+ activeTab,
18410
+ items,
18411
+ api
18412
+ })] : memo(() => layout() === "overflow")() ? createComponent(ToolbarOverflowManager, {
18171
18413
  get children() {
18172
18414
  return renderItems();
18173
18415
  }
@@ -18178,13 +18420,17 @@ function Toolbar(props) {
18178
18420
  })();
18179
18421
  })());
18180
18422
  createRenderEffect((_p$) => {
18181
- var _v$ = !!(layout() === "overflow"), _v$2 = !!(layout() === "wrap");
18182
- _v$ !== _p$.e && _el$.classList.toggle("oasis-editor-toolbar-layout-overflow", _p$.e = _v$);
18183
- _v$2 !== _p$.t && _el$.classList.toggle("oasis-editor-toolbar-layout-wrap", _p$.t = _v$2);
18423
+ var _v$ = !!(view() === "ribbon"), _v$2 = !!(view() === "compact"), _v$3 = !!(layout() === "overflow"), _v$4 = !!(layout() === "wrap");
18424
+ _v$ !== _p$.e && _el$.classList.toggle("oasis-editor-toolbar-view-ribbon", _p$.e = _v$);
18425
+ _v$2 !== _p$.t && _el$.classList.toggle("oasis-editor-toolbar-view-compact", _p$.t = _v$2);
18426
+ _v$3 !== _p$.a && _el$.classList.toggle("oasis-editor-toolbar-layout-overflow", _p$.a = _v$3);
18427
+ _v$4 !== _p$.o && _el$.classList.toggle("oasis-editor-toolbar-layout-wrap", _p$.o = _v$4);
18184
18428
  return _p$;
18185
18429
  }, {
18186
18430
  e: void 0,
18187
- t: void 0
18431
+ t: void 0,
18432
+ a: void 0,
18433
+ o: void 0
18188
18434
  });
18189
18435
  return _el$;
18190
18436
  })();
@@ -29249,6 +29495,47 @@ function parseDocxTheme(themeXml) {
29249
29495
  colors: extractThemeColors(themeElements)
29250
29496
  };
29251
29497
  }
29498
+ const NOTE_NUMBER_FORMATS = {
29499
+ decimal: "decimal",
29500
+ lowerRoman: "lowerRoman",
29501
+ upperRoman: "upperRoman",
29502
+ lowerLetter: "lowerLetter",
29503
+ upperLetter: "upperLetter",
29504
+ symbol: "symbol"
29505
+ };
29506
+ const NOTE_RESTARTS = {
29507
+ continuous: "continuous",
29508
+ eachSect: "eachSection"
29509
+ };
29510
+ function parseNoteSettings(element) {
29511
+ if (!element) return void 0;
29512
+ const settings = {};
29513
+ const numFmt = getAttributeValue(
29514
+ getFirstChildByTagNameNS(element, WORD_NS, "numFmt"),
29515
+ "val"
29516
+ );
29517
+ if (numFmt && NOTE_NUMBER_FORMATS[numFmt]) {
29518
+ settings.numberFormat = NOTE_NUMBER_FORMATS[numFmt];
29519
+ }
29520
+ const numStart = Number.parseInt(
29521
+ getAttributeValue(
29522
+ getFirstChildByTagNameNS(element, WORD_NS, "numStart"),
29523
+ "val"
29524
+ ) ?? "",
29525
+ 10
29526
+ );
29527
+ if (Number.isFinite(numStart) && numStart > 0) {
29528
+ settings.startAt = numStart;
29529
+ }
29530
+ const numRestart = getAttributeValue(
29531
+ getFirstChildByTagNameNS(element, WORD_NS, "numRestart"),
29532
+ "val"
29533
+ );
29534
+ if (numRestart && NOTE_RESTARTS[numRestart]) {
29535
+ settings.restart = NOTE_RESTARTS[numRestart];
29536
+ }
29537
+ return Object.keys(settings).length > 0 ? settings : void 0;
29538
+ }
29252
29539
  function parseSettings(xml) {
29253
29540
  const settings = {
29254
29541
  adjustLineHeightInTable: true
@@ -29267,6 +29554,12 @@ function parseSettings(xml) {
29267
29554
  if (defaultTabStop !== void 0) {
29268
29555
  settings.defaultTabStop = defaultTabStop;
29269
29556
  }
29557
+ settings.footnoteSettings = parseNoteSettings(
29558
+ getFirstChildByTagNameNS(doc.documentElement, WORD_NS, "footnotePr")
29559
+ );
29560
+ settings.endnoteSettings = parseNoteSettings(
29561
+ getFirstChildByTagNameNS(doc.documentElement, WORD_NS, "endnotePr")
29562
+ );
29270
29563
  const compat = getFirstChildByTagNameNS(
29271
29564
  doc.documentElement,
29272
29565
  WORD_NS,
@@ -32971,7 +33264,10 @@ async function importDocxToEditorDocument(buffer, options = {}) {
32971
33264
  theme,
32972
33265
  importedStyles
32973
33266
  );
32974
- const editorFootnotes = Object.keys(parsedFootnotes.footnotes.items).length > 0 || parsedFootnotes.footnotes.separator || parsedFootnotes.footnotes.continuationSeparator ? parsedFootnotes.footnotes : void 0;
33267
+ if (docSettings.footnoteSettings) {
33268
+ parsedFootnotes.footnotes.settings = docSettings.footnoteSettings;
33269
+ }
33270
+ const editorFootnotes = Object.keys(parsedFootnotes.footnotes.items).length > 0 || parsedFootnotes.footnotes.separator || parsedFootnotes.footnotes.continuationSeparator || parsedFootnotes.footnotes.settings ? parsedFootnotes.footnotes : void 0;
32975
33271
  remapImportedFootnoteRefsInSections(sections, parsedFootnotes.byDocxId);
32976
33272
  const endnotesXml = await ((_k = zip.file("word/endnotes.xml")) == null ? void 0 : _k.async("string")) ?? null;
32977
33273
  const endnotesPartRels = endnotesXml ? await loadPartRelationships(zip, "word/endnotes.xml") : /* @__PURE__ */ new Map();
@@ -32984,7 +33280,10 @@ async function importDocxToEditorDocument(buffer, options = {}) {
32984
33280
  theme,
32985
33281
  importedStyles
32986
33282
  );
32987
- const editorEndnotes = Object.keys(parsedEndnotes.endnotes.items).length > 0 ? parsedEndnotes.endnotes : void 0;
33283
+ if (docSettings.endnoteSettings) {
33284
+ parsedEndnotes.endnotes.settings = docSettings.endnoteSettings;
33285
+ }
33286
+ const editorEndnotes = Object.keys(parsedEndnotes.endnotes.items).length > 0 || parsedEndnotes.endnotes.separator || parsedEndnotes.endnotes.continuationSeparator || parsedEndnotes.endnotes.settings ? parsedEndnotes.endnotes : void 0;
32988
33287
  remapImportedEndnoteRefsInSections(sections, parsedEndnotes.byDocxId);
32989
33288
  const editorBookmarks = extractBookmarksFromSections(sections);
32990
33289
  const shouldPreserveSections = sections.length > 1 || sections.some(
@@ -33132,7 +33431,7 @@ function importDocxInWorker(buffer, options = {}) {
33132
33431
  const worker = new Worker(
33133
33432
  new URL(
33134
33433
  /* @vite-ignore */
33135
- "" + new URL("assets/importDocxWorker-CtfvrAfg.js", import.meta.url).href,
33434
+ "" + new URL("assets/importDocxWorker-DbiKelzX.js", import.meta.url).href,
33136
33435
  import.meta.url
33137
33436
  ),
33138
33437
  {
@@ -34605,28 +34904,14 @@ function DocumentShell(props) {
34605
34904
  get children() {
34606
34905
  return [createComponent(Show, {
34607
34906
  get when() {
34608
- return props.showTitleBar;
34907
+ return props.toolbarView === "compact";
34609
34908
  },
34610
- get fallback() {
34909
+ get children() {
34611
34910
  return createComponent(Show, {
34612
34911
  get when() {
34613
- return props.showMenubar;
34912
+ return props.showTitleBar;
34614
34913
  },
34615
- get children() {
34616
- return createComponent(Menubar, {
34617
- get host() {
34618
- return props.toolbarHost;
34619
- },
34620
- get registry() {
34621
- return props.menuRegistry;
34622
- }
34623
- });
34624
- }
34625
- });
34626
- },
34627
- get children() {
34628
- return createComponent(TitleBar, {
34629
- get children() {
34914
+ get fallback() {
34630
34915
  return createComponent(Show, {
34631
34916
  get when() {
34632
34917
  return props.showMenubar;
@@ -34642,6 +34927,27 @@ function DocumentShell(props) {
34642
34927
  });
34643
34928
  }
34644
34929
  });
34930
+ },
34931
+ get children() {
34932
+ return createComponent(TitleBar, {
34933
+ get children() {
34934
+ return createComponent(Show, {
34935
+ get when() {
34936
+ return props.showMenubar;
34937
+ },
34938
+ get children() {
34939
+ return createComponent(Menubar, {
34940
+ get host() {
34941
+ return props.toolbarHost;
34942
+ },
34943
+ get registry() {
34944
+ return props.menuRegistry;
34945
+ }
34946
+ });
34947
+ }
34948
+ });
34949
+ }
34950
+ });
34645
34951
  }
34646
34952
  });
34647
34953
  }
@@ -34658,7 +34964,10 @@ function DocumentShell(props) {
34658
34964
  return props.toolbarRegistry;
34659
34965
  },
34660
34966
  get showFileGroup() {
34661
- return !props.showMenubar;
34967
+ return memo(() => props.toolbarView === "ribbon")() ? true : !props.showMenubar;
34968
+ },
34969
+ get view() {
34970
+ return props.toolbarView;
34662
34971
  },
34663
34972
  get layout() {
34664
34973
  return props.toolbarLayout;
@@ -34744,6 +35053,12 @@ function InlineShell(props) {
34744
35053
  },
34745
35054
  get registry() {
34746
35055
  return props.toolbarRegistry;
35056
+ },
35057
+ get view() {
35058
+ return props.toolbarView;
35059
+ },
35060
+ get layout() {
35061
+ return props.toolbarLayout;
34747
35062
  }
34748
35063
  });
34749
35064
  }
@@ -36386,6 +36701,66 @@ const LIST_BUTTONS = [
36386
36701
  tooltipKey: "toolbar.numberedList"
36387
36702
  }
36388
36703
  ];
36704
+ const RIBBON_PLACEMENTS = {
36705
+ "editor-toolbar-file-dropdown": { tab: "file", group: "document", row: 1 },
36706
+ "sep-file": { tab: "file", group: "document", row: 1 },
36707
+ "editor-toolbar-undo": { tab: "home", group: "clipboard", row: 1 },
36708
+ "editor-toolbar-redo": { tab: "home", group: "clipboard", row: 2 },
36709
+ "sep-history": { tab: "home", group: "clipboard", row: 2 },
36710
+ "editor-toolbar-style": { tab: "home", group: "styles", row: 1 },
36711
+ "editor-toolbar-font-family": { tab: "home", group: "font", row: 1 },
36712
+ "editor-toolbar-font-size": { tab: "home", group: "font", row: 1 },
36713
+ "editor-toolbar-color": { tab: "home", group: "font", row: 2 },
36714
+ "editor-toolbar-highlight": { tab: "home", group: "font", row: 2 },
36715
+ "editor-toolbar-text-shading": { tab: "home", group: "font", row: 2 },
36716
+ "sep-style": { tab: "home", group: "font", row: 2 },
36717
+ "editor-toolbar-bold": { tab: "home", group: "text", row: 1 },
36718
+ "editor-toolbar-italic": { tab: "home", group: "text", row: 1 },
36719
+ "editor-toolbar-underline-control": { tab: "home", group: "text", row: 1 },
36720
+ "editor-toolbar-strike": { tab: "home", group: "text", row: 1 },
36721
+ "editor-toolbar-superscript": { tab: "home", group: "text", row: 2 },
36722
+ "editor-toolbar-subscript": { tab: "home", group: "text", row: 2 },
36723
+ "sep-format": { tab: "home", group: "text", row: 2 },
36724
+ "editor-toolbar-insert-image": { tab: "insert", group: "illustrations", row: 1 },
36725
+ "editor-toolbar-insert-table": { tab: "insert", group: "tables", row: 1 },
36726
+ "editor-toolbar-link": { tab: "insert", group: "links", row: 1 },
36727
+ "editor-toolbar-unlink": { tab: "insert", group: "links", row: 2 },
36728
+ "editor-toolbar-footnote": { tab: "references", group: "footnotes", row: 1 },
36729
+ "editor-toolbar-image-alt": { tab: "insert", group: "accessibility", row: 2 },
36730
+ "sep-insert": { tab: "insert", group: "accessibility", row: 2 },
36731
+ "editor-toolbar-align-left": { tab: "home", group: "paragraph", row: 1 },
36732
+ "editor-toolbar-align-center": { tab: "home", group: "paragraph", row: 1 },
36733
+ "editor-toolbar-align-right": { tab: "home", group: "paragraph", row: 1 },
36734
+ "editor-toolbar-align-justify": { tab: "home", group: "paragraph", row: 1 },
36735
+ "editor-toolbar-list-bullet": { tab: "home", group: "paragraph", row: 2 },
36736
+ "editor-toolbar-list-ordered": { tab: "home", group: "paragraph", row: 2 },
36737
+ "editor-toolbar-list-outdent": { tab: "home", group: "paragraph", row: 2 },
36738
+ "editor-toolbar-list-indent": { tab: "home", group: "paragraph", row: 2 },
36739
+ "editor-toolbar-list-options": { tab: "home", group: "paragraph", row: 2 },
36740
+ "editor-toolbar-line-spacing-control": { tab: "home", group: "paragraph", row: 2 },
36741
+ "sep-paragraph": { tab: "home", group: "paragraph", row: 2 },
36742
+ "editor-toolbar-metrics": { tab: "layout", group: "paragraph", row: 1 },
36743
+ "sep-metrics": { tab: "layout", group: "paragraph", row: 2 },
36744
+ "editor-toolbar-table": { tab: "layout", group: "table", row: 1 },
36745
+ "sep-table": { tab: "layout", group: "table", row: 2 },
36746
+ "editor-toolbar-section": { tab: "layout", group: "section", row: 1 }
36747
+ };
36748
+ function withDefaultRibbonPlacement(items) {
36749
+ return items.map((item, index) => {
36750
+ const placement = RIBBON_PLACEMENTS[item.id] ?? {
36751
+ tab: "plugins",
36752
+ group: item.group ?? "general",
36753
+ row: 1
36754
+ };
36755
+ return {
36756
+ ...item,
36757
+ tab: item.tab ?? placement.tab,
36758
+ group: placement.group,
36759
+ row: item.row ?? placement.row,
36760
+ order: item.order ?? index
36761
+ };
36762
+ });
36763
+ }
36389
36764
  function createDefaultToolbarPreset() {
36390
36765
  const items = [];
36391
36766
  items.push({
@@ -36670,7 +37045,7 @@ function createDefaultToolbarPreset() {
36670
37045
  id: "editor-toolbar-section",
36671
37046
  render: (api) => SectionGroup({ api })
36672
37047
  });
36673
- return items;
37048
+ return withDefaultRibbonPlacement(items);
36674
37049
  }
36675
37050
  const OASIS_TOOLBAR_ITEMS = {
36676
37051
  fileDropdown: "editor-toolbar-file-dropdown",
@@ -36841,7 +37216,7 @@ export {
36841
37216
  collectInlineRuns as ay,
36842
37217
  parseParagraphStyle as az,
36843
37218
  getParagraphLength as b,
36844
- Button$1 as b$,
37219
+ SplitButton as b$,
36845
37220
  addEventListener as b0,
36846
37221
  Dialog as b1,
36847
37222
  delegateEvents as b2,
@@ -36870,15 +37245,15 @@ export {
36870
37245
  OasisEditorContainer as bP,
36871
37246
  PluginCollection as bQ,
36872
37247
  Popover as bR,
36873
- Select as bS,
36874
- SelectField as bT,
36875
- Separator as bU,
36876
- SidePanel as bV,
36877
- SidePanelBody as bW,
36878
- SidePanelFooter as bX,
36879
- SidePanelHeader as bY,
36880
- SplitButton as bZ,
36881
- TextField as b_,
37248
+ RIBBON_TABS as bS,
37249
+ RIBBON_TAB_DEFINITIONS as bT,
37250
+ Select as bU,
37251
+ SelectField as bV,
37252
+ Separator as bW,
37253
+ SidePanel as bX,
37254
+ SidePanelBody as bY,
37255
+ SidePanelFooter as bZ,
37256
+ SidePanelHeader as b_,
36882
37257
  createSectionBoundaryParagraph as ba,
36883
37258
  normalizePageSettings as bb,
36884
37259
  DEFAULT_EDITOR_PAGE_SETTINGS as bc,
@@ -36906,11 +37281,13 @@ export {
36906
37281
  createEditorLogger as by,
36907
37282
  getCachedCanvasImage as bz,
36908
37283
  createEditorParagraphFromRuns as c,
36909
- createEditorCommandBus as c0,
36910
- createOasisEditor as c1,
36911
- createOasisEditorContainer as c2,
36912
- mount as c3,
36913
- registerToolbarRenderer as c4,
37284
+ TextField as c0,
37285
+ Button$1 as c1,
37286
+ createEditorCommandBus as c2,
37287
+ createOasisEditor as c3,
37288
+ createOasisEditorContainer as c4,
37289
+ mount as c5,
37290
+ registerToolbarRenderer as c6,
36914
37291
  getParagraphText as d,
36915
37292
  getActiveZone as e,
36916
37293
  getDocumentSections as f,