@antscorp/antsomi-ui 2.0.110 → 2.0.111

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 (344) hide show
  1. package/es/assets/css/main.scss +2 -0
  2. package/es/components/atoms/Eyedropper/Eyedropper.d.ts +2 -0
  3. package/es/components/atoms/Eyedropper/Eyedropper.js +53 -0
  4. package/es/components/atoms/Eyedropper/index.d.ts +0 -0
  5. package/es/components/atoms/Eyedropper/index.js +1 -0
  6. package/es/components/atoms/Eyedropper/styled.d.ts +9 -0
  7. package/es/components/atoms/Eyedropper/styled.js +45 -0
  8. package/es/components/atoms/Eyedropper/types.d.ts +5 -0
  9. package/es/components/atoms/Eyedropper/types.js +1 -0
  10. package/es/components/icons/ALignRightIcon.d.ts +3 -0
  11. package/es/components/icons/ALignRightIcon.js +7 -0
  12. package/es/components/icons/AlignCenterIcon.d.ts +3 -0
  13. package/es/components/icons/AlignCenterIcon.js +7 -0
  14. package/es/components/icons/AlignJustifyIcon.d.ts +3 -0
  15. package/es/components/icons/AlignJustifyIcon.js +7 -0
  16. package/es/components/icons/AlignLeftIcon.d.ts +3 -0
  17. package/es/components/icons/AlignLeftIcon.js +7 -0
  18. package/es/components/icons/ArrowDropDownIcon.d.ts +3 -0
  19. package/es/components/icons/ArrowDropDownIcon.js +7 -0
  20. package/es/components/icons/ChevronRightIcon.d.ts +3 -0
  21. package/es/components/icons/ChevronRightIcon.js +7 -0
  22. package/es/components/icons/ColorizeIcon.d.ts +3 -0
  23. package/es/components/icons/ColorizeIcon.js +7 -0
  24. package/es/components/icons/LazyIcon/LazyIcon.d.ts +9 -0
  25. package/es/components/icons/LazyIcon/LazyIcon.js +9 -0
  26. package/es/components/icons/LinkOffIcon.d.ts +3 -0
  27. package/es/components/icons/LinkOffIcon.js +7 -0
  28. package/es/components/icons/MinusIcon.d.ts +3 -0
  29. package/es/components/icons/MinusIcon.js +7 -0
  30. package/es/components/icons/index.d.ts +9 -0
  31. package/es/components/icons/index.js +9 -0
  32. package/es/components/index.scss +1 -0
  33. package/es/components/molecules/EmojiCollections/CommonCollection/index.js +2 -2
  34. package/es/components/molecules/EmojiCollections/types.d.ts +1 -0
  35. package/es/components/molecules/EmojiPopover/EmojiPopover.d.ts +2 -0
  36. package/es/components/molecules/EmojiPopover/EmojiPopover.js +10 -6
  37. package/es/components/molecules/EmojiPopover/styled.js +1 -1
  38. package/es/components/molecules/EyedropperButton/EyedropperButton.d.ts +11 -0
  39. package/es/components/molecules/EyedropperButton/EyedropperButton.js +34 -0
  40. package/es/components/molecules/EyedropperButton/index.d.ts +0 -0
  41. package/es/components/molecules/EyedropperButton/index.js +1 -0
  42. package/es/components/molecules/EyedropperButton/styled.d.ts +7 -0
  43. package/es/components/molecules/EyedropperButton/styled.js +23 -0
  44. package/es/components/molecules/FontSizeInput/FontSizeInput.d.ts +3 -0
  45. package/es/components/molecules/FontSizeInput/FontSizeInput.js +134 -0
  46. package/es/components/molecules/FontSizeInput/components/FontSizeControl.d.ts +8 -0
  47. package/es/components/molecules/FontSizeInput/components/FontSizeControl.js +14 -0
  48. package/es/components/molecules/FontSizeInput/components/FontSizeDropdown.d.ts +21 -0
  49. package/es/components/molecules/FontSizeInput/components/FontSizeDropdown.js +19 -0
  50. package/es/components/molecules/FontSizeInput/constants.d.ts +2 -0
  51. package/es/components/molecules/FontSizeInput/constants.js +5 -0
  52. package/es/components/molecules/FontSizeInput/index.d.ts +2 -0
  53. package/es/components/molecules/FontSizeInput/index.js +1 -0
  54. package/es/components/molecules/FontSizeInput/styled.d.ts +7 -0
  55. package/es/components/molecules/FontSizeInput/styled.js +39 -0
  56. package/es/components/molecules/FontSizeInput/types.d.ts +23 -0
  57. package/es/components/molecules/FontSizeInput/types.js +1 -0
  58. package/es/components/molecules/FontSizeInput/utils.d.ts +7 -0
  59. package/es/components/molecules/FontSizeInput/utils.js +9 -0
  60. package/es/components/molecules/SearchPopover/SearchPopover.d.ts +2 -1
  61. package/es/components/molecules/SearchPopover/SearchPopover.js +3 -3
  62. package/es/components/molecules/SearchPopover/styled.d.ts +12 -1
  63. package/es/components/molecules/SearchPopover/styled.js +1 -2
  64. package/es/components/molecules/SearchPopover/types.d.ts +4 -3
  65. package/es/components/molecules/VirtualizedMenu/VirtualizedMenu.d.ts +1 -0
  66. package/es/components/molecules/VirtualizedMenu/components/Item/Item.js +6 -8
  67. package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.d.ts +10 -10
  68. package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.js +49 -289
  69. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/index.d.ts +9 -0
  70. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/index.js +5 -0
  71. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useFocusManagement.d.ts +23 -0
  72. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useFocusManagement.js +81 -0
  73. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useItemInteraction.d.ts +24 -0
  74. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useItemInteraction.js +32 -0
  75. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useKeyboardNavigation.d.ts +26 -0
  76. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useKeyboardNavigation.js +93 -0
  77. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useTreeState.d.ts +24 -0
  78. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useTreeState.js +94 -0
  79. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useVisibleItems.d.ts +7 -0
  80. package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useVisibleItems.js +132 -0
  81. package/es/components/molecules/VirtualizedMenu/styled.js +24 -3
  82. package/es/components/molecules/VirtualizedMenu/types.d.ts +2 -0
  83. package/es/components/molecules/VirtualizedMenu/utils.d.ts +2 -0
  84. package/es/components/molecules/VirtualizedMenu/utils.js +2 -0
  85. package/es/components/molecules/index.d.ts +1 -0
  86. package/es/components/molecules/index.js +1 -0
  87. package/es/components/molecules/index.scss +1 -0
  88. package/es/components/organism/TextEditor/TextEditor.d.ts +10 -0
  89. package/es/components/organism/TextEditor/TextEditor.js +388 -0
  90. package/es/components/organism/TextEditor/__mocks__/text-block.settings.json +320 -0
  91. package/es/components/organism/TextEditor/__mocks__/text-contennt.d.ts +1 -0
  92. package/es/components/organism/TextEditor/__mocks__/text-contennt.js +47 -0
  93. package/es/components/organism/TextEditor/constants.d.ts +196 -0
  94. package/es/components/organism/TextEditor/constants.js +398 -0
  95. package/es/components/organism/TextEditor/extensions/BackgroundColor.d.ts +25 -0
  96. package/es/components/organism/TextEditor/extensions/BackgroundColor.js +43 -0
  97. package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.d.ts +18 -0
  98. package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.js +81 -0
  99. package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.d.ts +15 -0
  100. package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.js +35 -0
  101. package/es/components/organism/TextEditor/extensions/BubbleMenu/index.d.ts +2 -0
  102. package/es/components/organism/TextEditor/extensions/BubbleMenu/index.js +2 -0
  103. package/es/components/organism/TextEditor/extensions/ClearFormatting.d.ts +16 -0
  104. package/es/components/organism/TextEditor/extensions/ClearFormatting.js +30 -0
  105. package/es/components/organism/TextEditor/extensions/Color.d.ts +6 -0
  106. package/es/components/organism/TextEditor/extensions/Color.js +34 -0
  107. package/es/components/organism/TextEditor/extensions/Emoji.d.ts +57 -0
  108. package/es/components/organism/TextEditor/extensions/Emoji.js +184 -0
  109. package/es/components/organism/TextEditor/extensions/FontFamily.d.ts +6 -0
  110. package/es/components/organism/TextEditor/extensions/FontFamily.js +36 -0
  111. package/es/components/organism/TextEditor/extensions/FontSize.d.ts +31 -0
  112. package/es/components/organism/TextEditor/extensions/FontSize.js +46 -0
  113. package/es/components/organism/TextEditor/extensions/FontWeight.d.ts +23 -0
  114. package/es/components/organism/TextEditor/extensions/FontWeight.js +41 -0
  115. package/es/components/organism/TextEditor/extensions/Indent.d.ts +21 -0
  116. package/es/components/organism/TextEditor/extensions/Indent.js +63 -0
  117. package/es/components/organism/TextEditor/extensions/LetterSpacing.d.ts +32 -0
  118. package/es/components/organism/TextEditor/extensions/LetterSpacing.js +48 -0
  119. package/es/components/organism/TextEditor/extensions/LineHeight.d.ts +20 -0
  120. package/es/components/organism/TextEditor/extensions/LineHeight.js +101 -0
  121. package/es/components/organism/TextEditor/extensions/Link.d.ts +22 -0
  122. package/es/components/organism/TextEditor/extensions/Link.js +178 -0
  123. package/es/components/organism/TextEditor/extensions/ListItem.d.ts +10 -0
  124. package/es/components/organism/TextEditor/extensions/ListItem.js +93 -0
  125. package/es/components/organism/TextEditor/extensions/ListItemMarker.d.ts +13 -0
  126. package/es/components/organism/TextEditor/extensions/ListItemMarker.js +174 -0
  127. package/es/components/organism/TextEditor/extensions/OrderedList.d.ts +56 -0
  128. package/es/components/organism/TextEditor/extensions/OrderedList.js +187 -0
  129. package/es/components/organism/TextEditor/extensions/SmartTag.d.ts +28 -0
  130. package/es/components/organism/TextEditor/extensions/SmartTag.js +103 -0
  131. package/es/components/organism/TextEditor/extensions/StyleMemory.d.ts +36 -0
  132. package/es/components/organism/TextEditor/extensions/StyleMemory.js +163 -0
  133. package/es/components/organism/TextEditor/extensions/TextTransform.d.ts +30 -0
  134. package/es/components/organism/TextEditor/extensions/TextTransform.js +36 -0
  135. package/es/components/organism/TextEditor/extensions/UnorderedList.d.ts +55 -0
  136. package/es/components/organism/TextEditor/extensions/UnorderedList.js +176 -0
  137. package/es/components/organism/TextEditor/hooks/index.d.ts +6 -0
  138. package/es/components/organism/TextEditor/hooks/index.js +6 -0
  139. package/es/components/organism/TextEditor/hooks/useColorSet.d.ts +4 -0
  140. package/es/components/organism/TextEditor/hooks/useColorSet.js +29 -0
  141. package/es/components/organism/TextEditor/hooks/useDocumentState.d.ts +18 -0
  142. package/es/components/organism/TextEditor/hooks/useDocumentState.js +42 -0
  143. package/es/components/organism/TextEditor/hooks/useMarkTracking.d.ts +26 -0
  144. package/es/components/organism/TextEditor/hooks/useMarkTracking.js +69 -0
  145. package/es/components/organism/TextEditor/hooks/usePersistence.d.ts +31 -0
  146. package/es/components/organism/TextEditor/hooks/usePersistence.js +169 -0
  147. package/es/components/organism/TextEditor/hooks/useStyleMemory.d.ts +6 -0
  148. package/es/components/organism/TextEditor/hooks/useStyleMemory.js +42 -0
  149. package/es/components/organism/TextEditor/hooks/useStylePresets.d.ts +34 -0
  150. package/es/components/organism/TextEditor/hooks/useStylePresets.js +83 -0
  151. package/es/components/organism/TextEditor/index.d.ts +18 -0
  152. package/es/components/organism/TextEditor/index.js +8 -0
  153. package/es/components/organism/TextEditor/index.scss +65 -0
  154. package/es/components/organism/TextEditor/provider.d.ts +15 -0
  155. package/es/components/organism/TextEditor/provider.js +36 -0
  156. package/es/components/organism/TextEditor/store.d.ts +20 -0
  157. package/es/components/organism/TextEditor/store.js +40 -0
  158. package/es/components/organism/TextEditor/stories/WithOldDynAndLink/froala-legacy-format.settings.json +95 -0
  159. package/es/components/organism/TextEditor/stories/WithOldDynAndLink/shared.d.ts +111 -0
  160. package/es/components/organism/TextEditor/stories/WithOldDynAndLink/shared.js +82 -0
  161. package/es/components/organism/TextEditor/stories/shared.d.ts +64 -0
  162. package/es/components/organism/TextEditor/stories/shared.js +57 -0
  163. package/es/components/organism/TextEditor/styled.d.ts +9 -0
  164. package/es/components/organism/TextEditor/styled.js +61 -0
  165. package/es/components/organism/TextEditor/types.d.ts +311 -0
  166. package/es/components/organism/TextEditor/types.js +6 -0
  167. package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.d.ts +3 -0
  168. package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.js +114 -0
  169. package/es/components/organism/TextEditor/ui/BubbleMenu/index.d.ts +1 -0
  170. package/es/components/organism/TextEditor/ui/BubbleMenu/index.js +1 -0
  171. package/es/components/organism/TextEditor/ui/Button/Button.d.ts +9 -0
  172. package/es/components/organism/TextEditor/ui/Button/Button.js +35 -0
  173. package/es/components/organism/TextEditor/ui/Button/index.d.ts +2 -0
  174. package/es/components/organism/TextEditor/ui/Button/index.js +1 -0
  175. package/es/components/organism/TextEditor/ui/Button/types.d.ts +10 -0
  176. package/es/components/organism/TextEditor/ui/Button/types.js +1 -0
  177. package/es/components/organism/TextEditor/ui/ColorPicker/ColorPicker.d.ts +39 -0
  178. package/es/components/organism/TextEditor/ui/ColorPicker/ColorPicker.js +131 -0
  179. package/es/components/organism/TextEditor/ui/ColorPicker/index.d.ts +1 -0
  180. package/es/components/organism/TextEditor/ui/ColorPicker/index.js +1 -0
  181. package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.d.ts +17 -0
  182. package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.js +51 -0
  183. package/es/components/organism/TextEditor/ui/DropdownButton/index.d.ts +1 -0
  184. package/es/components/organism/TextEditor/ui/DropdownButton/index.js +1 -0
  185. package/es/components/organism/TextEditor/ui/Emoji/EmojiList.d.ts +11 -0
  186. package/es/components/organism/TextEditor/ui/Emoji/EmojiList.js +66 -0
  187. package/es/components/organism/TextEditor/ui/Emoji/index.d.ts +2 -0
  188. package/es/components/organism/TextEditor/ui/Emoji/index.js +2 -0
  189. package/es/components/organism/TextEditor/ui/Emoji/suggestion.d.ts +4 -0
  190. package/es/components/organism/TextEditor/ui/Emoji/suggestion.js +71 -0
  191. package/es/components/organism/TextEditor/ui/FontPopover/FontItem.d.ts +2 -0
  192. package/es/components/organism/TextEditor/ui/FontPopover/FontItem.js +27 -0
  193. package/es/components/organism/TextEditor/ui/FontPopover/FontPopover.d.ts +16 -0
  194. package/es/components/organism/TextEditor/ui/FontPopover/FontPopover.js +102 -0
  195. package/es/components/organism/TextEditor/ui/FontPopover/styled.d.ts +2 -0
  196. package/es/components/organism/TextEditor/ui/FontPopover/styled.js +36 -0
  197. package/es/components/organism/TextEditor/ui/FontPopover/types.d.ts +35 -0
  198. package/es/components/organism/TextEditor/ui/FontPopover/types.js +1 -0
  199. package/es/components/organism/TextEditor/ui/LinkInsertForm/LinkInsertForm.d.ts +16 -0
  200. package/es/components/organism/TextEditor/ui/LinkInsertForm/LinkInsertForm.js +61 -0
  201. package/es/components/organism/TextEditor/ui/LinkInsertForm/index.d.ts +2 -0
  202. package/es/components/organism/TextEditor/ui/LinkInsertForm/index.js +1 -0
  203. package/es/components/organism/TextEditor/ui/LinkPopover/LinkPopover.d.ts +9 -0
  204. package/es/components/organism/TextEditor/ui/LinkPopover/LinkPopover.js +126 -0
  205. package/es/components/organism/TextEditor/ui/LinkPopover/index.d.ts +2 -0
  206. package/es/components/organism/TextEditor/ui/LinkPopover/index.js +1 -0
  207. package/es/components/organism/TextEditor/ui/Popover/Popover.d.ts +6 -0
  208. package/es/components/organism/TextEditor/ui/Popover/Popover.js +9 -0
  209. package/es/components/organism/TextEditor/ui/Popover/index.d.ts +1 -0
  210. package/es/components/organism/TextEditor/ui/Popover/index.js +1 -0
  211. package/es/components/organism/TextEditor/ui/Select/Select.d.ts +4 -0
  212. package/es/components/organism/TextEditor/ui/Select/Select.js +7 -0
  213. package/es/components/organism/TextEditor/ui/Select/index.d.ts +1 -0
  214. package/es/components/organism/TextEditor/ui/Select/index.js +1 -0
  215. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/SplitButtonDropdown.d.ts +2 -0
  216. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/SplitButtonDropdown.js +44 -0
  217. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/index.d.ts +1 -0
  218. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/index.js +1 -0
  219. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.d.ts +2 -0
  220. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.js +58 -0
  221. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/types.d.ts +19 -0
  222. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/types.js +1 -0
  223. package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.d.ts +30 -0
  224. package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.js +75 -0
  225. package/es/components/organism/TextEditor/ui/TextAlignSelect/index.d.ts +1 -0
  226. package/es/components/organism/TextEditor/ui/TextAlignSelect/index.js +1 -0
  227. package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.d.ts +19 -0
  228. package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.js +85 -0
  229. package/es/components/organism/TextEditor/ui/Toolbar/LinkPreviewToolbar.d.ts +10 -0
  230. package/es/components/organism/TextEditor/ui/Toolbar/LinkPreviewToolbar.js +39 -0
  231. package/es/components/organism/TextEditor/ui/Toolbar/actions/BoldAction.d.ts +6 -0
  232. package/es/components/organism/TextEditor/ui/Toolbar/actions/BoldAction.js +19 -0
  233. package/es/components/organism/TextEditor/ui/Toolbar/actions/BulletListAction.d.ts +6 -0
  234. package/es/components/organism/TextEditor/ui/Toolbar/actions/BulletListAction.js +93 -0
  235. package/es/components/organism/TextEditor/ui/Toolbar/actions/ClearFormattingAction.d.ts +5 -0
  236. package/es/components/organism/TextEditor/ui/Toolbar/actions/ClearFormattingAction.js +20 -0
  237. package/es/components/organism/TextEditor/ui/Toolbar/actions/EmojiAction.d.ts +4 -0
  238. package/es/components/organism/TextEditor/ui/Toolbar/actions/EmojiAction.js +32 -0
  239. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.d.ts +18 -0
  240. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.js +41 -0
  241. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.d.ts +8 -0
  242. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.js +51 -0
  243. package/es/components/organism/TextEditor/ui/Toolbar/actions/HistoryAction.d.ts +5 -0
  244. package/es/components/organism/TextEditor/ui/Toolbar/actions/HistoryAction.js +21 -0
  245. package/es/components/organism/TextEditor/ui/Toolbar/actions/IndentAction.d.ts +5 -0
  246. package/es/components/organism/TextEditor/ui/Toolbar/actions/IndentAction.js +17 -0
  247. package/es/components/organism/TextEditor/ui/Toolbar/actions/ItalicAction.d.ts +5 -0
  248. package/es/components/organism/TextEditor/ui/Toolbar/actions/ItalicAction.js +18 -0
  249. package/es/components/organism/TextEditor/ui/Toolbar/actions/LetterSpacing.d.ts +5 -0
  250. package/es/components/organism/TextEditor/ui/Toolbar/actions/LetterSpacing.js +28 -0
  251. package/es/components/organism/TextEditor/ui/Toolbar/actions/LineSpacingAction.d.ts +10 -0
  252. package/es/components/organism/TextEditor/ui/Toolbar/actions/LineSpacingAction.js +45 -0
  253. package/es/components/organism/TextEditor/ui/Toolbar/actions/LinkAction.d.ts +6 -0
  254. package/es/components/organism/TextEditor/ui/Toolbar/actions/LinkAction.js +17 -0
  255. package/es/components/organism/TextEditor/ui/Toolbar/actions/OrderedListAction.d.ts +5 -0
  256. package/es/components/organism/TextEditor/ui/Toolbar/actions/OrderedListAction.js +67 -0
  257. package/es/components/organism/TextEditor/ui/Toolbar/actions/OutdentAction.d.ts +5 -0
  258. package/es/components/organism/TextEditor/ui/Toolbar/actions/OutdentAction.js +17 -0
  259. package/es/components/organism/TextEditor/ui/Toolbar/actions/SmartTagAction.d.ts +7 -0
  260. package/es/components/organism/TextEditor/ui/Toolbar/actions/SmartTagAction.js +18 -0
  261. package/es/components/organism/TextEditor/ui/Toolbar/actions/StrikeAction.d.ts +5 -0
  262. package/es/components/organism/TextEditor/ui/Toolbar/actions/StrikeAction.js +18 -0
  263. package/es/components/organism/TextEditor/ui/Toolbar/actions/SubscriptAction.d.ts +5 -0
  264. package/es/components/organism/TextEditor/ui/Toolbar/actions/SubscriptAction.js +26 -0
  265. package/es/components/organism/TextEditor/ui/Toolbar/actions/SuperscriptAction.d.ts +5 -0
  266. package/es/components/organism/TextEditor/ui/Toolbar/actions/SuperscriptAction.js +26 -0
  267. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextAlignAction.d.ts +5 -0
  268. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextAlignAction.js +3 -0
  269. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextBackgroundColorAction.d.ts +5 -0
  270. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextBackgroundColorAction.js +29 -0
  271. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextColorAction.d.ts +14 -0
  272. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextColorAction.js +22 -0
  273. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextTransformAction.d.ts +5 -0
  274. package/es/components/organism/TextEditor/ui/Toolbar/actions/TextTransformAction.js +36 -0
  275. package/es/components/organism/TextEditor/ui/Toolbar/actions/UnderlineAction.d.ts +5 -0
  276. package/es/components/organism/TextEditor/ui/Toolbar/actions/UnderlineAction.js +18 -0
  277. package/es/components/organism/TextEditor/ui/Toolbar/actions/UnsetLink.d.ts +7 -0
  278. package/es/components/organism/TextEditor/ui/Toolbar/actions/UnsetLink.js +18 -0
  279. package/es/components/organism/TextEditor/ui/Toolbar/actions/index.d.ts +24 -0
  280. package/es/components/organism/TextEditor/ui/Toolbar/actions/index.js +24 -0
  281. package/es/components/organism/TextEditor/ui/Toolbar/index.d.ts +2 -0
  282. package/es/components/organism/TextEditor/ui/Toolbar/index.js +2 -0
  283. package/es/components/organism/TextEditor/utils/documentState.d.ts +73 -0
  284. package/es/components/organism/TextEditor/utils/documentState.js +149 -0
  285. package/es/components/organism/TextEditor/utils/font.d.ts +74 -0
  286. package/es/components/organism/TextEditor/utils/font.js +147 -0
  287. package/es/components/organism/TextEditor/utils/htmlProcessing.d.ts +87 -0
  288. package/es/components/organism/TextEditor/utils/htmlProcessing.js +460 -0
  289. package/es/components/organism/TextEditor/utils/indent.d.ts +11 -0
  290. package/es/components/organism/TextEditor/utils/indent.js +56 -0
  291. package/es/components/organism/TextEditor/utils/index.d.ts +8 -0
  292. package/es/components/organism/TextEditor/utils/index.js +16 -0
  293. package/es/components/organism/TextEditor/utils/link.d.ts +116 -0
  294. package/es/components/organism/TextEditor/utils/link.js +304 -0
  295. package/es/components/organism/TextEditor/utils/menu.d.ts +134 -0
  296. package/es/components/organism/TextEditor/utils/menu.js +321 -0
  297. package/es/components/organism/TextEditor/utils/selection.d.ts +25 -0
  298. package/es/components/organism/TextEditor/utils/selection.js +58 -0
  299. package/es/components/organism/TextEditor/utils/shared.d.ts +13 -0
  300. package/es/components/organism/TextEditor/utils/shared.js +52 -0
  301. package/es/components/organism/TextEditor/utils/smartTag.d.ts +49 -0
  302. package/es/components/organism/TextEditor/utils/smartTag.js +90 -0
  303. package/es/components/organism/TextEditor/utils/style.d.ts +78 -0
  304. package/es/components/organism/TextEditor/utils/style.js +193 -0
  305. package/es/components/organism/index.d.ts +1 -0
  306. package/es/components/organism/index.js +1 -0
  307. package/es/components/organism/index.scss +1 -0
  308. package/es/constants/index.d.ts +1 -0
  309. package/es/constants/index.js +1 -0
  310. package/es/constants/web.d.ts +8 -0
  311. package/es/constants/web.js +57 -0
  312. package/es/hooks/index.d.ts +4 -0
  313. package/es/hooks/index.js +4 -0
  314. package/es/hooks/useBroadcastedLocalStorage.d.ts +5 -0
  315. package/es/hooks/useBroadcastedLocalStorage.js +71 -0
  316. package/es/hooks/useElementSize.d.ts +7 -0
  317. package/es/hooks/useElementSize.js +56 -0
  318. package/es/hooks/useEyedropper/attach.d.ts +4 -0
  319. package/es/hooks/useEyedropper/attach.js +9 -0
  320. package/es/hooks/useEyedropper/eyedropper.d.ts +69 -0
  321. package/es/hooks/useEyedropper/eyedropper.js +205 -0
  322. package/es/hooks/useEyedropper/index.d.ts +2 -0
  323. package/es/hooks/useEyedropper/index.js +7 -0
  324. package/es/hooks/useEyedropper/support.d.ts +1 -0
  325. package/es/hooks/useEyedropper/support.js +3 -0
  326. package/es/hooks/useEyedropper/types.d.ts +9 -0
  327. package/es/hooks/useEyedropper/types.js +1 -0
  328. package/es/hooks/useEyedropper/useEyedropper.d.ts +8 -0
  329. package/es/hooks/useEyedropper/useEyedropper.js +50 -0
  330. package/es/hooks/useEyedropper/utils.d.ts +11 -0
  331. package/es/hooks/useEyedropper/utils.js +17 -0
  332. package/es/hooks/useIsMounted.d.ts +1 -0
  333. package/es/hooks/useIsMounted.js +11 -0
  334. package/es/index.d.ts +1 -1
  335. package/es/index.js +1 -1
  336. package/es/locales/i18n.d.ts +1 -1
  337. package/es/types/index.d.ts +9 -0
  338. package/es/utils/common.d.ts +15 -9
  339. package/es/utils/common.js +62 -24
  340. package/es/utils/index.d.ts +1 -0
  341. package/es/utils/index.js +1 -0
  342. package/es/utils/web.d.ts +80 -0
  343. package/es/utils/web.js +226 -0
  344. package/package.json +26 -17
package/es/utils/web.js CHANGED
@@ -1,4 +1,199 @@
1
1
  import { VALUE_C, VALUE_CONTROL, VALUE_LEFT_WINDOW, VALUE_V, VALUE_X, VALUE_Z, } from '@antscorp/antsomi-ui/es/constants/keyCode';
2
+ import { GENERIC_FONT_FAMILIES, WEB_SAFE_FONTS } from '../constants';
3
+ /**
4
+ * Parses a font family string and extracts individual font names
5
+ * Handles quoted fonts, fallbacks, and CSS font-family syntax
6
+ * @param fontFamily - Font family string (e.g., "'Roboto', Arial, sans-serif")
7
+ * @returns Array of individual font names
8
+ */
9
+ export function parseFontFamily(fontFamily) {
10
+ if (!fontFamily || typeof fontFamily !== 'string') {
11
+ return [];
12
+ }
13
+ // Split by comma and clean up each font name
14
+ return fontFamily
15
+ .split(',')
16
+ .map(font => font.trim())
17
+ .map(font =>
18
+ // Remove quotes (single or double)
19
+ font.replace(/^['"]|['"]$/g, ''))
20
+ .map(font => font.trim())
21
+ .filter(font => font.length > 0);
22
+ }
23
+ /**
24
+ * Checks if a given font name is considered a web safe font
25
+ * @param fontName - The font name to check (case insensitive)
26
+ * @param includeGeneric - Whether to consider generic font families as web safe (default: false)
27
+ * @returns boolean - True if the font is web safe, false otherwise
28
+ */
29
+ export function isWebSafeFont(fontName, includeGeneric = false) {
30
+ if (!fontName || typeof fontName !== 'string') {
31
+ return false;
32
+ }
33
+ // Normalize the font name: trim whitespace and convert to lowercase
34
+ const normalizedFontName = fontName.trim().toLowerCase();
35
+ // Check if it's a specific web safe font
36
+ const isSpecificWebSafe = WEB_SAFE_FONTS.some(f => f === normalizedFontName);
37
+ // If including generic fonts, also check if it's a generic font family
38
+ if (includeGeneric) {
39
+ const isGeneric = GENERIC_FONT_FAMILIES.some(f => f === normalizedFontName);
40
+ return isSpecificWebSafe || isGeneric;
41
+ }
42
+ return isSpecificWebSafe;
43
+ }
44
+ /**
45
+ * Extracts the primary font from a font-family string
46
+ * @param fontFamily Font family string (may contain fallbacks)
47
+ * @returns Primary font name
48
+ */
49
+ export function getPrimaryFontFamily(fontFamily) {
50
+ if (!fontFamily)
51
+ return '';
52
+ const fonts = parseFontFamily(fontFamily);
53
+ const primaryFont = fonts[0].trim();
54
+ // Remove quotes if present
55
+ return primaryFont.replace(/^["']|["']$/g, '');
56
+ }
57
+ /**
58
+ * Checks if the first font in a font family string is web safe
59
+ * @param fontFamily - Font family string
60
+ * @returns boolean - True if the primary font is web safe
61
+ */
62
+ export function isPrimaryFontWebSafe(fontFamily) {
63
+ const fonts = parseFontFamily(fontFamily);
64
+ return fonts.length > 0 ? isWebSafeFont(fonts[0]) : false;
65
+ }
66
+ /**
67
+ * Checks if a font name is a generic font family (CSS keyword)
68
+ * @param fontName - The font name to check
69
+ * @returns boolean - True if it's a generic font family
70
+ */
71
+ export function isGenericFontFamily(fontName) {
72
+ if (!fontName || typeof fontName !== 'string') {
73
+ return false;
74
+ }
75
+ const normalizedFontName = fontName.trim().toLowerCase();
76
+ return GENERIC_FONT_FAMILIES.includes(normalizedFontName);
77
+ }
78
+ /**
79
+ * Checks if a font family string (with potential fallbacks) contains any web safe fonts
80
+ * @param fontFamily - Font family string with potential fallbacks (e.g., "'Custom Font', Arial, sans-serif")
81
+ * @param options - Configuration options
82
+ * @returns Object with detailed analysis
83
+ */
84
+ export function analyzeFontFamily(fontFamily, options = {}) {
85
+ const { includeGenericAsWebSafe = false } = options;
86
+ const fonts = parseFontFamily(fontFamily);
87
+ const webSafeFonts = [];
88
+ const nonWebSafeFonts = [];
89
+ const genericFonts = [];
90
+ fonts.forEach(font => {
91
+ if (isGenericFontFamily(font)) {
92
+ genericFonts.push(font);
93
+ }
94
+ else if (isWebSafeFont(font)) {
95
+ webSafeFonts.push(font);
96
+ }
97
+ else {
98
+ nonWebSafeFonts.push(font);
99
+ }
100
+ });
101
+ // Calculate web safety based on options
102
+ let isFullyWebSafe;
103
+ let hasWebSafeFonts;
104
+ if (includeGenericAsWebSafe) {
105
+ // Include generic fonts as web safe
106
+ hasWebSafeFonts = webSafeFonts.length > 0 || genericFonts.length > 0;
107
+ isFullyWebSafe =
108
+ nonWebSafeFonts.length === 0 && (webSafeFonts.length > 0 || genericFonts.length > 0);
109
+ }
110
+ else {
111
+ // Only specific web safe fonts count
112
+ hasWebSafeFonts = webSafeFonts.length > 0;
113
+ // Must have NO non-web-safe fonts AND NO generic fonts for strict mode
114
+ isFullyWebSafe =
115
+ nonWebSafeFonts.length === 0 && genericFonts.length === 0 && webSafeFonts.length > 0;
116
+ }
117
+ return {
118
+ hasWebSafeFonts,
119
+ webSafeFonts,
120
+ nonWebSafeFonts,
121
+ genericFonts,
122
+ allFonts: fonts,
123
+ isFullyWebSafe,
124
+ isPrimaryFontWebSafe: isPrimaryFontWebSafe(fontFamily),
125
+ };
126
+ }
127
+ /**
128
+ * Gets all available web safe fonts
129
+ * @returns Array of web safe font names
130
+ */
131
+ export function getWebSafeFonts() {
132
+ return WEB_SAFE_FONTS;
133
+ }
134
+ /**
135
+ * Finds web safe font alternatives for a given font
136
+ * @param fontName - The font name to find alternatives for
137
+ * @returns Array of similar web safe fonts
138
+ */
139
+ export function getWebSafeFontAlternatives(fontName) {
140
+ const normalizedFontName = fontName.trim().toLowerCase();
141
+ // Define font categories and their alternatives
142
+ const fontCategories = {
143
+ serif: [
144
+ 'times new roman',
145
+ 'times',
146
+ 'georgia',
147
+ 'garamond',
148
+ 'book antiqua',
149
+ 'palatino linotype',
150
+ 'palatino',
151
+ ],
152
+ sansSerif: ['arial', 'helvetica', 'verdana', 'tahoma', 'geneva', 'lucida sans'],
153
+ monospace: ['courier new', 'courier', 'monaco', 'menlo', 'consolas', 'lucida console'],
154
+ cursive: ['comic sans ms', 'brush script mt'],
155
+ fantasy: ['papyrus', 'copperplate', 'fantasy'],
156
+ };
157
+ // If it's already web safe, return similar fonts from the same category
158
+ if (isWebSafeFont(normalizedFontName)) {
159
+ for (const [_category, fonts] of Object.entries(fontCategories)) {
160
+ if (fonts.includes(normalizedFontName)) {
161
+ return fonts.filter(font => font !== normalizedFontName);
162
+ }
163
+ }
164
+ }
165
+ // For non-web-safe fonts, suggest based on common patterns
166
+ if (normalizedFontName.includes('serif') && !normalizedFontName.includes('sans')) {
167
+ return fontCategories.serif;
168
+ }
169
+ if (normalizedFontName.includes('sans') ||
170
+ normalizedFontName.includes('arial') ||
171
+ normalizedFontName.includes('helvetica')) {
172
+ return fontCategories.sansSerif;
173
+ }
174
+ if (normalizedFontName.includes('mono') ||
175
+ normalizedFontName.includes('courier') ||
176
+ normalizedFontName.includes('code')) {
177
+ return fontCategories.monospace;
178
+ }
179
+ if (normalizedFontName.includes('script') ||
180
+ normalizedFontName.includes('cursive') ||
181
+ normalizedFontName.includes('comic')) {
182
+ return fontCategories.cursive;
183
+ }
184
+ // Default fallback to common sans-serif fonts
185
+ return fontCategories.sansSerif;
186
+ }
187
+ /**
188
+ * Creates a font stack with appropriate fallbacks
189
+ * @param primaryFont Primary font family
190
+ * @returns Complete font stack string
191
+ */
192
+ export function createFontStack(primaryFont) {
193
+ const fallbacks = getWebSafeFontAlternatives(primaryFont);
194
+ const stack = [primaryFont, ...fallbacks];
195
+ return stack.join(', ');
196
+ }
2
197
  /**
3
198
  * Function to parse search params string to object
4
199
  * @param {string} searchParams - search params
@@ -57,3 +252,34 @@ export const isLinux = () => getPlatform() === 'linux';
57
252
  * @returns Platform-appropriate modifier key
58
253
  */
59
254
  export const getModifierKey = () => (isMacOS() ? '⌘' : 'Ctrl');
255
+ /**
256
+ * Formats a hotkey string with the appropriate modifier
257
+ * @param key The key to format
258
+ * @returns Formatted hotkey string
259
+ */
260
+ export const formatHotkey = (key) => {
261
+ const modifier = getModifierKey();
262
+ return `${modifier}+${key}`;
263
+ };
264
+ /**
265
+ * Chuyển đổi giá trị CSS 'px' thành số nguyên.
266
+ * Ví dụ: "16px" => 16
267
+ *
268
+ * @param fontSizeString - Chuỗi kích thước font, ví dụ: "16px".
269
+ * @returns Số nguyên hoặc null nếu chuỗi không hợp lệ.
270
+ */
271
+ export function convertPxToNumber(fontSizeString) {
272
+ // Kiểm tra xem đầu vào có phải là chuỗi không
273
+ if (typeof fontSizeString !== 'string') {
274
+ return null;
275
+ }
276
+ // Sử dụng parseInt để lấy phần số.
277
+ // parseInt sẽ dừng lại khi gặp ký tự không phải số, ví dụ 'p' trong 'px'.
278
+ const numberValue = parseInt(fontSizeString, 10);
279
+ // Kiểm tra xem kết quả có phải là một số hợp lệ không
280
+ // (isNaN - Is Not a Number)
281
+ if (isNaN(numberValue)) {
282
+ return null;
283
+ }
284
+ return numberValue;
285
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antscorp/antsomi-ui",
3
- "version": "2.0.110",
3
+ "version": "2.0.111",
4
4
  "description": "An enterprise-class UI design language and React UI library.",
5
5
  "sideEffects": [
6
6
  "dist/*",
@@ -69,6 +69,7 @@
69
69
  "@dnd-kit/sortable": "^8.0.0",
70
70
  "@dnd-kit/utilities": "^3.2.2",
71
71
  "@emotion/react": "^11.11.1",
72
+ "@floating-ui/react": "^0.27.8",
72
73
  "@fortawesome/fontawesome-svg-core": "6.1.1",
73
74
  "@fortawesome/free-brands-svg-icons": "6.1.1",
74
75
  "@fortawesome/free-regular-svg-icons": "6.1.1",
@@ -78,6 +79,18 @@
78
79
  "@tanstack/react-query": "4.20.4",
79
80
  "@tanstack/react-query-devtools": "4.20.4",
80
81
  "@tinymce/tinymce-react": "^3.7.0",
82
+ "@tiptap/core": "3.10.2",
83
+ "@tiptap/extension-link": "3.10.2",
84
+ "@tiptap/extension-strike": "3.10.2",
85
+ "@tiptap/extension-subscript": "3.10.2",
86
+ "@tiptap/extension-superscript": "3.10.2",
87
+ "@tiptap/extension-text-align": "3.10.2",
88
+ "@tiptap/extension-text-style": "3.10.2",
89
+ "@tiptap/extensions": "3.10.2",
90
+ "@tiptap/pm": "3.10.2",
91
+ "@tiptap/react": "3.10.2",
92
+ "@tiptap/starter-kit": "3.10.2",
93
+ "@tiptap/suggestion": "3.10.2",
81
94
  "@yaireo/tagify": "^4.31.2",
82
95
  "ace-builds": "1.4.14",
83
96
  "animate.css": "^4.1.1",
@@ -98,6 +111,7 @@
98
111
  "html-react-parser": "^5.1.12",
99
112
  "html-to-image": "^1.11.11",
100
113
  "html2canvas": "^1.4.1",
114
+ "html2canvas-pro": "^1.5.11",
101
115
  "i18next": "23.7.9",
102
116
  "i18next-browser-languagedetector": "6.1.2",
103
117
  "immer": "3.0.0",
@@ -117,6 +131,7 @@
117
131
  "react-device-detect": "^2.2.3",
118
132
  "react-diff-viewer": "^3.1.1",
119
133
  "react-draggable": "^4.4.5",
134
+ "react-fast-compare": "^3.2.1",
120
135
  "react-frame-component": "^5.2.6",
121
136
  "react-google-recaptcha": "^3.1.0",
122
137
  "react-helmet": "^6.1.0",
@@ -128,8 +143,7 @@
128
143
  "react-virtualized-auto-sizer": "^1.0.24",
129
144
  "react-window": "^1.8.10",
130
145
  "rehype-highlight": "^6.0.0",
131
- "remark-gfm": "^3.0.1",
132
- "remark-gfm-alias-story": "npm:remark-gfm@4.0.0",
146
+ "remark-gfm": "^4",
133
147
  "reselect": "^5.1.1",
134
148
  "socket.io-client": "^4.7.5",
135
149
  "string-replace-to-array": "^2.1.0",
@@ -138,6 +152,7 @@
138
152
  "tui-image-editor": "^3.15.3",
139
153
  "uniqid": "^5.4.0",
140
154
  "use-context-selector": "^1.4.4",
155
+ "use-debounce": "^10.0.4",
141
156
  "use-image": "^1.1.1",
142
157
  "use-immer": "^0.4.1",
143
158
  "zustand": "^4.5.2"
@@ -160,17 +175,11 @@
160
175
  "@babel/preset-typescript": "^7.23.3",
161
176
  "@commitlint/cli": "17.5.0",
162
177
  "@commitlint/config-conventional": "17.4.4",
163
- "@storybook/addon-docs": "^8.6.9",
164
- "@storybook/addon-essentials": "^8.6.9",
165
- "@storybook/addon-links": "^8.6.9",
166
- "@storybook/addon-styling-webpack": "^1.0.1",
167
- "@storybook/addon-webpack5-compiler-babel": "^3.0.5",
168
- "@storybook/blocks": "^8.6.9",
169
- "@storybook/manager-api": "^8.6.9",
170
- "@storybook/react": "^8.6.9",
171
- "@storybook/react-webpack5": "^8.6.9",
172
- "@storybook/test": "^8.6.9",
173
- "@storybook/theming": "^8.6.9",
178
+ "@storybook/addon-docs": "^9.1.10",
179
+ "@storybook/addon-links": "^9.1.10",
180
+ "@storybook/addon-styling-webpack": "^2.0.0",
181
+ "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
182
+ "@storybook/react-webpack5": "^9.1.10",
174
183
  "@testing-library/dom": "^10.4.0",
175
184
  "@testing-library/jest-dom": "^6.5.0",
176
185
  "@testing-library/react": "^16.0.0",
@@ -194,6 +203,7 @@
194
203
  "@types/react-window": "^1.8.8",
195
204
  "@types/styled-components": "^5.1.26",
196
205
  "@types/tinycolor2": "^1.4.6",
206
+ "@types/uniqid": "^5.3.4",
197
207
  "@types/yaireo__tagify": "^4.27.0",
198
208
  "@typescript-eslint/eslint-plugin": "^5.55.0",
199
209
  "@typescript-eslint/parser": "^5.55.0",
@@ -220,7 +230,7 @@
220
230
  "eslint-plugin-prettier": "^5.2.1",
221
231
  "eslint-plugin-react": "^7.32.2",
222
232
  "eslint-plugin-react-hooks": "^4.6.0",
223
- "eslint-plugin-storybook": "^0.12.0",
233
+ "eslint-plugin-storybook": "^9.1.10",
224
234
  "file-loader": "^6.2.0",
225
235
  "googleapis": "^142.0.0",
226
236
  "husky": "^8.0.3",
@@ -233,12 +243,11 @@
233
243
  "prettier": "^3.3.3",
234
244
  "react": "18.2.0",
235
245
  "react-dom": "18.2.0",
236
- "react-fast-compare": "^3.2.1",
237
246
  "react-i18next": "11.16.7",
238
247
  "react-router-dom": "5.1.0 || 6.14.2",
239
248
  "sass": "^1.77.8",
240
249
  "sass-loader": "^16.0.1",
241
- "storybook": "^8.6.9",
250
+ "storybook": "^9.1.10",
242
251
  "style-loader": "^4.0.0",
243
252
  "styled-components": "^5.3.9",
244
253
  "terser-webpack-plugin": "^5.3.10",