easy-email-extensions 3.1.34 → 3.1.39

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/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, {