easy-email-pro-theme 0.3.2 → 0.5.0
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/lib/index.js +72 -15
- package/lib/typings/components/BlockSideBar/BlockItem/index.d.ts +1 -1
- package/lib/typings/components/ConfigurationPanel/components/AttributeField/index.d.ts +5 -0
- package/lib/typings/components/Form/SliderField.d.ts +6 -0
- package/lib/typings/components/Form/index.d.ts +2 -2
- package/lib/typings/hooks/useElementInteract.d.ts +2 -0
- package/lib/typings/typings/custom-types.d.ts +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -54,7 +54,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
54
54
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
|
-
import { classnames, useEditorState, useEditorProps, useRefState, isDOMElement, useEditorContext, useEventCallback, validation, CustomEvent, ActiveTabKeys, EmailEditorProvider, EmailEditor,
|
|
57
|
+
import { classnames, useEditorState, useEditorProps, useRefState, isDOMElement, useEditorContext, useEventCallback, useSelectedNode, validation, CustomEvent, ActiveTabKeys, EmailEditorProvider, EmailEditor, useForceUpdate, toggleFormat, TextFormat, IframeComponent, HtmlStringToReactNodes, isFormatActive } from "easy-email-pro-editor";
|
|
58
58
|
import { useSlate, ReactEditor, useSlateStatic } from "slate-react";
|
|
59
59
|
import * as React$2 from "react";
|
|
60
60
|
import React__default, { useRef, useCallback as useCallback$1, useEffect, useMemo as useMemo$1, useState, forwardRef, memo, Component, PureComponent, useContext, useLayoutEffect, useReducer, Suspense } from "react";
|
|
@@ -62,7 +62,7 @@ import { NodeUtils, BlockManager, ElementType, t, EditorCore, ElementCategory, c
|
|
|
62
62
|
import { Editor, Transforms, Path, Node as Node$1, createEditor, Text as Text$1, Range, Element as Element$1, Point } from "slate";
|
|
63
63
|
import ReactDOM, { unstable_batchedUpdates, createPortal } from "react-dom";
|
|
64
64
|
import { cloneDeep, debounce as debounce$2, get, isEqual as isEqual$3, set, omit as omit$2, merge as merge$1, isUndefined as isUndefined$1, isString as isString$1, isNumber as isNumber$1, uniqueId, upperFirst, flatMap, sum, camelCase } from "lodash";
|
|
65
|
-
import { Form, Modal, Input, Collapse, Space, Grid, Empty, Card, Button as Button$1, Radio, Popover, Message, Spin, Select as Select$1, Drawer, Divider as Divider$1, Switch, Tabs, InputNumber, Tooltip, Tag, Link as Link$1, List, Alert,
|
|
65
|
+
import { Form, Modal, Input, Collapse, Space, Grid, Empty, Card, Button as Button$1, Radio, Popover, Message, Spin, Select as Select$1, Drawer, Divider as Divider$1, Switch, Tabs, Slider, Typography as Typography$1, InputNumber, Tooltip, Tag, Link as Link$1, List, Alert, Popconfirm, PageHeader, Skeleton, Layout as Layout$2 } from "@arco-design/web-react";
|
|
66
66
|
import { IconDelete, IconClose, IconPlus, IconCopy, IconDragArrow, IconLock, IconUnlock, IconQuestionCircle, IconLink, IconEdit, IconLeft, IconUndo, IconRedo, IconMinus, IconEye, IconSubscribeAdd, IconCheckCircleFill } from "@arco-design/web-react/icon";
|
|
67
67
|
import mjml from "mjml-browser";
|
|
68
68
|
import { HistoryEditor } from "slate-history";
|
|
@@ -402,7 +402,7 @@ const styleText$c = `@font-face {
|
|
|
402
402
|
}
|
|
403
403
|
|
|
404
404
|
`;
|
|
405
|
-
const RetroStyleText = '[data-slate-block="page"] {\r\n min-height: 300px;\r\n}\r\n\r\n[data-slate-hover="true"] {\r\n z-index: 2;\r\n}\r\n\r\n[data-slate-focus="true"] {\r\n z-index: 3;\r\n}\r\n\r\n[data-slate-selected="true"] {\r\n z-index: 3;\r\n}\r\n\r\n.text-mergetag {\r\n outline: 1px solid rgb(78, 89, 105);\r\n outline-offset: 1px;\r\n padding: 0 2px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n transition: all 0.1s linear;\r\n border: none;\r\n font-weight: inherit;\r\n outline-color: #00a0ac;\r\n color: inherit;\r\n background-color: #ebf9fc;\r\n max-width: 10em;\r\n font-style: inherit;\r\n text-decoration-line: inherit;\r\n position: relative;\r\n}\r\n\r\nbody .element-tools-container {\n outline: 2px solid var(--hover-color);\n}\r\n\r\nbody .element-tools-container .element-tools {\n color: #fff;\n background-color: var(--hover-color);\n}\r\n\r\nbody .element-tools-container .element-drag-button {\n background-color: var(--hover-color);\n}\r\n\r\n[data-slate-dragover=true] {\n z-index: 2;\n}\r\n\r\n[data-slate-dragover=true]::after {\n content: "";\n position: absolute;\n pointer-events: none;\n inset: 0px;\n border-radius: 3px;\n background: var(--drag-color);\n z-index: 10;\n left: 0;\n height: 4px;\n opacity: 1;\n}\r\n\r\n[data-slate-dragging=true] .element-tools-container {\n opacity: 0;\n}\r\n\r\n[data-slate-dragover-direction=top][data-slate-dragover=true]::after {\n top: 0px;\n}\r\n\r\n[data-slate-dragover-direction=bottom][data-slate-dragover=true]::after {\n top: auto;\n bottom: 0px;\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true] {\n outline: 2px dashed var(--drag-color);\n z-index: 2;\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true]::after {\n content: "";\n position: absolute;\n pointer-events: none;\n inset: 0px;\n border-radius: 3px;\n background: var(--drag-color);\n z-index: 1;\n left: 0;\n height: 100%;\n width: 100%;\n filter: opacity(10%);\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true] [data-slate-type=placeholder] {\n outline: none;\n}\r\n\r\n[data-slate-type=placeholder] {\n min-height: 64px;\n position: relative;\n background-color: rgba(242, 244, 245, 0.64);\n outline: rgb(43, 152, 211) dashed 1px;\n outline-offset: -1px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.3;\n color: rgb(48, 59, 67);\n margin: 0 20px;\n}\r\n\r\n[data-slate-type=placeholder] .element-delete {\n border-radius: 2px;\n padding: 0px;\n cursor: pointer;\n height: 28px;\n width: 28px;\n background-color: rgb(223, 227, 230);\n color: rgb(96, 106, 114);\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 10px;\n top: 10px;\n}\r\n\r\n[data-slate-type=placeholder] .element-delete:hover {\n background-color: rgb(180, 187, 195);\n}\r\n\r\n[data-slate-type=placeholder] .element-delete svg {\n width: 20px;\n height: 20px;\n}\r\n\r\n[data-slate-universal-editing=true] {\n z-index: 2;\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask {\n z-index: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n inset: 0px;\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask::before {\n content: " ";\n width: 10000px;\n height: 10000px;\n position: fixed;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask::after {\n position: absolute;\n content: " ";\n width: 100%;\n height: 100%;\n inset: 0px;\n pointer-events: none;\n outline: 9999px solid rgba(255, 255, 255, 0.6);\n}';
|
|
405
|
+
const RetroStyleText = '[data-slate-block="page"] {\r\n min-height: 300px;\r\n}\r\n\r\n[data-slate-hover="true"] {\r\n z-index: 2;\r\n}\r\n\r\n[data-slate-focus="true"] {\r\n z-index: 3;\r\n}\r\n\r\n[data-slate-selected="true"] {\r\n z-index: 3;\r\n}\r\n\r\n.text-mergetag {\r\n outline: 1px solid rgb(78, 89, 105);\r\n outline-offset: 1px;\r\n padding: 0 2px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n transition: all 0.1s linear;\r\n border: none;\r\n font-weight: inherit;\r\n outline-color: #00a0ac;\r\n color: inherit;\r\n background-color: #ebf9fc;\r\n max-width: 10em;\r\n font-style: inherit;\r\n text-decoration-line: inherit;\r\n position: relative;\r\n}\r\n\r\nbody .element-tools-container {\n outline: 2px solid var(--hover-color);\n z-index: 3;\n}\r\n\r\nbody .element-tools-container .element-tools {\n color: #fff;\n background-color: var(--hover-color);\n}\r\n\r\nbody .element-tools-container .element-drag-button {\n background-color: var(--hover-color);\n}\r\n\r\n[data-slate-dragover=true] {\n z-index: 2;\n}\r\n\r\n[data-slate-dragover=true]::after {\n content: "";\n position: absolute;\n pointer-events: none;\n inset: 0px;\n border-radius: 3px;\n background: var(--drag-color);\n z-index: 10;\n left: 0;\n height: 4px;\n opacity: 1;\n}\r\n\r\n[data-slate-dragging=true] .element-tools-container {\n opacity: 0;\n}\r\n\r\n[data-slate-dragover-direction=top][data-slate-dragover=true]::after {\n top: 0px;\n}\r\n\r\n[data-slate-dragover-direction=bottom][data-slate-dragover=true]::after {\n top: auto;\n bottom: 0px;\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true] {\n outline: 2px dashed var(--drag-color);\n z-index: 2;\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true]::after {\n content: "";\n position: absolute;\n pointer-events: none;\n inset: 0px;\n border-radius: 3px;\n background: var(--drag-color);\n z-index: 1;\n left: 0;\n height: 100%;\n width: 100%;\n filter: opacity(10%);\n}\r\n\r\n[data-slate-dragover-direction=middle][data-slate-dragover=true] [data-slate-type=placeholder] {\n outline: none;\n}\r\n\r\n[data-slate-type=placeholder] {\n min-height: 64px;\n position: relative;\n background-color: rgba(242, 244, 245, 0.64);\n outline: rgb(43, 152, 211) dashed 1px;\n outline-offset: -1px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.3;\n color: rgb(48, 59, 67);\n margin: 0 20px;\n}\r\n\r\n[data-slate-type=placeholder] .element-delete {\n border-radius: 2px;\n padding: 0px;\n cursor: pointer;\n height: 28px;\n width: 28px;\n background-color: rgb(223, 227, 230);\n color: rgb(96, 106, 114);\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 10px;\n top: 10px;\n}\r\n\r\n[data-slate-type=placeholder] .element-delete:hover {\n background-color: rgb(180, 187, 195);\n}\r\n\r\n[data-slate-type=placeholder] .element-delete svg {\n width: 20px;\n height: 20px;\n}\r\n\r\n[data-slate-universal-editing=true] {\n z-index: 2;\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask {\n z-index: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n inset: 0px;\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask::before {\n content: " ";\n width: 10000px;\n height: 10000px;\n position: fixed;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n}\r\n\r\n[data-slate-universal-editing=true] .universal-element-editing-mask::after {\n position: absolute;\n content: " ";\n width: 100%;\n height: 100%;\n inset: 0px;\n pointer-events: none;\n outline: 9999px solid rgba(255, 255, 255, 0.6);\n}';
|
|
406
406
|
const withTheme$1 = (editor) => {
|
|
407
407
|
const { insertBreak, normalizeNode, deleteBackward } = editor;
|
|
408
408
|
editor.insertBreak = (...args) => {
|
|
@@ -6223,7 +6223,17 @@ const useElementDefault = ({
|
|
|
6223
6223
|
};
|
|
6224
6224
|
const useElementInteract = () => {
|
|
6225
6225
|
const editor = useSlate();
|
|
6226
|
-
const { setSelectedNodePath, setHoverNodePath } = useEditorState();
|
|
6226
|
+
const { setSelectedNodePath, setHoverNodePath, selectedNodePath } = useEditorState();
|
|
6227
|
+
const { selectedNode } = useSelectedNode();
|
|
6228
|
+
const lastSelectedNode = useRef(null);
|
|
6229
|
+
const lastSelectedNodePath = useRef(null);
|
|
6230
|
+
if (!isEqual$3(lastSelectedNodePath.current, selectedNodePath)) {
|
|
6231
|
+
lastSelectedNode.current = null;
|
|
6232
|
+
}
|
|
6233
|
+
lastSelectedNodePath.current = selectedNodePath;
|
|
6234
|
+
if (!lastSelectedNode.current && selectedNode) {
|
|
6235
|
+
lastSelectedNode.current = cloneDeep(selectedNode);
|
|
6236
|
+
}
|
|
6227
6237
|
const copyBlock = useCallback$1(
|
|
6228
6238
|
(path2) => {
|
|
6229
6239
|
const block = Node$1.get(editor, path2);
|
|
@@ -6288,10 +6298,20 @@ const useElementInteract = () => {
|
|
|
6288
6298
|
setSelectedNodePath(null);
|
|
6289
6299
|
Transforms.deselect(editor);
|
|
6290
6300
|
}, [editor, setSelectedNodePath]);
|
|
6301
|
+
const resetSelectedNode = useEventCallback(() => {
|
|
6302
|
+
if (!selectedNodePath || !lastSelectedNode.current)
|
|
6303
|
+
return;
|
|
6304
|
+
editor.replaceNode({
|
|
6305
|
+
path: selectedNodePath,
|
|
6306
|
+
node: lastSelectedNode.current
|
|
6307
|
+
});
|
|
6308
|
+
});
|
|
6291
6309
|
return {
|
|
6292
6310
|
copyBlock,
|
|
6293
6311
|
deleteBlock,
|
|
6294
|
-
clearCanvas
|
|
6312
|
+
clearCanvas,
|
|
6313
|
+
isChanged: !isEqual$3(lastSelectedNode.current, selectedNode),
|
|
6314
|
+
resetSelectedNode
|
|
6295
6315
|
};
|
|
6296
6316
|
};
|
|
6297
6317
|
const defaultFontList = [
|
|
@@ -6565,7 +6585,7 @@ function BlockItem({
|
|
|
6565
6585
|
});
|
|
6566
6586
|
if (universalElementEditing && !NodeUtils.isContentElement(element))
|
|
6567
6587
|
return null;
|
|
6568
|
-
return /* @__PURE__ */ React__default.createElement("div", __spreadValues({ className: "block-list-grid-item" }, dragHandle2), /* @__PURE__ */ React__default.createElement("div", { className: "blockItemContainer" }, /* @__PURE__ */ React__default.createElement("div", null, icon), /* @__PURE__ */ React__default.createElement("div", { style: { width: "100%" } }, title
|
|
6588
|
+
return /* @__PURE__ */ React__default.createElement("div", __spreadValues({ className: "block-list-grid-item" }, dragHandle2), /* @__PURE__ */ React__default.createElement("div", { className: "blockItemContainer" }, /* @__PURE__ */ React__default.createElement("div", null, icon), /* @__PURE__ */ React__default.createElement("div", { style: { width: "100%" } }, !isUndefined$1(title) ? title : block == null ? void 0 : block.name)));
|
|
6569
6589
|
}
|
|
6570
6590
|
const index$9 = "";
|
|
6571
6591
|
const LayoutItem = ({
|
|
@@ -21592,6 +21612,14 @@ const DefaultRichTextField = enhancer(RichtextBar);
|
|
|
21592
21612
|
const RichTextField = (props) => {
|
|
21593
21613
|
return /* @__PURE__ */ React__default.createElement(DefaultRichTextField, __spreadProps(__spreadValues({}, props), { formItem: { noStyle: true } }));
|
|
21594
21614
|
};
|
|
21615
|
+
const DefaultSlider = (props) => {
|
|
21616
|
+
const _a2 = props, { showLimit } = _a2, rest = __objRest(_a2, ["showLimit"]);
|
|
21617
|
+
if (!showLimit) {
|
|
21618
|
+
return /* @__PURE__ */ React__default.createElement(Slider, __spreadValues({}, rest));
|
|
21619
|
+
}
|
|
21620
|
+
return /* @__PURE__ */ React__default.createElement("div", { style: { display: "flex", flex: "1", alignItems: "center" } }, showLimit && rest.min && /* @__PURE__ */ React__default.createElement(Typography$1.Text, null, rest.min), /* @__PURE__ */ React__default.createElement("div", { style: { flex: "1", marginLeft: 10, marginRight: 10 } }, /* @__PURE__ */ React__default.createElement(Slider, __spreadValues({}, rest))), showLimit && rest.max && /* @__PURE__ */ React__default.createElement(Typography$1.Text, null, rest.max));
|
|
21621
|
+
};
|
|
21622
|
+
const SliderField = enhancer(DefaultSlider);
|
|
21595
21623
|
const TextField = enhancer(Input);
|
|
21596
21624
|
enhancer(Input.Search);
|
|
21597
21625
|
const TextAreaField = enhancer(Input.TextArea);
|
|
@@ -23554,6 +23582,7 @@ const defaultAttributeFields = {
|
|
|
23554
23582
|
PixelField,
|
|
23555
23583
|
SelectField,
|
|
23556
23584
|
ColorPickerField,
|
|
23585
|
+
SliderField,
|
|
23557
23586
|
SwitchField,
|
|
23558
23587
|
ButtonGroupField,
|
|
23559
23588
|
ImageUploaderField,
|
|
@@ -25573,7 +25602,7 @@ const ConfigurationPanel = ({
|
|
|
25573
25602
|
lock
|
|
25574
25603
|
} = useEditorState();
|
|
25575
25604
|
const { quantityLimitCheck } = useEditorProps();
|
|
25576
|
-
const { copyBlock, deleteBlock } = useElementInteract();
|
|
25605
|
+
const { copyBlock, deleteBlock, isChanged, resetSelectedNode } = useElementInteract();
|
|
25577
25606
|
const onCopy = useEventCallback((path2) => {
|
|
25578
25607
|
if (quantityLimitCheck && !quantityLimitCheck({
|
|
25579
25608
|
element: Node$1.get(editor, path2),
|
|
@@ -25647,25 +25676,53 @@ const ConfigurationPanel = ({
|
|
|
25647
25676
|
{
|
|
25648
25677
|
height: `calc(${height} - 60px)`
|
|
25649
25678
|
},
|
|
25650
|
-
lock && /* @__PURE__ */ React__default.createElement(
|
|
25679
|
+
isChanged && lock && /* @__PURE__ */ React__default.createElement(
|
|
25651
25680
|
Alert,
|
|
25652
25681
|
{
|
|
25653
25682
|
type: "warning",
|
|
25654
|
-
content: /* @__PURE__ */ React__default.createElement("div", null,
|
|
25683
|
+
content: /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("span", null, t(
|
|
25684
|
+
`Content has been modified. Please save before leaving.`
|
|
25685
|
+
)), " ", /* @__PURE__ */ React__default.createElement(
|
|
25686
|
+
Popconfirm,
|
|
25687
|
+
{
|
|
25688
|
+
focusLock: true,
|
|
25689
|
+
title: t("Do you want to discard?"),
|
|
25690
|
+
okText: t("Discard"),
|
|
25691
|
+
cancelText: t("Cancel"),
|
|
25692
|
+
style: { zIndex: 9999 },
|
|
25693
|
+
getPopupContainer: () => document.body,
|
|
25694
|
+
okButtonProps: {
|
|
25695
|
+
status: "danger"
|
|
25696
|
+
},
|
|
25697
|
+
onOk: resetSelectedNode
|
|
25698
|
+
},
|
|
25699
|
+
/* @__PURE__ */ React__default.createElement(
|
|
25700
|
+
"span",
|
|
25701
|
+
{
|
|
25702
|
+
style: {
|
|
25703
|
+
color: "rgb(var(--danger-6))",
|
|
25704
|
+
cursor: "pointer"
|
|
25705
|
+
}
|
|
25706
|
+
},
|
|
25707
|
+
t("Discard")
|
|
25708
|
+
)
|
|
25709
|
+
))
|
|
25655
25710
|
}
|
|
25656
25711
|
),
|
|
25657
25712
|
NodeUtils.isUniversalElement(element) && !universalElementEditing ? /* @__PURE__ */ React__default.createElement(UniversalElementPanel, null) : /* @__PURE__ */ React__default.createElement(AttributePanel, null)
|
|
25658
25713
|
));
|
|
25659
25714
|
}, [
|
|
25660
|
-
deleteBlock,
|
|
25661
25715
|
element,
|
|
25662
|
-
height,
|
|
25663
|
-
onClose,
|
|
25664
|
-
onCopy,
|
|
25665
25716
|
selectedNodePath,
|
|
25666
|
-
universalElementEditing,
|
|
25667
25717
|
universalElementPath,
|
|
25668
|
-
lock
|
|
25718
|
+
lock,
|
|
25719
|
+
onClose,
|
|
25720
|
+
height,
|
|
25721
|
+
isChanged,
|
|
25722
|
+
resetSelectedNode,
|
|
25723
|
+
universalElementEditing,
|
|
25724
|
+
onCopy,
|
|
25725
|
+
deleteBlock
|
|
25669
25726
|
]);
|
|
25670
25727
|
};
|
|
25671
25728
|
const index$3 = "";
|
|
@@ -39,6 +39,11 @@ export declare const defaultAttributeFields: {
|
|
|
39
39
|
PixelField: typeof PixelField;
|
|
40
40
|
SelectField: (props: import("../../../Form/enhancer").EnhancerProps & Omit<import("../../../Form/Select").SelectProps, "onChange" | "value">) => JSX.Element;
|
|
41
41
|
ColorPickerField: (props: import("../../../Form/enhancer").EnhancerProps & Omit<import("../../../Form/ColorPicker").ColorPickerProps, "onChange" | "value">) => JSX.Element;
|
|
42
|
+
SliderField: (props: import("../../../Form/enhancer").EnhancerProps & Omit<import("@arco-design/web-react").SliderProps & import("react").RefAttributes<unknown> & {
|
|
43
|
+
value: boolean;
|
|
44
|
+
onChange: (val: boolean) => void;
|
|
45
|
+
showLimit?: boolean | undefined;
|
|
46
|
+
}, "onChange" | "value">) => JSX.Element;
|
|
42
47
|
SwitchField: (props: import("../../../Form/enhancer").EnhancerProps & Omit<import("@arco-design/web-react").SwitchProps & import("react").RefAttributes<unknown>, "onChange" | "value">) => JSX.Element;
|
|
43
48
|
ButtonGroupField: (props: import("../../../Form/enhancer").EnhancerProps & Omit<Partial<{
|
|
44
49
|
htmlType?: "button" | "reset" | "submit" | undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const SliderField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").SliderProps & React.RefAttributes<unknown> & {
|
|
3
|
+
value: boolean;
|
|
4
|
+
onChange: (val: boolean) => void;
|
|
5
|
+
showLimit?: boolean | undefined;
|
|
6
|
+
}, "onChange" | "value">) => JSX.Element;
|
|
@@ -10,6 +10,7 @@ import { WatchField } from "./WatchField";
|
|
|
10
10
|
import { EditPanelTabsField } from "./EditPanelTabsField";
|
|
11
11
|
import { SyncChildrenField } from "./SyncChildrenField";
|
|
12
12
|
import { RichTextField } from "./RichTextField";
|
|
13
|
+
import { SliderField } from "./SliderField";
|
|
13
14
|
export declare const TextField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").InputProps & import("react").RefAttributes<import("@arco-design/web-react/es/Input/interface").RefInputType> & import("@arco-design/web-react/es/_util/hooks/useMergeProps").MergePropsOptions, "onChange" | "value">) => JSX.Element;
|
|
14
15
|
export declare const InputTagField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").InputTagProps<any> & import("react").RefAttributes<{
|
|
15
16
|
focus: () => void;
|
|
@@ -18,9 +19,8 @@ export declare const InputTagField: (props: import("./enhancer").EnhancerProps &
|
|
|
18
19
|
export declare const SearchField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react/es/Input").InputSearchProps & import("react").RefAttributes<import("@arco-design/web-react/es/Input/interface").RefInputType>, "onChange" | "value">) => JSX.Element;
|
|
19
20
|
export declare const TextAreaField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").TextAreaProps & import("react").RefAttributes<import("@arco-design/web-react/es/Input/textarea").RefTextAreaType>, "onChange" | "value">) => JSX.Element;
|
|
20
21
|
export declare const NumberField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").InputNumberProps & import("react").RefAttributes<import("@arco-design/web-react/es/Input/interface").RefInputType>, "onChange" | "value">) => JSX.Element;
|
|
21
|
-
export declare const SliderField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").SliderProps & import("react").RefAttributes<unknown>, "onChange" | "value">) => JSX.Element;
|
|
22
22
|
export declare const SelectField: (props: import("./enhancer").EnhancerProps & Omit<import("./Select").SelectProps, "onChange" | "value">) => JSX.Element;
|
|
23
23
|
export declare const TreeSelectField: (props: import("./enhancer").EnhancerProps & Omit<import("@arco-design/web-react").TreeSelectProps & {
|
|
24
24
|
children?: import("react").ReactNode;
|
|
25
25
|
} & import("react").RefAttributes<import("@arco-design/web-react/es/TreeSelect").RefTreeSelectType>, "onChange" | "value">) => JSX.Element;
|
|
26
|
-
export { enhancer, SwitchField, ButtonField, ButtonGroupField, WatchField, SyncChildrenField, ColorPickerField, ImageUploaderField, EditPanelListField, EditPanelTabsField, RichTextField, };
|
|
26
|
+
export { enhancer, SwitchField, ButtonField, ButtonGroupField, WatchField, SyncChildrenField, ColorPickerField, ImageUploaderField, EditPanelListField, EditPanelTabsField, RichTextField, SliderField, };
|
|
@@ -20,7 +20,7 @@ export interface CategoryGridItem<T extends keyof ElementMap = any> {
|
|
|
20
20
|
blocks: Array<{
|
|
21
21
|
type: Element["type"];
|
|
22
22
|
payload?: Partial<ElementMap[T]>;
|
|
23
|
-
title?: string | undefined;
|
|
23
|
+
title?: string | undefined | null;
|
|
24
24
|
icon?: React.ReactNode;
|
|
25
25
|
}>;
|
|
26
26
|
displayType?: "grid";
|