oasis-editor 0.0.27 → 0.0.29

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.
@@ -1843,6 +1843,8 @@ const en = {
1843
1843
  "menu.view.outline": "Show Outline",
1844
1844
  "menu.view.fullscreen": "Full Screen",
1845
1845
  "menu.insert": "Insert",
1846
+ "menu.insert.toc": "Table of Contents",
1847
+ "menu.insert.updateToc": "Update Table of Contents",
1846
1848
  "menu.layout": "Layout",
1847
1849
  "menu.format": "Format",
1848
1850
  "menu.format.align": "Align",
@@ -2299,6 +2301,8 @@ const ptBR = {
2299
2301
  "menu.view.outline": "Mostrar Estrutura",
2300
2302
  "menu.view.fullscreen": "Tela Inteira",
2301
2303
  "menu.insert": "Inserir",
2304
+ "menu.insert.toc": "Sumário",
2305
+ "menu.insert.updateToc": "Atualizar Sumário",
2302
2306
  "menu.layout": "Layout",
2303
2307
  "menu.format": "Formatar",
2304
2308
  "menu.format.align": "Alinhar",
@@ -2438,7 +2442,7 @@ function OasisEditorAppLazy(props = {}) {
2438
2442
  onCleanup(() => {
2439
2443
  cancelled = true;
2440
2444
  });
2441
- import("./OasisEditorApp-TgBKJPpl.js").then((m) => {
2445
+ import("./OasisEditorApp-D0fgzHt5.js").then((m) => {
2442
2446
  cancelled = true;
2443
2447
  setProgress(1);
2444
2448
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -4381,6 +4385,8 @@ function createEditorCommandBus(editor) {
4381
4385
  const OASIS_BUILTIN_COMMANDS = [
4382
4386
  "selectAll",
4383
4387
  "insertFootnote",
4388
+ "insertTableOfContents",
4389
+ "updateTableOfContents",
4384
4390
  "pastePlainText",
4385
4391
  "bold",
4386
4392
  "italic",
@@ -4723,6 +4729,20 @@ const defaultMenuItems = [
4723
4729
  command: "insertFootnote",
4724
4730
  icon: "footnote"
4725
4731
  },
4732
+ {
4733
+ id: "insert_toc",
4734
+ path: "Insert/Table of Contents",
4735
+ labelKey: "menu.insert.toc",
4736
+ command: "insertTableOfContents",
4737
+ icon: "list"
4738
+ },
4739
+ {
4740
+ id: "insert_toc_update",
4741
+ path: "Insert/Update Table of Contents",
4742
+ labelKey: "menu.insert.updateToc",
4743
+ command: "updateTableOfContents",
4744
+ icon: "refresh-cw"
4745
+ },
4726
4746
  { id: "insert_hr", path: "Insert/Horizontal Rule", hidden: true },
4727
4747
  {
4728
4748
  id: "insert_pageBreak",
@@ -5106,26 +5126,27 @@ function TitleBar(props) {
5106
5126
  return _el$;
5107
5127
  })();
5108
5128
  }
5129
+ function getHeadingLevel(styleId) {
5130
+ if (!styleId) return null;
5131
+ const match = /^heading\s*([1-9])$/i.exec(styleId.trim());
5132
+ return match ? parseInt(match[1], 10) : null;
5133
+ }
5109
5134
  function outlineFrom(doc) {
5110
5135
  var _a;
5111
5136
  const paragraphs = getDocumentParagraphs(doc);
5112
5137
  const items = [];
5113
5138
  for (const p of paragraphs) {
5114
- const styleId = (_a = p.style) == null ? void 0 : _a.styleId;
5115
- if (styleId && styleId.startsWith("heading")) {
5116
- const levelStr = styleId.replace("heading", "");
5117
- const level = parseInt(levelStr, 10);
5118
- if (!isNaN(level) && level >= 1 && level <= 6) {
5119
- const text = getParagraphText(p).trim();
5120
- if (text) {
5121
- items.push({
5122
- id: p.id,
5123
- level,
5124
- text,
5125
- anchor: p.id
5126
- // Using paragraph ID as the anchor
5127
- });
5128
- }
5139
+ const level = getHeadingLevel((_a = p.style) == null ? void 0 : _a.styleId);
5140
+ if (level !== null && level <= 6) {
5141
+ const text = getParagraphText(p).trim();
5142
+ if (text) {
5143
+ items.push({
5144
+ id: p.id,
5145
+ level,
5146
+ text,
5147
+ anchor: p.id
5148
+ // Using paragraph ID as the anchor
5149
+ });
5129
5150
  }
5130
5151
  }
5131
5152
  }
@@ -11176,7 +11197,7 @@ function resolveTabAdvancePx(paragraph, styles, defaultTabStop, lineStartInset,
11176
11197
  styles
11177
11198
  );
11178
11199
  const currentLeft = lineStartInset + lineWidth;
11179
- const tabOrigin = lineStartInset;
11200
+ const tabOrigin = 0;
11180
11201
  const explicitStops = (paragraphStyle.tabs ?? []).filter((tab) => tab.type !== "clear" && Number.isFinite(tab.position)).map((tab) => ({
11181
11202
  ...tab,
11182
11203
  positionPx: tabOrigin + tab.position * PX_PER_POINT$1
@@ -40133,7 +40154,7 @@ export {
40133
40154
  imageExtensionFromMime as Z,
40134
40155
  pxToPt as _,
40135
40156
  getParagraphLength as a,
40136
- CaretOverlay as a$,
40157
+ createComponent as a$,
40137
40158
  buildCanvasTableLayout as a0,
40138
40159
  resolveFloatingObjectRect as a1,
40139
40160
  getTextBoxFloatingGeometry as a2,
@@ -40151,26 +40172,26 @@ export {
40151
40172
  collectInlineRuns as aE,
40152
40173
  parseParagraphStyle as aF,
40153
40174
  t as aG,
40154
- preciseFontModeVersion as aH,
40155
- isPreciseFontModeEnabled as aI,
40156
- togglePreciseFontMode as aJ,
40157
- nextFontSizePt as aK,
40158
- previousFontSizePt as aL,
40159
- fontSizePtToPx as aM,
40160
- createDefaultToolbarPreset as aN,
40161
- defaultMenuItems as aO,
40162
- MenuRegistry as aP,
40163
- createToolbarRegistry as aQ,
40164
- Editor as aR,
40165
- resolveCommandRef as aS,
40166
- commandRefName as aT,
40167
- InlineShell as aU,
40168
- BalloonShell as aV,
40169
- DocumentShell as aW,
40170
- createMemo as aX,
40171
- getCaretRectFromSnapshot as aY,
40172
- getParagraphRectFromSnapshot as aZ,
40173
- createComponent as a_,
40175
+ getHeadingLevel as aH,
40176
+ preciseFontModeVersion as aI,
40177
+ isPreciseFontModeEnabled as aJ,
40178
+ togglePreciseFontMode as aK,
40179
+ nextFontSizePt as aL,
40180
+ previousFontSizePt as aM,
40181
+ fontSizePtToPx as aN,
40182
+ createDefaultToolbarPreset as aO,
40183
+ defaultMenuItems as aP,
40184
+ MenuRegistry as aQ,
40185
+ createToolbarRegistry as aR,
40186
+ Editor as aS,
40187
+ resolveCommandRef as aT,
40188
+ commandRefName as aU,
40189
+ InlineShell as aV,
40190
+ BalloonShell as aW,
40191
+ DocumentShell as aX,
40192
+ createMemo as aY,
40193
+ getCaretRectFromSnapshot as aZ,
40194
+ getParagraphRectFromSnapshot as a_,
40174
40195
  underlineStyleLineWidthPx as aa,
40175
40196
  underlineStyleDashArray as ab,
40176
40197
  getListLabelInset as ac,
@@ -40198,88 +40219,89 @@ export {
40198
40219
  probeLocalFontFamilies as ay,
40199
40220
  createInitialEditorState as az,
40200
40221
  createEditorRun as b,
40201
- Popover as b$,
40202
- Show as b0,
40203
- createRenderEffect as b1,
40204
- style as b2,
40205
- setAttribute as b3,
40206
- setStyleProperty as b4,
40207
- memo as b5,
40208
- template as b6,
40209
- insert as b7,
40210
- use as b8,
40211
- addEventListener as b9,
40212
- startLongTaskObserver as bA,
40213
- installGlobalReport as bB,
40214
- applyStoredPreciseFontPreference as bC,
40215
- getWelcomeSeen as bD,
40216
- isLocalFontAccessSupported as bE,
40217
- EDITOR_SCROLL_PADDING_PX as bF,
40218
- Toolbar as bG,
40219
- OasisEditorLoading as bH,
40220
- createEditorLogger as bI,
40221
- getCachedCanvasImage as bJ,
40222
- registerDomStatsSurface as bK,
40223
- Button as bL,
40224
- Checkbox as bM,
40225
- ColorPicker as bN,
40226
- CommandRegistry as bO,
40227
- DEFAULT_PALETTE as bP,
40228
- DialogFooter as bQ,
40229
- FloatingActionButton as bR,
40230
- GridPicker as bS,
40231
- IconButton as bT,
40232
- Menu as bU,
40233
- OASIS_BUILTIN_COMMANDS as bV,
40234
- OASIS_MENU_ITEMS as bW,
40235
- OASIS_TOOLBAR_ITEMS as bX,
40236
- OasisEditorAppLazy as bY,
40237
- OasisEditorContainer as bZ,
40238
- PluginCollection as b_,
40239
- Dialog as ba,
40240
- delegateEvents as bb,
40241
- className as bc,
40242
- For as bd,
40243
- UNDERLINE_STYLE_OPTIONS as be,
40244
- Tabs as bf,
40245
- measureParagraphMinContentWidthPx as bg,
40246
- getEditableBlocksForZone as bh,
40247
- findParagraphLocation as bi,
40248
- createSectionBoundaryParagraph as bj,
40249
- normalizePageSettings as bk,
40250
- DEFAULT_EDITOR_PAGE_SETTINGS as bl,
40251
- markStart as bm,
40252
- markEnd as bn,
40253
- getParagraphEntries as bo,
40254
- getParagraphById as bp,
40255
- PluginUiHost as bq,
40256
- OasisEditorEditor as br,
40257
- perfTimer as bs,
40258
- OasisBrandMark as bt,
40259
- setPreciseFontPreference as bu,
40260
- setWelcomeSeen as bv,
40261
- enablePreciseFontMode as bw,
40262
- createOasisEditorClient as bx,
40263
- setLocale as by,
40264
- createEditorZoom as bz,
40222
+ PluginCollection as b$,
40223
+ CaretOverlay as b0,
40224
+ Show as b1,
40225
+ createRenderEffect as b2,
40226
+ style as b3,
40227
+ setAttribute as b4,
40228
+ setStyleProperty as b5,
40229
+ memo as b6,
40230
+ template as b7,
40231
+ insert as b8,
40232
+ use as b9,
40233
+ createEditorZoom as bA,
40234
+ startLongTaskObserver as bB,
40235
+ installGlobalReport as bC,
40236
+ applyStoredPreciseFontPreference as bD,
40237
+ getWelcomeSeen as bE,
40238
+ isLocalFontAccessSupported as bF,
40239
+ EDITOR_SCROLL_PADDING_PX as bG,
40240
+ Toolbar as bH,
40241
+ OasisEditorLoading as bI,
40242
+ createEditorLogger as bJ,
40243
+ getCachedCanvasImage as bK,
40244
+ registerDomStatsSurface as bL,
40245
+ Button as bM,
40246
+ Checkbox as bN,
40247
+ ColorPicker as bO,
40248
+ CommandRegistry as bP,
40249
+ DEFAULT_PALETTE as bQ,
40250
+ DialogFooter as bR,
40251
+ FloatingActionButton as bS,
40252
+ GridPicker as bT,
40253
+ IconButton as bU,
40254
+ Menu as bV,
40255
+ OASIS_BUILTIN_COMMANDS as bW,
40256
+ OASIS_MENU_ITEMS as bX,
40257
+ OASIS_TOOLBAR_ITEMS as bY,
40258
+ OasisEditorAppLazy as bZ,
40259
+ OasisEditorContainer as b_,
40260
+ addEventListener as ba,
40261
+ Dialog as bb,
40262
+ delegateEvents as bc,
40263
+ className as bd,
40264
+ For as be,
40265
+ UNDERLINE_STYLE_OPTIONS as bf,
40266
+ Tabs as bg,
40267
+ measureParagraphMinContentWidthPx as bh,
40268
+ getEditableBlocksForZone as bi,
40269
+ findParagraphLocation as bj,
40270
+ createSectionBoundaryParagraph as bk,
40271
+ normalizePageSettings as bl,
40272
+ DEFAULT_EDITOR_PAGE_SETTINGS as bm,
40273
+ markStart as bn,
40274
+ markEnd as bo,
40275
+ getParagraphEntries as bp,
40276
+ getParagraphById as bq,
40277
+ PluginUiHost as br,
40278
+ OasisEditorEditor as bs,
40279
+ perfTimer as bt,
40280
+ OasisBrandMark as bu,
40281
+ setPreciseFontPreference as bv,
40282
+ setWelcomeSeen as bw,
40283
+ enablePreciseFontMode as bx,
40284
+ createOasisEditorClient as by,
40285
+ setLocale as bz,
40265
40286
  createEditorParagraphFromRuns as c,
40266
- RIBBON_TABS as c0,
40267
- RIBBON_TAB_DEFINITIONS as c1,
40268
- Select as c2,
40269
- SelectField as c3,
40270
- Separator as c4,
40271
- SidePanel as c5,
40272
- SidePanelBody as c6,
40273
- SidePanelFooter as c7,
40274
- SidePanelHeader as c8,
40275
- SplitButton as c9,
40276
- TextField as ca,
40277
- Button$1 as cb,
40278
- createEditorCommandBus as cc,
40279
- createOasisEditor as cd,
40280
- createOasisEditorContainer as ce,
40281
- mount as cf,
40282
- registerToolbarRenderer as cg,
40287
+ Popover as c0,
40288
+ RIBBON_TABS as c1,
40289
+ RIBBON_TAB_DEFINITIONS as c2,
40290
+ Select as c3,
40291
+ SelectField as c4,
40292
+ Separator as c5,
40293
+ SidePanel as c6,
40294
+ SidePanelBody as c7,
40295
+ SidePanelFooter as c8,
40296
+ SidePanelHeader as c9,
40297
+ SplitButton as ca,
40298
+ TextField as cb,
40299
+ Button$1 as cc,
40300
+ createEditorCommandBus as cd,
40301
+ createOasisEditor as ce,
40302
+ createOasisEditorContainer as cf,
40303
+ mount as cg,
40304
+ registerToolbarRenderer as ch,
40283
40305
  getDocumentSections as d,
40284
40306
  createEditorStyledRun as e,
40285
40307
  getParagraphText as f,
@@ -1,56 +1,56 @@
1
- import { aV, bL, bM, bN, bO, bP, ba, bQ, aW, aR, bR, bS, bT, aU, bU, aP, bV, bW, bX, bY, bZ, bH, b_, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, bf, ca, bG, cb, bN as bN2, bS as bS2, bU as bU2, c2 as c22, c4 as c42, c9 as c92, aT, aN, cc, cd, ce, aQ, cf, cg, aS } from "./index-BaKkmGAh.js";
1
+ import { aW, bM, bN, bO, bP, bQ, bb, bR, aX, aS, bS, bT, bU, aV, bV, aQ, bW, bX, bY, bZ, b_, bI, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, bg, cb, bH, cc, bO as bO2, bT as bT2, bV as bV2, c3 as c32, c5 as c52, ca as ca2, aU, aO, cd, ce, cf, aR, cg, ch, aT } from "./index-CMOt03WH.js";
2
2
  export {
3
- aV as BalloonShell,
4
- bL as Button,
5
- bM as Checkbox,
6
- bN as ColorPicker,
7
- bO as CommandRegistry,
8
- bP as DEFAULT_PALETTE,
9
- ba as Dialog,
10
- bQ as DialogFooter,
11
- aW as DocumentShell,
12
- aR as Editor,
13
- bR as FloatingActionButton,
14
- bS as GridPicker,
15
- bT as IconButton,
16
- aU as InlineShell,
17
- bU as Menu,
18
- aP as MenuRegistry,
19
- bV as OASIS_BUILTIN_COMMANDS,
20
- bW as OASIS_MENU_ITEMS,
21
- bX as OASIS_TOOLBAR_ITEMS,
22
- bY as OasisEditorAppLazy,
23
- bZ as OasisEditorContainer,
24
- bH as OasisEditorLoading,
25
- b_ as PluginCollection,
26
- b$ as Popover,
27
- c0 as RIBBON_TABS,
28
- c1 as RIBBON_TAB_DEFINITIONS,
29
- c2 as Select,
30
- c3 as SelectField,
31
- c4 as Separator,
32
- c5 as SidePanel,
33
- c6 as SidePanelBody,
34
- c7 as SidePanelFooter,
35
- c8 as SidePanelHeader,
36
- c9 as SplitButton,
37
- bf as Tabs,
38
- ca as TextField,
39
- bG as Toolbar,
40
- cb as ToolbarButton,
41
- bN2 as ToolbarColorPicker,
42
- bS2 as ToolbarGridPicker,
43
- bU2 as ToolbarMenu,
44
- c22 as ToolbarSelect,
45
- c42 as ToolbarSeparator,
46
- c92 as ToolbarSplitButton,
47
- aT as commandRefName,
48
- aN as createDefaultToolbarPreset,
49
- cc as createEditorCommandBus,
50
- cd as createOasisEditor,
51
- ce as createOasisEditorContainer,
52
- aQ as createToolbarRegistry,
53
- cf as mount,
54
- cg as registerToolbarRenderer,
55
- aS as resolveCommandRef
3
+ aW as BalloonShell,
4
+ bM as Button,
5
+ bN as Checkbox,
6
+ bO as ColorPicker,
7
+ bP as CommandRegistry,
8
+ bQ as DEFAULT_PALETTE,
9
+ bb as Dialog,
10
+ bR as DialogFooter,
11
+ aX as DocumentShell,
12
+ aS as Editor,
13
+ bS as FloatingActionButton,
14
+ bT as GridPicker,
15
+ bU as IconButton,
16
+ aV as InlineShell,
17
+ bV as Menu,
18
+ aQ as MenuRegistry,
19
+ bW as OASIS_BUILTIN_COMMANDS,
20
+ bX as OASIS_MENU_ITEMS,
21
+ bY as OASIS_TOOLBAR_ITEMS,
22
+ bZ as OasisEditorAppLazy,
23
+ b_ as OasisEditorContainer,
24
+ bI as OasisEditorLoading,
25
+ b$ as PluginCollection,
26
+ c0 as Popover,
27
+ c1 as RIBBON_TABS,
28
+ c2 as RIBBON_TAB_DEFINITIONS,
29
+ c3 as Select,
30
+ c4 as SelectField,
31
+ c5 as Separator,
32
+ c6 as SidePanel,
33
+ c7 as SidePanelBody,
34
+ c8 as SidePanelFooter,
35
+ c9 as SidePanelHeader,
36
+ ca as SplitButton,
37
+ bg as Tabs,
38
+ cb as TextField,
39
+ bH as Toolbar,
40
+ cc as ToolbarButton,
41
+ bO2 as ToolbarColorPicker,
42
+ bT2 as ToolbarGridPicker,
43
+ bV2 as ToolbarMenu,
44
+ c32 as ToolbarSelect,
45
+ c52 as ToolbarSeparator,
46
+ ca2 as ToolbarSplitButton,
47
+ aU as commandRefName,
48
+ aO as createDefaultToolbarPreset,
49
+ cd as createEditorCommandBus,
50
+ ce as createOasisEditor,
51
+ cf as createOasisEditorContainer,
52
+ aR as createToolbarRegistry,
53
+ cg as mount,
54
+ ch as registerToolbarRenderer,
55
+ aT as resolveCommandRef
56
56
  };