@flozy/editor 10.7.0 → 10.7.1
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/ChatEditor.js +17 -16
- package/dist/Editor/CommonEditor.js +126 -15
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +45 -11
- package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
- package/dist/Editor/Elements/AI/Styles.js +1 -0
- package/dist/Editor/Elements/Accordion/Accordion.js +25 -17
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Attachments/AttachmentStyles.js +16 -0
- package/dist/Editor/Elements/Attachments/Attachments.js +153 -11
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +8 -3
- package/dist/Editor/Elements/Button/EditorButton.js +23 -7
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
- package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
- package/dist/Editor/Elements/Embed/Embed.js +36 -43
- package/dist/Editor/Elements/Embed/Image.js +240 -23
- package/dist/Editor/Elements/Embed/Video.js +246 -15
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
- package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +39 -33
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -0
- package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
- package/dist/Editor/Elements/FreeGrid/helper.js +115 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +9 -0
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +2 -1
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +3 -3
- package/dist/Editor/Elements/Title/title.js +6 -6
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +20 -5
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +10 -13
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +7 -4
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +69 -9
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +58 -10
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +5 -2
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/BackIcon.js +18 -0
- package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
- package/dist/Editor/common/ColorPickerButton.js +38 -16
- package/dist/Editor/common/CustomColorPicker/index.js +130 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog2/index.js +94 -0
- package/dist/Editor/common/CustomDialog2/style.js +67 -0
- package/dist/Editor/common/CustomSelect.js +43 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
- package/dist/Editor/common/Icon.js +28 -0
- package/dist/Editor/common/ImageSelector/ImageSelector.js +46 -8
- package/dist/Editor/common/ImageSelector/Options/Upload.js +26 -11
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/LinkSettings/NavComponents.js +6 -2
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +20 -7
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +3 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -18
- package/dist/Editor/common/RnD/Utils/index.js +3 -1
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +45 -58
- package/dist/Editor/common/RnD/VirtualElement/helper.js +320 -130
- package/dist/Editor/common/RnD/VirtualElement/styles.js +22 -0
- package/dist/Editor/common/RnD/index.js +48 -13
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +15 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +16 -8
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/StyleBuilder/index.js +8 -4
- package/dist/Editor/common/Uploader.js +125 -17
- package/dist/Editor/common/UploaderWithProgress.js +183 -0
- package/dist/Editor/common/iconslist.js +21 -0
- package/dist/Editor/commonStyle.js +107 -64
- package/dist/Editor/helper/index.js +10 -2
- package/dist/Editor/helper/textIndeces.js +58 -0
- package/dist/Editor/helper/theme.js +203 -2
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +9 -3
- package/dist/Editor/hooks/useThemeValues.js +63 -0
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +7 -3
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +53 -0
- package/dist/Editor/theme/ThemeList.js +50 -173
- package/dist/Editor/theme/index.js +149 -0
- package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
- package/dist/Editor/themeSettings/buttons/index.js +300 -0
- package/dist/Editor/themeSettings/buttons/style.js +23 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +240 -0
- package/dist/Editor/themeSettings/fonts/style.js +62 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +380 -0
- package/dist/Editor/themeSettings/style.js +299 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +355 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
- package/dist/Editor/themeSettingsAI/style.js +332 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +231 -25
- package/dist/Editor/utils/accordion.js +62 -34
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +97 -21
- package/dist/Editor/utils/insertAppHeader.js +8 -4
- package/package.json +4 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -454
@@ -2,6 +2,7 @@ import { Editor, Node, Transforms, Element, Path, Range, Text } from "slate";
|
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
3
|
import insertNewLine from "./insertNewLine";
|
4
4
|
import { getDevice } from "../helper/theme";
|
5
|
+
import { activeMark, getSelectedElementStyle } from "./SlateUtilityFunctions";
|
5
6
|
import { getCurrentElementText } from "../plugins/withHTML";
|
6
7
|
export const windowVar = {};
|
7
8
|
let ST_TIMEOUT = null;
|
@@ -217,9 +218,13 @@ export const handleInsertLastElement = (event, editor) => {
|
|
217
218
|
};
|
218
219
|
export const isListItem = editor => {
|
219
220
|
const format = ["list-item", "check-list-item", "accordion-summary", "headingOne", "headingTwo", "headingThree"];
|
220
|
-
const [
|
221
|
+
const [node1, node2] = Editor.nodes(editor, {
|
221
222
|
match: n => !Editor.isEditor(n) && Element.isElement(n) && format.indexOf(n.type) > -1
|
222
223
|
});
|
224
|
+
let node = node1;
|
225
|
+
if (node2 && node2[0] && node2[0].type === "accordion-summary") {
|
226
|
+
node = node2;
|
227
|
+
}
|
223
228
|
return node;
|
224
229
|
};
|
225
230
|
export const getNode = (editor, path) => {
|
@@ -492,6 +497,34 @@ export const decodeString = str => {
|
|
492
497
|
console.log(err);
|
493
498
|
}
|
494
499
|
};
|
500
|
+
export const getContrastColor = color => {
|
501
|
+
let r, g, b;
|
502
|
+
|
503
|
+
// Check if the color is in hex format
|
504
|
+
if (color.startsWith("#")) {
|
505
|
+
r = parseInt(color.substring(1, 3), 16);
|
506
|
+
g = parseInt(color.substring(3, 5), 16);
|
507
|
+
b = parseInt(color.substring(5, 7), 16);
|
508
|
+
}
|
509
|
+
// Check if the color is in RGB/RGBA format
|
510
|
+
else if (color.startsWith("rgb")) {
|
511
|
+
const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
|
512
|
+
.split(","); // Split the values into an array
|
513
|
+
|
514
|
+
r = parseInt(rgbValues[0]);
|
515
|
+
g = parseInt(rgbValues[1]);
|
516
|
+
b = parseInt(rgbValues[2]);
|
517
|
+
} else {
|
518
|
+
// If the format is not recognized, default to black text
|
519
|
+
return "#000000";
|
520
|
+
}
|
521
|
+
|
522
|
+
// Calculate relative luminance
|
523
|
+
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
524
|
+
|
525
|
+
// Return black for light colors, white for dark colors
|
526
|
+
return luminance > 0.5 ? "#000000" : "#FFFFFF";
|
527
|
+
};
|
495
528
|
export const onDeleteKey = (event, {
|
496
529
|
editor
|
497
530
|
}) => {
|
@@ -709,6 +742,10 @@ export const isRestrictedNode = (event, editor) => {
|
|
709
742
|
return isNodeRestricted;
|
710
743
|
}
|
711
744
|
};
|
745
|
+
export function capitalizeFirstLetter(str) {
|
746
|
+
if (!str) return str;
|
747
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
748
|
+
}
|
712
749
|
export const insertLineBreakAtEndOfPath = (editor, path) => {
|
713
750
|
try {
|
714
751
|
const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
|
@@ -727,6 +764,13 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
|
|
727
764
|
console.log(err);
|
728
765
|
}
|
729
766
|
};
|
767
|
+
export function isHavingSelection(editor) {
|
768
|
+
try {
|
769
|
+
return editor?.selection && !Range.isCollapsed(editor.selection);
|
770
|
+
} catch (err) {
|
771
|
+
console.log(err);
|
772
|
+
}
|
773
|
+
}
|
730
774
|
const omitNodes = ["site-settings", "page-settings"];
|
731
775
|
export function getInitialValue(value = [], readOnly) {
|
732
776
|
if (readOnly === "readonly" && value?.length) {
|
@@ -757,20 +801,17 @@ export function getInitialValue(value = [], readOnly) {
|
|
757
801
|
}
|
758
802
|
return value;
|
759
803
|
}
|
760
|
-
export function capitalizeFirstLetter(str) {
|
761
|
-
if (!str) return str;
|
762
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
763
|
-
}
|
764
|
-
export function isHavingSelection(editor) {
|
765
|
-
try {
|
766
|
-
return editor?.selection && !Range.isCollapsed(editor.selection);
|
767
|
-
} catch (err) {
|
768
|
-
console.log(err);
|
769
|
-
}
|
770
|
-
}
|
771
804
|
export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
|
772
805
|
return `${defaultCls} ${selected ? selectedClsName : ""}`;
|
773
806
|
}
|
807
|
+
export function handleNegativeInteger(val) {
|
808
|
+
return val < 0 ? 0 : val;
|
809
|
+
}
|
810
|
+
export const containsSurrogatePair = text => {
|
811
|
+
// Match surrogate pairs (high and low surrogate)
|
812
|
+
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
813
|
+
return surrogatePairRegex.test(text);
|
814
|
+
};
|
774
815
|
export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
775
816
|
try {
|
776
817
|
const options = {
|
@@ -784,11 +825,6 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
|
784
825
|
return [];
|
785
826
|
}
|
786
827
|
};
|
787
|
-
export const containsSurrogatePair = text => {
|
788
|
-
// Match surrogate pairs (high and low surrogate)
|
789
|
-
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
790
|
-
return surrogatePairRegex.test(text);
|
791
|
-
};
|
792
828
|
export const getSlateDom = (editor, range) => {
|
793
829
|
try {
|
794
830
|
const slateDom = ReactEditor.toDOMRange(editor, range);
|
@@ -829,7 +865,8 @@ export const clearWindowSelection = () => {
|
|
829
865
|
|
830
866
|
export const viewSlateSelection = () => {
|
831
867
|
// 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
|
832
|
-
clearWindowSelection();
|
868
|
+
// clearWindowSelection();
|
869
|
+
|
833
870
|
const selectionBg = "rgba(35, 131, 226, 0.35)";
|
834
871
|
const root = document.documentElement;
|
835
872
|
root.style.setProperty("--slate-highlight-bg", selectionBg);
|
@@ -838,9 +875,6 @@ export const hideSlateSelection = () => {
|
|
838
875
|
const root = document.documentElement;
|
839
876
|
root.style.setProperty("--slate-highlight-bg", "none");
|
840
877
|
};
|
841
|
-
export function handleNegativeInteger(val) {
|
842
|
-
return val < 0 ? 0 : val;
|
843
|
-
}
|
844
878
|
export const insertSlashNode = (editor, insertNode) => {
|
845
879
|
try {
|
846
880
|
// Delete the currently selected text
|
@@ -889,6 +923,48 @@ export const getCurrentNodeText = editor => {
|
|
889
923
|
console.log("Error:", error);
|
890
924
|
}
|
891
925
|
};
|
926
|
+
function convertColorToRgb(color) {
|
927
|
+
if (color?.startsWith("#")) {
|
928
|
+
// HEX to RGB
|
929
|
+
let hex = color.replace("#", "");
|
930
|
+
let r, g, b;
|
931
|
+
if (hex.length === 3) {
|
932
|
+
hex = hex.split("").map(x => x + x).join("");
|
933
|
+
}
|
934
|
+
if (hex.length === 6) {
|
935
|
+
[r, g, b] = [hex.substring(0, 2), hex.substring(2, 4), hex.substring(4, 6)].map(val => parseInt(val, 16));
|
936
|
+
return `rgb(${r}, ${g}, ${b})`;
|
937
|
+
}
|
938
|
+
} else {
|
939
|
+
return color;
|
940
|
+
}
|
941
|
+
}
|
942
|
+
export const getSelectedColor = (selectedColor, theme, hideThemeColors) => {
|
943
|
+
const colorVars = hideThemeColors ? null : theme?.vars?.colors;
|
944
|
+
let selectedValue = selectedColor;
|
945
|
+
if (colorVars) {
|
946
|
+
const convertedColor = convertColorToRgb(selectedColor);
|
947
|
+
Object.entries(theme.colors).forEach(([key, value]) => {
|
948
|
+
const convertedThemeColor = convertColorToRgb(value);
|
949
|
+
if (convertedThemeColor === convertedColor) {
|
950
|
+
selectedValue = colorVars[key];
|
951
|
+
}
|
952
|
+
});
|
953
|
+
}
|
954
|
+
return selectedValue;
|
955
|
+
};
|
956
|
+
const themeTextFormats = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
957
|
+
export const getSelectedElementColor = (editor, format, theme) => {
|
958
|
+
const [isThemeText] = Editor.nodes(editor, {
|
959
|
+
at: editor.selection,
|
960
|
+
match: n => themeTextFormats.includes(n?.type)
|
961
|
+
});
|
962
|
+
if (!isThemeText) {
|
963
|
+
return activeMark(editor, "color") || "#000000";
|
964
|
+
}
|
965
|
+
const color = getSelectedElementStyle(format, editor, format);
|
966
|
+
return getSelectedColor(color, theme);
|
967
|
+
};
|
892
968
|
export const isHavingColor = color => {
|
893
969
|
if (!color) {
|
894
970
|
return false;
|
@@ -8,27 +8,31 @@ export const appHeaderNode = ({
|
|
8
8
|
appLogo: "none",
|
9
9
|
menus: menus || [{
|
10
10
|
type: "menu",
|
11
|
-
url: "
|
11
|
+
url: "",
|
12
|
+
placeholder: "home",
|
12
13
|
target: "",
|
13
14
|
text: "Home",
|
14
15
|
linkType: "page"
|
15
16
|
}, {
|
16
17
|
type: "menu",
|
17
|
-
url: "
|
18
|
+
url: "",
|
19
|
+
placeholder: "wireframe2",
|
18
20
|
target: "",
|
19
21
|
text: "Wireframe",
|
20
22
|
linkType: "page"
|
21
23
|
}, {
|
22
24
|
type: "menu",
|
23
|
-
url: "
|
25
|
+
url: "",
|
24
26
|
target: "",
|
27
|
+
placeholder: "Work",
|
25
28
|
text: "Work",
|
26
29
|
linkType: "webAddress"
|
27
30
|
}, {
|
28
31
|
type: "menu",
|
29
|
-
url: "
|
32
|
+
url: "",
|
30
33
|
target: "",
|
31
34
|
text: "Contact",
|
35
|
+
placeholder: "Contact",
|
32
36
|
linkType: "webAddress"
|
33
37
|
}],
|
34
38
|
menuStyle: "stacked",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flozy/editor",
|
3
|
-
"version": "10.7.
|
3
|
+
"version": "10.7.1",
|
4
4
|
"description": "An Editor for flozy app brain",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -38,7 +38,6 @@
|
|
38
38
|
"react-icons": "^4.10.1",
|
39
39
|
"react-katex": "^3.0.1",
|
40
40
|
"react-rnd": "^10.4.11",
|
41
|
-
"react-scripts": "5.0.1",
|
42
41
|
"react-signature-canvas": "^1.0.6",
|
43
42
|
"react-slick": "^0.29.0",
|
44
43
|
"sanitize-html": "^2.13.0",
|
@@ -69,7 +68,7 @@
|
|
69
68
|
"storybook": "storybook dev -p 6006",
|
70
69
|
"build-storybook": "NODE_OPTIONS='--max_old_space_size=4096' storybook build",
|
71
70
|
"publish:npm": "rm -rf dist && mkdir dist && babel src/components -d dist --copy-files",
|
72
|
-
"publish:local": "rm -rf /Users/
|
71
|
+
"publish:local": "rm -rf /Users/agenciflow08/Documents/flozyapp/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agenciflow08/Documents/flozyapp/client/node_modules/@flozy/editor/dist --copy-files",
|
73
72
|
"publish:flozy": "./publish-flozy.sh",
|
74
73
|
"publish:flozy2": "./publish-flozy2.sh",
|
75
74
|
"publish:permission": "chmod +x publish-flozy.sh && chmod +x publish-flozy2.sh"
|
@@ -122,7 +121,8 @@
|
|
122
121
|
"prop-types": "^15.8.1",
|
123
122
|
"source-map-explorer": "^2.5.3",
|
124
123
|
"storybook": "^7.4.0",
|
125
|
-
"webpack": "^5.88.2"
|
124
|
+
"webpack": "^5.88.2",
|
125
|
+
"react-scripts": "5.0.1"
|
126
126
|
},
|
127
127
|
"overrides": {
|
128
128
|
"react-refresh": "0.11.0"
|