oasis-editor 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{OasisEditorApp-YuR1PFAE.js → OasisEditorApp-D-O4XHvu.js} +2 -1
- package/dist/core/plugin.d.ts +2 -1
- package/dist/{index-CBXD1ygJ.js → index-BmpiQ2A0.js} +94 -40
- package/dist/oasis-editor.css +1 -1
- package/dist/oasis-editor.js +1 -1
- package/dist/oasis-editor.umd.cjs +4 -4
- package/dist/ui/components/Toolbar/groups/SectionGroup.d.ts +2 -1
- package/dist/ui/components/Toolbar/presets/builtinToolbarIds.d.ts +1 -0
- package/dist/ui/components/Toolbar/primitives/Button.d.ts +1 -0
- package/dist/ui/components/Toolbar/primitives/Menu.d.ts +1 -0
- package/dist/ui/components/Toolbar/ribbon/RibbonGroup.d.ts +2 -1
- package/dist/ui/components/Toolbar/ribbon/ribbonModel.d.ts +2 -0
- package/dist/ui/components/Toolbar/schema/items.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { n as normalizeSelection, g as getParagraphs, c as createEditorParagraphFromRuns, a as getParagraphLength, b as createEditorRun, d as getDocumentSections, e as createEditorStyledRun, f as getParagraphText, h as getActiveZone, i as getActiveSectionIndex, p as positionToParagraphOffset, j as paragraphOffsetToPosition, k as clampPosition, l as findParagraphIndex, m as createCollapsedSelection, o as isSelectionCollapsed, q as createEditorParagraph, r as getBlockParagraphs, s as findParagraphTableLocation, t as buildTableCellLayout, u as createEditorTableCell, v as createEditorTable, w as createEditorTableRow, x as underlineStyleToCssDecorationStyle, y as resolveImageSrc, z as createEditorFootnote, A as createFootnoteReferenceRun, B as renumberFootnotes, C as iterateFootnoteReferenceRuns, D as getFootnoteDisplayMarker, E as createSignal, F as createEffect, G as onCleanup, H as buildCanvasLayoutSnapshot, I as on, J as onMount, K as debounce, L as unwrap, M as getDocumentParagraphs, N as getDocumentSectionsCanonical, O as createEditorDocument, P as getPageContentWidth, Q as getDocumentPageSettings, R as getTableCellContentWidthForParagraph, S as resolveResizedDimensions, T as resolveTextBoxRenderHeight, U as resolveEffectiveParagraphStyle, V as resolveEffectiveTextStyleForParagraph, W as iterateEndnoteReferenceRuns, X as JSZip, Y as imageContentTypeDefaults, Z as imageExtensionFromMime, _ as pxToPt$1, $ as buildSegmentTable, a0 as buildCanvasTableLayout, a1 as resolveFloatingObjectRect, a2 as getTextBoxFloatingGeometry, a3 as getPresetPathSegments, a4 as projectBlocksLayout, a5 as textStyleToFontSizePt, a6 as PX_PER_POINT, a7 as DEFAULT_FONT_SIZE_PX, a8 as isDoubleUnderlineStyle, a9 as isWavyUnderlineStyle, aa as underlineStyleLineWidthPx, ab as underlineStyleDashArray, ac as getListLabelInset, ad as getParagraphBorderInsets, ae as normalizeFamily, af as ROBOTO_FONT_FILES, ag as loadFontAsset, ah as OFFICE_COMPAT_FONT_FAMILIES, ai as buildSfnt, aj as defaultFontDecoderRegistry, ak as SfntFontProgram, al as collectPdfFontFamilies, am as projectDocumentLayout, an as getPageHeaderZoneTop, ao as getPageBodyTop, ap as getPageColumnRects, aq as findFootnoteReference, ar as FOOTNOTE_MARKER_GUTTER_PX, as as resolveImporterForFile, at as createEditorStateFromDocument, au as getDocumentParagraphsCanonical, av as getToolbarStyleState, aw as STANDARD_FONT_SIZES_PT, ax as fontSizePxToPt, ay as probeLocalFontFamilies, az as createInitialEditorState, aA as parseFontSizePtToPx, aB as formatFontSizePt, aC as listKindForTag, aD as isParagraphTag, aE as collectInlineRuns, aF as parseParagraphStyle, aG as t, aH as preciseFontModeVersion, aI as isPreciseFontModeEnabled, aJ as togglePreciseFontMode, aK as nextFontSizePt, aL as previousFontSizePt, aM as fontSizePtToPx, aN as createDefaultToolbarPreset, aO as defaultMenuItems, aP as MenuRegistry, aQ as createToolbarRegistry, aR as Editor, aS as resolveCommandRef, aT as commandRefName, aU as InlineShell, aV as BalloonShell, aW as DocumentShell, aX as createMemo, aY as getCaretRectFromSnapshot, aZ as getParagraphRectFromSnapshot, a_ as createComponent, a$ as CaretOverlay, b0 as Show, b1 as createRenderEffect, b2 as style, b3 as setAttribute, b4 as setStyleProperty, b5 as memo, b6 as template, b7 as insert, b8 as use, b9 as addEventListener, ba as Dialog, bb as delegateEvents, bc as className, bd as For, be as UNDERLINE_STYLE_OPTIONS, bf as Tabs, bg as measureParagraphMinContentWidthPx, bh as getEditableBlocksForZone, bi as findParagraphLocation, bj as createSectionBoundaryParagraph, bk as normalizePageSettings, bl as DEFAULT_EDITOR_PAGE_SETTINGS, bm as markStart, bn as markEnd, bo as getParagraphEntries, bp as getParagraphById, bq as PluginUiHost, br as OasisEditorEditor, bs as perfTimer, bt as OasisBrandMark, bu as setPreciseFontPreference, bv as setWelcomeSeen, bw as enablePreciseFontMode, bx as createOasisEditorClient, by as setLocale, bz as startLongTaskObserver, bA as installGlobalReport, bB as applyStoredPreciseFontPreference, bC as getWelcomeSeen, bD as isLocalFontAccessSupported, bE as EDITOR_SCROLL_PADDING_PX, bF as Toolbar, bG as OasisEditorLoading, bH as createEditorLogger, bI as getCachedCanvasImage, bJ as registerDomStatsSurface } from "./index-
|
|
4
|
+
import { n as normalizeSelection, g as getParagraphs, c as createEditorParagraphFromRuns, a as getParagraphLength, b as createEditorRun, d as getDocumentSections, e as createEditorStyledRun, f as getParagraphText, h as getActiveZone, i as getActiveSectionIndex, p as positionToParagraphOffset, j as paragraphOffsetToPosition, k as clampPosition, l as findParagraphIndex, m as createCollapsedSelection, o as isSelectionCollapsed, q as createEditorParagraph, r as getBlockParagraphs, s as findParagraphTableLocation, t as buildTableCellLayout, u as createEditorTableCell, v as createEditorTable, w as createEditorTableRow, x as underlineStyleToCssDecorationStyle, y as resolveImageSrc, z as createEditorFootnote, A as createFootnoteReferenceRun, B as renumberFootnotes, C as iterateFootnoteReferenceRuns, D as getFootnoteDisplayMarker, E as createSignal, F as createEffect, G as onCleanup, H as buildCanvasLayoutSnapshot, I as on, J as onMount, K as debounce, L as unwrap, M as getDocumentParagraphs, N as getDocumentSectionsCanonical, O as createEditorDocument, P as getPageContentWidth, Q as getDocumentPageSettings, R as getTableCellContentWidthForParagraph, S as resolveResizedDimensions, T as resolveTextBoxRenderHeight, U as resolveEffectiveParagraphStyle, V as resolveEffectiveTextStyleForParagraph, W as iterateEndnoteReferenceRuns, X as JSZip, Y as imageContentTypeDefaults, Z as imageExtensionFromMime, _ as pxToPt$1, $ as buildSegmentTable, a0 as buildCanvasTableLayout, a1 as resolveFloatingObjectRect, a2 as getTextBoxFloatingGeometry, a3 as getPresetPathSegments, a4 as projectBlocksLayout, a5 as textStyleToFontSizePt, a6 as PX_PER_POINT, a7 as DEFAULT_FONT_SIZE_PX, a8 as isDoubleUnderlineStyle, a9 as isWavyUnderlineStyle, aa as underlineStyleLineWidthPx, ab as underlineStyleDashArray, ac as getListLabelInset, ad as getParagraphBorderInsets, ae as normalizeFamily, af as ROBOTO_FONT_FILES, ag as loadFontAsset, ah as OFFICE_COMPAT_FONT_FAMILIES, ai as buildSfnt, aj as defaultFontDecoderRegistry, ak as SfntFontProgram, al as collectPdfFontFamilies, am as projectDocumentLayout, an as getPageHeaderZoneTop, ao as getPageBodyTop, ap as getPageColumnRects, aq as findFootnoteReference, ar as FOOTNOTE_MARKER_GUTTER_PX, as as resolveImporterForFile, at as createEditorStateFromDocument, au as getDocumentParagraphsCanonical, av as getToolbarStyleState, aw as STANDARD_FONT_SIZES_PT, ax as fontSizePxToPt, ay as probeLocalFontFamilies, az as createInitialEditorState, aA as parseFontSizePtToPx, aB as formatFontSizePt, aC as listKindForTag, aD as isParagraphTag, aE as collectInlineRuns, aF as parseParagraphStyle, aG as t, aH as preciseFontModeVersion, aI as isPreciseFontModeEnabled, aJ as togglePreciseFontMode, aK as nextFontSizePt, aL as previousFontSizePt, aM as fontSizePtToPx, aN as createDefaultToolbarPreset, aO as defaultMenuItems, aP as MenuRegistry, aQ as createToolbarRegistry, aR as Editor, aS as resolveCommandRef, aT as commandRefName, aU as InlineShell, aV as BalloonShell, aW as DocumentShell, aX as createMemo, aY as getCaretRectFromSnapshot, aZ as getParagraphRectFromSnapshot, a_ as createComponent, a$ as CaretOverlay, b0 as Show, b1 as createRenderEffect, b2 as style, b3 as setAttribute, b4 as setStyleProperty, b5 as memo, b6 as template, b7 as insert, b8 as use, b9 as addEventListener, ba as Dialog, bb as delegateEvents, bc as className, bd as For, be as UNDERLINE_STYLE_OPTIONS, bf as Tabs, bg as measureParagraphMinContentWidthPx, bh as getEditableBlocksForZone, bi as findParagraphLocation, bj as createSectionBoundaryParagraph, bk as normalizePageSettings, bl as DEFAULT_EDITOR_PAGE_SETTINGS, bm as markStart, bn as markEnd, bo as getParagraphEntries, bp as getParagraphById, bq as PluginUiHost, br as OasisEditorEditor, bs as perfTimer, bt as OasisBrandMark, bu as setPreciseFontPreference, bv as setWelcomeSeen, bw as enablePreciseFontMode, bx as createOasisEditorClient, by as setLocale, bz as startLongTaskObserver, bA as installGlobalReport, bB as applyStoredPreciseFontPreference, bC as getWelcomeSeen, bD as isLocalFontAccessSupported, bE as EDITOR_SCROLL_PADDING_PX, bF as Toolbar, bG as OasisEditorLoading, bH as createEditorLogger, bI as getCachedCanvasImage, bJ as registerDomStatsSurface } from "./index-BmpiQ2A0.js";
|
|
5
5
|
function getSelectedObjectRun(state, predicate) {
|
|
6
6
|
const normalized = normalizeSelection(state);
|
|
7
7
|
if (normalized.isCollapsed || normalized.startIndex !== normalized.endIndex || normalized.endParagraphOffset - normalized.startParagraphOffset !== 1) {
|
|
@@ -41841,6 +41841,7 @@ function useEditorRuntimePlugins(options) {
|
|
|
41841
41841
|
tab: item.tab ?? "plugins",
|
|
41842
41842
|
group: item.group ?? "general",
|
|
41843
41843
|
row: item.row ?? 1,
|
|
41844
|
+
ribbonSize: item.ribbonSize,
|
|
41844
41845
|
order: item.order
|
|
41845
41846
|
};
|
|
41846
41847
|
toolbarRegistry.register(contributed);
|
package/dist/core/plugin.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { JSX } from 'solid-js';
|
|
|
2
2
|
import { EditorState } from './model.js';
|
|
3
3
|
import { Editor } from './Editor.js';
|
|
4
4
|
import { CommandRef } from './commands/CommandRef.js';
|
|
5
|
-
import { RibbonRow, RibbonTabId } from '../ui/components/Toolbar/schema/items.js';
|
|
5
|
+
import { RibbonRow, RibbonSize, RibbonTabId } from '../ui/components/Toolbar/schema/items.js';
|
|
6
6
|
|
|
7
7
|
export type Unsubscribe = () => void;
|
|
8
8
|
export interface OasisCommandContext {
|
|
@@ -47,6 +47,7 @@ export interface PluginAction {
|
|
|
47
47
|
tab?: RibbonTabId;
|
|
48
48
|
group?: string;
|
|
49
49
|
row?: RibbonRow;
|
|
50
|
+
ribbonSize?: RibbonSize;
|
|
50
51
|
order?: number;
|
|
51
52
|
}
|
|
52
53
|
export interface PluginMenuItem extends PluginAction {
|
|
@@ -2366,7 +2366,7 @@ function OasisBrandMark(props) {
|
|
|
2366
2366
|
return _el$;
|
|
2367
2367
|
})();
|
|
2368
2368
|
}
|
|
2369
|
-
var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$
|
|
2369
|
+
var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$z = /* @__PURE__ */ template(`<div role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-progress-track><div>`), _tmpl$3$m = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
|
|
2370
2370
|
function OasisEditorLoading(props) {
|
|
2371
2371
|
const variant = () => props.variant ?? "overlay";
|
|
2372
2372
|
const pct = () => {
|
|
@@ -2375,7 +2375,7 @@ function OasisEditorLoading(props) {
|
|
|
2375
2375
|
};
|
|
2376
2376
|
const isDone = () => (pct() ?? 0) >= 100;
|
|
2377
2377
|
return (() => {
|
|
2378
|
-
var _el$ = _tmpl$2$
|
|
2378
|
+
var _el$ = _tmpl$2$z(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
|
|
2379
2379
|
insert(_el$2, createComponent(OasisBrandMark, {
|
|
2380
2380
|
height: 40,
|
|
2381
2381
|
"class": "oasis-editor-loading-mark"
|
|
@@ -2438,7 +2438,7 @@ function OasisEditorAppLazy(props = {}) {
|
|
|
2438
2438
|
onCleanup(() => {
|
|
2439
2439
|
cancelled = true;
|
|
2440
2440
|
});
|
|
2441
|
-
import("./OasisEditorApp-
|
|
2441
|
+
import("./OasisEditorApp-D-O4XHvu.js").then((m) => {
|
|
2442
2442
|
cancelled = true;
|
|
2443
2443
|
setProgress(1);
|
|
2444
2444
|
setTimeout(() => setApp(() => m.OasisEditorApp), 180);
|
|
@@ -4511,9 +4511,9 @@ class MenuRegistry {
|
|
|
4511
4511
|
}
|
|
4512
4512
|
}
|
|
4513
4513
|
const defaultMenuRegistry = new MenuRegistry();
|
|
4514
|
-
var _tmpl$$Q = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none aria-hidden=true><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</text><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1`), _tmpl$2$
|
|
4514
|
+
var _tmpl$$Q = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none aria-hidden=true><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</text><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1`), _tmpl$2$y = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"aria-hidden=true><g fill=currentColor><path d="M3.375 4.875 L7.125 8.625 L3.375 12.375 L2.25 11.25 L4.875 8.625 L2.25 6 Z"></path><rect x=10.125 y=6 width=9 height=1.6875 rx=0.25></rect><rect x=5.625 y=10.875 width=13.5 height=1.6875 rx=0.25></rect><rect x=5.625 y=15.75 width=13.5 height=1.6875 rx=0.25>`), _tmpl$3$l = /* @__PURE__ */ template(`<i>`);
|
|
4515
4515
|
const FootnoteIcon = () => _tmpl$$Q();
|
|
4516
|
-
const SpecialIndentFirstLineIcon = () => _tmpl$2$
|
|
4516
|
+
const SpecialIndentFirstLineIcon = () => _tmpl$2$y();
|
|
4517
4517
|
const CUSTOM_ICONS = {
|
|
4518
4518
|
footnote: FootnoteIcon,
|
|
4519
4519
|
specialIndentFirstLine: SpecialIndentFirstLineIcon
|
|
@@ -4878,7 +4878,7 @@ const defaultMenuItems = [
|
|
|
4878
4878
|
}
|
|
4879
4879
|
];
|
|
4880
4880
|
defaultMenuItems.forEach((item) => defaultMenuRegistry.register(item));
|
|
4881
|
-
var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$
|
|
4881
|
+
var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$x = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-menubar-menu><div class=oasis-menubar-button role=menuitem aria-haspopup=true>`), _tmpl$4$f = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$e = /* @__PURE__ */ template(`<span class=oasis-menubar-item-icon aria-hidden=true>`), _tmpl$6$7 = /* @__PURE__ */ template(`<span class=oasis-menubar-shortcut>`), _tmpl$7$3 = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$8$2 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`), _tmpl$9$1 = /* @__PURE__ */ template(`<div class=oasis-menubar-item role=menuitem><span class=oasis-menubar-item-main><span>`);
|
|
4882
4882
|
function Menubar(props) {
|
|
4883
4883
|
const [activeMenu, setActiveMenu] = createSignal(null);
|
|
4884
4884
|
const menuItems = () => (props.registry ?? defaultMenuRegistry).getItems();
|
|
@@ -4971,7 +4971,7 @@ function Menubar(props) {
|
|
|
4971
4971
|
return activeMenu() === topLevel.id;
|
|
4972
4972
|
},
|
|
4973
4973
|
get children() {
|
|
4974
|
-
var _el$4 = _tmpl$2$
|
|
4974
|
+
var _el$4 = _tmpl$2$x();
|
|
4975
4975
|
insert(_el$4, createComponent(For, {
|
|
4976
4976
|
get each() {
|
|
4977
4977
|
return topLevel.children;
|
|
@@ -17160,7 +17160,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
|
|
|
17160
17160
|
);
|
|
17161
17161
|
return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
|
|
17162
17162
|
}
|
|
17163
|
-
var _tmpl$$N = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$
|
|
17163
|
+
var _tmpl$$N = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$w = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$e = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$d = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
|
|
17164
17164
|
function OutlinePanel(props) {
|
|
17165
17165
|
const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
|
|
17166
17166
|
const [items, setItems] = createSignal([]);
|
|
@@ -17245,7 +17245,7 @@ function OutlinePanel(props) {
|
|
|
17245
17245
|
return !collapsed();
|
|
17246
17246
|
},
|
|
17247
17247
|
get children() {
|
|
17248
|
-
var _el$6 = _tmpl$2$
|
|
17248
|
+
var _el$6 = _tmpl$2$w();
|
|
17249
17249
|
insert(_el$6, createComponent(Show, {
|
|
17250
17250
|
get when() {
|
|
17251
17251
|
return items().length > 0;
|
|
@@ -17302,7 +17302,7 @@ function OutlinePanel(props) {
|
|
|
17302
17302
|
})();
|
|
17303
17303
|
}
|
|
17304
17304
|
delegateEvents(["click"]);
|
|
17305
|
-
var _tmpl$$M = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$
|
|
17305
|
+
var _tmpl$$M = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$v = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
|
|
17306
17306
|
function ToolbarOverflowManager(props) {
|
|
17307
17307
|
const [overflowCount, setOverflowCount] = createSignal(0);
|
|
17308
17308
|
const [menuOpen, setMenuOpen] = createSignal(false);
|
|
@@ -17457,7 +17457,7 @@ function ToolbarOverflowManager(props) {
|
|
|
17457
17457
|
return items();
|
|
17458
17458
|
},
|
|
17459
17459
|
children: (item) => (() => {
|
|
17460
|
-
var _el$7 = _tmpl$2$
|
|
17460
|
+
var _el$7 = _tmpl$2$v();
|
|
17461
17461
|
insert(_el$7, item);
|
|
17462
17462
|
return _el$7;
|
|
17463
17463
|
})()
|
|
@@ -17533,12 +17533,12 @@ function resolveLabel(item, api) {
|
|
|
17533
17533
|
if (item.labelKey) return api.t(item.labelKey);
|
|
17534
17534
|
return void 0;
|
|
17535
17535
|
}
|
|
17536
|
-
var _tmpl$$L = /* @__PURE__ */ template(`<span>`), _tmpl$2$
|
|
17536
|
+
var _tmpl$$L = /* @__PURE__ */ template(`<span>`), _tmpl$2$u = /* @__PURE__ */ template(`<button type=button>`);
|
|
17537
17537
|
function Button$1(props) {
|
|
17538
|
-
const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "aria-label", "class", "classList"]);
|
|
17538
|
+
const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "ribbonSize", "aria-label", "class", "classList"]);
|
|
17539
17539
|
const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
|
|
17540
17540
|
return (() => {
|
|
17541
|
-
var _el$ = _tmpl$2$
|
|
17541
|
+
var _el$ = _tmpl$2$u();
|
|
17542
17542
|
spread(_el$, mergeProps({
|
|
17543
17543
|
get ["class"]() {
|
|
17544
17544
|
return `oasis-editor-tool-button ${local.class || ""}`;
|
|
@@ -17547,6 +17547,7 @@ function Button$1(props) {
|
|
|
17547
17547
|
return {
|
|
17548
17548
|
"oasis-editor-tool-button-active": local.active,
|
|
17549
17549
|
"oasis-editor-tool-button-wide": local.wide,
|
|
17550
|
+
"oasis-editor-tool-button-ribbon-large": local.ribbonSize === "large",
|
|
17550
17551
|
...local.classList
|
|
17551
17552
|
};
|
|
17552
17553
|
},
|
|
@@ -17725,12 +17726,12 @@ function Popover(props) {
|
|
|
17725
17726
|
}
|
|
17726
17727
|
})];
|
|
17727
17728
|
}
|
|
17728
|
-
var _tmpl$$J = /* @__PURE__ */ template(`<div>`), _tmpl$2$
|
|
17729
|
+
var _tmpl$$J = /* @__PURE__ */ template(`<div>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$i = /* @__PURE__ */ template(`<i>`), _tmpl$4$d = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$5$c = /* @__PURE__ */ template(`<i data-lucide=chevron-down class=oasis-editor-dropdown-chevron>`), _tmpl$6$6 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
|
|
17729
17730
|
function Menu(props) {
|
|
17730
17731
|
const [open, setOpen] = createSignal(false);
|
|
17731
17732
|
const ariaLabel = () => props.tooltip || props.label || "";
|
|
17732
17733
|
return (() => {
|
|
17733
|
-
var _el$ = _tmpl$2$
|
|
17734
|
+
var _el$ = _tmpl$2$t();
|
|
17734
17735
|
insert(_el$, createComponent(Popover, {
|
|
17735
17736
|
get open() {
|
|
17736
17737
|
return open();
|
|
@@ -17777,13 +17778,14 @@ function Menu(props) {
|
|
|
17777
17778
|
}
|
|
17778
17779
|
}), null);
|
|
17779
17780
|
createRenderEffect((_p$) => {
|
|
17780
|
-
var _v$ = !!(props.active || api.open), _v$2 = props.
|
|
17781
|
+
var _v$ = !!(props.active || api.open), _v$2 = !!(props.ribbonSize === "large"), _v$3 = props.disabled, _v$4 = props.tooltip, _v$5 = ariaLabel(), _v$6 = api.open, _v$7 = props.testId;
|
|
17781
17782
|
_v$ !== _p$.e && _el$3.classList.toggle("oasis-editor-tool-button-active", _p$.e = _v$);
|
|
17782
|
-
_v$2 !== _p$.t &&
|
|
17783
|
-
_v$3 !== _p$.a &&
|
|
17784
|
-
_v$4 !== _p$.o && setAttribute(_el$3, "
|
|
17785
|
-
_v$5 !== _p$.i && setAttribute(_el$3, "aria-
|
|
17786
|
-
_v$6 !== _p$.n && setAttribute(_el$3, "
|
|
17783
|
+
_v$2 !== _p$.t && _el$3.classList.toggle("oasis-editor-tool-button-ribbon-large", _p$.t = _v$2);
|
|
17784
|
+
_v$3 !== _p$.a && (_el$3.disabled = _p$.a = _v$3);
|
|
17785
|
+
_v$4 !== _p$.o && setAttribute(_el$3, "title", _p$.o = _v$4);
|
|
17786
|
+
_v$5 !== _p$.i && setAttribute(_el$3, "aria-label", _p$.i = _v$5);
|
|
17787
|
+
_v$6 !== _p$.n && setAttribute(_el$3, "aria-expanded", _p$.n = _v$6);
|
|
17788
|
+
_v$7 !== _p$.s && setAttribute(_el$3, "data-testid", _p$.s = _v$7);
|
|
17787
17789
|
return _p$;
|
|
17788
17790
|
}, {
|
|
17789
17791
|
e: void 0,
|
|
@@ -17791,7 +17793,8 @@ function Menu(props) {
|
|
|
17791
17793
|
a: void 0,
|
|
17792
17794
|
o: void 0,
|
|
17793
17795
|
i: void 0,
|
|
17794
|
-
n: void 0
|
|
17796
|
+
n: void 0,
|
|
17797
|
+
s: void 0
|
|
17795
17798
|
});
|
|
17796
17799
|
return _el$3;
|
|
17797
17800
|
})(),
|
|
@@ -17919,7 +17922,7 @@ function SplitButton(props) {
|
|
|
17919
17922
|
});
|
|
17920
17923
|
}
|
|
17921
17924
|
delegateEvents(["click"]);
|
|
17922
|
-
var _tmpl$$F = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$
|
|
17925
|
+
var _tmpl$$F = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$s = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch></span><span>`), _tmpl$3$h = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-theme-grid>`), _tmpl$4$c = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-standard-grid>`), _tmpl$5$b = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$6$5 = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$7$2 = /* @__PURE__ */ template(`<span class=oasis-editor-color-split-icon><i></i><span class=oasis-editor-color-split-indicator>`), _tmpl$8$1 = /* @__PURE__ */ template(`<i data-lucide=slash>`), _tmpl$9 = /* @__PURE__ */ template(`<div class=oasis-editor-color-theme-column>`), _tmpl$0 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-swatch>`);
|
|
17923
17926
|
const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
|
|
17924
17927
|
function ColorPicker(props) {
|
|
17925
17928
|
const [isOpen, setIsOpen] = createSignal(false);
|
|
@@ -17984,7 +17987,7 @@ function ColorPicker(props) {
|
|
|
17984
17987
|
return clearLabel();
|
|
17985
17988
|
},
|
|
17986
17989
|
get children() {
|
|
17987
|
-
var _el$ = _tmpl$2$
|
|
17990
|
+
var _el$ = _tmpl$2$s(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
|
|
17988
17991
|
_el$.$$click = () => applyColor(null);
|
|
17989
17992
|
insert(_el$2, createComponent(Show, {
|
|
17990
17993
|
get when() {
|
|
@@ -18107,7 +18110,7 @@ function ColorPicker(props) {
|
|
|
18107
18110
|
});
|
|
18108
18111
|
}
|
|
18109
18112
|
delegateEvents(["click", "input"]);
|
|
18110
|
-
var _tmpl$$E = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$
|
|
18113
|
+
var _tmpl$$E = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$r = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$g = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$b = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button><i>`), _tmpl$5$a = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
|
|
18111
18114
|
function GridPicker(props) {
|
|
18112
18115
|
const [isOpen, setIsOpen] = createSignal(false);
|
|
18113
18116
|
const [hover, setHover] = createSignal({
|
|
@@ -18219,7 +18222,7 @@ function GridPicker(props) {
|
|
|
18219
18222
|
insert(_el$2, statusLabel);
|
|
18220
18223
|
return _el$2;
|
|
18221
18224
|
})(), (() => {
|
|
18222
|
-
var _el$3 = _tmpl$2$
|
|
18225
|
+
var _el$3 = _tmpl$2$r();
|
|
18223
18226
|
insert(_el$3, createComponent(For, {
|
|
18224
18227
|
get each() {
|
|
18225
18228
|
return rows();
|
|
@@ -18319,7 +18322,7 @@ const DEFAULT_PALETTE = {
|
|
|
18319
18322
|
standardColors: STANDARD_COLORS,
|
|
18320
18323
|
allowCustom: true
|
|
18321
18324
|
};
|
|
18322
|
-
var _tmpl$$D = /* @__PURE__ */ template(`<option value>`), _tmpl$2$
|
|
18325
|
+
var _tmpl$$D = /* @__PURE__ */ template(`<option value>`), _tmpl$2$q = /* @__PURE__ */ template(`<option>`);
|
|
18323
18326
|
function renderMenuContent(content, api) {
|
|
18324
18327
|
if (content.kind === "custom") {
|
|
18325
18328
|
return content.render(api);
|
|
@@ -18346,6 +18349,9 @@ function RenderButton(props) {
|
|
|
18346
18349
|
get wide() {
|
|
18347
18350
|
return props.item.wide;
|
|
18348
18351
|
},
|
|
18352
|
+
get ribbonSize() {
|
|
18353
|
+
return props.item.ribbonSize;
|
|
18354
|
+
},
|
|
18349
18355
|
get active() {
|
|
18350
18356
|
return b.active();
|
|
18351
18357
|
},
|
|
@@ -18373,6 +18379,9 @@ function RenderToggle(props) {
|
|
|
18373
18379
|
get wide() {
|
|
18374
18380
|
return props.item.wide;
|
|
18375
18381
|
},
|
|
18382
|
+
get ribbonSize() {
|
|
18383
|
+
return props.item.ribbonSize;
|
|
18384
|
+
},
|
|
18376
18385
|
get active() {
|
|
18377
18386
|
return b.active();
|
|
18378
18387
|
},
|
|
@@ -18412,6 +18421,9 @@ function RenderMenu(props) {
|
|
|
18412
18421
|
get hideChevron() {
|
|
18413
18422
|
return props.item.hideChevron;
|
|
18414
18423
|
},
|
|
18424
|
+
get ribbonSize() {
|
|
18425
|
+
return props.item.ribbonSize;
|
|
18426
|
+
},
|
|
18415
18427
|
get panelClass() {
|
|
18416
18428
|
return props.item.panelClass;
|
|
18417
18429
|
},
|
|
@@ -18501,7 +18513,7 @@ function RenderSelect(props) {
|
|
|
18501
18513
|
return props.item.options(props.api);
|
|
18502
18514
|
},
|
|
18503
18515
|
children: (option) => (() => {
|
|
18504
|
-
var _el$2 = _tmpl$2$
|
|
18516
|
+
var _el$2 = _tmpl$2$q();
|
|
18505
18517
|
insert(_el$2, () => option.label);
|
|
18506
18518
|
createRenderEffect(() => _el$2.value = option.value);
|
|
18507
18519
|
return _el$2;
|
|
@@ -18646,7 +18658,15 @@ function ToolbarItemRenderer(props) {
|
|
|
18646
18658
|
}
|
|
18647
18659
|
})
|
|
18648
18660
|
}));
|
|
18649
|
-
createRenderEffect((
|
|
18661
|
+
createRenderEffect((_p$) => {
|
|
18662
|
+
var _v$ = !!("ribbonSize" in props.item && props.item.ribbonSize === "large"), _v$2 = binding.visible() ? "flex" : "none";
|
|
18663
|
+
_v$ !== _p$.e && _el$.classList.toggle("oasis-editor-toolbar-item-ribbon-large", _p$.e = _v$);
|
|
18664
|
+
_v$2 !== _p$.t && setStyleProperty(_el$, "display", _p$.t = _v$2);
|
|
18665
|
+
return _p$;
|
|
18666
|
+
}, {
|
|
18667
|
+
e: void 0,
|
|
18668
|
+
t: void 0
|
|
18669
|
+
});
|
|
18650
18670
|
return _el$;
|
|
18651
18671
|
})();
|
|
18652
18672
|
}
|
|
@@ -18742,8 +18762,12 @@ function normalizeRibbonGroup(group) {
|
|
|
18742
18762
|
function normalizeRibbonRow(row) {
|
|
18743
18763
|
return row === 2 ? 2 : DEFAULT_RIBBON_ROW;
|
|
18744
18764
|
}
|
|
18765
|
+
function isLargeRibbonItem(item) {
|
|
18766
|
+
return "ribbonSize" in item && item.ribbonSize === "large";
|
|
18767
|
+
}
|
|
18745
18768
|
function ribbonGroupLabel(group) {
|
|
18746
|
-
|
|
18769
|
+
const key = GROUP_LABEL_KEYS[group];
|
|
18770
|
+
return key ? t(key) : group;
|
|
18747
18771
|
}
|
|
18748
18772
|
function buildRibbonGroups(items, tab) {
|
|
18749
18773
|
const groups = /* @__PURE__ */ new Map();
|
|
@@ -18760,17 +18784,22 @@ function buildRibbonGroups(items, tab) {
|
|
|
18760
18784
|
group = {
|
|
18761
18785
|
id: groupId,
|
|
18762
18786
|
label: ribbonGroupLabel(groupId),
|
|
18787
|
+
largeItems: [],
|
|
18763
18788
|
rows: { 1: [], 2: [] },
|
|
18764
18789
|
order: groupOrder
|
|
18765
18790
|
};
|
|
18766
18791
|
groups.set(groupId, group);
|
|
18767
18792
|
}
|
|
18768
18793
|
group.order = Math.min(group.order, groupOrder);
|
|
18769
|
-
|
|
18794
|
+
if (isLargeRibbonItem(item)) {
|
|
18795
|
+
group.largeItems.push(item);
|
|
18796
|
+
} else {
|
|
18797
|
+
group.rows[row].push(item);
|
|
18798
|
+
}
|
|
18770
18799
|
});
|
|
18771
18800
|
return Array.from(groups.values()).sort((a, b) => a.order - b.order);
|
|
18772
18801
|
}
|
|
18773
|
-
var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$
|
|
18802
|
+
var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$p = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
|
|
18774
18803
|
function RibbonTabs(props) {
|
|
18775
18804
|
const tabs = RIBBON_TAB_DEFINITIONS;
|
|
18776
18805
|
const moveTab = (current, delta) => {
|
|
@@ -18783,7 +18812,7 @@ function RibbonTabs(props) {
|
|
|
18783
18812
|
insert(_el$, createComponent(For, {
|
|
18784
18813
|
each: tabs,
|
|
18785
18814
|
children: (tab) => (() => {
|
|
18786
|
-
var _el$2 = _tmpl$2$
|
|
18815
|
+
var _el$2 = _tmpl$2$p();
|
|
18787
18816
|
_el$2.$$keydown = (event) => {
|
|
18788
18817
|
if (event.key === "ArrowRight") {
|
|
18789
18818
|
event.preventDefault();
|
|
@@ -18843,11 +18872,31 @@ function RibbonRow(props) {
|
|
|
18843
18872
|
return _el$;
|
|
18844
18873
|
})();
|
|
18845
18874
|
}
|
|
18846
|
-
var _tmpl$$z = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group><div class=oasis-editor-ribbon-group-rows></div><div class=oasis-editor-ribbon-group-label>`);
|
|
18875
|
+
var _tmpl$$z = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$o = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group><div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows></div></div><div class=oasis-editor-ribbon-group-label>`);
|
|
18847
18876
|
function RibbonGroup(props) {
|
|
18848
18877
|
return (() => {
|
|
18849
|
-
var _el$ = _tmpl
|
|
18850
|
-
insert(_el$2, createComponent(
|
|
18878
|
+
var _el$ = _tmpl$2$o(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$2.nextSibling;
|
|
18879
|
+
insert(_el$2, createComponent(Show, {
|
|
18880
|
+
get when() {
|
|
18881
|
+
return props.group.largeItems.length > 0;
|
|
18882
|
+
},
|
|
18883
|
+
get children() {
|
|
18884
|
+
var _el$3 = _tmpl$$z();
|
|
18885
|
+
insert(_el$3, createComponent(For, {
|
|
18886
|
+
get each() {
|
|
18887
|
+
return props.group.largeItems;
|
|
18888
|
+
},
|
|
18889
|
+
children: (item) => createComponent(ToolbarItemRenderer, {
|
|
18890
|
+
item,
|
|
18891
|
+
get api() {
|
|
18892
|
+
return props.api;
|
|
18893
|
+
}
|
|
18894
|
+
})
|
|
18895
|
+
}));
|
|
18896
|
+
return _el$3;
|
|
18897
|
+
}
|
|
18898
|
+
}), _el$4);
|
|
18899
|
+
insert(_el$4, createComponent(RibbonRow, {
|
|
18851
18900
|
get items() {
|
|
18852
18901
|
return props.group.rows[1];
|
|
18853
18902
|
},
|
|
@@ -18855,7 +18904,7 @@ function RibbonGroup(props) {
|
|
|
18855
18904
|
return props.api;
|
|
18856
18905
|
}
|
|
18857
18906
|
}), null);
|
|
18858
|
-
insert(_el$
|
|
18907
|
+
insert(_el$4, createComponent(RibbonRow, {
|
|
18859
18908
|
get items() {
|
|
18860
18909
|
return props.group.rows[2];
|
|
18861
18910
|
},
|
|
@@ -18863,7 +18912,7 @@ function RibbonGroup(props) {
|
|
|
18863
18912
|
return props.api;
|
|
18864
18913
|
}
|
|
18865
18914
|
}), null);
|
|
18866
|
-
insert(_el$
|
|
18915
|
+
insert(_el$5, () => props.group.label);
|
|
18867
18916
|
createRenderEffect((_p$) => {
|
|
18868
18917
|
var _v$ = props.group.id, _v$2 = props.group.label;
|
|
18869
18918
|
_v$ !== _p$.e && setAttribute(_el$, "data-ribbon-group", _p$.e = _v$);
|
|
@@ -37580,11 +37629,13 @@ function SectionGroup(props) {
|
|
|
37580
37629
|
const api = props.api;
|
|
37581
37630
|
return createComponent(Menu, {
|
|
37582
37631
|
icon: "layout-template",
|
|
37632
|
+
get label() {
|
|
37633
|
+
return t("section.orientation");
|
|
37634
|
+
},
|
|
37583
37635
|
testId: "editor-toolbar-section-dropdown",
|
|
37584
37636
|
get tooltip() {
|
|
37585
37637
|
return t("section.pageSetup");
|
|
37586
37638
|
},
|
|
37587
|
-
hideChevron: true,
|
|
37588
37639
|
panelClass: "oasis-editor-toolbar-panel",
|
|
37589
37640
|
keepMounted: true,
|
|
37590
37641
|
get children() {
|
|
@@ -38487,11 +38538,13 @@ function createDefaultToolbarPreset() {
|
|
|
38487
38538
|
items.push({
|
|
38488
38539
|
type: "custom",
|
|
38489
38540
|
id: "editor-toolbar-margins",
|
|
38541
|
+
ribbonSize: "large",
|
|
38490
38542
|
render: (api) => MarginsGroup({ api })
|
|
38491
38543
|
});
|
|
38492
38544
|
items.push({
|
|
38493
38545
|
type: "custom",
|
|
38494
38546
|
id: "editor-toolbar-section",
|
|
38547
|
+
ribbonSize: "large",
|
|
38495
38548
|
render: (api) => SectionGroup({ api })
|
|
38496
38549
|
});
|
|
38497
38550
|
return withDefaultRibbonPlacement(items);
|
|
@@ -38535,6 +38588,7 @@ const OASIS_TOOLBAR_ITEMS = {
|
|
|
38535
38588
|
lineSpacing: "editor-toolbar-line-spacing-control",
|
|
38536
38589
|
metrics: "editor-toolbar-metrics",
|
|
38537
38590
|
table: "editor-toolbar-table",
|
|
38591
|
+
margins: "editor-toolbar-margins",
|
|
38538
38592
|
section: "editor-toolbar-section"
|
|
38539
38593
|
};
|
|
38540
38594
|
const OASIS_MENU_ITEMS = {
|