@antscorp/antsomi-ui 1.3.3-beta.7 → 1.3.3-beta.70

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 (372) hide show
  1. package/es/assets/images/iphone-top-bar.png +0 -0
  2. package/es/assets/images/iphone.png +0 -0
  3. package/es/assets/images/stars_slider.png +0 -0
  4. package/es/components/atoms/Button/index.d.ts +1 -8
  5. package/es/components/atoms/Empty/Empty.d.ts +6 -5
  6. package/es/components/atoms/Empty/Empty.js +7 -1
  7. package/es/components/atoms/Flex/Flex.d.ts +2 -0
  8. package/es/components/atoms/Flex/Flex.js +1 -0
  9. package/es/components/atoms/Flex/index.d.ts +1 -0
  10. package/es/components/atoms/Flex/index.js +1 -0
  11. package/es/components/atoms/Input/Input.d.ts +14 -3
  12. package/es/components/atoms/Input/Input.js +7 -3
  13. package/es/components/atoms/InputDynamic/EditCaretPositioning.d.ts +2 -0
  14. package/es/components/atoms/InputDynamic/EditCaretPositioning.js +89 -0
  15. package/es/components/atoms/InputDynamic/InputDynamic.d.ts +10 -0
  16. package/es/components/atoms/InputDynamic/InputDynamic.js +504 -0
  17. package/es/components/atoms/InputDynamic/PopupShortLink.d.ts +16 -0
  18. package/es/components/atoms/InputDynamic/PopupShortLink.js +85 -0
  19. package/es/components/atoms/InputDynamic/constants.d.ts +71 -0
  20. package/es/components/atoms/InputDynamic/constants.js +71 -0
  21. package/es/components/atoms/InputDynamic/index.d.ts +2 -0
  22. package/es/components/atoms/InputDynamic/index.js +1 -0
  23. package/es/components/atoms/InputDynamic/styled.d.ts +13 -0
  24. package/es/components/atoms/InputDynamic/styled.js +293 -0
  25. package/es/components/atoms/InputDynamic/types.d.ts +110 -0
  26. package/es/components/atoms/InputDynamic/types.js +1 -0
  27. package/es/components/atoms/InputDynamic/utils.d.ts +30 -0
  28. package/es/components/atoms/InputDynamic/utils.js +872 -0
  29. package/es/components/atoms/MobileFrame/MobileFrame.d.ts +4 -0
  30. package/es/components/atoms/MobileFrame/MobileFrame.js +22 -0
  31. package/es/components/atoms/MobileFrame/constants.d.ts +4 -0
  32. package/es/components/atoms/MobileFrame/constants.js +4 -0
  33. package/es/components/atoms/MobileFrame/index.d.ts +2 -0
  34. package/es/components/atoms/MobileFrame/index.js +1 -0
  35. package/es/components/atoms/MobileFrame/styled.d.ts +3 -0
  36. package/es/components/atoms/MobileFrame/styled.js +33 -0
  37. package/es/components/atoms/Pagination/index.d.ts +1 -0
  38. package/es/components/atoms/Popover/Popover.d.ts +1 -1
  39. package/es/components/atoms/Popover/styled.d.ts +1 -1
  40. package/es/components/atoms/PreviewTabs/PreviewTabs.d.ts +7 -0
  41. package/es/components/atoms/PreviewTabs/PreviewTabs.js +67 -0
  42. package/es/components/atoms/PreviewTabs/index.d.ts +2 -0
  43. package/es/components/atoms/PreviewTabs/index.js +1 -0
  44. package/es/components/atoms/PreviewTabs/styled.d.ts +6 -0
  45. package/es/components/atoms/PreviewTabs/styled.js +79 -0
  46. package/es/components/atoms/Progress/Progress.d.ts +1 -1
  47. package/es/components/atoms/Radio/index.d.ts +3 -3
  48. package/es/components/atoms/RateV2/RateV2.d.ts +18 -0
  49. package/es/components/atoms/RateV2/RateV2.js +73 -0
  50. package/es/components/atoms/RateV2/index.d.ts +1 -0
  51. package/es/components/atoms/RateV2/index.js +1 -0
  52. package/es/components/atoms/RequiredLabel/index.d.ts +1 -0
  53. package/es/components/atoms/RequiredLabel/index.js +4 -3
  54. package/es/components/atoms/Slider/index.d.ts +2 -1
  55. package/es/components/atoms/Slider/index.js +7 -14
  56. package/es/components/atoms/SliderV2/index.d.ts +6 -0
  57. package/es/components/atoms/SliderV2/index.js +21 -0
  58. package/es/components/atoms/Space/Space.d.ts +1 -1
  59. package/es/components/atoms/Spin/Spin.d.ts +2 -1
  60. package/es/components/atoms/Spin/styled.d.ts +1 -1
  61. package/es/components/atoms/Statistic/Statistic.d.ts +1 -4
  62. package/es/components/atoms/index.d.ts +8 -0
  63. package/es/components/atoms/index.js +6 -0
  64. package/es/components/common/ConfigProvider/ConfigProvider.js +6 -0
  65. package/es/components/common/ConfigProvider/GlobalStyle.js +281 -27
  66. package/es/components/icons/ArrowGrowIcon.d.ts +2 -1
  67. package/es/components/icons/AudioRecordIcon.d.ts +2 -1
  68. package/es/components/icons/BugIcon.d.ts +2 -1
  69. package/es/components/icons/CameraIcon.d.ts +2 -1
  70. package/es/components/icons/CaptureIcon.d.ts +2 -1
  71. package/es/components/icons/CheckSlimIcon.d.ts +2 -1
  72. package/es/components/icons/CloseIcon.d.ts +2 -1
  73. package/es/components/icons/CommentIcon.d.ts +2 -1
  74. package/es/components/icons/EventIcon.d.ts +2 -1
  75. package/es/components/icons/FreeDrawIcon.d.ts +2 -1
  76. package/es/components/icons/GPTIcon.d.ts +2 -1
  77. package/es/components/icons/GPTIconV2.d.ts +2 -1
  78. package/es/components/icons/GPTIconV3.d.ts +2 -1
  79. package/es/components/icons/HighlightIcon.d.ts +2 -1
  80. package/es/components/icons/IdeaIcon.d.ts +2 -1
  81. package/es/components/icons/InvisibleIcon.d.ts +2 -1
  82. package/es/components/icons/MuteIcon.d.ts +2 -1
  83. package/es/components/icons/OpenUrlIcon.d.ts +2 -1
  84. package/es/components/icons/PauseIcon.d.ts +2 -1
  85. package/es/components/icons/PlaneIcon.d.ts +2 -1
  86. package/es/components/icons/RequestIcon.d.ts +2 -1
  87. package/es/components/icons/StopRecordIcon.d.ts +2 -1
  88. package/es/components/icons/UserIcon.d.ts +2 -1
  89. package/es/components/icons/VerticalDotsIcon.d.ts +2 -1
  90. package/es/components/icons/WarningIcon.d.ts +2 -1
  91. package/es/components/molecules/AddDynamicContent/AddDynamicContent.d.ts +35 -0
  92. package/es/components/molecules/AddDynamicContent/AddDynamicContent.js +1245 -0
  93. package/es/components/molecules/AddDynamicContent/components/DisplayFormat/DisplayFormat.d.ts +12 -0
  94. package/es/components/molecules/AddDynamicContent/components/DisplayFormat/DisplayFormat.js +25 -0
  95. package/es/components/molecules/AddDynamicContent/components/DisplayFormat/index.d.ts +3 -0
  96. package/es/components/molecules/AddDynamicContent/components/DisplayFormat/index.js +3 -0
  97. package/es/components/molecules/AddDynamicContent/components/FormatDatetime/FormatDatetime.d.ts +19 -0
  98. package/es/components/molecules/AddDynamicContent/components/FormatDatetime/FormatDatetime.js +101 -0
  99. package/es/components/molecules/AddDynamicContent/components/FormatDatetime/index.d.ts +1 -0
  100. package/es/components/molecules/AddDynamicContent/components/FormatDatetime/index.js +1 -0
  101. package/es/components/molecules/AddDynamicContent/components/FormatNumber/FormatNumber.d.ts +52 -0
  102. package/es/components/molecules/AddDynamicContent/components/FormatNumber/FormatNumber.js +132 -0
  103. package/es/components/molecules/AddDynamicContent/components/FormatNumber/index.d.ts +1 -0
  104. package/es/components/molecules/AddDynamicContent/components/FormatNumber/index.js +1 -0
  105. package/es/components/molecules/AddDynamicContent/components/index.d.ts +3 -0
  106. package/es/components/molecules/AddDynamicContent/components/index.js +3 -0
  107. package/es/components/molecules/AddDynamicContent/constants.d.ts +101 -0
  108. package/es/components/molecules/AddDynamicContent/constants.js +152 -0
  109. package/es/components/molecules/AddDynamicContent/currencies.json +1523 -0
  110. package/es/components/molecules/AddDynamicContent/index.d.ts +2 -0
  111. package/es/components/molecules/AddDynamicContent/index.js +2 -0
  112. package/es/components/molecules/AddDynamicContent/styled.d.ts +9 -0
  113. package/es/components/molecules/AddDynamicContent/styled.js +18 -0
  114. package/es/components/molecules/AddDynamicContent/types.d.ts +13 -0
  115. package/es/components/molecules/AddDynamicContent/types.js +1 -0
  116. package/es/components/molecules/AddDynamicContent/utils.d.ts +42 -0
  117. package/es/components/molecules/AddDynamicContent/utils.js +398 -0
  118. package/es/components/molecules/CaptureScreen/CaptureScreen.d.ts +2 -1
  119. package/es/components/molecules/CaptureScreen/components/CommentBox/CommentBox.d.ts +2 -1
  120. package/es/components/molecules/CaptureScreen/components/Cursor/Cursor.d.ts +2 -1
  121. package/es/components/molecules/Collapse/Collapse.d.ts +3 -3
  122. package/es/components/molecules/Collapse/Collapse.js +9 -0
  123. package/es/components/molecules/ColorSetting/styled.d.ts +1 -8
  124. package/es/components/molecules/DatePicker/components/AdvancedPicker/AdvancedPicker.d.ts +2 -2
  125. package/es/components/molecules/DatePicker/components/AdvancedPicker/AdvancedPicker.js +260 -113
  126. package/es/components/molecules/DatePicker/components/AdvancedPicker/constants.d.ts +66 -25
  127. package/es/components/molecules/DatePicker/components/AdvancedPicker/constants.js +109 -0
  128. package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.js +48 -4
  129. package/es/components/molecules/DatePicker/components/AdvancedPicker/types.d.ts +22 -0
  130. package/es/components/molecules/DatePicker/components/AdvancedPicker/utils.d.ts +20 -0
  131. package/es/components/molecules/DatePicker/components/AdvancedPicker/utils.js +90 -1
  132. package/es/components/molecules/Drawer/Drawer.d.ts +5 -1
  133. package/es/components/molecules/Drawer/Drawer.js +3 -1
  134. package/es/components/molecules/Drawer/index.d.ts +1 -0
  135. package/es/components/molecules/Form/Form.d.ts +1 -0
  136. package/es/components/molecules/Form/Form.js +1 -0
  137. package/es/components/molecules/Form/index.d.ts +1 -0
  138. package/es/components/molecules/Form/index.js +1 -0
  139. package/es/components/molecules/IconSelection/styled.d.ts +1 -8
  140. package/es/components/molecules/Modal/Modal.d.ts +2 -2
  141. package/es/components/molecules/Modal/index.d.ts +1 -0
  142. package/es/components/molecules/Modal/styled.d.ts +1 -1
  143. package/es/components/molecules/Modal/styled.js +2 -0
  144. package/es/components/molecules/ModalV2/ModalV2.d.ts +5 -0
  145. package/es/components/molecules/ModalV2/ModalV2.js +26 -0
  146. package/es/components/molecules/ModalV2/index.d.ts +2 -0
  147. package/es/components/molecules/ModalV2/index.js +1 -0
  148. package/es/components/molecules/ModalV2/styled.d.ts +7 -0
  149. package/es/components/molecules/ModalV2/styled.js +22 -0
  150. package/es/components/molecules/Popconfirm/Popconfirm.d.ts +1 -1
  151. package/es/components/molecules/PreviewModal/PreviewModal.d.ts +7 -0
  152. package/es/components/molecules/PreviewModal/PreviewModal.js +30 -0
  153. package/es/components/molecules/PreviewModal/index.d.ts +2 -0
  154. package/es/components/molecules/PreviewModal/index.js +1 -0
  155. package/es/components/molecules/PreviewModal/styled.d.ts +4 -0
  156. package/es/components/molecules/PreviewModal/styled.js +39 -0
  157. package/es/components/molecules/ResizeGrid/ResizeGrid.d.ts +3 -0
  158. package/es/components/molecules/ResizeGrid/ResizeGrid.js +728 -0
  159. package/es/components/molecules/ResizeGrid/components/Cell/Cell.d.ts +3 -0
  160. package/es/components/molecules/ResizeGrid/components/Cell/Cell.js +87 -0
  161. package/es/components/molecules/ResizeGrid/components/Cell/index.d.ts +1 -0
  162. package/es/components/molecules/ResizeGrid/components/Cell/index.js +1 -0
  163. package/es/components/molecules/ResizeGrid/components/Cell/styled.d.ts +3 -0
  164. package/es/components/molecules/ResizeGrid/components/Cell/styled.js +80 -0
  165. package/es/components/molecules/ResizeGrid/constant.d.ts +35 -0
  166. package/es/components/molecules/ResizeGrid/constant.js +111 -0
  167. package/es/components/molecules/ResizeGrid/index.d.ts +2 -0
  168. package/es/components/molecules/ResizeGrid/index.js +1 -0
  169. package/es/components/molecules/ResizeGrid/styled.d.ts +10 -0
  170. package/es/components/molecules/ResizeGrid/styled.js +56 -0
  171. package/es/components/molecules/ResizeGrid/types.d.ts +147 -0
  172. package/es/components/molecules/ResizeGrid/types.js +1 -0
  173. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuBlock.d.ts +12 -0
  174. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuBlock.js +53 -0
  175. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/index.d.ts +17 -0
  176. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/index.js +108 -0
  177. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/styled.d.ts +20 -0
  178. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/styled.js +135 -0
  179. package/es/components/molecules/RichMenu/RichMenuBlock/constants.d.ts +2 -0
  180. package/es/components/molecules/RichMenu/RichMenuBlock/constants.js +765 -0
  181. package/es/components/molecules/RichMenu/RichMenuBlock/index.d.ts +3 -0
  182. package/es/components/molecules/RichMenu/RichMenuBlock/index.js +2 -0
  183. package/es/components/molecules/RichMenu/RichMenuBlock/styled.d.ts +9 -0
  184. package/es/components/molecules/RichMenu/RichMenuBlock/styled.js +17 -0
  185. package/es/components/molecules/RichMenu/RichMenuChatBar/RichMenuChatBar.d.ts +10 -0
  186. package/es/components/molecules/RichMenu/RichMenuChatBar/RichMenuChatBar.js +32 -0
  187. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/index.d.ts +6 -0
  188. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/index.js +15 -0
  189. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/styled.d.ts +4 -0
  190. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/styled.js +47 -0
  191. package/es/components/molecules/RichMenu/RichMenuChatBar/index.d.ts +2 -0
  192. package/es/components/molecules/RichMenu/RichMenuChatBar/index.js +1 -0
  193. package/es/components/molecules/RichMenu/RichMenuChatBar/styled.d.ts +9 -0
  194. package/es/components/molecules/RichMenu/RichMenuChatBar/styled.js +37 -0
  195. package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.d.ts +10 -0
  196. package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.js +37 -0
  197. package/es/components/molecules/RichMenu/RichMenuMobileView/index.d.ts +1 -0
  198. package/es/components/molecules/RichMenu/RichMenuMobileView/index.js +1 -0
  199. package/es/components/molecules/RichMenu/RichMenuMobileView/styled.d.ts +6 -0
  200. package/es/components/molecules/RichMenu/RichMenuMobileView/styled.js +20 -0
  201. package/es/components/molecules/RichMenu/index.d.ts +3 -0
  202. package/es/components/molecules/RichMenu/index.js +3 -0
  203. package/es/components/molecules/Select/Select.d.ts +6 -4
  204. package/es/components/molecules/Select/Select.js +23 -2
  205. package/es/components/molecules/Select/Test.d.ts +2 -1
  206. package/es/components/molecules/ShareAccess/ShareAccess.d.ts +3 -0
  207. package/es/components/molecules/ShareAccess/ShareAccess.js +23 -0
  208. package/es/components/molecules/ShareAccess/actions.d.ts +16 -0
  209. package/es/components/molecules/ShareAccess/actions.js +12 -0
  210. package/es/components/molecules/ShareAccess/components/GeneralAccess/GeneralAccess.d.ts +2 -0
  211. package/es/components/molecules/ShareAccess/components/GeneralAccess/GeneralAccess.js +78 -0
  212. package/es/components/molecules/ShareAccess/components/GeneralAccess/index.d.ts +1 -0
  213. package/es/components/molecules/ShareAccess/components/GeneralAccess/index.js +1 -0
  214. package/es/components/molecules/ShareAccess/components/GeneralAccess/styled.d.ts +1 -0
  215. package/es/components/molecules/ShareAccess/components/GeneralAccess/styled.js +57 -0
  216. package/es/components/molecules/ShareAccess/components/LayoutContent/LayoutContent.d.ts +3 -0
  217. package/es/components/molecules/ShareAccess/components/LayoutContent/LayoutContent.js +19 -0
  218. package/es/components/molecules/ShareAccess/components/LayoutContent/index.d.ts +1 -0
  219. package/es/components/molecules/ShareAccess/components/LayoutContent/index.js +1 -0
  220. package/es/components/molecules/ShareAccess/components/LayoutContent/styled.d.ts +1 -0
  221. package/es/components/molecules/ShareAccess/components/LayoutContent/styled.js +7 -0
  222. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/ModalTransferOwnerShip.d.ts +2 -0
  223. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/ModalTransferOwnerShip.js +43 -0
  224. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/index.d.ts +0 -0
  225. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/index.js +1 -0
  226. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/styled.d.ts +7 -0
  227. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/styled.js +18 -0
  228. package/es/components/molecules/ShareAccess/components/PeopleAccess/PeopleAccess.d.ts +5 -0
  229. package/es/components/molecules/ShareAccess/components/PeopleAccess/PeopleAccess.js +97 -0
  230. package/es/components/molecules/ShareAccess/components/PeopleAccess/index.d.ts +1 -0
  231. package/es/components/molecules/ShareAccess/components/PeopleAccess/index.js +1 -0
  232. package/es/components/molecules/ShareAccess/components/PeopleAccess/styled.d.ts +1 -0
  233. package/es/components/molecules/ShareAccess/components/PeopleAccess/styled.js +46 -0
  234. package/es/components/molecules/ShareAccess/components/SearchUser/SearchUser.d.ts +5 -0
  235. package/es/components/molecules/ShareAccess/components/SearchUser/SearchUser.js +73 -0
  236. package/es/components/molecules/ShareAccess/components/SearchUser/index.d.ts +1 -0
  237. package/es/components/molecules/ShareAccess/components/SearchUser/index.js +1 -0
  238. package/es/components/molecules/ShareAccess/components/SearchUser/styled.d.ts +2 -0
  239. package/es/components/molecules/ShareAccess/components/SearchUser/styled.js +29 -0
  240. package/es/components/molecules/ShareAccess/components/index.d.ts +1 -0
  241. package/es/components/molecules/ShareAccess/components/index.js +1 -0
  242. package/es/components/molecules/ShareAccess/constants.d.ts +67 -0
  243. package/es/components/molecules/ShareAccess/constants.js +85 -0
  244. package/es/components/molecules/ShareAccess/context.d.ts +4 -0
  245. package/es/components/molecules/ShareAccess/context.js +3 -0
  246. package/es/components/molecules/ShareAccess/hooks/index.d.ts +1 -0
  247. package/es/components/molecules/ShareAccess/hooks/index.js +1 -0
  248. package/es/components/molecules/ShareAccess/hooks/useShareAccess.d.ts +18 -0
  249. package/es/components/molecules/ShareAccess/hooks/useShareAccess.js +29 -0
  250. package/es/components/molecules/ShareAccess/index.d.ts +4 -0
  251. package/es/components/molecules/ShareAccess/index.js +4 -0
  252. package/es/components/molecules/ShareAccess/reducer.d.ts +2 -0
  253. package/es/components/molecules/ShareAccess/reducer.js +19 -0
  254. package/es/components/molecules/ShareAccess/types.d.ts +54 -0
  255. package/es/components/molecules/ShareAccess/types.js +1 -0
  256. package/es/components/molecules/ShareAccess/utils.d.ts +38 -0
  257. package/es/components/molecules/ShareAccess/utils.js +57 -0
  258. package/es/components/molecules/TreeSelect/TreeSelect.d.ts +4 -5
  259. package/es/components/molecules/UploadImage/MediaIcon.d.ts +2 -1
  260. package/es/components/molecules/UploadImage/MediaThumb.d.ts +11 -0
  261. package/es/components/molecules/UploadImage/MediaThumb.js +31 -0
  262. package/es/components/molecules/UploadImage/index.d.ts +6 -2
  263. package/es/components/molecules/UploadImage/index.js +101 -77
  264. package/es/components/molecules/UploadImage/styled.js +0 -4
  265. package/es/components/molecules/UploadImage/utils.d.ts +3 -0
  266. package/es/components/molecules/UploadImage/utils.js +24 -0
  267. package/es/components/molecules/index.d.ts +10 -3
  268. package/es/components/molecules/index.js +8 -3
  269. package/es/components/organism/Help/styled.d.ts +6 -16
  270. package/es/components/organism/Table/ExplorePivotTable/styled.d.ts +1 -0
  271. package/es/constants/index.d.ts +1 -0
  272. package/es/constants/index.js +1 -0
  273. package/es/constants/queries.d.ts +14 -0
  274. package/es/constants/queries.js +21 -0
  275. package/es/constants/richMenu.d.ts +19 -0
  276. package/es/constants/richMenu.js +19 -0
  277. package/es/constants/storybook.d.ts +7 -1
  278. package/es/constants/storybook.js +12 -0
  279. package/es/constants/theme.js +30 -3
  280. package/es/hooks/index.d.ts +1 -0
  281. package/es/hooks/index.js +1 -0
  282. package/es/hooks/useDebounceCallback.d.ts +1 -0
  283. package/es/hooks/useDebounceCallback.js +5 -0
  284. package/es/hooks/useDebounceV2.d.ts +1 -0
  285. package/es/hooks/useDebounceV2.js +11 -0
  286. package/es/hooks/useDeepCompareEffect.d.ts +1 -0
  287. package/es/hooks/useDeepCompareEffect.js +21 -0
  288. package/es/hooks/useDeepCompareMemo.d.ts +2 -0
  289. package/es/hooks/useDeepCompareMemo.js +21 -0
  290. package/es/hooks/usePrevious.d.ts +2 -0
  291. package/es/hooks/usePrevious.js +9 -0
  292. package/es/locales/en/translation.json +156 -3
  293. package/es/locales/i18n.d.ts +154 -0
  294. package/es/locales/translations.d.ts +153 -0
  295. package/es/locales/vi/translation.json +2 -1
  296. package/es/models/BusinessObject.d.ts +116 -0
  297. package/es/models/BusinessObject.js +113 -0
  298. package/es/models/Currency.d.ts +9 -0
  299. package/es/models/Currency.js +10 -0
  300. package/es/models/CustomFunction.d.ts +19 -0
  301. package/es/models/CustomFunction.js +25 -0
  302. package/es/models/DynamicContentAttribute.d.ts +34 -0
  303. package/es/models/DynamicContentAttribute.js +9 -0
  304. package/es/models/EventTrackingAttribute.d.ts +11 -0
  305. package/es/models/EventTrackingAttribute.js +13 -0
  306. package/es/models/PromotionPool.d.ts +11 -0
  307. package/es/models/PromotionPool.js +12 -0
  308. package/es/models/{SavedImage.d.ts → SavedMedia.d.ts} +5 -5
  309. package/es/models/{SavedImage.js → SavedMedia.js} +3 -3
  310. package/es/queries/BusinessObject/index.d.ts +6 -0
  311. package/es/queries/BusinessObject/index.js +6 -0
  312. package/es/queries/BusinessObject/useGetListAllEvents.d.ts +11 -0
  313. package/es/queries/BusinessObject/useGetListAllEvents.js +14 -0
  314. package/es/queries/BusinessObject/useGetListAttributeBO.d.ts +17 -0
  315. package/es/queries/BusinessObject/useGetListAttributeBO.js +41 -0
  316. package/es/queries/BusinessObject/useGetListBO.d.ts +6 -0
  317. package/es/queries/BusinessObject/useGetListBO.js +19 -0
  318. package/es/queries/BusinessObject/useGetListEventAttr.d.ts +4 -0
  319. package/es/queries/BusinessObject/useGetListEventAttr.js +15 -0
  320. package/es/queries/BusinessObject/useGetListPromotionCodeAttr.d.ts +6 -0
  321. package/es/queries/BusinessObject/useGetListPromotionCodeAttr.js +26 -0
  322. package/es/queries/BusinessObject/useGetListSourceByEvent.d.ts +13 -0
  323. package/es/queries/BusinessObject/useGetListSourceByEvent.js +11 -0
  324. package/es/queries/CustomFunction/index.d.ts +2 -0
  325. package/es/queries/CustomFunction/index.js +2 -0
  326. package/es/queries/CustomFunction/useCustomFunction.d.ts +19 -0
  327. package/es/queries/CustomFunction/useCustomFunction.js +53 -0
  328. package/es/queries/DynamicContentAttribute/index.d.ts +1 -0
  329. package/es/queries/DynamicContentAttribute/index.js +1 -0
  330. package/es/queries/DynamicContentAttribute/useGetDynamicContentAttr.d.ts +10 -0
  331. package/es/queries/DynamicContentAttribute/useGetDynamicContentAttr.js +21 -0
  332. package/es/queries/PromotionPool/index.d.ts +1 -0
  333. package/es/queries/PromotionPool/index.js +1 -0
  334. package/es/queries/PromotionPool/useGetListPromotionPool.d.ts +9 -0
  335. package/es/queries/PromotionPool/useGetListPromotionPool.js +62 -0
  336. package/es/queries/ThirdParty/index.d.ts +1 -0
  337. package/es/queries/ThirdParty/index.js +1 -0
  338. package/es/queries/ThirdParty/useGetEventTrackingAttributes.d.ts +14 -0
  339. package/es/queries/ThirdParty/useGetEventTrackingAttributes.js +15 -0
  340. package/es/queries/configs.d.ts +4 -0
  341. package/es/queries/configs.js +13 -0
  342. package/es/queries/index.d.ts +6 -0
  343. package/es/queries/index.js +6 -0
  344. package/es/services/MediaTemplateDesign/BusinessObject/index.d.ts +8 -0
  345. package/es/services/MediaTemplateDesign/BusinessObject/index.js +100 -0
  346. package/es/services/MediaTemplateDesign/CustomFunction/index.d.ts +15 -0
  347. package/es/services/MediaTemplateDesign/CustomFunction/index.js +135 -0
  348. package/es/services/MediaTemplateDesign/DynamicContentAttribute/index.d.ts +4 -0
  349. package/es/services/MediaTemplateDesign/DynamicContentAttribute/index.js +39 -0
  350. package/es/services/MediaTemplateDesign/ListCurrency/index.d.ts +6 -0
  351. package/es/services/MediaTemplateDesign/ListCurrency/index.js +34 -0
  352. package/es/services/MediaTemplateDesign/PromotionPool/index.d.ts +3 -0
  353. package/es/services/MediaTemplateDesign/PromotionPool/index.js +31 -0
  354. package/es/services/MediaTemplateDesign/UploadFile/index.d.ts +5 -5
  355. package/es/services/MediaTemplateDesign/UploadFile/index.js +36 -19
  356. package/es/services/ThirParty/index.d.ts +8 -0
  357. package/es/services/ThirParty/index.js +26 -0
  358. package/es/services/index.d.ts +14 -5
  359. package/es/services/index.js +45 -1
  360. package/es/test.d.ts +2 -1
  361. package/es/test.js +201 -63
  362. package/es/types/index.d.ts +17 -0
  363. package/es/types/index.js +2 -1
  364. package/es/types/richMenu.d.ts +214 -0
  365. package/es/types/richMenu.js +1 -0
  366. package/es/types/variables.d.ts +2 -0
  367. package/es/types/variables.js +1 -0
  368. package/es/utils/common.d.ts +4 -0
  369. package/es/utils/common.js +21 -0
  370. package/es/utils/handleError.d.ts +32 -2
  371. package/es/utils/handleError.js +42 -4
  372. package/package.json +17 -8
@@ -0,0 +1,504 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-expressions */
2
+ // Libraries
3
+ import React, { useState, useLayoutEffect, useEffect, useRef, useCallback, useMemo, } from 'react';
4
+ import classnames from 'classnames';
5
+ import { has, isEmpty, omit } from 'lodash';
6
+ // Components
7
+ import CaretPositioning from './EditCaretPositioning';
8
+ import { WrapperInputStyle, TooltipHover, DynamicItem } from './styled';
9
+ import { Popover } from 'antd';
10
+ import { AddDynamicContent } from '../../molecules/AddDynamicContent';
11
+ import { PopupShortLink } from './PopupShortLink';
12
+ import Icon from '@antscorp/icons';
13
+ // Utils
14
+ import { getObjectPropSafely, random, safeParse } from '@antscorp/antsomi-ui/es/utils';
15
+ import { convertBreakTag, convertDivToBreakTag, convertHtmlText, genShortLinkValue, getInsertLinkPatternWithAppendSpaceEnd, getInsertPatternWithAppendSpaceEnd, handleUpdateInputPersonalization, initialValue, mapLabelPersonalization, pasteHtmlAtCaret, removeHtmlTag, spacingNonTracking, validateHTMLTags, createElement, getBgColorByContentSourceType, } from './utils';
16
+ // Hooks
17
+ import { useDebounce } from '@antscorp/antsomi-ui/es/hooks/useDebounce';
18
+ const PATH = 'src/components/atoms/InputDynamic/InputDynamic.tsx';
19
+ export const AllowDynamicType = {
20
+ SHORTLINK: 'shortlink',
21
+ ADDPERSONALIZATION: 'addPersonalization',
22
+ };
23
+ const defaultProps = {
24
+ value: '',
25
+ isViewMode: false,
26
+ errors: [],
27
+ canMultipleLine: false,
28
+ apiConfig: {
29
+ domain: 'https://sandbox-media-template.antsomi.com/cdp',
30
+ slug: '/api/v1',
31
+ token: '5474r2x214z2a4b403e4y446p4b4t2b4t474j4t2i5',
32
+ accountId: '1600085679',
33
+ userId: '1600085679',
34
+ },
35
+ onError: () => { },
36
+ onChange: () => { },
37
+ addMessageToQueue: () => { },
38
+ };
39
+ export const InputDynamic = (props) => {
40
+ const { value, isViewMode, errors, disabledOpts, canMultipleLine, allowDynamicOptions, apiConfig, onError, onChange, addMessageToQueue, } = props;
41
+ // States
42
+ const [textValue, setTextValue] = useState(initialValue(value));
43
+ const [initSelectedProperties, setInitSelectedProperties] = useState({
44
+ keyTag: 'shortlink_static',
45
+ link: '',
46
+ urlDetected: '',
47
+ });
48
+ const [isShowPopover, setIsShowPopover] = useState(false);
49
+ const [dynamicContent, setDynamicContent] = useState({
50
+ visible: false,
51
+ defaultData: {},
52
+ activeTagId: '',
53
+ contentSources: {
54
+ groups: [],
55
+ expanded: [],
56
+ isLoadingDataBO: false,
57
+ },
58
+ journeySettings: {
59
+ unsubscribeSegmentType: 'customer',
60
+ triggerType: 'event_based',
61
+ triggerEvent: {
62
+ eventActionId: '',
63
+ eventCategoryId: '',
64
+ insightPropertyIds: [],
65
+ },
66
+ },
67
+ });
68
+ const [popoverOpenShortLink, setPopoverOpenShortLink] = useState(false);
69
+ const [tooltipHoverDebounce, _tooltipHover, setTooltipHover] = useDebounce({ x: 0, y: 0 }, 200);
70
+ // Refs
71
+ const caretPositionRef = useRef(null);
72
+ const personalizationInputRef = useRef(null);
73
+ const isRenderAddDynamicContent = useMemo(() => {
74
+ if (isEmpty(apiConfig) ||
75
+ isEmpty(allowDynamicOptions) ||
76
+ (allowDynamicOptions &&
77
+ allowDynamicOptions.findIndex(dynamicKey => dynamicKey === AllowDynamicType.ADDPERSONALIZATION) === -1))
78
+ return false;
79
+ return true;
80
+ }, [apiConfig, allowDynamicOptions]);
81
+ const onTriggerChange = (event = null) => {
82
+ var _a;
83
+ try {
84
+ let tmp = (_a = personalizationInputRef.current) === null || _a === void 0 ? void 0 : _a.innerHTML;
85
+ if (event !== null) {
86
+ caretPositionRef.current = CaretPositioning.saveSelection(event.currentTarget);
87
+ tmp = event.currentTarget.innerHTML;
88
+ }
89
+ tmp = tmp === null || tmp === void 0 ? void 0 : tmp.replace(
90
+ // replace old non tracking url to detect url
91
+ /<button(?=[^>]*class="insert-word")[^>]*value=['"]#(?:{nontrackurl\()?(https?:\/\/[0-9a-zA-Z-{}|"\./?_=&%:#*@;]+)(?:\)})?['"][^>]*>.*?<\/button>/g, match => {
92
+ const url = match.match(/(https?:\/\/[0-9a-zA-Z-\./?_=&%:#*@;]+)/);
93
+ if (url) {
94
+ return `<span id="${random(5)}" class="detect-url">${url[1]}</span>`;
95
+ }
96
+ return match; // If no match found, return the original string
97
+ }).replace(
98
+ // replace url to detect url
99
+ /((?<!class="detect-url">|#{shortlink(?:_static)?\(|<span style="line-height: 20px;margin-right: 8px;pointer-events:none;">)\bhttps*:\/\/[0-9a-zA-Z-{}|"\./?_=&%:#*@;]+)/g, match => `<span id="${random(5)}" class="detect-url">${match}</span>`);
100
+ tmp = convertDivToBreakTag(tmp);
101
+ setTextValue(tmp);
102
+ const text = convertHtmlText(tmp, 'raw', {}, {}, 'input', 'add');
103
+ const textConverted = convertBreakTag(text);
104
+ onChange(removeHtmlTag(textConverted));
105
+ }
106
+ catch (error) {
107
+ if (typeof addMessageToQueue === 'function') {
108
+ addMessageToQueue({
109
+ path: 'app/containers/UIDev/UIEditorPersonalization/Input/index.jsx',
110
+ func: 'onTriggerChange',
111
+ data: error,
112
+ });
113
+ }
114
+ // eslint-disable-next-line no-console
115
+ console.error(error);
116
+ }
117
+ };
118
+ const handleHidePopover = () => {
119
+ setIsShowPopover(false);
120
+ };
121
+ const handleOpenChangeAddDynamicContent = useCallback((newChange) => {
122
+ setDynamicContent(prev => (Object.assign(Object.assign({}, prev), { visible: newChange })));
123
+ }, []);
124
+ const handleOpenChange = (newOpen) => {
125
+ setDynamicContent(prev => (Object.assign(Object.assign({}, prev), { activeTagId: '' })));
126
+ setIsShowPopover(newOpen);
127
+ };
128
+ const callback = (type, data) => {
129
+ var _a, _b;
130
+ switch (type) {
131
+ case 'REPLACE_DETECTED_URL': {
132
+ const innerHTML = getObjectPropSafely(() => { var _a; return (_a = personalizationInputRef.current) === null || _a === void 0 ? void 0 : _a.innerHTML; }, '');
133
+ if (innerHTML) {
134
+ // remove span url và focus vào vị trí remove để add tag shortlink vào vị trí này.
135
+ const index = Array.from((_a = personalizationInputRef.current) === null || _a === void 0 ? void 0 : _a.childNodes).findIndex((element) => element.id === data.id);
136
+ const range = document.createRange(); // Tạo một đối tượng Range
137
+ const sel = window.getSelection(); // Lấy đối tượng Selection hiện tại
138
+ range.setStart((_b = personalizationInputRef.current) === null || _b === void 0 ? void 0 : _b.childNodes[index], 0); // Đặt điểm bắt đầu của Range
139
+ range.collapse(true); // Thu gọn Range để tập trung vào điểm bắt đầu
140
+ sel === null || sel === void 0 ? void 0 : sel.removeAllRanges(); // Xóa tất cả các Range hiện có
141
+ sel === null || sel === void 0 ? void 0 : sel.addRange(range); // Thêm Range mới vào Selection
142
+ caretPositionRef.current = CaretPositioning.saveSelection(personalizationInputRef.current);
143
+ const newDataUpdate = innerHTML.replace(data.outerHTML, '');
144
+ personalizationInputRef.current.innerHTML = newDataUpdate;
145
+ }
146
+ break;
147
+ }
148
+ default:
149
+ break;
150
+ }
151
+ };
152
+ const onPaste = (e) => {
153
+ // cancel paste
154
+ e.preventDefault();
155
+ // get text representation of clipboard
156
+ const text = (e.originalEvent || e).clipboardData.getData('text/plain');
157
+ // insert text manually
158
+ document.execCommand('insertHTML', false, text);
159
+ };
160
+ const handleInsertSortLink = (url, type) => {
161
+ try {
162
+ const { id, value: linkValue, label: linkLabel } = genShortLinkValue(url, type);
163
+ setPopoverOpenShortLink(false);
164
+ if (personalizationInputRef.current instanceof HTMLElement) {
165
+ CaretPositioning.restoreSelection(personalizationInputRef.current, caretPositionRef.current);
166
+ pasteHtmlAtCaret(getInsertLinkPatternWithAppendSpaceEnd(id, linkValue, linkLabel), null);
167
+ onTriggerChange();
168
+ caretPositionRef.current = CaretPositioning.saveSelection(personalizationInputRef.current);
169
+ }
170
+ setInitSelectedProperties({ link: '', keyTag: 'shortlink_static', urlDetected: '' });
171
+ }
172
+ catch (err) {
173
+ if (typeof addMessageToQueue === 'function') {
174
+ addMessageToQueue({
175
+ path: 'app/containers/UIDev/UIEditorPersonalization/Input/index.jsx',
176
+ func: 'handleInsertText',
177
+ data: err,
178
+ });
179
+ }
180
+ }
181
+ };
182
+ const handleCloseAddDynamicContent = () => {
183
+ setDynamicContent(Object.assign(Object.assign({}, dynamicContent), { visible: false }));
184
+ };
185
+ const handleInsertText = (dataObj) => {
186
+ try {
187
+ const id = random(5);
188
+ const { mappingFields = '', type = '', attribute = {}, customFunction = {} } = dataObj;
189
+ const personalizationCode = `#{${mappingFields}||""}`;
190
+ const bgColor = getBgColorByContentSourceType(type);
191
+ const label = getObjectPropSafely(() => type === 'custom' ? customFunction.personalizationName : attribute.label);
192
+ if (personalizationInputRef.current instanceof HTMLElement) {
193
+ if (dynamicContent.activeTagId) {
194
+ // for case update
195
+ const element = document.getElementById(dynamicContent.activeTagId);
196
+ const child = createElement('em', {
197
+ class: 'editor-icon-remove',
198
+ style: 'color: white;font-style: normal;',
199
+ }, ['x']);
200
+ const newElement = createElement('button', {
201
+ id,
202
+ class: 'insert-word',
203
+ style: `color: white; font-size: inherit; outline: none;border: 1px solid transparent; border-radius: 1.2rem; max-height: 30px; cursor: pointer; backgroundColor: ${bgColor}`,
204
+ contentEditable: 'false',
205
+ value: `${personalizationCode.replace(/\s/gm, '&nbsp;')}`,
206
+ }, [
207
+ `${getObjectPropSafely(() => type === 'custom' ? customFunction.personalizationName : attribute.label)} `,
208
+ child,
209
+ ]);
210
+ if (element && element.parentNode) {
211
+ element.parentNode.replaceChild(newElement, element);
212
+ }
213
+ setDynamicContent(prev => (Object.assign(Object.assign({}, prev), { activeTagId: dynamicContent.activeTagId, defaultData: Object.assign(Object.assign({}, (prev.defaultData || {})), { [dynamicContent.activeTagId]: dataObj }), visible: false })));
214
+ onTriggerChange();
215
+ // if (type === 'custom') {
216
+ // const found = personalizationCode.replace(/#|{|}|/g, '').split('.');
217
+ // // setStateCustomPersonal(draft => {
218
+ // // // draft.list.push(customFunction);
219
+ // // draft.map[found[1]] = customFunction;
220
+ // // });
221
+ // } else if (
222
+ // selectedProperties.displayFormat.dataType &&
223
+ // DATA_ATTR_WITH_TYPE.includes(selectedProperties.displayFormat.dataType)
224
+ // ) {
225
+ // const key = personalizationCode.replace(regexAttrFormat, '');
226
+ // const dataAttrFormat = mapDataFormatAttribute(selectedProperties.displayFormat);
227
+ // // setstateFormatAttr(draft => {
228
+ // // draft.formatAttributes[key] = dataAttrFormat;
229
+ // // onTriggerChange(null, draft);
230
+ // // });
231
+ // }
232
+ return;
233
+ }
234
+ personalizationInputRef.current.focus();
235
+ CaretPositioning.restoreSelection(personalizationInputRef.current, caretPositionRef.current);
236
+ pasteHtmlAtCaret(getInsertPatternWithAppendSpaceEnd(id, personalizationCode, label, bgColor), null, () => {
237
+ caretPositionRef.current = CaretPositioning.saveSelection(personalizationInputRef.current);
238
+ onTriggerChange();
239
+ });
240
+ setDynamicContent(prev => (Object.assign(Object.assign({}, prev), { activeTagId: id, defaultData: Object.assign(Object.assign({}, (prev.defaultData || {})), { [id]: dataObj }), visible: false })));
241
+ }
242
+ // if (personalType.value === 'custom') {
243
+ // // const found = personalizationCode.replace(/#|{|}|/g, '').split('.');
244
+ // // setStateCustomPersonal(draft => {
245
+ // // // draft.list.push(customFunction);
246
+ // // draft.map[found[1]] = customFunction;
247
+ // // });
248
+ // } else if (
249
+ // selectedProperties.displayFormat.dataType &&
250
+ // DATA_ATTR_WITH_TYPE.includes(selectedProperties.displayFormat.dataType)
251
+ // ) {
252
+ // const key = personalizationCode.replace(regexAttrFormat, '');
253
+ // // setstateFormatAttr(draft => {
254
+ // // draft.formatAttributes[key] = mapDataFormatAttribute(selectedProperties.displayFormat);
255
+ // // });
256
+ // }
257
+ }
258
+ catch (error) {
259
+ if (typeof addMessageToQueue === 'function') {
260
+ addMessageToQueue({
261
+ path: PATH,
262
+ func: 'handleInsertText',
263
+ data: error,
264
+ });
265
+ }
266
+ // eslint-disable-next-line no-console
267
+ console.log(error);
268
+ }
269
+ };
270
+ const handleKeyPress = (e) => {
271
+ if (canMultipleLine)
272
+ return;
273
+ if (+e.charCode === 13) {
274
+ e.preventDefault();
275
+ }
276
+ };
277
+ const getDangerouslySetInnerHTML = (text) => {
278
+ if (text) {
279
+ const regex = /<[^<>]+>/g;
280
+ let tag;
281
+ // eslint-disable-next-line no-cond-assign
282
+ while ((tag = regex.exec(text))) {
283
+ if (!validateHTMLTags.isValidTag(tag[0])) {
284
+ const finalTag = tag[0].replace('<', '&#60').replace('>', '&#62');
285
+ text = text.replace(tag[0], finalTag);
286
+ }
287
+ }
288
+ text = text.replaceAll('\n', '<br>');
289
+ if (spacingNonTracking(text)) {
290
+ return text;
291
+ }
292
+ return safeParse(text, '').concat('<br />');
293
+ }
294
+ return '';
295
+ };
296
+ const toggleShortLinkModal = useCallback(() => {
297
+ setPopoverOpenShortLink(!popoverOpenShortLink);
298
+ }, [popoverOpenShortLink]);
299
+ const handleClickDynamicItem = (e, dynamicKey) => {
300
+ e.stopPropagation();
301
+ handleHidePopover();
302
+ if (dynamicKey === AllowDynamicType.SHORTLINK) {
303
+ toggleShortLinkModal();
304
+ }
305
+ if (dynamicKey === AllowDynamicType.ADDPERSONALIZATION) {
306
+ handleOpenChangeAddDynamicContent(true);
307
+ }
308
+ };
309
+ /**
310
+ * [NOTE:open modal to edit]
311
+ */
312
+ useEffect(() => {
313
+ const handleClickTag = (e) => {
314
+ try {
315
+ e.stopPropagation();
316
+ if (e.target) {
317
+ const { value = '', id = '' } = e.target;
318
+ const shortLink = value.replace(/#|{|}|/g, '').split('(');
319
+ if (shortLink && shortLink.length >= 2) {
320
+ const link = shortLink[1].substring(0, shortLink[1].length - 1) || '';
321
+ setInitSelectedProperties(prev => (Object.assign(Object.assign({}, prev), { link, keyTag: shortLink[0], urlDetected: e.currentTarget })));
322
+ toggleShortLinkModal();
323
+ }
324
+ else {
325
+ setDynamicContent(prev => (Object.assign(Object.assign({}, prev), { activeTagId: id })));
326
+ handleOpenChangeAddDynamicContent(true);
327
+ }
328
+ }
329
+ }
330
+ catch (err) {
331
+ // eslint-disable-next-line no-console
332
+ console.log('err', err);
333
+ }
334
+ };
335
+ const listTags = Array.from(document.querySelectorAll('#ants-ui-input-personalization .input-personal .insert-word'));
336
+ if (listTags && listTags.length > 0) {
337
+ listTags.forEach((tag) => {
338
+ tag.addEventListener('click', handleClickTag);
339
+ });
340
+ }
341
+ return () => {
342
+ listTags.forEach((tag) => {
343
+ tag.removeEventListener('click', handleClickTag);
344
+ });
345
+ };
346
+ }, [handleOpenChangeAddDynamicContent, textValue, toggleShortLinkModal]);
347
+ /** Anchor tooltip */
348
+ useEffect(() => {
349
+ let listElement = [];
350
+ const handleMouseOver = (e, targetRect) => {
351
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
352
+ const viewportTop = window.pageYOffset;
353
+ const viewportLeft = window.pageXOffset;
354
+ const offsetWidth = targetRect.width / 2;
355
+ const offsetHeight = targetRect.height / 2;
356
+ const tooltipHeight = 16;
357
+ const x = targetRect.left - viewportLeft + offsetWidth;
358
+ const y = targetRect.top - viewportTop - offsetHeight - tooltipHeight;
359
+ setTooltipHover({
360
+ x,
361
+ y,
362
+ });
363
+ };
364
+ const handleMouseOut = (e) => {
365
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
366
+ setTooltipHover({ x: 0, y: 0 });
367
+ };
368
+ const handleClickDetectUrl = (e) => {
369
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
370
+ setInitSelectedProperties(prev => {
371
+ var _a;
372
+ return (Object.assign(Object.assign({}, prev), { link: ((_a = e === null || e === void 0 ? void 0 : e.currentTarget) === null || _a === void 0 ? void 0 : _a.textContent) || '', urlDetected: e === null || e === void 0 ? void 0 : e.currentTarget }));
373
+ });
374
+ toggleShortLinkModal();
375
+ };
376
+ if (!isViewMode) {
377
+ const elements = document.querySelectorAll('#ants-ui-input-personalization .detect-url');
378
+ listElement = Array.from(elements);
379
+ if (listElement.length) {
380
+ listElement.forEach((element) => {
381
+ element.addEventListener('mouseover', e => handleMouseOver(e, element.getBoundingClientRect()));
382
+ element.addEventListener('mouseout', handleMouseOut);
383
+ /** Open shortlink modal */
384
+ element.addEventListener('click', handleClickDetectUrl);
385
+ });
386
+ }
387
+ }
388
+ return () => {
389
+ listElement.forEach((element) => {
390
+ element.removeEventListener('mouseover', handleMouseOver);
391
+ element.removeEventListener('mouseout', handleMouseOut);
392
+ });
393
+ };
394
+ }, [textValue, isViewMode, setTooltipHover, toggleShortLinkModal]);
395
+ /** Style & remove for tag shortlink button & icon remove */
396
+ useLayoutEffect(() => {
397
+ // get button Els [x] to create hover and style it
398
+ const iconRemoveEls = document.querySelectorAll('.editor-icon-remove');
399
+ const listIconRemove = iconRemoveEls && Array.from(iconRemoveEls);
400
+ // get button elements
401
+ const buttonElement = document.querySelectorAll('.insert-word');
402
+ const listBtnElement = buttonElement && Array.from(buttonElement);
403
+ const handleRemoveTag = (e) => {
404
+ var _a, _b, _c, _d, _e, _f, _g, _h;
405
+ if (e && ((_a = e.target) === null || _a === void 0 ? void 0 : _a.nodeName) === 'EM' && ((_b = e.target) === null || _b === void 0 ? void 0 : _b.className) === 'editor-icon-remove') {
406
+ e.stopPropagation();
407
+ if (((_c = e.target) === null || _c === void 0 ? void 0 : _c.parentElement) &&
408
+ has(dynamicContent.defaultData, [(_e = (_d = e.target) === null || _d === void 0 ? void 0 : _d.parentElement) === null || _e === void 0 ? void 0 : _e.id])) {
409
+ setDynamicContent(prev => {
410
+ var _a, _b;
411
+ return (Object.assign(Object.assign({}, prev), { activeTagId: '', defaultData: omit(prev.defaultData, [(_b = (_a = e.target) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.id]) }));
412
+ });
413
+ }
414
+ (_g = (_f = e.target) === null || _f === void 0 ? void 0 : _f.parentElement) === null || _g === void 0 ? void 0 : _g.remove();
415
+ setTextValue(personalizationInputRef && ((_h = personalizationInputRef.current) === null || _h === void 0 ? void 0 : _h.innerHTML));
416
+ }
417
+ };
418
+ listIconRemove.forEach(eachIcon => {
419
+ eachIcon.addEventListener('click', handleRemoveTag);
420
+ });
421
+ handleUpdateInputPersonalization(listIconRemove, listBtnElement);
422
+ return () => {
423
+ listIconRemove.forEach(eachIcon => {
424
+ eachIcon.removeEventListener('click', handleRemoveTag);
425
+ });
426
+ };
427
+ }, [dynamicContent.defaultData, textValue]);
428
+ useLayoutEffect(() => {
429
+ try {
430
+ // save caret position
431
+ if (!personalizationInputRef.current) {
432
+ return;
433
+ }
434
+ // Perhaps React (whose VDOM gets outdated because we often prevent
435
+ // rerendering) did not update the DOM. So we update it manually now.
436
+ if (caretPositionRef && caretPositionRef.current) {
437
+ CaretPositioning.restoreSelection(personalizationInputRef.current, caretPositionRef.current);
438
+ }
439
+ }
440
+ catch (error) {
441
+ if (typeof addMessageToQueue === 'function') {
442
+ addMessageToQueue({
443
+ path: PATH,
444
+ func: 'useLayoutEffect',
445
+ data: error,
446
+ });
447
+ }
448
+ if (typeof onError === 'function') {
449
+ onError(error, {
450
+ component: PATH,
451
+ action: 'useLayoutEffect saved caret position',
452
+ args: {},
453
+ });
454
+ }
455
+ }
456
+ }, [addMessageToQueue, onError, textValue]);
457
+ const renderContentDynamicOptions = () => {
458
+ if (!(allowDynamicOptions === null || allowDynamicOptions === void 0 ? void 0 : allowDynamicOptions.length)) {
459
+ return null;
460
+ }
461
+ return allowDynamicOptions.map((dynamicKey) => (React.createElement(DynamicItem, { key: dynamicKey, onClick: e => handleClickDynamicItem(e, dynamicKey) }, mapLabelPersonalization(dynamicKey))));
462
+ };
463
+ const renderAddPersonalizationView = () => {
464
+ if (isViewMode) {
465
+ return null;
466
+ }
467
+ const isRenderPopover = allowDynamicOptions && (allowDynamicOptions === null || allowDynamicOptions === void 0 ? void 0 : allowDynamicOptions.length) > 0;
468
+ const iconPersonalization = (React.createElement(Icon, { type: "icon-ants-person-alt", onClick: e => {
469
+ e.stopPropagation();
470
+ if (!isRenderPopover) {
471
+ toggleShortLinkModal();
472
+ }
473
+ }, className: "customize-antsomi-profile", style: { width: 24, height: 24 } }));
474
+ if (!isRenderPopover) {
475
+ return iconPersonalization;
476
+ }
477
+ return (React.createElement(Popover, { content: renderContentDynamicOptions(), placement: "bottomLeft", rootClassName: "no-padding-content", trigger: "click", open: isShowPopover, onOpenChange: handleOpenChange }, iconPersonalization));
478
+ };
479
+ return (React.createElement(WrapperInputStyle, { id: "ants-ui-input-personalization" },
480
+ React.createElement("div", { className: classnames({
481
+ 'input-wrapper-outter': true,
482
+ 'styles-input-wrapper': !isViewMode,
483
+ 'input-error': (errors === null || errors === void 0 ? void 0 : errors.length) && (errors === null || errors === void 0 ? void 0 : errors.length) > 0,
484
+ }), style: Object.assign(Object.assign({}, (isViewMode && {
485
+ padding: 0,
486
+ minHeight: 0,
487
+ fontSize: 12,
488
+ border: 'none',
489
+ })), { width: '100%' }), onClick: () => { var _a; return (_a = personalizationInputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } },
490
+ React.createElement("div", { className: "input-personal", style: {
491
+ display: textValue && textValue !== '<br>' ? 'inline-block' : undefined,
492
+ }, contentEditable: !isViewMode, onBlur: onTriggerChange, onKeyPress: handleKeyPress, ref: personalizationInputRef,
493
+ // eslint-disable-next-line react/no-danger
494
+ dangerouslySetInnerHTML: {
495
+ __html: getDangerouslySetInnerHTML(textValue),
496
+ }, onPaste: onPaste }),
497
+ renderAddPersonalizationView()),
498
+ React.createElement(TooltipHover, { isShow: tooltipHoverDebounce.x > 0 && tooltipHoverDebounce.y > 0, top: tooltipHoverDebounce.y, left: tooltipHoverDebounce.x }, "Click on the link to convert it to a shortlink"),
499
+ popoverOpenShortLink && (React.createElement(PopupShortLink, { open: popoverOpenShortLink, disabledOpts: disabledOpts, onOk: handleInsertSortLink, onClose: toggleShortLinkModal, initSelectedProperties: initSelectedProperties, callback: callback })),
500
+ isRenderAddDynamicContent && (React.createElement(AddDynamicContent, { APIConfig: apiConfig, defaultDynamicIndex: 1, showIndex: true, showDisplayFormat: true, visible: dynamicContent.visible, defaultData: dynamicContent.defaultData[dynamicContent.activeTagId] || {}, journeySettings: dynamicContent.journeySettings, contentSources: dynamicContent.contentSources, onOk: (value) => {
501
+ handleInsertText(value);
502
+ }, onCancel: () => handleCloseAddDynamicContent() }))));
503
+ };
504
+ InputDynamic.defaultProps = defaultProps;
@@ -0,0 +1,16 @@
1
+ import { FC } from 'react';
2
+ import type { SelectedPropertiesProps } from './types';
3
+ type PopupShortLinkProps = {
4
+ open: any;
5
+ onClose: Function;
6
+ onOk: Function;
7
+ disabledOpts?: DisableShortLinkTypeProps;
8
+ initSelectedProperties: SelectedPropertiesProps;
9
+ callback: Function;
10
+ };
11
+ export type ShortLinkType = 'individual' | 'general';
12
+ export type DisableShortLinkTypeProps = {
13
+ [key in ShortLinkType]?: boolean;
14
+ };
15
+ export declare const PopupShortLink: FC<PopupShortLinkProps>;
16
+ export {};
@@ -0,0 +1,85 @@
1
+ // Libraries
2
+ import React, { useEffect, useState } from 'react';
3
+ import { Col, Row } from 'antd';
4
+ // Molecules
5
+ import { Modal } from '../../molecules';
6
+ // Components
7
+ import { Radio } from '../Radio';
8
+ // Styled
9
+ import { InputShortLink, InputWrapper } from './styled';
10
+ // Utils
11
+ import { validateURL } from './utils';
12
+ const OPTIONS = [
13
+ {
14
+ value: 'individual',
15
+ label: 'Individual',
16
+ },
17
+ {
18
+ value: 'general',
19
+ label: 'General',
20
+ },
21
+ ];
22
+ export const PopupShortLink = props => {
23
+ const { open, onClose, onOk, disabledOpts, initSelectedProperties, callback } = props;
24
+ const [state, setState] = useState({
25
+ link: '',
26
+ type: 'individual',
27
+ error: '',
28
+ });
29
+ useEffect(() => {
30
+ let type = 'individual';
31
+ if (initSelectedProperties && initSelectedProperties.keyTag) {
32
+ type = initSelectedProperties.keyTag === 'shortlink' ? 'individual' : 'general';
33
+ }
34
+ setState(prev => (Object.assign(Object.assign({}, prev), { link: initSelectedProperties.link, type: type })));
35
+ }, [initSelectedProperties, setState]);
36
+ const handleClose = () => {
37
+ setState(prev => (Object.assign(Object.assign({}, prev), { link: '', error: '' })));
38
+ if (onClose)
39
+ onClose();
40
+ };
41
+ const handleValidate = ({ urlString = state.link, afterValidate }) => {
42
+ const isValid = validateURL(urlString);
43
+ setState(prev => (Object.assign(Object.assign({}, prev), { error: isValid ? '' : 'Invalid URL' })));
44
+ if (typeof afterValidate === 'function')
45
+ afterValidate(isValid);
46
+ };
47
+ const handleOnChange = (value) => {
48
+ if (state.error)
49
+ handleValidate({ urlString: value });
50
+ setState(prev => (Object.assign(Object.assign({}, prev), { link: value })));
51
+ };
52
+ const handleOnOK = () => {
53
+ handleValidate({
54
+ afterValidate: (isValid) => {
55
+ if (isValid && onOk) {
56
+ if (initSelectedProperties.urlDetected) {
57
+ callback('REPLACE_DETECTED_URL', initSelectedProperties.urlDetected);
58
+ }
59
+ onOk(state.link, state.type);
60
+ handleClose();
61
+ }
62
+ },
63
+ });
64
+ };
65
+ const onChangeType = (event) => {
66
+ setState(prev => (Object.assign(Object.assign({}, prev), { type: event.target.value })));
67
+ };
68
+ return (React.createElement(Modal, { open: open, onCancel: handleClose, title: React.createElement("div", { style: { color: 'rgba(0, 0, 0, 0.87)', fontWeight: 'normal', fontSize: '16px' } }, "Add Short Link"), okText: "OK", cancelText: "Cancel", closable: false, onOk: handleOnOK, okButtonProps: {
69
+ disabled: !validateURL(state.link),
70
+ type: !validateURL(state.link) ? 'default' : 'primary',
71
+ } },
72
+ React.createElement(Row, null,
73
+ React.createElement(Col, { span: 6 },
74
+ React.createElement("span", { style: { fontSize: 12, color: '#000' } }, "Short link type")),
75
+ React.createElement(Col, { span: 18 },
76
+ React.createElement(Radio.Group, { onChange: onChangeType, value: state.type }, OPTIONS.map(each => (React.createElement(Radio, { key: each.value, disabled: disabledOpts && disabledOpts[each.value], name: "shortlink-type", value: each.value }, each.label)))))),
77
+ React.createElement(Row, null,
78
+ React.createElement(Col, { span: 24 },
79
+ React.createElement(InputWrapper, null,
80
+ React.createElement(InputShortLink, { required: true, isReverseMask: true, isHideErrMessage: true, labelColor: "#000000", id: "input-short-link-url", label: "Your URL", value: state.link, onAfterChange: handleOnChange })))),
81
+ !!state.error && (React.createElement(Row, null,
82
+ React.createElement(Col, { span: 6 }),
83
+ React.createElement(Col, { span: 18 },
84
+ React.createElement("div", null, state.error))))));
85
+ };
@@ -0,0 +1,71 @@
1
+ export declare const DATE_AND_TIME_DEFAULT: {
2
+ type: string;
3
+ config: {
4
+ format: string;
5
+ date: {
6
+ check: boolean;
7
+ value: string;
8
+ };
9
+ time: {
10
+ check: boolean;
11
+ value: string;
12
+ timeFormat: string;
13
+ };
14
+ };
15
+ };
16
+ export declare const MAP_DATA_TYPE: {
17
+ number: {
18
+ name: string;
19
+ label: string;
20
+ translateCode: string;
21
+ value: string;
22
+ };
23
+ string: {
24
+ name: string;
25
+ label: string;
26
+ translateCode: string;
27
+ value: string;
28
+ };
29
+ text: {
30
+ name: string;
31
+ label: string;
32
+ translateCode: string;
33
+ value: string;
34
+ };
35
+ datetime: {
36
+ name: string;
37
+ label: string;
38
+ translateCode: string;
39
+ value: string;
40
+ };
41
+ boolean: {
42
+ name: string;
43
+ label: string;
44
+ translateCode: string;
45
+ value: string;
46
+ };
47
+ array_number: {
48
+ name: string;
49
+ label: string;
50
+ translateCode: string;
51
+ value: string;
52
+ };
53
+ array_string: {
54
+ name: string;
55
+ label: string;
56
+ translateCode: string;
57
+ value: string;
58
+ };
59
+ array_datetime: {
60
+ name: string;
61
+ label: string;
62
+ translateCode: string;
63
+ value: string;
64
+ };
65
+ object: {
66
+ name: string;
67
+ label: string;
68
+ translateCode: string;
69
+ value: string;
70
+ };
71
+ };