oasis-editor 0.0.86 → 0.0.88

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.
@@ -1495,7 +1495,7 @@ const en = {
1495
1495
  "toolbar.formatBullet": "Bullet",
1496
1496
  "toolbar.moreTools": "More tools",
1497
1497
  // Style
1498
- "toolbar.style": "Paragraph Style",
1498
+ "toolbar.style": "Styles",
1499
1499
  "toolbar.fontFamily": "Font Family",
1500
1500
  "toolbar.font": "Font",
1501
1501
  "toolbar.fontSize": "Font Size",
@@ -1953,7 +1953,7 @@ const ptBR = {
1953
1953
  "toolbar.formatBullet": "Marcador",
1954
1954
  "toolbar.moreTools": "Mais ferramentas",
1955
1955
  // Style
1956
- "toolbar.style": "Estilo de Parágrafo",
1956
+ "toolbar.style": "Estilos",
1957
1957
  "toolbar.fontFamily": "Família da Fonte",
1958
1958
  "toolbar.font": "Fonte",
1959
1959
  "toolbar.fontSize": "Tamanho da Fonte",
@@ -2384,14 +2384,14 @@ function I18nProvider(props) {
2384
2384
  });
2385
2385
  }
2386
2386
  const oasisMarkBase64 = "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";
2387
- var _tmpl$$R = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2387
+ var _tmpl$$S = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2388
2388
  const OASIS_MARK_DATA_URI = `data:image/webp;base64,${oasisMarkBase64}`;
2389
2389
  const MARK_ASPECT = 3 / 4;
2390
2390
  function OasisBrandMark(props) {
2391
2391
  const height = () => props.height ?? 64;
2392
2392
  const width = () => Math.round(height() * MARK_ASPECT);
2393
2393
  return (() => {
2394
- var _el$ = _tmpl$$R();
2394
+ var _el$ = _tmpl$$S();
2395
2395
  setAttribute(_el$, "src", OASIS_MARK_DATA_URI);
2396
2396
  setAttribute(_el$, "draggable", false);
2397
2397
  createRenderEffect((_p$) => {
@@ -2408,7 +2408,7 @@ function OasisBrandMark(props) {
2408
2408
  return _el$;
2409
2409
  })();
2410
2410
  }
2411
- var _tmpl$$Q = /* @__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$n = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2411
+ var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$A = /* @__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$o = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2412
2412
  function OasisEditorLoading(props) {
2413
2413
  const t = useI18n();
2414
2414
  const variant = () => props.variant ?? "overlay";
@@ -2418,7 +2418,7 @@ function OasisEditorLoading(props) {
2418
2418
  };
2419
2419
  const isDone = () => (pct() ?? 0) >= 100;
2420
2420
  return (() => {
2421
- var _el$ = _tmpl$2$z(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2421
+ var _el$ = _tmpl$2$A(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2422
2422
  insert(_el$2, createComponent(OasisBrandMark, {
2423
2423
  height: 40,
2424
2424
  "class": "oasis-editor-loading-mark"
@@ -2429,10 +2429,10 @@ function OasisEditorLoading(props) {
2429
2429
  return pct() != null;
2430
2430
  },
2431
2431
  get children() {
2432
- var _el$6 = _tmpl$$Q();
2432
+ var _el$6 = _tmpl$$R();
2433
2433
  insert(_el$6, (() => {
2434
2434
  var _c$ = memo(() => !!isDone());
2435
- return () => _c$() ? _tmpl$3$n() : `${pct()}%`;
2435
+ return () => _c$() ? _tmpl$3$o() : `${pct()}%`;
2436
2436
  })());
2437
2437
  return _el$6;
2438
2438
  }
@@ -2483,7 +2483,7 @@ function OasisEditorAppLazy(props = {}) {
2483
2483
  onCleanup(() => {
2484
2484
  cancelled = true;
2485
2485
  });
2486
- import("./OasisEditorApp-CE15GH_N.js").then((m) => {
2486
+ import("./OasisEditorApp-Bx4I4GCm.js").then((m) => {
2487
2487
  cancelled = true;
2488
2488
  setProgress(1);
2489
2489
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -3957,6 +3957,8 @@ const DEFAULT_EDITOR_STYLES = {
3957
3957
  id: "normal",
3958
3958
  name: "Normal",
3959
3959
  type: "paragraph",
3960
+ qFormat: true,
3961
+ uiPriority: 0,
3960
3962
  paragraphStyle: {
3961
3963
  spacingAfter: 8,
3962
3964
  lineHeight: 1.15
@@ -3971,6 +3973,7 @@ const DEFAULT_EDITOR_STYLES = {
3971
3973
  id: "header",
3972
3974
  name: "Header",
3973
3975
  type: "paragraph",
3976
+ semiHidden: true,
3974
3977
  basedOn: "normal",
3975
3978
  nextStyle: "header",
3976
3979
  paragraphStyle: {
@@ -3981,6 +3984,7 @@ const DEFAULT_EDITOR_STYLES = {
3981
3984
  id: "footer",
3982
3985
  name: "Footer",
3983
3986
  type: "paragraph",
3987
+ semiHidden: true,
3984
3988
  basedOn: "normal",
3985
3989
  nextStyle: "footer",
3986
3990
  paragraphStyle: {
@@ -3991,6 +3995,8 @@ const DEFAULT_EDITOR_STYLES = {
3991
3995
  id: "heading1",
3992
3996
  name: "Heading 1",
3993
3997
  type: "paragraph",
3998
+ qFormat: true,
3999
+ uiPriority: 10,
3994
4000
  basedOn: "normal",
3995
4001
  nextStyle: "normal",
3996
4002
  paragraphStyle: {
@@ -4007,6 +4013,8 @@ const DEFAULT_EDITOR_STYLES = {
4007
4013
  id: "heading2",
4008
4014
  name: "Heading 2",
4009
4015
  type: "paragraph",
4016
+ qFormat: true,
4017
+ uiPriority: 11,
4010
4018
  basedOn: "normal",
4011
4019
  nextStyle: "normal",
4012
4020
  paragraphStyle: {
@@ -4023,6 +4031,8 @@ const DEFAULT_EDITOR_STYLES = {
4023
4031
  id: "heading3",
4024
4032
  name: "Heading 3",
4025
4033
  type: "paragraph",
4034
+ qFormat: true,
4035
+ uiPriority: 12,
4026
4036
  basedOn: "normal",
4027
4037
  nextStyle: "normal",
4028
4038
  paragraphStyle: {
@@ -4039,6 +4049,7 @@ const DEFAULT_EDITOR_STYLES = {
4039
4049
  id: "footnoteText",
4040
4050
  name: "Footnote Text",
4041
4051
  type: "paragraph",
4052
+ semiHidden: true,
4042
4053
  basedOn: "normal",
4043
4054
  nextStyle: "footnoteText",
4044
4055
  paragraphStyle: {
@@ -4053,6 +4064,7 @@ const DEFAULT_EDITOR_STYLES = {
4053
4064
  id: "footnoteReference",
4054
4065
  name: "Footnote Reference",
4055
4066
  type: "character",
4067
+ semiHidden: true,
4056
4068
  basedOn: "normal",
4057
4069
  textStyle: {
4058
4070
  superscript: true
@@ -4062,6 +4074,8 @@ const DEFAULT_EDITOR_STYLES = {
4062
4074
  id: "Caption",
4063
4075
  name: "Caption",
4064
4076
  type: "paragraph",
4077
+ qFormat: true,
4078
+ uiPriority: 35,
4065
4079
  basedOn: "normal",
4066
4080
  nextStyle: "normal",
4067
4081
  paragraphStyle: {
@@ -4657,6 +4671,7 @@ const OASIS_BUILTIN_COMMANDS = [
4657
4671
  "setHighlight",
4658
4672
  "setTextShading",
4659
4673
  "setStyleId",
4674
+ "setCharacterStyleId",
4660
4675
  "setUnderlineStyle",
4661
4676
  "documentStyles",
4662
4677
  "print",
@@ -4726,9 +4741,9 @@ function mount(target, props = {}) {
4726
4741
  unmount: () => client.dispose()
4727
4742
  });
4728
4743
  }
4729
- 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$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$m = /* @__PURE__ */ template(`<i>`);
4730
- const FootnoteIcon = () => _tmpl$$P();
4731
- const SpecialIndentFirstLineIcon = () => _tmpl$2$y();
4744
+ 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$z = /* @__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$n = /* @__PURE__ */ template(`<i>`);
4745
+ const FootnoteIcon = () => _tmpl$$Q();
4746
+ const SpecialIndentFirstLineIcon = () => _tmpl$2$z();
4732
4747
  const CUSTOM_ICONS = {
4733
4748
  footnote: FootnoteIcon,
4734
4749
  specialIndentFirstLine: SpecialIndentFirstLineIcon
@@ -4743,7 +4758,7 @@ function ToolIcon(props) {
4743
4758
  },
4744
4759
  get fallback() {
4745
4760
  return (() => {
4746
- var _el$3 = _tmpl$3$m();
4761
+ var _el$3 = _tmpl$3$n();
4747
4762
  createRenderEffect(() => setAttribute(_el$3, "data-lucide", props.name));
4748
4763
  return _el$3;
4749
4764
  })();
@@ -4751,7 +4766,7 @@ function ToolIcon(props) {
4751
4766
  children: (render2) => render2()()
4752
4767
  });
4753
4768
  }
4754
- var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$x = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$l = /* @__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>`);
4769
+ var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$y = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$m = /* @__PURE__ */ template(`<div class=oasis-menubar-menu><div class=oasis-menubar-button role=menuitem aria-haspopup=true>`), _tmpl$4$g = /* @__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>`);
4755
4770
  function Menubar(props) {
4756
4771
  const t = useI18n();
4757
4772
  const [activeMenu, setActiveMenu] = createSignal(null);
@@ -4819,13 +4834,13 @@ function Menubar(props) {
4819
4834
  });
4820
4835
  const topLevelItems = () => pruneTree(menuTree());
4821
4836
  return (() => {
4822
- var _el$ = _tmpl$$O();
4837
+ var _el$ = _tmpl$$P();
4823
4838
  insert(_el$, createComponent(For, {
4824
4839
  get each() {
4825
4840
  return topLevelItems();
4826
4841
  },
4827
4842
  children: (topLevel) => (() => {
4828
- var _el$2 = _tmpl$3$l(), _el$3 = _el$2.firstChild;
4843
+ var _el$2 = _tmpl$3$m(), _el$3 = _el$2.firstChild;
4829
4844
  _el$2.addEventListener("mouseenter", () => {
4830
4845
  if (activeMenu() && activeMenu() !== topLevel.id) {
4831
4846
  setActiveMenu(topLevel.id);
@@ -4845,7 +4860,7 @@ function Menubar(props) {
4845
4860
  return activeMenu() === topLevel.id;
4846
4861
  },
4847
4862
  get children() {
4848
- var _el$4 = _tmpl$2$x();
4863
+ var _el$4 = _tmpl$2$y();
4849
4864
  insert(_el$4, createComponent(For, {
4850
4865
  get each() {
4851
4866
  return topLevel.children;
@@ -4885,7 +4900,7 @@ function MenuNode(props) {
4885
4900
  } = props;
4886
4901
  const isSeparator = (_a = node.item) == null ? void 0 : _a.separator;
4887
4902
  if (isSeparator) {
4888
- return _tmpl$4$f();
4903
+ return _tmpl$4$g();
4889
4904
  }
4890
4905
  const hasChildren = node.children.length > 0;
4891
4906
  const [showSub, setShowSub] = createSignal(false);
@@ -4973,10 +4988,10 @@ function MenuNode(props) {
4973
4988
  })();
4974
4989
  }
4975
4990
  delegateEvents(["click"]);
4976
- var _tmpl$$N = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
4991
+ var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
4977
4992
  function TitleBar(props) {
4978
4993
  return (() => {
4979
- var _el$ = _tmpl$$N(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
4994
+ var _el$ = _tmpl$$O(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
4980
4995
  insert(_el$3, () => props.children);
4981
4996
  return _el$;
4982
4997
  })();
@@ -15841,7 +15856,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
15841
15856
  );
15842
15857
  return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
15843
15858
  }
15844
- var _tmpl$$M = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$w = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$k = /* @__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>`);
15859
+ var _tmpl$$N = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$x = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$l = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$f = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$d = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
15845
15860
  function OutlinePanel(props) {
15846
15861
  const t = useI18n();
15847
15862
  const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
@@ -15910,13 +15925,13 @@ function OutlinePanel(props) {
15910
15925
  }
15911
15926
  });
15912
15927
  return (() => {
15913
- var _el$ = _tmpl$3$k(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
15928
+ var _el$ = _tmpl$3$l(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
15914
15929
  insert(_el$2, createComponent(Show, {
15915
15930
  get when() {
15916
15931
  return !collapsed();
15917
15932
  },
15918
15933
  get children() {
15919
- var _el$3 = _tmpl$$M();
15934
+ var _el$3 = _tmpl$$N();
15920
15935
  insert(_el$3, () => t("menu.view.outline") || "Outline");
15921
15936
  return _el$3;
15922
15937
  }
@@ -15927,14 +15942,14 @@ function OutlinePanel(props) {
15927
15942
  return !collapsed();
15928
15943
  },
15929
15944
  get children() {
15930
- var _el$6 = _tmpl$2$w();
15945
+ var _el$6 = _tmpl$2$x();
15931
15946
  insert(_el$6, createComponent(Show, {
15932
15947
  get when() {
15933
15948
  return items().length > 0;
15934
15949
  },
15935
15950
  get fallback() {
15936
15951
  return (() => {
15937
- var _el$7 = _tmpl$4$e();
15952
+ var _el$7 = _tmpl$4$f();
15938
15953
  insert(_el$7, () => t("outline.empty"));
15939
15954
  return _el$7;
15940
15955
  })();
@@ -15984,7 +15999,7 @@ function OutlinePanel(props) {
15984
15999
  })();
15985
16000
  }
15986
16001
  delegateEvents(["click"]);
15987
- 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$v = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
16002
+ 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$w = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
15988
16003
  function ToolbarOverflowManager(props) {
15989
16004
  const t = useI18n();
15990
16005
  const [overflowCount, setOverflowCount] = createSignal(0);
@@ -16128,7 +16143,7 @@ function ToolbarOverflowManager(props) {
16128
16143
  };
16129
16144
  };
16130
16145
  return (() => {
16131
- 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;
16146
+ 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;
16132
16147
  var _ref$ = containerRef;
16133
16148
  typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
16134
16149
  var _ref$2 = moreMeasureRef;
@@ -16140,7 +16155,7 @@ function ToolbarOverflowManager(props) {
16140
16155
  return items();
16141
16156
  },
16142
16157
  children: (item) => (() => {
16143
- var _el$7 = _tmpl$2$v();
16158
+ var _el$7 = _tmpl$2$w();
16144
16159
  insert(_el$7, item);
16145
16160
  return _el$7;
16146
16161
  })()
@@ -16216,12 +16231,12 @@ function resolveLabel(item, api) {
16216
16231
  if (item.labelKey) return api.t(item.labelKey);
16217
16232
  return void 0;
16218
16233
  }
16219
- var _tmpl$$K = /* @__PURE__ */ template(`<span>`), _tmpl$2$u = /* @__PURE__ */ template(`<button type=button>`);
16234
+ var _tmpl$$L = /* @__PURE__ */ template(`<span>`), _tmpl$2$v = /* @__PURE__ */ template(`<button type=button>`);
16220
16235
  function Button$1(props) {
16221
16236
  const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "ribbonSize", "aria-label", "class", "classList"]);
16222
16237
  const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
16223
16238
  return (() => {
16224
- var _el$ = _tmpl$2$u();
16239
+ var _el$ = _tmpl$2$v();
16225
16240
  spread(_el$, mergeProps({
16226
16241
  get ["class"]() {
16227
16242
  return `oasis-editor-tool-button ${local.class || ""}`;
@@ -16258,7 +16273,7 @@ function Button$1(props) {
16258
16273
  return local.label;
16259
16274
  },
16260
16275
  get children() {
16261
- var _el$2 = _tmpl$$K();
16276
+ var _el$2 = _tmpl$$L();
16262
16277
  insert(_el$2, () => local.label);
16263
16278
  return _el$2;
16264
16279
  }
@@ -16340,7 +16355,7 @@ function useDismiss(options) {
16340
16355
  });
16341
16356
  });
16342
16357
  }
16343
- var _tmpl$$J = /* @__PURE__ */ template(`<div>`);
16358
+ var _tmpl$$K = /* @__PURE__ */ template(`<div>`);
16344
16359
  function Popover(props) {
16345
16360
  let anchorRef;
16346
16361
  let panelRef;
@@ -16357,7 +16372,7 @@ function Popover(props) {
16357
16372
  closeOnEscape: props.closeOnEscape
16358
16373
  });
16359
16374
  const panel = (portalled) => (() => {
16360
- var _el$ = _tmpl$$J();
16375
+ var _el$ = _tmpl$$K();
16361
16376
  addEventListener(_el$, "mouseleave", props.onPanelMouseLeave);
16362
16377
  var _ref$ = panelRef;
16363
16378
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
@@ -16409,12 +16424,12 @@ function Popover(props) {
16409
16424
  }
16410
16425
  })];
16411
16426
  }
16412
- var _tmpl$$I = /* @__PURE__ */ template(`<div>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$j = /* @__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>`);
16427
+ var _tmpl$$J = /* @__PURE__ */ template(`<div>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$k = /* @__PURE__ */ template(`<i>`), _tmpl$4$e = /* @__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>`);
16413
16428
  function Menu(props) {
16414
16429
  const [open, setOpen] = createSignal(false);
16415
16430
  const ariaLabel = () => props.tooltip || props.label || "";
16416
16431
  return (() => {
16417
- var _el$ = _tmpl$2$t();
16432
+ var _el$ = _tmpl$2$u();
16418
16433
  insert(_el$, createComponent(Popover, {
16419
16434
  get open() {
16420
16435
  return open();
@@ -16437,7 +16452,7 @@ function Menu(props) {
16437
16452
  return props.icon;
16438
16453
  },
16439
16454
  get children() {
16440
- var _el$4 = _tmpl$3$j();
16455
+ var _el$4 = _tmpl$3$k();
16441
16456
  createRenderEffect(() => setAttribute(_el$4, "data-lucide", props.icon));
16442
16457
  return _el$4;
16443
16458
  }
@@ -16447,7 +16462,7 @@ function Menu(props) {
16447
16462
  return props.label;
16448
16463
  },
16449
16464
  get children() {
16450
- var _el$5 = _tmpl$4$d();
16465
+ var _el$5 = _tmpl$4$e();
16451
16466
  insert(_el$5, () => props.label);
16452
16467
  return _el$5;
16453
16468
  }
@@ -16482,7 +16497,7 @@ function Menu(props) {
16482
16497
  return _el$3;
16483
16498
  })(),
16484
16499
  get children() {
16485
- var _el$2 = _tmpl$$I();
16500
+ var _el$2 = _tmpl$$J();
16486
16501
  _el$2.$$click = (event) => {
16487
16502
  const el = event.target;
16488
16503
  if (el.closest("button") && !el.closest(".oasis-editor-tool-button-dropdown") && !el.closest(".oasis-editor-toolbar-list-options")) {
@@ -16497,7 +16512,7 @@ function Menu(props) {
16497
16512
  })();
16498
16513
  }
16499
16514
  delegateEvents(["click"]);
16500
- var _tmpl$$H = /* @__PURE__ */ template(`<select>`);
16515
+ var _tmpl$$I = /* @__PURE__ */ template(`<select>`);
16501
16516
  function Select(props) {
16502
16517
  let selectRef;
16503
16518
  const [local, others] = splitProps(props, ["wide", "small", "class", "tooltip", "aria-label", "value"]);
@@ -16513,7 +16528,7 @@ function Select(props) {
16513
16528
  }
16514
16529
  });
16515
16530
  return (() => {
16516
- var _el$ = _tmpl$$H();
16531
+ var _el$ = _tmpl$$I();
16517
16532
  var _ref$ = selectRef;
16518
16533
  typeof _ref$ === "function" ? use(_ref$, _el$) : selectRef = _el$;
16519
16534
  spread(_el$, mergeProps({
@@ -16540,15 +16555,15 @@ function Select(props) {
16540
16555
  return _el$;
16541
16556
  })();
16542
16557
  }
16543
- var _tmpl$$G = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
16558
+ var _tmpl$$H = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
16544
16559
  function Separator(props) {
16545
16560
  return (() => {
16546
- var _el$ = _tmpl$$G();
16561
+ var _el$ = _tmpl$$H();
16547
16562
  createRenderEffect((_$p) => setStyleProperty(_el$, "display", props.hidden ? "none" : void 0));
16548
16563
  return _el$;
16549
16564
  })();
16550
16565
  }
16551
- 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>`);
16566
+ 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>`);
16552
16567
  function SplitButton(props) {
16553
16568
  return createComponent(Popover, {
16554
16569
  get open() {
@@ -16567,7 +16582,7 @@ function SplitButton(props) {
16567
16582
  return props.onPanelMouseLeave;
16568
16583
  },
16569
16584
  trigger: (api) => (() => {
16570
- var _el$ = _tmpl$$F(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
16585
+ var _el$ = _tmpl$$G(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
16571
16586
  use((el) => api.ref(el), _el$);
16572
16587
  _el$2.$$click = () => props.onMain();
16573
16588
  insert(_el$2, () => props.mainContent);
@@ -16605,7 +16620,7 @@ function SplitButton(props) {
16605
16620
  });
16606
16621
  }
16607
16622
  delegateEvents(["click"]);
16608
- var _tmpl$$E = /* @__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$i = /* @__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>`);
16623
+ var _tmpl$$F = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$t = /* @__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$j = /* @__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$d = /* @__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>`);
16609
16624
  const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
16610
16625
  function ColorPicker(props) {
16611
16626
  const [isOpen, setIsOpen] = createSignal(false);
@@ -16670,7 +16685,7 @@ function ColorPicker(props) {
16670
16685
  return clearLabel();
16671
16686
  },
16672
16687
  get children() {
16673
- var _el$ = _tmpl$2$s(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
16688
+ var _el$ = _tmpl$2$t(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
16674
16689
  _el$.$$click = () => applyColor(null);
16675
16690
  insert(_el$2, createComponent(Show, {
16676
16691
  get when() {
@@ -16680,7 +16695,7 @@ function ColorPicker(props) {
16680
16695
  return _tmpl$8$1();
16681
16696
  },
16682
16697
  get children() {
16683
- return _tmpl$$E();
16698
+ return _tmpl$$F();
16684
16699
  }
16685
16700
  }));
16686
16701
  insert(_el$4, clearLabel);
@@ -16688,7 +16703,7 @@ function ColorPicker(props) {
16688
16703
  return _el$;
16689
16704
  }
16690
16705
  }), (() => {
16691
- var _el$5 = _tmpl$3$i(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
16706
+ var _el$5 = _tmpl$3$j(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
16692
16707
  insert(_el$6, () => props.themeColorsLabel);
16693
16708
  insert(_el$7, createComponent(For, {
16694
16709
  get each() {
@@ -16728,7 +16743,7 @@ function ColorPicker(props) {
16728
16743
  }));
16729
16744
  return _el$5;
16730
16745
  })(), (() => {
16731
- var _el$8 = _tmpl$4$c(), _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling;
16746
+ var _el$8 = _tmpl$4$d(), _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling;
16732
16747
  insert(_el$9, () => props.standardColorsLabel);
16733
16748
  insert(_el$0, createComponent(For, {
16734
16749
  get each() {
@@ -16793,7 +16808,7 @@ function ColorPicker(props) {
16793
16808
  });
16794
16809
  }
16795
16810
  delegateEvents(["click", "input"]);
16796
- var _tmpl$$D = /* @__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$h = /* @__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>`);
16811
+ var _tmpl$$E = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$s = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$c = /* @__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>`);
16797
16812
  function GridPicker(props) {
16798
16813
  const t = useI18n();
16799
16814
  const [isOpen, setIsOpen] = createSignal(false);
@@ -16868,7 +16883,7 @@ function GridPicker(props) {
16868
16883
  return h.row === 0 || h.col === 0 ? t("toolbar.table") : `${h.row} × ${h.col}`;
16869
16884
  };
16870
16885
  return (() => {
16871
- var _el$ = _tmpl$3$h();
16886
+ var _el$ = _tmpl$3$i();
16872
16887
  insert(_el$, createComponent(Popover, {
16873
16888
  get open() {
16874
16889
  return isOpen();
@@ -16880,7 +16895,7 @@ function GridPicker(props) {
16880
16895
  col: 0
16881
16896
  }),
16882
16897
  trigger: (api) => (() => {
16883
- var _el$4 = _tmpl$4$b(), _el$5 = _el$4.firstChild;
16898
+ var _el$4 = _tmpl$4$c(), _el$5 = _el$4.firstChild;
16884
16899
  _el$4.$$click = () => api.toggle();
16885
16900
  use((el) => api.ref(el), _el$4);
16886
16901
  createRenderEffect((_p$) => {
@@ -16902,11 +16917,11 @@ function GridPicker(props) {
16902
16917
  })(),
16903
16918
  get children() {
16904
16919
  return [(() => {
16905
- var _el$2 = _tmpl$$D();
16920
+ var _el$2 = _tmpl$$E();
16906
16921
  insert(_el$2, statusLabel);
16907
16922
  return _el$2;
16908
16923
  })(), (() => {
16909
- var _el$3 = _tmpl$2$r();
16924
+ var _el$3 = _tmpl$2$s();
16910
16925
  insert(_el$3, createComponent(For, {
16911
16926
  get each() {
16912
16927
  return rows();
@@ -17006,6 +17021,174 @@ const DEFAULT_PALETTE = {
17006
17021
  standardColors: STANDARD_COLORS,
17007
17022
  allowCustom: true
17008
17023
  };
17024
+ var _tmpl$$D = /* @__PURE__ */ template(`<button type=button class=oasis-editor-style-gallery-card role=option><span>`), _tmpl$2$r = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery-grid>`), _tmpl$3$h = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery><div class=oasis-editor-style-gallery-ribbon><div class=oasis-editor-style-gallery-strip role=listbox></div><button type=button class=oasis-editor-style-gallery-expand aria-haspopup=listbox><i data-lucide=chevron-down>`), _tmpl$4$b = /* @__PURE__ */ template(`<option>`);
17025
+ function getQuickStyles(styles) {
17026
+ const applicable = styles.filter((style2) => style2.type !== "table" && (!style2.semiHidden || style2.unhideWhenUsed && style2.isUsed));
17027
+ const hasQuickStyles = applicable.some((style2) => style2.qFormat === true);
17028
+ return applicable.filter((style2) => !hasQuickStyles || style2.qFormat === true).map((style2, index) => ({
17029
+ style: style2,
17030
+ index
17031
+ })).sort((a, b) => (a.style.uiPriority ?? Number.MAX_SAFE_INTEGER) - (b.style.uiPriority ?? Number.MAX_SAFE_INTEGER) || a.index - b.index).map(({
17032
+ style: style2
17033
+ }) => style2);
17034
+ }
17035
+ function previewStyle(style2) {
17036
+ const fontSize = Math.min(28, Math.max(12, style2.fontSize ?? 14));
17037
+ return {
17038
+ "font-family": style2.fontFamily,
17039
+ "font-size": `${fontSize}px`,
17040
+ color: style2.color,
17041
+ "font-weight": style2.bold ? "700" : "400",
17042
+ "font-style": style2.italic ? "italic" : "normal"
17043
+ };
17044
+ }
17045
+ function StyleGallery(props) {
17046
+ const [open, setOpen] = createSignal(false);
17047
+ const panelTestId = `${props.item.testId ?? props.item.id}-panel`;
17048
+ const expandTestId = `${props.item.testId ?? props.item.id}-expand`;
17049
+ const styles = createMemo(() => getQuickStyles(props.item.styles(props.api)));
17050
+ const paragraphStyleId = () => String(props.api.commands.state(props.item.paragraphCommand).value ?? "");
17051
+ const characterStyleId = () => String(props.api.commands.state(props.item.characterCommand).value ?? "");
17052
+ createEffect(() => {
17053
+ if (!open()) return;
17054
+ queueMicrotask(() => {
17055
+ const panel = document.querySelector(`[data-testid="${panelTestId}"]`);
17056
+ const target = (panel == null ? void 0 : panel.querySelector(".oasis-editor-style-gallery-card-active")) ?? (panel == null ? void 0 : panel.querySelector(".oasis-editor-style-gallery-card"));
17057
+ target == null ? void 0 : target.focus();
17058
+ });
17059
+ });
17060
+ const isActive = (style2) => style2.type === "character" ? characterStyleId() === style2.id : paragraphStyleId() === style2.id;
17061
+ const apply = (style2) => {
17062
+ const command = style2.type === "character" ? props.item.characterCommand : props.item.paragraphCommand;
17063
+ if (props.api.commands.canExecute(command)) {
17064
+ props.api.commands.execute(command, style2.id);
17065
+ setOpen(false);
17066
+ props.api.focusEditor();
17067
+ }
17068
+ };
17069
+ const onPanelKeyDown = (event) => {
17070
+ var _a;
17071
+ if (event.key === "Escape") {
17072
+ event.preventDefault();
17073
+ event.stopPropagation();
17074
+ setOpen(false);
17075
+ window.setTimeout(() => {
17076
+ var _a2;
17077
+ return (_a2 = document.querySelector(`[data-testid="${expandTestId}"]`)) == null ? void 0 : _a2.focus();
17078
+ }, 0);
17079
+ return;
17080
+ }
17081
+ const buttons = Array.from(event.currentTarget.querySelectorAll(".oasis-editor-style-gallery-card"));
17082
+ const current = buttons.indexOf(document.activeElement);
17083
+ if (current < 0 || buttons.length === 0) return;
17084
+ const renderedColumns = getComputedStyle(event.currentTarget).gridTemplateColumns.split(" ").filter(Boolean).length;
17085
+ const columns = renderedColumns > 0 ? renderedColumns : 6;
17086
+ const moves = {
17087
+ ArrowLeft: current - 1,
17088
+ ArrowRight: current + 1,
17089
+ ArrowUp: current - columns,
17090
+ ArrowDown: current + columns,
17091
+ Home: 0,
17092
+ End: buttons.length - 1
17093
+ };
17094
+ const next = moves[event.key];
17095
+ if (next === void 0) return;
17096
+ event.preventDefault();
17097
+ (_a = buttons[Math.min(buttons.length - 1, Math.max(0, next))]) == null ? void 0 : _a.focus();
17098
+ };
17099
+ const cards = () => createComponent(For, {
17100
+ get each() {
17101
+ return styles();
17102
+ },
17103
+ children: (style$1) => (() => {
17104
+ var _el$ = _tmpl$$D(), _el$2 = _el$.firstChild;
17105
+ _el$.$$click = () => apply(style$1);
17106
+ insert(_el$2, () => style$1.name);
17107
+ createRenderEffect((_p$) => {
17108
+ var _v$ = !!isActive(style$1), _v$2 = previewStyle(style$1), _v$3 = style$1.name, _v$4 = isActive(style$1), _v$5 = style$1.id;
17109
+ _v$ !== _p$.e && _el$.classList.toggle("oasis-editor-style-gallery-card-active", _p$.e = _v$);
17110
+ _p$.t = style(_el$, _v$2, _p$.t);
17111
+ _v$3 !== _p$.a && setAttribute(_el$, "title", _p$.a = _v$3);
17112
+ _v$4 !== _p$.o && setAttribute(_el$, "aria-selected", _p$.o = _v$4);
17113
+ _v$5 !== _p$.i && setAttribute(_el$, "data-style-id", _p$.i = _v$5);
17114
+ return _p$;
17115
+ }, {
17116
+ e: void 0,
17117
+ t: void 0,
17118
+ a: void 0,
17119
+ o: void 0,
17120
+ i: void 0
17121
+ });
17122
+ return _el$;
17123
+ })()
17124
+ });
17125
+ return createComponent(Popover, {
17126
+ get open() {
17127
+ return open();
17128
+ },
17129
+ onOpenChange: setOpen,
17130
+ placement: "bottom-end",
17131
+ panelClass: "oasis-editor-style-gallery-panel",
17132
+ panelRole: "listbox",
17133
+ panelTestId,
17134
+ trigger: (popover) => (() => {
17135
+ var _el$4 = _tmpl$3$h(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
17136
+ var _ref$ = popover.ref;
17137
+ typeof _ref$ === "function" ? use(_ref$, _el$4) : popover.ref = _el$4;
17138
+ insert(_el$4, createComponent(Select, {
17139
+ "class": "oasis-editor-style-gallery-compact",
17140
+ get value() {
17141
+ return characterStyleId() || paragraphStyleId();
17142
+ },
17143
+ get ["data-testid"]() {
17144
+ return props.item.testId;
17145
+ },
17146
+ get tooltip() {
17147
+ return props.api.t("toolbar.style");
17148
+ },
17149
+ onChange: (event) => {
17150
+ const style2 = styles().find((candidate) => candidate.id === event.currentTarget.value);
17151
+ if (style2) apply(style2);
17152
+ },
17153
+ get children() {
17154
+ return createComponent(For, {
17155
+ get each() {
17156
+ return styles();
17157
+ },
17158
+ children: (style2) => (() => {
17159
+ var _el$8 = _tmpl$4$b();
17160
+ insert(_el$8, () => style2.name);
17161
+ createRenderEffect(() => _el$8.value = style2.id);
17162
+ return _el$8;
17163
+ })()
17164
+ });
17165
+ }
17166
+ }), _el$5);
17167
+ insert(_el$6, cards);
17168
+ _el$7.$$click = () => popover.toggle();
17169
+ setAttribute(_el$7, "data-testid", expandTestId);
17170
+ createRenderEffect((_p$) => {
17171
+ var _v$6 = props.api.t("toolbar.style"), _v$7 = props.api.t("toolbar.style"), _v$8 = popover.open;
17172
+ _v$6 !== _p$.e && setAttribute(_el$7, "title", _p$.e = _v$6);
17173
+ _v$7 !== _p$.t && setAttribute(_el$7, "aria-label", _p$.t = _v$7);
17174
+ _v$8 !== _p$.a && setAttribute(_el$7, "aria-expanded", _p$.a = _v$8);
17175
+ return _p$;
17176
+ }, {
17177
+ e: void 0,
17178
+ t: void 0,
17179
+ a: void 0
17180
+ });
17181
+ return _el$4;
17182
+ })(),
17183
+ get children() {
17184
+ var _el$3 = _tmpl$2$r();
17185
+ _el$3.$$keydown = onPanelKeyDown;
17186
+ insert(_el$3, cards);
17187
+ return _el$3;
17188
+ }
17189
+ });
17190
+ }
17191
+ delegateEvents(["click", "keydown"]);
17009
17192
  var _tmpl$$C = /* @__PURE__ */ template(`<option value>`), _tmpl$2$q = /* @__PURE__ */ template(`<option>`), _tmpl$3$g = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
17010
17193
  function renderMenuContent(content, api) {
17011
17194
  if (content.kind === "custom") {
@@ -17206,6 +17389,16 @@ function RenderSelect(props) {
17206
17389
  }
17207
17390
  });
17208
17391
  }
17392
+ function RenderStyleGallery(props) {
17393
+ return createComponent(StyleGallery, {
17394
+ get item() {
17395
+ return props.item;
17396
+ },
17397
+ get api() {
17398
+ return props.api;
17399
+ }
17400
+ });
17401
+ }
17209
17402
  function RenderColorPicker(props) {
17210
17403
  const [lastValue, setLastValue] = createSignal(props.item.defaultValue);
17211
17404
  const b = bindItem(props.item, props.api);
@@ -17307,6 +17500,7 @@ const TOOLBAR_RENDERERS = {
17307
17500
  split: RenderSplit,
17308
17501
  menu: RenderMenu,
17309
17502
  select: RenderSelect,
17503
+ styleGallery: RenderStyleGallery,
17310
17504
  colorPicker: RenderColorPicker,
17311
17505
  gridPicker: RenderGridPicker,
17312
17506
  separator: RenderSeparator,
@@ -21410,6 +21604,7 @@ function getToolbarStyleState(state) {
21410
21604
  textEffect: resolveUniformStyleValue(styles, "textEffect"),
21411
21605
  link: resolveUniformStyleValue(styles, "link"),
21412
21606
  styleId: resolveUniformParagraphStyleValue(paragraphStyles, "styleId"),
21607
+ characterStyleId: resolveUniformStyleValue(styles, "styleId"),
21413
21608
  align: resolveUniformParagraphStyleValue(paragraphStyles, "align"),
21414
21609
  lineHeight: resolveUniformParagraphStyleValue(
21415
21610
  paragraphStyles,
@@ -32350,6 +32545,15 @@ function parseImportedStyles(stylesXml, theme) {
32350
32545
  getFirstChildByTagNameNS(styleElement, WORD_NS, "next"),
32351
32546
  "val"
32352
32547
  ) ?? void 0;
32548
+ const qFormat = parseOnOffProperty(styleElement, "qFormat");
32549
+ const semiHidden = parseOnOffProperty(styleElement, "semiHidden");
32550
+ const unhideWhenUsed = parseOnOffProperty(styleElement, "unhideWhenUsed");
32551
+ const rawUiPriority = getAttributeValue(
32552
+ getFirstChildByTagNameNS(styleElement, WORD_NS, "uiPriority"),
32553
+ "val"
32554
+ );
32555
+ const parsedUiPriority = rawUiPriority === null ? NaN : Number(rawUiPriority);
32556
+ const uiPriority = Number.isInteger(parsedUiPriority) && parsedUiPriority >= 0 ? parsedUiPriority : void 0;
32353
32557
  const paragraphStyle = withDocxImplicitSingleLineHeight(
32354
32558
  parseParagraphStyle$1(
32355
32559
  getFirstChildByTagNameNS(styleElement, WORD_NS, "pPr")
@@ -32428,6 +32632,10 @@ function parseImportedStyles(stylesXml, theme) {
32428
32632
  type,
32429
32633
  basedOn,
32430
32634
  nextStyle,
32635
+ qFormat,
32636
+ uiPriority,
32637
+ semiHidden,
32638
+ unhideWhenUsed,
32431
32639
  paragraphStyle: type === "paragraph" && isDefaultParagraph ? mergeStyles(defaultParagraphStyle, paragraphStyle) : paragraphStyle,
32432
32640
  textStyle: type === "paragraph" && isDefaultParagraph ? mergeStyles(defaultTextStyle, textStyle) : textStyle,
32433
32641
  tableStyle
@@ -35633,7 +35841,7 @@ function importDocxInWorker(buffer, options = {}) {
35633
35841
  const worker = new Worker(
35634
35842
  new URL(
35635
35843
  /* @vite-ignore */
35636
- "" + new URL("assets/importDocxWorker-C94l6-O5.js", import.meta.url).href,
35844
+ "" + new URL("assets/importDocxWorker-BcELKms0.js", import.meta.url).href,
35637
35845
  import.meta.url
35638
35846
  ),
35639
35847
  {
@@ -38451,7 +38659,7 @@ function LineSpacingDialog(props) {
38451
38659
  const num = Number(value);
38452
38660
  return Number.isFinite(num) ? num : null;
38453
38661
  };
38454
- const previewStyle = createMemo(() => {
38662
+ const previewStyle2 = createMemo(() => {
38455
38663
  const lh = parseNumber(lineHeight());
38456
38664
  return {
38457
38665
  "line-height": lh !== null && lh > 0 ? String(lh) : void 0
@@ -38509,7 +38717,7 @@ function LineSpacingDialog(props) {
38509
38717
  insert(_el$11, () => t("lineSpacing.preview"));
38510
38718
  insert(_el$12, () => t("lineSpacing.previewText"), _el$13);
38511
38719
  insert(_el$12, () => t("lineSpacing.previewText"), null);
38512
- createRenderEffect((_$p) => style(_el$12, previewStyle(), _$p));
38720
+ createRenderEffect((_$p) => style(_el$12, previewStyle2(), _$p));
38513
38721
  return _el$10;
38514
38722
  })()];
38515
38723
  }
@@ -39263,7 +39471,6 @@ const fontSizeOptions = (api) => {
39263
39471
  if (Number.isFinite(current) && current > 0) values.add(current);
39264
39472
  return Array.from(values).sort((a, b) => a - b).map((n) => ({ value: String(n), label: String(n) }));
39265
39473
  };
39266
- const styleOptions = (api) => documentStyles(api).map((s) => ({ value: s.id, label: s.name }));
39267
39474
  const ALIGN_BUTTONS = [
39268
39475
  {
39269
39476
  command: "alignLeft",
@@ -39455,13 +39662,14 @@ function createDefaultToolbarPreset(t) {
39455
39662
  });
39456
39663
  items.push({ type: "separator", id: "sep-history" });
39457
39664
  items.push({
39458
- type: "select",
39665
+ type: "styleGallery",
39459
39666
  id: "editor-toolbar-style",
39460
39667
  testId: "editor-toolbar-style",
39461
- width: "wide",
39462
39668
  tooltipKey: "toolbar.style",
39463
- command: "setStyleId",
39464
- options: styleOptions
39669
+ ribbonSize: "large",
39670
+ styles: documentStyles,
39671
+ paragraphCommand: "setStyleId",
39672
+ characterCommand: "setCharacterStyleId"
39465
39673
  });
39466
39674
  items.push({
39467
39675
  type: "select",
@@ -40063,7 +40271,7 @@ export {
40063
40271
  getRunFieldChar as ay,
40064
40272
  getRunFieldInstruction as az,
40065
40273
  createEditorStateFromDocument as b,
40066
- createTranslator as b$,
40274
+ I18nProvider as b$,
40067
40275
  SfntFontProgram as b0,
40068
40276
  collectPdfFontFamilies as b1,
40069
40277
  projectDocumentLayout as b2,
@@ -40080,27 +40288,27 @@ export {
40080
40288
  getHeadingLevel as bD,
40081
40289
  preciseFontModeVersion as bE,
40082
40290
  isPreciseFontModeEnabled as bF,
40083
- togglePreciseFontMode as bG,
40084
- nextFontSizePt as bH,
40085
- previousFontSizePt as bI,
40086
- fontSizePtToPx as bJ,
40087
- createDefaultToolbarPreset as bK,
40088
- MenuRegistry as bL,
40089
- createToolbarRegistry as bM,
40090
- Editor as bN,
40091
- resolveCommandRef as bO,
40092
- commandRefName as bP,
40093
- createOasisEditorClient as bQ,
40094
- createEditorZoom as bR,
40095
- startLongTaskObserver as bS,
40096
- installGlobalReport as bT,
40097
- applyStoredPreciseFontPreference as bU,
40098
- getWelcomeSeen as bV,
40099
- isLocalFontAccessSupported as bW,
40100
- EDITOR_SCROLL_PADDING_PX as bX,
40101
- Toolbar as bY,
40102
- OasisEditorLoading as bZ,
40103
- I18nProvider as b_,
40291
+ resolveNamedTextStyle as bG,
40292
+ togglePreciseFontMode as bH,
40293
+ nextFontSizePt as bI,
40294
+ previousFontSizePt as bJ,
40295
+ fontSizePtToPx as bK,
40296
+ createDefaultToolbarPreset as bL,
40297
+ MenuRegistry as bM,
40298
+ createToolbarRegistry as bN,
40299
+ Editor as bO,
40300
+ resolveCommandRef as bP,
40301
+ commandRefName as bQ,
40302
+ createOasisEditorClient as bR,
40303
+ createEditorZoom as bS,
40304
+ startLongTaskObserver as bT,
40305
+ installGlobalReport as bU,
40306
+ applyStoredPreciseFontPreference as bV,
40307
+ getWelcomeSeen as bW,
40308
+ isLocalFontAccessSupported as bX,
40309
+ EDITOR_SCROLL_PADDING_PX as bY,
40310
+ Toolbar as bZ,
40311
+ OasisEditorLoading as b_,
40104
40312
  getDocumentSectionsCanonical as ba,
40105
40313
  getDocumentParagraphsCanonical as bb,
40106
40314
  getDocumentParagraphs as bc,
@@ -40128,42 +40336,44 @@ export {
40128
40336
  getParagraphById as by,
40129
40337
  createEditorFootnote as bz,
40130
40338
  createSignal as c,
40131
- createEditorLogger as c0,
40132
- registerDomStatsSurface as c1,
40133
- Button as c2,
40134
- Checkbox as c3,
40135
- ColorPicker as c4,
40136
- CommandRegistry as c5,
40137
- DEFAULT_PALETTE as c6,
40138
- DialogFooter as c7,
40139
- FloatingActionButton as c8,
40140
- GridPicker as c9,
40141
- IconButton as ca,
40142
- Menu as cb,
40143
- OASIS_BUILTIN_COMMANDS as cc,
40144
- OASIS_MENU_ITEMS as cd,
40145
- OASIS_TOOLBAR_ITEMS as ce,
40146
- OasisEditorAppLazy as cf,
40147
- OasisEditorContainer as cg,
40148
- PluginCollection as ch,
40149
- Popover as ci,
40150
- RIBBON_TABS as cj,
40151
- Select as ck,
40152
- SelectField as cl,
40153
- Separator as cm,
40154
- SidePanel as cn,
40155
- SidePanelBody as co,
40156
- SidePanelFooter as cp,
40157
- SidePanelHeader as cq,
40158
- SplitButton as cr,
40159
- TextField as cs,
40160
- Button$1 as ct,
40161
- buildRibbonTabDefinitions as cu,
40162
- createEditorCommandBus as cv,
40163
- createOasisEditor as cw,
40164
- createOasisEditorContainer as cx,
40165
- mount as cy,
40166
- registerToolbarRenderer as cz,
40339
+ createTranslator as c0,
40340
+ createEditorLogger as c1,
40341
+ registerDomStatsSurface as c2,
40342
+ Button as c3,
40343
+ Checkbox as c4,
40344
+ ColorPicker as c5,
40345
+ CommandRegistry as c6,
40346
+ DEFAULT_PALETTE as c7,
40347
+ DialogFooter as c8,
40348
+ FloatingActionButton as c9,
40349
+ mount as cA,
40350
+ registerToolbarRenderer as cB,
40351
+ GridPicker as ca,
40352
+ IconButton as cb,
40353
+ Menu as cc,
40354
+ OASIS_BUILTIN_COMMANDS as cd,
40355
+ OASIS_MENU_ITEMS as ce,
40356
+ OASIS_TOOLBAR_ITEMS as cf,
40357
+ OasisEditorAppLazy as cg,
40358
+ OasisEditorContainer as ch,
40359
+ PluginCollection as ci,
40360
+ Popover as cj,
40361
+ RIBBON_TABS as ck,
40362
+ Select as cl,
40363
+ SelectField as cm,
40364
+ Separator as cn,
40365
+ SidePanel as co,
40366
+ SidePanelBody as cp,
40367
+ SidePanelFooter as cq,
40368
+ SidePanelHeader as cr,
40369
+ SplitButton as cs,
40370
+ StyleGallery as ct,
40371
+ TextField as cu,
40372
+ Button$1 as cv,
40373
+ buildRibbonTabDefinitions as cw,
40374
+ createEditorCommandBus as cx,
40375
+ createOasisEditor as cy,
40376
+ createOasisEditorContainer as cz,
40167
40377
  createInitialEditorState as d,
40168
40378
  createEditorParagraphFromRuns as e,
40169
40379
  fontSizePxToPt as f,