@emailmaker/emailmaker 1.1.85-dev.10 → 1.1.85-dev.11

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 (501) hide show
  1. package/README.md +73 -41
  2. package/compat-globals.js +1 -1
  3. package/emailmaker-core.d8f06ef8.js +859 -0
  4. package/emailmaker-esm.js +11 -11
  5. package/{emailmaker-po.8a98eb63.js → emailmaker-po.d8f06ef8.js} +1 -1
  6. package/emailmaker.d.ts +109 -25
  7. package/emailmaker.js +39 -15
  8. package/iframe/.vite/manifest.json +4 -4
  9. package/iframe/js/discussHandlers.DpogBvtl.js +88 -0
  10. package/iframe/js/{iframe-eblock.body.js → iframe-eblock.body.d8f06ef8.js} +1 -1
  11. package/iframe/js/iframe-eblock.js +2 -2
  12. package/iframe/js/{iframe.body.js → iframe.body.d8f06ef8.js} +35 -35
  13. package/iframe/js/iframe.js +2 -2
  14. package/package.json +4 -1
  15. package/runtime/THIRD_PARTY_LICENSES.txt +49 -42
  16. package/runtime/package.json +4 -1
  17. package/runtime/react/index.js +1 -1
  18. package/runtime/uuid/index.js +21 -0
  19. package/static/core/15af2b29.js +1 -0
  20. package/static/core/1a079af7.js +27 -0
  21. package/static/core/{6be08373.js → 1e650cb3.js} +1 -1
  22. package/static/core/2b02bfec.js +2 -0
  23. package/static/core/{3b8b6bb0.js → 2c0d88ff.js} +1 -1
  24. package/static/core/{4aed1398.js → 30fecb60.js} +7 -7
  25. package/static/core/34aedeaf.js +1 -0
  26. package/static/core/36ae93da.js +1 -0
  27. package/static/core/{3364944b.js → 3ab4db57.js} +1 -1
  28. package/static/core/{1193bb41.js → 3efc4ec8.js} +1 -1
  29. package/static/core/{1c13f798.js → 40d9b4e4.js} +1 -1
  30. package/static/core/{cbcede3f.js → 4797d4f7.js} +7 -7
  31. package/static/core/51b2aae7.js +1 -0
  32. package/static/core/{99c2b321.js → 61ae67b6.js} +1 -1
  33. package/static/core/66bcf2f4.js +1 -0
  34. package/static/core/7606705b.js +7 -0
  35. package/static/core/76d1f317.js +1 -0
  36. package/static/core/{21c9f165.js → 7c3a126d.js} +5 -5
  37. package/static/core/{9de73615.js → 7f73a221.js} +1 -1
  38. package/static/core/{ec289c6e.js → 90061c56.js} +1 -1
  39. package/static/core/{bebf981d.js → 918c30e2.js} +6 -6
  40. package/static/core/9a406203.js +28 -0
  41. package/static/core/{cd9d9cfd.js → a38cd4c8.js} +1 -1
  42. package/static/core/{3daf51db.js → ad8c60e8.js} +3 -3
  43. package/static/core/{4bfe3961.js → ad999fe5.js} +2 -2
  44. package/static/core/b416d219.js +1 -0
  45. package/static/core/ba3477cd.js +1 -0
  46. package/static/core/d0b845c8.js +1 -0
  47. package/static/core/d5a3b772.js +1 -0
  48. package/static/core/{18aa476c.js → e648952b.js} +1 -1
  49. package/static/core/f7baa937.js +1 -0
  50. package/static/esm/2490dab8.js +1 -0
  51. package/static/esm/7f198b88.js +1 -0
  52. package/static/esm/971f1b2c.js +1 -0
  53. package/static/esm/f76c9d9d.js +1 -0
  54. package/static/umd/3f12d6ff.js +1 -0
  55. package/static/umd-runtime/{CKPvGq1V.js → CXeo_4Wo.js} +1 -1
  56. package/static/umd-runtime/CqMyE0Uc.js +341 -0
  57. package/static/umd-runtime/{CLdQLcWb.js → CzJl_OWE.js} +1 -1
  58. package/static/umd-runtime/{Cfglgyi_.js → DHbLOxHw.js} +1 -1
  59. package/static/umd-runtime/{Dapct6er.js → DJs7nSi6.js} +1 -1
  60. package/static/umd-runtime/{DK72AzBY.js → DLNNm9qB.js} +1 -1
  61. package/static/umd-runtime/{-HpwEpwH.js → DRAM_elr.js} +3 -3
  62. package/static/umd-runtime/{CgYMn5fZ.js → DTloyvLC.js} +1 -1
  63. package/static/umd-runtime/{BFxYqYWf.js → DYZMXiWv.js} +2 -2
  64. package/static/umd-runtime/Dxubut77.js +1 -0
  65. package/static/umd-runtime/{Gn4yF-9a.js → ElFNizMF.js} +1 -1
  66. package/static/umd-runtime/{ZH-8P1YS.js → eK-pjJXU.js} +1 -1
  67. package/static/umd-runtime/runtime.js +1 -1
  68. package/static/umd-runtime/ui-kit-icons.js +1 -1
  69. package/static/umd-runtime/ui-kit.js +2 -2
  70. package/static/umd-runtime/{BClKfJvv.js → ytvvaFpU.js} +1 -1
  71. package/vendor/@emailmaker/ui-kit/es/components/DataEntry/Input/index.js +1 -1
  72. package/vendor/@emailmaker/ui-kit/package.json +1 -1
  73. package/vendor/@rc-component/cascader/package.json +1 -1
  74. package/vendor/@rc-component/dialog/es/Dialog/Content/Panel.js +3 -2
  75. package/vendor/@rc-component/dialog/package.json +1 -1
  76. package/vendor/@rc-component/image/es/Preview/index.js +3 -3
  77. package/vendor/@rc-component/image/package.json +1 -1
  78. package/vendor/@rc-component/input/es/BaseInput.js +3 -3
  79. package/vendor/@rc-component/input/es/Input.js +20 -27
  80. package/vendor/@rc-component/{textarea → input}/es/ResizableTextArea.js +5 -4
  81. package/vendor/@rc-component/{textarea → input}/es/TextArea.js +30 -40
  82. package/vendor/@rc-component/{textarea → input}/es/calculateNodeHeight.js +4 -4
  83. package/vendor/@rc-component/input/es/hooks/useCountDisplay.js +25 -0
  84. package/vendor/@rc-component/input/es/hooks/useCountExceed.js +25 -0
  85. package/vendor/@rc-component/input/es/hooks/useMergedValue.js +13 -0
  86. package/vendor/@rc-component/input/es/index.js +3 -1
  87. package/vendor/@rc-component/input/package.json +1 -1
  88. package/vendor/@rc-component/mentions/es/DropdownMenu.js +1 -1
  89. package/vendor/@rc-component/mentions/es/Mentions.js +35 -8
  90. package/vendor/@rc-component/mentions/package.json +1 -1
  91. package/vendor/@rc-component/menu/es/Menu.js +1 -0
  92. package/vendor/@rc-component/menu/es/MenuItem.js +1 -0
  93. package/vendor/@rc-component/menu/es/MenuItemGroup.js +1 -0
  94. package/vendor/@rc-component/menu/es/SubMenu/PopupTrigger.js +1 -0
  95. package/vendor/@rc-component/menu/es/SubMenu/index.js +1 -0
  96. package/vendor/@rc-component/menu/es/context/MenuContext.js +1 -0
  97. package/vendor/@rc-component/menu/es/hooks/useAccessibility.js +1 -0
  98. package/vendor/@rc-component/menu/es/hooks/useKeyRecords.js +1 -0
  99. package/vendor/@rc-component/menu/es/utils/commonUtil.js +1 -0
  100. package/vendor/@rc-component/menu/es/utils/nodeUtil.js +2 -1
  101. package/vendor/@rc-component/menu/es/utils/warnUtil.js +1 -0
  102. package/vendor/@rc-component/menu/package.json +1 -1
  103. package/vendor/@rc-component/notification/LICENSE +21 -0
  104. package/vendor/@rc-component/notification/_/@rc-component/util/LICENSE +22 -0
  105. package/vendor/@rc-component/notification/_/@rc-component/util/es/Children/toArray.js +15 -0
  106. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/canUseDom.js +6 -0
  107. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/contains.js +13 -0
  108. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/dynamicCSS.js +94 -0
  109. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/findDOMNode.js +14 -0
  110. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/focus.js +99 -0
  111. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/isVisible.js +18 -0
  112. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/shadow.js +12 -0
  113. package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/styleChecker.js +2 -0
  114. package/vendor/@rc-component/notification/_/@rc-component/util/es/KeyCode.js +499 -0
  115. package/vendor/@rc-component/notification/_/@rc-component/util/es/Portal.js +28 -0
  116. package/vendor/@rc-component/notification/_/@rc-component/util/es/React/isFragment.js +12 -0
  117. package/vendor/@rc-component/notification/_/@rc-component/util/es/React/render.js +2 -0
  118. package/vendor/@rc-component/notification/_/@rc-component/util/es/getScrollBarSize.js +2 -0
  119. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useControlledState.js +3 -0
  120. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useDelayState.js +4 -0
  121. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useEvent.js +9 -0
  122. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useId.js +23 -0
  123. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useLayoutEffect.js +26 -0
  124. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useMemo.js +12 -0
  125. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useMergedState.js +4 -0
  126. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useState.js +24 -0
  127. package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useSyncState.js +20 -0
  128. package/vendor/@rc-component/notification/_/@rc-component/util/es/index.js +36 -0
  129. package/vendor/@rc-component/notification/_/@rc-component/util/es/is.js +21 -0
  130. package/vendor/@rc-component/notification/_/@rc-component/util/es/isEqual.js +35 -0
  131. package/vendor/@rc-component/notification/_/@rc-component/util/es/isMobile.js +11 -0
  132. package/vendor/@rc-component/notification/_/@rc-component/util/es/mergeProps.js +14 -0
  133. package/vendor/@rc-component/notification/_/@rc-component/util/es/omit.js +1 -0
  134. package/vendor/@rc-component/notification/_/@rc-component/util/es/pickAttrs.js +50 -0
  135. package/vendor/@rc-component/notification/_/@rc-component/util/es/proxyObject.js +1 -0
  136. package/vendor/@rc-component/notification/_/@rc-component/util/es/raf.js +36 -0
  137. package/vendor/@rc-component/notification/_/@rc-component/util/es/ref.js +38 -0
  138. package/vendor/@rc-component/notification/_/@rc-component/util/es/test/domHook.js +36 -0
  139. package/vendor/@rc-component/notification/_/@rc-component/util/es/utils/get.js +11 -0
  140. package/vendor/@rc-component/notification/_/@rc-component/util/es/utils/set.js +58 -0
  141. package/vendor/@rc-component/notification/_/@rc-component/util/es/warning.js +46 -0
  142. package/vendor/@rc-component/notification/_/@rc-component/util/package.json +6 -0
  143. package/vendor/@rc-component/notification/es/Notification.js +129 -0
  144. package/vendor/@rc-component/notification/es/NotificationList/Content.js +33 -0
  145. package/vendor/@rc-component/notification/es/NotificationList/index.js +174 -0
  146. package/vendor/@rc-component/notification/es/NotificationProvider.js +4 -3
  147. package/vendor/@rc-component/notification/es/Notifications.js +28 -31
  148. package/vendor/@rc-component/notification/es/Progress.js +10 -0
  149. package/vendor/@rc-component/notification/es/hooks/useClosable.js +30 -0
  150. package/vendor/@rc-component/notification/es/hooks/useListPosition/index.js +50 -0
  151. package/vendor/@rc-component/notification/es/hooks/useListPosition/useSizes.js +33 -0
  152. package/vendor/@rc-component/notification/es/hooks/useNoticeTimer.js +58 -0
  153. package/vendor/@rc-component/notification/es/hooks/useNotification.js +27 -18
  154. package/vendor/@rc-component/notification/es/hooks/useStack.js +4 -4
  155. package/vendor/@rc-component/notification/es/index.js +4 -2
  156. package/vendor/@rc-component/notification/package.json +1 -1
  157. package/vendor/@rc-component/picker/es/PickerInput/Selector/SingleSelector/MultipleDates.js +13 -3
  158. package/vendor/@rc-component/picker/es/PickerInput/Selector/SingleSelector/index.js +3 -1
  159. package/vendor/@rc-component/picker/es/PickerInput/SinglePicker.js +2 -1
  160. package/vendor/@rc-component/picker/package.json +1 -1
  161. package/vendor/@rc-component/table/LICENSE +21 -0
  162. package/vendor/@rc-component/table/es/Body/MeasureCell.js +1 -0
  163. package/vendor/@rc-component/table/es/Body/MeasureRow.js +1 -0
  164. package/vendor/@rc-component/table/es/Cell/useCellRender.js +1 -0
  165. package/vendor/@rc-component/table/es/FixedHolder/index.js +1 -0
  166. package/vendor/@rc-component/table/es/Table.js +17 -9
  167. package/vendor/@rc-component/table/es/VirtualTable/BodyGrid.js +10 -4
  168. package/vendor/@rc-component/table/es/VirtualTable/BodyLine.js +13 -5
  169. package/vendor/@rc-component/table/es/hooks/useColumns/index.js +1 -0
  170. package/vendor/@rc-component/table/es/hooks/useExpand.js +1 -0
  171. package/vendor/@rc-component/table/es/hooks/useFixedInfo.js +1 -0
  172. package/vendor/@rc-component/table/es/hooks/useSticky.js +1 -0
  173. package/vendor/@rc-component/table/es/index.js +2 -1
  174. package/vendor/@rc-component/table/es/stickyScrollBar.js +1 -0
  175. package/vendor/@rc-component/table/es/utils/legacyUtil.js +1 -0
  176. package/vendor/@rc-component/table/es/utils/offsetUtil.js +1 -0
  177. package/vendor/@rc-component/table/package.json +1 -1
  178. package/vendor/@rc-component/tabs/es/TabNavList/OperationNode.js +4 -2
  179. package/vendor/@rc-component/tabs/es/TabNavList/TabNode.js +5 -4
  180. package/vendor/@rc-component/tabs/es/TabNavList/index.js +11 -4
  181. package/vendor/@rc-component/tabs/es/Tabs.js +1 -0
  182. package/vendor/@rc-component/tabs/es/hooks/useAnimateConfig.js +1 -0
  183. package/vendor/@rc-component/tabs/es/hooks/useIndicator.js +1 -0
  184. package/vendor/@rc-component/tabs/es/hooks/useUpdate.js +1 -0
  185. package/vendor/@rc-component/tabs/package.json +1 -1
  186. package/vendor/@rc-component/tour/es/TourStep/DefaultPanel.js +4 -1
  187. package/vendor/@rc-component/tour/package.json +1 -1
  188. package/vendor/@rc-component/tree/es/MotionTreeNode.js +1 -0
  189. package/vendor/@rc-component/tree/es/NodeList.js +2 -2
  190. package/vendor/@rc-component/tree/es/Tree.js +4 -5
  191. package/vendor/@rc-component/tree/es/TreeNode.js +7 -2
  192. package/vendor/@rc-component/tree/es/index.js +3 -0
  193. package/vendor/@rc-component/tree/es/useUnmount.js +1 -0
  194. package/vendor/@rc-component/tree/es/util.js +1 -0
  195. package/vendor/@rc-component/tree/es/utils/conductUtil.js +1 -0
  196. package/vendor/@rc-component/tree/es/utils/treeUtil.js +1 -0
  197. package/vendor/@rc-component/tree/package.json +1 -1
  198. package/vendor/@rc-component/tree-select/package.json +1 -1
  199. package/vendor/@rc-component/util/es/index.js +10 -10
  200. package/vendor/antd/es/_util/ActionButton.js +2 -3
  201. package/vendor/antd/es/_util/ContextIsolator.js +1 -1
  202. package/vendor/antd/es/_util/PurePanel.js +7 -4
  203. package/vendor/antd/es/_util/convertToTooltipProps.js +2 -2
  204. package/vendor/antd/es/_util/fallbackProp.js +15 -0
  205. package/vendor/antd/es/_util/gapSize.js +2 -1
  206. package/vendor/antd/es/_util/getRenderPropValue.js +2 -1
  207. package/vendor/antd/es/_util/getScroll.js +4 -4
  208. package/vendor/antd/es/_util/hooks/index.js +2 -2
  209. package/vendor/antd/es/_util/hooks/useAllowClear.js +25 -0
  210. package/vendor/antd/es/_util/hooks/useClosable.js +6 -5
  211. package/vendor/antd/es/_util/hooks/{useMergeSemantic.js → useMergeSemantic/index.js} +14 -24
  212. package/vendor/antd/es/_util/hooks/useMergeSemantic/utils.js +14 -0
  213. package/vendor/antd/es/_util/hooks/useMergedMask.js +2 -1
  214. package/vendor/antd/es/_util/is.js +27 -0
  215. package/vendor/antd/es/_util/motion.js +8 -8
  216. package/vendor/antd/es/_util/normalizeIcon.js +9 -0
  217. package/vendor/antd/es/_util/placements.js +2 -1
  218. package/vendor/antd/es/_util/reactNode.js +2 -1
  219. package/vendor/antd/es/_util/responsiveObserver.js +3 -2
  220. package/vendor/antd/es/_util/scrollTo.js +3 -1
  221. package/vendor/antd/es/_util/styleChecker.js +1 -0
  222. package/vendor/antd/es/_util/throttleByAnimationFrame.js +1 -0
  223. package/vendor/antd/es/_util/toList.js +1 -1
  224. package/vendor/antd/es/_util/wave/WaveEffect.js +3 -1
  225. package/vendor/antd/es/_util/wave/index.js +14 -4
  226. package/vendor/antd/es/_util/wave/util.js +5 -3
  227. package/vendor/antd/es/alert/Alert.js +12 -10
  228. package/vendor/antd/es/alert/ErrorBoundary.js +1 -1
  229. package/vendor/antd/es/alert/style/index.js +16 -10
  230. package/vendor/antd/es/anchor/Anchor.js +23 -16
  231. package/vendor/antd/es/anchor/AnchorLink.js +4 -4
  232. package/vendor/antd/es/app/App.js +7 -3
  233. package/vendor/antd/es/auto-complete/AutoComplete.js +7 -8
  234. package/vendor/antd/es/avatar/Avatar.js +5 -3
  235. package/vendor/antd/es/back-top/index.js +1 -0
  236. package/vendor/antd/es/badge/Badge.js +5 -6
  237. package/vendor/antd/es/badge/Ribbon.js +1 -2
  238. package/vendor/antd/es/badge/style/index.js +4 -3
  239. package/vendor/antd/es/border-beam/BorderBeam.js +42 -0
  240. package/vendor/antd/es/border-beam/BorderBeamEffect.js +24 -0
  241. package/vendor/antd/es/border-beam/hooks/useBorderSize.js +37 -0
  242. package/vendor/antd/es/border-beam/hooks/useChildDom.js +24 -0
  243. package/vendor/antd/es/border-beam/index.js +7 -0
  244. package/vendor/antd/es/border-beam/style/index.js +60 -0
  245. package/vendor/antd/es/border-beam/util.js +26 -0
  246. package/vendor/antd/es/breadcrumb/Breadcrumb.js +1 -2
  247. package/vendor/antd/es/breadcrumb/BreadcrumbItem.js +1 -1
  248. package/vendor/antd/es/breadcrumb/useItemRender.js +3 -2
  249. package/vendor/antd/es/button/Button.js +7 -6
  250. package/vendor/antd/es/button/buttonHelpers.js +4 -8
  251. package/vendor/antd/es/button/index.js +2 -2
  252. package/vendor/antd/es/button/style/index.js +5 -0
  253. package/vendor/antd/es/calendar/generateCalendar.js +20 -8
  254. package/vendor/antd/es/card/Card.js +5 -7
  255. package/vendor/antd/es/card/CardMeta.js +1 -2
  256. package/vendor/antd/es/carousel/index.js +2 -1
  257. package/vendor/antd/es/cascader/Panel.js +1 -1
  258. package/vendor/antd/es/cascader/index.js +23 -16
  259. package/vendor/antd/es/cascader/style/columns.js +6 -2
  260. package/vendor/antd/es/checkbox/Checkbox.js +2 -3
  261. package/vendor/antd/es/checkbox/Group.js +2 -1
  262. package/vendor/antd/es/checkbox/style/index.js +1 -5
  263. package/vendor/antd/es/checkbox/useBubbleLock.js +1 -0
  264. package/vendor/antd/es/collapse/Collapse.js +3 -3
  265. package/vendor/antd/es/collapse/style/index.js +1 -4
  266. package/vendor/antd/es/color-picker/ColorPicker.js +1 -2
  267. package/vendor/antd/es/color-picker/ColorPickerPanel.js +2 -1
  268. package/vendor/antd/es/color-picker/components/ColorTrigger.js +3 -1
  269. package/vendor/antd/es/color-picker/components/PanelPicker/index.js +1 -0
  270. package/vendor/antd/es/config-provider/hooks/useSize.js +3 -2
  271. package/vendor/antd/es/config-provider/hooks/useTheme.js +2 -0
  272. package/vendor/antd/es/config-provider/index.js +11 -3
  273. package/vendor/antd/es/date-picker/generatePicker/generateRangePicker.js +20 -10
  274. package/vendor/antd/es/date-picker/generatePicker/generateSinglePicker.js +17 -8
  275. package/vendor/antd/es/date-picker/generatePicker/useSuffixIcon.js +1 -1
  276. package/vendor/antd/es/date-picker/hooks/useMergedPickerSemantic.js +1 -2
  277. package/vendor/antd/es/date-picker/style/index.js +13 -3
  278. package/vendor/antd/es/date-picker/style/multiple.js +3 -4
  279. package/vendor/antd/es/date-picker/style/panel.js +5 -20
  280. package/vendor/antd/es/date-picker/util.js +14 -13
  281. package/vendor/antd/es/descriptions/Cell.js +2 -3
  282. package/vendor/antd/es/descriptions/hooks/useItems.js +2 -1
  283. package/vendor/antd/es/descriptions/index.js +3 -3
  284. package/vendor/antd/es/divider/index.js +3 -2
  285. package/vendor/antd/es/drawer/Drawer.js +10 -5
  286. package/vendor/antd/es/drawer/DrawerPanel.js +3 -2
  287. package/vendor/antd/es/dropdown/dropdown.js +11 -8
  288. package/vendor/antd/es/dropdown/style/index.js +2 -6
  289. package/vendor/antd/es/empty/index.js +1 -2
  290. package/vendor/antd/es/flex/index.js +2 -2
  291. package/vendor/antd/es/float-button/BackTop.js +1 -0
  292. package/vendor/antd/es/float-button/FloatButton.js +3 -3
  293. package/vendor/antd/es/float-button/FloatButtonGroup.js +2 -2
  294. package/vendor/antd/es/form/ErrorList.js +13 -6
  295. package/vendor/antd/es/form/Form.js +7 -6
  296. package/vendor/antd/es/form/FormItem/ItemHolder.js +1 -1
  297. package/vendor/antd/es/form/FormItem/index.js +6 -6
  298. package/vendor/antd/es/form/FormItemInput.js +5 -3
  299. package/vendor/antd/es/form/FormItemLabel.js +2 -1
  300. package/vendor/antd/es/form/FormList.js +1 -0
  301. package/vendor/antd/es/form/hooks/useChildren.js +4 -3
  302. package/vendor/antd/es/form/hooks/useForm.js +3 -1
  303. package/vendor/antd/es/form/hooks/useFrameState.js +1 -0
  304. package/vendor/antd/es/form/hooks/useItemRef.js +7 -5
  305. package/vendor/antd/es/form/style/index.js +1 -3
  306. package/vendor/antd/es/grid/col.js +5 -7
  307. package/vendor/antd/es/grid/hooks/useBreakpoint.js +1 -0
  308. package/vendor/antd/es/grid/hooks/useGutter.js +2 -1
  309. package/vendor/antd/es/grid/row.js +7 -6
  310. package/vendor/antd/es/image/PreviewGroup.js +1 -2
  311. package/vendor/antd/es/image/Progress.js +58 -0
  312. package/vendor/antd/es/image/hooks/useMergedPreviewConfig.js +3 -1
  313. package/vendor/antd/es/image/hooks/usePlaceholderConfig.js +15 -0
  314. package/vendor/antd/es/image/hooks/usePreviewConfig.js +3 -2
  315. package/vendor/antd/es/image/index.js +36 -5
  316. package/vendor/antd/es/image/style/index.js +114 -4
  317. package/vendor/antd/es/image/style/progressAnimation.js +26 -0
  318. package/vendor/antd/es/index.js +2 -1
  319. package/vendor/antd/es/input/Input.js +9 -4
  320. package/vendor/antd/es/input/OTP/OTPInput.js +1 -0
  321. package/vendor/antd/es/input/OTP/index.js +3 -3
  322. package/vendor/antd/es/input/Password.js +45 -26
  323. package/vendor/antd/es/input/Search.js +6 -5
  324. package/vendor/antd/es/input/TextArea.js +13 -7
  325. package/vendor/antd/es/input/style/index.js +17 -11
  326. package/vendor/antd/es/input/style/otp.js +2 -1
  327. package/vendor/antd/es/input/style/variants.js +16 -10
  328. package/vendor/antd/es/input-number/index.js +3 -3
  329. package/vendor/antd/es/input-number/style/index.js +9 -9
  330. package/vendor/antd/es/layout/Sider.js +3 -2
  331. package/vendor/antd/es/list/index.js +5 -3
  332. package/vendor/antd/es/locale/en_US.js +3 -1
  333. package/vendor/antd/es/locale/ru_RU.js +3 -1
  334. package/vendor/antd/es/locale/useLocale.js +2 -1
  335. package/vendor/antd/es/masonry/Masonry.js +4 -3
  336. package/vendor/antd/es/mentions/index.js +28 -14
  337. package/vendor/antd/es/menu/MenuItem.js +2 -1
  338. package/vendor/antd/es/menu/OverrideContext.js +1 -0
  339. package/vendor/antd/es/menu/SubMenu.js +1 -1
  340. package/vendor/antd/es/menu/menu.js +5 -5
  341. package/vendor/antd/es/menu/style/index.js +21 -36
  342. package/vendor/antd/es/menu/style/vertical.js +2 -1
  343. package/vendor/antd/es/message/PureList.js +49 -0
  344. package/vendor/antd/es/message/PurePanel.js +28 -36
  345. package/vendor/antd/es/message/index.js +6 -3
  346. package/vendor/antd/es/message/style/index.js +102 -99
  347. package/vendor/antd/es/message/useMessage.js +29 -33
  348. package/vendor/antd/es/message/util.js +1 -1
  349. package/vendor/antd/es/modal/ConfirmDialog.js +11 -9
  350. package/vendor/antd/es/modal/Modal.js +12 -7
  351. package/vendor/antd/es/modal/PurePanel.js +1 -2
  352. package/vendor/antd/es/modal/confirm.js +4 -3
  353. package/vendor/antd/es/modal/shared.js +3 -2
  354. package/vendor/antd/es/modal/useModal/HookModal.js +2 -1
  355. package/vendor/antd/es/notification/PureList.js +46 -0
  356. package/vendor/antd/es/notification/PurePanel.js +37 -56
  357. package/vendor/antd/es/notification/hooks/useStackConfig.js +13 -0
  358. package/vendor/antd/es/notification/index.js +3 -1
  359. package/vendor/antd/es/notification/style/index.js +103 -170
  360. package/vendor/antd/es/notification/style/notification.js +191 -0
  361. package/vendor/antd/es/notification/style/placement.js +117 -60
  362. package/vendor/antd/es/notification/useNotification.js +37 -40
  363. package/vendor/antd/es/notification/util.js +9 -50
  364. package/vendor/antd/es/pagination/Pagination.js +1 -2
  365. package/vendor/antd/es/pagination/useShowSizeChanger.js +2 -1
  366. package/vendor/antd/es/popconfirm/PurePanel.js +4 -1
  367. package/vendor/antd/es/popconfirm/index.js +1 -2
  368. package/vendor/antd/es/popover/PurePanel.js +1 -2
  369. package/vendor/antd/es/popover/index.js +1 -2
  370. package/vendor/antd/es/progress/Circle.js +2 -1
  371. package/vendor/antd/es/progress/progress.js +3 -3
  372. package/vendor/antd/es/progress/utils.js +4 -3
  373. package/vendor/antd/es/qr-code/index.js +4 -4
  374. package/vendor/antd/es/radio/group.js +4 -3
  375. package/vendor/antd/es/radio/radio.js +2 -2
  376. package/vendor/antd/es/radio/style/index.js +1 -1
  377. package/vendor/antd/es/rate/index.js +2 -4
  378. package/vendor/antd/es/result/index.js +6 -5
  379. package/vendor/antd/es/result/style/index.js +10 -6
  380. package/vendor/antd/es/segmented/index.js +5 -3
  381. package/vendor/antd/es/select/index.js +23 -12
  382. package/vendor/antd/es/select/style/dropdown.js +1 -1
  383. package/vendor/antd/es/select/style/select-input.js +23 -15
  384. package/vendor/antd/es/select/useIcons.js +43 -26
  385. package/vendor/antd/es/skeleton/Element.js +2 -1
  386. package/vendor/antd/es/skeleton/Skeleton.js +3 -3
  387. package/vendor/antd/es/slider/SliderTooltip.js +1 -0
  388. package/vendor/antd/es/slider/index.js +5 -3
  389. package/vendor/antd/es/slider/useRafLock.js +1 -0
  390. package/vendor/antd/es/space/Compact.js +1 -1
  391. package/vendor/antd/es/space/Item.js +1 -1
  392. package/vendor/antd/es/space/index.js +2 -2
  393. package/vendor/antd/es/space/style/addon.js +5 -2
  394. package/vendor/antd/es/spin/Indicator/Progress.js +2 -1
  395. package/vendor/antd/es/spin/index.js +1 -2
  396. package/vendor/antd/es/splitter/Panel.js +7 -3
  397. package/vendor/antd/es/splitter/SplitBar.js +5 -4
  398. package/vendor/antd/es/splitter/Splitter.js +9 -6
  399. package/vendor/antd/es/splitter/hooks/useItems.js +2 -1
  400. package/vendor/antd/es/splitter/hooks/useSizes.js +1 -1
  401. package/vendor/antd/es/splitter/style/index.js +8 -6
  402. package/vendor/antd/es/statistic/Number.js +8 -4
  403. package/vendor/antd/es/statistic/Statistic.js +14 -10
  404. package/vendor/antd/es/steps/index.js +4 -4
  405. package/vendor/antd/es/style/compact-item-vertical.js +2 -1
  406. package/vendor/antd/es/style/compact-item.js +6 -6
  407. package/vendor/antd/es/switch/index.js +1 -2
  408. package/vendor/antd/es/table/InternalTable.js +23 -14
  409. package/vendor/antd/es/table/hooks/useFilledColumns.js +23 -0
  410. package/vendor/antd/es/table/hooks/useFilter/FilterDropdown.js +22 -16
  411. package/vendor/antd/es/table/hooks/useFilter/FilterWrapper.js +1 -0
  412. package/vendor/antd/es/table/hooks/useFilter/index.js +34 -18
  413. package/vendor/antd/es/table/hooks/useLazyKVMap.js +2 -1
  414. package/vendor/antd/es/table/hooks/usePagination.js +7 -4
  415. package/vendor/antd/es/table/hooks/useSelection.js +32 -21
  416. package/vendor/antd/es/table/hooks/useSorter.js +10 -5
  417. package/vendor/antd/es/table/style/bordered.js +5 -27
  418. package/vendor/antd/es/table/style/empty.js +1 -4
  419. package/vendor/antd/es/table/style/index.js +1 -4
  420. package/vendor/antd/es/table/util.js +6 -6
  421. package/vendor/antd/es/tabs/hooks/useAnimateConfig.js +2 -1
  422. package/vendor/antd/es/tabs/index.js +1 -2
  423. package/vendor/antd/es/tag/CheckableTagGroup.js +8 -5
  424. package/vendor/antd/es/tag/hooks/useColor.js +4 -3
  425. package/vendor/antd/es/tag/index.js +13 -7
  426. package/vendor/antd/es/theme/themes/dark/colors.js +2 -1
  427. package/vendor/antd/es/theme/themes/default/colors.js +2 -1
  428. package/vendor/antd/es/theme/useToken.js +2 -2
  429. package/vendor/antd/es/theme/util/alias.js +34 -29
  430. package/vendor/antd/es/timeline/Timeline.js +3 -4
  431. package/vendor/antd/es/tooltip/PurePanel.js +1 -2
  432. package/vendor/antd/es/tooltip/UniqueProvider/index.js +2 -1
  433. package/vendor/antd/es/tooltip/index.js +9 -7
  434. package/vendor/antd/es/tour/PurePanel.js +2 -2
  435. package/vendor/antd/es/tour/index.js +1 -1
  436. package/vendor/antd/es/tour/panelRender.js +4 -2
  437. package/vendor/antd/es/transfer/ListBody.js +3 -1
  438. package/vendor/antd/es/transfer/ListItem.js +2 -1
  439. package/vendor/antd/es/transfer/Section.js +17 -8
  440. package/vendor/antd/es/transfer/index.js +51 -16
  441. package/vendor/antd/es/transfer/style/index.js +5 -1
  442. package/vendor/antd/es/tree/Tree.js +1 -2
  443. package/vendor/antd/es/tree/style/index.js +5 -1
  444. package/vendor/antd/es/tree/utils/iconUtil.js +5 -4
  445. package/vendor/antd/es/tree-select/index.js +3 -3
  446. package/vendor/antd/es/typography/Base/CopyBtn.js +3 -2
  447. package/vendor/antd/es/typography/Base/Ellipsis.js +3 -3
  448. package/vendor/antd/es/typography/Base/index.js +38 -31
  449. package/vendor/antd/es/typography/Editable.js +10 -4
  450. package/vendor/antd/es/typography/Link.js +1 -0
  451. package/vendor/antd/es/typography/Text.js +2 -1
  452. package/vendor/antd/es/typography/Typography.js +20 -10
  453. package/vendor/antd/es/typography/hooks/useCopyClick.js +2 -1
  454. package/vendor/antd/es/typography/hooks/useMergedConfig.js +13 -7
  455. package/vendor/antd/es/typography/hooks/useTooltipProps.js +2 -1
  456. package/vendor/antd/es/typography/hooks/useTypographySemantic.js +33 -0
  457. package/vendor/antd/es/typography/style/index.js +12 -27
  458. package/vendor/antd/es/typography/style/mixins.js +46 -13
  459. package/vendor/antd/es/upload/Upload.js +13 -7
  460. package/vendor/antd/es/upload/UploadList/ListItem.js +6 -5
  461. package/vendor/antd/es/upload/UploadList/index.js +4 -3
  462. package/vendor/antd/es/upload/utils.js +18 -1
  463. package/vendor/antd/es/version/version.js +1 -1
  464. package/vendor/antd/es/watermark/index.js +6 -4
  465. package/vendor/antd/es/watermark/useSingletonCache.js +1 -0
  466. package/vendor/antd/es/watermark/useWatermark.js +3 -3
  467. package/vendor/antd/package.json +1 -1
  468. package/emailmaker-core.8a98eb63.js +0 -859
  469. package/iframe/js/discussHandlers.CTTzIkqW.js +0 -88
  470. package/static/core/132074fc.js +0 -1
  471. package/static/core/2a4178e1.js +0 -1
  472. package/static/core/312b689d.js +0 -7
  473. package/static/core/36d57a50.js +0 -28
  474. package/static/core/420fc89a.js +0 -27
  475. package/static/core/45127a77.js +0 -1
  476. package/static/core/5e35e5e8.js +0 -1
  477. package/static/core/9e0696a3.js +0 -1
  478. package/static/core/b0ddc500.js +0 -2
  479. package/static/core/c5e3e58d.js +0 -1
  480. package/static/core/d612bba8.js +0 -1
  481. package/static/core/dd6e4977.js +0 -1
  482. package/static/core/fb589d00.js +0 -1
  483. package/static/esm/50fbfdf6.js +0 -1
  484. package/static/esm/e1e55006.js +0 -1
  485. package/static/media/icon-sets/lucide.json +0 -6275
  486. package/static/media/icon-sets/tabler.json +0 -19336
  487. package/static/umd-runtime/V5NCqAWA.js +0 -1
  488. package/static/umd-runtime/XrKalJq-.js +0 -335
  489. package/vendor/@rc-component/notification/es/Notice.js +0 -106
  490. package/vendor/@rc-component/notification/es/NoticeList.js +0 -98
  491. package/vendor/@rc-component/textarea/LICENSE.md +0 -9
  492. package/vendor/@rc-component/textarea/es/index.js +0 -6
  493. package/vendor/@rc-component/textarea/package.json +0 -6
  494. package/vendor/antd/es/_util/extendsObject.js +0 -12
  495. package/vendor/antd/es/_util/getAllowClear.js +0 -12
  496. package/vendor/antd/es/_util/isNonNullable.js +0 -6
  497. package/vendor/antd/es/_util/isPrimitive.js +0 -4
  498. package/vendor/antd/es/notification/style/pure-panel.js +0 -18
  499. package/vendor/antd/es/notification/style/stack.js +0 -85
  500. /package/iframe/{iframe-eblock.8a98eb63.html → iframe-eblock.d8f06ef8.html} +0 -0
  501. /package/iframe/{iframe.8a98eb63.html → iframe.d8f06ef8.html} +0 -0
package/README.md CHANGED
@@ -58,7 +58,7 @@ antd и ui-kit — иначе интерфейс падает при отрис
58
58
  | --- | --- |
59
59
  | **`init`** | Обязательно **`content`**. Сигнатура: **`init(options)` → `Promise<Instance>`**. |
60
60
  | Namespace vs **instance** | У модуля **`emailmaker`** — в основном **`init`** (+ именованные ESM-экспорты). **`setConfig`**, **`show`**, **`save`**, **`destroy`** — у **экземпляра** после **`init`**. |
61
- | Повтор на том же DOM | Повторный **`init`** на тот же узел переиспользует редактор (**`reset`**); если прежний ещё стартует — дожидается его. Оба вызова успешны, владеет последний. |
61
+ | Повтор на том же DOM | Повторный **`init`** на тот же узел отдаёт **тот же объект** и применяет опции, как **`setConfig`**. Если прежний ещё стартует — его промис отклоняется **`AbortError`**, успешен второй. **`destroy()`** через любую ссылку уничтожает редактор. Свой объект на вызов — опция **`ownership: 'counted'`**. |
62
62
  | События | **`instance.handle*(…)`** обычно возвращает **отписку**. **`handleSubjectChanged`** / **`handlePreheaderChanged`** — другая сигнатура (см. типы). |
63
63
  | Async | Колбэки и **`getAuthToken`** могут быть **`async`**; ошибки — через **`handleError`** или свою логику. |
64
64
  | Сборка | Без штатного плагина Webpack/Vite задайте **`publicPath`** (**`__emailmaker__`**). Бандл крупный (React, Monaco и др.). |
@@ -216,11 +216,12 @@ emailmaker
216
216
 
217
217
  КОД_ПИСЬМА можно взять из <a href="https://emcdn.ru/plugin/new-email.html" target="_blank">нашего образца</a> или вставить HTML-код своего письма.
218
218
 
219
- ### Ручка редактора: `create()`
219
+ ### Объект редактора сразу: `create()`
220
220
 
221
221
  `init()` возвращает редактор, только когда он готов и письмо из `content` уже показано. Обработчики
222
222
  при этом срабатывают раньше — внутри `init()`, — и сослаться в них на редактор нельзя: переменная
223
- ещё не присвоена. `create()` отдаёт **ручку** сразу, синхронно, а готовность — отдельным промисом:
223
+ ещё не присвоена. `create()` отдаёт **объект редактора** сразу, синхронно, а готовность — отдельным
224
+ промисом:
224
225
 
225
226
  ```javascript
226
227
  const editor = emailmaker.create({
@@ -228,7 +229,7 @@ const editor = emailmaker.create({
228
229
  element: '#editor',
229
230
  content: { email },
230
231
  handleEmailInit: async () => {
231
- // Ручка уже есть — к моменту события она присвоена.
232
+ // Объект уже есть — к моменту события он присвоен.
232
233
  const compiled = await editor.compileEmail(undefined, { amp: true });
233
234
  await saveOnYourSide(compiled);
234
235
  },
@@ -236,11 +237,13 @@ const editor = emailmaker.create({
236
237
  await editor.ready;
237
238
  ```
238
239
 
239
- Ручку можно сразу положить в своё хранилище, подписаться на события или вызвать `destroy()`.
240
+ Это обычный объект, как и результат `init()`: все методы — его собственные поля, их видят
241
+ `Object.keys`, spread и `Object.assign`, любой метод можно подменить своим. Объект можно сразу
242
+ положить в своё хранилище, подписаться на события или вызвать `destroy()`.
240
243
 
241
- Ручка привязывается к редактору, как только он собран, — ещё до показа письма из `content`: так
244
+ Объект привязывается к редактору, как только тот собран, — ещё до показа письма из `content`: так
242
245
  вызовы из обработчиков (как `compileEmail()` выше) доходят до редактора. После привязки все вызовы
243
- идут прямо в редактор. До привязки ручка ведёт себя так:
246
+ идут прямо в редактор. До привязки объект ведёт себя так:
244
247
 
245
248
  | что | до привязки |
246
249
  | --- | --- |
@@ -249,31 +252,20 @@ await editor.ready;
249
252
  | `setEmailMeta`, `setBlockMeta`, `notify` | применяются при готовности, по порядку |
250
253
  | `getElement()` | узел из опций, если он передан элементом; для селектора — `undefined` |
251
254
  | `getCodeErrors()` | пустой список |
252
- | `getConfig()`, `use()`, `container`, `undoRedoService` | бросают — дождитесь `ready` или используйте `useAsync()` |
255
+ | `getConfig()`, `use()` | бросают понятную ошибку — дождитесь `ready` или используйте `useAsync()` |
256
+ | поля `container`, `undoRedoService` | `undefined`; чтение не бросает |
253
257
  | `destroy()` | отменяет инициализацию, `ready` отвергается с `AbortError` |
254
258
 
255
- После `destroy()` ручка отвязана: её подписки сняты, а методы отвергаются, как у уничтоженного
256
- редактора. Если узел уже переиспользовал другой владелец, `destroy()` прежнего редактор не трогает —
257
- забирает только свои подписки.
258
-
259
259
  Между привязкой и `ready` письмо может быть ещё не показано. Если нужен именно показанный документ —
260
260
  например, снимок `getEmailSnapshot()`, — дождитесь `ready`.
261
261
 
262
- Следующий `create()` или `init()` в тот же узел переиспользует его редактор со своими опциями (если
263
- первый ещё стартует — дожидается его): оба вызова завершаются успешно, редактор принадлежит
264
- последнему. Прежняя ручка с этого момента не владелец: события ей больше не приходят, а её `destroy()`
265
- только отвязывает её и редактор не трогает. `destroy()` последней ручки уничтожает редактор — даже до
266
- её `ready`.
267
-
268
- Если новый вызов передаёт те же данные, что и прежний, — то же письмо, конфигурацию, пользователя и
269
- тот же набор обработчиков, пусть даже новыми функциями, как при каждой перерисовке компонента, —
270
- редактор опций заново не применяет: письмо не перепоказывается, `handleSetOptions` и
271
- `handleOptionsChanged` не приходят, события уходят в обработчики нового вызова.
272
-
273
- Ошибка инициализации приходит отказом `ready`. Если ручку создали, а `ready` не ждут, такая ошибка
262
+ Ошибка инициализации приходит отказом `ready`. Если объект создали, а `ready` не ждут, такая ошибка
274
263
  всплывёт в консоли как необработанная — это намеренно: иначе о том, что редактор не поднялся, не
275
264
  узнать. Исключение — `destroy()` до готовности: этот отказ ожидаемый и не шумит.
276
265
 
266
+ Повторный `create()` или `init()` в тот же узел описан ниже, в разделе
267
+ [«Повторный init() в тот же узел»](#повторный-init-в-тот-же-узел).
268
+
277
269
  `await emailmaker.create(options).ready` — это ровно то, что делает `init(options)`: переходить с
278
270
  одного на другое не обязательно.
279
271
 
@@ -387,36 +379,76 @@ await emailmaker.init({ element: '#editor', content, getAuthToken });
387
379
  | метаданные и состояние документа | да |
388
380
  | вёрстка письма | заменяется той, что передали в `content` |
389
381
 
390
- ### Уборка, когда владельцев несколько
382
+ ### Повторный init() в тот же узел
391
383
 
392
- Один контейнер переживает несколько владельцев: страница подняла редактор, следующая вошла в тот же
393
- контейнер и получила его же. Такое бывает и без вашего умысла — React размонтирует прежнюю страницу
394
- **после** того, как смонтировал новую, а в StrictMode вызывает эффект дважды.
384
+ Как ведёт себя повторный `init()` или `create()` в тот же контейнер, задаёт опция `ownership`.
395
385
 
396
- Поэтому `destroy()` уничтожает редактор только у последнего вошедшего. Уборка прежнего владельца
397
- означает «я больше не держу его» и живой экземпляр не трогает:
386
+ **По умолчанию (`ownership: 'single'`) — как в 1.1.89.** У контейнера один объект редактора:
398
387
 
399
388
  ```javascript
400
389
  const first = await emailmaker.init({ element: '#editor', content });
401
- const second = await emailmaker.init({ element: '#editor', content }); // тот же редактор
390
+ const second = await emailmaker.init({ element: '#editor', content, config });
391
+ first === second; // true
402
392
 
403
- first.destroy(); // ничего не уничтожает: владение уже у second
404
- second.destroy(); // уничтожает
393
+ second.destroy(); // уничтожает редактор — через любую ссылку
405
394
  ```
406
395
 
407
- Держите то, что вернул **последний** `init()`. Прежде уборка опоздавшей страницы убивала редактор
408
- под ногами у новой, и следующий показ падал с `DestroyedInstanceError`.
396
+ - Повторный вызов применяет опции, как `setConfig`. Обработчики из опций подменяются сразу: события,
397
+ которые придут дальше, уходят в обработчики нового вызова. Подписки, сделанные через объект
398
+ (`editor.handleSaveEmail(cb)`), живут — объект ведь тот же.
399
+ - Письмо показывается заново, только если оно отличается от последнего, которое вы задали сами —
400
+ через `init`, `show` или `reset`. `init(A)` → `show(B)` → `init(A)` вернёт письмо A. `init(A)` →
401
+ `init(A)` письмо не перерисует, и правки пользователя останутся.
402
+ - Если вызов передаёт те же данные, что и прежний, — то же письмо, конфигурацию, пользователя и тот же
403
+ набор обработчиков, пусть даже новыми функциями, как при каждой перерисовке компонента, — опции
404
+ заново не применяются: `handleSetOptions` и `handleOptionsChanged` не приходят, токен не
405
+ перезапрашивается.
406
+ - Вызов, сделанный, пока прежний ещё стартует, вытесняет его: промис прежнего отклоняется
407
+ `AbortError` (`emailmaker.isSupersededInitError(error)`), успешен только новый. Так ведёт себя и
408
+ React StrictMode без отдельной уборки.
409
+ - `destroy()` через любую ссылку уничтожает редактор, а `handleDestroy`, подписанный через объект,
410
+ срабатывает.
411
+
412
+ **`ownership: 'counted'` — свой объект на каждый вызов.** Нужен, когда редактор в одном контейнере
413
+ делят несколько частей приложения: страница подняла его, следующая вошла в тот же контейнер, а уборка
414
+ прежней приходит позже — React размонтирует прежнюю страницу **после** того, как смонтировал новую, а
415
+ в StrictMode вызывает эффект дважды.
416
+
417
+ ```javascript
418
+ const first = emailmaker.create({ element: '#editor', content, ownership: 'counted' });
419
+ const second = emailmaker.create({ element: '#editor', content, ownership: 'counted' });
420
+ await Promise.all([first.ready, second.ready]); // оба успешны, редактор один
421
+
422
+ first.destroy(); // снимает только долю first и его подписки
423
+ second.destroy(); // последняя доля: редактор уничтожается чуть позже
424
+ ```
425
+
426
+ - Каждый вызов получает свой объект со всеми методами общего редактора и держит долю во владении.
427
+ Подписки объекта живут до его `destroy()`.
428
+ - `destroy()` снимает долю этого объекта. Редактор уничтожается, когда долей не осталось, — с короткой
429
+ отложкой, чтобы уборка и новый вызов подряд (StrictMode) его не пересоздавали.
430
+ - Действуют опции и обработчики последнего вызова. Уходит его доля — обработчики из опций переходят к
431
+ последнему оставшемуся владельцу; письмо и настройки остаются как есть.
432
+ - `emailmaker.getInstance(element)` отдаёт объект последнего вызова.
433
+
434
+ **Смешивать режимы можно.** Вызов без флага держит редактор, пока не вызовут `destroy()` его объекта,
435
+ и получает общий объект контейнера. Доли `counted` живут поверх. `destroy()` объекта без флага
436
+ уничтожает редактор со всеми долями — их объекты дальше ведут себя как после `destroy()`. В режиме
437
+ разработки смешивание отмечается предупреждением в консоли.
438
+
439
+ **Если повторный вызов не стартовал** (упал токен или `app_init`, отменили через `signal`), отклоняется
440
+ только он: редактор остаётся с прежними опциями и прежним письмом, восстановленным из снимка (текст и
441
+ шапка; история отмен сбрасывается). Если вернуть не удалось, редактор уничтожается, а методы прежних
442
+ объектов бросают `EditorStartFailedError` с причиной в `cause` — поднимите редактор новым `init()`.
443
+ Отмена `signal` прежнего вызова после того, как пришёл новый, редактор не трогает.
409
444
 
410
- Если новый `init()` не стартовал (упал или его отменили через `signal`), редактор возвращается
411
- прежнему владельцу: с его опциями и его письмом, восстановленным из снимка (текст и шапка; история
412
- отмен сбрасывается). Если вернуть не удалось, редактор уничтожается, а методы прежнего экземпляра
413
- бросают `EditorStartFailedError` с причиной в `cause` — поднимите редактор новым `init()`.
445
+ `init()` в **другой** контейнер поднимает новый редактор.
414
446
 
415
447
  # Конфигурация
416
448
 
417
449
  Конфигурация задаётся объектом с несколькими уровнями вложенности: внешний вид редактора, стартовое содержимое и обработчики событий.
418
450
 
419
- Повторный вызов **`init`** на **тот же DOM-элемент** внутри приводит к **`reset`** с новыми опциями — не запускайте параллельно два **`init`** на один контейнер.
451
+ Повторный вызов **`init`** на **тот же DOM-элемент** отдаёт тот же объект и применяет новые опции — см. [«Повторный init() в тот же узел»](#повторный-init-в-тот-же-узел).
420
452
 
421
453
  ### element
422
454
 
@@ -744,7 +776,7 @@ emailmaker.init({
744
776
  | handleDestroy | Перед уничтожением экземпляра. |
745
777
  | handleLoad | Завершена загрузка экземпляра; можно безопасно вызывать **`getEmail`** и др. |
746
778
  | handleLoadImage | Загрузка изображения пользователем; **`handleFileProxy`**, **`handleUrlProxy`** — прокси файлов/URL при необходимости. Вернуть URL; исключение из обработчика = отказ (редактор не грузит картинку на свой бэкенд), **`undefined`** — редактор дозагружает сам, кроме замкнутого контура (**`standaloneKey`**). |
747
- | handleNotify | Произвольное уведомление. Среди ошибок — `TEMPLATE_READ_ERROR` (`data: { templateId }`): шаблон по `templateId` не прочитался, письмо открыто без него. Приходит один раз на шаблон за жизнь редактора; заголовка у события нет и всплывающего сообщения редактор не показывает — покажите своё, если пользователю нужно знать. |
779
+ | handleNotify | Произвольное уведомление. Среди предупреждений (`type: 'warning'`) — `TEMPLATE_READ_ERROR` (`data: { templateId }`): шаблон по `templateId` не прочитался, письмо открыто без него. Приходит один раз на шаблон за жизнь редактора, в `handleError` не попадает; заголовка у события нет и всплывающего сообщения редактор не показывает — покажите своё, если пользователю нужно знать. |
748
780
  | handleError | Ошибка (можно переопределить UI). |
749
781
  | handleSuccess | Успешная операция. |
750
782
  | handleReadLocale | Язык интерфейса (**`AppConfigMixin`**). Каталог возвращается текстом **`.po`**, JSON-строкой или готовым объектом **`LocaleData`**. |