@frontify/guideline-blocks-settings 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/dist/_virtual/_rolldown/runtime.es.js +17 -0
  2. package/dist/components/Attachments/AttachmentItem.es.js +116 -168
  3. package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
  4. package/dist/components/Attachments/Attachments.es.js +145 -137
  5. package/dist/components/Attachments/Attachments.es.js.map +1 -1
  6. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +25 -28
  7. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -1
  8. package/dist/components/BlockInjectButton/BlockInjectButton.es.js +114 -126
  9. package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
  10. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +53 -74
  11. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
  12. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +26 -31
  13. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
  14. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +22 -25
  15. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
  16. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +17 -28
  17. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
  18. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +25 -35
  19. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
  20. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +41 -34
  21. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
  22. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +41 -36
  23. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
  24. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +24 -33
  25. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
  26. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +20 -11
  27. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
  28. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +18 -10
  29. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
  30. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +10 -12
  31. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -1
  32. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +13 -13
  33. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -1
  34. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +21 -19
  35. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
  36. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +18 -25
  37. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -1
  38. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -17
  39. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
  40. package/dist/components/BlockItemWrapper/constants.es.js +6 -6
  41. package/dist/components/BlockItemWrapper/constants.es.js.map +1 -1
  42. package/dist/components/Link/LinkInput.es.js +63 -63
  43. package/dist/components/Link/LinkInput.es.js.map +1 -1
  44. package/dist/components/Link/LinkSelector/DocumentLink.es.js +46 -63
  45. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
  46. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +50 -64
  47. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
  48. package/dist/components/Link/LinkSelector/LinkSelector2.es.js +77 -0
  49. package/dist/components/Link/LinkSelector/LinkSelector2.es.js.map +1 -0
  50. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +10 -6
  51. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +1 -1
  52. package/dist/components/Link/LinkSelector/PageLink.es.js +53 -67
  53. package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
  54. package/dist/components/Link/LinkSelector/PageLinks.es.js +28 -37
  55. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
  56. package/dist/components/Link/LinkSelector/SectionLink.es.js +31 -24
  57. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -1
  58. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +6 -5
  59. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
  60. package/dist/components/Link/utils/getUrl.es.js +10 -12
  61. package/dist/components/Link/utils/getUrl.es.js.map +1 -1
  62. package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
  63. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
  64. package/dist/components/Link/utils/url.es.js +21 -17
  65. package/dist/components/Link/utils/url.es.js.map +1 -1
  66. package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
  67. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
  68. package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
  69. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  70. package/dist/components/RichTextEditor/constants.es.js +6 -5
  71. package/dist/components/RichTextEditor/constants.es.js.map +1 -1
  72. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
  73. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
  74. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
  116. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
  117. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
  118. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
  119. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
  120. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
  121. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
  122. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
  123. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
  124. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
  125. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
  126. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
  127. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
  128. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
  129. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
  130. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
  131. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
  132. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
  133. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
  134. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
  135. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
  136. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
  137. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
  138. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
  139. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  140. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
  144. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
  145. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
  146. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
  147. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
  148. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
  149. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  150. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
  151. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
  152. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
  153. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
  154. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
  155. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
  156. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
  157. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
  158. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
  159. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
  160. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
  161. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
  162. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
  163. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  164. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
  165. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  166. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  170. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
  171. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  172. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
  173. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  174. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
  175. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  176. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
  177. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
  178. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
  179. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  180. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
  181. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  182. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
  183. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
  184. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
  185. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  186. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
  187. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
  188. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
  189. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  190. package/dist/helpers/addHttps.es.js +12 -12
  191. package/dist/helpers/addHttps.es.js.map +1 -1
  192. package/dist/helpers/convertToRichTextValue.es.js +14 -6
  193. package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
  194. package/dist/helpers/hasRichTextValue.es.js +13 -14
  195. package/dist/helpers/hasRichTextValue.es.js.map +1 -1
  196. package/dist/helpers/isDownloadable.es.js +6 -5
  197. package/dist/helpers/isDownloadable.es.js.map +1 -1
  198. package/dist/hooks/useAttachments.es.js +65 -73
  199. package/dist/hooks/useAttachments.es.js.map +1 -1
  200. package/dist/hooks/useIsInViewport.es.js +20 -21
  201. package/dist/hooks/useIsInViewport.es.js.map +1 -1
  202. package/dist/index.cjs.js +6 -8
  203. package/dist/index.cjs.js.map +1 -1
  204. package/dist/index.d.ts +9 -8
  205. package/dist/index.es.js +221 -213
  206. package/dist/index.es.js.map +1 -1
  207. package/dist/index.umd.js +6 -8
  208. package/dist/index.umd.js.map +1 -1
  209. package/dist/settings/background.es.js +20 -21
  210. package/dist/settings/background.es.js.map +1 -1
  211. package/dist/settings/border.es.js +62 -64
  212. package/dist/settings/border.es.js.map +1 -1
  213. package/dist/settings/borderRadius.es.js +49 -52
  214. package/dist/settings/borderRadius.es.js.map +1 -1
  215. package/dist/settings/borderRadiusExtended.es.js +58 -60
  216. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  217. package/dist/settings/defaultValues.es.js +16 -19
  218. package/dist/settings/defaultValues.es.js.map +1 -1
  219. package/dist/settings/gutter.es.js +48 -52
  220. package/dist/settings/gutter.es.js.map +1 -1
  221. package/dist/settings/margin.es.js +49 -52
  222. package/dist/settings/margin.es.js.map +1 -1
  223. package/dist/settings/marginExtended.es.js +62 -64
  224. package/dist/settings/marginExtended.es.js.map +1 -1
  225. package/dist/settings/padding.es.js +49 -52
  226. package/dist/settings/padding.es.js.map +1 -1
  227. package/dist/settings/paddingExtended.es.js +62 -64
  228. package/dist/settings/paddingExtended.es.js.map +1 -1
  229. package/dist/settings/securityDownloadable.es.js +16 -16
  230. package/dist/settings/securityDownloadable.es.js.map +1 -1
  231. package/dist/settings/securityGlobalControl.es.js +26 -32
  232. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  233. package/dist/settings/types.es.js +41 -47
  234. package/dist/settings/types.es.js.map +1 -1
  235. package/dist/styles.css +2 -1
  236. package/dist/utilities/color/getReadableColor.es.js +15 -13
  237. package/dist/utilities/color/getReadableColor.es.js.map +1 -1
  238. package/dist/utilities/color/isDark.es.js +14 -9
  239. package/dist/utilities/color/isDark.es.js.map +1 -1
  240. package/dist/utilities/color/setAlpha.es.js +7 -6
  241. package/dist/utilities/color/setAlpha.es.js.map +1 -1
  242. package/dist/utilities/color/toColorObject.es.js +14 -8
  243. package/dist/utilities/color/toColorObject.es.js.map +1 -1
  244. package/dist/utilities/color/toHex8String.es.js +7 -6
  245. package/dist/utilities/color/toHex8String.es.js.map +1 -1
  246. package/dist/utilities/color/toHexString.es.js +7 -6
  247. package/dist/utilities/color/toHexString.es.js.map +1 -1
  248. package/dist/utilities/color/toRgbaString.es.js +7 -6
  249. package/dist/utilities/color/toRgbaString.es.js.map +1 -1
  250. package/dist/utilities/color/toShortRgba.es.js +18 -11
  251. package/dist/utilities/color/toShortRgba.es.js.map +1 -1
  252. package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
  253. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
  254. package/dist/utilities/react/getBorderStyles.es.js +12 -11
  255. package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
  256. package/dist/utilities/react/getRadiusStyles.es.js +7 -8
  257. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
  258. package/dist/utilities/react/joinClassNames.es.js +6 -5
  259. package/dist/utilities/react/joinClassNames.es.js.map +1 -1
  260. package/package.json +19 -20
  261. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  262. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"styles.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type CSSProperties } from 'react';\n\nconst DefaultButtonStyles: CSSProperties = {\n marginTop: '10px',\n marginBottom: '10px',\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n overflowWrap: 'normal',\n};\n\nexport const BlockButtonStyles: Record<string, CSSProperties & { hover?: CSSProperties }> = {\n buttonPrimary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-primary-font-family)',\n fontSize: 'var(--f-theme-settings-button-primary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-primary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-primary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-primary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-primary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-primary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-primary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-primary-font-style)',\n textTransform: 'var(--f-theme-settings-button-primary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-primary-background-color)',\n borderColor: 'var(--f-theme-settings-button-primary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-primary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-primary-border-width)',\n color: 'var(--f-theme-settings-button-primary-color)',\n\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-primary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-primary-border-color-hover)',\n color: 'var(--f-theme-settings-button-primary-color-hover)',\n },\n },\n\n buttonSecondary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-secondary-font-family)',\n fontSize: 'var(--f-theme-settings-button-secondary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-secondary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-secondary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-secondary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-secondary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-secondary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-secondary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-secondary-font-style)',\n textTransform: 'var(--f-theme-settings-button-secondary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-secondary-background-color)',\n borderColor: 'var(--f-theme-settings-button-secondary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-secondary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-secondary-border-width)',\n color: 'var(--f-theme-settings-button-secondary-color)',\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-secondary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-secondary-border-color-hover)',\n color: 'var(--f-theme-settings-button-secondary-color-hover)',\n },\n },\n\n buttonTertiary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-tertiary-font-family)',\n fontSize: 'var(--f-theme-settings-button-tertiary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-tertiary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-tertiary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-tertiary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-tertiary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-tertiary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-tertiary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-tertiary-font-style)',\n textTransform: 'var(--f-theme-settings-button-tertiary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-tertiary-background-color)',\n borderColor: 'var(--f-theme-settings-button-tertiary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-tertiary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-tertiary-border-width)',\n color: 'var(--f-theme-settings-button-tertiary-color)',\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-tertiary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-tertiary-border-color-hover)',\n color: 'var(--f-theme-settings-button-tertiary-color-hover)',\n },\n },\n};\n"],"names":["DefaultButtonStyles","BlockButtonStyles"],"mappings":"AAIA,MAAMA,IAAqC;AAAA,EACvC,WAAW;AAAA,EACX,cAAc;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV,cAAc;AAAA,EACd,UAAU;AAAA,EACV,eAAe;AAAA,EACf,WAAW;AAAA,EACX,cAAc;AAClB,GAEaC,IAA+E;AAAA,EACxF,eAAe;AAAA,IACX,GAAGD;AAAA,IACH,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,WAAW;AAAA,IACX,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,OAAO;AAAA,IAEP,OAAO;AAAA,MACH,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EACX;AAAA,EAGJ,iBAAiB;AAAA,IACb,GAAGA;AAAA,IACH,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,WAAW;AAAA,IACX,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,OAAO;AAAA,IACP,OAAO;AAAA,MACH,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EACX;AAAA,EAGJ,gBAAgB;AAAA,IACZ,GAAGA;AAAA,IACH,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,WAAW;AAAA,IACX,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,OAAO;AAAA,IACP,OAAO;AAAA,MACH,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EACX;AAER;"}
1
+ {"version":3,"file":"styles.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type CSSProperties } from 'react';\n\nconst DefaultButtonStyles: CSSProperties = {\n marginTop: '10px',\n marginBottom: '10px',\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n overflowWrap: 'normal',\n};\n\nexport const BlockButtonStyles: Record<string, CSSProperties & { hover?: CSSProperties }> = {\n buttonPrimary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-primary-font-family)',\n fontSize: 'var(--f-theme-settings-button-primary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-primary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-primary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-primary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-primary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-primary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-primary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-primary-font-style)',\n textTransform: 'var(--f-theme-settings-button-primary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-primary-background-color)',\n borderColor: 'var(--f-theme-settings-button-primary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-primary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-primary-border-width)',\n color: 'var(--f-theme-settings-button-primary-color)',\n\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-primary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-primary-border-color-hover)',\n color: 'var(--f-theme-settings-button-primary-color-hover)',\n },\n },\n\n buttonSecondary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-secondary-font-family)',\n fontSize: 'var(--f-theme-settings-button-secondary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-secondary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-secondary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-secondary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-secondary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-secondary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-secondary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-secondary-font-style)',\n textTransform: 'var(--f-theme-settings-button-secondary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-secondary-background-color)',\n borderColor: 'var(--f-theme-settings-button-secondary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-secondary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-secondary-border-width)',\n color: 'var(--f-theme-settings-button-secondary-color)',\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-secondary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-secondary-border-color-hover)',\n color: 'var(--f-theme-settings-button-secondary-color-hover)',\n },\n },\n\n buttonTertiary: {\n ...DefaultButtonStyles,\n fontFamily: 'var(--f-theme-settings-button-tertiary-font-family)',\n fontSize: 'var(--f-theme-settings-button-tertiary-font-size)',\n fontWeight: 'var(--f-theme-settings-button-tertiary-font-weight)',\n lineHeight: 'var(--f-theme-settings-button-tertiary-line-height)',\n paddingTop: 'var(--f-theme-settings-button-tertiary-padding-top)',\n paddingRight: 'var(--f-theme-settings-button-tertiary-padding-right)',\n paddingBottom: 'var(--f-theme-settings-button-tertiary-padding-bottom)',\n paddingLeft: 'var(--f-theme-settings-button-tertiary-padding-left)',\n fontStyle: 'var(--f-theme-settings-button-tertiary-font-style)',\n textTransform: 'var(--f-theme-settings-button-tertiary-text-transform)' as CSSProperties['textTransform'],\n backgroundColor: 'var(--f-theme-settings-button-tertiary-background-color)',\n borderColor: 'var(--f-theme-settings-button-tertiary-border-color)',\n borderRadius: 'var(--f-theme-settings-button-tertiary-border-radius)',\n borderWidth: 'var(--f-theme-settings-button-tertiary-border-width)',\n color: 'var(--f-theme-settings-button-tertiary-color)',\n hover: {\n backgroundColor: 'var(--f-theme-settings-button-tertiary-background-color-hover)',\n borderColor: 'var(--f-theme-settings-button-tertiary-border-color-hover)',\n color: 'var(--f-theme-settings-button-tertiary-color-hover)',\n },\n },\n};\n"],"mappings":";AAIA,IAAM,IAAqC;CACvC,WAAW;CACX,cAAc;CACd,SAAS;CACT,UAAU;CACV,cAAc;CACd,UAAU;CACV,eAAe;CACf,WAAW;CACX,cAAc;AAClB,GAEa,IAA+E;CACxF,eAAe;EACX,GAAG;EACH,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,eAAe;EACf,aAAa;EACb,WAAW;EACX,eAAe;EACf,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,aAAa;EACb,OAAO;EAEP,OAAO;GACH,iBAAiB;GACjB,aAAa;GACb,OAAO;EACX;CACJ;CAEA,iBAAiB;EACb,GAAG;EACH,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,eAAe;EACf,aAAa;EACb,WAAW;EACX,eAAe;EACf,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,aAAa;EACb,OAAO;EACP,OAAO;GACH,iBAAiB;GACjB,aAAa;GACb,OAAO;EACX;CACJ;CAEA,gBAAgB;EACZ,GAAG;EACH,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,eAAe;EACf,aAAa;EACb,WAAW;EACX,eAAe;EACf,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,aAAa;EACb,OAAO;EACP,OAAO;GACH,iBAAiB;GACjB,aAAa;GACb,OAAO;EACX;CACJ;AACJ"}
@@ -1,18 +1,15 @@
1
- import { floatingButtonSelectors as r } from "../components/FloatingButton/floatingButtonStore.es.js";
2
- import { triggerFloatingButtonEdit as i } from "./triggerFloatingButtonEdit.es.js";
1
+ import { floatingButtonSelectors as e } from "../components/FloatingButton/floatingButtonStore.es.js";
2
+ import { triggerFloatingButtonEdit as t } from "./triggerFloatingButtonEdit.es.js";
3
3
  import { triggerFloatingButtonInsert as n } from "./triggerFloatingButtonInsert.es.js";
4
- const f = (t, {
5
- focused: o
6
- } = {}) => {
7
- if (r.mode() === "edit") {
8
- i(t);
9
- return;
10
- }
11
- n(t, {
12
- focused: o
13
- });
4
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts
5
+ var r = (r, { focused: i } = {}) => {
6
+ if (e.mode() === "edit") {
7
+ t(r);
8
+ return;
9
+ }
10
+ n(r, { focused: i });
14
11
  };
15
- export {
16
- f as triggerFloatingButton
17
- };
18
- //# sourceMappingURL=triggerFloatingButton.es.js.map
12
+ //#endregion
13
+ export { r as triggerFloatingButton };
14
+
15
+ //# sourceMappingURL=triggerFloatingButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerFloatingButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor, type Value } from '@frontify/fondue/rte';\n\nimport { floatingButtonSelectors } from '../components';\n\nimport { triggerFloatingButtonEdit, triggerFloatingButtonInsert } from '.';\n\nexport const triggerFloatingButton = <V extends Value>(\n editor: PlateEditor<V>,\n {\n focused,\n }: {\n focused?: boolean;\n } = {},\n) => {\n if (floatingButtonSelectors.mode() === 'edit') {\n triggerFloatingButtonEdit(editor);\n return;\n }\n\n triggerFloatingButtonInsert(editor, {\n focused,\n });\n};\n"],"names":["triggerFloatingButton","editor","focused","floatingButtonSelectors","triggerFloatingButtonEdit","triggerFloatingButtonInsert"],"mappings":";;;AAQO,MAAMA,IAAwB,CACjCC,GACA;AAAA,EACI,SAAAC;AACJ,IAEI,OACH;AACD,MAAIC,EAAwB,KAAA,MAAW,QAAQ;AAC3C,IAAAC,EAA0BH,CAAM;AAChC;AAAA,EACJ;AAEA,EAAAI,EAA4BJ,GAAQ;AAAA,IAChC,SAAAC;AAAA,EAAA,CACH;AACL;"}
1
+ {"version":3,"file":"triggerFloatingButton.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor, type Value } from '@frontify/fondue/rte';\n\nimport { floatingButtonSelectors } from '../components';\n\nimport { triggerFloatingButtonEdit, triggerFloatingButtonInsert } from '.';\n\nexport const triggerFloatingButton = <V extends Value>(\n editor: PlateEditor<V>,\n {\n focused,\n }: {\n focused?: boolean;\n } = {},\n) => {\n if (floatingButtonSelectors.mode() === 'edit') {\n triggerFloatingButtonEdit(editor);\n return;\n }\n\n triggerFloatingButtonInsert(editor, {\n focused,\n });\n};\n"],"mappings":";;;;AAQA,IAAa,KACT,GACA,EACI,eAGA,CAAC,MACJ;CACD,IAAI,EAAwB,KAAK,MAAM,QAAQ;EAC3C,EAA0B,CAAM;EAChC;CACJ;CAEA,EAA4B,GAAQ,EAChC,WACJ,CAAC;AACL"}
@@ -1,17 +1,14 @@
1
- import { findNode as g, getPluginType as l, getEditorString as u } from "@frontify/fondue/rte";
2
- import { floatingButtonActions as t } from "../components/FloatingButton/floatingButtonStore.es.js";
3
- import { ELEMENT_BUTTON as f } from "../createButtonPlugin.es.js";
4
- const E = (i) => {
5
- const o = g(i, {
6
- match: { type: l(i, f) }
7
- });
8
- if (!o)
9
- return;
10
- const [r, e] = o;
11
- let n = u(i, e);
12
- t.url(r.url), t.newTab(r.target === void 0), n === r.url && (n = ""), t.text(n), t.isEditing(!0);
1
+ import { floatingButtonActions as e } from "../components/FloatingButton/floatingButtonStore.es.js";
2
+ import { ELEMENT_BUTTON as t } from "../createButtonPlugin.es.js";
3
+ import { findNode as n, getEditorString as r, getPluginType as i } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts
5
+ var a = (a) => {
6
+ let o = n(a, { match: { type: i(a, t) } });
7
+ if (!o) return;
8
+ let [s, c] = o, l = r(a, c);
9
+ e.url(s.url), e.newTab(s.target === void 0), l === s.url && (l = ""), e.text(l), e.isEditing(!0);
13
10
  };
14
- export {
15
- E as triggerFloatingButtonEdit
16
- };
17
- //# sourceMappingURL=triggerFloatingButtonEdit.es.js.map
11
+ //#endregion
12
+ export { a as triggerFloatingButtonEdit };
13
+
14
+ //# sourceMappingURL=triggerFloatingButtonEdit.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerFloatingButtonEdit.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor, type Value, findNode, getEditorString, getPluginType } from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON, type TButtonElement } from '..';\nimport { floatingButtonActions } from '../components/FloatingButton/floatingButtonStore';\n\nexport const triggerFloatingButtonEdit = <V extends Value>(editor: PlateEditor<V>) => {\n const entry = findNode<TButtonElement>(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n if (!entry) {\n return;\n }\n\n const [link, path] = entry;\n\n let text = getEditorString(editor, path);\n\n floatingButtonActions.url(link.url);\n\n floatingButtonActions.newTab(link.target === undefined);\n\n if (text === link.url) {\n text = '';\n }\n\n floatingButtonActions.text(text);\n\n floatingButtonActions.isEditing(true);\n};\n"],"names":["triggerFloatingButtonEdit","editor","entry","findNode","getPluginType","ELEMENT_BUTTON","link","path","text","getEditorString","floatingButtonActions"],"mappings":";;;AAOO,MAAMA,IAA4B,CAAkBC,MAA2B;AAClF,QAAMC,IAAQC,EAAyBF,GAAQ;AAAA,IAC3C,OAAO,EAAE,MAAMG,EAAcH,GAAQI,CAAc,EAAA;AAAA,EAAE,CACxD;AACD,MAAI,CAACH;AACD;AAGJ,QAAM,CAACI,GAAMC,CAAI,IAAIL;AAErB,MAAIM,IAAOC,EAAgBR,GAAQM,CAAI;AAEvC,EAAAG,EAAsB,IAAIJ,EAAK,GAAG,GAElCI,EAAsB,OAAOJ,EAAK,WAAW,MAAS,GAElDE,MAASF,EAAK,QACdE,IAAO,KAGXE,EAAsB,KAAKF,CAAI,GAE/BE,EAAsB,UAAU,EAAI;AACxC;"}
1
+ {"version":3,"file":"triggerFloatingButtonEdit.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor, type Value, findNode, getEditorString, getPluginType } from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON, type TButtonElement } from '..';\nimport { floatingButtonActions } from '../components/FloatingButton/floatingButtonStore';\n\nexport const triggerFloatingButtonEdit = <V extends Value>(editor: PlateEditor<V>) => {\n const entry = findNode<TButtonElement>(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n if (!entry) {\n return;\n }\n\n const [link, path] = entry;\n\n let text = getEditorString(editor, path);\n\n floatingButtonActions.url(link.url);\n\n floatingButtonActions.newTab(link.target === undefined);\n\n if (text === link.url) {\n text = '';\n }\n\n floatingButtonActions.text(text);\n\n floatingButtonActions.isEditing(true);\n};\n"],"mappings":";;;;AAOA,IAAa,KAA8C,MAA2B;CAClF,IAAM,IAAQ,EAAyB,GAAQ,EAC3C,OAAO,EAAE,MAAM,EAAc,GAAQ,CAAc,EAAE,EACzD,CAAC;CACD,IAAI,CAAC,GACD;CAGJ,IAAM,CAAC,GAAM,KAAQ,GAEjB,IAAO,EAAgB,GAAQ,CAAI;CAYvC,AAVA,EAAsB,IAAI,EAAK,GAAG,GAElC,EAAsB,OAAO,EAAK,WAAW,KAAA,CAAS,GAElD,MAAS,EAAK,QACd,IAAO,KAGX,EAAsB,KAAK,CAAI,GAE/B,EAAsB,UAAU,EAAI;AACxC"}
@@ -1,14 +1,11 @@
1
- import { isRangeAcrossBlocks as e, someNode as r, getPluginType as s, getEditorString as i } from "@frontify/fondue/rte";
2
- import { floatingButtonSelectors as g, floatingButtonActions as n } from "../components/FloatingButton/floatingButtonStore.es.js";
3
- import { ELEMENT_BUTTON as u } from "../createButtonPlugin.es.js";
4
- const l = (t, {
5
- focused: o
6
- } = {}) => {
7
- g.mode() || !o || e(t, { at: t.selection }) || r(t, {
8
- match: { type: s(t, u) }
9
- }) || (n.text(i(t, t.selection)), n.show("insert", t.id));
1
+ import { floatingButtonActions as e, floatingButtonSelectors as t } from "../components/FloatingButton/floatingButtonStore.es.js";
2
+ import "../createButtonPlugin.es.js";
3
+ import { getEditorString as n, getPluginType as r, isRangeAcrossBlocks as i, someNode as a } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts
5
+ var o = (o, { focused: s } = {}) => {
6
+ t.mode() || s && (i(o, { at: o.selection }) || a(o, { match: { type: r(o, "button") } }) || (e.text(n(o, o.selection)), e.show("insert", o.id)));
10
7
  };
11
- export {
12
- l as triggerFloatingButtonInsert
13
- };
14
- //# sourceMappingURL=triggerFloatingButtonInsert.es.js.map
8
+ //#endregion
9
+ export { o as triggerFloatingButtonInsert };
10
+
11
+ //# sourceMappingURL=triggerFloatingButtonInsert.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerFloatingButtonInsert.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateEditor,\n type Value,\n getEditorString,\n getPluginType,\n isRangeAcrossBlocks,\n someNode,\n} from '@frontify/fondue/rte';\n\nimport { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore';\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\n/**\n * Trigger floating button.\n *\n * Do not trigger when:\n * - selection is across blocks\n * - selection has more than one leaf node\n * - lowest selection is not text\n * - selection has a button node\n */\nexport const triggerFloatingButtonInsert = <V extends Value>(\n editor: PlateEditor<V>,\n {\n focused,\n }: {\n focused?: boolean;\n } = {},\n) => {\n if (floatingButtonSelectors.mode()) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n if (isRangeAcrossBlocks(editor, { at: editor.selection })) {\n return;\n }\n\n const hasButton = someNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n if (hasButton) {\n return;\n }\n floatingButtonActions.text(getEditorString(editor, editor.selection));\n floatingButtonActions.show('insert', editor.id);\n};\n"],"names":["triggerFloatingButtonInsert","editor","focused","floatingButtonSelectors","isRangeAcrossBlocks","someNode","getPluginType","ELEMENT_BUTTON","floatingButtonActions","getEditorString"],"mappings":";;;AAuBO,MAAMA,IAA8B,CACvCC,GACA;AAAA,EACI,SAAAC;AACJ,IAEI,OACH;AAgBD,EAfIC,EAAwB,UAIxB,CAACD,KAIDE,EAAoBH,GAAQ,EAAE,IAAIA,EAAO,UAAA,CAAW,KAItCI,EAASJ,GAAQ;AAAA,IAC/B,OAAO,EAAE,MAAMK,EAAcL,GAAQM,CAAc,EAAA;AAAA,EAAE,CACxD,MAIDC,EAAsB,KAAKC,EAAgBR,GAAQA,EAAO,SAAS,CAAC,GACpEO,EAAsB,KAAK,UAAUP,EAAO,EAAE;AAClD;"}
1
+ {"version":3,"file":"triggerFloatingButtonInsert.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateEditor,\n type Value,\n getEditorString,\n getPluginType,\n isRangeAcrossBlocks,\n someNode,\n} from '@frontify/fondue/rte';\n\nimport { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore';\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\n\n/**\n * Trigger floating button.\n *\n * Do not trigger when:\n * - selection is across blocks\n * - selection has more than one leaf node\n * - lowest selection is not text\n * - selection has a button node\n */\nexport const triggerFloatingButtonInsert = <V extends Value>(\n editor: PlateEditor<V>,\n {\n focused,\n }: {\n focused?: boolean;\n } = {},\n) => {\n if (floatingButtonSelectors.mode()) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n if (isRangeAcrossBlocks(editor, { at: editor.selection })) {\n return;\n }\n\n const hasButton = someNode(editor, {\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n if (hasButton) {\n return;\n }\n floatingButtonActions.text(getEditorString(editor, editor.selection));\n floatingButtonActions.show('insert', editor.id);\n};\n"],"mappings":";;;;AAuBA,IAAa,KACT,GACA,EACI,eAGA,CAAC,MACJ;CACG,EAAwB,KAAK,KAI5B,MAID,EAAoB,GAAQ,EAAE,IAAI,EAAO,UAAU,CAAC,KAItC,EAAS,GAAQ,EAC/B,OAAO,EAAE,MAAM,EAAc,GAAA,QAAsB,EAAE,EACzD,CACI,MAGJ,EAAsB,KAAK,EAAgB,GAAQ,EAAO,SAAS,CAAC,GACpE,EAAsB,KAAK,UAAU,EAAO,EAAE;AAClD"}
@@ -1,52 +1,46 @@
1
- import { isCollapsed as l, getAboveNode as y, getPluginType as P, isStartPoint as g, getPreviousNodeEndPoint as x, isEndPoint as i, getNextNodeStartPoint as u, select as m, Path as E, insertNodes as h, withRemoveEmptyNodes as r, mockPlugin as w } from "@frontify/fondue/rte";
2
- import { ELEMENT_BUTTON as p } from "./createButtonPlugin.es.js";
3
- const z = (t, { type: N }) => {
4
- const { apply: f, normalizeNode: a } = t;
5
- return t.apply = (e) => {
6
- if (e.type !== "set_selection") {
7
- f(e);
8
- return;
9
- }
10
- const n = e.newProperties;
11
- if (!n?.focus || !n.anchor || !l(n)) {
12
- f(e);
13
- return;
14
- }
15
- const o = y(t, {
16
- at: n,
17
- match: { type: P(t, p) }
18
- });
19
- if (o) {
20
- const [, c] = o;
21
- let s;
22
- g(t, n.focus, c) && (s = x(t, c)), i(t, n.focus, c) && (s = u(t, c)), s && (e.newProperties = {
23
- anchor: s,
24
- focus: s
25
- });
26
- }
27
- f(e);
28
- }, t.normalizeNode = ([e, n]) => {
29
- if (e.type === P(t, p)) {
30
- const o = t.selection;
31
- if (o && l(o) && i(t, o.focus, n)) {
32
- const c = u(t, n);
33
- if (c)
34
- m(t, c);
35
- else {
36
- const s = E.next(n);
37
- h(t, { text: "" }, { at: s }), m(t, s);
38
- }
39
- }
40
- }
41
- a([e, n]);
42
- }, r(
43
- t,
44
- w({
45
- options: { types: N }
46
- })
47
- );
1
+ import { ELEMENT_BUTTON as e } from "./createButtonPlugin.es.js";
2
+ import { Path as t, getAboveNode as n, getNextNodeStartPoint as r, getPluginType as i, getPreviousNodeEndPoint as a, insertNodes as o, isCollapsed as s, isEndPoint as c, isStartPoint as l, mockPlugin as u, select as d, withRemoveEmptyNodes as f } from "@frontify/fondue/rte";
3
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts
4
+ var p = (p, { type: m }) => {
5
+ let { apply: h, normalizeNode: g } = p;
6
+ return p.apply = (t) => {
7
+ if (t.type !== "set_selection") {
8
+ h(t);
9
+ return;
10
+ }
11
+ let o = t.newProperties;
12
+ if (!o?.focus || !o.anchor || !s(o)) {
13
+ h(t);
14
+ return;
15
+ }
16
+ let u = n(p, {
17
+ at: o,
18
+ match: { type: i(p, e) }
19
+ });
20
+ if (u) {
21
+ let [, e] = u, n;
22
+ l(p, o.focus, e) && (n = a(p, e)), c(p, o.focus, e) && (n = r(p, e)), n && (t.newProperties = {
23
+ anchor: n,
24
+ focus: n
25
+ });
26
+ }
27
+ h(t);
28
+ }, p.normalizeNode = ([e, n]) => {
29
+ if (e.type === i(p, "button")) {
30
+ let e = p.selection;
31
+ if (e && s(e) && c(p, e.focus, n)) {
32
+ let e = r(p, n);
33
+ if (e) d(p, e);
34
+ else {
35
+ let e = t.next(n);
36
+ o(p, { text: "" }, { at: e }), d(p, e);
37
+ }
38
+ }
39
+ }
40
+ g([e, n]);
41
+ }, f(p, u({ options: { types: m } }));
48
42
  };
49
- export {
50
- z as withButton
51
- };
52
- //# sourceMappingURL=withButton.es.js.map
43
+ //#endregion
44
+ export { p as withButton };
45
+
46
+ //# sourceMappingURL=withButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withButton.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type EText,\n Path,\n type PlateEditor,\n type Point,\n type Range,\n type Value,\n type WithOverride,\n getAboveNode,\n getNextNodeStartPoint,\n getPluginType,\n getPreviousNodeEndPoint,\n insertNodes,\n isCollapsed,\n isEndPoint,\n isStartPoint,\n mockPlugin,\n select,\n withRemoveEmptyNodes,\n} from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from './createButtonPlugin';\n\n/**\n * Insert space after a url to wrap a button.\n * Lookup from the block start to the cursor to check if there is an url.\n * If not found, lookup before the cursor for a space character to check the url.\n *\n * On insert data:\n * Paste a string inside a button element will edit its children text but not its url.\n *\n */\n\nexport const withButton: WithOverride = (editor, { type }) => {\n const { apply, normalizeNode } = editor;\n\n editor.apply = (operation) => {\n if (operation.type !== 'set_selection') {\n apply(operation);\n return;\n }\n\n const range = operation.newProperties;\n if (!range?.focus || !range.anchor || !isCollapsed(range as Range)) {\n apply(operation);\n return;\n }\n\n const entry = getAboveNode(editor, {\n at: range as Range,\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n\n if (entry) {\n const [, path] = entry;\n\n let newPoint: Point | undefined;\n\n if (isStartPoint(editor, range.focus, path)) {\n newPoint = getPreviousNodeEndPoint(editor, path);\n }\n\n if (isEndPoint(editor, range.focus, path)) {\n newPoint = getNextNodeStartPoint(editor, path);\n }\n\n if (newPoint) {\n operation.newProperties = {\n anchor: newPoint,\n focus: newPoint,\n };\n }\n }\n\n apply(operation);\n };\n\n editor.normalizeNode = ([node, path]) => {\n if (node.type === getPluginType(editor, ELEMENT_BUTTON)) {\n const range = editor.selection as Range | null;\n\n if (range && isCollapsed(range) && isEndPoint(editor, range.focus, path)) {\n const nextPoint = getNextNodeStartPoint(editor, path);\n\n // select next text node if any\n if (nextPoint) {\n select(editor, nextPoint);\n } else {\n // insert text node then select\n const nextPath = Path.next(path);\n insertNodes(editor, { text: '' } as EText<Value>, { at: nextPath });\n select(editor, nextPath);\n }\n }\n }\n\n normalizeNode([node, path]);\n };\n\n return withRemoveEmptyNodes<Value, PlateEditor<Value>>(\n editor,\n mockPlugin<Record<string, any>, Value, PlateEditor<Value>>({\n options: { types: type },\n }),\n );\n};\n"],"names":["withButton","editor","type","apply","normalizeNode","operation","range","isCollapsed","entry","getAboveNode","getPluginType","ELEMENT_BUTTON","path","newPoint","isStartPoint","getPreviousNodeEndPoint","isEndPoint","getNextNodeStartPoint","node","nextPoint","select","nextPath","Path","insertNodes","withRemoveEmptyNodes","mockPlugin"],"mappings":";;AAmCO,MAAMA,IAA2B,CAACC,GAAQ,EAAE,MAAAC,QAAW;AAC1D,QAAM,EAAE,OAAAC,GAAO,eAAAC,EAAA,IAAkBH;AAEjC,SAAAA,EAAO,QAAQ,CAACI,MAAc;AAC1B,QAAIA,EAAU,SAAS,iBAAiB;AACpC,MAAAF,EAAME,CAAS;AACf;AAAA,IACJ;AAEA,UAAMC,IAAQD,EAAU;AACxB,QAAI,CAACC,GAAO,SAAS,CAACA,EAAM,UAAU,CAACC,EAAYD,CAAc,GAAG;AAChE,MAAAH,EAAME,CAAS;AACf;AAAA,IACJ;AAEA,UAAMG,IAAQC,EAAaR,GAAQ;AAAA,MAC/B,IAAIK;AAAA,MACJ,OAAO,EAAE,MAAMI,EAAcT,GAAQU,CAAc,EAAA;AAAA,IAAE,CACxD;AAED,QAAIH,GAAO;AACP,YAAM,CAAA,EAAGI,CAAI,IAAIJ;AAEjB,UAAIK;AAEJ,MAAIC,EAAab,GAAQK,EAAM,OAAOM,CAAI,MACtCC,IAAWE,EAAwBd,GAAQW,CAAI,IAG/CI,EAAWf,GAAQK,EAAM,OAAOM,CAAI,MACpCC,IAAWI,EAAsBhB,GAAQW,CAAI,IAG7CC,MACAR,EAAU,gBAAgB;AAAA,QACtB,QAAQQ;AAAA,QACR,OAAOA;AAAA,MAAA;AAAA,IAGnB;AAEA,IAAAV,EAAME,CAAS;AAAA,EACnB,GAEAJ,EAAO,gBAAgB,CAAC,CAACiB,GAAMN,CAAI,MAAM;AACrC,QAAIM,EAAK,SAASR,EAAcT,GAAQU,CAAc,GAAG;AACrD,YAAML,IAAQL,EAAO;AAErB,UAAIK,KAASC,EAAYD,CAAK,KAAKU,EAAWf,GAAQK,EAAM,OAAOM,CAAI,GAAG;AACtE,cAAMO,IAAYF,EAAsBhB,GAAQW,CAAI;AAGpD,YAAIO;AACA,UAAAC,EAAOnB,GAAQkB,CAAS;AAAA,aACrB;AAEH,gBAAME,IAAWC,EAAK,KAAKV,CAAI;AAC/B,UAAAW,EAAYtB,GAAQ,EAAE,MAAM,GAAA,GAAsB,EAAE,IAAIoB,GAAU,GAClED,EAAOnB,GAAQoB,CAAQ;AAAA,QAC3B;AAAA,MACJ;AAAA,IACJ;AAEA,IAAAjB,EAAc,CAACc,GAAMN,CAAI,CAAC;AAAA,EAC9B,GAEOY;AAAA,IACHvB;AAAA,IACAwB,EAA2D;AAAA,MACvD,SAAS,EAAE,OAAOvB,EAAA;AAAA,IAAK,CAC1B;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"withButton.es.js","names":[],"sources":["../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type EText,\n Path,\n type PlateEditor,\n type Point,\n type Range,\n type Value,\n type WithOverride,\n getAboveNode,\n getNextNodeStartPoint,\n getPluginType,\n getPreviousNodeEndPoint,\n insertNodes,\n isCollapsed,\n isEndPoint,\n isStartPoint,\n mockPlugin,\n select,\n withRemoveEmptyNodes,\n} from '@frontify/fondue/rte';\n\nimport { ELEMENT_BUTTON } from './createButtonPlugin';\n\n/**\n * Insert space after a url to wrap a button.\n * Lookup from the block start to the cursor to check if there is an url.\n * If not found, lookup before the cursor for a space character to check the url.\n *\n * On insert data:\n * Paste a string inside a button element will edit its children text but not its url.\n *\n */\n\nexport const withButton: WithOverride = (editor, { type }) => {\n const { apply, normalizeNode } = editor;\n\n editor.apply = (operation) => {\n if (operation.type !== 'set_selection') {\n apply(operation);\n return;\n }\n\n const range = operation.newProperties;\n if (!range?.focus || !range.anchor || !isCollapsed(range as Range)) {\n apply(operation);\n return;\n }\n\n const entry = getAboveNode(editor, {\n at: range as Range,\n match: { type: getPluginType(editor, ELEMENT_BUTTON) },\n });\n\n if (entry) {\n const [, path] = entry;\n\n let newPoint: Point | undefined;\n\n if (isStartPoint(editor, range.focus, path)) {\n newPoint = getPreviousNodeEndPoint(editor, path);\n }\n\n if (isEndPoint(editor, range.focus, path)) {\n newPoint = getNextNodeStartPoint(editor, path);\n }\n\n if (newPoint) {\n operation.newProperties = {\n anchor: newPoint,\n focus: newPoint,\n };\n }\n }\n\n apply(operation);\n };\n\n editor.normalizeNode = ([node, path]) => {\n if (node.type === getPluginType(editor, ELEMENT_BUTTON)) {\n const range = editor.selection as Range | null;\n\n if (range && isCollapsed(range) && isEndPoint(editor, range.focus, path)) {\n const nextPoint = getNextNodeStartPoint(editor, path);\n\n // select next text node if any\n if (nextPoint) {\n select(editor, nextPoint);\n } else {\n // insert text node then select\n const nextPath = Path.next(path);\n insertNodes(editor, { text: '' } as EText<Value>, { at: nextPath });\n select(editor, nextPath);\n }\n }\n }\n\n normalizeNode([node, path]);\n };\n\n return withRemoveEmptyNodes<Value, PlateEditor<Value>>(\n editor,\n mockPlugin<Record<string, any>, Value, PlateEditor<Value>>({\n options: { types: type },\n }),\n );\n};\n"],"mappings":";;;AAmCA,IAAa,KAA4B,GAAQ,EAAE,cAAW;CAC1D,IAAM,EAAE,UAAO,qBAAkB;CAiEjC,OA/DA,EAAO,SAAS,MAAc;EAC1B,IAAI,EAAU,SAAS,iBAAiB;GACpC,EAAM,CAAS;GACf;EACJ;EAEA,IAAM,IAAQ,EAAU;EACxB,IAAI,CAAC,GAAO,SAAS,CAAC,EAAM,UAAU,CAAC,EAAY,CAAc,GAAG;GAChE,EAAM,CAAS;GACf;EACJ;EAEA,IAAM,IAAQ,EAAa,GAAQ;GAC/B,IAAI;GACJ,OAAO,EAAE,MAAM,EAAc,GAAQ,CAAc,EAAE;EACzD,CAAC;EAED,IAAI,GAAO;GACP,IAAM,GAAG,KAAQ,GAEb;GAUJ,AARI,EAAa,GAAQ,EAAM,OAAO,CAAI,MACtC,IAAW,EAAwB,GAAQ,CAAI,IAG/C,EAAW,GAAQ,EAAM,OAAO,CAAI,MACpC,IAAW,EAAsB,GAAQ,CAAI,IAG7C,MACA,EAAU,gBAAgB;IACtB,QAAQ;IACR,OAAO;GACX;EAER;EAEA,EAAM,CAAS;CACnB,GAEA,EAAO,iBAAiB,CAAC,GAAM,OAAU;EACrC,IAAI,EAAK,SAAS,EAAc,GAAA,QAAsB,GAAG;GACrD,IAAM,IAAQ,EAAO;GAErB,IAAI,KAAS,EAAY,CAAK,KAAK,EAAW,GAAQ,EAAM,OAAO,CAAI,GAAG;IACtE,IAAM,IAAY,EAAsB,GAAQ,CAAI;IAGpD,IAAI,GACA,EAAO,GAAQ,CAAS;SACrB;KAEH,IAAM,IAAW,EAAK,KAAK,CAAI;KAE/B,AADA,EAAY,GAAQ,EAAE,MAAM,GAAG,GAAmB,EAAE,IAAI,EAAS,CAAC,GAClE,EAAO,GAAQ,CAAQ;IAC3B;GACJ;EACJ;EAEA,EAAc,CAAC,GAAM,CAAI,CAAC;CAC9B,GAEO,EACH,GACA,EAA2D,EACvD,SAAS,EAAE,OAAO,EAAK,EAC3B,CAAC,CACL;AACJ"}
@@ -1,23 +1,21 @@
1
- import { Plugin as t, ColumnBreakButton as n, createColumnBreakPlugin as o } from "@frontify/fondue/rte";
2
- import { getResponsiveColumnClasses as u } from "./helpers.es.js";
3
- const m = "breakAfterColumn", l = "normal";
4
- class i extends t {
5
- columns;
6
- gap;
7
- customClass;
8
- constructor(s) {
9
- super("break-after-plugin", {
10
- button: n,
11
- ...s
12
- }), this.columns = s?.columns ?? 1, this.gap = s?.gap ?? l, this.customClass = u(this.columns);
13
- }
14
- plugins() {
15
- return [o(this.columns, this.gap, this.customClass)];
16
- }
17
- }
18
- export {
19
- i as BreakAfterPlugin,
20
- l as GAP_DEFAULT,
21
- m as KEY_ELEMENT_BREAK_AFTER_COLUMN
1
+ import { getResponsiveColumnClasses as e } from "./helpers.es.js";
2
+ import { ColumnBreakButton as t, Plugin as n, createColumnBreakPlugin as r } from "@frontify/fondue/rte";
3
+ //#region src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts
4
+ var i = "breakAfterColumn", a = "normal", o = class extends n {
5
+ columns;
6
+ gap;
7
+ customClass;
8
+ constructor(n) {
9
+ super("break-after-plugin", {
10
+ button: t,
11
+ ...n
12
+ }), this.columns = n?.columns ?? 1, this.gap = n?.gap ?? "normal", this.customClass = e(this.columns);
13
+ }
14
+ plugins() {
15
+ return [r(this.columns, this.gap, this.customClass)];
16
+ }
22
17
  };
23
- //# sourceMappingURL=ColumnBreakPlugin.es.js.map
18
+ //#endregion
19
+ export { o as BreakAfterPlugin, a as GAP_DEFAULT, i as KEY_ELEMENT_BREAK_AFTER_COLUMN };
20
+
21
+ //# sourceMappingURL=ColumnBreakPlugin.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnBreakPlugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlatePlugin, Plugin, createColumnBreakPlugin, ColumnBreakButton } from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { getResponsiveColumnClasses } from './helpers';\n\nexport const KEY_ELEMENT_BREAK_AFTER_COLUMN = 'breakAfterColumn';\nexport const GAP_DEFAULT = 'normal';\n\nexport class BreakAfterPlugin extends Plugin {\n private columns: number;\n private gap: CSSProperties['gap'];\n private customClass: string | undefined;\n constructor(props?: { columns?: number; gap?: string | number }) {\n super('break-after-plugin', {\n button: ColumnBreakButton,\n ...props,\n });\n this.columns = props?.columns ?? 1;\n this.gap = props?.gap ?? GAP_DEFAULT;\n this.customClass = getResponsiveColumnClasses(this.columns);\n }\n\n plugins(): PlatePlugin[] {\n return [createColumnBreakPlugin(this.columns, this.gap, this.customClass)];\n }\n}\n"],"names":["KEY_ELEMENT_BREAK_AFTER_COLUMN","GAP_DEFAULT","BreakAfterPlugin","Plugin","props","ColumnBreakButton","getResponsiveColumnClasses","createColumnBreakPlugin"],"mappings":";;AAOO,MAAMA,IAAiC,oBACjCC,IAAc;AAEpB,MAAMC,UAAyBC,EAAO;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACR,YAAYC,GAAqD;AAC7D,UAAM,sBAAsB;AAAA,MACxB,QAAQC;AAAA,MACR,GAAGD;AAAA,IAAA,CACN,GACD,KAAK,UAAUA,GAAO,WAAW,GACjC,KAAK,MAAMA,GAAO,OAAOH,GACzB,KAAK,cAAcK,EAA2B,KAAK,OAAO;AAAA,EAC9D;AAAA,EAEA,UAAyB;AACrB,WAAO,CAACC,EAAwB,KAAK,SAAS,KAAK,KAAK,KAAK,WAAW,CAAC;AAAA,EAC7E;AACJ;"}
1
+ {"version":3,"file":"ColumnBreakPlugin.es.js","names":[],"sources":["../../../../../src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlatePlugin, Plugin, createColumnBreakPlugin, ColumnBreakButton } from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { getResponsiveColumnClasses } from './helpers';\n\nexport const KEY_ELEMENT_BREAK_AFTER_COLUMN = 'breakAfterColumn';\nexport const GAP_DEFAULT = 'normal';\n\nexport class BreakAfterPlugin extends Plugin {\n private columns: number;\n private gap: CSSProperties['gap'];\n private customClass: string | undefined;\n constructor(props?: { columns?: number; gap?: string | number }) {\n super('break-after-plugin', {\n button: ColumnBreakButton,\n ...props,\n });\n this.columns = props?.columns ?? 1;\n this.gap = props?.gap ?? GAP_DEFAULT;\n this.customClass = getResponsiveColumnClasses(this.columns);\n }\n\n plugins(): PlatePlugin[] {\n return [createColumnBreakPlugin(this.columns, this.gap, this.customClass)];\n }\n}\n"],"mappings":";;;AAOA,IAAa,IAAiC,oBACjC,IAAc,UAEd,IAAb,cAAsC,EAAO;CACzC;CACA;CACA;CACA,YAAY,GAAqD;EAO7D,AANA,MAAM,sBAAsB;GACxB,QAAQ;GACR,GAAG;EACP,CAAC,GACD,KAAK,UAAU,GAAO,WAAW,GACjC,KAAK,MAAM,GAAO,OAAA,UAClB,KAAK,cAAc,EAA2B,KAAK,OAAO;CAC9D;CAEA,UAAyB;EACrB,OAAO,CAAC,EAAwB,KAAK,SAAS,KAAK,KAAK,KAAK,WAAW,CAAC;CAC7E;AACJ"}
@@ -1,12 +1,12 @@
1
- const t = "[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column", n = "[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column", e = {
2
- 1: "tw-columns-1",
3
- 2: `tw-columns-1 @sm:!tw-columns-2 ${n}`,
4
- 3: `tw-columns-1 @md:!tw-columns-3 ${t}`,
5
- 4: `tw-columns-1 @md:!tw-columns-4 ${t}`,
6
- 5: `tw-columns-1 @md:!tw-columns-5 ${t}`
7
- }, o = (a) => a ? e[a] || e[1] : "";
8
- export {
9
- e as columnClassMap,
10
- o as getResponsiveColumnClasses
11
- };
12
- //# sourceMappingURL=helpers.es.js.map
1
+ //#region src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts
2
+ var e = "[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column", t = {
3
+ 1: "tw-columns-1",
4
+ 2: "tw-columns-1 @sm:!tw-columns-2 [&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",
5
+ 3: `tw-columns-1 @md:!tw-columns-3 ${e}`,
6
+ 4: `tw-columns-1 @md:!tw-columns-4 ${e}`,
7
+ 5: `tw-columns-1 @md:!tw-columns-5 ${e}`
8
+ }, n = (e) => e ? t[e] || t[1] : "";
9
+ //#endregion
10
+ export { t as columnClassMap, n as getResponsiveColumnClasses };
11
+
12
+ //# sourceMappingURL=helpers.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n/**\n * As container queries lack a selector like @max-sm, as a workaround\n * the class is disabled by default and reenabled on bigger container sizes\n */\nconst columnBreakDisablingClassUnderMd =\n '[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column';\n\nconst columnBreakDisablingClassUnderSm =\n '[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column';\n\nexport const columnClassMap = {\n 1: 'tw-columns-1',\n 2: `tw-columns-1 @sm:!tw-columns-2 ${columnBreakDisablingClassUnderSm}`,\n 3: `tw-columns-1 @md:!tw-columns-3 ${columnBreakDisablingClassUnderMd}`,\n 4: `tw-columns-1 @md:!tw-columns-4 ${columnBreakDisablingClassUnderMd}`,\n 5: `tw-columns-1 @md:!tw-columns-5 ${columnBreakDisablingClassUnderMd}`,\n};\n\nexport const getResponsiveColumnClasses = (columnCount?: number) => {\n if (!columnCount) {\n return '';\n }\n\n return columnClassMap[columnCount as keyof typeof columnClassMap] || columnClassMap[1];\n};\n"],"names":["columnBreakDisablingClassUnderMd","columnBreakDisablingClassUnderSm","columnClassMap","getResponsiveColumnClasses","columnCount"],"mappings":"AAMA,MAAMA,IACF,8TAEEC,IACF,8TAESC,IAAiB;AAAA,EAC1B,GAAG;AAAA,EACH,GAAG,kCAAkCD,CAAgC;AAAA,EACrE,GAAG,kCAAkCD,CAAgC;AAAA,EACrE,GAAG,kCAAkCA,CAAgC;AAAA,EACrE,GAAG,kCAAkCA,CAAgC;AACzE,GAEaG,IAA6B,CAACC,MAClCA,IAIEF,EAAeE,CAA0C,KAAKF,EAAe,CAAC,IAH1E;"}
1
+ {"version":3,"file":"helpers.es.js","names":[],"sources":["../../../../../src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n/**\n * As container queries lack a selector like @max-sm, as a workaround\n * the class is disabled by default and reenabled on bigger container sizes\n */\nconst columnBreakDisablingClassUnderMd =\n '[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column';\n\nconst columnBreakDisablingClassUnderSm =\n '[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column';\n\nexport const columnClassMap = {\n 1: 'tw-columns-1',\n 2: `tw-columns-1 @sm:!tw-columns-2 ${columnBreakDisablingClassUnderSm}`,\n 3: `tw-columns-1 @md:!tw-columns-3 ${columnBreakDisablingClassUnderMd}`,\n 4: `tw-columns-1 @md:!tw-columns-4 ${columnBreakDisablingClassUnderMd}`,\n 5: `tw-columns-1 @md:!tw-columns-5 ${columnBreakDisablingClassUnderMd}`,\n};\n\nexport const getResponsiveColumnClasses = (columnCount?: number) => {\n if (!columnCount) {\n return '';\n }\n\n return columnClassMap[columnCount as keyof typeof columnClassMap] || columnClassMap[1];\n};\n"],"mappings":";AAMA,IAAM,IACF,8TAKS,IAAiB;CAC1B,GAAG;CACH,GAAG;CACH,GAAG,kCAAkC;CACrC,GAAG,kCAAkC;CACrC,GAAG,kCAAkC;AACzC,GAEa,KAA8B,MAClC,IAIE,EAAe,MAA+C,EAAe,KAHzE"}
@@ -1,58 +1,49 @@
1
- import { jsx as e, jsxs as g, Fragment as k } from "react/jsx-runtime";
2
- import { useFloatingLinkInsertState as b, useFloatingLinkInsert as F, useFloatingLinkEditState as L, useFloatingLinkEdit as P, offset as S, flip as h } from "@frontify/fondue/rte";
3
- import { createPortal as s } from "react-dom";
4
- import { BlockStyles as d, TextStyles as a } from "../../styles.es.js";
5
- import { InsertLinkModal as x } from "./InsertLinkModal/InsertLinkModal.es.js";
6
- import { EditModal as E } from "./EditLinkModal/EditModal.es.js";
7
- const l = {
8
- placement: "bottom-start",
9
- strategy: "absolute",
10
- middleware: [
11
- S(12),
12
- h({
13
- padding: 12,
14
- fallbackPlacements: ["bottom-end", "top-start", "top-end"]
15
- })
16
- ]
17
- }, M = () => {
18
- const n = b({
19
- floatingOptions: l
20
- }), { props: o, ref: p, hidden: m } = F(n), t = L({
21
- floatingOptions: l
22
- }), { props: i, ref: u, editButtonProps: c, unlinkButtonProps: f } = P(t);
23
- if (m)
24
- return null;
25
- const r = /* @__PURE__ */ e(x, {}), y = t.isEditing ? r : /* @__PURE__ */ e(E, { editButtonProps: c, unlinkButtonProps: f });
26
- return /* @__PURE__ */ g(k, { children: [
27
- n.isOpen && !t.isOpen && s(
28
- /* @__PURE__ */ e(
29
- "div",
30
- {
31
- "data-is-underlay": !0,
32
- ref: p,
33
- ...o,
34
- style: { ...o.style, ...d[a.p] },
35
- children: r
36
- }
37
- ),
38
- document.body
39
- ),
40
- t.isOpen && s(
41
- /* @__PURE__ */ e(
42
- "div",
43
- {
44
- "data-is-underlay": !0,
45
- ref: u,
46
- ...i,
47
- style: { ...i.style, ...d[a.p] },
48
- children: y
49
- }
50
- ),
51
- document.body
52
- )
53
- ] });
1
+ import { BlockStyles as e, TextStyles as t } from "../../styles.es.js";
2
+ import { EditModal as n } from "./EditLinkModal/EditModal.es.js";
3
+ import { InsertLinkModal as r } from "./InsertLinkModal/InsertLinkModal.es.js";
4
+ import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ import { flip as s, offset as c, useFloatingLinkEdit as l, useFloatingLinkEditState as u, useFloatingLinkInsert as d, useFloatingLinkInsertState as f } from "@frontify/fondue/rte";
6
+ import { createPortal as p } from "react-dom";
7
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx
8
+ var m = {
9
+ placement: "bottom-start",
10
+ strategy: "absolute",
11
+ middleware: [c(12), s({
12
+ padding: 12,
13
+ fallbackPlacements: [
14
+ "bottom-end",
15
+ "top-start",
16
+ "top-end"
17
+ ]
18
+ })]
19
+ }, h = () => {
20
+ let s = f({ floatingOptions: m }), { props: c, ref: h, hidden: g } = d(s), _ = u({ floatingOptions: m }), { props: v, ref: y, editButtonProps: b, unlinkButtonProps: x } = l(_);
21
+ if (g) return null;
22
+ let S = /* @__PURE__ */ a(r, {}), C = _.isEditing ? S : /* @__PURE__ */ a(n, {
23
+ editButtonProps: b,
24
+ unlinkButtonProps: x
25
+ });
26
+ return /* @__PURE__ */ o(i, { children: [s.isOpen && !_.isOpen && p(/* @__PURE__ */ a("div", {
27
+ "data-is-underlay": !0,
28
+ ref: h,
29
+ ...c,
30
+ style: {
31
+ ...c.style,
32
+ ...e[t.p]
33
+ },
34
+ children: S
35
+ }), document.body), _.isOpen && p(/* @__PURE__ */ a("div", {
36
+ "data-is-underlay": !0,
37
+ ref: y,
38
+ ...v,
39
+ style: {
40
+ ...v.style,
41
+ ...e[t.p]
42
+ },
43
+ children: C
44
+ }), document.body)] });
54
45
  };
55
- export {
56
- M as CustomFloatingLink
57
- };
58
- //# sourceMappingURL=CustomFloatingLink.es.js.map
46
+ //#endregion
47
+ export { h as CustomFloatingLink };
48
+
49
+ //# sourceMappingURL=CustomFloatingLink.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFloatingLink.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type LinkFloatingToolbarState,\n type UseVirtualFloatingOptions,\n flip,\n offset,\n useFloatingLinkEdit,\n useFloatingLinkEditState,\n useFloatingLinkInsert,\n useFloatingLinkInsertState,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { BlockStyles, TextStyles } from '../../../../RichTextEditor/plugins/styles';\n\nimport { EditModal } from './EditLinkModal';\nimport { InsertLinkModal } from './InsertLinkModal/InsertLinkModal';\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 type LinkFloatingToolbarProps = {\n state?: LinkFloatingToolbarState;\n};\n\nexport const CustomFloatingLink = () => {\n const insertState = useFloatingLinkInsertState({\n floatingOptions,\n });\n const { props: insertProps, ref: insertRef, hidden } = useFloatingLinkInsert(insertState);\n\n const editState = useFloatingLinkEditState({\n floatingOptions,\n });\n\n const { props: editProps, ref: editRef, editButtonProps, unlinkButtonProps } = useFloatingLinkEdit(editState);\n\n if (hidden) {\n return null;\n }\n\n const input = <InsertLinkModal />;\n const editContent = editState.isEditing ? (\n input\n ) : (\n <EditModal editButtonProps={editButtonProps} unlinkButtonProps={unlinkButtonProps} />\n );\n\n return (\n <>\n {insertState.isOpen &&\n !editState.isOpen &&\n createPortal(\n <div\n data-is-underlay\n ref={insertRef}\n {...insertProps}\n style={{ ...(insertProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }}\n >\n {input}\n </div>,\n document.body,\n )}\n\n {editState.isOpen &&\n createPortal(\n <div\n data-is-underlay\n ref={editRef}\n {...editProps}\n style={{ ...(editProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }}\n >\n {editContent}\n </div>,\n document.body,\n )}\n </>\n );\n};\n"],"names":["floatingOptions","offset","flip","CustomFloatingLink","insertState","useFloatingLinkInsertState","insertProps","insertRef","hidden","useFloatingLinkInsert","editState","useFloatingLinkEditState","editProps","editRef","editButtonProps","unlinkButtonProps","useFloatingLinkEdit","input","InsertLinkModal","editContent","jsx","EditModal","jsxs","Fragment","createPortal","BlockStyles","TextStyles"],"mappings":";;;;;;AAoBA,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,GAMaC,IAAqB,MAAM;AACpC,QAAMC,IAAcC,EAA2B;AAAA,IAC3C,iBAAAL;AAAA,EAAA,CACH,GACK,EAAE,OAAOM,GAAa,KAAKC,GAAW,QAAAC,EAAA,IAAWC,EAAsBL,CAAW,GAElFM,IAAYC,EAAyB;AAAA,IACvC,iBAAAX;AAAA,EAAA,CACH,GAEK,EAAE,OAAOY,GAAW,KAAKC,GAAS,iBAAAC,GAAiB,mBAAAC,EAAA,IAAsBC,EAAoBN,CAAS;AAE5G,MAAIF;AACA,WAAO;AAGX,QAAMS,sBAASC,GAAA,EAAgB,GACzBC,IAAcT,EAAU,YAC1BO,IAEA,gBAAAG,EAACC,GAAA,EAAU,iBAAAP,GAAkC,mBAAAC,GAAsC;AAGvF,SACI,gBAAAO,EAAAC,GAAA,EACK,UAAA;AAAA,IAAAnB,EAAY,UACT,CAACM,EAAU,UACXc;AAAA,MACI,gBAAAJ;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,oBAAgB;AAAA,UAChB,KAAKb;AAAA,UACJ,GAAGD;AAAA,UACJ,OAAO,EAAE,GAAIA,EAAY,OAAyB,GAAGmB,EAAYC,EAAW,CAAC,EAAA;AAAA,UAE5E,UAAAT;AAAA,QAAA;AAAA,MAAA;AAAA,MAEL,SAAS;AAAA,IAAA;AAAA,IAGhBP,EAAU,UACPc;AAAA,MACI,gBAAAJ;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,oBAAgB;AAAA,UAChB,KAAKP;AAAA,UACJ,GAAGD;AAAA,UACJ,OAAO,EAAE,GAAIA,EAAU,OAAyB,GAAGa,EAAYC,EAAW,CAAC,EAAA;AAAA,UAE1E,UAAAP;AAAA,QAAA;AAAA,MAAA;AAAA,MAEL,SAAS;AAAA,IAAA;AAAA,EACb,GACR;AAER;"}
1
+ {"version":3,"file":"CustomFloatingLink.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type LinkFloatingToolbarState,\n type UseVirtualFloatingOptions,\n flip,\n offset,\n useFloatingLinkEdit,\n useFloatingLinkEditState,\n useFloatingLinkInsert,\n useFloatingLinkInsertState,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { BlockStyles, TextStyles } from '../../../../RichTextEditor/plugins/styles';\n\nimport { EditModal } from './EditLinkModal';\nimport { InsertLinkModal } from './InsertLinkModal/InsertLinkModal';\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 type LinkFloatingToolbarProps = {\n state?: LinkFloatingToolbarState;\n};\n\nexport const CustomFloatingLink = () => {\n const insertState = useFloatingLinkInsertState({\n floatingOptions,\n });\n const { props: insertProps, ref: insertRef, hidden } = useFloatingLinkInsert(insertState);\n\n const editState = useFloatingLinkEditState({\n floatingOptions,\n });\n\n const { props: editProps, ref: editRef, editButtonProps, unlinkButtonProps } = useFloatingLinkEdit(editState);\n\n if (hidden) {\n return null;\n }\n\n const input = <InsertLinkModal />;\n const editContent = editState.isEditing ? (\n input\n ) : (\n <EditModal editButtonProps={editButtonProps} unlinkButtonProps={unlinkButtonProps} />\n );\n\n return (\n <>\n {insertState.isOpen &&\n !editState.isOpen &&\n createPortal(\n <div\n data-is-underlay\n ref={insertRef}\n {...insertProps}\n style={{ ...(insertProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }}\n >\n {input}\n </div>,\n document.body,\n )}\n\n {editState.isOpen &&\n createPortal(\n <div\n data-is-underlay\n ref={editRef}\n {...editProps}\n style={{ ...(editProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }}\n >\n {editContent}\n </div>,\n document.body,\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;AAoBA,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,GAMa,UAA2B;CACpC,IAAM,IAAc,EAA2B,EAC3C,mBACJ,CAAC,GACK,EAAE,OAAO,GAAa,KAAK,GAAW,cAAW,EAAsB,CAAW,GAElF,IAAY,EAAyB,EACvC,mBACJ,CAAC,GAEK,EAAE,OAAO,GAAW,KAAK,GAAS,oBAAiB,yBAAsB,EAAoB,CAAS;CAE5G,IAAI,GACA,OAAO;CAGX,IAAM,IAAQ,kBAAC,GAAD,CAAkB,CAAA,GAC1B,IAAc,EAAU,YAC1B,IAEA,kBAAC,GAAD;EAA4B;EAAoC;CAAoB,CAAA;CAGxF,OACI,kBAAA,GAAA,EAAA,UAAA,CACK,EAAY,UACT,CAAC,EAAU,UACX,EACI,kBAAC,OAAD;EACI,oBAAA;EACA,KAAK;EACL,GAAI;EACJ,OAAO;GAAE,GAAI,EAAY;GAAyB,GAAG,EAAY,EAAW;EAAG;EAE9E,UAAA;CACA,CAAA,GACL,SAAS,IACb,GAEH,EAAU,UACP,EACI,kBAAC,OAAD;EACI,oBAAA;EACA,KAAK;EACL,GAAI;EACJ,OAAO;GAAE,GAAI,EAAU;GAAyB,GAAG,EAAY,EAAW;EAAG;EAE5E,UAAA;CACA,CAAA,GACL,SAAS,IACb,CACN,EAAA,CAAA;AAEV"}