@frontify/guideline-blocks-settings 3.0.2 → 3.0.4

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 (262) hide show
  1. package/dist/_virtual/_rolldown/runtime.es.js +17 -0
  2. package/dist/components/Attachments/AttachmentItem.es.js +116 -168
  3. package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
  4. package/dist/components/Attachments/Attachments.es.js +145 -137
  5. package/dist/components/Attachments/Attachments.es.js.map +1 -1
  6. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +25 -28
  7. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -1
  8. package/dist/components/BlockInjectButton/BlockInjectButton.es.js +114 -126
  9. package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
  10. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +53 -74
  11. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
  12. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +26 -31
  13. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
  14. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +22 -25
  15. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
  16. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +17 -28
  17. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
  18. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +25 -35
  19. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
  20. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +41 -34
  21. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
  22. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +41 -36
  23. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
  24. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +24 -33
  25. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
  26. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +20 -11
  27. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
  28. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +18 -10
  29. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
  30. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +10 -12
  31. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -1
  32. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +13 -13
  33. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -1
  34. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +21 -19
  35. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
  36. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +18 -25
  37. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -1
  38. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -17
  39. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
  40. package/dist/components/BlockItemWrapper/constants.es.js +6 -6
  41. package/dist/components/BlockItemWrapper/constants.es.js.map +1 -1
  42. package/dist/components/Link/LinkInput.es.js +63 -63
  43. package/dist/components/Link/LinkInput.es.js.map +1 -1
  44. package/dist/components/Link/LinkSelector/DocumentLink.es.js +46 -63
  45. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
  46. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +50 -64
  47. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
  48. package/dist/components/Link/LinkSelector/LinkSelector2.es.js +77 -0
  49. package/dist/components/Link/LinkSelector/LinkSelector2.es.js.map +1 -0
  50. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +10 -6
  51. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +1 -1
  52. package/dist/components/Link/LinkSelector/PageLink.es.js +53 -67
  53. package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
  54. package/dist/components/Link/LinkSelector/PageLinks.es.js +28 -37
  55. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
  56. package/dist/components/Link/LinkSelector/SectionLink.es.js +31 -24
  57. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -1
  58. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +6 -5
  59. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
  60. package/dist/components/Link/utils/getUrl.es.js +10 -12
  61. package/dist/components/Link/utils/getUrl.es.js.map +1 -1
  62. package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
  63. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
  64. package/dist/components/Link/utils/url.es.js +21 -17
  65. package/dist/components/Link/utils/url.es.js.map +1 -1
  66. package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
  67. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
  68. package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
  69. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  70. package/dist/components/RichTextEditor/constants.es.js +6 -5
  71. package/dist/components/RichTextEditor/constants.es.js.map +1 -1
  72. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
  73. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
  74. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
  116. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
  117. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
  118. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
  119. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
  120. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
  121. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
  122. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
  123. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
  124. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
  125. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
  126. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
  127. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
  128. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
  129. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
  130. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
  131. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
  132. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
  133. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
  134. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
  135. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
  136. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
  137. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
  138. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
  139. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  140. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
  144. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
  145. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
  146. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
  147. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
  148. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
  149. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  150. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
  151. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
  152. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
  153. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
  154. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
  155. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
  156. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
  157. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
  158. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
  159. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
  160. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
  161. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
  162. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
  163. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  164. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
  165. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  166. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  170. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
  171. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  172. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
  173. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  174. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
  175. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  176. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
  177. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
  178. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
  179. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  180. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
  181. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  182. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
  183. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
  184. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
  185. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  186. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
  187. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
  188. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
  189. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  190. package/dist/helpers/addHttps.es.js +12 -12
  191. package/dist/helpers/addHttps.es.js.map +1 -1
  192. package/dist/helpers/convertToRichTextValue.es.js +14 -6
  193. package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
  194. package/dist/helpers/hasRichTextValue.es.js +13 -14
  195. package/dist/helpers/hasRichTextValue.es.js.map +1 -1
  196. package/dist/helpers/isDownloadable.es.js +6 -5
  197. package/dist/helpers/isDownloadable.es.js.map +1 -1
  198. package/dist/hooks/useAttachments.es.js +65 -73
  199. package/dist/hooks/useAttachments.es.js.map +1 -1
  200. package/dist/hooks/useIsInViewport.es.js +20 -21
  201. package/dist/hooks/useIsInViewport.es.js.map +1 -1
  202. package/dist/index.cjs.js +6 -8
  203. package/dist/index.cjs.js.map +1 -1
  204. package/dist/index.d.ts +8 -7
  205. package/dist/index.es.js +221 -213
  206. package/dist/index.es.js.map +1 -1
  207. package/dist/index.umd.js +6 -8
  208. package/dist/index.umd.js.map +1 -1
  209. package/dist/settings/background.es.js +20 -21
  210. package/dist/settings/background.es.js.map +1 -1
  211. package/dist/settings/border.es.js +62 -64
  212. package/dist/settings/border.es.js.map +1 -1
  213. package/dist/settings/borderRadius.es.js +49 -52
  214. package/dist/settings/borderRadius.es.js.map +1 -1
  215. package/dist/settings/borderRadiusExtended.es.js +58 -60
  216. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  217. package/dist/settings/defaultValues.es.js +16 -19
  218. package/dist/settings/defaultValues.es.js.map +1 -1
  219. package/dist/settings/gutter.es.js +48 -52
  220. package/dist/settings/gutter.es.js.map +1 -1
  221. package/dist/settings/margin.es.js +49 -52
  222. package/dist/settings/margin.es.js.map +1 -1
  223. package/dist/settings/marginExtended.es.js +62 -64
  224. package/dist/settings/marginExtended.es.js.map +1 -1
  225. package/dist/settings/padding.es.js +49 -52
  226. package/dist/settings/padding.es.js.map +1 -1
  227. package/dist/settings/paddingExtended.es.js +62 -64
  228. package/dist/settings/paddingExtended.es.js.map +1 -1
  229. package/dist/settings/securityDownloadable.es.js +16 -16
  230. package/dist/settings/securityDownloadable.es.js.map +1 -1
  231. package/dist/settings/securityGlobalControl.es.js +26 -32
  232. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  233. package/dist/settings/types.es.js +41 -47
  234. package/dist/settings/types.es.js.map +1 -1
  235. package/dist/styles.css +2 -1
  236. package/dist/utilities/color/getReadableColor.es.js +15 -13
  237. package/dist/utilities/color/getReadableColor.es.js.map +1 -1
  238. package/dist/utilities/color/isDark.es.js +14 -9
  239. package/dist/utilities/color/isDark.es.js.map +1 -1
  240. package/dist/utilities/color/setAlpha.es.js +7 -6
  241. package/dist/utilities/color/setAlpha.es.js.map +1 -1
  242. package/dist/utilities/color/toColorObject.es.js +14 -8
  243. package/dist/utilities/color/toColorObject.es.js.map +1 -1
  244. package/dist/utilities/color/toHex8String.es.js +7 -6
  245. package/dist/utilities/color/toHex8String.es.js.map +1 -1
  246. package/dist/utilities/color/toHexString.es.js +7 -6
  247. package/dist/utilities/color/toHexString.es.js.map +1 -1
  248. package/dist/utilities/color/toRgbaString.es.js +7 -6
  249. package/dist/utilities/color/toRgbaString.es.js.map +1 -1
  250. package/dist/utilities/color/toShortRgba.es.js +18 -11
  251. package/dist/utilities/color/toShortRgba.es.js.map +1 -1
  252. package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
  253. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
  254. package/dist/utilities/react/getBorderStyles.es.js +12 -11
  255. package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
  256. package/dist/utilities/react/getRadiusStyles.es.js +7 -8
  257. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
  258. package/dist/utilities/react/joinClassNames.es.js +6 -5
  259. package/dist/utilities/react/joinClassNames.es.js.map +1 -1
  260. package/package.json +8 -10
  261. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  262. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
@@ -1,104 +1,92 @@
1
- import { useEditorRef as d, getPluginOptions as S, useHotkeys as b } from "@frontify/fondue/rte";
2
- import { useEffect as E, useReducer as g } from "react";
3
- import { isValidUrlOrEmpty as p } from "../../../../../../Link/utils/url.es.js";
4
- import { ELEMENT_BUTTON as B } from "../../../createButtonPlugin.es.js";
5
- import { submitFloatingButton as x } from "../../../transforms/submitFloatingButton.es.js";
6
- import { getButtonStyle as N } from "../../../utils/getButtonStyle.es.js";
7
- import { floatingButtonSelectors as a, floatingButtonActions as r } from "../floatingButtonStore.es.js";
8
- import { addHttps as w } from "../../../../../../../helpers/addHttps.es.js";
9
- const U = {
10
- url: "",
11
- text: "",
12
- buttonStyle: "primary",
13
- newTab: !1
14
- }, h = () => {
15
- const [n, o] = g((t, s) => {
16
- const { type: l, payload: u } = s;
17
- switch (l) {
18
- case "NEW_TAB":
19
- return {
20
- ...t,
21
- newTab: !0
22
- };
23
- case "SAME_TAB":
24
- return {
25
- ...t,
26
- newTab: !1
27
- };
28
- case "URL":
29
- case "TEXT":
30
- case "BUTTON_STYLE":
31
- case "INIT":
32
- return {
33
- ...t,
34
- ...u
35
- };
36
- default:
37
- return t;
38
- }
39
- }, U);
40
- return [n, o];
41
- }, v = () => {
42
- const n = d(), [o, t] = h();
43
- E(() => {
44
- const e = N(n);
45
- t({
46
- type: "INIT",
47
- payload: {
48
- text: a.text() || a.url(),
49
- buttonStyle: e,
50
- newTab: !!a.newTab(),
51
- url: a.url()
52
- }
53
- });
54
- }, [t, n]);
55
- const s = (e) => {
56
- t({
57
- type: "TEXT",
58
- payload: { text: e }
59
- });
60
- }, l = (e) => {
61
- t({
62
- type: "BUTTON_STYLE",
63
- payload: { buttonStyle: e }
64
- });
65
- }, u = (e) => {
66
- t({
67
- type: "URL",
68
- payload: { url: e }
69
- });
70
- }, i = (e) => {
71
- t(e ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
72
- }, y = () => {
73
- r.reset();
74
- }, T = (e) => {
75
- if (!p(o.url) || !c)
76
- return;
77
- const f = w(o.url);
78
- r.text(o.text), r.url(f), r.buttonStyle(o.buttonStyle), r.newTab(o.newTab), x(n) && e?.preventDefault();
79
- }, c = o.url !== "" && o.text !== "", { appBridge: m } = S(n, B);
80
- return b(
81
- "enter",
82
- T,
83
- {
84
- enableOnFormTags: ["INPUT"]
85
- },
86
- []
87
- ), {
88
- state: o,
89
- onTextChange: s,
90
- onButtonStyleChange: l,
91
- onUrlChange: u,
92
- onToggleTab: i,
93
- onCancel: y,
94
- onSave: T,
95
- hasValues: c,
96
- isValidUrlOrEmpty: p,
97
- appBridge: m
98
- };
1
+ import { floatingButtonActions as e, floatingButtonSelectors as t } from "../floatingButtonStore.es.js";
2
+ import { addHttps as n } from "../../../../../../../helpers/addHttps.es.js";
3
+ import { isValidUrlOrEmpty as r } from "../../../../../../Link/utils/url.es.js";
4
+ import { submitFloatingButton as i } from "../../../transforms/submitFloatingButton.es.js";
5
+ import { getButtonStyle as a } from "../../../utils/getButtonStyle.es.js";
6
+ import { ELEMENT_BUTTON as o } from "../../../createButtonPlugin.es.js";
7
+ import { useEffect as s, useReducer as c } from "react";
8
+ import { getPluginOptions as l, useEditorRef as u, useHotkeys as d } from "@frontify/fondue/rte";
9
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts
10
+ var f = {
11
+ url: "",
12
+ text: "",
13
+ buttonStyle: "primary",
14
+ newTab: !1
15
+ }, p = () => {
16
+ let [e, t] = c((e, t) => {
17
+ let { type: n, payload: r } = t;
18
+ switch (n) {
19
+ case "NEW_TAB": return {
20
+ ...e,
21
+ newTab: !0
22
+ };
23
+ case "SAME_TAB": return {
24
+ ...e,
25
+ newTab: !1
26
+ };
27
+ case "URL":
28
+ case "TEXT":
29
+ case "BUTTON_STYLE":
30
+ case "INIT": return {
31
+ ...e,
32
+ ...r
33
+ };
34
+ default: return e;
35
+ }
36
+ }, f);
37
+ return [e, t];
38
+ }, m = () => {
39
+ let c = u(), [f, m] = p();
40
+ s(() => {
41
+ let e = a(c);
42
+ m({
43
+ type: "INIT",
44
+ payload: {
45
+ text: t.text() || t.url(),
46
+ buttonStyle: e,
47
+ newTab: !!t.newTab(),
48
+ url: t.url()
49
+ }
50
+ });
51
+ }, [m, c]);
52
+ let h = (e) => {
53
+ m({
54
+ type: "TEXT",
55
+ payload: { text: e }
56
+ });
57
+ }, g = (e) => {
58
+ m({
59
+ type: "BUTTON_STYLE",
60
+ payload: { buttonStyle: e }
61
+ });
62
+ }, _ = (e) => {
63
+ m({
64
+ type: "URL",
65
+ payload: { url: e }
66
+ });
67
+ }, v = (e) => {
68
+ m(e ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
69
+ }, y = () => {
70
+ e.reset();
71
+ }, b = (t) => {
72
+ if (!r(f.url) || !x) return;
73
+ let a = n(f.url);
74
+ e.text(f.text), e.url(a), e.buttonStyle(f.buttonStyle), e.newTab(f.newTab), i(c) && t?.preventDefault();
75
+ }, x = f.url !== "" && f.text !== "", { appBridge: S } = l(c, o);
76
+ return d("enter", b, { enableOnFormTags: ["INPUT"] }, []), {
77
+ state: f,
78
+ onTextChange: h,
79
+ onButtonStyleChange: g,
80
+ onUrlChange: _,
81
+ onToggleTab: v,
82
+ onCancel: y,
83
+ onSave: b,
84
+ hasValues: x,
85
+ isValidUrlOrEmpty: r,
86
+ appBridge: S
87
+ };
99
88
  };
100
- export {
101
- h as InsertModalState,
102
- v as useInsertModal
103
- };
104
- //# sourceMappingURL=useInsertModal.es.js.map
89
+ //#endregion
90
+ export { p as InsertModalState, m as useInsertModal };
91
+
92
+ //# sourceMappingURL=useInsertModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInsertModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { getPluginOptions, useEditorRef, useHotkeys } from '@frontify/fondue/rte';\nimport { type Dispatch, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../../Link/utils/url';\nimport { ELEMENT_BUTTON } from '../../../createButtonPlugin';\nimport { submitFloatingButton } from '../../../transforms/submitFloatingButton';\nimport { type RichTextButtonStyle } from '../../../types';\nimport { getButtonStyle } from '../../../utils/getButtonStyle';\nimport { floatingButtonActions, floatingButtonSelectors } from '../floatingButtonStore';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n buttonStyle: 'primary',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'BUTTON_STYLE':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const buttonStyle = getButtonStyle(editor);\n\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingButtonSelectors.text() || floatingButtonSelectors.url(),\n buttonStyle,\n newTab: !!floatingButtonSelectors.newTab(),\n url: floatingButtonSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onButtonStyleChange = (value: RichTextButtonStyle) => {\n dispatch({\n type: 'BUTTON_STYLE',\n payload: { buttonStyle: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingButtonActions.reset();\n };\n\n const onSave = (event: React.MouseEvent<HTMLButtonElement, MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n const urlToSave = addHttps(state.url);\n\n floatingButtonActions.text(state.text);\n floatingButtonActions.url(urlToSave);\n floatingButtonActions.buttonStyle(state.buttonStyle);\n floatingButtonActions.newTab(state.newTab);\n\n if (submitFloatingButton(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_BUTTON);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return {\n state,\n onTextChange,\n onButtonStyleChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n hasValues,\n isValidUrlOrEmpty,\n appBridge,\n };\n};\n"],"names":["initialState","InsertModalState","state","dispatch","useReducer","action","type","payload","useInsertModal","editor","useEditorRef","useEffect","buttonStyle","getButtonStyle","floatingButtonSelectors","onTextChange","value","onButtonStyleChange","onUrlChange","onToggleTab","checked","onCancel","floatingButtonActions","onSave","event","isValidUrlOrEmpty","hasValues","urlToSave","addHttps","submitFloatingButton","appBridge","getPluginOptions","ELEMENT_BUTTON","useHotkeys"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAsC;AAAA,EACxC,KAAK;AAAA,EACL,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AACZ,GAEaC,IAAmB,MAAkE;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoE,CAACF,GAAOG,MAAW;AAC7G,UAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYF;AAE1B,YAAQC,GAAA;AAAA,MACJ,KAAK;AACD,eAAO;AAAA,UACH,GAAGJ;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,GAAGK;AAAA,QAAA;AAAA,MAEX;AACI,eAAOL;AAAAA,IAAA;AAAA,EAEnB,GAAGF,CAAY;AAEf,SAAO,CAACE,GAAOC,CAAQ;AAC3B,GAEaK,IAAiB,MAAM;AAChC,QAAMC,IAASC,EAAA,GACT,CAACR,GAAOC,CAAQ,IAAIF,EAAA;AAE1B,EAAAU,EAAU,MAAM;AACZ,UAAMC,IAAcC,EAAeJ,CAAM;AAEzC,IAAAN,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAMW,EAAwB,UAAUA,EAAwB,IAAA;AAAA,QAChE,aAAAF;AAAA,QACA,QAAQ,CAAC,CAACE,EAAwB,OAAA;AAAA,QAClC,KAAKA,EAAwB,IAAA;AAAA,MAAI;AAAA,IACrC,CACH;AAAA,EACL,GAAG,CAACX,GAAUM,CAAM,CAAC;AAErB,QAAMM,IAAe,CAACC,MAAkB;AACpC,IAAAb,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,MAAMa,EAAA;AAAA,IAAM,CAC1B;AAAA,EACL,GAEMC,IAAsB,CAACD,MAA+B;AACxD,IAAAb,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,aAAaa,EAAA;AAAA,IAAM,CACjC;AAAA,EACL,GAEME,IAAc,CAACF,MAAkB;AACnC,IAAAb,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,KAAKa,EAAA;AAAA,IAAM,CACzB;AAAA,EACL,GAEMG,IAAc,CAACC,MAAqB;AACtC,IAAUjB,EAAViB,IAAmB,EAAE,MAAM,UAAA,IAAwB,EAAE,MAAM,YAArB;AAAA,EAC1C,GAEMC,IAAW,MAAM;AACnB,IAAAC,EAAsB,MAAA;AAAA,EAC1B,GAEMC,IAAS,CAACC,MAAuF;AACnG,QAAI,CAACC,EAAkBvB,EAAM,GAAG,KAAK,CAACwB;AAClC;AAGJ,UAAMC,IAAYC,EAAS1B,EAAM,GAAG;AAEpC,IAAAoB,EAAsB,KAAKpB,EAAM,IAAI,GACrCoB,EAAsB,IAAIK,CAAS,GACnCL,EAAsB,YAAYpB,EAAM,WAAW,GACnDoB,EAAsB,OAAOpB,EAAM,MAAM,GAErC2B,EAAqBpB,CAAM,KAC3Be,GAAO,eAAA;AAAA,EAEf,GAEME,IAAYxB,EAAM,QAAQ,MAAMA,EAAM,SAAS,IAE/C,EAAE,WAAA4B,EAAA,IAAcC,EAAgDtB,GAAQuB,CAAc;AAE5F,SAAAC;AAAA,IACI;AAAA,IACAV;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,IAAA;AAAA,IAE9B,CAAA;AAAA,EAAC,GAGE;AAAA,IACH,OAAArB;AAAA,IACA,cAAAa;AAAA,IACA,qBAAAE;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAE;AAAA,IACA,QAAAE;AAAA,IACA,WAAAG;AAAA,IACA,mBAAAD;AAAA,IACA,WAAAK;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useInsertModal.es.js","names":[],"sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { getPluginOptions, useEditorRef, useHotkeys } from '@frontify/fondue/rte';\nimport { type Dispatch, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../../Link/utils/url';\nimport { ELEMENT_BUTTON } from '../../../createButtonPlugin';\nimport { submitFloatingButton } from '../../../transforms/submitFloatingButton';\nimport { type RichTextButtonStyle } from '../../../types';\nimport { getButtonStyle } from '../../../utils/getButtonStyle';\nimport { floatingButtonActions, floatingButtonSelectors } from '../floatingButtonStore';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n buttonStyle: 'primary',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'BUTTON_STYLE':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const buttonStyle = getButtonStyle(editor);\n\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingButtonSelectors.text() || floatingButtonSelectors.url(),\n buttonStyle,\n newTab: !!floatingButtonSelectors.newTab(),\n url: floatingButtonSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onButtonStyleChange = (value: RichTextButtonStyle) => {\n dispatch({\n type: 'BUTTON_STYLE',\n payload: { buttonStyle: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingButtonActions.reset();\n };\n\n const onSave = (event: React.MouseEvent<HTMLButtonElement, MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n const urlToSave = addHttps(state.url);\n\n floatingButtonActions.text(state.text);\n floatingButtonActions.url(urlToSave);\n floatingButtonActions.buttonStyle(state.buttonStyle);\n floatingButtonActions.newTab(state.newTab);\n\n if (submitFloatingButton(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_BUTTON);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return {\n state,\n onTextChange,\n onButtonStyleChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n hasValues,\n isValidUrlOrEmpty,\n appBridge,\n };\n};\n"],"mappings":";;;;;;;;;AAgBA,IAAM,IAAsC;CACxC,KAAK;CACL,MAAM;CACN,aAAa;CACb,QAAQ;AACZ,GAEa,UAAqF;CAC9F,IAAM,CAAC,GAAO,KAAY,GAAqE,GAAO,MAAW;EAC7G,IAAM,EAAE,SAAM,eAAY;EAE1B,QAAQ,GAAR;GACI,KAAK,WACD,OAAO;IACH,GAAG;IACH,QAAQ;GACZ;GACJ,KAAK,YACD,OAAO;IACH,GAAG;IACH,QAAQ;GACZ;GACJ,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,QACD,OAAO;IACH,GAAG;IACH,GAAG;GACP;GACJ,SACI,OAAO;EACf;CACJ,GAAG,CAAY;CAEf,OAAO,CAAC,GAAO,CAAQ;AAC3B,GAEa,UAAuB;CAChC,IAAM,IAAS,EAAa,GACtB,CAAC,GAAO,KAAY,EAAiB;CAE3C,QAAgB;EACZ,IAAM,IAAc,EAAe,CAAM;EAEzC,EAAS;GACL,MAAM;GACN,SAAS;IACL,MAAM,EAAwB,KAAK,KAAK,EAAwB,IAAI;IACpE;IACA,QAAQ,CAAC,CAAC,EAAwB,OAAO;IACzC,KAAK,EAAwB,IAAI;GACrC;EACJ,CAAC;CACL,GAAG,CAAC,GAAU,CAAM,CAAC;CAErB,IAAM,KAAgB,MAAkB;EACpC,EAAS;GACL,MAAM;GACN,SAAS,EAAE,MAAM,EAAM;EAC3B,CAAC;CACL,GAEM,KAAuB,MAA+B;EACxD,EAAS;GACL,MAAM;GACN,SAAS,EAAE,aAAa,EAAM;EAClC,CAAC;CACL,GAEM,KAAe,MAAkB;EACnC,EAAS;GACL,MAAM;GACN,SAAS,EAAE,KAAK,EAAM;EAC1B,CAAC;CACL,GAEM,KAAe,MAAqB;EACtC,AAAU,EAAV,IAAmB,EAAE,MAAM,UAAU,IAAc,EAAE,MAAM,WAAW,CAAC;CAC3E,GAEM,UAAiB;EACnB,EAAsB,MAAM;CAChC,GAEM,KAAU,MAAuF;EACnG,IAAI,CAAC,EAAkB,EAAM,GAAG,KAAK,CAAC,GAClC;EAGJ,IAAM,IAAY,EAAS,EAAM,GAAG;EAOpC,AALA,EAAsB,KAAK,EAAM,IAAI,GACrC,EAAsB,IAAI,CAAS,GACnC,EAAsB,YAAY,EAAM,WAAW,GACnD,EAAsB,OAAO,EAAM,MAAM,GAErC,EAAqB,CAAM,KAC3B,GAAO,eAAe;CAE9B,GAEM,IAAY,EAAM,QAAQ,MAAM,EAAM,SAAS,IAE/C,EAAE,iBAAc,EAAgD,GAAQ,CAAc;CAW5F,OATA,EACI,SACA,GACA,EACI,kBAAkB,CAAC,OAAO,EAC9B,GACA,CAAC,CACL,GAEO;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACJ;AACJ"}
@@ -1,32 +1,26 @@
1
- import { createStore as i } from "@frontify/fondue/rte";
2
- const e = i("floatingButton")({
3
- openEditorId: null,
4
- mouseDown: !1,
5
- updated: !1,
6
- url: "",
7
- text: "",
8
- buttonStyle: "primary",
9
- newTab: !1,
10
- mode: "",
11
- isEditing: !1
12
- }).extendActions((t) => ({
13
- reset: () => {
14
- t.url(""), t.text(""), t.buttonStyle("primary"), t.newTab(!1), t.mode(""), t.isEditing(!1);
15
- }
16
- })).extendActions((t) => ({
17
- show: (o, n) => {
18
- t.mode(o), t.isEditing(!1), t.openEditorId(n);
19
- },
20
- hide: () => {
21
- t.reset(), t.openEditorId(null);
22
- }
23
- })).extendSelectors((t) => ({
24
- isOpen: (o) => t.openEditorId === o
25
- })), r = e.set, d = e.get, s = () => e.use;
26
- export {
27
- r as floatingButtonActions,
28
- d as floatingButtonSelectors,
29
- e as floatingButtonStore,
30
- s as useFloatingButtonSelectors
31
- };
32
- //# sourceMappingURL=floatingButtonStore.es.js.map
1
+ import { createStore as e } from "@frontify/fondue/rte";
2
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts
3
+ var t = e("floatingButton")({
4
+ openEditorId: null,
5
+ mouseDown: !1,
6
+ updated: !1,
7
+ url: "",
8
+ text: "",
9
+ buttonStyle: "primary",
10
+ newTab: !1,
11
+ mode: "",
12
+ isEditing: !1
13
+ }).extendActions((e) => ({ reset: () => {
14
+ e.url(""), e.text(""), e.buttonStyle("primary"), e.newTab(!1), e.mode(""), e.isEditing(!1);
15
+ } })).extendActions((e) => ({
16
+ show: (t, n) => {
17
+ e.mode(t), e.isEditing(!1), e.openEditorId(n);
18
+ },
19
+ hide: () => {
20
+ e.reset(), e.openEditorId(null);
21
+ }
22
+ })).extendSelectors((e) => ({ isOpen: (t) => e.openEditorId === t })), n = t.set, r = t.get, i = () => t.use;
23
+ //#endregion
24
+ export { n as floatingButtonActions, r as floatingButtonSelectors, t as floatingButtonStore, i as useFloatingButtonSelectors };
25
+
26
+ //# sourceMappingURL=floatingButtonStore.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"floatingButtonStore.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createStore } from '@frontify/fondue/rte';\n\nimport { type RichTextButtonStyle } from '../../types';\n\nexport type FloatingButtonMode = '' | 'insert' | 'edit';\n\nexport const floatingButtonStore: any = createStore('floatingButton')({\n openEditorId: null as null | string,\n mouseDown: false,\n updated: false,\n url: '',\n text: '',\n buttonStyle: 'primary' as RichTextButtonStyle,\n newTab: false,\n mode: '' as FloatingButtonMode,\n isEditing: false,\n})\n .extendActions((set) => ({\n reset: () => {\n set.url('');\n set.text('');\n set.buttonStyle('primary');\n set.newTab(false);\n set.mode('');\n set.isEditing(false);\n },\n }))\n .extendActions((set) => ({\n show: (mode: FloatingButtonMode, editorId: string) => {\n set.mode(mode);\n set.isEditing(false);\n set.openEditorId(editorId);\n },\n hide: () => {\n set.reset();\n set.openEditorId(null);\n },\n }))\n .extendSelectors((state) => ({\n isOpen: (editorId: string) => state.openEditorId === editorId,\n }));\n\nexport const floatingButtonActions = floatingButtonStore.set;\nexport const floatingButtonSelectors = floatingButtonStore.get;\n// oxlint-disable-next-line typescript/no-unsafe-return\nexport const useFloatingButtonSelectors = () => floatingButtonStore.use;\n"],"names":["floatingButtonStore","createStore","set","mode","editorId","state","floatingButtonActions","floatingButtonSelectors","useFloatingButtonSelectors"],"mappings":";AAQO,MAAMA,IAA2BC,EAAY,gBAAgB,EAAE;AAAA,EAClE,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,KAAK;AAAA,EACL,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AACf,CAAC,EACI,cAAc,CAACC,OAAS;AAAA,EACrB,OAAO,MAAM;AACT,IAAAA,EAAI,IAAI,EAAE,GACVA,EAAI,KAAK,EAAE,GACXA,EAAI,YAAY,SAAS,GACzBA,EAAI,OAAO,EAAK,GAChBA,EAAI,KAAK,EAAE,GACXA,EAAI,UAAU,EAAK;AAAA,EACvB;AACJ,EAAE,EACD,cAAc,CAACA,OAAS;AAAA,EACrB,MAAM,CAACC,GAA0BC,MAAqB;AAClD,IAAAF,EAAI,KAAKC,CAAI,GACbD,EAAI,UAAU,EAAK,GACnBA,EAAI,aAAaE,CAAQ;AAAA,EAC7B;AAAA,EACA,MAAM,MAAM;AACR,IAAAF,EAAI,MAAA,GACJA,EAAI,aAAa,IAAI;AAAA,EACzB;AACJ,EAAE,EACD,gBAAgB,CAACG,OAAW;AAAA,EACzB,QAAQ,CAACD,MAAqBC,EAAM,iBAAiBD;AACzD,EAAE,GAEOE,IAAwBN,EAAoB,KAC5CO,IAA0BP,EAAoB,KAE9CQ,IAA6B,MAAMR,EAAoB;"}
1
+ {"version":3,"file":"floatingButtonStore.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createStore } from '@frontify/fondue/rte';\n\nimport { type RichTextButtonStyle } from '../../types';\n\nexport type FloatingButtonMode = '' | 'insert' | 'edit';\n\nexport const floatingButtonStore: any = createStore('floatingButton')({\n openEditorId: null as null | string,\n mouseDown: false,\n updated: false,\n url: '',\n text: '',\n buttonStyle: 'primary' as RichTextButtonStyle,\n newTab: false,\n mode: '' as FloatingButtonMode,\n isEditing: false,\n})\n .extendActions((set) => ({\n reset: () => {\n set.url('');\n set.text('');\n set.buttonStyle('primary');\n set.newTab(false);\n set.mode('');\n set.isEditing(false);\n },\n }))\n .extendActions((set) => ({\n show: (mode: FloatingButtonMode, editorId: string) => {\n set.mode(mode);\n set.isEditing(false);\n set.openEditorId(editorId);\n },\n hide: () => {\n set.reset();\n set.openEditorId(null);\n },\n }))\n .extendSelectors((state) => ({\n isOpen: (editorId: string) => state.openEditorId === editorId,\n }));\n\nexport const floatingButtonActions = floatingButtonStore.set;\nexport const floatingButtonSelectors = floatingButtonStore.get;\n// oxlint-disable-next-line typescript/no-unsafe-return\nexport const useFloatingButtonSelectors = () => floatingButtonStore.use;\n"],"mappings":";;AAQA,IAAa,IAA2B,EAAY,gBAAgB,CAAC,CAAC;CAClE,cAAc;CACd,WAAW;CACX,SAAS;CACT,KAAK;CACL,MAAM;CACN,aAAa;CACb,QAAQ;CACR,MAAM;CACN,WAAW;AACf,CAAC,CAAC,CACG,eAAe,OAAS,EACrB,aAAa;CAMT,AALA,EAAI,IAAI,EAAE,GACV,EAAI,KAAK,EAAE,GACX,EAAI,YAAY,SAAS,GACzB,EAAI,OAAO,EAAK,GAChB,EAAI,KAAK,EAAE,GACX,EAAI,UAAU,EAAK;AACvB,EACJ,EAAE,CAAC,CACF,eAAe,OAAS;CACrB,OAAO,GAA0B,MAAqB;EAGlD,AAFA,EAAI,KAAK,CAAI,GACb,EAAI,UAAU,EAAK,GACnB,EAAI,aAAa,CAAQ;CAC7B;CACA,YAAY;EAER,AADA,EAAI,MAAM,GACV,EAAI,aAAa,IAAI;CACzB;AACJ,EAAE,CAAC,CACF,iBAAiB,OAAW,EACzB,SAAS,MAAqB,EAAM,iBAAiB,EACzD,EAAE,GAEO,IAAwB,EAAoB,KAC5C,IAA0B,EAAoB,KAE9C,UAAmC,EAAoB"}
@@ -1,54 +1,48 @@
1
- import { useEditorRef as F, useEditorVersion as y, getPluginOptions as C, getAboveNode as R, getPluginType as s, getRangeBoundingClientRect as h, getEndPoint as O, getStartPoint as b, getDefaultBoundingClientRect as N, someNode as P, useHotkeys as T, useComposedRef as k } from "@frontify/fondue/rte";
2
- import { useCallback as v, useEffect as S } from "react";
3
- import { ELEMENT_BUTTON as o } from "../../createButtonPlugin.es.js";
4
- import { triggerFloatingButtonEdit as A } from "../../utils/triggerFloatingButtonEdit.es.js";
5
- import { useVirtualFloatingButton as D } from "./useVirtualFloatingButton.es.js";
6
- import { getUrlFromEditor as H } from "../../utils/getUrl.es.js";
7
- import { useFloatingButtonSelectors as u, floatingButtonActions as n, floatingButtonSelectors as g } from "./floatingButtonStore.es.js";
8
- import { useFloatingButtonEnter as U } from "./useFloatingButtonEnter.es.js";
9
- import { useFloatingButtonEscape as V } from "./useFloatingButtonEscape.es.js";
10
- const I = (l) => {
11
- const t = F(), m = u().mode(), c = u().isOpen(t.id), a = y(), { triggerFloatingButtonHotkeys: d } = C(t, o), f = v(() => {
12
- const e = R(t, {
13
- match: { type: s(t, o) }
14
- });
15
- if (e) {
16
- const [, r] = e;
17
- return h(t, {
18
- anchor: b(t, r),
19
- focus: O(t, r)
20
- });
21
- }
22
- return N();
23
- }, [t]), p = c && m === "edit", { update: i, style: B, floating: E } = D({
24
- open: p,
25
- getBoundingClientRect: f,
26
- ...l
27
- });
28
- return S(() => {
29
- const e = H(t);
30
- if (e && n.url(e), t.selection && P(t, {
31
- match: { type: s(t, o) }
32
- })) {
33
- n.show("edit", t.id), i();
34
- return;
35
- }
36
- g.mode() === "edit" && n.reset();
37
- }, [t, a, i]), T(
38
- d,
39
- (e) => {
40
- e.preventDefault(), g.mode() === "edit" && A(t);
41
- },
42
- {
43
- enableOnContentEditable: !0
44
- },
45
- []
46
- ), U(), V(), {
47
- style: B,
48
- ref: k(E)
49
- };
1
+ import { floatingButtonActions as e, floatingButtonSelectors as t, useFloatingButtonSelectors as n } from "./floatingButtonStore.es.js";
2
+ import { getUrlFromEditor as r } from "../../utils/getUrl.es.js";
3
+ import { triggerFloatingButtonEdit as i } from "../../utils/triggerFloatingButtonEdit.es.js";
4
+ import { ELEMENT_BUTTON as a } from "../../createButtonPlugin.es.js";
5
+ import { useFloatingButtonEnter as o } from "./useFloatingButtonEnter.es.js";
6
+ import { useFloatingButtonEscape as s } from "./useFloatingButtonEscape.es.js";
7
+ import { useVirtualFloatingButton as c } from "./useVirtualFloatingButton.es.js";
8
+ import { useCallback as l, useEffect as u } from "react";
9
+ import { getAboveNode as d, getDefaultBoundingClientRect as f, getEndPoint as p, getPluginOptions as m, getPluginType as h, getRangeBoundingClientRect as g, getStartPoint as _, someNode as v, useComposedRef as y, useEditorRef as b, useEditorVersion as x, useHotkeys as S } from "@frontify/fondue/rte";
10
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts
11
+ var C = (C) => {
12
+ let w = b(), T = n().mode(), E = n().isOpen(w.id), D = x(), { triggerFloatingButtonHotkeys: O } = m(w, a), k = l(() => {
13
+ let e = d(w, { match: { type: h(w, a) } });
14
+ if (e) {
15
+ let [, t] = e;
16
+ return g(w, {
17
+ anchor: _(w, t),
18
+ focus: p(w, t)
19
+ });
20
+ }
21
+ return f();
22
+ }, [w]), { update: A, style: j, floating: M } = c({
23
+ open: E && T === "edit",
24
+ getBoundingClientRect: k,
25
+ ...C
26
+ });
27
+ return u(() => {
28
+ let n = r(w);
29
+ if (n && e.url(n), w.selection && v(w, { match: { type: h(w, "button") } })) {
30
+ e.show("edit", w.id), A();
31
+ return;
32
+ }
33
+ t.mode() === "edit" && e.reset();
34
+ }, [
35
+ w,
36
+ D,
37
+ A
38
+ ]), S(O, (e) => {
39
+ e.preventDefault(), t.mode() === "edit" && i(w);
40
+ }, { enableOnContentEditable: !0 }, []), o(), s(), {
41
+ style: j,
42
+ ref: y(M)
43
+ };
50
44
  };
51
- export {
52
- I as useFloatingButtonEdit
53
- };
54
- //# sourceMappingURL=useFloatingButtonEdit.es.js.map
45
+ //#endregion
46
+ export { C as useFloatingButtonEdit };
47
+
48
+ //# sourceMappingURL=useFloatingButtonEdit.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingButtonEdit.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type UseVirtualFloatingOptions,\n getAboveNode,\n getDefaultBoundingClientRect,\n getEndPoint,\n getPluginOptions,\n getPluginType,\n getRangeBoundingClientRect,\n getStartPoint,\n someNode,\n useComposedRef,\n useEditorRef,\n useEditorVersion,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Ref, useCallback, useEffect } from 'react';\n\nimport { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin';\nimport { getUrlFromEditor } from '../../utils';\nimport { triggerFloatingButtonEdit } from '../../utils/triggerFloatingButtonEdit';\n\nimport {\n floatingButtonActions,\n floatingButtonSelectors,\n useFloatingButtonEnter,\n useFloatingButtonEscape,\n useFloatingButtonSelectors,\n useVirtualFloatingButton,\n} from '.';\n\nexport const useFloatingButtonEdit = (\n floatingOptions: UseVirtualFloatingOptions,\n): React.HTMLAttributes<HTMLDivElement> & { ref: Ref<HTMLDivElement> } => {\n const editor = useEditorRef();\n const mode = useFloatingButtonSelectors().mode();\n const open = useFloatingButtonSelectors().isOpen(editor.id);\n const version = useEditorVersion();\n\n const { triggerFloatingButtonHotkeys } = getPluginOptions<ButtonPlugin>(editor, ELEMENT_BUTTON);\n\n const getBoundingClientRect = useCallback(() => {\n const entry = getAboveNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n\n if (entry) {\n const [, path] = entry;\n return getRangeBoundingClientRect(editor, {\n anchor: getStartPoint(editor, path),\n focus: getEndPoint(editor, path),\n });\n }\n\n return getDefaultBoundingClientRect();\n }, [editor]);\n\n const isOpen = open && mode === 'edit';\n\n const { update, style, floating } = useVirtualFloatingButton({\n open: isOpen,\n getBoundingClientRect,\n ...floatingOptions,\n });\n\n useEffect(() => {\n const url = getUrlFromEditor(editor);\n if (url) {\n floatingButtonActions.url(url);\n }\n\n if (\n editor.selection &&\n someNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n })\n ) {\n floatingButtonActions.show('edit', editor.id);\n update();\n return;\n }\n\n if (floatingButtonSelectors.mode() === 'edit') {\n floatingButtonActions.reset();\n }\n }, [editor, version, update]);\n\n useHotkeys(\n triggerFloatingButtonHotkeys,\n (e) => {\n e.preventDefault();\n\n if (floatingButtonSelectors.mode() === 'edit') {\n triggerFloatingButtonEdit(editor);\n }\n },\n {\n enableOnContentEditable: true,\n },\n [],\n );\n\n useFloatingButtonEnter();\n\n useFloatingButtonEscape();\n\n return {\n style,\n ref: useComposedRef<HTMLElement | null>(floating),\n };\n};\n"],"names":["useFloatingButtonEdit","floatingOptions","editor","useEditorRef","mode","useFloatingButtonSelectors","open","version","useEditorVersion","triggerFloatingButtonHotkeys","getPluginOptions","ELEMENT_BUTTON","getBoundingClientRect","useCallback","entry","getAboveNode","getPluginType","path","getRangeBoundingClientRect","getStartPoint","getEndPoint","getDefaultBoundingClientRect","isOpen","update","style","floating","useVirtualFloatingButton","useEffect","url","getUrlFromEditor","floatingButtonActions","someNode","floatingButtonSelectors","useHotkeys","triggerFloatingButtonEdit","useFloatingButtonEnter","useFloatingButtonEscape","useComposedRef"],"mappings":";;;;;;;;;AAgCO,MAAMA,IAAwB,CACjCC,MACsE;AACtE,QAAMC,IAASC,EAAA,GACTC,IAAOC,EAAA,EAA6B,KAAA,GACpCC,IAAOD,EAAA,EAA6B,OAAOH,EAAO,EAAE,GACpDK,IAAUC,EAAA,GAEV,EAAE,8BAAAC,EAAA,IAAiCC,EAA+BR,GAAQS,CAAc,GAExFC,IAAwBC,EAAY,MAAM;AAC5C,UAAMC,IAAQC,EAAab,GAAQ;AAAA,MAC/B,OAAO,EAAE,MAAMc,EAAcd,GAAQS,CAAc,EAAA;AAAA,IAAE,CACxD;AAED,QAAIG,GAAO;AACP,YAAM,CAAA,EAAGG,CAAI,IAAIH;AACjB,aAAOI,EAA2BhB,GAAQ;AAAA,QACtC,QAAQiB,EAAcjB,GAAQe,CAAI;AAAA,QAClC,OAAOG,EAAYlB,GAAQe,CAAI;AAAA,MAAA,CAClC;AAAA,IACL;AAEA,WAAOI,EAAA;AAAA,EACX,GAAG,CAACnB,CAAM,CAAC,GAELoB,IAAShB,KAAQF,MAAS,QAE1B,EAAE,QAAAmB,GAAQ,OAAAC,GAAO,UAAAC,EAAA,IAAaC,EAAyB;AAAA,IACzD,MAAMJ;AAAA,IACN,uBAAAV;AAAA,IACA,GAAGX;AAAA,EAAA,CACN;AAED,SAAA0B,EAAU,MAAM;AACZ,UAAMC,IAAMC,EAAiB3B,CAAM;AAKnC,QAJI0B,KACAE,EAAsB,IAAIF,CAAG,GAI7B1B,EAAO,aACP6B,EAAS7B,GAAQ;AAAA,MACb,OAAO,EAAE,MAAMc,EAAcd,GAAQS,CAAc,EAAA;AAAA,IAAE,CACxD,GACH;AACE,MAAAmB,EAAsB,KAAK,QAAQ5B,EAAO,EAAE,GAC5CqB,EAAA;AACA;AAAA,IACJ;AAEA,IAAIS,EAAwB,KAAA,MAAW,UACnCF,EAAsB,MAAA;AAAA,EAE9B,GAAG,CAAC5B,GAAQK,GAASgB,CAAM,CAAC,GAE5BU;AAAA,IACIxB;AAAA,IACA,CAAC,MAAM;AACH,QAAE,eAAA,GAEEuB,EAAwB,KAAA,MAAW,UACnCE,EAA0BhC,CAAM;AAAA,IAExC;AAAA,IACA;AAAA,MACI,yBAAyB;AAAA,IAAA;AAAA,IAE7B,CAAA;AAAA,EAAC,GAGLiC,EAAA,GAEAC,EAAA,GAEO;AAAA,IACH,OAAAZ;AAAA,IACA,KAAKa,EAAmCZ,CAAQ;AAAA,EAAA;AAExD;"}
1
+ {"version":3,"file":"useFloatingButtonEdit.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type UseVirtualFloatingOptions,\n getAboveNode,\n getDefaultBoundingClientRect,\n getEndPoint,\n getPluginOptions,\n getPluginType,\n getRangeBoundingClientRect,\n getStartPoint,\n someNode,\n useComposedRef,\n useEditorRef,\n useEditorVersion,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Ref, useCallback, useEffect } from 'react';\n\nimport { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin';\nimport { getUrlFromEditor } from '../../utils';\nimport { triggerFloatingButtonEdit } from '../../utils/triggerFloatingButtonEdit';\n\nimport {\n floatingButtonActions,\n floatingButtonSelectors,\n useFloatingButtonEnter,\n useFloatingButtonEscape,\n useFloatingButtonSelectors,\n useVirtualFloatingButton,\n} from '.';\n\nexport const useFloatingButtonEdit = (\n floatingOptions: UseVirtualFloatingOptions,\n): React.HTMLAttributes<HTMLDivElement> & { ref: Ref<HTMLDivElement> } => {\n const editor = useEditorRef();\n const mode = useFloatingButtonSelectors().mode();\n const open = useFloatingButtonSelectors().isOpen(editor.id);\n const version = useEditorVersion();\n\n const { triggerFloatingButtonHotkeys } = getPluginOptions<ButtonPlugin>(editor, ELEMENT_BUTTON);\n\n const getBoundingClientRect = useCallback(() => {\n const entry = getAboveNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n\n if (entry) {\n const [, path] = entry;\n return getRangeBoundingClientRect(editor, {\n anchor: getStartPoint(editor, path),\n focus: getEndPoint(editor, path),\n });\n }\n\n return getDefaultBoundingClientRect();\n }, [editor]);\n\n const isOpen = open && mode === 'edit';\n\n const { update, style, floating } = useVirtualFloatingButton({\n open: isOpen,\n getBoundingClientRect,\n ...floatingOptions,\n });\n\n useEffect(() => {\n const url = getUrlFromEditor(editor);\n if (url) {\n floatingButtonActions.url(url);\n }\n\n if (\n editor.selection &&\n someNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n })\n ) {\n floatingButtonActions.show('edit', editor.id);\n update();\n return;\n }\n\n if (floatingButtonSelectors.mode() === 'edit') {\n floatingButtonActions.reset();\n }\n }, [editor, version, update]);\n\n useHotkeys(\n triggerFloatingButtonHotkeys,\n (e) => {\n e.preventDefault();\n\n if (floatingButtonSelectors.mode() === 'edit') {\n triggerFloatingButtonEdit(editor);\n }\n },\n {\n enableOnContentEditable: true,\n },\n [],\n );\n\n useFloatingButtonEnter();\n\n useFloatingButtonEscape();\n\n return {\n style,\n ref: useComposedRef<HTMLElement | null>(floating),\n };\n};\n"],"mappings":";;;;;;;;;;AAgCA,IAAa,KACT,MACsE;CACtE,IAAM,IAAS,EAAa,GACtB,IAAO,EAA2B,CAAC,CAAC,KAAK,GACzC,IAAO,EAA2B,CAAC,CAAC,OAAO,EAAO,EAAE,GACpD,IAAU,EAAiB,GAE3B,EAAE,oCAAiC,EAA+B,GAAQ,CAAc,GAExF,IAAwB,QAAkB;EAC5C,IAAM,IAAQ,EAAa,GAAQ,EAC/B,OAAO,EAAE,MAAM,EAAc,GAAQ,CAAc,EAAE,EACzD,CAAC;EAED,IAAI,GAAO;GACP,IAAM,GAAG,KAAQ;GACjB,OAAO,EAA2B,GAAQ;IACtC,QAAQ,EAAc,GAAQ,CAAI;IAClC,OAAO,EAAY,GAAQ,CAAI;GACnC,CAAC;EACL;EAEA,OAAO,EAA6B;CACxC,GAAG,CAAC,CAAM,CAAC,GAIL,EAAE,WAAQ,UAAO,gBAAa,EAAyB;EACzD,MAHW,KAAQ,MAAS;EAI5B;EACA,GAAG;CACP,CAAC;CA2CD,OAzCA,QAAgB;EACZ,IAAM,IAAM,EAAiB,CAAM;EAKnC,IAJI,KACA,EAAsB,IAAI,CAAG,GAI7B,EAAO,aACP,EAAS,GAAQ,EACb,OAAO,EAAE,MAAM,EAAc,GAAA,QAAsB,EAAE,EACzD,CAAC,GACH;GAEE,AADA,EAAsB,KAAK,QAAQ,EAAO,EAAE,GAC5C,EAAO;GACP;EACJ;EAEA,AAAI,EAAwB,KAAK,MAAM,UACnC,EAAsB,MAAM;CAEpC,GAAG;EAAC;EAAQ;EAAS;CAAM,CAAC,GAE5B,EACI,IACC,MAAM;EAGH,AAFA,EAAE,eAAe,GAEb,EAAwB,KAAK,MAAM,UACnC,EAA0B,CAAM;CAExC,GACA,EACI,yBAAyB,GAC7B,GACA,CAAC,CACL,GAEA,EAAuB,GAEvB,EAAwB,GAEjB;EACH;EACA,KAAK,EAAmC,CAAQ;CACpD;AACJ"}
@@ -1,19 +1,13 @@
1
- import { useEditorRef as e, useHotkeys as n } from "@frontify/fondue/rte";
2
- import { submitFloatingButton as r } from "../../transforms/submitFloatingButton.es.js";
3
- const u = () => {
4
- const o = e();
5
- n(
6
- "*",
7
- (t) => {
8
- t.key === "Enter" && r(o) && t.preventDefault();
9
- },
10
- {
11
- enableOnFormTags: ["INPUT"]
12
- },
13
- []
14
- );
1
+ import { submitFloatingButton as e } from "../../transforms/submitFloatingButton.es.js";
2
+ import { useEditorRef as t, useHotkeys as n } from "@frontify/fondue/rte";
3
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts
4
+ var r = () => {
5
+ let r = t();
6
+ n("*", (t) => {
7
+ t.key === "Enter" && e(r) && t.preventDefault();
8
+ }, { enableOnFormTags: ["INPUT"] }, []);
15
9
  };
16
- export {
17
- u as useFloatingButtonEnter
18
- };
19
- //# sourceMappingURL=useFloatingButtonEnter.es.js.map
10
+ //#endregion
11
+ export { r as useFloatingButtonEnter };
12
+
13
+ //# sourceMappingURL=useFloatingButtonEnter.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingButtonEnter.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEditorRef, useHotkeys } from '@frontify/fondue/rte';\n\nimport { submitFloatingButton } from '../../transforms/submitFloatingButton';\n\nexport const useFloatingButtonEnter = () => {\n const editor = useEditorRef();\n\n useHotkeys(\n '*',\n (e) => {\n if (e.key === 'Enter' && submitFloatingButton(editor)) {\n e.preventDefault();\n }\n },\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n};\n"],"names":["useFloatingButtonEnter","editor","useEditorRef","useHotkeys","e","submitFloatingButton"],"mappings":";;AAMO,MAAMA,IAAyB,MAAM;AACxC,QAAMC,IAASC,EAAA;AAEf,EAAAC;AAAA,IACI;AAAA,IACA,CAACC,MAAM;AACH,MAAIA,EAAE,QAAQ,WAAWC,EAAqBJ,CAAM,KAChDG,EAAE,eAAA;AAAA,IAEV;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,IAAA;AAAA,IAE9B,CAAA;AAAA,EAAC;AAET;"}
1
+ {"version":3,"file":"useFloatingButtonEnter.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEditorRef, useHotkeys } from '@frontify/fondue/rte';\n\nimport { submitFloatingButton } from '../../transforms/submitFloatingButton';\n\nexport const useFloatingButtonEnter = () => {\n const editor = useEditorRef();\n\n useHotkeys(\n '*',\n (e) => {\n if (e.key === 'Enter' && submitFloatingButton(editor)) {\n e.preventDefault();\n }\n },\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n};\n"],"mappings":";;;AAMA,IAAa,UAA+B;CACxC,IAAM,IAAS,EAAa;CAE5B,EACI,MACC,MAAM;EACH,AAAI,EAAE,QAAQ,WAAW,EAAqB,CAAM,KAChD,EAAE,eAAe;CAEzB,GACA,EACI,kBAAkB,CAAC,OAAO,EAC9B,GACA,CAAC,CACL;AACJ"}
@@ -1,26 +1,22 @@
1
- import { useEditorRef as i, useHotkeys as n, focusEditor as r } from "@frontify/fondue/rte";
2
- import { floatingButtonSelectors as e, floatingButtonActions as o } from "./floatingButtonStore.es.js";
3
- const u = () => {
4
- const t = i();
5
- n(
6
- "escape",
7
- () => {
8
- if (e.mode() === "edit") {
9
- if (e.isEditing()) {
10
- o.show("edit", t.id), r(t, t.selection ?? void 0);
11
- return;
12
- }
13
- o.reset();
14
- }
15
- },
16
- {
17
- enableOnFormTags: ["INPUT"],
18
- enableOnContentEditable: !0
19
- },
20
- []
21
- );
1
+ import { floatingButtonActions as e, floatingButtonSelectors as t } from "./floatingButtonStore.es.js";
2
+ import { focusEditor as n, useEditorRef as r, useHotkeys as i } from "@frontify/fondue/rte";
3
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts
4
+ var a = () => {
5
+ let a = r();
6
+ i("escape", () => {
7
+ if (t.mode() === "edit") {
8
+ if (t.isEditing()) {
9
+ e.show("edit", a.id), n(a, a.selection ?? void 0);
10
+ return;
11
+ }
12
+ e.reset();
13
+ }
14
+ }, {
15
+ enableOnFormTags: ["INPUT"],
16
+ enableOnContentEditable: !0
17
+ }, []);
22
18
  };
23
- export {
24
- u as useFloatingButtonEscape
25
- };
26
- //# sourceMappingURL=useFloatingButtonEscape.es.js.map
19
+ //#endregion
20
+ export { a as useFloatingButtonEscape };
21
+
22
+ //# sourceMappingURL=useFloatingButtonEscape.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingButtonEscape.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { focusEditor, useEditorRef, useHotkeys } from '@frontify/fondue/rte';\n\nimport { floatingButtonActions, floatingButtonSelectors } from './floatingButtonStore';\n\nexport const useFloatingButtonEscape = () => {\n const editor = useEditorRef();\n\n useHotkeys(\n 'escape',\n () => {\n if (floatingButtonSelectors.mode() !== 'edit') {\n return;\n }\n\n if (floatingButtonSelectors.isEditing()) {\n floatingButtonActions.show('edit', editor.id);\n focusEditor(editor, editor.selection ?? undefined);\n return;\n }\n\n floatingButtonActions.reset();\n },\n {\n enableOnFormTags: ['INPUT'],\n enableOnContentEditable: true,\n },\n [],\n );\n};\n"],"names":["useFloatingButtonEscape","editor","useEditorRef","useHotkeys","floatingButtonSelectors","floatingButtonActions","focusEditor"],"mappings":";;AAMO,MAAMA,IAA0B,MAAM;AACzC,QAAMC,IAASC,EAAA;AAEf,EAAAC;AAAA,IACI;AAAA,IACA,MAAM;AACF,UAAIC,EAAwB,KAAA,MAAW,QAIvC;AAAA,YAAIA,EAAwB,aAAa;AACrC,UAAAC,EAAsB,KAAK,QAAQJ,EAAO,EAAE,GAC5CK,EAAYL,GAAQA,EAAO,aAAa,MAAS;AACjD;AAAA,QACJ;AAEA,QAAAI,EAAsB,MAAA;AAAA;AAAA,IAC1B;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,MAC1B,yBAAyB;AAAA,IAAA;AAAA,IAE7B,CAAA;AAAA,EAAC;AAET;"}
1
+ {"version":3,"file":"useFloatingButtonEscape.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { focusEditor, useEditorRef, useHotkeys } from '@frontify/fondue/rte';\n\nimport { floatingButtonActions, floatingButtonSelectors } from './floatingButtonStore';\n\nexport const useFloatingButtonEscape = () => {\n const editor = useEditorRef();\n\n useHotkeys(\n 'escape',\n () => {\n if (floatingButtonSelectors.mode() !== 'edit') {\n return;\n }\n\n if (floatingButtonSelectors.isEditing()) {\n floatingButtonActions.show('edit', editor.id);\n focusEditor(editor, editor.selection ?? undefined);\n return;\n }\n\n floatingButtonActions.reset();\n },\n {\n enableOnFormTags: ['INPUT'],\n enableOnContentEditable: true,\n },\n [],\n );\n};\n"],"mappings":";;;AAMA,IAAa,UAAgC;CACzC,IAAM,IAAS,EAAa;CAE5B,EACI,gBACM;EACE,MAAwB,KAAK,MAAM,QAIvC;OAAI,EAAwB,UAAU,GAAG;IAErC,AADA,EAAsB,KAAK,QAAQ,EAAO,EAAE,GAC5C,EAAY,GAAQ,EAAO,aAAa,KAAA,CAAS;IACjD;GACJ;GAEA,EAAsB,MAAM;EAF5B;CAGJ,GACA;EACI,kBAAkB,CAAC,OAAO;EAC1B,yBAAyB;CAC7B,GACA,CAAC,CACL;AACJ"}