easy-email-extensions 3.1.34 → 3.1.39

Sign up to get free protection for your applications and to get access to all the features.
package/lib/index2.js CHANGED
@@ -56,11 +56,11 @@ var __async = (__this, __arguments, generator) => {
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
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";
59
- import { BasicType, ImageManager, BlockManager, getParentIdx, createBlockDataByType, getParentByIdx, getValueByIdx, getIndexByIdx, getSiblingIdx, getNodeIdxFromClassName, getNodeIdxClassName, getPageIdx, getChildIdx, MjmlToJson, JsonToMjml, getNodeTypeFromClassName } from "easy-email-core";
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_15yi1_1";
63
+ const title = "_title_15b2l_1";
64
64
  var styles$6 = {
65
65
  title
66
66
  };
@@ -31277,10 +31277,10 @@ function previewLoadImage(url) {
31277
31277
  });
31278
31278
  }
31279
31279
  const defaultImagesMap$1 = {
31280
- IMAGE_59: "https://assets.maocanhua.cn/06ca521d-9728-4de6-a709-1b75a828bfc3-2a9b1224-3d71-43b8-b52f-e7cdcdc9107b.png",
31281
- AttributePanel_01: "https://assets.maocanhua.cn/e22f78f2-aa76-408d-ba94-c95c7abe1908-image.png",
31282
- AttributePanel_02: "https://assets.maocanhua.cn/3e952a6e-2506-470e-b395-3e0d995157c5.png",
31283
- AttributePanel_03: "https://assets.maocanhua.cn/Fi_vI4vyLhTM-Tp6ivq4dR_ieGHk"
31280
+ IMAGE_59: "https://easy-email-m-ryan.vercel.app/images/06ca521d-9728-4de6-a709-1b75a828bfc3-2a9b1224-3d71-43b8-b52f-e7cdcdc9107b.png",
31281
+ AttributePanel_01: "https://easy-email-m-ryan.vercel.app/images/e22f78f2-aa76-408d-ba94-c95c7abe1908-image.png",
31282
+ AttributePanel_02: "https://easy-email-m-ryan.vercel.app/images/3e952a6e-2506-470e-b395-3e0d995157c5.png",
31283
+ AttributePanel_03: "https://easy-email-m-ryan.vercel.app/images/Fi_vI4vyLhTM-Tp6ivq4dR_ieGHk"
31284
31284
  };
31285
31285
  ImageManager.add(defaultImagesMap$1);
31286
31286
  function getImg$1(name) {
@@ -38463,9 +38463,7 @@ function enhancer(Component2, changeAdapter) {
38463
38463
  const [currentValue, setCurrentValue] = useState(value);
38464
38464
  const debounceCallbackChange = useCallback(lodash.exports.debounce((val) => {
38465
38465
  onChange(val);
38466
- }, 100, {
38467
- maxWait: 500
38468
- }), [onChange]);
38466
+ }, 500, {}), [onChange]);
38469
38467
  useEffect(() => {
38470
38468
  setCurrentValue(value);
38471
38469
  }, [value]);
@@ -39157,105 +39155,10 @@ function AddFont() {
39157
39155
  }
39158
39156
  });
39159
39157
  }
39160
- function getContextMergeTags(mergeTags2, context, idx) {
39161
- const loop2 = (currentIdx, combineMergeTags) => {
39162
- var _a, _b;
39163
- const parentBlockData = lodash.exports.get(context, currentIdx);
39164
- if (!parentBlockData)
39165
- return combineMergeTags;
39166
- const parentBlock = BlockManager.getBlockByType(parentBlockData.type);
39167
- if (parentBlock && parentBlock.render) {
39168
- const dataSource = (_b = (_a = parentBlockData.data) == null ? void 0 : _a.value) == null ? void 0 : _b.dataSource;
39169
- if (!dataSource)
39170
- return combineMergeTags;
39171
- Object.keys(dataSource).forEach((key) => {
39172
- let formatKey = dataSource[key];
39173
- const loopFormatKey = (currentLoopKeyIdx) => {
39174
- const currentParentIdx = getParentIdx(currentLoopKeyIdx);
39175
- if (currentParentIdx) {
39176
- const currentBlockData = lodash.exports.get(context, currentParentIdx);
39177
- if (!currentBlockData)
39178
- return formatKey;
39179
- currentBlockData.data.value.dataSource && Object.keys(currentBlockData.data.value.dataSource).forEach((item2) => {
39180
- formatKey = formatKey.replace(item2, currentBlockData.data.value.dataSource[item2].replace(/{{([^}}]+)}}/g, "$1"));
39181
- });
39182
- loopFormatKey(currentParentIdx);
39183
- }
39184
- };
39185
- loopFormatKey(currentIdx);
39186
- const dataSourcePath = formatKey.replace(/{{([^}}]+)}}/g, "$1");
39187
- combineMergeTags = __spreadValues({
39188
- [key]: lodash.exports.get(combineMergeTags, dataSourcePath)
39189
- }, combineMergeTags);
39190
- });
39191
- }
39192
- const parentIdx = getParentIdx(currentIdx);
39193
- if (!parentIdx)
39194
- return combineMergeTags;
39195
- return loop2(parentIdx, combineMergeTags);
39196
- };
39197
- return loop2(idx, lodash.exports.cloneDeep(mergeTags2));
39198
- }
39199
- const MergeTags = React__default.memo((props) => {
39200
- const { focusIdx: focusIdx2 } = useFocusIdx();
39201
- const {
39202
- mergeTags: mergeTags2 = {},
39203
- mergeTagGenerate = (m) => `{{${m}}}`,
39204
- renderMergeTagContent
39205
- } = useEditorProps();
39206
- const { values: values2 } = useBlock();
39207
- const contextMergeTags = useMemo(() => getContextMergeTags(mergeTags2, values2, focusIdx2), [mergeTags2, values2, focusIdx2]);
39208
- const treeOptions = useMemo(() => {
39209
- const treeData = [];
39210
- const deep = (key, title2, parent2, mapData = []) => {
39211
- const currentMapData = {
39212
- key: mergeTagGenerate(key),
39213
- value: mergeTagGenerate(key),
39214
- title: title2,
39215
- disabled: lodash.exports.isObject(parent2[key]) || !parent2[title2],
39216
- children: []
39217
- };
39218
- mapData.push(currentMapData);
39219
- const current = parent2[title2];
39220
- if (current && typeof current === "object") {
39221
- Object.keys(current).map((childKey) => deep(key + "." + childKey, childKey, current, currentMapData.children));
39222
- }
39223
- };
39224
- Object.keys(contextMergeTags).map((key) => deep(key, key, contextMergeTags, treeData));
39225
- return treeData;
39226
- }, [contextMergeTags, mergeTagGenerate]);
39227
- const onSelect = useCallback((value) => {
39228
- return props.onChange(value);
39229
- }, [props]);
39230
- const mergeTagContent = useMemo(() => renderMergeTagContent ? renderMergeTagContent({
39231
- onChange: props.onChange,
39232
- isSelect: Boolean(props.isSelect),
39233
- value: props.value
39234
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), [renderMergeTagContent, props.onChange, props.isSelect, props.value]);
39235
- if (renderMergeTagContent) {
39236
- return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mergeTagContent);
39237
- }
39238
- return /* @__PURE__ */ React__default.createElement("div", {
39239
- style: { color: "#333" }
39240
- }, props.isSelect ? /* @__PURE__ */ React__default.createElement(TreeSelect$1, {
39241
- value: props.value,
39242
- size: "small",
39243
- dropdownMenuStyle: { maxHeight: 400, overflow: "auto" },
39244
- placeholder: "Please select",
39245
- treeData: treeOptions,
39246
- onChange: (val) => onSelect(val)
39247
- }) : /* @__PURE__ */ React__default.createElement(Tree$1, {
39248
- defaultExpandedKeys: [],
39249
- selectedKeys: [],
39250
- treeData: treeOptions,
39251
- onSelect: (vals) => onSelect(vals[0])
39252
- }));
39253
- });
39254
39158
  const AttributesPanelWrapper = (props) => {
39255
39159
  const { focusBlock: focusBlock2, setFocusBlock } = useBlock();
39256
- const { mergeTags: mergeTags2 } = useEditorProps();
39257
39160
  const block2 = focusBlock2 && BlockManager.getBlockByType(focusBlock2.type);
39258
- const onChangeHidden = useCallback((val) => {
39161
+ useCallback((val) => {
39259
39162
  if (!focusBlock2)
39260
39163
  return;
39261
39164
  focusBlock2.data.hidden = val;
@@ -39283,13 +39186,7 @@ const AttributesPanelWrapper = (props) => {
39283
39186
  }, /* @__PURE__ */ React__default.createElement(EyeIcon, null), /* @__PURE__ */ React__default.createElement(TextStyle, {
39284
39187
  variation: "strong",
39285
39188
  size: "large"
39286
- }, `${block2.name} attributes`)), /* @__PURE__ */ React__default.createElement(Stack$6.Item, null, props.extra))), Boolean(focusBlock2.data.hidden) && mergeTags2 && /* @__PURE__ */ React__default.createElement(Stack$6, {
39287
- spacing: "extraTight"
39288
- }, /* @__PURE__ */ React__default.createElement(TextStyle, null, "Hide if"), /* @__PURE__ */ React__default.createElement(MergeTags, {
39289
- isSelect: true,
39290
- onChange: onChangeHidden,
39291
- value: String(focusBlock2.data.hidden)
39292
- })))), /* @__PURE__ */ React__default.createElement("div", {
39189
+ }, `${block2.name} attributes`)), /* @__PURE__ */ React__default.createElement(Stack$6.Item, null, props.extra))))), /* @__PURE__ */ React__default.createElement("div", {
39293
39190
  style: __spreadValues({ padding: "0px" }, props.style)
39294
39191
  }, props.children));
39295
39192
  };
@@ -39362,12 +39259,6 @@ function Page() {
39362
39259
  helpText: "Allows you to control on which breakpoint the layout should go desktop/mobile.",
39363
39260
  name: `${focusIdx2}.data.value.breakpoint`,
39364
39261
  inline: true
39365
- }), /* @__PURE__ */ React__default.createElement(SwitchField, {
39366
- inline: true,
39367
- label: "Responsive",
39368
- name: `${focusIdx2}.data.value.responsive`,
39369
- checkedText: "True",
39370
- uncheckedText: "False"
39371
39262
  }))), /* @__PURE__ */ React__default.createElement(Collapse$1.Item, {
39372
39263
  name: "1",
39373
39264
  header: "Theme Setting"
@@ -40303,6 +40194,117 @@ function BorderColor() {
40303
40194
  });
40304
40195
  }, [focusIdx2]);
40305
40196
  }
40197
+ function getContextMergeTags(mergeTags2, context, idx) {
40198
+ const loop2 = (currentIdx, combineMergeTags) => {
40199
+ var _a, _b;
40200
+ const parentBlockData = lodash.exports.get(context, currentIdx);
40201
+ if (!parentBlockData)
40202
+ return combineMergeTags;
40203
+ const parentBlock = BlockManager.getBlockByType(parentBlockData.type);
40204
+ if (parentBlock && parentBlock.render) {
40205
+ const dataSource = (_b = (_a = parentBlockData.data) == null ? void 0 : _a.value) == null ? void 0 : _b.dataSource;
40206
+ if (!dataSource)
40207
+ return combineMergeTags;
40208
+ Object.keys(dataSource).forEach((key) => {
40209
+ let formatKey = dataSource[key];
40210
+ const loopFormatKey = (currentLoopKeyIdx) => {
40211
+ const currentParentIdx = getParentIdx(currentLoopKeyIdx);
40212
+ if (currentParentIdx) {
40213
+ const currentBlockData = lodash.exports.get(context, currentParentIdx);
40214
+ if (!currentBlockData)
40215
+ return formatKey;
40216
+ currentBlockData.data.value.dataSource && Object.keys(currentBlockData.data.value.dataSource).forEach((item2) => {
40217
+ formatKey = formatKey.replace(item2, currentBlockData.data.value.dataSource[item2].replace(/{{([^}}]+)}}/g, "$1"));
40218
+ });
40219
+ loopFormatKey(currentParentIdx);
40220
+ }
40221
+ };
40222
+ loopFormatKey(currentIdx);
40223
+ const dataSourcePath = formatKey.replace(/{{([^}}]+)}}/g, "$1");
40224
+ combineMergeTags = __spreadValues({
40225
+ [key]: lodash.exports.get(combineMergeTags, dataSourcePath)
40226
+ }, combineMergeTags);
40227
+ });
40228
+ }
40229
+ const parentIdx = getParentIdx(currentIdx);
40230
+ if (!parentIdx)
40231
+ return combineMergeTags;
40232
+ return loop2(parentIdx, combineMergeTags);
40233
+ };
40234
+ return loop2(idx, lodash.exports.cloneDeep(mergeTags2));
40235
+ }
40236
+ const MergeTags = React__default.memo((props) => {
40237
+ const [expandedKeys, setExpandedKeys] = useState([]);
40238
+ const { focusIdx: focusIdx2 } = useFocusIdx();
40239
+ const {
40240
+ mergeTags: mergeTags2 = {},
40241
+ mergeTagGenerate = (m) => `{{${m}}}`,
40242
+ renderMergeTagContent
40243
+ } = useEditorProps();
40244
+ const { values: values2 } = useBlock();
40245
+ const contextMergeTags = useMemo(() => getContextMergeTags(mergeTags2, values2, focusIdx2), [mergeTags2, values2, focusIdx2]);
40246
+ const treeOptions = useMemo(() => {
40247
+ const treeData = [];
40248
+ const deep = (key, title2, parent2, mapData = []) => {
40249
+ const currentMapData = {
40250
+ key,
40251
+ value: key,
40252
+ title: title2,
40253
+ children: []
40254
+ };
40255
+ mapData.push(currentMapData);
40256
+ const current = parent2[title2];
40257
+ if (current && typeof current === "object") {
40258
+ Object.keys(current).map((childKey) => deep(key + "." + childKey, childKey, current, currentMapData.children));
40259
+ }
40260
+ };
40261
+ Object.keys(contextMergeTags).map((key) => deep(key, key, contextMergeTags, treeData));
40262
+ return treeData;
40263
+ }, [contextMergeTags]);
40264
+ const onSelect = useCallback((key) => {
40265
+ const value = lodash.exports.get(contextMergeTags, key);
40266
+ if (lodash.exports.isObject(value)) {
40267
+ setExpandedKeys((keys2) => {
40268
+ console.log("keys", keys2, key);
40269
+ if (keys2.includes(key)) {
40270
+ return keys2.filter((k) => k !== key);
40271
+ } else {
40272
+ return [...keys2, key];
40273
+ }
40274
+ });
40275
+ return;
40276
+ }
40277
+ return props.onChange(mergeTagGenerate(value));
40278
+ }, [contextMergeTags, props, mergeTagGenerate]);
40279
+ const mergeTagContent = useMemo(() => renderMergeTagContent ? renderMergeTagContent({
40280
+ onChange: props.onChange,
40281
+ isSelect: Boolean(props.isSelect),
40282
+ value: props.value
40283
+ }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), [renderMergeTagContent, props.onChange, props.isSelect, props.value]);
40284
+ if (renderMergeTagContent) {
40285
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mergeTagContent);
40286
+ }
40287
+ return /* @__PURE__ */ React__default.createElement("div", {
40288
+ style: { color: "#333" }
40289
+ }, props.isSelect ? /* @__PURE__ */ React__default.createElement(TreeSelect$1, {
40290
+ value: props.value,
40291
+ size: "small",
40292
+ dropdownMenuStyle: { maxHeight: 400, overflow: "auto" },
40293
+ placeholder: "Please select",
40294
+ treeData: treeOptions,
40295
+ onChange: (val) => onSelect(val)
40296
+ }) : /* @__PURE__ */ React__default.createElement(Tree$1, {
40297
+ expandedKeys,
40298
+ onExpand: setExpandedKeys,
40299
+ selectedKeys: [],
40300
+ treeData: treeOptions,
40301
+ onSelect: (vals) => onSelect(vals[0]),
40302
+ style: {
40303
+ maxHeight: 400,
40304
+ overflow: "auto"
40305
+ }
40306
+ }));
40307
+ });
40306
40308
  const borderStyleOptions = [
40307
40309
  {
40308
40310
  value: "dashed",
@@ -41322,7 +41324,9 @@ function AttributePanel() {
41322
41324
  const shadowRoot = getShadowRoot();
41323
41325
  if (!value || !initialized)
41324
41326
  return null;
41325
- return /* @__PURE__ */ React__default.createElement(PresetColorsProvider, null, Com ? /* @__PURE__ */ React__default.createElement(Com, null) : /* @__PURE__ */ React__default.createElement("div", {
41327
+ return /* @__PURE__ */ React__default.createElement(PresetColorsProvider, null, Com ? /* @__PURE__ */ React__default.createElement(Com, {
41328
+ key: focusIdx2
41329
+ }) : /* @__PURE__ */ React__default.createElement("div", {
41326
41330
  style: { marginTop: 200, padding: "0 50px" }
41327
41331
  }, /* @__PURE__ */ React__default.createElement(TextStyle, {
41328
41332
  size: "extraLarge"
@@ -41619,6 +41623,7 @@ function FieldWrapper(props) {
41619
41623
  const _a = props, { input } = _a, rest = __objRest(_a, ["input"]);
41620
41624
  const debounceCallbackChange = useCallback(lodash.exports.debounce((val) => {
41621
41625
  input.onChange(val);
41626
+ input.onBlur();
41622
41627
  }, 100), [input]);
41623
41628
  return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(RichTextToolBar, {
41624
41629
  onChange: debounceCallbackChange
@@ -41716,6 +41721,7 @@ function ContextMenu({
41716
41721
  const { blockData, left, top } = contextMenuData;
41717
41722
  const idx = blockData.id;
41718
41723
  const { modal, modalVisible, setModalVisible } = useAddToCollection();
41724
+ const props = useEditorProps();
41719
41725
  const ref = useRef(null);
41720
41726
  const handleMoveUp = () => {
41721
41727
  moveBlock(idx, getSiblingIdx(idx, -1));
@@ -41774,7 +41780,7 @@ function ContextMenu({
41774
41780
  }, /* @__PURE__ */ React__default.createElement(IconFont, {
41775
41781
  iconName: "icon-copy",
41776
41782
  style: { marginRight: 10 }
41777
- }), " ", /* @__PURE__ */ React__default.createElement(TextStyle, null, "Copy")), /* @__PURE__ */ React__default.createElement("div", {
41783
+ }), " ", /* @__PURE__ */ React__default.createElement(TextStyle, null, "Copy")), props.onAddCollection && /* @__PURE__ */ React__default.createElement("div", {
41778
41784
  className: styles$5.listItem,
41779
41785
  onClick: handleAddToCollection
41780
41786
  }, /* @__PURE__ */ React__default.createElement(IconFont, {
@@ -42088,20 +42094,27 @@ function BlockLayer() {
42088
42094
  moveBlock(dragNode.key, getChildIdx(dropNode.parentKey, dropPosition > 0 ? dropIndex + 1 : dropIndex));
42089
42095
  }
42090
42096
  }, [moveBlock]);
42091
- const blockTreeAllowDrop = useCallback((data) => {
42092
- var _a, _b;
42093
- const dropResult = allowDrop(data);
42094
- if (dropResult) {
42095
- const node = (_b = (_a = document.querySelector(`[data-tree-idx="${dropResult.key}"]`)) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.parentNode;
42096
- if (node instanceof HTMLElement) {
42097
- removeHightLightClassName();
42098
- node.classList.add("arco-tree-node-title-gap-bottom");
42097
+ const blockTreeAllowDrop = useCallback((() => {
42098
+ let lastDropResult = false;
42099
+ return (data) => {
42100
+ var _a, _b;
42101
+ const dropResult = allowDrop(data);
42102
+ if (lodash.exports.isEqual(lastDropResult, dropResult)) {
42103
+ return dropResult;
42099
42104
  }
42100
- setDirection(getDirectionFormDropPosition(dropResult.position));
42101
- setHoverIdx(dropResult.key);
42102
- }
42103
- return dropResult;
42104
- }, [allowDrop, removeHightLightClassName, setDirection, setHoverIdx]);
42105
+ lastDropResult = dropResult;
42106
+ if (dropResult) {
42107
+ const node = (_b = (_a = document.querySelector(`[data-tree-idx="${dropResult.key}"]`)) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.parentNode;
42108
+ if (node instanceof HTMLElement) {
42109
+ removeHightLightClassName();
42110
+ node.classList.add("arco-tree-node-title-gap-bottom");
42111
+ }
42112
+ setDirection(getDirectionFormDropPosition(dropResult.position));
42113
+ setHoverIdx(dropResult.key);
42114
+ }
42115
+ return dropResult;
42116
+ };
42117
+ })(), [allowDrop, removeHightLightClassName, setDirection, setHoverIdx]);
42105
42118
  const selectedKeys = useMemo(() => {
42106
42119
  if (!focusIdx2)
42107
42120
  return [];
@@ -42300,70 +42313,70 @@ function TextBlockItem() {
42300
42313
  })));
42301
42314
  }
42302
42315
  const defaultImagesMap = {
42303
- IMAGE_08: "https://assets.maocanhua.cn/0046b247-3647-491f-afe1-cb0dd2a3c21c-ef84b752-f827-4546-89bf-6b63dfb67a4d.png",
42304
- IMAGE_09: "https://assets.maocanhua.cn/be34fb18-32ad-441c-84d8-3c0e9ba9f742-ad2ea5ff-5d0b-446b-bd7d-8e2ab5afdd16.png",
42305
- IMAGE_10: "https://assets.maocanhua.cn/6a1e6292-469e-452a-bbae-44e4b5ff7463-05e543b6-c951-44ce-ae27-ca1282c77f52.png",
42306
- IMAGE_11: "https://assets.maocanhua.cn/39b25f35-7ca9-4264-8502-41f430f89cf5-bcdc91c2-da3c-4fef-99c0-62b77c5a0f1f.png",
42307
- IMAGE_12: "https://assets.maocanhua.cn/eaa83007-f6f5-47d9-acbe-bb98065eaf20-b7c46090-73bd-4d4b-bd31-2368f7b4064f.png",
42308
- IMAGE_13: "https://assets.maocanhua.cn/9dec87bb-0a6d-429f-ac23-0ee636e6428d-219dee7e-85bb-4fba-9bf3-e98762e80409.png",
42309
- IMAGE_14: "https://assets.maocanhua.cn/d285da5e-b0c0-4895-84ac-42f83b4d603b-64042d20-be6a-45de-819c-8312f778a38d.png",
42310
- IMAGE_15: "https://assets.maocanhua.cn/f69f48af-5b15-40aa-91c4-81d601d1357b-083dc99d-02a6-40d9-ae28-0662bd078b5d.png",
42311
- IMAGE_16: "https://assets.maocanhua.cn/9cce6b16-5a98-4ddb-b1a1-6cec2cf56891-c3acb856-8ab8-4cfb-93f9-2a0747678b8b.png",
42312
- IMAGE_17: "https://assets.maocanhua.cn/d9795c1d-fa32-4adb-ab25-30b7cfe87936-df21314f-6f05-4550-80b3-9ab1107e8fbe.png",
42313
- IMAGE_18: "https://assets.maocanhua.cn/82f6f893-43ed-4f3d-9a17-4740bda844de-3318b36c-199d-46fe-96b8-38d1f17ef0c1.png",
42314
- IMAGE_19: "https://assets.maocanhua.cn/f1ece227-e050-4751-b064-aaeeabd5bfde-d459e9a2-b192-417b-8a77-2297b29e814e.png",
42315
- IMAGE_20: "https://assets.maocanhua.cn/585b48f6-ee7c-4d1a-8619-4d2edea09be6-07113335-5d19-464a-adef-2be50682ce72.png",
42316
- IMAGE_21: "https://assets.maocanhua.cn/9755d667-289e-405c-b84a-adf5db91ea4d-c03c409b-dd9b-40e9-840a-6a64e1df594e.png",
42317
- IMAGE_22: "https://assets.maocanhua.cn/7487ce49-cd69-4651-8da3-807c54357258-defaaf0a-1756-4b83-9a94-51dcdbfeb84f.png",
42318
- IMAGE_23: "https://assets.maocanhua.cn/c3463b9e-baff-41c8-95ee-01c5a79259bd-8062ab05-baa5-45d2-9959-4935d4ff2005.png",
42319
- IMAGE_24: "https://assets.maocanhua.cn/1f45e84a-5c84-45ce-9d27-df6ffb55bcdd-cbf126f4-b372-4ea9-a354-0dc27be4ce2f.png",
42320
- IMAGE_25: "https://assets.maocanhua.cn/6b8b234e-2306-48f9-90ed-056c13201a83-492073c3-258f-4f1b-91fa-4a8ae723aa2c.png",
42321
- IMAGE_26: "https://assets.maocanhua.cn/aa50c2c9-8e3b-4af2-b029-337ec549ec10-baacd015-2e3f-4326-b3ab-bde84a7c456b.png",
42322
- IMAGE_27: "https://assets.maocanhua.cn/9e935e54-a97e-4fbb-a2fb-73e351a35eed-479ef4d1-9460-48b2-934d-84d77044b98d.png",
42323
- IMAGE_28: "https://assets.maocanhua.cn/799564d8-3082-4fdc-86ed-8c4b3510934f-3f8ccbaa-7b6b-49b7-a836-21fa88f996fc.png",
42324
- IMAGE_29: "https://assets.maocanhua.cn/af34a548-c339-4a9e-85fe-11bf90c083eb-46fef91d-7307-4e91-aae0-460da1c48629.png",
42325
- IMAGE_30: "https://assets.maocanhua.cn/84014a93-429c-479c-b9ed-0c568f58a288-ca76cdf2-92d3-4552-bc95-3a8dd4c9cd0b.png",
42326
- IMAGE_31: "https://assets.maocanhua.cn/dd1584fb-cb60-42c9-80c7-5545e16130ca-226ba72b-ce9e-4948-ad0d-347381fb96c5.png",
42327
- IMAGE_32: "https://assets.maocanhua.cn/76e3d8e2-697d-484c-a989-715bd234b575-37bde239-2e2d-450a-8e93-d62c39cb94a3.png",
42328
- IMAGE_33: "https://assets.maocanhua.cn/898b791e-c8fc-4bc5-bf1e-47a0351284ce-fdee9617-9848-49e7-82b6-36095f417a3e.png",
42329
- IMAGE_34: "https://assets.maocanhua.cn/49662d27-6e14-4e75-a942-946f0af25a51-e9aa2ead-98e4-4f70-8073-7b5aaafaa367.png",
42330
- IMAGE_35: "https://assets.maocanhua.cn/d2905fb1-9fc1-49c0-90b0-806877c38cd2-f2e05655-4e6c-41b0-a028-990448a716dc.png",
42331
- IMAGE_36: "https://assets.maocanhua.cn/9c3e9949-1be7-42b5-ad48-44f0e1c89c2e-2ee3cbac-e45e-414d-96ad-9dae3621cf14.png",
42332
- IMAGE_37: "https://assets.maocanhua.cn/1865e3a6-a762-4bd9-9644-96ae6b27a83a-176a20c7-5768-400c-b2eb-701500cee17c.png",
42333
- IMAGE_38: "https://assets.maocanhua.cn/2a6d82e2-d1f6-4e30-ae05-1afe3cd03e70-22d186b0-c2f1-4aee-b33b-869cae26412e.png",
42334
- IMAGE_39: "https://assets.maocanhua.cn/9f97bda2-82d6-47e7-80c1-40be94d5491f-88233d55-8715-43cd-9232-246440e33cd6.png",
42335
- IMAGE_40: "https://assets.maocanhua.cn/b8f00c77-12b0-4e61-a85e-96918c0035dc-b8344b64-8e79-424d-a974-8e13e6b1e7f8.png",
42336
- IMAGE_41: "https://assets.maocanhua.cn/5fc6be85-0205-4ca9-bb9a-eb9335f94af2-2d41c4bb-2c00-4fe7-8b32-067e92df3ab3.png",
42337
- IMAGE_42: "https://assets.maocanhua.cn/f6c9c054-f35a-4af7-957f-c7a6209972eb-7e3b42bf-8d97-466d-8662-8d3b1786e8b8.png",
42338
- IMAGE_43: "https://assets.maocanhua.cn/80e108b0-3d70-442a-93c1-3fcc091253c6-3dc61b44-6072-413a-ae28-a551577b7677.png",
42339
- IMAGE_44: "https://assets.maocanhua.cn/14b9e878-7208-48f4-94d0-51161b79010a-fb55ae68-a7ce-4bae-830d-331d368f0f32.png",
42340
- IMAGE_45: "https://assets.maocanhua.cn/b42f3cd8-01fc-4650-a32d-b584b05e78c3-5e408f98-e9e6-43de-97af-91b2732760df.png",
42341
- IMAGE_46: "https://assets.maocanhua.cn/e737972a-d884-440b-96d3-66f703dd110b-9f1d0d18-fb45-4a54-a2d0-65bc5b168f8a.png",
42342
- IMAGE_47: "https://assets.maocanhua.cn/0e3ae071-247a-4e69-8b60-8009477180b9-197205c2-2ae7-420f-94aa-78440226beaa.png",
42343
- IMAGE_48: "https://assets.maocanhua.cn/0ec46619-4dd0-4293-88fb-14656ac7d33c-0936deed-a88c-4e3d-90bf-4fe67b295659",
42344
- IMAGE_49: "https://assets.maocanhua.cn/01830aec-d044-4d2a-9519-aac2901f4760-776602f7-021b-4142-a2d0-446aca5e0418",
42345
- IMAGE_50: "https://assets.maocanhua.cn/9f1cee25-f9b4-4539-b4ea-3109584c0a54-0692c4fb-46ce-452c-8573-fcce74852cba",
42346
- IMAGE_51: "https://assets.maocanhua.cn/e138143f-7071-44bc-8470-7d56850e527c-f515254e-67b8-4b68-b86f-7993e960d893",
42347
- IMAGE_52: "https://assets.maocanhua.cn/ac75b655-b57d-40b9-a201-8163eeb6a579-1f894e6f-18ac-42c4-9227-7488433586bc.png",
42348
- IMAGE_53: "https://assets.maocanhua.cn/3c505a1b-575a-40fb-83c1-6c4a11a6d478-9e466e35-af9e-406a-b4cc-b86f9d0b0419.png",
42349
- IMAGE_54: "https://assets.maocanhua.cn/7f98eeec-9422-48b5-9b57-939a24418b92-a6346a63-b393-49c2-9911-ee1a9a1ffd02.png",
42350
- IMAGE_55: "https://assets.maocanhua.cn/a7f5ae44-418b-40e1-b8a5-8162cf8bbd87-156cc8dd-3a19-4638-8c26-e28783e50952.png",
42351
- IMAGE_56: "https://assets.maocanhua.cn/efdeeced-1eb7-465f-8370-a3b000634ba2-0a4d1794-6ca7-44fa-a1c6-04e3bde8eb56.png",
42352
- IMAGE_57: "https://assets.maocanhua.cn/425c6017-2c30-41d7-8930-08300492c6d4-a0859ca3-5213-484c-9170-2d51329407cc.png",
42353
- IMAGE_58: "https://assets.maocanhua.cn/858ea699-cf65-469d-bd9e-70adea729bb4-c4e7a711-27b6-4865-9b32-516c41cebddf.png",
42354
- IMAGE_59: "https://assets.maocanhua.cn/06ca521d-9728-4de6-a709-1b75a828bfc3-2a9b1224-3d71-43b8-b52f-e7cdcdc9107b.png",
42355
- IMAGE_60: "https://assets.maocanhua.cn/199eacfa-daf8-4dd1-a356-225a265a88a4-e8432435-a2bb-4ec2-a3e9-ee1757d8b44b",
42356
- IMAGE_61: "https://assets.maocanhua.cn/f43b67dc-cc30-4533-b2ca-4689292aab4d-40bc844d-5362-451f-a839-69e86f7a3113",
42357
- IMAGE_62: "https://assets.maocanhua.cn/318e911c-a57b-4768-9c79-0e49c2953e7a-dbe0eb3c-0b4b-495a-a469-a15b46c5a0cc",
42358
- IMAGE_63: "https://assets.maocanhua.cn/ed70ddb1-1344-4245-ab1e-beae36ed44b4-21a80cb3-a928-4857-973b-98992fdec74f",
42359
- IMAGE_64: "https://assets.maocanhua.cn/fb7dd6fa-12c1-41e1-8744-91d0f861ec57-0fee9bda-2381-4c54-a24d-bd644384b9aa",
42360
- IMAGE_65: "https://assets.maocanhua.cn/7bf8c363-17bd-472d-8cca-96f5d4b64292-9ab34957-15d3-4068-8e83-cc283d8e400d",
42361
- IMAGE_66: "https://assets.maocanhua.cn/0330a1e9-e814-4be8-83f0-ee1dbabf44a0-6e35a585-92ec-4570-875b-866b59927583",
42362
- IMAGE_67: "https://assets.maocanhua.cn/a7deb6bc-db2b-4273-bf25-002bb148bf5a-ed5e9b17-15a9-4e0f-9874-c3219d48b2b4",
42363
- IMAGE_68: "https://assets.maocanhua.cn/52c50319-e3a9-401b-9057-bd6531870f10-aa79ec5d-76d2-4d48-a99e-2ccd9d9c285b",
42364
- IMAGE_69: "https://assets.maocanhua.cn/9994cef3-6205-4013-8993-b037d067df64-f5d03db4-6bb4-4af4-b35a-0b6d512eaff4",
42365
- IMAGE_70: "https://assets.maocanhua.cn/e5dd7a7e-70d7-483f-80cc-0c5b41107101-75dcedc7-4a34-4d03-97ee-bf32163afa0a",
42366
- IMAGE_71: "https://assets.maocanhua.cn/53277265-8e54-43d0-b9d0-d34cd1639861-adb7a48a-8382-43a1-ad59-7c84764a3b21.png"
42316
+ IMAGE_08: "https://easy-email-m-ryan.vercel.app/images/0046b247-3647-491f-afe1-cb0dd2a3c21c-ef84b752-f827-4546-89bf-6b63dfb67a4d.png",
42317
+ IMAGE_09: "https://easy-email-m-ryan.vercel.app/images/be34fb18-32ad-441c-84d8-3c0e9ba9f742-ad2ea5ff-5d0b-446b-bd7d-8e2ab5afdd16.png",
42318
+ IMAGE_10: "https://easy-email-m-ryan.vercel.app/images/6a1e6292-469e-452a-bbae-44e4b5ff7463-05e543b6-c951-44ce-ae27-ca1282c77f52.png",
42319
+ IMAGE_11: "https://easy-email-m-ryan.vercel.app/images/39b25f35-7ca9-4264-8502-41f430f89cf5-bcdc91c2-da3c-4fef-99c0-62b77c5a0f1f.png",
42320
+ IMAGE_12: "https://easy-email-m-ryan.vercel.app/images/eaa83007-f6f5-47d9-acbe-bb98065eaf20-b7c46090-73bd-4d4b-bd31-2368f7b4064f.png",
42321
+ IMAGE_13: "https://easy-email-m-ryan.vercel.app/images/9dec87bb-0a6d-429f-ac23-0ee636e6428d-219dee7e-85bb-4fba-9bf3-e98762e80409.png",
42322
+ IMAGE_14: "https://easy-email-m-ryan.vercel.app/images/d285da5e-b0c0-4895-84ac-42f83b4d603b-64042d20-be6a-45de-819c-8312f778a38d.png",
42323
+ IMAGE_15: "https://easy-email-m-ryan.vercel.app/images/f69f48af-5b15-40aa-91c4-81d601d1357b-083dc99d-02a6-40d9-ae28-0662bd078b5d.png",
42324
+ IMAGE_16: "https://easy-email-m-ryan.vercel.app/images/9cce6b16-5a98-4ddb-b1a1-6cec2cf56891-c3acb856-8ab8-4cfb-93f9-2a0747678b8b.png",
42325
+ IMAGE_17: "https://easy-email-m-ryan.vercel.app/images/d9795c1d-fa32-4adb-ab25-30b7cfe87936-df21314f-6f05-4550-80b3-9ab1107e8fbe.png",
42326
+ IMAGE_18: "https://easy-email-m-ryan.vercel.app/images/82f6f893-43ed-4f3d-9a17-4740bda844de-3318b36c-199d-46fe-96b8-38d1f17ef0c1.png",
42327
+ IMAGE_19: "https://easy-email-m-ryan.vercel.app/images/f1ece227-e050-4751-b064-aaeeabd5bfde-d459e9a2-b192-417b-8a77-2297b29e814e.png",
42328
+ IMAGE_20: "https://easy-email-m-ryan.vercel.app/images/585b48f6-ee7c-4d1a-8619-4d2edea09be6-07113335-5d19-464a-adef-2be50682ce72.png",
42329
+ IMAGE_21: "https://easy-email-m-ryan.vercel.app/images/9755d667-289e-405c-b84a-adf5db91ea4d-c03c409b-dd9b-40e9-840a-6a64e1df594e.png",
42330
+ IMAGE_22: "https://easy-email-m-ryan.vercel.app/images/7487ce49-cd69-4651-8da3-807c54357258-defaaf0a-1756-4b83-9a94-51dcdbfeb84f.png",
42331
+ IMAGE_23: "https://easy-email-m-ryan.vercel.app/images/c3463b9e-baff-41c8-95ee-01c5a79259bd-8062ab05-baa5-45d2-9959-4935d4ff2005.png",
42332
+ IMAGE_24: "https://easy-email-m-ryan.vercel.app/images/1f45e84a-5c84-45ce-9d27-df6ffb55bcdd-cbf126f4-b372-4ea9-a354-0dc27be4ce2f.png",
42333
+ IMAGE_25: "https://easy-email-m-ryan.vercel.app/images/6b8b234e-2306-48f9-90ed-056c13201a83-492073c3-258f-4f1b-91fa-4a8ae723aa2c.png",
42334
+ IMAGE_26: "https://easy-email-m-ryan.vercel.app/images/aa50c2c9-8e3b-4af2-b029-337ec549ec10-baacd015-2e3f-4326-b3ab-bde84a7c456b.png",
42335
+ IMAGE_27: "https://easy-email-m-ryan.vercel.app/images/9e935e54-a97e-4fbb-a2fb-73e351a35eed-479ef4d1-9460-48b2-934d-84d77044b98d.png",
42336
+ IMAGE_28: "https://easy-email-m-ryan.vercel.app/images/799564d8-3082-4fdc-86ed-8c4b3510934f-3f8ccbaa-7b6b-49b7-a836-21fa88f996fc.png",
42337
+ IMAGE_29: "https://easy-email-m-ryan.vercel.app/images/af34a548-c339-4a9e-85fe-11bf90c083eb-46fef91d-7307-4e91-aae0-460da1c48629.png",
42338
+ IMAGE_30: "https://easy-email-m-ryan.vercel.app/images/84014a93-429c-479c-b9ed-0c568f58a288-ca76cdf2-92d3-4552-bc95-3a8dd4c9cd0b.png",
42339
+ IMAGE_31: "https://easy-email-m-ryan.vercel.app/images/dd1584fb-cb60-42c9-80c7-5545e16130ca-226ba72b-ce9e-4948-ad0d-347381fb96c5.png",
42340
+ IMAGE_32: "https://easy-email-m-ryan.vercel.app/images/76e3d8e2-697d-484c-a989-715bd234b575-37bde239-2e2d-450a-8e93-d62c39cb94a3.png",
42341
+ IMAGE_33: "https://easy-email-m-ryan.vercel.app/images/898b791e-c8fc-4bc5-bf1e-47a0351284ce-fdee9617-9848-49e7-82b6-36095f417a3e.png",
42342
+ IMAGE_34: "https://easy-email-m-ryan.vercel.app/images/49662d27-6e14-4e75-a942-946f0af25a51-e9aa2ead-98e4-4f70-8073-7b5aaafaa367.png",
42343
+ IMAGE_35: "https://easy-email-m-ryan.vercel.app/images/d2905fb1-9fc1-49c0-90b0-806877c38cd2-f2e05655-4e6c-41b0-a028-990448a716dc.png",
42344
+ IMAGE_36: "https://easy-email-m-ryan.vercel.app/images/9c3e9949-1be7-42b5-ad48-44f0e1c89c2e-2ee3cbac-e45e-414d-96ad-9dae3621cf14.png",
42345
+ IMAGE_37: "https://easy-email-m-ryan.vercel.app/images/1865e3a6-a762-4bd9-9644-96ae6b27a83a-176a20c7-5768-400c-b2eb-701500cee17c.png",
42346
+ IMAGE_38: "https://easy-email-m-ryan.vercel.app/images/2a6d82e2-d1f6-4e30-ae05-1afe3cd03e70-22d186b0-c2f1-4aee-b33b-869cae26412e.png",
42347
+ IMAGE_39: "https://easy-email-m-ryan.vercel.app/images/9f97bda2-82d6-47e7-80c1-40be94d5491f-88233d55-8715-43cd-9232-246440e33cd6.png",
42348
+ IMAGE_40: "https://easy-email-m-ryan.vercel.app/images/b8f00c77-12b0-4e61-a85e-96918c0035dc-b8344b64-8e79-424d-a974-8e13e6b1e7f8.png",
42349
+ IMAGE_41: "https://easy-email-m-ryan.vercel.app/images/5fc6be85-0205-4ca9-bb9a-eb9335f94af2-2d41c4bb-2c00-4fe7-8b32-067e92df3ab3.png",
42350
+ IMAGE_42: "https://easy-email-m-ryan.vercel.app/images/f6c9c054-f35a-4af7-957f-c7a6209972eb-7e3b42bf-8d97-466d-8662-8d3b1786e8b8.png",
42351
+ IMAGE_43: "https://easy-email-m-ryan.vercel.app/images/80e108b0-3d70-442a-93c1-3fcc091253c6-3dc61b44-6072-413a-ae28-a551577b7677.png",
42352
+ IMAGE_44: "https://easy-email-m-ryan.vercel.app/images/14b9e878-7208-48f4-94d0-51161b79010a-fb55ae68-a7ce-4bae-830d-331d368f0f32.png",
42353
+ IMAGE_45: "https://easy-email-m-ryan.vercel.app/images/b42f3cd8-01fc-4650-a32d-b584b05e78c3-5e408f98-e9e6-43de-97af-91b2732760df.png",
42354
+ IMAGE_46: "https://easy-email-m-ryan.vercel.app/images/e737972a-d884-440b-96d3-66f703dd110b-9f1d0d18-fb45-4a54-a2d0-65bc5b168f8a.png",
42355
+ IMAGE_47: "https://easy-email-m-ryan.vercel.app/images/0e3ae071-247a-4e69-8b60-8009477180b9-197205c2-2ae7-420f-94aa-78440226beaa.png",
42356
+ IMAGE_48: "https://easy-email-m-ryan.vercel.app/images/0ec46619-4dd0-4293-88fb-14656ac7d33c-0936deed-a88c-4e3d-90bf-4fe67b295659",
42357
+ IMAGE_49: "https://easy-email-m-ryan.vercel.app/images/01830aec-d044-4d2a-9519-aac2901f4760-776602f7-021b-4142-a2d0-446aca5e0418",
42358
+ IMAGE_50: "https://easy-email-m-ryan.vercel.app/images/9f1cee25-f9b4-4539-b4ea-3109584c0a54-0692c4fb-46ce-452c-8573-fcce74852cba",
42359
+ IMAGE_51: "https://easy-email-m-ryan.vercel.app/images/e138143f-7071-44bc-8470-7d56850e527c-f515254e-67b8-4b68-b86f-7993e960d893",
42360
+ IMAGE_52: "https://easy-email-m-ryan.vercel.app/images/ac75b655-b57d-40b9-a201-8163eeb6a579-1f894e6f-18ac-42c4-9227-7488433586bc.png",
42361
+ IMAGE_53: "https://easy-email-m-ryan.vercel.app/images/3c505a1b-575a-40fb-83c1-6c4a11a6d478-9e466e35-af9e-406a-b4cc-b86f9d0b0419.png",
42362
+ IMAGE_54: "https://easy-email-m-ryan.vercel.app/images/7f98eeec-9422-48b5-9b57-939a24418b92-a6346a63-b393-49c2-9911-ee1a9a1ffd02.png",
42363
+ IMAGE_55: "https://easy-email-m-ryan.vercel.app/images/a7f5ae44-418b-40e1-b8a5-8162cf8bbd87-156cc8dd-3a19-4638-8c26-e28783e50952.png",
42364
+ IMAGE_56: "https://easy-email-m-ryan.vercel.app/images/efdeeced-1eb7-465f-8370-a3b000634ba2-0a4d1794-6ca7-44fa-a1c6-04e3bde8eb56.png",
42365
+ IMAGE_57: "https://easy-email-m-ryan.vercel.app/images/425c6017-2c30-41d7-8930-08300492c6d4-a0859ca3-5213-484c-9170-2d51329407cc.png",
42366
+ IMAGE_58: "https://easy-email-m-ryan.vercel.app/images/858ea699-cf65-469d-bd9e-70adea729bb4-c4e7a711-27b6-4865-9b32-516c41cebddf.png",
42367
+ IMAGE_59: "https://easy-email-m-ryan.vercel.app/images/06ca521d-9728-4de6-a709-1b75a828bfc3-2a9b1224-3d71-43b8-b52f-e7cdcdc9107b.png",
42368
+ IMAGE_60: "https://easy-email-m-ryan.vercel.app/images/199eacfa-daf8-4dd1-a356-225a265a88a4-e8432435-a2bb-4ec2-a3e9-ee1757d8b44b",
42369
+ IMAGE_61: "https://easy-email-m-ryan.vercel.app/images/f43b67dc-cc30-4533-b2ca-4689292aab4d-40bc844d-5362-451f-a839-69e86f7a3113",
42370
+ IMAGE_62: "https://easy-email-m-ryan.vercel.app/images/318e911c-a57b-4768-9c79-0e49c2953e7a-dbe0eb3c-0b4b-495a-a469-a15b46c5a0cc",
42371
+ IMAGE_63: "https://easy-email-m-ryan.vercel.app/images/ed70ddb1-1344-4245-ab1e-beae36ed44b4-21a80cb3-a928-4857-973b-98992fdec74f",
42372
+ IMAGE_64: "https://easy-email-m-ryan.vercel.app/images/fb7dd6fa-12c1-41e1-8744-91d0f861ec57-0fee9bda-2381-4c54-a24d-bd644384b9aa",
42373
+ IMAGE_65: "https://easy-email-m-ryan.vercel.app/images/7bf8c363-17bd-472d-8cca-96f5d4b64292-9ab34957-15d3-4068-8e83-cc283d8e400d",
42374
+ IMAGE_66: "https://easy-email-m-ryan.vercel.app/images/0330a1e9-e814-4be8-83f0-ee1dbabf44a0-6e35a585-92ec-4570-875b-866b59927583",
42375
+ IMAGE_67: "https://easy-email-m-ryan.vercel.app/images/a7deb6bc-db2b-4273-bf25-002bb148bf5a-ed5e9b17-15a9-4e0f-9874-c3219d48b2b4",
42376
+ IMAGE_68: "https://easy-email-m-ryan.vercel.app/images/52c50319-e3a9-401b-9057-bd6531870f10-aa79ec5d-76d2-4d48-a99e-2ccd9d9c285b",
42377
+ IMAGE_69: "https://easy-email-m-ryan.vercel.app/images/9994cef3-6205-4013-8993-b037d067df64-f5d03db4-6bb4-4af4-b35a-0b6d512eaff4",
42378
+ IMAGE_70: "https://easy-email-m-ryan.vercel.app/images/e5dd7a7e-70d7-483f-80cc-0c5b41107101-75dcedc7-4a34-4d03-97ee-bf32163afa0a",
42379
+ IMAGE_71: "https://easy-email-m-ryan.vercel.app/images/53277265-8e54-43d0-b9d0-d34cd1639861-adb7a48a-8382-43a1-ad59-7c84764a3b21.png"
42367
42380
  };
42368
42381
  ImageManager.add(defaultImagesMap);
42369
42382
  function getImg(name) {
@@ -44553,6 +44566,7 @@ function Toolbar() {
44553
44566
  const { focusIdx: focusIdx2, setFocusIdx } = useFocusIdx();
44554
44567
  const { focusBlockRect } = useFocusBlockLayout();
44555
44568
  const { modal, setModalVisible } = useAddToCollection();
44569
+ const props = useEditorProps();
44556
44570
  const isPage = (focusBlock2 == null ? void 0 : focusBlock2.type) === BasicType.PAGE;
44557
44571
  const handleAddToCollection = () => {
44558
44572
  if (document.activeElement instanceof HTMLElement) {
@@ -44630,7 +44644,7 @@ function Toolbar() {
44630
44644
  }), /* @__PURE__ */ React__default.createElement(ToolItem, {
44631
44645
  iconName: "icon-copy",
44632
44646
  onClick: handleCopy
44633
- }), /* @__PURE__ */ React__default.createElement(ToolItem, {
44647
+ }), props.onAddCollection && /* @__PURE__ */ React__default.createElement(ToolItem, {
44634
44648
  iconName: "icon-collection",
44635
44649
  onClick: handleAddToCollection
44636
44650
  }), /* @__PURE__ */ React__default.createElement(ToolItem, {