@frontify/guideline-blocks-settings 3.0.2 → 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) 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 +70 -63
  43. package/dist/components/Link/LinkInput.es.js.map +1 -1
  44. package/dist/components/Link/utils/getUrl.es.js +10 -12
  45. package/dist/components/Link/utils/getUrl.es.js.map +1 -1
  46. package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
  47. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
  48. package/dist/components/Link/utils/url.es.js +21 -17
  49. package/dist/components/Link/utils/url.es.js.map +1 -1
  50. package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
  51. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
  52. package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
  53. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  54. package/dist/components/RichTextEditor/constants.es.js +6 -5
  55. package/dist/components/RichTextEditor/constants.es.js.map +1 -1
  56. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
  57. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
  58. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
  59. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
  60. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
  61. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
  62. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
  63. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
  64. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
  65. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
  66. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
  67. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
  68. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
  69. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
  70. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
  71. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
  72. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
  73. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
  74. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
  116. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
  117. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
  118. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
  119. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
  120. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
  121. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
  122. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
  123. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  124. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
  125. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
  126. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
  127. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
  128. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
  129. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
  130. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
  131. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
  132. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
  133. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  134. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
  135. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
  136. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
  137. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
  138. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
  139. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
  140. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
  144. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
  145. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
  146. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
  147. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  148. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
  149. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  150. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
  151. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  152. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
  153. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  154. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
  155. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  156. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
  157. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  158. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
  159. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  160. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
  161. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
  162. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
  163. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  164. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
  165. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  166. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  170. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
  171. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
  172. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
  173. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  174. package/dist/helpers/addHttps.es.js +12 -12
  175. package/dist/helpers/addHttps.es.js.map +1 -1
  176. package/dist/helpers/convertToRichTextValue.es.js +14 -6
  177. package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
  178. package/dist/helpers/hasRichTextValue.es.js +13 -14
  179. package/dist/helpers/hasRichTextValue.es.js.map +1 -1
  180. package/dist/helpers/isDownloadable.es.js +6 -5
  181. package/dist/helpers/isDownloadable.es.js.map +1 -1
  182. package/dist/hooks/useAttachments.es.js +65 -73
  183. package/dist/hooks/useAttachments.es.js.map +1 -1
  184. package/dist/hooks/useIsInViewport.es.js +20 -21
  185. package/dist/hooks/useIsInViewport.es.js.map +1 -1
  186. package/dist/index.cjs.js +2 -10
  187. package/dist/index.cjs.js.map +1 -1
  188. package/dist/index.d.ts +16 -34
  189. package/dist/index.es.js +219 -213
  190. package/dist/index.es.js.map +1 -1
  191. package/dist/index.umd.js +2 -10
  192. package/dist/index.umd.js.map +1 -1
  193. package/dist/settings/background.es.js +20 -21
  194. package/dist/settings/background.es.js.map +1 -1
  195. package/dist/settings/border.es.js +62 -64
  196. package/dist/settings/border.es.js.map +1 -1
  197. package/dist/settings/borderRadius.es.js +49 -52
  198. package/dist/settings/borderRadius.es.js.map +1 -1
  199. package/dist/settings/borderRadiusExtended.es.js +58 -60
  200. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  201. package/dist/settings/defaultValues.es.js +16 -19
  202. package/dist/settings/defaultValues.es.js.map +1 -1
  203. package/dist/settings/gutter.es.js +48 -52
  204. package/dist/settings/gutter.es.js.map +1 -1
  205. package/dist/settings/margin.es.js +49 -52
  206. package/dist/settings/margin.es.js.map +1 -1
  207. package/dist/settings/marginExtended.es.js +62 -64
  208. package/dist/settings/marginExtended.es.js.map +1 -1
  209. package/dist/settings/padding.es.js +49 -52
  210. package/dist/settings/padding.es.js.map +1 -1
  211. package/dist/settings/paddingExtended.es.js +62 -64
  212. package/dist/settings/paddingExtended.es.js.map +1 -1
  213. package/dist/settings/securityDownloadable.es.js +16 -16
  214. package/dist/settings/securityDownloadable.es.js.map +1 -1
  215. package/dist/settings/securityGlobalControl.es.js +26 -32
  216. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  217. package/dist/settings/types.es.js +41 -47
  218. package/dist/settings/types.es.js.map +1 -1
  219. package/dist/styles.css +2 -1
  220. package/dist/utilities/color/getReadableColor.es.js +15 -13
  221. package/dist/utilities/color/getReadableColor.es.js.map +1 -1
  222. package/dist/utilities/color/isDark.es.js +14 -9
  223. package/dist/utilities/color/isDark.es.js.map +1 -1
  224. package/dist/utilities/color/setAlpha.es.js +7 -6
  225. package/dist/utilities/color/setAlpha.es.js.map +1 -1
  226. package/dist/utilities/color/toColorObject.es.js +14 -8
  227. package/dist/utilities/color/toColorObject.es.js.map +1 -1
  228. package/dist/utilities/color/toHex8String.es.js +7 -6
  229. package/dist/utilities/color/toHex8String.es.js.map +1 -1
  230. package/dist/utilities/color/toHexString.es.js +7 -6
  231. package/dist/utilities/color/toHexString.es.js.map +1 -1
  232. package/dist/utilities/color/toRgbaString.es.js +7 -6
  233. package/dist/utilities/color/toRgbaString.es.js.map +1 -1
  234. package/dist/utilities/color/toShortRgba.es.js +18 -11
  235. package/dist/utilities/color/toShortRgba.es.js.map +1 -1
  236. package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
  237. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
  238. package/dist/utilities/react/getBorderStyles.es.js +12 -11
  239. package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
  240. package/dist/utilities/react/getRadiusStyles.es.js +7 -8
  241. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
  242. package/dist/utilities/react/joinClassNames.es.js +6 -5
  243. package/dist/utilities/react/joinClassNames.es.js.map +1 -1
  244. package/package.json +7 -9
  245. package/dist/components/Link/LinkSelector/DocumentLink.es.js +0 -64
  246. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +0 -1
  247. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +0 -65
  248. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +0 -1
  249. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  250. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
  251. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +0 -7
  252. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +0 -1
  253. package/dist/components/Link/LinkSelector/PageLink.es.js +0 -69
  254. package/dist/components/Link/LinkSelector/PageLink.es.js.map +0 -1
  255. package/dist/components/Link/LinkSelector/PageLinks.es.js +0 -38
  256. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +0 -1
  257. package/dist/components/Link/LinkSelector/SectionLink.es.js +0 -26
  258. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +0 -1
  259. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +0 -5
  260. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +0 -1
@@ -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"}
@@ -1,38 +1,30 @@
1
- import { useEditorRef as f, useFocused as p, getPluginOptions as c, useHotkeys as d, useComposedRef as a, getSelectionBoundingClientRect as B } from "@frontify/fondue/rte";
2
- import { useEffect as E } from "react";
3
- import { ELEMENT_BUTTON as F } from "../../createButtonPlugin.es.js";
4
- import { triggerFloatingButtonInsert as C } from "../../utils/triggerFloatingButtonInsert.es.js";
5
- import { useFloatingButtonSelectors as i, floatingButtonActions as O } from "./floatingButtonStore.es.js";
6
- import { useVirtualFloatingButton as R } from "./useVirtualFloatingButton.es.js";
7
- import { useFloatingButtonEscape as y } from "./useFloatingButtonEscape.es.js";
8
- const N = (r) => {
9
- const e = f(), o = p(), s = i().mode(), t = i().isOpen(e.id), { triggerFloatingButtonHotkeys: u } = c(e, F);
10
- d(
11
- u,
12
- (m) => {
13
- m.preventDefault(), C(e, {
14
- focused: o
15
- });
16
- },
17
- {
18
- enableOnContentEditable: !0
19
- },
20
- [o]
21
- );
22
- const { update: n, style: l, floating: g } = R({
23
- open: t && s === "insert",
24
- getBoundingClientRect: B,
25
- whileElementsMounted: void 0,
26
- ...r
27
- });
28
- return E(() => {
29
- t && n(), O.updated(t);
30
- }, [t, n]), y(), {
31
- style: l,
32
- ref: a(g)
33
- };
1
+ import { floatingButtonActions as e, useFloatingButtonSelectors as t } from "./floatingButtonStore.es.js";
2
+ import { triggerFloatingButtonInsert as n } from "../../utils/triggerFloatingButtonInsert.es.js";
3
+ import { ELEMENT_BUTTON as r } from "../../createButtonPlugin.es.js";
4
+ import { useFloatingButtonEscape as i } from "./useFloatingButtonEscape.es.js";
5
+ import { useVirtualFloatingButton as a } from "./useVirtualFloatingButton.es.js";
6
+ import { useEffect as o } from "react";
7
+ import { getPluginOptions as s, getSelectionBoundingClientRect as c, useComposedRef as l, useEditorRef as u, useFocused as d, useHotkeys as f } from "@frontify/fondue/rte";
8
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts
9
+ var p = (p) => {
10
+ let m = u(), h = d(), g = t().mode(), _ = t().isOpen(m.id), { triggerFloatingButtonHotkeys: v } = s(m, r);
11
+ f(v, (e) => {
12
+ e.preventDefault(), n(m, { focused: h });
13
+ }, { enableOnContentEditable: !0 }, [h]);
14
+ let { update: y, style: b, floating: x } = a({
15
+ open: _ && g === "insert",
16
+ getBoundingClientRect: c,
17
+ whileElementsMounted: void 0,
18
+ ...p
19
+ });
20
+ return o(() => {
21
+ _ && y(), e.updated(_);
22
+ }, [_, y]), i(), {
23
+ style: b,
24
+ ref: l(x)
25
+ };
34
26
  };
35
- export {
36
- N as useFloatingButtonInsert
37
- };
38
- //# sourceMappingURL=useFloatingButtonInsert.es.js.map
27
+ //#endregion
28
+ export { p as useFloatingButtonInsert };
29
+
30
+ //# sourceMappingURL=useFloatingButtonInsert.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingButtonInsert.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type UseVirtualFloatingOptions,\n getPluginOptions,\n getSelectionBoundingClientRect,\n useComposedRef,\n useEditorRef,\n useFocused,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Ref, useEffect } from 'react';\n\nimport { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin';\nimport { triggerFloatingButtonInsert } from '../../utils/triggerFloatingButtonInsert';\n\nimport {\n floatingButtonActions,\n useFloatingButtonEscape,\n useFloatingButtonSelectors,\n useVirtualFloatingButton,\n} from '.';\n\nexport const useFloatingButtonInsert = (\n floatingOptions: UseVirtualFloatingOptions,\n): React.HTMLAttributes<HTMLDivElement> & { ref: Ref<HTMLDivElement> } => {\n const editor = useEditorRef();\n const focused = useFocused();\n const mode = useFloatingButtonSelectors().mode();\n const open = useFloatingButtonSelectors().isOpen(editor.id);\n\n const { triggerFloatingButtonHotkeys } = getPluginOptions<ButtonPlugin>(editor, ELEMENT_BUTTON);\n\n useHotkeys(\n triggerFloatingButtonHotkeys,\n (e) => {\n e.preventDefault();\n\n triggerFloatingButtonInsert(editor, {\n focused,\n });\n },\n {\n enableOnContentEditable: true,\n },\n [focused],\n );\n\n const { update, style, floating } = useVirtualFloatingButton({\n open: open && mode === 'insert',\n getBoundingClientRect: getSelectionBoundingClientRect,\n whileElementsMounted: undefined,\n ...floatingOptions,\n });\n\n // wait for update before focusing input\n useEffect(() => {\n if (open) {\n update();\n }\n floatingButtonActions.updated(open);\n }, [open, update]);\n\n useFloatingButtonEscape();\n\n return {\n style,\n ref: useComposedRef<HTMLElement | null>(floating),\n };\n};\n"],"names":["useFloatingButtonInsert","floatingOptions","editor","useEditorRef","focused","useFocused","mode","useFloatingButtonSelectors","open","triggerFloatingButtonHotkeys","getPluginOptions","ELEMENT_BUTTON","useHotkeys","e","triggerFloatingButtonInsert","update","style","floating","useVirtualFloatingButton","getSelectionBoundingClientRect","useEffect","floatingButtonActions","useFloatingButtonEscape","useComposedRef"],"mappings":";;;;;;;AAuBO,MAAMA,IAA0B,CACnCC,MACsE;AACtE,QAAMC,IAASC,EAAA,GACTC,IAAUC,EAAA,GACVC,IAAOC,EAAA,EAA6B,KAAA,GACpCC,IAAOD,EAAA,EAA6B,OAAOL,EAAO,EAAE,GAEpD,EAAE,8BAAAO,EAAA,IAAiCC,EAA+BR,GAAQS,CAAc;AAE9F,EAAAC;AAAA,IACIH;AAAA,IACA,CAACI,MAAM;AACH,MAAAA,EAAE,eAAA,GAEFC,EAA4BZ,GAAQ;AAAA,QAChC,SAAAE;AAAA,MAAA,CACH;AAAA,IACL;AAAA,IACA;AAAA,MACI,yBAAyB;AAAA,IAAA;AAAA,IAE7B,CAACA,CAAO;AAAA,EAAA;AAGZ,QAAM,EAAE,QAAAW,GAAQ,OAAAC,GAAO,UAAAC,EAAA,IAAaC,EAAyB;AAAA,IACzD,MAAMV,KAAQF,MAAS;AAAA,IACvB,uBAAuBa;AAAA,IACvB,sBAAsB;AAAA,IACtB,GAAGlB;AAAA,EAAA,CACN;AAGD,SAAAmB,EAAU,MAAM;AACZ,IAAIZ,KACAO,EAAA,GAEJM,EAAsB,QAAQb,CAAI;AAAA,EACtC,GAAG,CAACA,GAAMO,CAAM,CAAC,GAEjBO,EAAA,GAEO;AAAA,IACH,OAAAN;AAAA,IACA,KAAKO,EAAmCN,CAAQ;AAAA,EAAA;AAExD;"}
1
+ {"version":3,"file":"useFloatingButtonInsert.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type UseVirtualFloatingOptions,\n getPluginOptions,\n getSelectionBoundingClientRect,\n useComposedRef,\n useEditorRef,\n useFocused,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Ref, useEffect } from 'react';\n\nimport { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin';\nimport { triggerFloatingButtonInsert } from '../../utils/triggerFloatingButtonInsert';\n\nimport {\n floatingButtonActions,\n useFloatingButtonEscape,\n useFloatingButtonSelectors,\n useVirtualFloatingButton,\n} from '.';\n\nexport const useFloatingButtonInsert = (\n floatingOptions: UseVirtualFloatingOptions,\n): React.HTMLAttributes<HTMLDivElement> & { ref: Ref<HTMLDivElement> } => {\n const editor = useEditorRef();\n const focused = useFocused();\n const mode = useFloatingButtonSelectors().mode();\n const open = useFloatingButtonSelectors().isOpen(editor.id);\n\n const { triggerFloatingButtonHotkeys } = getPluginOptions<ButtonPlugin>(editor, ELEMENT_BUTTON);\n\n useHotkeys(\n triggerFloatingButtonHotkeys,\n (e) => {\n e.preventDefault();\n\n triggerFloatingButtonInsert(editor, {\n focused,\n });\n },\n {\n enableOnContentEditable: true,\n },\n [focused],\n );\n\n const { update, style, floating } = useVirtualFloatingButton({\n open: open && mode === 'insert',\n getBoundingClientRect: getSelectionBoundingClientRect,\n whileElementsMounted: undefined,\n ...floatingOptions,\n });\n\n // wait for update before focusing input\n useEffect(() => {\n if (open) {\n update();\n }\n floatingButtonActions.updated(open);\n }, [open, update]);\n\n useFloatingButtonEscape();\n\n return {\n style,\n ref: useComposedRef<HTMLElement | null>(floating),\n };\n};\n"],"mappings":";;;;;;;;AAuBA,IAAa,KACT,MACsE;CACtE,IAAM,IAAS,EAAa,GACtB,IAAU,EAAW,GACrB,IAAO,EAA2B,CAAC,CAAC,KAAK,GACzC,IAAO,EAA2B,CAAC,CAAC,OAAO,EAAO,EAAE,GAEpD,EAAE,oCAAiC,EAA+B,GAAQ,CAAc;CAE9F,EACI,IACC,MAAM;EAGH,AAFA,EAAE,eAAe,GAEjB,EAA4B,GAAQ,EAChC,WACJ,CAAC;CACL,GACA,EACI,yBAAyB,GAC7B,GACA,CAAC,CAAO,CACZ;CAEA,IAAM,EAAE,WAAQ,UAAO,gBAAa,EAAyB;EACzD,MAAM,KAAQ,MAAS;EACvB,uBAAuB;EACvB,sBAAsB,KAAA;EACtB,GAAG;CACP,CAAC;CAYD,OATA,QAAgB;EAIZ,AAHI,KACA,EAAO,GAEX,EAAsB,QAAQ,CAAI;CACtC,GAAG,CAAC,GAAM,CAAM,CAAC,GAEjB,EAAwB,GAEjB;EACH;EACA,KAAK,EAAmC,CAAQ;CACpD;AACJ"}
@@ -1,18 +1,14 @@
1
- import { useVirtualFloating as o, offset as i, flip as n } from "@frontify/fondue/rte";
2
- const a = 12, s = -22, e = 96, m = (t) => o({
3
- placement: "bottom-start",
4
- middleware: [
5
- i({
6
- mainAxis: a,
7
- alignmentAxis: s
8
- }),
9
- n({
10
- padding: e
11
- })
12
- ],
13
- ...t
1
+ import { flip as e, offset as t, useVirtualFloating as n } from "@frontify/fondue/rte";
2
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts
3
+ var r = 12, i = -22, a = 96, o = (o) => n({
4
+ placement: "bottom-start",
5
+ middleware: [t({
6
+ mainAxis: r,
7
+ alignmentAxis: i
8
+ }), e({ padding: a })],
9
+ ...o
14
10
  });
15
- export {
16
- m as useVirtualFloatingButton
17
- };
18
- //# sourceMappingURL=useVirtualFloatingButton.es.js.map
11
+ //#endregion
12
+ export { o as useVirtualFloatingButton };
13
+
14
+ //# sourceMappingURL=useVirtualFloatingButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVirtualFloatingButton.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@frontify/fondue/rte';\nimport { type CSSProperties, type Ref } from 'react';\n\nconst OFFSET_Y = 12;\nconst OFFSET_X = -22;\nconst PADDING = 96;\n\nexport const useVirtualFloatingButton = (\n floatingOptions?: UseVirtualFloatingOptions,\n): { style: CSSProperties; update: () => void; floating: Ref<HTMLDivElement> } =>\n useVirtualFloating({\n placement: 'bottom-start',\n middleware: [\n offset({\n mainAxis: OFFSET_Y,\n alignmentAxis: OFFSET_X,\n }),\n flip({\n padding: PADDING,\n }),\n ],\n ...floatingOptions,\n });\n"],"names":["OFFSET_Y","OFFSET_X","PADDING","useVirtualFloatingButton","floatingOptions","useVirtualFloating","offset","flip"],"mappings":";AAKA,MAAMA,IAAW,IACXC,IAAW,KACXC,IAAU,IAEHC,IAA2B,CACpCC,MAEAC,EAAmB;AAAA,EACf,WAAW;AAAA,EACX,YAAY;AAAA,IACRC,EAAO;AAAA,MACH,UAAUN;AAAA,MACV,eAAeC;AAAA,IAAA,CAClB;AAAA,IACDM,EAAK;AAAA,MACD,SAASL;AAAA,IAAA,CACZ;AAAA,EAAA;AAAA,EAEL,GAAGE;AACP,CAAC;"}
1
+ {"version":3,"file":"useVirtualFloatingButton.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@frontify/fondue/rte';\nimport { type CSSProperties, type Ref } from 'react';\n\nconst OFFSET_Y = 12;\nconst OFFSET_X = -22;\nconst PADDING = 96;\n\nexport const useVirtualFloatingButton = (\n floatingOptions?: UseVirtualFloatingOptions,\n): { style: CSSProperties; update: () => void; floating: Ref<HTMLDivElement> } =>\n useVirtualFloating({\n placement: 'bottom-start',\n middleware: [\n offset({\n mainAxis: OFFSET_Y,\n alignmentAxis: OFFSET_X,\n }),\n flip({\n padding: PADDING,\n }),\n ],\n ...floatingOptions,\n });\n"],"mappings":";;AAKA,IAAM,IAAW,IACX,IAAW,KACX,IAAU,IAEH,KACT,MAEA,EAAmB;CACf,WAAW;CACX,YAAY,CACR,EAAO;EACH,UAAU;EACV,eAAe;CACnB,CAAC,GACD,EAAK,EACD,SAAS,EACb,CAAC,CACL;CACA,GAAG;AACP,CAAC"}
@@ -1,63 +1,57 @@
1
- import { Plugin as i, createPluginFactory as n } from "@frontify/fondue/rte";
2
- import { isValidUrl as s } from "../../../Link/utils/url.es.js";
3
- import { ButtonMarkupElement as u } from "./ButtonMarkupElement/index.es.js";
4
- import { ButtonButton as a } from "./components/ButtonButton.es.js";
5
- import { CustomFloatingButton as l } from "./components/FloatingButton/CustomFloatingButton.es.js";
6
- import { withButton as p } from "./withButton.es.js";
7
- import { BlockButtonStyles as m } from "./utils/styles.es.js";
8
- const g = "button", d = "button-plugin", B = (e) => n({
9
- key: g,
10
- isElement: !0,
11
- isInline: !0,
12
- props: ({ element: t }) => ({
13
- nodeProps: { href: t?.url, target: t?.target }
14
- }),
15
- withOverrides: p,
16
- renderAfterEditable: l,
17
- options: {
18
- isUrl: s,
19
- rangeBeforeOptions: {
20
- matchString: " ",
21
- skipInvalid: !0,
22
- afterMatch: !0
23
- },
24
- triggerFloatingButtonHotkeys: "command+shift+k, ctrl+shift+k",
25
- appBridge: e
26
- },
27
- then: (t, { type: r }) => ({
28
- deserializeHtml: {
29
- rules: [
30
- {
31
- validNodeName: "A",
32
- validClassName: "btn"
33
- }
34
- ],
35
- getNode: (o) => ({
36
- type: r,
37
- url: o.getAttribute("href"),
38
- target: o.getAttribute("target") || "_blank"
39
- })
40
- }
41
- })
42
- })();
43
- class y extends i {
44
- styles = {};
45
- appBridge;
46
- constructor({ styles: t = m, ...r }) {
47
- super(d, {
48
- button: a,
49
- markupElement: new u(),
50
- ...r
51
- }), this.styles = t, this.appBridge = r?.appBridge;
52
- }
53
- plugins() {
54
- return [B(this.appBridge)];
55
- }
56
- }
57
- export {
58
- d as BUTTON_PLUGIN,
59
- y as ButtonPlugin,
60
- g as ELEMENT_BUTTON,
61
- B as createButtonPlugin
1
+ import { isValidUrl as e } from "../../../Link/utils/url.es.js";
2
+ import { withButton as t } from "./withButton.es.js";
3
+ import { BlockButtonStyles as n } from "./utils/styles.es.js";
4
+ import { ButtonMarkupElement as r } from "./ButtonMarkupElement/index.es.js";
5
+ import { ButtonButton as i } from "./components/ButtonButton.es.js";
6
+ import { CustomFloatingButton as a } from "./components/FloatingButton/CustomFloatingButton.es.js";
7
+ import { Plugin as o, createPluginFactory as s } from "@frontify/fondue/rte";
8
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts
9
+ var c = "button", l = "button-plugin", u = (n) => s({
10
+ key: c,
11
+ isElement: !0,
12
+ isInline: !0,
13
+ props: ({ element: e }) => ({ nodeProps: {
14
+ href: e?.url,
15
+ target: e?.target
16
+ } }),
17
+ withOverrides: t,
18
+ renderAfterEditable: a,
19
+ options: {
20
+ isUrl: e,
21
+ rangeBeforeOptions: {
22
+ matchString: " ",
23
+ skipInvalid: !0,
24
+ afterMatch: !0
25
+ },
26
+ triggerFloatingButtonHotkeys: "command+shift+k, ctrl+shift+k",
27
+ appBridge: n
28
+ },
29
+ then: (e, { type: t }) => ({ deserializeHtml: {
30
+ rules: [{
31
+ validNodeName: "A",
32
+ validClassName: "btn"
33
+ }],
34
+ getNode: (e) => ({
35
+ type: t,
36
+ url: e.getAttribute("href"),
37
+ target: e.getAttribute("target") || "_blank"
38
+ })
39
+ } })
40
+ })(), d = class extends o {
41
+ styles = {};
42
+ appBridge;
43
+ constructor({ styles: e = n, ...t }) {
44
+ super(l, {
45
+ button: i,
46
+ markupElement: new r(),
47
+ ...t
48
+ }), this.styles = e, this.appBridge = t?.appBridge;
49
+ }
50
+ plugins() {
51
+ return [u(this.appBridge)];
52
+ }
62
53
  };
63
- //# sourceMappingURL=createButtonPlugin.es.js.map
54
+ //#endregion
55
+ export { l as BUTTON_PLUGIN, d as ButtonPlugin, c as ELEMENT_BUTTON, u as createButtonPlugin };
56
+
57
+ //# sourceMappingURL=createButtonPlugin.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createButtonPlugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type RangeBeforeOptions,\n createPluginFactory,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { isValidUrl } from '../../../Link/utils/url';\n\nimport { ButtonMarkupElement } from './ButtonMarkupElement';\nimport { ButtonButton } from './components/ButtonButton';\nimport { CustomFloatingButton } from './components/FloatingButton/CustomFloatingButton';\nimport { BlockButtonStyles } from './utils';\nimport { withButton } from './withButton';\n\nexport const ELEMENT_BUTTON = 'button';\nexport const BUTTON_PLUGIN = 'button-plugin';\n\n// oxlint-disable-next-line typescript/no-unsafe-declaration-merging\nexport interface ButtonPlugin {\n forceSubmit?: boolean;\n\n /**\n * Allow custom config for rangeBeforeOptions.\n * @example default\n * {\n * matchString: ' ',\n * skipInvalid: true,\n * afterMatch: true,\n * }\n */\n rangeBeforeOptions?: RangeBeforeOptions;\n\n /**\n * Hotkeys to trigger floating button.\n * @default 'command+k, ctrl+k'\n */\n triggerFloatingButtonHotkeys: string;\n\n /**\n * Callback to validate an url.\n * @default isUrl\n */\n isUrl: (text: string) => boolean;\n\n /**\n * Callback to optionally get the href for a url\n * @returns href: an optional link to be used that is different from the text content (example https://google.com for google.com)\n */\n getUrlHref?: (url: string) => string | undefined;\n\n /**\n * On keyboard shortcut or toolbar mousedown, get the link url by calling this promise. The\n * default behavior is to use the browser's native `prompt`.\n */\n getLinkUrl?: (prevUrl: string | null) => Promise<string | null>;\n}\n\n/**\n * Enables support for hyperlinks.\n */\nexport const createButtonPlugin = (appBridge: AppBridgeBlock): PlatePlugin =>\n createPluginFactory({\n key: ELEMENT_BUTTON,\n isElement: true,\n isInline: true,\n props: ({ element }) => ({\n nodeProps: { href: element?.url, target: element?.target },\n }),\n withOverrides: withButton,\n renderAfterEditable: CustomFloatingButton,\n options: {\n isUrl: isValidUrl,\n rangeBeforeOptions: {\n matchString: ' ',\n skipInvalid: true,\n afterMatch: true,\n },\n triggerFloatingButtonHotkeys: 'command+shift+k, ctrl+shift+k',\n appBridge,\n },\n then: (_editor, { type }) => ({\n deserializeHtml: {\n rules: [\n {\n validNodeName: 'A',\n validClassName: 'btn',\n },\n ],\n getNode: (el) => ({\n type,\n url: el.getAttribute('href'),\n target: el.getAttribute('target') || '_blank',\n }),\n },\n }),\n })();\n\nexport type ButtonPluginProps = Omit<PluginProps, 'styles'> & {\n styles?: Record<string, CSSProperties & { hover?: CSSProperties }>;\n} & { appBridge: AppBridgeBlock };\n\n// oxlint-disable-next-line typescript/no-unsafe-declaration-merging\nexport class ButtonPlugin extends Plugin {\n public styles: CSSProperties = {};\n private appBridge: AppBridgeBlock;\n constructor({ styles = BlockButtonStyles, ...props }: ButtonPluginProps) {\n super(BUTTON_PLUGIN, {\n button: ButtonButton,\n markupElement: new ButtonMarkupElement(),\n ...props,\n });\n this.styles = styles;\n this.appBridge = props?.appBridge;\n }\n\n plugins() {\n return [createButtonPlugin(this.appBridge)];\n }\n}\n"],"names":["ELEMENT_BUTTON","BUTTON_PLUGIN","createButtonPlugin","appBridge","createPluginFactory","element","withButton","CustomFloatingButton","isValidUrl","_editor","type","el","ButtonPlugin","Plugin","styles","BlockButtonStyles","props","ButtonButton","ButtonMarkupElement"],"mappings":";;;;;;;AAoBO,MAAMA,IAAiB,UACjBC,IAAgB,iBA6ChBC,IAAqB,CAACC,MAC/BC,EAAoB;AAAA,EAChB,KAAKJ;AAAA,EACL,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO,CAAC,EAAE,SAAAK,SAAe;AAAA,IACrB,WAAW,EAAE,MAAMA,GAAS,KAAK,QAAQA,GAAS,OAAA;AAAA,EAAO;AAAA,EAE7D,eAAeC;AAAA,EACf,qBAAqBC;AAAA,EACrB,SAAS;AAAA,IACL,OAAOC;AAAA,IACP,oBAAoB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IAAA;AAAA,IAEhB,8BAA8B;AAAA,IAC9B,WAAAL;AAAA,EAAA;AAAA,EAEJ,MAAM,CAACM,GAAS,EAAE,MAAAC,SAAY;AAAA,IAC1B,iBAAiB;AAAA,MACb,OAAO;AAAA,QACH;AAAA,UACI,eAAe;AAAA,UACf,gBAAgB;AAAA,QAAA;AAAA,MACpB;AAAA,MAEJ,SAAS,CAACC,OAAQ;AAAA,QACd,MAAAD;AAAA,QACA,KAAKC,EAAG,aAAa,MAAM;AAAA,QAC3B,QAAQA,EAAG,aAAa,QAAQ,KAAK;AAAA,MAAA;AAAA,IACzC;AAAA,EACJ;AAER,CAAC,EAAA;AAOE,MAAMC,UAAqBC,EAAO;AAAA,EAC9B,SAAwB,CAAA;AAAA,EACvB;AAAA,EACR,YAAY,EAAE,QAAAC,IAASC,GAAmB,GAAGC,KAA4B;AACrE,UAAMf,GAAe;AAAA,MACjB,QAAQgB;AAAA,MACR,eAAe,IAAIC,EAAA;AAAA,MACnB,GAAGF;AAAA,IAAA,CACN,GACD,KAAK,SAASF,GACd,KAAK,YAAYE,GAAO;AAAA,EAC5B;AAAA,EAEA,UAAU;AACN,WAAO,CAACd,EAAmB,KAAK,SAAS,CAAC;AAAA,EAC9C;AACJ;"}
1
+ {"version":3,"file":"createButtonPlugin.es.js","names":[],"sources":["../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type RangeBeforeOptions,\n createPluginFactory,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { isValidUrl } from '../../../Link/utils/url';\n\nimport { ButtonMarkupElement } from './ButtonMarkupElement';\nimport { ButtonButton } from './components/ButtonButton';\nimport { CustomFloatingButton } from './components/FloatingButton/CustomFloatingButton';\nimport { BlockButtonStyles } from './utils';\nimport { withButton } from './withButton';\n\nexport const ELEMENT_BUTTON = 'button';\nexport const BUTTON_PLUGIN = 'button-plugin';\n\n// oxlint-disable-next-line typescript/no-unsafe-declaration-merging\nexport interface ButtonPlugin {\n forceSubmit?: boolean;\n\n /**\n * Allow custom config for rangeBeforeOptions.\n * @example default\n * {\n * matchString: ' ',\n * skipInvalid: true,\n * afterMatch: true,\n * }\n */\n rangeBeforeOptions?: RangeBeforeOptions;\n\n /**\n * Hotkeys to trigger floating button.\n * @default 'command+k, ctrl+k'\n */\n triggerFloatingButtonHotkeys: string;\n\n /**\n * Callback to validate an url.\n * @default isUrl\n */\n isUrl: (text: string) => boolean;\n\n /**\n * Callback to optionally get the href for a url\n * @returns href: an optional link to be used that is different from the text content (example https://google.com for google.com)\n */\n getUrlHref?: (url: string) => string | undefined;\n\n /**\n * On keyboard shortcut or toolbar mousedown, get the link url by calling this promise. The\n * default behavior is to use the browser's native `prompt`.\n */\n getLinkUrl?: (prevUrl: string | null) => Promise<string | null>;\n}\n\n/**\n * Enables support for hyperlinks.\n */\nexport const createButtonPlugin = (appBridge: AppBridgeBlock): PlatePlugin =>\n createPluginFactory({\n key: ELEMENT_BUTTON,\n isElement: true,\n isInline: true,\n props: ({ element }) => ({\n nodeProps: { href: element?.url, target: element?.target },\n }),\n withOverrides: withButton,\n renderAfterEditable: CustomFloatingButton,\n options: {\n isUrl: isValidUrl,\n rangeBeforeOptions: {\n matchString: ' ',\n skipInvalid: true,\n afterMatch: true,\n },\n triggerFloatingButtonHotkeys: 'command+shift+k, ctrl+shift+k',\n appBridge,\n },\n then: (_editor, { type }) => ({\n deserializeHtml: {\n rules: [\n {\n validNodeName: 'A',\n validClassName: 'btn',\n },\n ],\n getNode: (el) => ({\n type,\n url: el.getAttribute('href'),\n target: el.getAttribute('target') || '_blank',\n }),\n },\n }),\n })();\n\nexport type ButtonPluginProps = Omit<PluginProps, 'styles'> & {\n styles?: Record<string, CSSProperties & { hover?: CSSProperties }>;\n} & { appBridge: AppBridgeBlock };\n\n// oxlint-disable-next-line typescript/no-unsafe-declaration-merging\nexport class ButtonPlugin extends Plugin {\n public styles: CSSProperties = {};\n private appBridge: AppBridgeBlock;\n constructor({ styles = BlockButtonStyles, ...props }: ButtonPluginProps) {\n super(BUTTON_PLUGIN, {\n button: ButtonButton,\n markupElement: new ButtonMarkupElement(),\n ...props,\n });\n this.styles = styles;\n this.appBridge = props?.appBridge;\n }\n\n plugins() {\n return [createButtonPlugin(this.appBridge)];\n }\n}\n"],"mappings":";;;;;;;;AAoBA,IAAa,IAAiB,UACjB,IAAgB,iBA6ChB,KAAsB,MAC/B,EAAoB;CAChB,KAAK;CACL,WAAW;CACX,UAAU;CACV,QAAQ,EAAE,kBAAe,EACrB,WAAW;EAAE,MAAM,GAAS;EAAK,QAAQ,GAAS;CAAO,EAC7D;CACA,eAAe;CACf,qBAAqB;CACrB,SAAS;EACL,OAAO;EACP,oBAAoB;GAChB,aAAa;GACb,aAAa;GACb,YAAY;EAChB;EACA,8BAA8B;EAC9B;CACJ;CACA,OAAO,GAAS,EAAE,eAAY,EAC1B,iBAAiB;EACb,OAAO,CACH;GACI,eAAe;GACf,gBAAgB;EACpB,CACJ;EACA,UAAU,OAAQ;GACd;GACA,KAAK,EAAG,aAAa,MAAM;GAC3B,QAAQ,EAAG,aAAa,QAAQ,KAAK;EACzC;CACJ,EACJ;AACJ,CAAC,CAAC,CAAC,GAOM,IAAb,cAAkC,EAAO;CACrC,SAA+B,CAAC;CAChC;CACA,YAAY,EAAE,YAAS,GAAmB,GAAG,KAA4B;EAOrE,AANA,MAAM,GAAe;GACjB,QAAQ;GACR,eAAe,IAAI,EAAoB;GACvC,GAAG;EACP,CAAC,GACD,KAAK,SAAS,GACd,KAAK,YAAY,GAAO;CAC5B;CAEA,UAAU;EACN,OAAO,CAAC,EAAmB,KAAK,SAAS,CAAC;CAC9C;AACJ"}
@@ -1,13 +1,10 @@
1
- import { insertNodes as e } from "@frontify/fondue/rte";
2
- import { createButtonNode as n } from "../utils/createButtonNode.es.js";
3
- const i = (t, o, r) => {
4
- e(
5
- t,
6
- [n(t, o)],
7
- r
8
- );
1
+ import { createButtonNode as e } from "../utils/createButtonNode.es.js";
2
+ import { insertNodes as t } from "@frontify/fondue/rte";
3
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts
4
+ var n = (n, r, i) => {
5
+ t(n, [e(n, r)], i);
9
6
  };
10
- export {
11
- i as insertButton
12
- };
13
- //# sourceMappingURL=insertButton.es.js.map
7
+ //#endregion
8
+ export { n as insertButton };
9
+
10
+ //# sourceMappingURL=insertButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type InsertNodesOptions, type PlateEditor, type TText, type Value, insertNodes } from '@frontify/fondue/rte';\n\nimport { type TButtonElement } from '../types';\nimport { type CreateButtonNodeOptions, createButtonNode } from '../utils/index';\n\nexport const insertButton = <V extends Value>(\n editor: PlateEditor<V>,\n createButtonNodeOptions: CreateButtonNodeOptions,\n options?: InsertNodesOptions<V>,\n) => {\n insertNodes<TButtonElement | TText>(\n editor,\n [createButtonNode(editor, createButtonNodeOptions)],\n options as InsertNodesOptions,\n );\n};\n"],"names":["insertButton","editor","createButtonNodeOptions","options","insertNodes","createButtonNode"],"mappings":";;AAOO,MAAMA,IAAe,CACxBC,GACAC,GACAC,MACC;AACD,EAAAC;AAAA,IACIH;AAAA,IACA,CAACI,EAAiBJ,GAAQC,CAAuB,CAAC;AAAA,IAClDC;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"insertButton.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type InsertNodesOptions, type PlateEditor, type TText, type Value, insertNodes } from '@frontify/fondue/rte';\n\nimport { type TButtonElement } from '../types';\nimport { type CreateButtonNodeOptions, createButtonNode } from '../utils/index';\n\nexport const insertButton = <V extends Value>(\n editor: PlateEditor<V>,\n createButtonNodeOptions: CreateButtonNodeOptions,\n options?: InsertNodesOptions<V>,\n) => {\n insertNodes<TButtonElement | TText>(\n editor,\n [createButtonNode(editor, createButtonNodeOptions)],\n options as InsertNodesOptions,\n );\n};\n"],"mappings":";;;AAOA,IAAa,KACT,GACA,GACA,MACC;CACD,EACI,GACA,CAAC,EAAiB,GAAQ,CAAuB,CAAC,GAClD,CACJ;AACJ"}