easy-email-extensions 3.0.0-beta-01.0 → 3.0.0

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.
Files changed (141) hide show
  1. package/lib/AttributePanel/AttributePanel.d.ts +3 -0
  2. package/lib/AttributePanel/components/UI/Help/index.d.ts +7 -0
  3. package/lib/AttributePanel/components/UI/HtmlEditor.d.ts +5 -0
  4. package/lib/AttributePanel/components/attributes/Align.d.ts +1 -0
  5. package/lib/AttributePanel/components/attributes/AttributesPanelWrapper/index.d.ts +6 -0
  6. package/lib/AttributePanel/components/attributes/Background.d.ts +1 -0
  7. package/lib/AttributePanel/components/attributes/BackgroundColor.d.ts +3 -0
  8. package/lib/AttributePanel/components/attributes/Border.d.ts +1 -0
  9. package/lib/AttributePanel/components/attributes/BorderColor.d.ts +1 -0
  10. package/lib/AttributePanel/components/attributes/BorderStyle.d.ts +5 -0
  11. package/lib/AttributePanel/components/attributes/BorderWidth.d.ts +1 -0
  12. package/lib/AttributePanel/components/attributes/Color.d.ts +4 -0
  13. package/lib/AttributePanel/components/attributes/ContainerBackgroundColor.d.ts +3 -0
  14. package/lib/AttributePanel/components/attributes/Decoration.d.ts +1 -0
  15. package/lib/AttributePanel/components/attributes/Direction.d.ts +1 -0
  16. package/lib/AttributePanel/components/attributes/FontFamliy.d.ts +1 -0
  17. package/lib/AttributePanel/components/attributes/FontSize.d.ts +1 -0
  18. package/lib/AttributePanel/components/attributes/FontStyle.d.ts +3 -0
  19. package/lib/AttributePanel/components/attributes/FontWeight.d.ts +1 -0
  20. package/lib/AttributePanel/components/attributes/Height.d.ts +3 -0
  21. package/lib/AttributePanel/components/attributes/LetterSpacing.d.ts +1 -0
  22. package/lib/AttributePanel/components/attributes/LineHeight.d.ts +1 -0
  23. package/lib/AttributePanel/components/attributes/Link.d.ts +1 -0
  24. package/lib/AttributePanel/components/attributes/Margin.d.ts +1 -0
  25. package/lib/AttributePanel/components/attributes/MergeTags.d.ts +6 -0
  26. package/lib/AttributePanel/components/attributes/NavbarLinkPadding.d.ts +3 -0
  27. package/lib/AttributePanel/components/attributes/Padding.d.ts +5 -0
  28. package/lib/AttributePanel/components/attributes/TextAlign.d.ts +1 -0
  29. package/lib/AttributePanel/components/attributes/TextDecoration.d.ts +1 -0
  30. package/lib/AttributePanel/components/attributes/TextTransform.d.ts +1 -0
  31. package/lib/AttributePanel/components/attributes/VerticalAlign.d.ts +3 -0
  32. package/lib/AttributePanel/components/attributes/Width.d.ts +3 -0
  33. package/lib/AttributePanel/components/blocks/Accordion/index.d.ts +1 -0
  34. package/lib/AttributePanel/components/blocks/AccordionElement/index.d.ts +1 -0
  35. package/lib/AttributePanel/components/blocks/AccordionText/index.d.ts +1 -0
  36. package/lib/AttributePanel/components/blocks/AccordionTitle/index.d.ts +1 -0
  37. package/lib/AttributePanel/components/blocks/Button/index.d.ts +1 -0
  38. package/lib/AttributePanel/components/blocks/Carousel/index.d.ts +1 -0
  39. package/lib/AttributePanel/components/blocks/Column/index.d.ts +1 -0
  40. package/lib/AttributePanel/components/blocks/Divider/index.d.ts +1 -0
  41. package/lib/AttributePanel/components/blocks/Group/index.d.ts +1 -0
  42. package/lib/AttributePanel/components/blocks/Hero/index.d.ts +1 -0
  43. package/lib/AttributePanel/components/blocks/Image/index.d.ts +1 -0
  44. package/lib/AttributePanel/components/blocks/Navbar/index.d.ts +1 -0
  45. package/lib/AttributePanel/components/blocks/Page/index.d.ts +1 -0
  46. package/lib/AttributePanel/components/blocks/Raw/index.d.ts +1 -0
  47. package/lib/AttributePanel/components/blocks/Section/index.d.ts +1 -0
  48. package/lib/AttributePanel/components/blocks/Social/index.d.ts +1 -0
  49. package/lib/AttributePanel/components/blocks/Spacer/index.d.ts +1 -0
  50. package/lib/AttributePanel/components/blocks/Table/index.d.ts +1 -0
  51. package/lib/AttributePanel/components/blocks/Text/index.d.ts +1 -0
  52. package/lib/AttributePanel/components/blocks/Wrapper/index.d.ts +1 -0
  53. package/lib/AttributePanel/components/blocks/index.d.ts +42 -0
  54. package/lib/AttributePanel/components/provider/PresetColorsProvider/index.d.ts +6 -0
  55. package/lib/AttributePanel/components/provider/SelectionRangeProvider/index.d.ts +6 -0
  56. package/lib/AttributePanel/hooks/useSelectionRange.d.ts +6 -0
  57. package/lib/AttributePanel/index.d.ts +3 -0
  58. package/lib/AttributePanel/utils/BlockAttributeConfigurationManager.d.ts +10 -0
  59. package/lib/AttributePanel/utils/InputNumberAdapter.d.ts +2 -0
  60. package/lib/AttributePanel/utils/PromiseEach.d.ts +1 -0
  61. package/lib/AttributePanel/utils/Uploader.d.ts +35 -0
  62. package/lib/AttributePanel/utils/awaitForElement.d.ts +4 -0
  63. package/lib/AttributePanel/utils/classnames.d.ts +1 -0
  64. package/lib/AttributePanel/utils/getEditNode.d.ts +2 -0
  65. package/lib/AttributePanel/utils/getImg.d.ts +8 -0
  66. package/lib/AttributePanel/utils/onDrag.d.ts +10 -0
  67. package/lib/AttributePanel/utils/previewLoadImage.d.ts +1 -0
  68. package/lib/BlockLayer/components/BlockTree/components/BlockTreeItem/index.d.ts +23 -0
  69. package/lib/BlockLayer/components/BlockTree/components/TreeCollapse.d.ts +6 -0
  70. package/lib/BlockLayer/components/BlockTree/index.d.ts +29 -0
  71. package/lib/BlockLayer/components/ContextMenu/index.d.ts +14 -0
  72. package/lib/BlockLayer/components/EyeIcon/index.d.ts +7 -0
  73. package/lib/BlockLayer/index.d.ts +7 -0
  74. package/lib/InteractivePrompt/components/FocusTooltip.d.ts +1 -0
  75. package/lib/InteractivePrompt/components/HoverTooltip.d.ts +1 -0
  76. package/lib/InteractivePrompt/components/Toolbar.d.ts +5 -0
  77. package/lib/InteractivePrompt/index.d.ts +1 -0
  78. package/lib/InteractivePrompt/utils/awaitForElement.d.ts +4 -0
  79. package/lib/ShortcutToolbar/ShortcutToolbar.d.ts +1 -0
  80. package/lib/ShortcutToolbar/components/BlockMaskWrapper/index.d.ts +6 -0
  81. package/lib/ShortcutToolbar/components/BlocksPanel/index.d.ts +2 -0
  82. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/AccordionBlockItem/index.d.ts +1 -0
  83. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/ButtonBlockItem/index.d.ts +1 -0
  84. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/CarouselBlockItem/index.d.ts +1 -0
  85. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/ColumnBlockItem/index.d.ts +1 -0
  86. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/DividerBlockItem/index.d.ts +1 -0
  87. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/GroupBlockItem/index.d.ts +1 -0
  88. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/HeroBlockItem/index.d.ts +1 -0
  89. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/ImageBlockItem/index.d.ts +1 -0
  90. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/NavbarBlockItem/index.d.ts +1 -0
  91. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/RawBlockItem/index.d.ts +1 -0
  92. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/SectionBlockItem/index.d.ts +1 -0
  93. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/SocialBlockItem/index.d.ts +1 -0
  94. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/SpacerBlockItem/index.d.ts +1 -0
  95. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/TextBlockItem/index.d.ts +1 -0
  96. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/WrapperBlockItem/index.d.ts +1 -0
  97. package/lib/ShortcutToolbar/components/BlocksPanel/presetTemplate/index.d.ts +18 -0
  98. package/lib/ShortcutToolbar/components/Picture/index.d.ts +7 -0
  99. package/lib/ShortcutToolbar/index.d.ts +4 -0
  100. package/lib/ShortcutToolbar/utils/BlockMarketManager.d.ts +32 -0
  101. package/lib/ShortcutToolbar/utils/getImg.d.ts +68 -0
  102. package/lib/SimpleLayout/SimpleLayout.d.ts +2 -0
  103. package/lib/SimpleLayout/index.d.ts +1 -0
  104. package/lib/SourceCodePanel/index.d.ts +1 -0
  105. package/lib/components/AddToCollection/index.d.ts +5 -0
  106. package/lib/components/Form/AddFont.d.ts +1 -0
  107. package/lib/components/Form/AutoComplete.d.ts +11 -0
  108. package/lib/components/Form/ChexkBoxGroup.d.ts +14 -0
  109. package/lib/components/Form/CodemirrorEditor/index.d.ts +8 -0
  110. package/lib/components/Form/ColorPicker.d.ts +10 -0
  111. package/lib/components/Form/EditTab.d.ts +10 -0
  112. package/lib/components/Form/ImageUploader/index.d.ts +8 -0
  113. package/lib/components/Form/InlineTextField/index.d.ts +8 -0
  114. package/lib/components/Form/Input.d.ts +7 -0
  115. package/lib/components/Form/RadioGroup.d.ts +13 -0
  116. package/lib/components/Form/RichTextField/components/FontFamily/index.d.ts +3 -0
  117. package/lib/components/Form/RichTextField/components/FontSizeList/index.d.ts +3 -0
  118. package/lib/components/Form/RichTextField/components/Heading/index.d.ts +3 -0
  119. package/lib/components/Form/RichTextField/components/Link/index.d.ts +12 -0
  120. package/lib/components/Form/RichTextField/components/TextToolbar/MergeTags.d.ts +6 -0
  121. package/lib/components/Form/RichTextField/components/TextToolbar/index.d.ts +5 -0
  122. package/lib/components/Form/RichTextField/components/ToolItem/index.d.ts +7 -0
  123. package/lib/components/Form/RichTextField/index.d.ts +3 -0
  124. package/lib/components/Form/Select.d.ts +11 -0
  125. package/lib/components/Form/UploadField.d.ts +8 -0
  126. package/lib/components/Form/enhancer.d.ts +20 -0
  127. package/lib/components/Form/index.d.ts +29 -0
  128. package/lib/components/ShadowDom/index.d.ts +2 -0
  129. package/lib/hooks/useAddToCollection.d.ts +6 -0
  130. package/lib/index.d.ts +8 -0
  131. package/lib/index.js +6 -276
  132. package/lib/index.js.map +1 -1
  133. package/lib/index2.js +47815 -0
  134. package/lib/index2.js.map +1 -0
  135. package/lib/index3.js +11645 -0
  136. package/lib/index3.js.map +1 -0
  137. package/lib/style.css +1 -1
  138. package/lib/utils/awaitForElement.d.ts +4 -0
  139. package/lib/utils/classnames.d.ts +1 -0
  140. package/package.json +77 -75
  141. package/readme.md +138 -130
@@ -0,0 +1,4 @@
1
+ export declare function awaitForElement<T extends HTMLElement>(idx: string): {
2
+ cancel: () => void;
3
+ promise: Promise<T>;
4
+ };
@@ -0,0 +1 @@
1
+ export declare function classnames(...rest: any[]): string;
package/package.json CHANGED
@@ -1,75 +1,77 @@
1
- {
2
- "name": "easy-email-extensions",
3
- "license": "MIT",
4
- "description": "Email editor",
5
- "version": "3.0.0-beta-01.0",
6
- "author": "m-Ryan",
7
- "repository": {
8
- "type": "git",
9
- "url": "git@github.com:m-Ryan/easy-email.git"
10
- },
11
- "keywords": [
12
- "email editor core"
13
- ],
14
- "files": [
15
- "lib"
16
- ],
17
- "main": "./lib/index.js",
18
- "scripts": {
19
- "dev": "vite",
20
- "typings": "tsc --declaration --emitDeclarationOnly --project tsconfig.json",
21
- "build": "rimraf lib && vite build --config vite.config.ts"
22
- },
23
- "husky": {
24
- "hooks": {
25
- "pre-commit": "yarn test && yarn lint-staged"
26
- }
27
- },
28
- "lint-staged": {
29
- "src/*.{js,jsx,ts,tsx}, example/*.{js,jsx,ts,tsx}": [
30
- "yarn lint"
31
- ]
32
- },
33
- "devDependencies": {
34
- "@types/lodash": "^4.14.177",
35
- "@types/node": "^16.11.7",
36
- "@types/react": "17.0.2",
37
- "@types/react-dom": "^17.0.11",
38
- "@vitejs/plugin-react-refresh": "^1.3.6",
39
- "cross-env": "^7.0.3",
40
- "lerna": "^4.0.0",
41
- "less": "^4.1.2",
42
- "rollup-plugin-visualizer": "^5.5.2",
43
- "sass": "^1.43.4",
44
- "tsc-alias": "^1.4.1",
45
- "typescript": "^4.4.4",
46
- "vite": "^2.6.14",
47
- "vite-plugin-html": "^2.1.1",
48
- "vite-plugin-style-import": "^1.3.0"
49
- },
50
- "dependencies": {
51
- "antd": "^4.16.13",
52
- "codemirror": "^5.63.3",
53
- "final-form": "^4.20.4",
54
- "final-form-arrays": "^3.0.2",
55
- "final-form-set-field-touched": "^1.0.1",
56
- "is-hotkey": "^0.2.0",
57
- "lodash": "^4.17.21",
58
- "lodash-es": "^4.17.21",
59
- "mjml-browser": "^4.10.4",
60
- "react": "^17.0.2",
61
- "react-codemirror2": "^7.2.1",
62
- "react-color": "^2.19.3",
63
- "react-dom": "^17.0.2",
64
- "react-final-form": "^6.5.7",
65
- "react-final-form-arrays": "^3.1.3",
66
- "react-sortablejs": "^6.0.0",
67
- "react-use": "^17.3.1",
68
- "sortablejs": "^1.14.0"
69
- },
70
- "peerDependencies": {
71
- "react": "^17.0.2",
72
- "react-dom": "^17.0.2",
73
- "react-final-form": "^6.5.7"
74
- }
75
- }
1
+ {
2
+ "name": "easy-email-extensions",
3
+ "license": "MIT",
4
+ "description": "Email editor",
5
+ "version": "3.0.0",
6
+ "author": "m-Ryan",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git@github.com:m-Ryan/easy-email.git"
10
+ },
11
+ "keywords": [
12
+ "email editor core"
13
+ ],
14
+ "files": [
15
+ "lib"
16
+ ],
17
+ "main": "lib/index.js",
18
+ "types": "lib/index.d.ts",
19
+ "scripts": {
20
+ "dev": "vite",
21
+ "typings": "tsc --declaration --emitDeclarationOnly --project tsconfig.lib.json",
22
+ "build": "rimraf lib && npm run typings && vite build --config vite.config.ts"
23
+ },
24
+ "husky": {
25
+ "hooks": {
26
+ "pre-commit": "yarn test && yarn lint-staged"
27
+ }
28
+ },
29
+ "lint-staged": {
30
+ "src/*.{js,jsx,ts,tsx}, example/*.{js,jsx,ts,tsx}": [
31
+ "yarn lint"
32
+ ]
33
+ },
34
+ "devDependencies": {
35
+ "@types/lodash": "^4.14.177",
36
+ "@types/node": "^16.11.7",
37
+ "@types/react": "17.0.2",
38
+ "@types/react-dom": "^17.0.11",
39
+ "@vitejs/plugin-react-refresh": "^1.3.6",
40
+ "cross-env": "^7.0.3",
41
+ "lerna": "^4.0.0",
42
+ "less": "^4.1.2",
43
+ "react": "^17.0.2",
44
+ "react-dom": "^17.0.2",
45
+ "react-final-form": "^6.5.7",
46
+ "rollup-plugin-visualizer": "^5.5.2",
47
+ "sass": "^1.43.4",
48
+ "tsc-alias": "^1.4.1",
49
+ "typescript": "^4.4.4",
50
+ "vite": "^2.6.14",
51
+ "vite-plugin-html": "^2.1.1",
52
+ "vite-plugin-style-import": "^1.3.0"
53
+ },
54
+ "dependencies": {
55
+ "@arco-design/web-react": "^2.25.1",
56
+ "codemirror": "^5.63.3",
57
+ "final-form": "^4.20.4",
58
+ "final-form-arrays": "^3.0.2",
59
+ "final-form-set-field-touched": "^1.0.1",
60
+ "is-hotkey": "^0.2.0",
61
+ "lodash": "^4.17.21",
62
+ "mjml-browser": "^4.10.4",
63
+ "react-codemirror2": "^7.2.1",
64
+ "react-color": "^2.19.3",
65
+ "react-final-form-arrays": "^3.1.3",
66
+ "react-sortablejs": "^6.0.0",
67
+ "react-use": "^17.3.1",
68
+ "sortablejs": "^1.14.0"
69
+ },
70
+ "peerDependencies": {
71
+ "easy-email-core": "^2.5.2",
72
+ "react": "^17.0.2",
73
+ "react-dom": "^17.0.2",
74
+ "react-final-form": "^6.5.7"
75
+ },
76
+ "gitHead": "764d5b89af154012b629c07292a64a6fadc87474"
77
+ }
package/readme.md CHANGED
@@ -1,130 +1,138 @@
1
- # Easy-email-extensions
2
-
3
- ## Introduction
4
-
5
- Provide default UI components, when they don’t meet your needs, you can refer to it and write your own
6
-
7
- ## usage
8
-
9
- ```sh
10
- $ npm install --save easy-email-extensions
11
- ```
12
-
13
- or
14
-
15
- ```sh
16
- $ yarn add easy-email-extensions
17
- ```
18
-
19
- ```js
20
- import React from "react";
21
- import { BlocksMap, EmailEditor, EmailEditorProvider } from "easy-email-editor";
22
- import "easy-email-editor/lib/style.css";
23
- import "antd/dist/antd.css";
24
-
25
- const initialValues = {
26
- subject: "Welcome to Easy-email",
27
- subTitle: "Nice to meet you!",
28
- content: BlocksMap.getBlock("Page").create({}),
29
- };
30
-
31
- export function App() {
32
- return (
33
- <EmailEditorProvider data={initialValues} height={"calc(100vh - 72px)"}>
34
- {({ values }) => {
35
- return (
36
- <SimpleFrame>
37
- <EmailEditor />
38
- </SimpleFrame>
39
- );
40
- }}
41
- </EmailEditorProvider>
42
- );
43
- }
44
- ```
45
-
46
- ## Extensions
47
-
48
- - `AttributePanel`
49
-
50
- - Basic block configuration panel
51
-
52
- - <img src="https://assets.maocanhua.cn/3e74a61d-ab22-4cf3-afc9-d511b82e08cd-image.png" alt="AttributePanel">
53
-
54
- - You can add or overwrite
55
-
56
- ```tsx
57
- import { BlockAttributeConfigurationManager } from "easy-email-extensions";
58
-
59
- BlockAttributeConfigurationManager.add({
60
- [BasicType.TEXT]: () => <div>will be overwrite `Text`</div>,
61
- });
62
- ```
63
-
64
- - `InteractivePrompt`
65
-
66
- - block hover and focus style
67
-
68
- - <img src="https://assets.maocanhua.cn/298d72d6-a509-4cd2-85c7-dfb915971620-image.png" alt="InteractivePrompt">
69
-
70
- - No configuration items
71
-
72
- - `BlockLayer`
73
-
74
- - <img src="https://assets.maocanhua.cn/de1f5211-350e-43c9-9c99-d97a2f196e04-image.png" alt="ShortcutToolbar">
75
- - No configuration items
76
-
77
- - `ShortcutToolbar`
78
-
79
- - <img src="https://assets.maocanhua.cn/f0e2ccc6-0627-472b-ad78-bc92bdb46ad1-image.png">
80
- - You can add or overwrite popover's preset blocks
81
-
82
- ```tsx
83
- import { BasicType } from "easy-email-core";
84
- import {
85
- BlockMarketManager,
86
- BlockMaskWrapper,
87
- } from "easy-email-extensions";
88
-
89
- BlockMarketManager.addCategories([
90
- {
91
- title: "Custom",
92
- name: "custom",
93
- blocks: [
94
- {
95
- type: BasicType.TEXT,
96
- title: "Text",
97
- description: "This block allows you to display text in your email.",
98
- component: () => {
99
- return (
100
- <BlockMaskWrapper
101
- type={BasicType.TEXT}
102
- payload={{
103
- attributes: {
104
- "font-size": "20px",
105
- align: "center",
106
- padding: "0px 0px 0px 0px",
107
- color: "#4A90E2",
108
- },
109
- data: {
110
- value: {
111
- content: "20px",
112
- },
113
- },
114
- }}
115
- >
116
- <div style={{ fontSize: 20, width: "100%", paddingLeft: 20 }}>
117
- 20px
118
- </div>
119
- </BlockMaskWrapper>
120
- );
121
- },
122
- },
123
- ],
124
- },
125
- ]);
126
- ```
127
-
128
- - `SimpleFrame`
129
-
130
- - All in one extension, provide basic and complete layout example. Refer to the above extension for configuration items.
1
+ # Easy-email-extensions
2
+
3
+ ## Introduction
4
+
5
+ Provide default UI components, when they don’t meet your needs, you can refer to it and write your own
6
+
7
+ ## usage
8
+
9
+ ```sh
10
+ $ npm install --save easy-email-extensions
11
+ ```
12
+
13
+ or
14
+
15
+ ```sh
16
+ $ yarn add easy-email-extensions
17
+ ```
18
+
19
+ ```js
20
+ import React from 'react';
21
+ import { BlockManager, BasicType } from 'easy-email-core';
22
+ import { EmailEditor, EmailEditorProvider } from 'easy-email-editor';
23
+ import { SimpleLayout } from 'easy-email-extensions';
24
+
25
+ import 'easy-email-editor/lib/style.css';
26
+ import 'easy-email-extensions/lib/style.css';
27
+
28
+ const initialValues = {
29
+ subject: 'Welcome to Easy-email',
30
+ subTitle: 'Nice to meet you!',
31
+ content: BlockManager.getBlockByType(BasicType.PAGE)!.create({}),
32
+ };
33
+
34
+ export function App() {
35
+ return (
36
+ <EmailEditorProvider
37
+ data={initialValues}
38
+ height={'calc(100vh - 72px)'}
39
+ autoComplete
40
+ dashed={false}
41
+ >
42
+ {({ values }) => {
43
+ return (
44
+ <SimpleLayout>
45
+ <EmailEditor />
46
+ </SimpleLayout>
47
+ );
48
+ }}
49
+ </EmailEditorProvider>
50
+ );
51
+ }
52
+ ```
53
+
54
+ ## Extensions
55
+
56
+ - `AttributePanel`
57
+
58
+ - Basic block configuration panel
59
+
60
+ - <img src="https://assets.maocanhua.cn/3e74a61d-ab22-4cf3-afc9-d511b82e08cd-image.png" alt="AttributePanel">
61
+
62
+ - You can add or overwrite
63
+
64
+ ```tsx
65
+ import { BlockAttributeConfigurationManager } from "easy-email-extensions";
66
+
67
+ BlockAttributeConfigurationManager.add({
68
+ [BasicType.TEXT]: () => <div>will be overwrite `Text`</div>,
69
+ });
70
+ ```
71
+
72
+ - `InteractivePrompt`
73
+
74
+ - block hover and focus style
75
+
76
+ - <img src="https://assets.maocanhua.cn/298d72d6-a509-4cd2-85c7-dfb915971620-image.png" alt="InteractivePrompt">
77
+
78
+ - No configuration items
79
+
80
+ - `BlockLayer`
81
+
82
+ - <img src="https://assets.maocanhua.cn/de1f5211-350e-43c9-9c99-d97a2f196e04-image.png" alt="ShortcutToolbar">
83
+ - No configuration items
84
+
85
+ - `ShortcutToolbar`
86
+
87
+ - <img src="https://assets.maocanhua.cn/f0e2ccc6-0627-472b-ad78-bc92bdb46ad1-image.png">
88
+ - You can add or overwrite popover's preset blocks
89
+
90
+ ```tsx
91
+ import { BasicType } from "easy-email-core";
92
+ import {
93
+ BlockMarketManager,
94
+ BlockMaskWrapper,
95
+ } from "easy-email-extensions";
96
+
97
+ BlockMarketManager.addCategories([
98
+ {
99
+ title: "Custom",
100
+ name: "custom",
101
+ blocks: [
102
+ {
103
+ type: BasicType.TEXT,
104
+ title: "Text",
105
+ description: "This block allows you to display text in your email.",
106
+ component: () => {
107
+ return (
108
+ <BlockMaskWrapper
109
+ type={BasicType.TEXT}
110
+ payload={{
111
+ attributes: {
112
+ "font-size": "20px",
113
+ align: "center",
114
+ padding: "0px 0px 0px 0px",
115
+ color: "#4A90E2",
116
+ },
117
+ data: {
118
+ value: {
119
+ content: "20px",
120
+ },
121
+ },
122
+ }}
123
+ >
124
+ <div style={{ fontSize: 20, width: "100%", paddingLeft: 20 }}>
125
+ 20px
126
+ </div>
127
+ </BlockMaskWrapper>
128
+ );
129
+ },
130
+ },
131
+ ],
132
+ },
133
+ ]);
134
+ ```
135
+
136
+ - `SimpleLayout`
137
+
138
+ - All in one extension, provide basic and complete layout example. Refer to the above extension for configuration items.