easy-email-extensions 3.1.55 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ export declare function ClassName(): JSX.Element;
@@ -0,0 +1,6 @@
1
+ export declare function useFontFamily(): {
2
+ fontList: {
3
+ value: string;
4
+ label: string;
5
+ }[];
6
+ };
package/lib/index2.js CHANGED
@@ -55,12 +55,12 @@ var __async = (__this, __arguments, generator) => {
55
55
  };
56
56
  import * as React from "react";
57
57
  import React__default, { Children, isValidElement, cloneElement, createContext, useContext, Component, useMemo, memo, forwardRef, useEffect, useRef, useLayoutEffect, useState, createRef, useImperativeHandle, PureComponent, useCallback, useReducer, Fragment, createElement, Suspense } from "react";
58
- import { IconFont, useEditorProps, Stack as Stack$6, getBlockNodeByIdx, useBlock, getEditNode, getEditContent, TextStyle, useFocusIdx, useEditorContext, getShadowRoot, FIXED_CONTAINER_ID, useFocusBlockLayout, scrollBlockEleIntoView, useHoverIdx, useDataTransfer, useRefState, getBlockNodeByChildEle, getDirectionPosition, DATA_ATTRIBUTE_DROP_CONTAINER, BlockAvatarWrapper, getEditorRoot, useActiveTab, ActiveTabKeys } from "easy-email-editor";
58
+ import { IconFont, useEditorProps, Stack as Stack$6, getBlockNodeByIdx, useBlock, getEditNode, getEditContent, TextStyle, useEditorContext, useFocusIdx, getShadowRoot, FIXED_CONTAINER_ID, useFocusBlockLayout, scrollBlockEleIntoView, useHoverIdx, useDataTransfer, useRefState, getBlockNodeByChildEle, getDirectionPosition, DATA_ATTRIBUTE_DROP_CONTAINER, BlockAvatarWrapper, getEditorRoot, useActiveTab, ActiveTabKeys } from "easy-email-editor";
59
59
  import { BasicType, ImageManager, BlockManager, createBlockDataByType, getParentByIdx, getParentIdx, getValueByIdx, getIndexByIdx, getSiblingIdx, getNodeIdxFromClassName, getNodeIdxClassName, getPageIdx, getChildIdx, MjmlToJson, JsonToMjml, getNodeTypeFromClassName } from "easy-email-core";
60
60
  import ReactDOM, { findDOMNode, createPortal } from "react-dom";
61
61
  import { useField, Field, useForm as useForm$1, Form as Form$3, version as version$2, useFormState } from "react-final-form";
62
62
  var index$2 = "";
63
- const title = "_title_15b2l_1";
63
+ const title = "_title_1f523_1";
64
64
  var styles$6 = {
65
65
  title
66
66
  };
@@ -38408,14 +38408,14 @@ function RadioGroup(props) {
38408
38408
  value: item2.value
38409
38409
  }, item2.label))));
38410
38410
  }
38411
- const helperText = "_helperText_fadvl_1";
38412
- const labelHidden = "_label-hidden_fadvl_9";
38413
- const editTab = "_editTab_fadvl_20";
38414
- const inputWithUnit = "_inputWithUnit_fadvl_27";
38415
- const inputWithUnitSelectOption = "_inputWithUnitSelectOption_fadvl_35";
38411
+ const helperText = "_helperText_k05ys_1";
38412
+ const labelHidden = "_label-hidden_k05ys_9";
38413
+ const editTab = "_editTab_k05ys_20";
38414
+ const inputWithUnit = "_inputWithUnit_k05ys_27";
38415
+ const inputWithUnitSelectOption = "_inputWithUnitSelectOption_k05ys_35";
38416
38416
  var styles$3 = {
38417
38417
  helperText,
38418
- "label-hidden": "_label-hidden_fadvl_9",
38418
+ "label-hidden": "_label-hidden_k05ys_9",
38419
38419
  labelHidden,
38420
38420
  editTab,
38421
38421
  inputWithUnit,
@@ -38669,20 +38669,30 @@ function classnames(...rest) {
38669
38669
  const { TabPane } = Tabs$1;
38670
38670
  function EditTab(props) {
38671
38671
  const { value, additionItem } = props;
38672
+ const [activeTab, setActiveTab] = useState("0");
38672
38673
  const onAddTab = () => {
38674
+ setActiveTab(value.length.toString());
38673
38675
  props.onChange([...value, additionItem]);
38674
38676
  };
38675
38677
  const onDeleteTab = (index2) => {
38678
+ if (index2 < activeTab) {
38679
+ setActiveTab((Number(activeTab) - 1).toString());
38680
+ }
38681
+ if (index2 === activeTab) {
38682
+ setActiveTab(Number(index2) > 0 ? `${Number(index2) - 1}` : "0");
38683
+ }
38676
38684
  props.onChange(value.filter((_, vIndex) => Number(index2) !== vIndex));
38677
38685
  };
38678
38686
  return /* @__PURE__ */ React__default.createElement(Tabs$1, {
38679
38687
  className: classnames(styles$3.editTab),
38680
38688
  style: { border: "none" },
38681
38689
  type: "card",
38690
+ activeTab,
38682
38691
  tabPosition: props.tabPosition,
38683
38692
  editable: true,
38684
38693
  onAddTab,
38685
- onDeleteTab
38694
+ onDeleteTab,
38695
+ onChange: setActiveTab
38686
38696
  }, (Array.isArray(value) ? value : []).map((item2, index2) => /* @__PURE__ */ React__default.createElement(TabPane, {
38687
38697
  style: { paddingLeft: 12 },
38688
38698
  title: `${props.label || "Tab"} ${index2 + 1}`,
@@ -38947,8 +38957,27 @@ function FontSizeList(props) {
38947
38957
  key: item2.value
38948
38958
  }, item2.label))));
38949
38959
  }
38960
+ function useFontFamily() {
38961
+ const { fontList: defaultFontList } = useEditorProps();
38962
+ const { pageData: pageData2 } = useEditorContext();
38963
+ const addFonts = pageData2.data.value.fonts;
38964
+ const fontList2 = useMemo(() => {
38965
+ const fonts = [];
38966
+ if (defaultFontList) {
38967
+ fonts.push(...defaultFontList);
38968
+ }
38969
+ if (addFonts) {
38970
+ const options2 = addFonts.map((item2) => ({ value: item2.name, label: item2.name }));
38971
+ fonts.unshift(...options2);
38972
+ }
38973
+ return fonts;
38974
+ }, [addFonts, defaultFontList]);
38975
+ return {
38976
+ fontList: fontList2
38977
+ };
38978
+ }
38950
38979
  function FontFamily$1(props) {
38951
- const { fontList: fontList2 = [] } = useEditorProps();
38980
+ const { fontList: fontList2 } = useFontFamily();
38952
38981
  return /* @__PURE__ */ React__default.createElement("div", {
38953
38982
  style: {
38954
38983
  maxWidth: 150,
@@ -39140,13 +39169,11 @@ function AddFont() {
39140
39169
  }, /* @__PURE__ */ React__default.createElement(Stack$6.Item, {
39141
39170
  fill: true
39142
39171
  }, /* @__PURE__ */ React__default.createElement(TextField, {
39143
- inline: true,
39144
39172
  name: `${focusIdx2}.data.value.fonts.${index2}.name`,
39145
39173
  label: "Name"
39146
39174
  })), /* @__PURE__ */ React__default.createElement(Stack$6.Item, {
39147
39175
  fill: true
39148
39176
  }, /* @__PURE__ */ React__default.createElement(TextField, {
39149
- inline: true,
39150
39177
  name: `${focusIdx2}.data.value.fonts.${index2}.href`,
39151
39178
  label: "Href"
39152
39179
  })), /* @__PURE__ */ React__default.createElement(Button$4, {
@@ -39217,8 +39244,8 @@ function EyeIcon() {
39217
39244
  });
39218
39245
  }
39219
39246
  function FontFamily() {
39220
- const { fontList: fontList2 = [] } = useEditorProps();
39221
39247
  const { focusIdx: focusIdx2 } = useFocusIdx();
39248
+ const { fontList: fontList2 } = useFontFamily();
39222
39249
  return useMemo(() => {
39223
39250
  return /* @__PURE__ */ React__default.createElement(AutoCompleteField, {
39224
39251
  style: { minWidth: 100, flex: 1 },
@@ -39298,7 +39325,10 @@ function Page() {
39298
39325
  }, /* @__PURE__ */ React__default.createElement(ColorPickerField, {
39299
39326
  label: "Content background",
39300
39327
  name: `${focusIdx2}.data.value.content-background-color`
39301
- }))), /* @__PURE__ */ React__default.createElement(AddFont, null))))));
39328
+ }))), /* @__PURE__ */ React__default.createElement(TextAreaField, {
39329
+ label: "Style",
39330
+ name: `${focusIdx2}.data.value.user-style.content`
39331
+ }), /* @__PURE__ */ React__default.createElement(AddFont, null))))));
39302
39332
  }
39303
39333
  function Padding(props = {}) {
39304
39334
  const { title: title2 = "Padding", attributeName = "padding" } = props;
@@ -39449,6 +39479,15 @@ function Border() {
39449
39479
  })));
39450
39480
  }, [focusIdx2]);
39451
39481
  }
39482
+ function ClassName() {
39483
+ const { focusIdx: focusIdx2 } = useFocusIdx();
39484
+ return useMemo(() => {
39485
+ return /* @__PURE__ */ React__default.createElement(TextField, {
39486
+ label: "Class name",
39487
+ name: `${focusIdx2}.attributes.css-class`
39488
+ });
39489
+ }, [focusIdx2]);
39490
+ }
39452
39491
  function Section() {
39453
39492
  const { focusIdx: focusIdx2 } = useFocusIdx();
39454
39493
  const { focusBlock: focusBlock2, setFocusBlock } = useBlock();
@@ -39511,7 +39550,12 @@ function Section() {
39511
39550
  }, /* @__PURE__ */ React__default.createElement(Background, null))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39512
39551
  name: "2",
39513
39552
  header: "Border"
39514
- }, /* @__PURE__ */ React__default.createElement(Border, null))));
39553
+ }, /* @__PURE__ */ React__default.createElement(Border, null)), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39554
+ name: "4",
39555
+ header: "Extra"
39556
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
39557
+ span: 24
39558
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
39515
39559
  }
39516
39560
  function Width({
39517
39561
  inline = false,
@@ -39581,7 +39625,12 @@ function Column() {
39581
39625
  }, /* @__PURE__ */ React__default.createElement(Background, null)), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39582
39626
  name: "2",
39583
39627
  header: "Border"
39584
- }, /* @__PURE__ */ React__default.createElement(Border, null))));
39628
+ }, /* @__PURE__ */ React__default.createElement(Border, null)), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39629
+ name: "4",
39630
+ header: "Extra"
39631
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
39632
+ span: 24
39633
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
39585
39634
  }
39586
39635
  const options$9 = [
39587
39636
  {
@@ -39926,7 +39975,12 @@ function Text() {
39926
39975
  }), /* @__PURE__ */ React__default.createElement(Grid.Col, {
39927
39976
  offset: 1,
39928
39977
  span: 11
39929
- }))))), /* @__PURE__ */ React__default.createElement(HtmlEditor, {
39978
+ })))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39979
+ name: "4",
39980
+ header: "Extra"
39981
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
39982
+ span: 24
39983
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))), /* @__PURE__ */ React__default.createElement(HtmlEditor, {
39930
39984
  visible,
39931
39985
  setVisible
39932
39986
  }));
@@ -40018,7 +40072,12 @@ function Image$1() {
40018
40072
  }, /* @__PURE__ */ React__default.createElement(TextField, {
40019
40073
  label: "alt",
40020
40074
  name: `${focusIdx2}.attributes.alt`
40021
- }))))));
40075
+ }))), /* @__PURE__ */ React__default.createElement(Grid.Col, {
40076
+ span: 24
40077
+ }, /* @__PURE__ */ React__default.createElement(TextField, {
40078
+ label: "class name",
40079
+ name: `${focusIdx2}.attributes.css-class`
40080
+ })))));
40022
40081
  }
40023
40082
  function Group() {
40024
40083
  return /* @__PURE__ */ React__default.createElement(AttributesPanelWrapper, null, /* @__PURE__ */ React__default.createElement(Collapse$1, {
@@ -40039,7 +40098,12 @@ function Group() {
40039
40098
  }, /* @__PURE__ */ React__default.createElement(BackgroundColor, null)), /* @__PURE__ */ React__default.createElement(Grid.Col, {
40040
40099
  offset: 1,
40041
40100
  span: 11
40042
- })))));
40101
+ }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40102
+ name: "4",
40103
+ header: "Extra"
40104
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40105
+ span: 24
40106
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40043
40107
  }
40044
40108
  const options$5 = [
40045
40109
  {
@@ -40512,7 +40576,12 @@ function Button() {
40512
40576
  }, /* @__PURE__ */ React__default.createElement(LetterSpacing, null))), /* @__PURE__ */ React__default.createElement(Align, null), /* @__PURE__ */ React__default.createElement(FontStyle, null))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40513
40577
  name: "3",
40514
40578
  header: "Border"
40515
- }, /* @__PURE__ */ React__default.createElement(Border, null))));
40579
+ }, /* @__PURE__ */ React__default.createElement(Border, null)), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40580
+ name: "4",
40581
+ header: "Extra"
40582
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40583
+ span: 24
40584
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40516
40585
  }
40517
40586
  function Divider() {
40518
40587
  return /* @__PURE__ */ React__default.createElement(AttributesPanelWrapper, null, /* @__PURE__ */ React__default.createElement(Collapse$1, {
@@ -40551,7 +40620,12 @@ function Divider() {
40551
40620
  })), /* @__PURE__ */ React__default.createElement(Grid.Col, {
40552
40621
  offset: 1,
40553
40622
  span: 11
40554
- })))));
40623
+ }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40624
+ name: "4",
40625
+ header: "Extra"
40626
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40627
+ span: 24
40628
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40555
40629
  }
40556
40630
  function Wrapper() {
40557
40631
  const { focusIdx: focusIdx2 } = useFocusIdx();
@@ -40585,7 +40659,12 @@ function Wrapper() {
40585
40659
  label: "Background border radius",
40586
40660
  name: `${focusIdx2}.attributes.border-radius`,
40587
40661
  inline: true
40588
- })))));
40662
+ }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40663
+ name: "4",
40664
+ header: "Extra"
40665
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40666
+ span: 24
40667
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40589
40668
  }
40590
40669
  function Spacer() {
40591
40670
  return /* @__PURE__ */ React__default.createElement(AttributesPanelWrapper, null, /* @__PURE__ */ React__default.createElement(Collapse$1, {
@@ -40600,7 +40679,12 @@ function Spacer() {
40600
40679
  header: "Background"
40601
40680
  }, /* @__PURE__ */ React__default.createElement(ContainerBackgroundColor, {
40602
40681
  title: "Background color"
40603
- }))));
40682
+ })), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40683
+ name: "4",
40684
+ header: "Extra"
40685
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40686
+ span: 24
40687
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40604
40688
  }
40605
40689
  function Raw() {
40606
40690
  const { focusIdx: focusIdx2 } = useFocusIdx();
@@ -40690,7 +40774,12 @@ function Accordion() {
40690
40774
  }))), /* @__PURE__ */ React__default.createElement(TextField, {
40691
40775
  label: "border",
40692
40776
  name: `${focusIdx2}.attributes.border`
40693
- })))));
40777
+ }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
40778
+ name: "4",
40779
+ header: "Extra"
40780
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
40781
+ span: 24
40782
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40694
40783
  }
40695
40784
  function AccordionElement() {
40696
40785
  const { focusIdx: focusIdx2 } = useFocusIdx();
@@ -40913,7 +41002,12 @@ function Carousel() {
40913
41002
  }, /* @__PURE__ */ React__default.createElement(TextField, {
40914
41003
  label: "Border radius of the thumbnails",
40915
41004
  name: `${focusIdx2}.attributes.tb-border-radius`
40916
- }))))));
41005
+ })))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
41006
+ name: "4",
41007
+ header: "Extra"
41008
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
41009
+ span: 24
41010
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
40917
41011
  }
40918
41012
  function CarouselImage({
40919
41013
  item: item2,
@@ -41020,7 +41114,12 @@ function Hero() {
41020
41114
  unitOptions: "percent"
41021
41115
  })), /* @__PURE__ */ React__default.createElement(Grid.Col, {
41022
41116
  span: 11
41023
- }, /* @__PURE__ */ React__default.createElement(BackgroundColor, null)))))));
41117
+ }, /* @__PURE__ */ React__default.createElement(BackgroundColor, null))))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
41118
+ name: "4",
41119
+ header: "Extra"
41120
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
41121
+ span: 24
41122
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
41024
41123
  }
41025
41124
  function Navbar() {
41026
41125
  const { focusIdx: focusIdx2 } = useFocusIdx();
@@ -41054,7 +41153,12 @@ function Navbar() {
41054
41153
  color: "#1890ff",
41055
41154
  "font-size": "13px"
41056
41155
  }
41057
- }))));
41156
+ })), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
41157
+ name: "4",
41158
+ header: "Extra"
41159
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
41160
+ span: 24
41161
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
41058
41162
  }
41059
41163
  function NavbarLink({
41060
41164
  item: item2,
@@ -41196,7 +41300,12 @@ function Social() {
41196
41300
  }), /* @__PURE__ */ React__default.createElement(Padding, {
41197
41301
  attributeName: "text-padding",
41198
41302
  title: "Text padding"
41199
- })))));
41303
+ }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
41304
+ name: "4",
41305
+ header: "Extra"
41306
+ }, /* @__PURE__ */ React__default.createElement(Grid.Col, {
41307
+ span: 24
41308
+ }, /* @__PURE__ */ React__default.createElement(ClassName, null)))));
41200
41309
  }
41201
41310
  function SocialElement({
41202
41311
  index: index2
@@ -42062,7 +42171,12 @@ function BlockLayer(props) {
42062
42171
  style: { fontSize: 12, color: "#999" }
42063
42172
  }), /* @__PURE__ */ React__default.createElement("div", {
42064
42173
  title: lodash.exports.isString(title2) ? title2 : "",
42065
- style: { overflow: "hidden", whiteSpace: "nowrap", width: "5em" }
42174
+ style: {
42175
+ overflow: "hidden",
42176
+ whiteSpace: "nowrap",
42177
+ width: "5em",
42178
+ textOverflow: "ellipsis"
42179
+ }
42066
42180
  }, /* @__PURE__ */ React__default.createElement(TextStyle, {
42067
42181
  size: "smallest"
42068
42182
  }, title2))), /* @__PURE__ */ React__default.createElement("div", {
@@ -44899,7 +45013,6 @@ function TipNode(props) {
44899
45013
  }
44900
45014
  }, type === "hover" && /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", {
44901
45015
  style: {
44902
- position: "fixed",
44903
45016
  backgroundColor: color,
44904
45017
  color: "#ffffff",
44905
45018
  height: "22px",
@@ -44908,7 +45021,8 @@ function TipNode(props) {
44908
45021
  padding: "1px 5px",
44909
45022
  boxSizing: "border-box",
44910
45023
  whiteSpace: "nowrap",
44911
- transform: "translateX(-100%)"
45024
+ transform: "translateX(-100%)",
45025
+ fontFamily: "sans-serif"
44912
45026
  }
44913
45027
  }, title2))), props.isDragging && /* @__PURE__ */ React__default.createElement("div", {
44914
45028
  style: __spreadValues({