@flozy/editor 5.8.5 → 5.8.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/dist/Editor/CommonEditor.js +11 -6
- package/dist/Editor/Editor.css +30 -15
- package/dist/Editor/Elements/AI/PopoverAIInput.js +2 -12
- package/dist/Editor/Elements/Button/EditorButton.js +3 -1
- package/dist/Editor/Elements/DataView/DataView.js +4 -3
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +5 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +5 -1
- package/dist/Editor/Elements/DataView/Layouts/FilterView.js +23 -19
- package/dist/Editor/Elements/Form/Form.js +1 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +1 -0
- package/dist/Editor/Elements/Grid/GridItem.js +1 -2
- package/dist/Editor/Elements/Link/Link.js +42 -31
- package/dist/Editor/Elements/List/CheckList.js +2 -1
- package/dist/Editor/Elements/Search/SearchAttachment.js +1 -0
- package/dist/Editor/Elements/Search/SearchList.js +8 -1
- package/dist/Editor/Elements/SimpleText/index.js +8 -1
- package/dist/Editor/Elements/SimpleText/style.js +5 -1
- package/dist/Editor/Elements/Table/Table.js +3 -3
- package/dist/Editor/Elements/Table/TableCell.js +14 -9
- package/dist/Editor/Elements/Title/title.js +13 -1
- package/dist/Editor/Elements/Variables/Style.js +28 -2
- package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
- package/dist/Editor/MiniEditor.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +37 -28
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +3 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +3 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +9 -3
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +5 -0
- package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +45 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +2 -0
- package/dist/Editor/common/FontLoader/FontList.js +3 -11
- package/dist/Editor/common/FontLoader/FontLoader.js +37 -11
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +1 -0
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
- package/dist/Editor/common/Section/index.js +39 -29
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
- package/dist/Editor/common/Uploader.js +8 -0
- package/dist/Editor/commonStyle.js +58 -57
- package/dist/Editor/helper/deserialize/index.js +18 -5
- package/dist/Editor/helper/ensureWrappedVariables.js +28 -0
- package/dist/Editor/helper/index.js +2 -2
- package/dist/Editor/helper/markdown.js +45 -0
- package/dist/Editor/helper/theme.js +24 -1
- package/dist/Editor/hooks/useMouseMove.js +5 -2
- package/dist/Editor/plugins/withHTML.js +8 -1
- package/dist/Editor/plugins/withLayout.js +1 -1
- package/dist/Editor/utils/SlateUtilityFunctions.js +41 -4
- package/dist/Editor/utils/button.js +4 -4
- package/dist/Editor/utils/customHooks/useTableResize.js +2 -1
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/helper.js +60 -19
- package/dist/Editor/utils/pageSettings.js +14 -2
- package/dist/Editor/utils/table.js +21 -0
- package/package.json +3 -2
@@ -0,0 +1,45 @@
|
|
1
|
+
import MarkdownIt from "markdown-it";
|
2
|
+
const md = new MarkdownIt();
|
3
|
+
function markdownItCheckbox(md) {
|
4
|
+
md.core.ruler.push("checkbox_lists", function (state) {
|
5
|
+
const tokens = state.tokens;
|
6
|
+
for (let i = 0; i < tokens.length; i++) {
|
7
|
+
const token = tokens[i];
|
8
|
+
if (token.type === "inline" && token.content) {
|
9
|
+
const taskListRegex = /^\s*(-\s*)?\[\s*([xX\s]?)\s*\]\s+(.*)/;
|
10
|
+
const match = taskListRegex.exec(token.content);
|
11
|
+
if (match) {
|
12
|
+
token.attrJoin("class", "check-list-item");
|
13
|
+
const isChecked = match[2].toLowerCase() === "x"; // Check if checked
|
14
|
+
const content = match[3].trim(); // Extract text after checkbox
|
15
|
+
|
16
|
+
// Create new tokens for the task list item
|
17
|
+
const listItemOpenToken = new state.Token("html_inline", "", 0);
|
18
|
+
listItemOpenToken.content = `<li class="check-list-item" data-checked="${isChecked}">`;
|
19
|
+
const checkboxToken = new state.Token("html_inline", "", 0);
|
20
|
+
checkboxToken.content = `<span class='check-list-item' data-checked="${isChecked}" />`;
|
21
|
+
const textToken = new state.Token("text", "", 0);
|
22
|
+
textToken.content = content;
|
23
|
+
const listItemCloseToken = new state.Token("html_inline", "", 0);
|
24
|
+
listItemCloseToken.content = `</li>`;
|
25
|
+
|
26
|
+
// Replace the original token with the new tokens
|
27
|
+
tokens.splice(i, 1, checkboxToken, textToken);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
});
|
32
|
+
}
|
33
|
+
|
34
|
+
// init plugin
|
35
|
+
md.use(markdownItCheckbox);
|
36
|
+
function convertMDToHTML(data) {
|
37
|
+
try {
|
38
|
+
const html = md.render(data);
|
39
|
+
return html;
|
40
|
+
} catch (err) {
|
41
|
+
console.log(err);
|
42
|
+
return data;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
export default convertMDToHTML;
|
@@ -161,4 +161,27 @@ export const groupByBreakpoint = (styleProps, theme) => {
|
|
161
161
|
}
|
162
162
|
};
|
163
163
|
};
|
164
|
-
export const getCustomizationValue = value => isNaN(parseInt(value)) ? null : parseInt(value);
|
164
|
+
export const getCustomizationValue = value => isNaN(parseInt(value)) ? null : parseInt(value);
|
165
|
+
export const getBreakpointLineSpacing = (value, breakpoint) => {
|
166
|
+
try {
|
167
|
+
const values = getBreakPointsValue(value, breakpoint);
|
168
|
+
const cssVal = BREAKPOINTS_DEVICES.reduce((a, b) => {
|
169
|
+
if (values[b] || values["lg"]) {
|
170
|
+
const value = values[b] || values["lg"];
|
171
|
+
return {
|
172
|
+
...a,
|
173
|
+
[b]: value
|
174
|
+
};
|
175
|
+
} else {
|
176
|
+
return a;
|
177
|
+
}
|
178
|
+
}, {});
|
179
|
+
if (breakpoint) {
|
180
|
+
return value[breakpoint] || value["lg"] || value;
|
181
|
+
} else {
|
182
|
+
return cssVal["lg"];
|
183
|
+
}
|
184
|
+
} catch (err) {
|
185
|
+
// console.log(err);
|
186
|
+
}
|
187
|
+
};
|
@@ -35,6 +35,7 @@ export const EditorProvider = ({
|
|
35
35
|
path: null
|
36
36
|
});
|
37
37
|
const [fontFamilies, setFontFamilies] = useState({});
|
38
|
+
const [activeBreakPoint, setActiveBreakPoint] = useState("");
|
38
39
|
useEffect(() => {
|
39
40
|
window.updateSelectedItem = d => {
|
40
41
|
setSelectedElement(d);
|
@@ -97,8 +98,10 @@ export const EditorProvider = ({
|
|
97
98
|
setOpenAI,
|
98
99
|
updateDragging,
|
99
100
|
fontFamilies,
|
100
|
-
setFontFamilies
|
101
|
-
|
101
|
+
setFontFamilies,
|
102
|
+
activeBreakPoint,
|
103
|
+
setActiveBreakPoint
|
104
|
+
}), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop, activeBreakPoint]);
|
102
105
|
return /*#__PURE__*/_jsx(EditorContext.Provider, {
|
103
106
|
value: otherValues,
|
104
107
|
children: children
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Transforms, Editor, Element, Node, Path } from "slate";
|
2
2
|
import deserialize from "../helper/deserialize";
|
3
3
|
import { decodeAndParseBase64 } from "../utils/helper";
|
4
|
+
import convertMDToHTML from "../helper/markdown";
|
4
5
|
const avoidDefaultInsert = ["table", "grid"];
|
5
6
|
const NON_TEXT_TAGS = ["ol", "ul", "img", "table", "video", "a", "button", "GOOGLE-SHEETS-HTML-ORIGIN"];
|
6
7
|
const ALLOWED_TEXT_NODES = ["paragraph", "title", "headingOne", "headingTwo", "headingThree"];
|
@@ -274,9 +275,15 @@ const withHtml = editor => {
|
|
274
275
|
Transforms.insertFragment(editor, formattedFragment);
|
275
276
|
return;
|
276
277
|
} else {
|
277
|
-
|
278
|
+
const html = convertMDToHTML(data.getData("text/plain"));
|
279
|
+
let parsed = new DOMParser().parseFromString(html, "text/html");
|
280
|
+
parsed = parseCopiedHTML(html);
|
281
|
+
const fragment = deserialize(parsed.body);
|
282
|
+
Transforms.insertFragment(editor, fragment);
|
283
|
+
// insertData(data);
|
278
284
|
}
|
279
285
|
};
|
286
|
+
|
280
287
|
return editor;
|
281
288
|
};
|
282
289
|
export default withHtml;
|
@@ -173,10 +173,9 @@ export const getMarked = (leaf, children, theme) => {
|
|
173
173
|
if (leaf.highlight) {
|
174
174
|
children = /*#__PURE__*/_jsx("span", {
|
175
175
|
style: {
|
176
|
-
color: "inherit"
|
176
|
+
color: "inherit",
|
177
|
+
background: "var(--slate-highlight-bg)"
|
177
178
|
},
|
178
|
-
className: "slate-highlight" // while opening AI, we will use this element to highlight the selection. (PopoverAIInput.js)
|
179
|
-
,
|
180
179
|
children: children
|
181
180
|
});
|
182
181
|
}
|
@@ -302,6 +301,30 @@ export const getBlock = props => {
|
|
302
301
|
placeholder: "Heading 3",
|
303
302
|
children: children
|
304
303
|
});
|
304
|
+
case "headingFour":
|
305
|
+
return /*#__PURE__*/_jsx("h4", {
|
306
|
+
...attributes,
|
307
|
+
...element.attr,
|
308
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
309
|
+
placeholder: "Heading 4",
|
310
|
+
children: children
|
311
|
+
});
|
312
|
+
case "headingFive":
|
313
|
+
return /*#__PURE__*/_jsx("h5", {
|
314
|
+
...attributes,
|
315
|
+
...element.attr,
|
316
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
317
|
+
placeholder: "Heading 5",
|
318
|
+
children: children
|
319
|
+
});
|
320
|
+
case "headingSix":
|
321
|
+
return /*#__PURE__*/_jsx("h6", {
|
322
|
+
...attributes,
|
323
|
+
...element.attr,
|
324
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
325
|
+
placeholder: "Heading 6",
|
326
|
+
children: children
|
327
|
+
});
|
305
328
|
case "blockquote":
|
306
329
|
return /*#__PURE__*/_jsx("blockquote", {
|
307
330
|
...attributes,
|
@@ -314,7 +337,8 @@ export const getBlock = props => {
|
|
314
337
|
borderRadius: `${element?.color ? "0px" : "12px"} 12px 12px ${element?.color ? "0px" : "12px"}`,
|
315
338
|
margin: `${element?.bgColor ? "16px" : "0px"} 0px`,
|
316
339
|
width: element?.bgColor ? "calc(100% - 16px)" : "100%",
|
317
|
-
borderWidth: element?.color ? "0px 0px 0px 3px" : "0px"
|
340
|
+
borderWidth: element?.color ? "0px 0px 0px 3px" : "0px",
|
341
|
+
lineHeight: 1.43
|
318
342
|
},
|
319
343
|
children: children
|
320
344
|
});
|
@@ -374,6 +398,9 @@ export const getBlock = props => {
|
|
374
398
|
});
|
375
399
|
case "orderedList":
|
376
400
|
return /*#__PURE__*/_jsx("ol", {
|
401
|
+
style: {
|
402
|
+
lineHeight: 1.43
|
403
|
+
},
|
377
404
|
className: "listItemMargin",
|
378
405
|
type: "1",
|
379
406
|
...attributes,
|
@@ -381,6 +408,9 @@ export const getBlock = props => {
|
|
381
408
|
});
|
382
409
|
case "unorderedList":
|
383
410
|
return /*#__PURE__*/_jsx("ul", {
|
411
|
+
style: {
|
412
|
+
lineHeight: 1.43
|
413
|
+
},
|
384
414
|
className: "listItemMargin",
|
385
415
|
...attributes,
|
386
416
|
children: children
|
@@ -582,6 +612,13 @@ export const getBlock = props => {
|
|
582
612
|
return /*#__PURE__*/_jsx(ColumnView, {
|
583
613
|
...props
|
584
614
|
});
|
615
|
+
case "code":
|
616
|
+
return /*#__PURE__*/_jsx("code", {
|
617
|
+
...attributes,
|
618
|
+
...element.attr,
|
619
|
+
className: "markcode",
|
620
|
+
children: children
|
621
|
+
});
|
585
622
|
default:
|
586
623
|
return /*#__PURE__*/_jsx(SimpleText, {
|
587
624
|
...props,
|
@@ -43,7 +43,8 @@ const useTableResize = ({
|
|
43
43
|
minWidth
|
44
44
|
} = minMaxProps || {};
|
45
45
|
setSize(currentSize => {
|
46
|
-
const
|
46
|
+
const width = currentSize?.width || parentDOM?.clientWidth;
|
47
|
+
const calcWidth = width + e.movementX;
|
47
48
|
return {
|
48
49
|
width: minWidth && calcWidth < minWidth ? minWidth : calcWidth,
|
49
50
|
height: currentSize.height + e.movementY,
|
@@ -82,7 +82,8 @@ const splitInlineStyleRanges = (text, inlineStyleRanges, data) => {
|
|
82
82
|
};
|
83
83
|
export const draftToSlate = props => {
|
84
84
|
const {
|
85
|
-
data
|
85
|
+
data,
|
86
|
+
needLayout
|
86
87
|
} = props;
|
87
88
|
if (data?.blocks && data?.blocks?.length > 0) {
|
88
89
|
const converted = data?.blocks?.reduce((a, b) => {
|
@@ -104,7 +105,7 @@ export const draftToSlate = props => {
|
|
104
105
|
return data;
|
105
106
|
} else {
|
106
107
|
return [{
|
107
|
-
type: "paragraph",
|
108
|
+
type: needLayout ? "title" : "paragraph",
|
108
109
|
children: [{
|
109
110
|
text: ""
|
110
111
|
}]
|
@@ -625,6 +625,10 @@ export const isRestrictedNode = (event, editor) => {
|
|
625
625
|
return isNodeRestricted;
|
626
626
|
}
|
627
627
|
};
|
628
|
+
export function capitalizeFirstLetter(str) {
|
629
|
+
if (!str) return str;
|
630
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
631
|
+
}
|
628
632
|
export const insertLineBreakAtEndOfPath = (editor, path) => {
|
629
633
|
try {
|
630
634
|
const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
|
@@ -643,6 +647,13 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
|
|
643
647
|
console.log(err);
|
644
648
|
}
|
645
649
|
};
|
650
|
+
export function isHavingSelection(editor) {
|
651
|
+
try {
|
652
|
+
return editor?.selection && !Range.isCollapsed(editor.selection);
|
653
|
+
} catch (err) {
|
654
|
+
console.log(err);
|
655
|
+
}
|
656
|
+
}
|
646
657
|
const omitNodes = ["site-settings", "page-settings"];
|
647
658
|
export function getInitialValue(value = [], readOnly) {
|
648
659
|
if (readOnly === "readonly" && value?.length) {
|
@@ -673,20 +684,17 @@ export function getInitialValue(value = [], readOnly) {
|
|
673
684
|
}
|
674
685
|
return value;
|
675
686
|
}
|
676
|
-
export function capitalizeFirstLetter(str) {
|
677
|
-
if (!str) return str;
|
678
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
679
|
-
}
|
680
|
-
export function isHavingSelection(editor) {
|
681
|
-
try {
|
682
|
-
return editor?.selection && !Range.isCollapsed(editor.selection);
|
683
|
-
} catch (err) {
|
684
|
-
console.log(err);
|
685
|
-
}
|
686
|
-
}
|
687
687
|
export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
|
688
688
|
return `${defaultCls} ${selected ? selectedClsName : ""}`;
|
689
689
|
}
|
690
|
+
export function handleNegativeInteger(val) {
|
691
|
+
return val < 0 ? 0 : val;
|
692
|
+
}
|
693
|
+
export const containsSurrogatePair = text => {
|
694
|
+
// Match surrogate pairs (high and low surrogate)
|
695
|
+
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
696
|
+
return surrogatePairRegex.test(text);
|
697
|
+
};
|
690
698
|
export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
691
699
|
try {
|
692
700
|
const options = {
|
@@ -700,11 +708,6 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
|
700
708
|
return [];
|
701
709
|
}
|
702
710
|
};
|
703
|
-
export const containsSurrogatePair = text => {
|
704
|
-
// Match surrogate pairs (high and low surrogate)
|
705
|
-
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
706
|
-
return surrogatePairRegex.test(text);
|
707
|
-
};
|
708
711
|
export const getSlateDom = (editor, range) => {
|
709
712
|
try {
|
710
713
|
const slateDom = ReactEditor.toDOMRange(editor, range);
|
@@ -713,6 +716,44 @@ export const getSlateDom = (editor, range) => {
|
|
713
716
|
console.log(err);
|
714
717
|
}
|
715
718
|
};
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
+
|
720
|
+
// The inputs inside the dynamic table lose focus after calling `setNodes` on the first `onChange` event.
|
721
|
+
// To replicate this issue, insert some paragraph nodes above the dynamic table, then type something in the title.
|
722
|
+
// After typing the first word, the input loses focus.
|
723
|
+
export const focusDynamicTableInput = e => {
|
724
|
+
setTimeout(() => {
|
725
|
+
const input = document.getElementById(e.target.id);
|
726
|
+
if (input) {
|
727
|
+
// Check if the input is not already focused
|
728
|
+
if (document.activeElement !== input) {
|
729
|
+
const length = input.value.length;
|
730
|
+
// Focus on the input
|
731
|
+
input.focus();
|
732
|
+
|
733
|
+
// number input not supports selection
|
734
|
+
if (e.target.type !== "number") {
|
735
|
+
// Set the cursor to the end
|
736
|
+
input.setSelectionRange(length, length);
|
737
|
+
}
|
738
|
+
}
|
739
|
+
}
|
740
|
+
}, 0);
|
741
|
+
};
|
742
|
+
export const clearWindowSelection = () => {
|
743
|
+
const selection = window.getSelection();
|
744
|
+
if (selection) {
|
745
|
+
selection.removeAllRanges(); // Clears the selection
|
746
|
+
}
|
747
|
+
};
|
748
|
+
|
749
|
+
export const viewSlateSelection = () => {
|
750
|
+
// if ai is opened, remove the window selection class and open then slate selection, To resolve: focussing on the ai input removes window selection automatically
|
751
|
+
clearWindowSelection();
|
752
|
+
const selectionBg = "rgba(35, 131, 226, 0.35)";
|
753
|
+
const root = document.documentElement;
|
754
|
+
root.style.setProperty("--slate-highlight-bg", selectionBg);
|
755
|
+
};
|
756
|
+
export const hideSlateSelection = () => {
|
757
|
+
const root = document.documentElement;
|
758
|
+
root.style.setProperty("--slate-highlight-bg", "none");
|
759
|
+
};
|
@@ -9,7 +9,13 @@ export const findPageSettings = editor => {
|
|
9
9
|
path: null,
|
10
10
|
element: {
|
11
11
|
pageProps: {
|
12
|
-
pageWidth: "fixed"
|
12
|
+
pageWidth: "fixed",
|
13
|
+
"lineHeight": {
|
14
|
+
"xs": 1.43,
|
15
|
+
"sm": 1.43,
|
16
|
+
"md": 1.43,
|
17
|
+
"lg": 1.43
|
18
|
+
}
|
13
19
|
}
|
14
20
|
}
|
15
21
|
};
|
@@ -34,7 +40,13 @@ export const getPageSettings = editor => {
|
|
34
40
|
path: null,
|
35
41
|
element: {
|
36
42
|
pageProps: {
|
37
|
-
pageWidth: "fixed"
|
43
|
+
pageWidth: "fixed",
|
44
|
+
"lineHeight": {
|
45
|
+
"xs": 1.43,
|
46
|
+
"sm": 1.43,
|
47
|
+
"md": 1.43,
|
48
|
+
"lg": 1.43
|
49
|
+
}
|
38
50
|
}
|
39
51
|
}
|
40
52
|
};
|
@@ -753,4 +753,25 @@ export const clearCellText = (editor, currentCellPath) => {
|
|
753
753
|
} catch (err) {
|
754
754
|
console.log(err);
|
755
755
|
}
|
756
|
+
};
|
757
|
+
export const getTableColumns = element => {
|
758
|
+
const {
|
759
|
+
columns,
|
760
|
+
children
|
761
|
+
} = element || {};
|
762
|
+
if (columns) {
|
763
|
+
return columns;
|
764
|
+
}
|
765
|
+
const firstRow = children?.length ? children[0] : {};
|
766
|
+
return firstRow?.children?.length || 0;
|
767
|
+
};
|
768
|
+
export const getTableRows = element => {
|
769
|
+
const {
|
770
|
+
rows,
|
771
|
+
children
|
772
|
+
} = element || {};
|
773
|
+
if (rows) {
|
774
|
+
return rows;
|
775
|
+
}
|
776
|
+
return children?.length || 0;
|
756
777
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flozy/editor",
|
3
|
-
"version": "5.8.
|
3
|
+
"version": "5.8.7",
|
4
4
|
"description": "An Editor for flozy app brain",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -30,6 +30,7 @@
|
|
30
30
|
"husky": "^8.0.3",
|
31
31
|
"interweave": "^13.1.0",
|
32
32
|
"lint-staged": "^13.2.3",
|
33
|
+
"markdown-it": "^14.1.0",
|
33
34
|
"prettier": "^3.0.1",
|
34
35
|
"react-best-gradient-color-picker": "^2.2.23",
|
35
36
|
"react-datepicker": "^4.18.0",
|
@@ -68,7 +69,7 @@
|
|
68
69
|
"storybook": "storybook dev -p 6006",
|
69
70
|
"build-storybook": "NODE_OPTIONS='--max_old_space_size=4096' storybook build",
|
70
71
|
"publish:npm": "rm -rf dist && mkdir dist && babel src/components -d dist --copy-files",
|
71
|
-
"publish:local": "rm -rf /Users/
|
72
|
+
"publish:local": "rm -rf /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist --copy-files"
|
72
73
|
},
|
73
74
|
"eslintConfig": {
|
74
75
|
"extends": [
|