easy-email-pro-theme 1.50.2 → 1.50.4

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 CHANGED
@@ -63,7 +63,7 @@ import { cloneDeep, get, isEqual, set, omit as omit$2, merge as merge$1, debounc
63
63
  import { Editor, Range, Node, Transforms, Path, Text as Text$2, createEditor } from "slate";
64
64
  import { nanoid } from "nanoid";
65
65
  import { Form, Input, Modal, Collapse, Space, Empty, Card, Grid, Button as Button$2, Drawer, Switch, Typography as Typography$1, Tabs, Radio, Divider as Divider$2, Alert, Popconfirm, Tooltip, Message, PageHeader, Spin, Layout as Layout$2, Popover, Select as Select$1, Slider, InputNumber, Tag, Link as Link$3, List as List$1, Skeleton, Trigger } from "@arco-design/web-react";
66
- import { IconPlus, IconDelete, IconEdit, IconLeft, IconCopy, IconUndo, IconRedo, IconMinus, IconEye, IconSubscribeAdd, IconClose, IconCheckCircleFill, IconDragArrow, IconLock, IconUnlock, IconQuestionCircle, IconLink, IconCloud, IconSend, IconDown } from "@arco-design/web-react/icon";
66
+ import { IconPlus, IconDelete, IconEdit, IconLeft, IconCopy, IconUndo, IconRedo, IconMinus, IconEye, IconSubscribeAdd, IconClose, IconCheckCircleFill, IconDragArrow, IconLock, IconUnlock, IconQuestionCircle, IconLink, IconCloud, IconDragDotVertical, IconSend, IconDown } from "@arco-design/web-react/icon";
67
67
  import { unstable_batchedUpdates, createPortal } from "react-dom";
68
68
  import mjml from "mjml-browser";
69
69
  import { HistoryEditor } from "slate-history";
@@ -8405,10 +8405,8 @@ const Hotkeys = () => {
8405
8405
  const nativeEvent = ev;
8406
8406
  if (Shortcut.isUndo(nativeEvent)) {
8407
8407
  ev.preventDefault();
8408
- editor.undo();
8409
8408
  } else if (Shortcut.isRedo(nativeEvent)) {
8410
8409
  ev.preventDefault();
8411
- editor.redo();
8412
8410
  } else if (Shortcut.isFormatBold(nativeEvent)) {
8413
8411
  ev.preventDefault();
8414
8412
  toggleFormat(editor, TextFormat.BOLD);
@@ -29936,6 +29934,7 @@ var FieldType = /* @__PURE__ */ ((FieldType2) => {
29936
29934
  FieldType2["IMAGE"] = "image";
29937
29935
  FieldType2["SLIDER"] = "slider";
29938
29936
  FieldType2["RICHTEXT"] = "richtext";
29937
+ FieldType2["SWITCH"] = "switch";
29939
29938
  return FieldType2;
29940
29939
  })(FieldType || {});
29941
29940
  const getFieldByType = (type) => {
@@ -29946,7 +29945,8 @@ const getFieldByType = (type) => {
29946
29945
  [FieldType.COLOR]: AttributeField.ColorPickerField,
29947
29946
  [FieldType.IMAGE]: AttributeField.ImageUrl,
29948
29947
  [FieldType.PIXEL]: AttributeField.PixelField,
29949
- [FieldType.SLIDER]: AttributeField.SliderField
29948
+ [FieldType.SLIDER]: AttributeField.SliderField,
29949
+ [FieldType.SWITCH]: AttributeField.SwitchField
29950
29950
  }[type];
29951
29951
  };
29952
29952
  function FieldItem(props) {
@@ -32371,7 +32371,8 @@ const WidgetTypeOptions = [
32371
32371
  { value: FieldType.NUMBER, label: "Number" },
32372
32372
  { value: FieldType.ENUM, label: "Enum" },
32373
32373
  { value: FieldType.COLOR, label: "Color" },
32374
- { value: FieldType.IMAGE, label: "Image" }
32374
+ { value: FieldType.IMAGE, label: "Image" },
32375
+ { value: FieldType.SWITCH, label: "Switch" }
32375
32376
  // { value: FieldType.SLIDER, label: "Slider" },
32376
32377
  // { value: FieldType.PIXEL_AND_PERCENT, label: "Pixel and percent" },
32377
32378
  ];
@@ -32392,6 +32393,21 @@ const formItemStyle = {
32392
32393
  function FieldConfigItem(props) {
32393
32394
  const { getFieldValue } = useEditorContext();
32394
32395
  const keyField = getFieldValue(null, props.name);
32396
+ const {
32397
+ attributes,
32398
+ listeners,
32399
+ setNodeRef,
32400
+ transform,
32401
+ transition,
32402
+ isDragging
32403
+ } = useSortable({
32404
+ id: props.id
32405
+ });
32406
+ const style = {
32407
+ transform: CSS.Transform.toString(transform),
32408
+ transition,
32409
+ opacity: isDragging ? 0 : 1
32410
+ };
32395
32411
  const onHandleRemove = (e) => {
32396
32412
  e.preventDefault();
32397
32413
  e.stopPropagation();
@@ -32400,10 +32416,16 @@ function FieldConfigItem(props) {
32400
32416
  return /* @__PURE__ */ React__default.createElement(
32401
32417
  Collapse.Item,
32402
32418
  {
32403
- style: { backgroundColor: "#fff" },
32419
+ ref: setNodeRef,
32420
+ style: __spreadValues({ backgroundColor: "#fff" }, style),
32404
32421
  name: props.name,
32405
32422
  header: props.label,
32406
- extra: /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconDelete, null), onClick: onHandleRemove }),
32423
+ extra: /* @__PURE__ */ React__default.createElement(Space, null, /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconDelete, null), onClick: onHandleRemove }), /* @__PURE__ */ React__default.createElement(
32424
+ Button$2,
32425
+ __spreadValues(__spreadValues({
32426
+ icon: /* @__PURE__ */ React__default.createElement(IconDragDotVertical, null)
32427
+ }, listeners), attributes)
32428
+ )),
32407
32429
  contentStyle: { width: "100%", padding: "20px 16px" }
32408
32430
  },
32409
32431
  /* @__PURE__ */ React__default.createElement(Grid.Row, null, /* @__PURE__ */ React__default.createElement(Grid.Col, { span: 22, offset: 0 }, /* @__PURE__ */ React__default.createElement(Space, { direction: "vertical", style: { width: "100%" } }, /* @__PURE__ */ React__default.createElement(
@@ -32458,6 +32480,8 @@ function WidgetConfigPanel({
32458
32480
  containerHeight
32459
32481
  }) {
32460
32482
  const { values, setFieldValue, getFieldValue } = useEditorContext();
32483
+ const idsMap = useRef(/* @__PURE__ */ new Map());
32484
+ const [draggingItem, setDraggingItem] = useState(null);
32461
32485
  const widgetElement = values.widgetElement;
32462
32486
  if (!widgetElement) {
32463
32487
  throw new Error(`Invalid widgetElement`);
@@ -32491,175 +32515,243 @@ function WidgetConfigPanel({
32491
32515
  },
32492
32516
  [setFieldValue, widgetElement]
32493
32517
  );
32518
+ const items = useMemo(() => {
32519
+ return widgetElement.data.config.map((item2, index2) => {
32520
+ let id = idsMap.current.get(item2);
32521
+ if (!id) {
32522
+ id = nanoid();
32523
+ idsMap.current.set(item2, id);
32524
+ }
32525
+ return { id, item: item2 };
32526
+ });
32527
+ }, [widgetElement.data.config]);
32528
+ const itemIds = useMemo(() => {
32529
+ return items.map((item2) => item2.id);
32530
+ }, [items]);
32531
+ const onDragStart = useCallback(
32532
+ (event) => {
32533
+ setActiveTab([]);
32534
+ const matchItem = items.find((item2) => {
32535
+ const activeId = event.active.id.toString();
32536
+ return activeId === item2.id;
32537
+ });
32538
+ if (matchItem) {
32539
+ setDraggingItem(matchItem.item);
32540
+ }
32541
+ },
32542
+ [items]
32543
+ );
32544
+ const onDragEnd = useCallback(
32545
+ ({ active, over }) => {
32546
+ if (!active.id || !over) {
32547
+ return;
32548
+ }
32549
+ const activeId = active.id.toString();
32550
+ const overId = over.id.toString();
32551
+ if (activeId !== overId) {
32552
+ const oldIndex = items.findIndex((item2) => item2.id === activeId);
32553
+ const newIndex = items.findIndex((item2) => item2.id === overId);
32554
+ const newConfig = arrayMove(
32555
+ widgetElement.data.config,
32556
+ oldIndex,
32557
+ newIndex
32558
+ );
32559
+ const cloneWidgetElement = cloneDeep(widgetElement);
32560
+ cloneWidgetElement.data.config = cloneDeep(newConfig);
32561
+ setFieldValue(null, `widgetElement`, cloneWidgetElement);
32562
+ }
32563
+ },
32564
+ [items, setFieldValue, widgetElement]
32565
+ );
32494
32566
  const contentEditable = getFieldValue(
32495
32567
  null,
32496
32568
  `widgetElement.data.contentEditable`
32497
32569
  );
32498
- console.log("contentEditable", contentEditable);
32570
+ const overlayContent = useMemo(() => {
32571
+ return /* @__PURE__ */ React__default.createElement(
32572
+ Collapse.Item,
32573
+ {
32574
+ header: draggingItem == null ? void 0 : draggingItem.label,
32575
+ name: "overlayContent",
32576
+ extra: /* @__PURE__ */ React__default.createElement(Space, null, /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconDelete, null) }), /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconDragDotVertical, null) }))
32577
+ }
32578
+ );
32579
+ }, [draggingItem == null ? void 0 : draggingItem.label]);
32499
32580
  return /* @__PURE__ */ React__default.createElement(AttributesPanelWrapper, null, /* @__PURE__ */ React__default.createElement(
32500
- Tabs,
32581
+ DndContext,
32501
32582
  {
32502
- defaultActiveTab: "Setting",
32503
- renderTabHeader: (_, DefaultHeader) => /* @__PURE__ */ React__default.createElement(
32504
- "div",
32505
- {
32506
- className: styles.largeTabsHeader,
32507
- style: { display: "flex", alignItems: "center" }
32508
- },
32509
- /* @__PURE__ */ React__default.createElement(DefaultHeader, { style: { flex: 1 } })
32510
- )
32583
+ collisionDetection: closestCenter,
32584
+ onDragStart,
32585
+ onDragEnd,
32586
+ modifiers: [restrictToVerticalAxis]
32511
32587
  },
32512
- /* @__PURE__ */ React__default.createElement(
32513
- Tabs.TabPane,
32588
+ /* @__PURE__ */ React__default.createElement(SortableContext, { items: itemIds, strategy: verticalListSortingStrategy }, /* @__PURE__ */ React__default.createElement(
32589
+ Tabs,
32514
32590
  {
32515
- key: "Setting",
32516
- style: { padding: 10 },
32517
- title: /* @__PURE__ */ React__default.createElement("div", { style: { height: 40, lineHeight: "40px" } }, "Setting")
32591
+ defaultActiveTab: "Setting",
32592
+ renderTabHeader: (_, DefaultHeader) => /* @__PURE__ */ React__default.createElement(
32593
+ "div",
32594
+ {
32595
+ className: styles.largeTabsHeader,
32596
+ style: { display: "flex", alignItems: "center" }
32597
+ },
32598
+ /* @__PURE__ */ React__default.createElement(DefaultHeader, { style: { flex: 1 } })
32599
+ )
32518
32600
  },
32519
- /* @__PURE__ */ React__default.createElement(Grid.Row, { style: { paddingTop: 20 } }, /* @__PURE__ */ React__default.createElement(Grid.Col, { span: 22, offset: 1 }, /* @__PURE__ */ React__default.createElement(
32520
- AttributeField.TextField,
32601
+ /* @__PURE__ */ React__default.createElement(
32602
+ Tabs.TabPane,
32521
32603
  {
32522
- name: "widgetElement.title",
32523
- label: "Title",
32524
- path: null,
32525
- formItem: {
32526
- layout: "vertical",
32527
- labelCol: {},
32528
- wrapperCol: {}
32604
+ key: "Setting",
32605
+ style: { padding: 10 },
32606
+ title: /* @__PURE__ */ React__default.createElement("div", { style: { height: 40, lineHeight: "40px" } }, "Setting")
32607
+ },
32608
+ /* @__PURE__ */ React__default.createElement(Grid.Row, { style: { paddingTop: 20 } }, /* @__PURE__ */ React__default.createElement(Grid.Col, { span: 22, offset: 1 }, /* @__PURE__ */ React__default.createElement(
32609
+ AttributeField.TextField,
32610
+ {
32611
+ name: "widgetElement.title",
32612
+ label: "Title",
32613
+ path: null,
32614
+ formItem: {
32615
+ layout: "vertical",
32616
+ labelCol: {},
32617
+ wrapperCol: {}
32618
+ }
32529
32619
  }
32530
- }
32531
- ), /* @__PURE__ */ React__default.createElement(
32532
- AttributeField.TextAreaField,
32533
- {
32534
- rows: 3,
32535
- name: "widgetElement.data.description",
32536
- label: "Description",
32537
- fallbackValue: "",
32538
- path: null,
32539
- formItem: {
32540
- layout: "vertical",
32541
- labelCol: {},
32542
- wrapperCol: {}
32543
- }
32544
- }
32545
- ))),
32546
- /* @__PURE__ */ React__default.createElement(Divider$2, null),
32547
- /* @__PURE__ */ React__default.createElement(Grid.Row, null, /* @__PURE__ */ React__default.createElement(Grid.Col, { span: 22, offset: 1 }, /* @__PURE__ */ React__default.createElement(
32548
- AttributeField.SwitchField,
32549
- {
32550
- name: "widgetElement.data.contentEditable",
32551
- label: /* @__PURE__ */ React__default.createElement(Space, null, t("Content editable"), /* @__PURE__ */ React__default.createElement(
32552
- Tooltip,
32553
- {
32554
- content: t(
32555
- `Once enabled, the widget's text and button blocks will be editable directly in the editor`
32556
- )
32557
- },
32558
- /* @__PURE__ */ React__default.createElement(IconQuestionCircle, { style: { fontSize: 16 } })
32559
- )),
32560
- path: null,
32561
- style: { position: "relative", top: 0 },
32562
- formItem: {
32563
- layout: "inline",
32564
- labelCol: {
32565
- span: 10,
32566
- style: {
32567
- textAlign: "left"
32568
- }
32569
- },
32570
- wrapperCol: {
32571
- span: 12,
32572
- style: {
32573
- textAlign: "left"
32574
- }
32620
+ ), /* @__PURE__ */ React__default.createElement(
32621
+ AttributeField.TextAreaField,
32622
+ {
32623
+ rows: 3,
32624
+ name: "widgetElement.data.description",
32625
+ label: "Description",
32626
+ fallbackValue: "",
32627
+ path: null,
32628
+ formItem: {
32629
+ layout: "vertical",
32630
+ labelCol: {},
32631
+ wrapperCol: {}
32575
32632
  }
32576
32633
  }
32577
- }
32578
- ), !contentEditable && /* @__PURE__ */ React__default.createElement(
32579
- AttributeField.SwitchField,
32580
- {
32581
- name: "widgetElement.data.staticLogicEnabled",
32582
- label: /* @__PURE__ */ React__default.createElement(Space, null, t("Static logic enabled"), /* @__PURE__ */ React__default.createElement(
32583
- Tooltip,
32584
- {
32585
- content: t(
32586
- `If enabled, only the input value will be used as the data for dynamic rendering`
32587
- )
32588
- },
32589
- /* @__PURE__ */ React__default.createElement(IconQuestionCircle, { style: { fontSize: 16 } })
32590
- )),
32591
- path: null,
32592
- style: { position: "relative", top: 0, marginBottom: 0 },
32593
- formItem: {
32594
- style: {},
32595
- layout: "inline",
32596
- labelCol: {
32597
- span: 10,
32598
- style: {
32599
- textAlign: "left",
32600
- paddingBottom: 50
32601
- }
32602
- },
32603
- wrapperCol: {
32604
- span: 12,
32605
- style: {
32606
- textAlign: "left"
32634
+ ))),
32635
+ /* @__PURE__ */ React__default.createElement(Divider$2, null),
32636
+ /* @__PURE__ */ React__default.createElement(Grid.Row, null, /* @__PURE__ */ React__default.createElement(Grid.Col, { span: 22, offset: 1 }, /* @__PURE__ */ React__default.createElement(
32637
+ AttributeField.SwitchField,
32638
+ {
32639
+ name: "widgetElement.data.contentEditable",
32640
+ label: /* @__PURE__ */ React__default.createElement(Space, null, t("Content editable"), /* @__PURE__ */ React__default.createElement(
32641
+ Tooltip,
32642
+ {
32643
+ content: t(
32644
+ `Once enabled, the widget's text and button blocks will be editable directly in the editor`
32645
+ )
32646
+ },
32647
+ /* @__PURE__ */ React__default.createElement(IconQuestionCircle, { style: { fontSize: 16 } })
32648
+ )),
32649
+ path: null,
32650
+ style: { position: "relative", top: 0 },
32651
+ formItem: {
32652
+ layout: "inline",
32653
+ labelCol: {
32654
+ span: 10,
32655
+ style: {
32656
+ textAlign: "left"
32657
+ }
32658
+ },
32659
+ wrapperCol: {
32660
+ span: 12,
32661
+ style: {
32662
+ textAlign: "left"
32663
+ }
32607
32664
  }
32608
32665
  }
32609
32666
  }
32610
- }
32611
- )))
32612
- ),
32613
- /* @__PURE__ */ React__default.createElement(
32614
- Tabs.TabPane,
32615
- {
32616
- key: "Input",
32617
- title: /* @__PURE__ */ React__default.createElement(
32618
- "div",
32667
+ ), !contentEditable && /* @__PURE__ */ React__default.createElement(
32668
+ AttributeField.SwitchField,
32619
32669
  {
32620
- style: {
32621
- height: 40,
32622
- lineHeight: "40px",
32623
- paddingLeft: 10,
32624
- paddingRight: 10
32670
+ name: "widgetElement.data.staticLogicEnabled",
32671
+ label: /* @__PURE__ */ React__default.createElement(Space, null, t("Static logic enabled"), /* @__PURE__ */ React__default.createElement(
32672
+ Tooltip,
32673
+ {
32674
+ content: t(
32675
+ `If enabled, only the input value will be used as the data for dynamic rendering`
32676
+ )
32677
+ },
32678
+ /* @__PURE__ */ React__default.createElement(IconQuestionCircle, { style: { fontSize: 16 } })
32679
+ )),
32680
+ path: null,
32681
+ style: { position: "relative", top: 0, marginBottom: 0 },
32682
+ formItem: {
32683
+ style: {},
32684
+ layout: "inline",
32685
+ labelCol: {
32686
+ span: 10,
32687
+ style: {
32688
+ textAlign: "left",
32689
+ paddingBottom: 50
32690
+ }
32691
+ },
32692
+ wrapperCol: {
32693
+ span: 12,
32694
+ style: {
32695
+ textAlign: "left"
32696
+ }
32697
+ }
32625
32698
  }
32626
- },
32627
- /* @__PURE__ */ React__default.createElement(Grid.Row, { justify: "space-between", align: "center" }, /* @__PURE__ */ React__default.createElement("span", null), /* @__PURE__ */ React__default.createElement("span", null, "Input"), /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconPlus, null), onClick: onAdd }))
32628
- )
32629
- },
32699
+ }
32700
+ )))
32701
+ ),
32630
32702
  /* @__PURE__ */ React__default.createElement(
32631
- Collapse,
32703
+ Tabs.TabPane,
32632
32704
  {
32633
- bordered: false,
32634
- activeKey: activeTab,
32635
- onChange: (key2, keys2) => setActiveTab(keys2)
32705
+ key: "Input",
32706
+ title: /* @__PURE__ */ React__default.createElement(
32707
+ "div",
32708
+ {
32709
+ style: {
32710
+ height: 40,
32711
+ lineHeight: "40px",
32712
+ paddingLeft: 10,
32713
+ paddingRight: 10
32714
+ }
32715
+ },
32716
+ /* @__PURE__ */ React__default.createElement(Grid.Row, { justify: "space-between", align: "center" }, /* @__PURE__ */ React__default.createElement("span", null), /* @__PURE__ */ React__default.createElement("span", null, "Input"), /* @__PURE__ */ React__default.createElement(Button$2, { icon: /* @__PURE__ */ React__default.createElement(IconPlus, null), onClick: onAdd }))
32717
+ )
32636
32718
  },
32637
- /* @__PURE__ */ React__default.createElement(Card, { title: "Attributes", bodyStyle: { padding: 0 } }, /* @__PURE__ */ React__default.createElement(
32638
- FullHeightOverlayScrollbars,
32719
+ /* @__PURE__ */ React__default.createElement(
32720
+ Collapse,
32639
32721
  {
32640
- height: `calc(${containerHeight} - 110px)`
32722
+ bordered: false,
32723
+ activeKey: activeTab,
32724
+ onChange: (key2, keys2) => setActiveTab(keys2)
32641
32725
  },
32642
- (widgetElement.data.config || []).map((item2, index2) => /* @__PURE__ */ React__default.createElement(
32643
- FieldConfigItem,
32644
- __spreadProps(__spreadValues({
32645
- path: null,
32646
- key: index2
32647
- }, item2), {
32648
- name: `widgetElement.data.config.${index2}`,
32649
- onRemove: () => onRemove(index2)
32650
- })
32651
- )),
32652
- /* @__PURE__ */ React__default.createElement(
32653
- Collapse.Item,
32726
+ /* @__PURE__ */ React__default.createElement(Card, { title: "Attributes", bodyStyle: { padding: 0 } }, /* @__PURE__ */ React__default.createElement(
32727
+ FullHeightOverlayScrollbars,
32654
32728
  {
32655
- header: "",
32656
- name: "hidden",
32657
- style: { display: "none" }
32658
- }
32659
- )
32660
- ))
32729
+ height: `calc(${containerHeight} - 110px)`
32730
+ },
32731
+ (widgetElement.data.config || []).map((item2, index2) => /* @__PURE__ */ React__default.createElement(
32732
+ FieldConfigItem,
32733
+ __spreadProps(__spreadValues({
32734
+ path: null,
32735
+ key: idsMap.current.get(item2)
32736
+ }, item2), {
32737
+ id: idsMap.current.get(item2),
32738
+ name: `widgetElement.data.config.${index2}`,
32739
+ onRemove: () => onRemove(index2)
32740
+ })
32741
+ )),
32742
+ /* @__PURE__ */ React__default.createElement(
32743
+ Collapse.Item,
32744
+ {
32745
+ header: "",
32746
+ name: "hidden",
32747
+ style: { display: "none" }
32748
+ }
32749
+ )
32750
+ ))
32751
+ )
32661
32752
  )
32662
- )
32753
+ )),
32754
+ /* @__PURE__ */ React__default.createElement(DragOverlay, null, overlayContent)
32663
32755
  ));
32664
32756
  }
32665
32757
  const styleText$a = ".MergeTagComponent-image {\n max-width: 150px;\n}";
@@ -7,4 +7,5 @@ export declare function FieldConfigItem(props: {
7
7
  type: string;
8
8
  path: Path | null;
9
9
  onRemove: () => void;
10
+ id: string;
10
11
  }): React.JSX.Element;
@@ -7,5 +7,6 @@ export declare const enum FieldType {
7
7
  COLOR = "color",
8
8
  IMAGE = "image",
9
9
  SLIDER = "slider",
10
- RICHTEXT = "richtext"
10
+ RICHTEXT = "richtext",
11
+ SWITCH = "switch"
11
12
  }
@@ -7,7 +7,7 @@ export declare const getFieldByType: (type: string) => ((props: EnhancerProps &
7
7
  value: boolean;
8
8
  onChange: (val: boolean) => void;
9
9
  showLimit?: boolean | undefined;
10
- }, "onChange" | "value">) => React.JSX.Element) | typeof import("../../AttributeField/PixelAndPercentField").PixelAndPercentField | typeof import("../../AttributeField/ImageUrl").ImageUrl | undefined;
10
+ }, "onChange" | "value">) => React.JSX.Element) | ((props: EnhancerProps & Omit<import("@arco-design/web-react").SwitchProps & React.RefAttributes<unknown>, "onChange" | "value">) => React.JSX.Element) | typeof import("../../AttributeField/PixelAndPercentField").PixelAndPercentField | typeof import("../../AttributeField/ImageUrl").ImageUrl | undefined;
11
11
  export declare function FieldItem(props: {
12
12
  name: string;
13
13
  label: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-email-pro-theme",
3
- "version": "1.50.2",
3
+ "version": "1.50.4",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib"