@windoc/react 0.2.5 → 0.2.7
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/README.md +1 -2
- package/dist/index.js +36 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +79 -79
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/aliansyahFirdaus/windoc/main/docs/static/img/
|
|
3
|
-
<img src="https://raw.githubusercontent.com/aliansyahFirdaus/windoc/main/docs/static/img/logo-text-black.png#gh-dark-mode-only" alt="Windoc" height="120">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/aliansyahFirdaus/windoc/main/docs/static/img/og.png" alt="Windoc — Canvas document editor for the web" width="720">
|
|
4
3
|
</div>
|
|
5
4
|
|
|
6
5
|
# @windoc/react
|
package/dist/index.js
CHANGED
|
@@ -182,7 +182,7 @@ var import_react3 = require("react");
|
|
|
182
182
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
183
183
|
function ColumnTool() {
|
|
184
184
|
const { editorRef } = useEditor();
|
|
185
|
-
const
|
|
185
|
+
const optionsRef = (0, import_react3.useRef)(null);
|
|
186
186
|
const [currentColumns, setCurrentColumns] = (0, import_react3.useState)(1);
|
|
187
187
|
const [gap, setGap] = (0, import_react3.useState)(20);
|
|
188
188
|
const handleColumn = (col) => {
|
|
@@ -194,9 +194,9 @@ function ColumnTool() {
|
|
|
194
194
|
setGap(clampedValue);
|
|
195
195
|
editorRef.current?.command.executeColumnGap(clampedValue);
|
|
196
196
|
};
|
|
197
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "menu-item__column", onClick: () =>
|
|
197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "menu-item__column", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
198
198
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "select", title: "Column Layout", children: currentColumns === 1 ? "1 Column" : `${currentColumns} Columns` }),
|
|
199
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "options"
|
|
199
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { onClick: (e) => e.stopPropagation(), children: [
|
|
200
200
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("ul", { children: [
|
|
201
201
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("li", { onClick: () => handleColumn(1), children: "1 Column" }),
|
|
202
202
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("li", { onClick: () => handleColumn(2), children: "2 Columns" })
|
|
@@ -285,15 +285,15 @@ var LEVELS = [
|
|
|
285
285
|
];
|
|
286
286
|
function TitleTool() {
|
|
287
287
|
const { editorRef, rangeStyle } = useEditor();
|
|
288
|
-
const
|
|
288
|
+
const optionsRef = (0, import_react5.useRef)(null);
|
|
289
289
|
const activeLevel = rangeStyle?.level || null;
|
|
290
290
|
const activeLabel = LEVELS.find((l) => l.level === activeLevel)?.label || "Body";
|
|
291
291
|
const handleTitle = (level) => {
|
|
292
292
|
editorRef.current?.command.executeTitle(level);
|
|
293
293
|
};
|
|
294
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "menu-item__title", onClick: () =>
|
|
294
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "menu-item__title", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
295
295
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "select", title: "Toggle Heading", children: activeLabel }),
|
|
296
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "options"
|
|
296
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { children: LEVELS.map(({ level, label }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
297
297
|
"li",
|
|
298
298
|
{
|
|
299
299
|
className: activeLevel === level ? "active" : "",
|
|
@@ -315,15 +315,15 @@ var FONTS = [
|
|
|
315
315
|
];
|
|
316
316
|
function FontTool() {
|
|
317
317
|
const { editorRef, rangeStyle } = useEditor();
|
|
318
|
-
const
|
|
318
|
+
const optionsRef = (0, import_react6.useRef)(null);
|
|
319
319
|
const activeFont = rangeStyle?.font || "Arial";
|
|
320
320
|
const activeLabel = FONTS.find((f) => f.family === activeFont)?.label || activeFont;
|
|
321
321
|
const handleFont = (family) => {
|
|
322
322
|
editorRef.current?.command.executeFont(family);
|
|
323
323
|
};
|
|
324
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "menu-item__font", onClick: () =>
|
|
324
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "menu-item__font", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
325
325
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "select", title: "Font", children: activeLabel }),
|
|
326
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "options"
|
|
326
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("ul", { children: FONTS.map(({ family, label }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
327
327
|
"li",
|
|
328
328
|
{
|
|
329
329
|
"data-family": family,
|
|
@@ -343,14 +343,14 @@ var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
|
343
343
|
var SIZES = [56, 48, 34, 32, 29, 24, 21, 20, 18, 16, 14, 12, 10, 8];
|
|
344
344
|
function FontSizeTool() {
|
|
345
345
|
const { editorRef, rangeStyle } = useEditor();
|
|
346
|
-
const
|
|
346
|
+
const optionsRef = (0, import_react7.useRef)(null);
|
|
347
347
|
const activeSize = rangeStyle?.size ?? 16;
|
|
348
348
|
const handleSize = (size) => {
|
|
349
349
|
editorRef.current?.command.executeSize(size);
|
|
350
350
|
};
|
|
351
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "menu-item__size", onClick: () =>
|
|
351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "menu-item__size", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
352
352
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "select", title: "Font Size", children: activeSize }),
|
|
353
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "options"
|
|
353
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("ul", { children: SIZES.map((size) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
354
354
|
"li",
|
|
355
355
|
{
|
|
356
356
|
className: activeSize === size ? "active" : "",
|
|
@@ -368,15 +368,15 @@ var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
|
368
368
|
var LINE_HEIGHTS = ["1.0", "1.15", "1.5", "2.0", "2.5"];
|
|
369
369
|
function LineHeightTool() {
|
|
370
370
|
const { editorRef, rangeStyle } = useEditor();
|
|
371
|
-
const
|
|
371
|
+
const optionsRef = (0, import_react8.useRef)(null);
|
|
372
372
|
const activeMargin = rangeStyle?.rowMargin ?? 1;
|
|
373
373
|
const activeLabel = Number.isInteger(activeMargin) ? `${activeMargin}.0` : String(activeMargin);
|
|
374
374
|
const handleLineHeight = (value) => {
|
|
375
375
|
editorRef.current?.command.executeRowMargin(Number(value));
|
|
376
376
|
};
|
|
377
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "menu-item__line-height", onClick: () =>
|
|
377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "menu-item__line-height", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
378
378
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "select", title: "Line Height", children: activeLabel }),
|
|
379
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "options"
|
|
379
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("ul", { children: LINE_HEIGHTS.map((h) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
380
380
|
"li",
|
|
381
381
|
{
|
|
382
382
|
className: String(activeMargin) === h || activeLabel === h ? "active" : "",
|
|
@@ -404,7 +404,7 @@ var COLOR_PALETTE = [
|
|
|
404
404
|
];
|
|
405
405
|
function ColorTool() {
|
|
406
406
|
const { editorRef, rangeStyle } = useEditor();
|
|
407
|
-
const
|
|
407
|
+
const dropdownRef = (0, import_react9.useRef)(null);
|
|
408
408
|
const activeColor = rangeStyle?.color || "#000000";
|
|
409
409
|
const handleColor = (color) => {
|
|
410
410
|
editorRef.current?.command.executeColor(color);
|
|
@@ -412,11 +412,11 @@ function ColorTool() {
|
|
|
412
412
|
const handleReset = () => {
|
|
413
413
|
editorRef.current?.command.executeColor(null);
|
|
414
414
|
};
|
|
415
|
-
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "menu-item__color", title: "Font Color", onClick: () =>
|
|
415
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "menu-item__color", title: "Font Color", onClick: () => dropdownRef.current?.classList.toggle("visible"), children: [
|
|
416
416
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.Baseline, { size: 16 }),
|
|
417
417
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { style: { backgroundColor: activeColor } }),
|
|
418
418
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("input", { id: "color", type: "color", readOnly: true, tabIndex: -1 }),
|
|
419
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "color-palette-dropdown"
|
|
419
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "color-palette-dropdown", ref: dropdownRef, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { onClick: (e) => e.stopPropagation(), children: [
|
|
420
420
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { className: "color-palette-reset", onClick: handleReset, children: [
|
|
421
421
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.RotateCcw, { size: 12 }),
|
|
422
422
|
"Reset"
|
|
@@ -451,7 +451,7 @@ var HIGHLIGHT_PALETTE = [
|
|
|
451
451
|
];
|
|
452
452
|
function HighlightTool() {
|
|
453
453
|
const { editorRef, rangeStyle } = useEditor();
|
|
454
|
-
const
|
|
454
|
+
const dropdownRef = (0, import_react10.useRef)(null);
|
|
455
455
|
const activeColor = rangeStyle?.highlight || "";
|
|
456
456
|
const handleColor = (color) => {
|
|
457
457
|
editorRef.current?.command.executeHighlight(color);
|
|
@@ -459,11 +459,11 @@ function HighlightTool() {
|
|
|
459
459
|
const handleReset = () => {
|
|
460
460
|
editorRef.current?.command.executeHighlight(null);
|
|
461
461
|
};
|
|
462
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "menu-item__highlight", title: "Highlight", onClick: () =>
|
|
462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "menu-item__highlight", title: "Highlight", onClick: () => dropdownRef.current?.classList.toggle("visible"), children: [
|
|
463
463
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Highlighter, { size: 16 }),
|
|
464
464
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { backgroundColor: activeColor || "#ffff00" } }),
|
|
465
465
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("input", { id: "highlight", type: "color", readOnly: true, tabIndex: -1 }),
|
|
466
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "color-palette-dropdown"
|
|
466
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "color-palette-dropdown", ref: dropdownRef, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { onClick: (e) => e.stopPropagation(), children: [
|
|
467
467
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "color-palette-reset", onClick: handleReset, children: [
|
|
468
468
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.RotateCcw, { size: 12 }),
|
|
469
469
|
"None"
|
|
@@ -507,12 +507,12 @@ var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
|
507
507
|
var STYLES = ["solid", "double", "dashed", "dotted", "wavy"];
|
|
508
508
|
function UnderlineTool() {
|
|
509
509
|
const { editorRef, isApple, rangeStyle } = useEditor();
|
|
510
|
-
const
|
|
510
|
+
const optionsRef = (0, import_react11.useRef)(null);
|
|
511
511
|
const isActive = rangeStyle?.underline === true;
|
|
512
512
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: `menu-item__underline ${isActive ? "active" : ""}`, title: `Underline(${isApple ? "\u2318" : "Ctrl"}+U)`, children: [
|
|
513
513
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react8.Underline, { size: 16, onClick: () => editorRef.current?.command.executeUnderline(), style: { cursor: "pointer" } }),
|
|
514
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "select", onClick: () =>
|
|
515
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "options"
|
|
514
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "select", onClick: () => optionsRef.current?.classList.toggle("visible") }),
|
|
515
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("ul", { children: STYLES.map((style) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("li", { "data-decoration-style": style, onClick: () => {
|
|
516
516
|
editorRef.current?.command.executeUnderline({ style });
|
|
517
517
|
}, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("i", {}) }, style)) }) })
|
|
518
518
|
] });
|
|
@@ -599,7 +599,7 @@ function PresetCell({ option, onClick }) {
|
|
|
599
599
|
}
|
|
600
600
|
function ListTool() {
|
|
601
601
|
const { editorRef, isApple, rangeStyle } = useEditor();
|
|
602
|
-
const
|
|
602
|
+
const optionsRef = (0, import_react12.useRef)(null);
|
|
603
603
|
const isActive = !!rangeStyle?.listType;
|
|
604
604
|
const handleList = (type, style) => {
|
|
605
605
|
editorRef.current?.command.executeList(type, style);
|
|
@@ -617,8 +617,8 @@ function ListTool() {
|
|
|
617
617
|
editorRef.current?.command.executeListOutdent();
|
|
618
618
|
};
|
|
619
619
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `menu-item__list ${isActive ? "active" : ""}`, title: `List(${isApple ? "\u2318" : "Ctrl"}+Shift+U)`, children: [
|
|
620
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react14.List, { size: 16, onClick: () =>
|
|
621
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "options"
|
|
620
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react14.List, { size: 16, onClick: () => optionsRef.current?.classList.toggle("visible"), style: { cursor: "pointer" } }),
|
|
621
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { style: { padding: "8px", width: "320px" }, children: [
|
|
622
622
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { style: { display: "flex", gap: "4px", marginBottom: "8px" }, children: [
|
|
623
623
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
624
624
|
"button",
|
|
@@ -709,15 +709,15 @@ var LINE_WIDTHS = [
|
|
|
709
709
|
];
|
|
710
710
|
function SeparatorTool() {
|
|
711
711
|
const { editorRef } = useEditor();
|
|
712
|
-
const
|
|
712
|
+
const optionsRef = (0, import_react13.useRef)(null);
|
|
713
713
|
const [selectedWidth, setSelectedWidth] = (0, import_react13.useState)(1);
|
|
714
714
|
const lineColor = "#344054";
|
|
715
715
|
const handleSeparator = (dashArray) => {
|
|
716
716
|
editorRef.current?.command.executeSeparator(dashArray, { lineWidth: selectedWidth });
|
|
717
717
|
};
|
|
718
718
|
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "menu-item__separator", title: "Separator", children: [
|
|
719
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react16.Minus, { size: 16, onClick: () =>
|
|
720
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "options"
|
|
719
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react16.Minus, { size: 16, onClick: () => optionsRef.current?.classList.toggle("visible"), style: { cursor: "pointer" } }),
|
|
720
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { style: { padding: "8px 10px 10px", width: "200px" }, children: [
|
|
721
721
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", { style: { margin: 0, padding: 0, listStyle: "none" }, children: DASH_STYLES.map(({ label, dashArray }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
722
722
|
"li",
|
|
723
723
|
{
|
|
@@ -775,7 +775,7 @@ var import_react14 = require("react");
|
|
|
775
775
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
776
776
|
function InsertElementTool() {
|
|
777
777
|
const { editorRef } = useEditor();
|
|
778
|
-
const
|
|
778
|
+
const optionsRef = (0, import_react14.useRef)(null);
|
|
779
779
|
const handleHeader = () => {
|
|
780
780
|
if (!editorRef.current) return;
|
|
781
781
|
const options = editorRef.current.command.getOptions();
|
|
@@ -785,9 +785,9 @@ function InsertElementTool() {
|
|
|
785
785
|
}
|
|
786
786
|
editorRef.current.command.executeSetZone("header");
|
|
787
787
|
};
|
|
788
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "menu-item__insert-element", onClick: () =>
|
|
788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "menu-item__insert-element", onClick: () => optionsRef.current?.classList.toggle("visible"), children: [
|
|
789
789
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("i", { title: "Insert Element" }),
|
|
790
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "options"
|
|
790
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("ul", { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("li", { onClick: handleHeader, children: "Add Header" }) }) })
|
|
791
791
|
] });
|
|
792
792
|
}
|
|
793
793
|
|
|
@@ -796,7 +796,7 @@ var import_react15 = require("react");
|
|
|
796
796
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
797
797
|
function PageBreakTool() {
|
|
798
798
|
const { editorRef } = useEditor();
|
|
799
|
-
const
|
|
799
|
+
const optionsRef = (0, import_react15.useRef)(null);
|
|
800
800
|
const handlePageBreak = () => {
|
|
801
801
|
editorRef.current?.command.executePageBreak();
|
|
802
802
|
};
|
|
@@ -807,10 +807,10 @@ function PageBreakTool() {
|
|
|
807
807
|
"div",
|
|
808
808
|
{
|
|
809
809
|
className: "menu-item__page-break",
|
|
810
|
-
onClick: () =>
|
|
810
|
+
onClick: () => optionsRef.current?.classList.toggle("visible"),
|
|
811
811
|
children: [
|
|
812
812
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("i", { title: "Break" }),
|
|
813
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "options"
|
|
813
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "options", ref: optionsRef, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("ul", { children: [
|
|
814
814
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("li", { onClick: handlePageBreak, children: "Page Break" }),
|
|
815
815
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("li", { onClick: handleColumnBreak, children: "Column Break" })
|
|
816
816
|
] }) })
|