@go-mailer/easy-email-extensions 5.0.0 → 5.0.2
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/components/Form/RichTextToolBar/components/Heading/index.d.ts +5 -3
- package/lib/components/Form/RichTextToolBar/components/Personalization/index.d.ts +6 -0
- package/lib/hooks/usePersonalization.d.ts +7 -0
- package/lib/index2.js +159 -0
- package/lib/index2.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export interface HeadingProps {
|
|
3
|
+
execCommand: (cmd: string, value: any) => void;
|
|
4
|
+
getPopupContainer: () => HTMLElement;
|
|
5
|
+
}
|
|
6
|
+
export declare function Heading(props: HeadingProps): React.JSX.Element;
|
package/lib/index2.js
CHANGED
|
@@ -38066,6 +38066,79 @@ function Link$1(props) {
|
|
|
38066
38066
|
}));
|
|
38067
38067
|
});
|
|
38068
38068
|
}
|
|
38069
|
+
function Heading(props) {
|
|
38070
|
+
const list2 = [
|
|
38071
|
+
{
|
|
38072
|
+
value: "H1",
|
|
38073
|
+
label: "Heading 1"
|
|
38074
|
+
},
|
|
38075
|
+
{
|
|
38076
|
+
value: "H2",
|
|
38077
|
+
label: "Heading 2"
|
|
38078
|
+
},
|
|
38079
|
+
{
|
|
38080
|
+
value: "H3",
|
|
38081
|
+
label: "Heading 3"
|
|
38082
|
+
},
|
|
38083
|
+
{
|
|
38084
|
+
value: "H4",
|
|
38085
|
+
label: "Heading 4"
|
|
38086
|
+
},
|
|
38087
|
+
{
|
|
38088
|
+
value: "H5",
|
|
38089
|
+
label: "Heading 5"
|
|
38090
|
+
},
|
|
38091
|
+
{
|
|
38092
|
+
value: "H6",
|
|
38093
|
+
label: "Heading 6"
|
|
38094
|
+
},
|
|
38095
|
+
{
|
|
38096
|
+
value: "P",
|
|
38097
|
+
label: t("Paragraph")
|
|
38098
|
+
}
|
|
38099
|
+
];
|
|
38100
|
+
const { execCommand } = props;
|
|
38101
|
+
const [visible, setVisible] = React__default.useState(false);
|
|
38102
|
+
const onChange = useCallback(
|
|
38103
|
+
(val) => {
|
|
38104
|
+
execCommand("formatBlock", val);
|
|
38105
|
+
setVisible(false);
|
|
38106
|
+
},
|
|
38107
|
+
[execCommand]
|
|
38108
|
+
);
|
|
38109
|
+
const onVisibleChange = useCallback((v2) => {
|
|
38110
|
+
setVisible(v2);
|
|
38111
|
+
}, []);
|
|
38112
|
+
return /* @__PURE__ */ React__default.createElement(Popover$1, {
|
|
38113
|
+
trigger: "click",
|
|
38114
|
+
color: "#fff",
|
|
38115
|
+
position: "left",
|
|
38116
|
+
className: "easy-email-extensions-Tools-Popover",
|
|
38117
|
+
popupVisible: visible,
|
|
38118
|
+
onVisibleChange,
|
|
38119
|
+
content: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
38120
|
+
style: {
|
|
38121
|
+
maxWidth: 200,
|
|
38122
|
+
maxHeight: 350,
|
|
38123
|
+
overflowY: "auto",
|
|
38124
|
+
overflowX: "hidden"
|
|
38125
|
+
}
|
|
38126
|
+
}, /* @__PURE__ */ React__default.createElement(Menu$1, {
|
|
38127
|
+
onClickMenuItem: onChange,
|
|
38128
|
+
selectedKeys: [],
|
|
38129
|
+
style: { border: "none" }
|
|
38130
|
+
}, list2.map((item2) => /* @__PURE__ */ React__default.createElement(Menu$1.Item, {
|
|
38131
|
+
style: { lineHeight: "30px", height: 30 },
|
|
38132
|
+
key: item2.value
|
|
38133
|
+
}, item2.label))))),
|
|
38134
|
+
getPopupContainer: props.getPopupContainer
|
|
38135
|
+
}, /* @__PURE__ */ React__default.createElement(ToolItem$1, {
|
|
38136
|
+
title: t("Heading"),
|
|
38137
|
+
icon: /* @__PURE__ */ React__default.createElement(IconFont, {
|
|
38138
|
+
iconName: "icon-heading"
|
|
38139
|
+
})
|
|
38140
|
+
}));
|
|
38141
|
+
}
|
|
38069
38142
|
function useFontFamily() {
|
|
38070
38143
|
const { fontList: defaultFontList } = useEditorProps();
|
|
38071
38144
|
const { pageData: pageData2 } = useEditorContext();
|
|
@@ -42580,6 +42653,75 @@ function FontSize(props) {
|
|
|
42580
42653
|
})
|
|
42581
42654
|
}));
|
|
42582
42655
|
}
|
|
42656
|
+
function usePersonalization() {
|
|
42657
|
+
const { personalizations: defaultPersonalizations } = useEditorProps();
|
|
42658
|
+
const { pageData: pageData2 } = useEditorContext();
|
|
42659
|
+
const personalizationsOptions = pageData2.data.value.personalization;
|
|
42660
|
+
const personalizations = useMemo(() => {
|
|
42661
|
+
const placeholders = [];
|
|
42662
|
+
if (defaultPersonalizations) {
|
|
42663
|
+
placeholders.push(...defaultPersonalizations);
|
|
42664
|
+
}
|
|
42665
|
+
if (personalizationsOptions) {
|
|
42666
|
+
const options2 = personalizationsOptions.map((item2) => ({
|
|
42667
|
+
value: item2.value,
|
|
42668
|
+
label: item2.label
|
|
42669
|
+
}));
|
|
42670
|
+
placeholders.unshift(...options2);
|
|
42671
|
+
}
|
|
42672
|
+
return placeholders.map((item2) => ({
|
|
42673
|
+
value: item2.value,
|
|
42674
|
+
label: /* @__PURE__ */ React__default.createElement("span", null, item2.label)
|
|
42675
|
+
}));
|
|
42676
|
+
}, [personalizationsOptions, defaultPersonalizations]);
|
|
42677
|
+
return {
|
|
42678
|
+
personalizations
|
|
42679
|
+
};
|
|
42680
|
+
}
|
|
42681
|
+
function Personalization(props) {
|
|
42682
|
+
const { personalizations } = usePersonalization();
|
|
42683
|
+
const { execCommand } = props;
|
|
42684
|
+
const [visible, setVisible] = React__default.useState(false);
|
|
42685
|
+
const onChange = useCallback(
|
|
42686
|
+
(val) => {
|
|
42687
|
+
execCommand("insertText", val);
|
|
42688
|
+
setVisible(false);
|
|
42689
|
+
},
|
|
42690
|
+
[execCommand]
|
|
42691
|
+
);
|
|
42692
|
+
const onVisibleChange = useCallback((v2) => {
|
|
42693
|
+
setVisible(v2);
|
|
42694
|
+
}, []);
|
|
42695
|
+
return /* @__PURE__ */ React__default.createElement(Popover$1, {
|
|
42696
|
+
trigger: "click",
|
|
42697
|
+
color: "#fff",
|
|
42698
|
+
position: "left",
|
|
42699
|
+
className: "easy-email-extensions-Tools-Popover",
|
|
42700
|
+
popupVisible: visible,
|
|
42701
|
+
onVisibleChange,
|
|
42702
|
+
content: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("style", null, styleText$2), /* @__PURE__ */ React__default.createElement("div", {
|
|
42703
|
+
style: {
|
|
42704
|
+
maxWidth: 200,
|
|
42705
|
+
maxHeight: 350,
|
|
42706
|
+
overflowY: "auto",
|
|
42707
|
+
overflowX: "hidden"
|
|
42708
|
+
}
|
|
42709
|
+
}, /* @__PURE__ */ React__default.createElement(Menu$1, {
|
|
42710
|
+
onClickMenuItem: onChange,
|
|
42711
|
+
selectedKeys: [],
|
|
42712
|
+
style: { border: "none", padding: 0 }
|
|
42713
|
+
}, personalizations.map((item2) => /* @__PURE__ */ React__default.createElement(Menu$1.Item, {
|
|
42714
|
+
style: { lineHeight: "30px", height: 30 },
|
|
42715
|
+
key: item2.value
|
|
42716
|
+
}, item2.label))))),
|
|
42717
|
+
getPopupContainer: props.getPopupContainer
|
|
42718
|
+
}, /* @__PURE__ */ React__default.createElement(ToolItem$1, {
|
|
42719
|
+
title: t("Add Message Personalization"),
|
|
42720
|
+
icon: /* @__PURE__ */ React__default.createElement(IconFont, {
|
|
42721
|
+
iconName: "icon-personalization"
|
|
42722
|
+
})
|
|
42723
|
+
}));
|
|
42724
|
+
}
|
|
42583
42725
|
function Tools(props) {
|
|
42584
42726
|
var _a2, _b2;
|
|
42585
42727
|
const { mergeTags: mergeTags2, enabledMergeTagsBadge, toolbar } = useEditorProps();
|
|
@@ -42658,6 +42800,7 @@ function Tools(props) {
|
|
|
42658
42800
|
const getPopoverMountNode = () => document.getElementById(FIXED_CONTAINER_ID);
|
|
42659
42801
|
const enabledTools = (_a2 = toolbar == null ? void 0 : toolbar.tools) != null ? _a2 : [
|
|
42660
42802
|
AvailableTools.MergeTags,
|
|
42803
|
+
AvailableTools.Heading,
|
|
42661
42804
|
AvailableTools.FontFamily,
|
|
42662
42805
|
AvailableTools.FontSize,
|
|
42663
42806
|
AvailableTools.Bold,
|
|
@@ -42684,6 +42827,14 @@ function Tools(props) {
|
|
|
42684
42827
|
getPopupContainer: getPopoverMountNode
|
|
42685
42828
|
})
|
|
42686
42829
|
];
|
|
42830
|
+
case AvailableTools.Heading:
|
|
42831
|
+
return [
|
|
42832
|
+
/* @__PURE__ */ React__default.createElement(Heading, {
|
|
42833
|
+
key: tool,
|
|
42834
|
+
execCommand,
|
|
42835
|
+
getPopupContainer: getPopoverMountNode
|
|
42836
|
+
})
|
|
42837
|
+
];
|
|
42687
42838
|
case AvailableTools.FontFamily:
|
|
42688
42839
|
return [
|
|
42689
42840
|
/* @__PURE__ */ React__default.createElement(FontFamily$1, {
|
|
@@ -42819,6 +42970,14 @@ function Tools(props) {
|
|
|
42819
42970
|
title: t("Line")
|
|
42820
42971
|
})
|
|
42821
42972
|
];
|
|
42973
|
+
case AvailableTools.Personalization:
|
|
42974
|
+
return [
|
|
42975
|
+
/* @__PURE__ */ React__default.createElement(Personalization, {
|
|
42976
|
+
key: tool,
|
|
42977
|
+
execCommand,
|
|
42978
|
+
getPopupContainer: getPopoverMountNode
|
|
42979
|
+
})
|
|
42980
|
+
];
|
|
42822
42981
|
case AvailableTools.RemoveFormat:
|
|
42823
42982
|
return [
|
|
42824
42983
|
/* @__PURE__ */ React__default.createElement(ToolItem$1, {
|