@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":"RichTextEditor.es.js","sources":["../../../src/components/RichTextEditor/RichTextEditor.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { RichTextEditor as FondueRichTextEditor } from '@frontify/fondue/rte';\nimport { memo, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport { useIsInViewport } from '../../hooks/useIsInViewport';\n\nimport { floatingButtonActions, floatingButtonSelectors } from './plugins/ButtonPlugin/components';\nimport { getResponsiveColumnClasses } from './plugins/ColumnBreakPlugin/helpers';\nimport { SerializedText } from './SerializedText';\nimport { type RichTextEditorProps } from './types';\n\nconst handleHideExternalFloatingModals = (editorId: string) => {\n if (floatingButtonSelectors.isOpen(editorId)) {\n floatingButtonActions.reset();\n }\n};\n\nconst InternalRichTextEditor = memo(\n ({\n isEnabled,\n value,\n columns,\n gap,\n placeholder,\n plugins,\n onTextChange,\n showSerializedText,\n }: Omit<RichTextEditorProps, 'isEditing'> & { isEnabled: boolean }) => {\n const customClass = getResponsiveColumnClasses(columns);\n const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false);\n const editorId = useId();\n\n const handleTextChange = useCallback(\n (newContent: string) => {\n if (newContent !== value) {\n onTextChange?.(newContent);\n }\n setShouldPreventPageLeave(false);\n },\n [onTextChange, value],\n );\n\n const handleValueChange = useCallback(() => setShouldPreventPageLeave(true), []);\n\n useEffect(() => {\n const unloadHandler = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Unprocessed changes';\n };\n\n if (shouldPreventPageLeave) {\n window.addEventListener('beforeunload', unloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', unloadHandler);\n }, [shouldPreventPageLeave]);\n\n if (isEnabled) {\n return (\n <FondueRichTextEditor\n id={editorId}\n value={value}\n border={false}\n placeholder={placeholder}\n plugins={plugins}\n onValueChanged={handleValueChange}\n onTextChange={handleTextChange}\n hideExternalFloatingModals={handleHideExternalFloatingModals}\n placeholderOpacity=\"high\"\n />\n );\n }\n return (\n <SerializedText\n value={value}\n gap={gap}\n customClass={customClass}\n show={showSerializedText}\n plugins={plugins}\n />\n );\n },\n);\nInternalRichTextEditor.displayName = 'InternalRichTextEditor';\n\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [hasEnteredViewport, setHasEnteredViewport] = useState(false);\n\n const { isEditing, ...internalRteProps } = props;\n\n const onViewportVisibilityChange = useCallback((isInViewport: boolean) => {\n if (isInViewport) {\n setHasEnteredViewport(true);\n }\n }, []);\n\n useIsInViewport({ ref, disabled: !isEditing, onChange: onViewportVisibilityChange });\n\n useEffect(() => {\n if (!isEditing) {\n // oxlint-disable-next-line @eslint-react/set-state-in-effect\n setHasEnteredViewport(false);\n }\n }, [isEditing]);\n\n return (\n <div data-test-id=\"rich-text-editor-container\" className=\"tw-block tw-w-full tw-@container\" ref={ref}>\n <InternalRichTextEditor {...internalRteProps} isEnabled={isEditing && hasEnteredViewport} />\n </div>\n );\n};\n"],"names":["handleHideExternalFloatingModals","editorId","floatingButtonSelectors","floatingButtonActions","InternalRichTextEditor","memo","isEnabled","value","columns","gap","placeholder","plugins","onTextChange","showSerializedText","customClass","getResponsiveColumnClasses","shouldPreventPageLeave","setShouldPreventPageLeave","useState","useId","handleTextChange","useCallback","newContent","handleValueChange","useEffect","unloadHandler","event","jsx","FondueRichTextEditor","SerializedText","RichTextEditor","props","ref","useRef","hasEnteredViewport","setHasEnteredViewport","isEditing","internalRteProps","onViewportVisibilityChange","isInViewport","useIsInViewport"],"mappings":";;;;;;;AAYA,MAAMA,IAAmC,CAACC,MAAqB;AAC3D,EAAIC,EAAwB,OAAOD,CAAQ,KACvCE,EAAsB,MAAA;AAE9B,GAEMC,IAAyBC;AAAA,EAC3B,CAAC;AAAA,IACG,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,MACmE;AACnE,UAAMC,IAAcC,EAA2BP,CAAO,GAChD,CAACQ,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GACpEjB,IAAWkB,EAAA,GAEXC,IAAmBC;AAAA,MACrB,CAACC,MAAuB;AACpB,QAAIA,MAAef,KACfK,IAAeU,CAAU,GAE7BL,EAA0B,EAAK;AAAA,MACnC;AAAA,MACA,CAACL,GAAcL,CAAK;AAAA,IAAA,GAGlBgB,IAAoBF,EAAY,MAAMJ,EAA0B,EAAI,GAAG,CAAA,CAAE;AAe/E,WAbAO,EAAU,MAAM;AACZ,YAAMC,IAAgB,CAACC,MAA6B;AAChD,QAAAA,EAAM,eAAA,GACNA,EAAM,cAAc;AAAA,MACxB;AAEA,aAAIV,KACA,OAAO,iBAAiB,gBAAgBS,CAAa,GAGlD,MAAM,OAAO,oBAAoB,gBAAgBA,CAAa;AAAA,IACzE,GAAG,CAACT,CAAsB,CAAC,GAEvBV,IAEI,gBAAAqB;AAAA,MAACC;AAAAA,MAAA;AAAA,QACG,IAAI3B;AAAA,QACJ,OAAAM;AAAA,QACA,QAAQ;AAAA,QACR,aAAAG;AAAA,QACA,SAAAC;AAAA,QACA,gBAAgBY;AAAA,QAChB,cAAcH;AAAA,QACd,4BAA4BpB;AAAA,QAC5B,oBAAmB;AAAA,MAAA;AAAA,IAAA,IAK3B,gBAAA2B;AAAA,MAACE;AAAA,MAAA;AAAA,QACG,OAAAtB;AAAA,QACA,KAAAE;AAAA,QACA,aAAAK;AAAA,QACA,MAAMD;AAAA,QACN,SAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAP,EAAuB,cAAc;AAE9B,MAAM0B,IAAiB,CAACC,MAA+B;AAC1D,QAAMC,IAAMC,EAAuB,IAAI,GACjC,CAACC,GAAoBC,CAAqB,IAAIjB,EAAS,EAAK,GAE5D,EAAE,WAAAkB,GAAW,GAAGC,EAAA,IAAqBN,GAErCO,IAA6BjB,EAAY,CAACkB,MAA0B;AACtE,IAAIA,KACAJ,EAAsB,EAAI;AAAA,EAElC,GAAG,CAAA,CAAE;AAEL,SAAAK,EAAgB,EAAE,KAAAR,GAAK,UAAU,CAACI,GAAW,UAAUE,GAA4B,GAEnFd,EAAU,MAAM;AACZ,IAAKY,KAEDD,EAAsB,EAAK;AAAA,EAEnC,GAAG,CAACC,CAAS,CAAC,GAGV,gBAAAT,EAAC,OAAA,EAAI,gBAAa,8BAA6B,WAAU,oCAAmC,KAAAK,GACxF,UAAA,gBAAAL,EAACvB,GAAA,EAAwB,GAAGiC,GAAkB,WAAWD,KAAaF,GAAoB,GAC9F;AAER;"}
1
+ {"version":3,"file":"RichTextEditor.es.js","names":[],"sources":["../../../src/components/RichTextEditor/RichTextEditor.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { RichTextEditor as FondueRichTextEditor } from '@frontify/fondue/rte';\nimport { memo, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport { useIsInViewport } from '../../hooks/useIsInViewport';\n\nimport { floatingButtonActions, floatingButtonSelectors } from './plugins/ButtonPlugin/components';\nimport { getResponsiveColumnClasses } from './plugins/ColumnBreakPlugin/helpers';\nimport { SerializedText } from './SerializedText';\nimport { type RichTextEditorProps } from './types';\n\nconst handleHideExternalFloatingModals = (editorId: string) => {\n if (floatingButtonSelectors.isOpen(editorId)) {\n floatingButtonActions.reset();\n }\n};\n\nconst InternalRichTextEditor = memo(\n ({\n isEnabled,\n value,\n columns,\n gap,\n placeholder,\n plugins,\n onTextChange,\n showSerializedText,\n }: Omit<RichTextEditorProps, 'isEditing'> & { isEnabled: boolean }) => {\n const customClass = getResponsiveColumnClasses(columns);\n const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false);\n const editorId = useId();\n\n const handleTextChange = useCallback(\n (newContent: string) => {\n if (newContent !== value) {\n onTextChange?.(newContent);\n }\n setShouldPreventPageLeave(false);\n },\n [onTextChange, value],\n );\n\n const handleValueChange = useCallback(() => setShouldPreventPageLeave(true), []);\n\n useEffect(() => {\n const unloadHandler = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Unprocessed changes';\n };\n\n if (shouldPreventPageLeave) {\n window.addEventListener('beforeunload', unloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', unloadHandler);\n }, [shouldPreventPageLeave]);\n\n if (isEnabled) {\n return (\n <FondueRichTextEditor\n id={editorId}\n value={value}\n border={false}\n placeholder={placeholder}\n plugins={plugins}\n onValueChanged={handleValueChange}\n onTextChange={handleTextChange}\n hideExternalFloatingModals={handleHideExternalFloatingModals}\n placeholderOpacity=\"high\"\n />\n );\n }\n return (\n <SerializedText\n value={value}\n gap={gap}\n customClass={customClass}\n show={showSerializedText}\n plugins={plugins}\n />\n );\n },\n);\nInternalRichTextEditor.displayName = 'InternalRichTextEditor';\n\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [hasEnteredViewport, setHasEnteredViewport] = useState(false);\n\n const { isEditing, ...internalRteProps } = props;\n\n const onViewportVisibilityChange = useCallback((isInViewport: boolean) => {\n if (isInViewport) {\n setHasEnteredViewport(true);\n }\n }, []);\n\n useIsInViewport({ ref, disabled: !isEditing, onChange: onViewportVisibilityChange });\n\n useEffect(() => {\n if (!isEditing) {\n // oxlint-disable-next-line @eslint-react/set-state-in-effect\n setHasEnteredViewport(false);\n }\n }, [isEditing]);\n\n return (\n <div data-test-id=\"rich-text-editor-container\" className=\"tw-block tw-w-full tw-@container\" ref={ref}>\n <InternalRichTextEditor {...internalRteProps} isEnabled={isEditing && hasEnteredViewport} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAYA,IAAM,KAAoC,MAAqB;CAC3D,AAAI,EAAwB,OAAO,CAAQ,KACvC,EAAsB,MAAM;AAEpC,GAEM,IAAyB,GAC1B,EACG,cACA,UACA,YACA,QACA,gBACA,YACA,iBACA,4BACmE;CACnE,IAAM,IAAc,EAA2B,CAAO,GAChD,CAAC,GAAwB,KAA6B,EAAS,EAAK,GACpE,IAAW,EAAM,GAEjB,IAAmB,GACpB,MAAuB;EAIpB,AAHI,MAAe,KACf,IAAe,CAAU,GAE7B,EAA0B,EAAK;CACnC,GACA,CAAC,GAAc,CAAK,CACxB,GAEM,IAAoB,QAAkB,EAA0B,EAAI,GAAG,CAAC,CAAC;CA8B/E,OA5BA,QAAgB;EACZ,IAAM,KAAiB,MAA6B;GAEhD,AADA,EAAM,eAAe,GACrB,EAAM,cAAc;EACxB;EAMA,OAJI,KACA,OAAO,iBAAiB,gBAAgB,CAAa,SAG5C,OAAO,oBAAoB,gBAAgB,CAAa;CACzE,GAAG,CAAC,CAAsB,CAAC,GAEvB,IAEI,kBAAC,GAAD;EACI,IAAI;EACG;EACP,QAAQ;EACK;EACJ;EACT,gBAAgB;EAChB,cAAc;EACd,4BAA4B;EAC5B,oBAAmB;CACtB,CAAA,IAIL,kBAAC,GAAD;EACW;EACF;EACQ;EACb,MAAM;EACG;CACZ,CAAA;AAET,CACJ;AACA,EAAuB,cAAc;AAErC,IAAa,KAAkB,MAA+B;CAC1D,IAAM,IAAM,EAAuB,IAAI,GACjC,CAAC,GAAoB,KAAyB,EAAS,EAAK,GAE5D,EAAE,cAAW,GAAG,MAAqB,GAErC,IAA6B,GAAa,MAA0B;EACtE,AAAI,KACA,EAAsB,EAAI;CAElC,GAAG,CAAC,CAAC;CAWL,OATA,EAAgB;EAAE;EAAK,UAAU,CAAC;EAAW,UAAU;CAA2B,CAAC,GAEnF,QAAgB;EACZ,AAAK,KAED,EAAsB,EAAK;CAEnC,GAAG,CAAC,CAAS,CAAC,GAGV,kBAAC,OAAD;EAAK,gBAAa;EAA6B,WAAU;EAAwC;EAC7F,UAAA,kBAAC,GAAD;GAAwB,GAAI;GAAkB,WAAW,KAAa;EAAqB,CAAA;CAC1F,CAAA;AAEb"}
@@ -1,23 +1,26 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { serializeRawToHtmlAsync as c } from "@frontify/fondue/rte";
3
- import { useState as i, useEffect as u } from "react";
4
- const h = ({ value: e = "", gap: r, customClass: l, show: o = !0, plugins: n }) => {
5
- const [t, a] = i(null);
6
- return u(() => {
7
- (async () => {
8
- const m = await c(e, n, void 0, r, l);
9
- a(m);
10
- })().catch(console.error);
11
- }, [e, r, n, l]), !o || t === "<br />" || t === null ? null : /* @__PURE__ */ s(
12
- "div",
13
- {
14
- className: "tw-w-full tw-whitespace-pre-wrap",
15
- "data-test-id": "rte-content-html",
16
- dangerouslySetInnerHTML: { __html: t }
17
- }
18
- );
1
+ import { useEffect as e, useState as t } from "react";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import { serializeRawToHtmlAsync as r } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/SerializedText.tsx
5
+ var i = ({ value: i = "", gap: a, customClass: o, show: s = !0, plugins: c }) => {
6
+ let [l, u] = t(null);
7
+ return e(() => {
8
+ (async () => {
9
+ let e = await r(i, c, void 0, a, o);
10
+ u(e);
11
+ })().catch(console.error);
12
+ }, [
13
+ i,
14
+ a,
15
+ c,
16
+ o
17
+ ]), !s || l === "<br />" || l === null ? null : /* @__PURE__ */ n("div", {
18
+ className: "tw-w-full tw-whitespace-pre-wrap",
19
+ "data-test-id": "rte-content-html",
20
+ dangerouslySetInnerHTML: { __html: l }
21
+ });
19
22
  };
20
- export {
21
- h as SerializedText
22
- };
23
- //# sourceMappingURL=SerializedText.es.js.map
23
+ //#endregion
24
+ export { i as SerializedText };
25
+
26
+ //# sourceMappingURL=SerializedText.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerializedText.es.js","sources":["../../../src/components/RichTextEditor/SerializedText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { serializeRawToHtmlAsync } from '@frontify/fondue/rte';\nimport { useEffect, useState } from 'react';\n\nimport { type SerializedTextProps } from './types';\n\nexport const SerializedText = ({ value = '', gap, customClass, show = true, plugins }: SerializedTextProps) => {\n const [html, setHtml] = useState<string | null>(null);\n\n useEffect(() => {\n const updateHtml = async () => {\n const htmlContent = await serializeRawToHtmlAsync(value, plugins, undefined, gap, customClass);\n setHtml(htmlContent);\n };\n updateHtml().catch(console.error);\n }, [value, gap, plugins, customClass]);\n\n if (!show || html === '<br />' || html === null) {\n return null;\n }\n\n return (\n <div\n className=\"tw-w-full tw-whitespace-pre-wrap\"\n data-test-id=\"rte-content-html\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n );\n};\n"],"names":["SerializedText","value","gap","customClass","show","plugins","html","setHtml","useState","useEffect","htmlContent","serializeRawToHtmlAsync","jsx"],"mappings":";;;AAOO,MAAMA,IAAiB,CAAC,EAAE,OAAAC,IAAQ,IAAI,KAAAC,GAAK,aAAAC,GAAa,MAAAC,IAAO,IAAM,SAAAC,QAAmC;AAC3G,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAwB,IAAI;AAUpD,SARAC,EAAU,MAAM;AAKZ,KAJmB,YAAY;AAC3B,YAAMC,IAAc,MAAMC,EAAwBV,GAAOI,GAAS,QAAWH,GAAKC,CAAW;AAC7F,MAAAI,EAAQG,CAAW;AAAA,IACvB,KACa,MAAM,QAAQ,KAAK;AAAA,EACpC,GAAG,CAACT,GAAOC,GAAKG,GAASF,CAAW,CAAC,GAEjC,CAACC,KAAQE,MAAS,YAAYA,MAAS,OAChC,OAIP,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,gBAAa;AAAA,MACb,yBAAyB,EAAE,QAAQN,EAAA;AAAA,IAAK;AAAA,EAAA;AAGpD;"}
1
+ {"version":3,"file":"SerializedText.es.js","names":[],"sources":["../../../src/components/RichTextEditor/SerializedText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { serializeRawToHtmlAsync } from '@frontify/fondue/rte';\nimport { useEffect, useState } from 'react';\n\nimport { type SerializedTextProps } from './types';\n\nexport const SerializedText = ({ value = '', gap, customClass, show = true, plugins }: SerializedTextProps) => {\n const [html, setHtml] = useState<string | null>(null);\n\n useEffect(() => {\n const updateHtml = async () => {\n const htmlContent = await serializeRawToHtmlAsync(value, plugins, undefined, gap, customClass);\n setHtml(htmlContent);\n };\n updateHtml().catch(console.error);\n }, [value, gap, plugins, customClass]);\n\n if (!show || html === '<br />' || html === null) {\n return null;\n }\n\n return (\n <div\n className=\"tw-w-full tw-whitespace-pre-wrap\"\n data-test-id=\"rte-content-html\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n );\n};\n"],"mappings":";;;;AAOA,IAAa,KAAkB,EAAE,WAAQ,IAAI,QAAK,gBAAa,UAAO,IAAM,iBAAmC;CAC3G,IAAM,CAAC,GAAM,KAAW,EAAwB,IAAI;CAcpD,OAZA,QAAgB;EAKZ,aAJ+B;GAC3B,IAAM,IAAc,MAAM,EAAwB,GAAO,GAAS,KAAA,GAAW,GAAK,CAAW;GAC7F,EAAQ,CAAW;EACvB,EACA,CAAW,CAAC,CAAC,MAAM,QAAQ,KAAK;CACpC,GAAG;EAAC;EAAO;EAAK;EAAS;CAAW,CAAC,GAEjC,CAAC,KAAQ,MAAS,YAAY,MAAS,OAChC,OAIP,kBAAC,OAAD;EACI,WAAU;EACV,gBAAa;EACb,yBAAyB,EAAE,QAAQ,EAAK;CAC3C,CAAA;AAET"}
@@ -1,5 +1,6 @@
1
- const t = "--f-theme-settings-";
2
- export {
3
- t as THEME_PREFIX
4
- };
5
- //# sourceMappingURL=constants.es.js.map
1
+ //#region src/components/RichTextEditor/constants.ts
2
+ var e = "--f-theme-settings-";
3
+ //#endregion
4
+ export { e as THEME_PREFIX };
5
+
6
+ //# sourceMappingURL=constants.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.es.js","sources":["../../../src/components/RichTextEditor/constants.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nexport const THEME_PREFIX = '--f-theme-settings-';\n"],"names":["THEME_PREFIX"],"mappings":"AAEO,MAAMA,IAAe;"}
1
+ {"version":3,"file":"constants.es.js","names":[],"sources":["../../../src/components/RichTextEditor/constants.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nexport const THEME_PREFIX = '--f-theme-settings-';\n"],"mappings":";AAEA,IAAa,IAAe"}
@@ -1,37 +1,30 @@
1
- import { PluginComposer as i, SoftBreakPlugin as t, TextStylePlugin as l, BoldPlugin as g, ItalicPlugin as u, UnderlinePlugin as o, StrikethroughPlugin as r, CodePlugin as P, AlignLeftPlugin as w, AlignCenterPlugin as s, AlignRightPlugin as m, AlignJustifyPlugin as f, CheckboxListPlugin as a, ResetFormattingPlugin as d, AutoformatPlugin as p } from "@frontify/fondue/rte";
2
- import { TextStylePluginsWithoutImage as y, TextStylesWithoutImage as n } from "../plugins/TextStylePlugins/helpers.es.js";
3
- import { LinkPlugin as h } from "../plugins/LinkPlugin/index.es.js";
4
- import { ButtonPlugin as T } from "../plugins/ButtonPlugin/createButtonPlugin.es.js";
5
- import { UnorderedListPlugin as x } from "../plugins/UnorderedListPlugin/index.es.js";
6
- import { OrderedListPlugin as L } from "../plugins/OrderedListPlugin/index.es.js";
7
- const I = (e) => new i().setPlugin(
8
- new t(),
9
- new l({
10
- textStyles: y
11
- })
12
- ).setPlugin(
13
- [
14
- new g(),
15
- new u(),
16
- new o(),
17
- new r(),
18
- new h({ appBridge: e }),
19
- new T({ appBridge: e }),
20
- new P()
21
- ],
22
- [
23
- new w({ validTypes: n }),
24
- new s({ validTypes: n }),
25
- new m({ validTypes: n }),
26
- new f({ validTypes: n }),
27
- new x(),
28
- new a(),
29
- new L(),
30
- new d(),
31
- new p()
32
- ]
33
- );
34
- export {
35
- I as getDefaultPluginsWithLinkChooser
36
- };
37
- //# sourceMappingURL=defaultPluginsWithLinkChooser.es.js.map
1
+ import { ButtonPlugin as e } from "../plugins/ButtonPlugin/createButtonPlugin.es.js";
2
+ import { LinkPlugin as t } from "../plugins/LinkPlugin/index.es.js";
3
+ import { TextStylePluginsWithoutImage as n, TextStylesWithoutImage as r } from "../plugins/TextStylePlugins/helpers.es.js";
4
+ import { UnorderedListPlugin as i } from "../plugins/UnorderedListPlugin/index.es.js";
5
+ import { OrderedListPlugin as a } from "../plugins/OrderedListPlugin/index.es.js";
6
+ import { AlignCenterPlugin as o, AlignJustifyPlugin as s, AlignLeftPlugin as c, AlignRightPlugin as l, AutoformatPlugin as u, BoldPlugin as d, CheckboxListPlugin as f, CodePlugin as p, ItalicPlugin as m, PluginComposer as h, ResetFormattingPlugin as g, SoftBreakPlugin as _, StrikethroughPlugin as v, TextStylePlugin as y, UnderlinePlugin as b } from "@frontify/fondue/rte";
7
+ //#region src/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.tsx
8
+ var x = (x) => new h().setPlugin(new _(), new y({ textStyles: n })).setPlugin([
9
+ new d(),
10
+ new m(),
11
+ new b(),
12
+ new v(),
13
+ new t({ appBridge: x }),
14
+ new e({ appBridge: x }),
15
+ new p()
16
+ ], [
17
+ new c({ validTypes: r }),
18
+ new o({ validTypes: r }),
19
+ new l({ validTypes: r }),
20
+ new s({ validTypes: r }),
21
+ new i(),
22
+ new f(),
23
+ new a(),
24
+ new g(),
25
+ new u()
26
+ ]);
27
+ //#endregion
28
+ export { x as getDefaultPluginsWithLinkChooser };
29
+
30
+ //# sourceMappingURL=defaultPluginsWithLinkChooser.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPluginsWithLinkChooser.es.js","sources":["../../../../src/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n AlignCenterPlugin,\n AlignJustifyPlugin,\n AlignLeftPlugin,\n AlignRightPlugin,\n AutoformatPlugin,\n BoldPlugin,\n CheckboxListPlugin,\n CodePlugin,\n ItalicPlugin,\n PluginComposer,\n ResetFormattingPlugin,\n SoftBreakPlugin,\n StrikethroughPlugin,\n TextStylePlugin,\n UnderlinePlugin,\n} from '@frontify/fondue/rte';\n\nimport {\n ButtonPlugin,\n LinkPlugin,\n OrderedListPlugin,\n TextStylePluginsWithoutImage,\n TextStylesWithoutImage,\n UnorderedListPlugin,\n} from '../plugins';\n\nexport const getDefaultPluginsWithLinkChooser = (appBridge: AppBridgeBlock) => {\n return new PluginComposer()\n .setPlugin(\n new SoftBreakPlugin(),\n new TextStylePlugin({\n textStyles: TextStylePluginsWithoutImage,\n }),\n )\n .setPlugin(\n [\n new BoldPlugin(),\n new ItalicPlugin(),\n new UnderlinePlugin(),\n new StrikethroughPlugin(),\n new LinkPlugin({ appBridge }),\n new ButtonPlugin({ appBridge }),\n new CodePlugin(),\n ],\n [\n new AlignLeftPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignCenterPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignRightPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignJustifyPlugin({ validTypes: TextStylesWithoutImage }),\n new UnorderedListPlugin(),\n new CheckboxListPlugin(),\n new OrderedListPlugin(),\n new ResetFormattingPlugin(),\n new AutoformatPlugin(),\n ],\n );\n};\n"],"names":["getDefaultPluginsWithLinkChooser","appBridge","PluginComposer","SoftBreakPlugin","TextStylePlugin","TextStylePluginsWithoutImage","BoldPlugin","ItalicPlugin","UnderlinePlugin","StrikethroughPlugin","LinkPlugin","ButtonPlugin","CodePlugin","AlignLeftPlugin","TextStylesWithoutImage","AlignCenterPlugin","AlignRightPlugin","AlignJustifyPlugin","UnorderedListPlugin","CheckboxListPlugin","OrderedListPlugin","ResetFormattingPlugin","AutoformatPlugin"],"mappings":";;;;;;AA8BO,MAAMA,IAAmC,CAACC,MACtC,IAAIC,IACN;AAAA,EACG,IAAIC,EAAA;AAAA,EACJ,IAAIC,EAAgB;AAAA,IAChB,YAAYC;AAAA,EAAA,CACf;AAAA,EAEJ;AAAA,EACG;AAAA,IACI,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAW,EAAE,WAAAT,GAAW;AAAA,IAC5B,IAAIU,EAAa,EAAE,WAAAV,GAAW;AAAA,IAC9B,IAAIW,EAAA;AAAA,EAAW;AAAA,EAEnB;AAAA,IACI,IAAIC,EAAgB,EAAE,YAAYC,GAAwB;AAAA,IAC1D,IAAIC,EAAkB,EAAE,YAAYD,GAAwB;AAAA,IAC5D,IAAIE,EAAiB,EAAE,YAAYF,GAAwB;AAAA,IAC3D,IAAIG,EAAmB,EAAE,YAAYH,GAAwB;AAAA,IAC7D,IAAII,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,IACJ,IAAIC,EAAA;AAAA,EAAiB;AACzB;"}
1
+ {"version":3,"file":"defaultPluginsWithLinkChooser.es.js","names":[],"sources":["../../../../src/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n AlignCenterPlugin,\n AlignJustifyPlugin,\n AlignLeftPlugin,\n AlignRightPlugin,\n AutoformatPlugin,\n BoldPlugin,\n CheckboxListPlugin,\n CodePlugin,\n ItalicPlugin,\n PluginComposer,\n ResetFormattingPlugin,\n SoftBreakPlugin,\n StrikethroughPlugin,\n TextStylePlugin,\n UnderlinePlugin,\n} from '@frontify/fondue/rte';\n\nimport {\n ButtonPlugin,\n LinkPlugin,\n OrderedListPlugin,\n TextStylePluginsWithoutImage,\n TextStylesWithoutImage,\n UnorderedListPlugin,\n} from '../plugins';\n\nexport const getDefaultPluginsWithLinkChooser = (appBridge: AppBridgeBlock) => {\n return new PluginComposer()\n .setPlugin(\n new SoftBreakPlugin(),\n new TextStylePlugin({\n textStyles: TextStylePluginsWithoutImage,\n }),\n )\n .setPlugin(\n [\n new BoldPlugin(),\n new ItalicPlugin(),\n new UnderlinePlugin(),\n new StrikethroughPlugin(),\n new LinkPlugin({ appBridge }),\n new ButtonPlugin({ appBridge }),\n new CodePlugin(),\n ],\n [\n new AlignLeftPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignCenterPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignRightPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignJustifyPlugin({ validTypes: TextStylesWithoutImage }),\n new UnorderedListPlugin(),\n new CheckboxListPlugin(),\n new OrderedListPlugin(),\n new ResetFormattingPlugin(),\n new AutoformatPlugin(),\n ],\n );\n};\n"],"mappings":";;;;;;;AA8BA,IAAa,KAAoC,MACtC,IAAI,EAAe,CAAC,CACtB,UACG,IAAI,EAAgB,GACpB,IAAI,EAAgB,EAChB,YAAY,EAChB,CAAC,CACL,CAAC,CACA,UACG;CACI,IAAI,EAAW;CACf,IAAI,EAAa;CACjB,IAAI,EAAgB;CACpB,IAAI,EAAoB;CACxB,IAAI,EAAW,EAAE,aAAU,CAAC;CAC5B,IAAI,EAAa,EAAE,aAAU,CAAC;CAC9B,IAAI,EAAW;AACnB,GACA;CACI,IAAI,EAAgB,EAAE,YAAY,EAAuB,CAAC;CAC1D,IAAI,EAAkB,EAAE,YAAY,EAAuB,CAAC;CAC5D,IAAI,EAAiB,EAAE,YAAY,EAAuB,CAAC;CAC3D,IAAI,EAAmB,EAAE,YAAY,EAAuB,CAAC;CAC7D,IAAI,EAAoB;CACxB,IAAI,EAAmB;CACvB,IAAI,EAAkB;CACtB,IAAI,EAAsB;CAC1B,IAAI,EAAiB;AACzB,CACJ"}
@@ -1,40 +1,32 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { useState as a } from "react";
3
- import { BlockButtonStyles as c } from "../utils/styles.es.js";
4
- const v = (e) => {
5
- const { attributes: t, children: o } = e, r = e.element.url || e.element.chosenLink?.searchResult?.link || "", l = e.element.target || "_self", n = String(e.element.buttonStyle) || "primary";
6
- return /* @__PURE__ */ u(
7
- m,
8
- {
9
- attributes: t,
10
- href: r,
11
- target: l,
12
- styles: c[`button${n.charAt(0).toUpperCase() + n.slice(1)}`],
13
- children: o
14
- }
15
- );
16
- }, m = ({
17
- attributes: e,
18
- styles: t = { hover: {} },
19
- children: o,
20
- href: r = "#",
21
- target: l
22
- }) => {
23
- const [n, s] = a(!1);
24
- return /* @__PURE__ */ u(
25
- "a",
26
- {
27
- ...e,
28
- onMouseEnter: () => s(!0),
29
- onMouseLeave: () => s(!1),
30
- href: r,
31
- target: l,
32
- style: n ? { ...t, ...t.hover } : t,
33
- children: o
34
- }
35
- );
1
+ import { BlockButtonStyles as e } from "../utils/styles.es.js";
2
+ import { useState as t } from "react";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.tsx
5
+ var r = (t) => {
6
+ let { attributes: r, children: a } = t, o = t.element.url || t.element.chosenLink?.searchResult?.link || "", s = t.element.target || "_self", c = String(t.element.buttonStyle) || "primary";
7
+ return /* @__PURE__ */ n(i, {
8
+ attributes: r,
9
+ href: o,
10
+ target: s,
11
+ styles: e[`button${c.charAt(0).toUpperCase() + c.slice(1)}`],
12
+ children: a
13
+ });
14
+ }, i = ({ attributes: e, styles: r = { hover: {} }, children: i, href: a = "#", target: o }) => {
15
+ let [s, c] = t(!1);
16
+ return /* @__PURE__ */ n("a", {
17
+ ...e,
18
+ onMouseEnter: () => c(!0),
19
+ onMouseLeave: () => c(!1),
20
+ href: a,
21
+ target: o,
22
+ style: s ? {
23
+ ...r,
24
+ ...r.hover
25
+ } : r,
26
+ children: i
27
+ });
36
28
  };
37
- export {
38
- v as ButtonMarkupElementNode
39
- };
40
- //# sourceMappingURL=ButtonMarkupElementNode.es.js.map
29
+ //#endregion
30
+ export { r as ButtonMarkupElementNode };
31
+
32
+ //# sourceMappingURL=ButtonMarkupElementNode.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonMarkupElementNode.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateRenderElementProps, type Value } from '@frontify/fondue/rte';\nimport { type CSSProperties, type HTMLAttributeAnchorTarget, type ReactElement, type ReactNode, useState } from 'react';\n\nimport { type TButtonElement } from '../types';\nimport { BlockButtonStyles } from '../utils';\n\nexport type ButtonRootProps = PlateRenderElementProps<Value, TButtonElement>;\n\nexport const ButtonMarkupElementNode = (props: ButtonRootProps) => {\n const { attributes, children } = props;\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n const buttonStyle = String(props.element.buttonStyle) || 'primary';\n return (\n <HoverableButtonLink\n attributes={attributes}\n href={href}\n target={target}\n styles={BlockButtonStyles[`button${buttonStyle.charAt(0).toUpperCase() + buttonStyle.slice(1)}`]}\n >\n {children}\n </HoverableButtonLink>\n );\n};\n\ntype Props = {\n attributes: ButtonRootProps['attributes'];\n children: ReactNode;\n styles?: CSSProperties & { hover?: CSSProperties };\n href?: string;\n target?: HTMLAttributeAnchorTarget;\n};\n\nconst HoverableButtonLink = ({\n attributes,\n styles = { hover: {} },\n children,\n href = '#',\n target,\n}: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n\n return (\n <a\n {...attributes}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n href={href}\n target={target}\n style={hovered ? { ...styles, ...styles.hover } : styles}\n >\n {children}\n </a>\n );\n};\n"],"names":["ButtonMarkupElementNode","props","attributes","children","href","target","buttonStyle","jsx","HoverableButtonLink","BlockButtonStyles","styles","hovered","setHovered","useState"],"mappings":";;;AAUO,MAAMA,IAA0B,CAACC,MAA2B;AAC/D,QAAM,EAAE,YAAAC,GAAY,UAAAC,EAAA,IAAaF,GAC3BG,IAAOH,EAAM,QAAQ,OAAOA,EAAM,QAAQ,YAAY,cAAc,QAAQ,IAC5EI,IAASJ,EAAM,QAAQ,UAAU,SACjCK,IAAc,OAAOL,EAAM,QAAQ,WAAW,KAAK;AACzD,SACI,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,YAAAN;AAAA,MACA,MAAAE;AAAA,MACA,QAAAC;AAAA,MACA,QAAQI,EAAkB,SAASH,EAAY,OAAO,CAAC,EAAE,YAAA,IAAgBA,EAAY,MAAM,CAAC,CAAC,EAAE;AAAA,MAE9F,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGb,GAUMK,IAAsB,CAAC;AAAA,EACzB,YAAAN;AAAA,EACA,QAAAQ,IAAS,EAAE,OAAO,GAAC;AAAA,EACnB,UAAAP;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,QAAAC;AACJ,MAA2B;AACvB,QAAM,CAACM,GAASC,CAAU,IAAIC,EAAS,EAAK;AAE5C,SACI,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGL;AAAA,MACJ,cAAc,MAAMU,EAAW,EAAI;AAAA,MACnC,cAAc,MAAMA,EAAW,EAAK;AAAA,MACpC,MAAAR;AAAA,MACA,QAAAC;AAAA,MACA,OAAOM,IAAU,EAAE,GAAGD,GAAQ,GAAGA,EAAO,UAAUA;AAAA,MAEjD,UAAAP;AAAA,IAAA;AAAA,EAAA;AAGb;"}
1
+ {"version":3,"file":"ButtonMarkupElementNode.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateRenderElementProps, type Value } from '@frontify/fondue/rte';\nimport { type CSSProperties, type HTMLAttributeAnchorTarget, type ReactElement, type ReactNode, useState } from 'react';\n\nimport { type TButtonElement } from '../types';\nimport { BlockButtonStyles } from '../utils';\n\nexport type ButtonRootProps = PlateRenderElementProps<Value, TButtonElement>;\n\nexport const ButtonMarkupElementNode = (props: ButtonRootProps) => {\n const { attributes, children } = props;\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n const buttonStyle = String(props.element.buttonStyle) || 'primary';\n return (\n <HoverableButtonLink\n attributes={attributes}\n href={href}\n target={target}\n styles={BlockButtonStyles[`button${buttonStyle.charAt(0).toUpperCase() + buttonStyle.slice(1)}`]}\n >\n {children}\n </HoverableButtonLink>\n );\n};\n\ntype Props = {\n attributes: ButtonRootProps['attributes'];\n children: ReactNode;\n styles?: CSSProperties & { hover?: CSSProperties };\n href?: string;\n target?: HTMLAttributeAnchorTarget;\n};\n\nconst HoverableButtonLink = ({\n attributes,\n styles = { hover: {} },\n children,\n href = '#',\n target,\n}: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n\n return (\n <a\n {...attributes}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n href={href}\n target={target}\n style={hovered ? { ...styles, ...styles.hover } : styles}\n >\n {children}\n </a>\n );\n};\n"],"mappings":";;;;AAUA,IAAa,KAA2B,MAA2B;CAC/D,IAAM,EAAE,eAAY,gBAAa,GAC3B,IAAO,EAAM,QAAQ,OAAO,EAAM,QAAQ,YAAY,cAAc,QAAQ,IAC5E,IAAS,EAAM,QAAQ,UAAU,SACjC,IAAc,OAAO,EAAM,QAAQ,WAAW,KAAK;CACzD,OACI,kBAAC,GAAD;EACgB;EACN;EACE;EACR,QAAQ,EAAkB,SAAS,EAAY,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,EAAY,MAAM,CAAC;EAE3F;CACgB,CAAA;AAE7B,GAUM,KAAuB,EACzB,eACA,YAAS,EAAE,OAAO,CAAC,EAAE,GACrB,aACA,UAAO,KACP,gBACuB;CACvB,IAAM,CAAC,GAAS,KAAc,EAAS,EAAK;CAE5C,OACI,kBAAC,KAAD;EACI,GAAI;EACJ,oBAAoB,EAAW,EAAI;EACnC,oBAAoB,EAAW,EAAK;EAC9B;EACE;EACR,OAAO,IAAU;GAAE,GAAG;GAAQ,GAAG,EAAO;EAAM,IAAI;EAEjD;CACF,CAAA;AAEX"}
@@ -1,12 +1,13 @@
1
- import { MarkupElement as o } from "@frontify/fondue/rte";
2
- import { ELEMENT_BUTTON as e } from "../createButtonPlugin.es.js";
3
- import { ButtonMarkupElementNode as m } from "./ButtonMarkupElementNode.es.js";
4
- class s extends o {
5
- constructor(t = e, r = m) {
6
- super(t, r);
7
- }
8
- }
9
- export {
10
- s as ButtonMarkupElement
1
+ import { ButtonMarkupElementNode as e } from "./ButtonMarkupElementNode.es.js";
2
+ import { ELEMENT_BUTTON as t } from "../createButtonPlugin.es.js";
3
+ import { MarkupElement as n } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.ts
5
+ var r = class extends n {
6
+ constructor(n = t, r = e) {
7
+ super(n, r);
8
+ }
11
9
  };
12
- //# sourceMappingURL=index.es.js.map
10
+ //#endregion
11
+ export { r as ButtonMarkupElement };
12
+
13
+ //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { MarkupElement } from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\nimport { ButtonMarkupElementNode } from './ButtonMarkupElementNode';\n\nexport class ButtonMarkupElement extends MarkupElement {\n constructor(id = ELEMENT_BUTTON, node = ButtonMarkupElementNode) {\n super(id, node);\n }\n}\n"],"names":["ButtonMarkupElement","MarkupElement","id","ELEMENT_BUTTON","node","ButtonMarkupElementNode"],"mappings":";;;AAQO,MAAMA,UAA4BC,EAAc;AAAA,EACnD,YAAYC,IAAKC,GAAgBC,IAAOC,GAAyB;AAC7D,UAAMH,GAAIE,CAAI;AAAA,EAClB;AACJ;"}
1
+ {"version":3,"file":"index.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { MarkupElement } from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\nimport { ButtonMarkupElementNode } from './ButtonMarkupElementNode';\n\nexport class ButtonMarkupElement extends MarkupElement {\n constructor(id = ELEMENT_BUTTON, node = ButtonMarkupElementNode) {\n super(id, node);\n }\n}\n"],"mappings":";;;;AAQA,IAAa,IAAb,cAAyC,EAAc;CACnD,YAAY,IAAK,GAAgB,IAAO,GAAyB;EAC7D,MAAM,GAAI,CAAI;CAClB;AACJ"}
@@ -1,24 +1,20 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { useEditorState as l, useEventPlateId as a, isRangeInSameBlock as c, getPluginType as d, someNode as m, getTooltip as p, getHotkeyByPlatform as u } from "@frontify/fondue/rte";
3
- import { ELEMENT_BUTTON as B } from "../createButtonPlugin.es.js";
4
- import { ButtonToolbarButton as f } from "./ButtonToolbarButton.es.js";
5
- const y = ({ editorId: n, id: i }) => {
6
- const t = l(a(n)), o = !!c(t, {
7
- at: t.selection
8
- }), s = d(t, B), r = !!t?.selection && m(t, { match: { type: s } });
9
- return /* @__PURE__ */ e("div", { "data-plugin-id": i, children: /* @__PURE__ */ e(
10
- f,
11
- {
12
- pressed: r,
13
- disabled: !o,
14
- tooltip: p(
15
- o ? `Button
16
- ${u("Ctrl+Shift+K")}` : "Buttons can only be set for a single text block."
17
- )
18
- }
19
- ) });
1
+ import { ButtonToolbarButton as e } from "./ButtonToolbarButton.es.js";
2
+ import { ELEMENT_BUTTON as t } from "../createButtonPlugin.es.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import { getHotkeyByPlatform as r, getPluginType as i, getTooltip as a, isRangeInSameBlock as o, someNode as s, useEditorState as c, useEventPlateId as l } from "@frontify/fondue/rte";
5
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.tsx
6
+ var u = ({ editorId: u, id: d }) => {
7
+ let f = c(l(u)), p = !!o(f, { at: f.selection }), m = i(f, t), h = !!f?.selection && s(f, { match: { type: m } });
8
+ return /* @__PURE__ */ n("div", {
9
+ "data-plugin-id": d,
10
+ children: /* @__PURE__ */ n(e, {
11
+ pressed: h,
12
+ disabled: !p,
13
+ tooltip: a(p ? `Button\n${r("Ctrl+Shift+K")}` : "Buttons can only be set for a single text block.")
14
+ })
15
+ });
20
16
  };
21
- export {
22
- y as ButtonButton
23
- };
24
- //# sourceMappingURL=ButtonButton.es.js.map
17
+ //#endregion
18
+ export { u as ButtonButton };
19
+
20
+ //# sourceMappingURL=ButtonButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PluginButtonProps,\n getHotkeyByPlatform,\n getPluginType,\n getTooltip,\n isRangeInSameBlock,\n someNode,\n useEditorState,\n useEventPlateId,\n} from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\nimport { ButtonToolbarButton } from './ButtonToolbarButton';\n\nexport const ButtonButton = ({ editorId, id }: PluginButtonProps) => {\n const editor = useEditorState(useEventPlateId(editorId));\n const isEnabled = !!isRangeInSameBlock(editor, {\n at: editor.selection,\n });\n const type = getPluginType(editor, ELEMENT_BUTTON);\n const isLink = !!editor?.selection && someNode(editor, { match: { type } });\n\n return (\n <div data-plugin-id={id}>\n <ButtonToolbarButton\n pressed={isLink}\n disabled={!isEnabled} // maybe pressed\n tooltip={getTooltip(\n isEnabled\n ? `Button\\n${getHotkeyByPlatform('Ctrl+Shift+K')}`\n : 'Buttons can only be set for a single text block.',\n )}\n />\n </div>\n );\n};\n"],"names":["ButtonButton","editorId","id","editor","useEditorState","useEventPlateId","isEnabled","isRangeInSameBlock","type","getPluginType","ELEMENT_BUTTON","isLink","someNode","jsx","ButtonToolbarButton","getTooltip","getHotkeyByPlatform"],"mappings":";;;;AAiBO,MAAMA,IAAe,CAAC,EAAE,UAAAC,GAAU,IAAAC,QAA4B;AACjE,QAAMC,IAASC,EAAeC,EAAgBJ,CAAQ,CAAC,GACjDK,IAAY,CAAC,CAACC,EAAmBJ,GAAQ;AAAA,IAC3C,IAAIA,EAAO;AAAA,EAAA,CACd,GACKK,IAAOC,EAAcN,GAAQO,CAAc,GAC3CC,IAAS,CAAC,CAACR,GAAQ,aAAaS,EAAST,GAAQ,EAAE,OAAO,EAAE,MAAAK,EAAA,GAAQ;AAE1E,SACI,gBAAAK,EAAC,OAAA,EAAI,kBAAgBX,GACjB,UAAA,gBAAAW;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,SAASH;AAAA,MACT,UAAU,CAACL;AAAA,MACX,SAASS;AAAA,QACLT,IACM;AAAA,EAAWU,EAAoB,cAAc,CAAC,KAC9C;AAAA,MAAA;AAAA,IACV;AAAA,EAAA,GAER;AAER;"}
1
+ {"version":3,"file":"ButtonButton.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PluginButtonProps,\n getHotkeyByPlatform,\n getPluginType,\n getTooltip,\n isRangeInSameBlock,\n someNode,\n useEditorState,\n useEventPlateId,\n} from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\nimport { ButtonToolbarButton } from './ButtonToolbarButton';\n\nexport const ButtonButton = ({ editorId, id }: PluginButtonProps) => {\n const editor = useEditorState(useEventPlateId(editorId));\n const isEnabled = !!isRangeInSameBlock(editor, {\n at: editor.selection,\n });\n const type = getPluginType(editor, ELEMENT_BUTTON);\n const isLink = !!editor?.selection && someNode(editor, { match: { type } });\n\n return (\n <div data-plugin-id={id}>\n <ButtonToolbarButton\n pressed={isLink}\n disabled={!isEnabled} // maybe pressed\n tooltip={getTooltip(\n isEnabled\n ? `Button\\n${getHotkeyByPlatform('Ctrl+Shift+K')}`\n : 'Buttons can only be set for a single text block.',\n )}\n />\n </div>\n );\n};\n"],"mappings":";;;;;AAiBA,IAAa,KAAgB,EAAE,aAAU,YAA4B;CACjE,IAAM,IAAS,EAAe,EAAgB,CAAQ,CAAC,GACjD,IAAY,CAAC,CAAC,EAAmB,GAAQ,EAC3C,IAAI,EAAO,UACf,CAAC,GACK,IAAO,EAAc,GAAQ,CAAc,GAC3C,IAAS,CAAC,CAAC,GAAQ,aAAa,EAAS,GAAQ,EAAE,OAAO,EAAE,QAAK,EAAE,CAAC;CAE1E,OACI,kBAAC,OAAD;EAAK,kBAAgB;EACjB,UAAA,kBAAC,GAAD;GACI,SAAS;GACT,UAAU,CAAC;GACX,SAAS,EACL,IACM,WAAW,EAAoB,cAAc,MAC7C,kDACV;EACH,CAAA;CACA,CAAA;AAEb"}
@@ -1,27 +1,25 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { IconButton as i } from "@frontify/fondue/icons";
3
- import { useEditorRef as u, ToolbarButton as c, IconStylingWrapper as f, focusEditor as l } from "@frontify/fondue/rte";
4
- import { forwardRef as m } from "react";
5
- import { triggerFloatingButton as p } from "../utils/triggerFloatingButton.es.js";
6
- const s = m((r, e) => {
7
- const o = u();
8
- return /* @__PURE__ */ t(
9
- c,
10
- {
11
- ref: e,
12
- ...r,
13
- onMouseDown: (n) => {
14
- n.preventDefault(), l(o, o.selection ?? o.prevSelection ?? void 0);
15
- },
16
- onClick: () => {
17
- p(o, { focused: !0 });
18
- },
19
- children: /* @__PURE__ */ t(f, { icon: /* @__PURE__ */ t(i, { size: 16 }) })
20
- }
21
- );
1
+ import { triggerFloatingButton as e } from "../utils/triggerFloatingButton.es.js";
2
+ import { IconButton as t } from "@frontify/fondue/icons";
3
+ import { forwardRef as n } from "react";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ import { IconStylingWrapper as i, ToolbarButton as a, focusEditor as o, useEditorRef as s } from "@frontify/fondue/rte";
6
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx
7
+ var c = n((n, c) => {
8
+ let l = s();
9
+ return /* @__PURE__ */ r(a, {
10
+ ref: c,
11
+ ...n,
12
+ onMouseDown: (e) => {
13
+ e.preventDefault(), o(l, l.selection ?? l.prevSelection ?? void 0);
14
+ },
15
+ onClick: () => {
16
+ e(l, { focused: !0 });
17
+ },
18
+ children: /* @__PURE__ */ r(i, { icon: /* @__PURE__ */ r(t, { size: 16 }) })
19
+ });
22
20
  });
23
- s.displayName = "ButtonToolbarButton";
24
- export {
25
- s as ButtonToolbarButton
26
- };
27
- //# sourceMappingURL=ButtonToolbarButton.es.js.map
21
+ c.displayName = "ButtonToolbarButton";
22
+ //#endregion
23
+ export { c as ButtonToolbarButton };
24
+
25
+ //# sourceMappingURL=ButtonToolbarButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonToolbarButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconButton } from '@frontify/fondue/icons';\nimport { IconStylingWrapper, ToolbarButton, focusEditor, useEditorRef } from '@frontify/fondue/rte';\nimport { type ReactNode, forwardRef } from 'react';\n\nimport { triggerFloatingButton } from '../utils';\n\nexport const ButtonToolbarButton = forwardRef<\n HTMLButtonElement,\n { disabled: boolean; tooltip: ReactNode; pressed: boolean }\n>((rootProps, ref) => {\n const editor = useEditorRef();\n\n return (\n <ToolbarButton\n ref={ref}\n {...rootProps}\n onMouseDown={(event) => {\n event.preventDefault();\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n onClick={() => {\n triggerFloatingButton(editor, { focused: true });\n }}\n >\n <IconStylingWrapper icon={<IconButton size={16} />} />\n </ToolbarButton>\n );\n});\n\nButtonToolbarButton.displayName = 'ButtonToolbarButton';\n"],"names":["ButtonToolbarButton","forwardRef","rootProps","ref","editor","useEditorRef","jsx","ToolbarButton","event","focusEditor","triggerFloatingButton","IconStylingWrapper","IconButton"],"mappings":";;;;;AAQO,MAAMA,IAAsBC,EAGjC,CAACC,GAAWC,MAAQ;AAClB,QAAMC,IAASC,EAAA;AAEf,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,KAAAJ;AAAA,MACC,GAAGD;AAAA,MACJ,aAAa,CAACM,MAAU;AACpB,QAAAA,EAAM,eAAA,GACNC,EAAYL,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS;AAAA,MAC7E;AAAA,MACA,SAAS,MAAM;AACX,QAAAM,EAAsBN,GAAQ,EAAE,SAAS,GAAA,CAAM;AAAA,MACnD;AAAA,MAEA,4BAACO,GAAA,EAAmB,wBAAOC,GAAA,EAAW,MAAM,IAAI,EAAA,CAAI;AAAA,IAAA;AAAA,EAAA;AAGhE,CAAC;AAEDZ,EAAoB,cAAc;"}
1
+ {"version":3,"file":"ButtonToolbarButton.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconButton } from '@frontify/fondue/icons';\nimport { IconStylingWrapper, ToolbarButton, focusEditor, useEditorRef } from '@frontify/fondue/rte';\nimport { type ReactNode, forwardRef } from 'react';\n\nimport { triggerFloatingButton } from '../utils';\n\nexport const ButtonToolbarButton = forwardRef<\n HTMLButtonElement,\n { disabled: boolean; tooltip: ReactNode; pressed: boolean }\n>((rootProps, ref) => {\n const editor = useEditorRef();\n\n return (\n <ToolbarButton\n ref={ref}\n {...rootProps}\n onMouseDown={(event) => {\n event.preventDefault();\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n onClick={() => {\n triggerFloatingButton(editor, { focused: true });\n }}\n >\n <IconStylingWrapper icon={<IconButton size={16} />} />\n </ToolbarButton>\n );\n});\n\nButtonToolbarButton.displayName = 'ButtonToolbarButton';\n"],"mappings":";;;;;;AAQA,IAAa,IAAsB,GAGhC,GAAW,MAAQ;CAClB,IAAM,IAAS,EAAa;CAE5B,OACI,kBAAC,GAAD;EACS;EACL,GAAI;EACJ,cAAc,MAAU;GAEpB,AADA,EAAM,eAAe,GACrB,EAAY,GAAQ,EAAO,aAAa,EAAO,iBAAiB,KAAA,CAAS;EAC7E;EACA,eAAe;GACX,EAAsB,GAAQ,EAAE,SAAS,GAAK,CAAC;EACnD;EAEA,UAAA,kBAAC,GAAD,EAAoB,MAAM,kBAAC,GAAD,EAAY,MAAM,GAAK,CAAA,EAAI,CAAA;CAC1C,CAAA;AAEvB,CAAC;AAED,EAAoB,cAAc"}
@@ -1,54 +1,47 @@
1
- import { jsxs as g, Fragment as b, jsx as t } from "react/jsx-runtime";
2
- import { useEditorRef as B, TextStyles as d, offset as E, flip as F } from "@frontify/fondue/rte";
3
- import { createPortal as m } from "react-dom";
4
- import { BlockStyles as l } from "../../../styles.es.js";
5
- import { EditModal as x } from "./EditButtonModal/EditModal.es.js";
6
- import { InsertButtonModal as P } from "./InsertButtonModal/InsertButtonModal.es.js";
7
- import { useFloatingButtonInsert as h } from "./useFloatingButtonInsert.es.js";
8
- import { useFloatingButtonEdit as O } from "./useFloatingButtonEdit.es.js";
9
- import { useFloatingButtonSelectors as R } from "./floatingButtonStore.es.js";
10
- const a = {
11
- placement: "bottom-start",
12
- strategy: "absolute",
13
- middleware: [
14
- E(12),
15
- F({
16
- padding: 12,
17
- fallbackPlacements: ["bottom-end", "top-start", "top-end"]
18
- })
19
- ]
20
- }, q = () => {
21
- const { ref: p, ...e } = h(a), { ref: c, ...r } = O(a), f = B(), o = R(), n = o.isOpen(f.id), u = o.isEditing(), s = o.mode(), i = /* @__PURE__ */ t(P, {}), y = u ? i : /* @__PURE__ */ t(x, {});
22
- return /* @__PURE__ */ g(b, { children: [
23
- n && s === "insert" && m(
24
- /* @__PURE__ */ t(
25
- "div",
26
- {
27
- "data-is-underlay": !0,
28
- ref: p,
29
- ...e,
30
- style: { ...e.style, ...l[d.p] },
31
- children: i
32
- }
33
- ),
34
- document.body
35
- ),
36
- n && s === "edit" && m(
37
- /* @__PURE__ */ t(
38
- "div",
39
- {
40
- "data-is-underlay": !0,
41
- ref: c,
42
- ...r,
43
- style: { ...r.style, ...l[d.p] },
44
- children: y
45
- }
46
- ),
47
- document.body
48
- )
49
- ] });
1
+ import { useFloatingButtonSelectors as e } from "./floatingButtonStore.es.js";
2
+ import { BlockStyles as t } from "../../../styles.es.js";
3
+ import { EditModal as n } from "./EditButtonModal/EditModal.es.js";
4
+ import { InsertButtonModal as r } from "./InsertButtonModal/InsertButtonModal.es.js";
5
+ import { useFloatingButtonEdit as i } from "./useFloatingButtonEdit.es.js";
6
+ import { useFloatingButtonInsert as a } from "./useFloatingButtonInsert.es.js";
7
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ import { TextStyles as l, flip as u, offset as d, useEditorRef as f } from "@frontify/fondue/rte";
9
+ import { createPortal as p } from "react-dom";
10
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.tsx
11
+ var m = {
12
+ placement: "bottom-start",
13
+ strategy: "absolute",
14
+ middleware: [d(12), u({
15
+ padding: 12,
16
+ fallbackPlacements: [
17
+ "bottom-end",
18
+ "top-start",
19
+ "top-end"
20
+ ]
21
+ })]
22
+ }, h = () => {
23
+ let { ref: u, ...d } = a(m), { ref: h, ...g } = i(m), _ = f(), v = e(), y = v.isOpen(_.id), b = v.isEditing(), x = v.mode(), S = /* @__PURE__ */ s(r, {}), C = b ? S : /* @__PURE__ */ s(n, {});
24
+ return /* @__PURE__ */ c(o, { children: [y && x === "insert" && p(/* @__PURE__ */ s("div", {
25
+ "data-is-underlay": !0,
26
+ ref: u,
27
+ ...d,
28
+ style: {
29
+ ...d.style,
30
+ ...t[l.p]
31
+ },
32
+ children: S
33
+ }), document.body), y && x === "edit" && p(/* @__PURE__ */ s("div", {
34
+ "data-is-underlay": !0,
35
+ ref: h,
36
+ ...g,
37
+ style: {
38
+ ...g.style,
39
+ ...t[l.p]
40
+ },
41
+ children: C
42
+ }), document.body)] });
50
43
  };
51
- export {
52
- q as CustomFloatingButton
53
- };
54
- //# sourceMappingURL=CustomFloatingButton.es.js.map
44
+ //#endregion
45
+ export { h as CustomFloatingButton };
46
+
47
+ //# sourceMappingURL=CustomFloatingButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFloatingButton.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { TextStyles, type UseVirtualFloatingOptions, flip, offset, useEditorRef } from '@frontify/fondue/rte';\nimport { createPortal } from 'react-dom';\n\nimport { BlockStyles } from '../../../../../RichTextEditor/plugins/styles';\nimport { useFloatingButtonEdit, useFloatingButtonInsert, useFloatingButtonSelectors } from '../FloatingButton';\n\nimport { EditModal } from './EditButtonModal/EditModal';\nimport { InsertButtonModal } from './InsertButtonModal/InsertButtonModal';\n\nconst floatingOptions: UseVirtualFloatingOptions = {\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: ['bottom-end', 'top-start', 'top-end'],\n }),\n ],\n};\n\nexport const CustomFloatingButton = () => {\n const { ref: insertRef, ...insertProps } = useFloatingButtonInsert(floatingOptions);\n const { ref: editRef, ...editProps } = useFloatingButtonEdit(floatingOptions);\n const editor = useEditorRef();\n const state = useFloatingButtonSelectors();\n const isOpen = state.isOpen(editor.id);\n const isEditing = state.isEditing();\n const mode = state.mode();\n\n const input = <InsertButtonModal />;\n const editContent = isEditing ? input : <EditModal />;\n\n return (\n <>\n {isOpen &&\n mode === 'insert' &&\n createPortal(\n <div\n data-is-underlay\n ref={insertRef}\n {...insertProps}\n style={{ ...insertProps.style, ...BlockStyles[TextStyles.p] }}\n >\n {input}\n </div>,\n document.body,\n )}\n\n {isOpen &&\n mode === 'edit' &&\n createPortal(\n <div\n data-is-underlay\n ref={editRef}\n {...editProps}\n style={{ ...editProps.style, ...BlockStyles[TextStyles.p] }}\n >\n {editContent}\n </div>,\n document.body,\n )}\n </>\n );\n};\n"],"names":["floatingOptions","offset","flip","CustomFloatingButton","insertRef","insertProps","useFloatingButtonInsert","editRef","editProps","useFloatingButtonEdit","editor","useEditorRef","state","useFloatingButtonSelectors","isOpen","isEditing","mode","input","InsertButtonModal","editContent","jsx","EditModal","jsxs","Fragment","createPortal","BlockStyles","TextStyles"],"mappings":";;;;;;;;;AAWA,MAAMA,IAA6C;AAAA,EAC/C,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,IACRC,EAAO,EAAE;AAAA,IACTC,EAAK;AAAA,MACD,SAAS;AAAA,MACT,oBAAoB,CAAC,cAAc,aAAa,SAAS;AAAA,IAAA,CAC5D;AAAA,EAAA;AAET,GAEaC,IAAuB,MAAM;AACtC,QAAM,EAAE,KAAKC,GAAW,GAAGC,EAAA,IAAgBC,EAAwBN,CAAe,GAC5E,EAAE,KAAKO,GAAS,GAAGC,EAAA,IAAcC,EAAsBT,CAAe,GACtEU,IAASC,EAAA,GACTC,IAAQC,EAAA,GACRC,IAASF,EAAM,OAAOF,EAAO,EAAE,GAC/BK,IAAYH,EAAM,UAAA,GAClBI,IAAOJ,EAAM,KAAA,GAEbK,sBAASC,GAAA,EAAkB,GAC3BC,IAAcJ,IAAYE,IAAQ,gBAAAG,EAACC,GAAA,CAAA,CAAU;AAEnD,SACI,gBAAAC,EAAAC,GAAA,EACK,UAAA;AAAA,IAAAT,KACGE,MAAS,YACTQ;AAAA,MACI,gBAAAJ;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,oBAAgB;AAAA,UAChB,KAAKhB;AAAA,UACJ,GAAGC;AAAA,UACJ,OAAO,EAAE,GAAGA,EAAY,OAAO,GAAGoB,EAAYC,EAAW,CAAC,EAAA;AAAA,UAEzD,UAAAT;AAAA,QAAA;AAAA,MAAA;AAAA,MAEL,SAAS;AAAA,IAAA;AAAA,IAGhBH,KACGE,MAAS,UACTQ;AAAA,MACI,gBAAAJ;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,oBAAgB;AAAA,UAChB,KAAKb;AAAA,UACJ,GAAGC;AAAA,UACJ,OAAO,EAAE,GAAGA,EAAU,OAAO,GAAGiB,EAAYC,EAAW,CAAC,EAAA;AAAA,UAEvD,UAAAP;AAAA,QAAA;AAAA,MAAA;AAAA,MAEL,SAAS;AAAA,IAAA;AAAA,EACb,GACR;AAER;"}
1
+ {"version":3,"file":"CustomFloatingButton.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { TextStyles, type UseVirtualFloatingOptions, flip, offset, useEditorRef } from '@frontify/fondue/rte';\nimport { createPortal } from 'react-dom';\n\nimport { BlockStyles } from '../../../../../RichTextEditor/plugins/styles';\nimport { useFloatingButtonEdit, useFloatingButtonInsert, useFloatingButtonSelectors } from '../FloatingButton';\n\nimport { EditModal } from './EditButtonModal/EditModal';\nimport { InsertButtonModal } from './InsertButtonModal/InsertButtonModal';\n\nconst floatingOptions: UseVirtualFloatingOptions = {\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n offset(12),\n flip({\n padding: 12,\n fallbackPlacements: ['bottom-end', 'top-start', 'top-end'],\n }),\n ],\n};\n\nexport const CustomFloatingButton = () => {\n const { ref: insertRef, ...insertProps } = useFloatingButtonInsert(floatingOptions);\n const { ref: editRef, ...editProps } = useFloatingButtonEdit(floatingOptions);\n const editor = useEditorRef();\n const state = useFloatingButtonSelectors();\n const isOpen = state.isOpen(editor.id);\n const isEditing = state.isEditing();\n const mode = state.mode();\n\n const input = <InsertButtonModal />;\n const editContent = isEditing ? input : <EditModal />;\n\n return (\n <>\n {isOpen &&\n mode === 'insert' &&\n createPortal(\n <div\n data-is-underlay\n ref={insertRef}\n {...insertProps}\n style={{ ...insertProps.style, ...BlockStyles[TextStyles.p] }}\n >\n {input}\n </div>,\n document.body,\n )}\n\n {isOpen &&\n mode === 'edit' &&\n createPortal(\n <div\n data-is-underlay\n ref={editRef}\n {...editProps}\n style={{ ...editProps.style, ...BlockStyles[TextStyles.p] }}\n >\n {editContent}\n </div>,\n document.body,\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAWA,IAAM,IAA6C;CAC/C,WAAW;CACX,UAAU;CACV,YAAY,CACR,EAAO,EAAE,GACT,EAAK;EACD,SAAS;EACT,oBAAoB;GAAC;GAAc;GAAa;EAAS;CAC7D,CAAC,CACL;AACJ,GAEa,UAA6B;CACtC,IAAM,EAAE,KAAK,GAAW,GAAG,MAAgB,EAAwB,CAAe,GAC5E,EAAE,KAAK,GAAS,GAAG,MAAc,EAAsB,CAAe,GACtE,IAAS,EAAa,GACtB,IAAQ,EAA2B,GACnC,IAAS,EAAM,OAAO,EAAO,EAAE,GAC/B,IAAY,EAAM,UAAU,GAC5B,IAAO,EAAM,KAAK,GAElB,IAAQ,kBAAC,GAAD,CAAoB,CAAA,GAC5B,IAAc,IAAY,IAAQ,kBAAC,GAAD,CAAY,CAAA;CAEpD,OACI,kBAAA,GAAA,EAAA,UAAA,CACK,KACG,MAAS,YACT,EACI,kBAAC,OAAD;EACI,oBAAA;EACA,KAAK;EACL,GAAI;EACJ,OAAO;GAAE,GAAG,EAAY;GAAO,GAAG,EAAY,EAAW;EAAG;EAE3D,UAAA;CACA,CAAA,GACL,SAAS,IACb,GAEH,KACG,MAAS,UACT,EACI,kBAAC,OAAD;EACI,oBAAA;EACA,KAAK;EACL,GAAI;EACJ,OAAO;GAAE,GAAG,EAAU;GAAO,GAAG,EAAY,EAAW;EAAG;EAEzD,UAAA;CACA,CAAA,GACL,SAAS,IACb,CACN,EAAA,CAAA;AAEV"}