@frontify/guideline-blocks-settings 3.0.2 → 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 +8 -7
  205. package/dist/index.es.js +221 -213
  206. package/dist/index.es.js.map +1 -1
  207. package/dist/index.umd.js +6 -8
  208. package/dist/index.umd.js.map +1 -1
  209. package/dist/settings/background.es.js +20 -21
  210. package/dist/settings/background.es.js.map +1 -1
  211. package/dist/settings/border.es.js +62 -64
  212. package/dist/settings/border.es.js.map +1 -1
  213. package/dist/settings/borderRadius.es.js +49 -52
  214. package/dist/settings/borderRadius.es.js.map +1 -1
  215. package/dist/settings/borderRadiusExtended.es.js +58 -60
  216. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  217. package/dist/settings/defaultValues.es.js +16 -19
  218. package/dist/settings/defaultValues.es.js.map +1 -1
  219. package/dist/settings/gutter.es.js +48 -52
  220. package/dist/settings/gutter.es.js.map +1 -1
  221. package/dist/settings/margin.es.js +49 -52
  222. package/dist/settings/margin.es.js.map +1 -1
  223. package/dist/settings/marginExtended.es.js +62 -64
  224. package/dist/settings/marginExtended.es.js.map +1 -1
  225. package/dist/settings/padding.es.js +49 -52
  226. package/dist/settings/padding.es.js.map +1 -1
  227. package/dist/settings/paddingExtended.es.js +62 -64
  228. package/dist/settings/paddingExtended.es.js.map +1 -1
  229. package/dist/settings/securityDownloadable.es.js +16 -16
  230. package/dist/settings/securityDownloadable.es.js.map +1 -1
  231. package/dist/settings/securityGlobalControl.es.js +26 -32
  232. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  233. package/dist/settings/types.es.js +41 -47
  234. package/dist/settings/types.es.js.map +1 -1
  235. package/dist/styles.css +1 -0
  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 +6 -8
  261. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  262. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
@@ -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"}
@@ -1,55 +1,53 @@
1
- import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
- import { IconPen as i, IconTrashBin as n } from "@frontify/fondue/icons";
3
- import { useEditorRef as a, FloatingModalWrapper as d, focusEditor as l } from "@frontify/fondue/rte";
4
- import { LINK_PLUGIN as s } from "../../../../LinkPlugin/id.es.js";
5
- import { BlockStyles as m } from "../../../../styles.es.js";
6
- import { floatingButtonSelectors as r } from "../floatingButtonStore.es.js";
7
- import { triggerFloatingButtonEdit as u } from "../../../utils/triggerFloatingButtonEdit.es.js";
8
- import { unwrapButton as c } from "../../../transforms/unwrapButton.es.js";
9
- const N = () => {
10
- const e = a();
11
- return /* @__PURE__ */ t(d, { padding: "16px", minWidth: "400px", "data-test-id": "floating-button-edit", children: /* @__PURE__ */ o("span", { "data-test-id": "preview-button-flyout", className: "tw-flex tw-justify-between tw-items-center tw-gap-2", children: [
12
- /* @__PURE__ */ t(
13
- "a",
14
- {
15
- "data-test-id": "floating-button-edit-url",
16
- href: r.url(),
17
- target: "_blank",
18
- rel: "noopener noreferrer",
19
- style: m[s],
20
- className: "tw-break-all",
21
- children: r.url()
22
- }
23
- ),
24
- /* @__PURE__ */ o("span", { className: "tw-flex tw-gap-2", children: [
25
- /* @__PURE__ */ t(
26
- "button",
27
- {
28
- onClick: () => {
29
- u(e);
30
- },
31
- tabIndex: 0,
32
- "data-test-id": "edit-button-button",
33
- className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
34
- children: /* @__PURE__ */ t(i, { size: 16 })
35
- }
36
- ),
37
- /* @__PURE__ */ t(
38
- "button",
39
- {
40
- onClick: () => {
41
- c(e), l(e, e.selection ?? void 0);
42
- },
43
- tabIndex: 0,
44
- "data-test-id": "remove-button-button",
45
- className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
46
- children: /* @__PURE__ */ t(n, { size: 16 })
47
- }
48
- )
49
- ] })
50
- ] }) });
1
+ import { floatingButtonSelectors as e } from "../floatingButtonStore.es.js";
2
+ import { unwrapButton as t } from "../../../transforms/unwrapButton.es.js";
3
+ import { triggerFloatingButtonEdit as n } from "../../../utils/triggerFloatingButtonEdit.es.js";
4
+ import { LINK_PLUGIN as r } from "../../../../LinkPlugin/id.es.js";
5
+ import { BlockStyles as i } from "../../../../styles.es.js";
6
+ import { IconPen as a, IconTrashBin as o } from "@frontify/fondue/icons";
7
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ import { FloatingModalWrapper as l, focusEditor as u, useEditorRef as d } from "@frontify/fondue/rte";
9
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.tsx
10
+ var f = () => {
11
+ let f = d();
12
+ return /* @__PURE__ */ s(l, {
13
+ padding: "16px",
14
+ minWidth: "400px",
15
+ "data-test-id": "floating-button-edit",
16
+ children: /* @__PURE__ */ c("span", {
17
+ "data-test-id": "preview-button-flyout",
18
+ className: "tw-flex tw-justify-between tw-items-center tw-gap-2",
19
+ children: [/* @__PURE__ */ s("a", {
20
+ "data-test-id": "floating-button-edit-url",
21
+ href: e.url(),
22
+ target: "_blank",
23
+ rel: "noopener noreferrer",
24
+ style: i[r],
25
+ className: "tw-break-all",
26
+ children: e.url()
27
+ }), /* @__PURE__ */ c("span", {
28
+ className: "tw-flex tw-gap-2",
29
+ children: [/* @__PURE__ */ s("button", {
30
+ onClick: () => {
31
+ n(f);
32
+ },
33
+ tabIndex: 0,
34
+ "data-test-id": "edit-button-button",
35
+ className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
36
+ children: /* @__PURE__ */ s(a, { size: 16 })
37
+ }), /* @__PURE__ */ s("button", {
38
+ onClick: () => {
39
+ t(f), u(f, f.selection ?? void 0);
40
+ },
41
+ tabIndex: 0,
42
+ "data-test-id": "remove-button-button",
43
+ className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
44
+ children: /* @__PURE__ */ s(o, { size: 16 })
45
+ })]
46
+ })]
47
+ })
48
+ });
51
49
  };
52
- export {
53
- N as EditModal
54
- };
55
- //# sourceMappingURL=EditModal.es.js.map
50
+ //#endregion
51
+ export { f as EditModal };
52
+
53
+ //# sourceMappingURL=EditModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconPen, IconTrashBin } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper, focusEditor, useEditorRef } from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../../../../LinkPlugin/id';\nimport { BlockStyles } from '../../../../styles';\nimport { unwrapButton } from '../../../transforms';\nimport { triggerFloatingButtonEdit } from '../../../utils';\nimport { floatingButtonSelectors } from '../floatingButtonStore';\n\nexport const EditModal = () => {\n const editor = useEditorRef();\n return (\n <FloatingModalWrapper padding=\"16px\" minWidth=\"400px\" data-test-id=\"floating-button-edit\">\n <span data-test-id=\"preview-button-flyout\" className=\"tw-flex tw-justify-between tw-items-center tw-gap-2\">\n <a\n data-test-id=\"floating-button-edit-url\"\n href={floatingButtonSelectors.url()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={BlockStyles[LINK_PLUGIN]}\n className=\"tw-break-all\"\n >\n {floatingButtonSelectors.url()}\n </a>\n <span className=\"tw-flex tw-gap-2\">\n <button\n onClick={() => {\n triggerFloatingButtonEdit(editor);\n }}\n tabIndex={0}\n data-test-id=\"edit-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n >\n <IconPen size={16} />\n </button>\n\n <button\n onClick={() => {\n unwrapButton(editor);\n focusEditor(editor, editor.selection ?? undefined);\n }}\n tabIndex={0}\n data-test-id=\"remove-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n >\n <IconTrashBin size={16} />\n </button>\n </span>\n </span>\n </FloatingModalWrapper>\n );\n};\n"],"names":["EditModal","editor","useEditorRef","jsx","FloatingModalWrapper","jsxs","floatingButtonSelectors","BlockStyles","LINK_PLUGIN","triggerFloatingButtonEdit","IconPen","unwrapButton","focusEditor","IconTrashBin"],"mappings":";;;;;;;;AAWO,MAAMA,IAAY,MAAM;AAC3B,QAAMC,IAASC,EAAA;AACf,SACI,gBAAAC,EAACC,GAAA,EAAqB,SAAQ,QAAO,UAAS,SAAQ,gBAAa,wBAC/D,UAAA,gBAAAC,EAAC,QAAA,EAAK,gBAAa,yBAAwB,WAAU,uDACjD,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,MAAMG,EAAwB,IAAA;AAAA,QAC9B,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,OAAOC,EAAYC,CAAW;AAAA,QAC9B,WAAU;AAAA,QAET,YAAwB,IAAA;AAAA,MAAI;AAAA,IAAA;AAAA,IAEjC,gBAAAH,EAAC,QAAA,EAAK,WAAU,oBACZ,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,SAAS,MAAM;AACX,YAAAM,EAA0BR,CAAM;AAAA,UACpC;AAAA,UACA,UAAU;AAAA,UACV,gBAAa;AAAA,UACb,WAAU;AAAA,UAEV,UAAA,gBAAAE,EAACO,GAAA,EAAQ,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAGvB,gBAAAP;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,SAAS,MAAM;AACX,YAAAQ,EAAaV,CAAM,GACnBW,EAAYX,GAAQA,EAAO,aAAa,MAAS;AAAA,UACrD;AAAA,UACA,UAAU;AAAA,UACV,gBAAa;AAAA,UACb,WAAU;AAAA,UAEV,UAAA,gBAAAE,EAACU,GAAA,EAAa,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5B,EAAA,CACJ;AAAA,EAAA,EAAA,CACJ,EAAA,CACJ;AAER;"}
1
+ {"version":3,"file":"EditModal.es.js","names":[],"sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconPen, IconTrashBin } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper, focusEditor, useEditorRef } from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../../../../LinkPlugin/id';\nimport { BlockStyles } from '../../../../styles';\nimport { unwrapButton } from '../../../transforms';\nimport { triggerFloatingButtonEdit } from '../../../utils';\nimport { floatingButtonSelectors } from '../floatingButtonStore';\n\nexport const EditModal = () => {\n const editor = useEditorRef();\n return (\n <FloatingModalWrapper padding=\"16px\" minWidth=\"400px\" data-test-id=\"floating-button-edit\">\n <span data-test-id=\"preview-button-flyout\" className=\"tw-flex tw-justify-between tw-items-center tw-gap-2\">\n <a\n data-test-id=\"floating-button-edit-url\"\n href={floatingButtonSelectors.url()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={BlockStyles[LINK_PLUGIN]}\n className=\"tw-break-all\"\n >\n {floatingButtonSelectors.url()}\n </a>\n <span className=\"tw-flex tw-gap-2\">\n <button\n onClick={() => {\n triggerFloatingButtonEdit(editor);\n }}\n tabIndex={0}\n data-test-id=\"edit-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n >\n <IconPen size={16} />\n </button>\n\n <button\n onClick={() => {\n unwrapButton(editor);\n focusEditor(editor, editor.selection ?? undefined);\n }}\n tabIndex={0}\n data-test-id=\"remove-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n >\n <IconTrashBin size={16} />\n </button>\n </span>\n </span>\n </FloatingModalWrapper>\n );\n};\n"],"mappings":";;;;;;;;;AAWA,IAAa,UAAkB;CAC3B,IAAM,IAAS,EAAa;CAC5B,OACI,kBAAC,GAAD;EAAsB,SAAQ;EAAO,UAAS;EAAQ,gBAAa;EAC/D,UAAA,kBAAC,QAAD;GAAM,gBAAa;GAAwB,WAAU;GAArD,UAAA,CACI,kBAAC,KAAD;IACI,gBAAa;IACb,MAAM,EAAwB,IAAI;IAClC,QAAO;IACP,KAAI;IACJ,OAAO,EAAY;IACnB,WAAU;IAET,UAAA,EAAwB,IAAI;GAC9B,CAAA,GACH,kBAAC,QAAD;IAAM,WAAU;IAAhB,UAAA,CACI,kBAAC,UAAD;KACI,eAAe;MACX,EAA0B,CAAM;KACpC;KACA,UAAU;KACV,gBAAa;KACb,WAAU;KAEV,UAAA,kBAAC,GAAD,EAAS,MAAM,GAAK,CAAA;IAChB,CAAA,GAER,kBAAC,UAAD;KACI,eAAe;MAEX,AADA,EAAa,CAAM,GACnB,EAAY,GAAQ,EAAO,aAAa,KAAA,CAAS;KACrD;KACA,UAAU;KACV,gBAAa;KACb,WAAU;KAEV,UAAA,kBAAC,GAAD,EAAc,MAAM,GAAK,CAAA;IACrB,CAAA,CACN;GACJ,CAAA,CAAA;;CACY,CAAA;AAE9B"}
@@ -1,69 +1,69 @@
1
- import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
- import { FormControl as m } from "@frontify/fondue";
3
- import { useState as y } from "react";
4
- import { InsertModal as f } from "../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js";
5
- import { BlockStyles as n } from "../../../../styles.es.js";
6
- import { useInsertModal as p } from "./useInsertModal.es.js";
7
- const g = () => {
8
- const r = p(), { state: t, onButtonStyleChange: o } = r;
9
- return /* @__PURE__ */ e(f, { ...r, testId: "floating-button-insert", children: /* @__PURE__ */ e("div", { className: "tw-pt-5", children: /* @__PURE__ */ d(
10
- m,
11
- {
12
- label: {
13
- children: "Button Style",
14
- htmlFor: "buttonStyle",
15
- required: !0
16
- },
17
- children: [
18
- /* @__PURE__ */ e(
19
- i,
20
- {
21
- id: "primary",
22
- styles: n.buttonPrimary,
23
- isActive: t.buttonStyle === "primary",
24
- onClick: () => o("primary"),
25
- children: t.text || "Primary Button"
26
- }
27
- ),
28
- /* @__PURE__ */ e(
29
- i,
30
- {
31
- id: "secondary",
32
- styles: n.buttonSecondary,
33
- isActive: t.buttonStyle === "secondary",
34
- onClick: () => o("secondary"),
35
- children: t.text || "Secondary Button"
36
- }
37
- ),
38
- /* @__PURE__ */ e(
39
- i,
40
- {
41
- id: "tertiary",
42
- styles: n.buttonTertiary,
43
- isActive: t.buttonStyle === "tertiary",
44
- onClick: () => o("tertiary"),
45
- children: t.text || "Tertiary Button"
46
- }
47
- )
48
- ]
49
- }
50
- ) }) });
51
- }, i = ({ id: r, styles: t, isActive: o, onClick: a, children: s }) => {
52
- const [u, l] = y(!1), c = () => t && t.hover && u ? { ...t, ...t.hover } : t;
53
- return /* @__PURE__ */ e(
54
- "button",
55
- {
56
- "data-test-id": `floating-button-insert-${r}`,
57
- onMouseEnter: () => l(!0),
58
- onMouseLeave: () => l(!1),
59
- onClick: a,
60
- style: { ...c(), marginTop: 0, marginBottom: 0 },
61
- className: o ? "tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit" : "tw-w-fit",
62
- children: s
63
- }
64
- );
1
+ import { BlockStyles as e } from "../../../../styles.es.js";
2
+ import { InsertModal as t } from "../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js";
3
+ import { useInsertModal as n } from "./useInsertModal.es.js";
4
+ import { useState as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ import { FormControl as o } from "@frontify/fondue";
7
+ //#region src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.tsx
8
+ var s = () => {
9
+ let r = n(), { state: s, onButtonStyleChange: l } = r;
10
+ return /* @__PURE__ */ i(t, {
11
+ ...r,
12
+ testId: "floating-button-insert",
13
+ children: /* @__PURE__ */ i("div", {
14
+ className: "tw-pt-5",
15
+ children: /* @__PURE__ */ a(o, {
16
+ label: {
17
+ children: "Button Style",
18
+ htmlFor: "buttonStyle",
19
+ required: !0
20
+ },
21
+ children: [
22
+ /* @__PURE__ */ i(c, {
23
+ id: "primary",
24
+ styles: e.buttonPrimary,
25
+ isActive: s.buttonStyle === "primary",
26
+ onClick: () => l("primary"),
27
+ children: s.text || "Primary Button"
28
+ }),
29
+ /* @__PURE__ */ i(c, {
30
+ id: "secondary",
31
+ styles: e.buttonSecondary,
32
+ isActive: s.buttonStyle === "secondary",
33
+ onClick: () => l("secondary"),
34
+ children: s.text || "Secondary Button"
35
+ }),
36
+ /* @__PURE__ */ i(c, {
37
+ id: "tertiary",
38
+ styles: e.buttonTertiary,
39
+ isActive: s.buttonStyle === "tertiary",
40
+ onClick: () => l("tertiary"),
41
+ children: s.text || "Tertiary Button"
42
+ })
43
+ ]
44
+ })
45
+ })
46
+ });
47
+ }, c = ({ id: e, styles: t, isActive: n, onClick: a, children: o }) => {
48
+ let [s, c] = r(!1);
49
+ return /* @__PURE__ */ i("button", {
50
+ "data-test-id": `floating-button-insert-${e}`,
51
+ onMouseEnter: () => c(!0),
52
+ onMouseLeave: () => c(!1),
53
+ onClick: a,
54
+ style: {
55
+ ...t && t.hover && s ? {
56
+ ...t,
57
+ ...t.hover
58
+ } : t,
59
+ marginTop: 0,
60
+ marginBottom: 0
61
+ },
62
+ className: n ? "tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit" : "tw-w-fit",
63
+ children: o
64
+ });
65
65
  };
66
- export {
67
- g as InsertButtonModal
68
- };
69
- //# sourceMappingURL=InsertButtonModal.es.js.map
66
+ //#endregion
67
+ export { s as InsertButtonModal };
68
+
69
+ //# sourceMappingURL=InsertButtonModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InsertButtonModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { FormControl } from '@frontify/fondue';\nimport { type CSSProperties, type ReactElement, type ReactNode, useState } from 'react';\n\nimport { InsertModal } from '../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal';\nimport { BlockStyles } from '../../../../styles';\n\nimport { useInsertModal } from './useInsertModal';\n\nexport const InsertButtonModal = () => {\n const modalProps = useInsertModal();\n const { state, onButtonStyleChange } = modalProps;\n\n return (\n <InsertModal {...modalProps} testId=\"floating-button-insert\">\n <div className=\"tw-pt-5\">\n <FormControl\n label={{\n children: 'Button Style',\n htmlFor: 'buttonStyle',\n required: true,\n }}\n >\n <HoverableButton\n id=\"primary\"\n styles={BlockStyles.buttonPrimary}\n isActive={state.buttonStyle === 'primary'}\n onClick={() => onButtonStyleChange('primary')}\n >\n {state.text || 'Primary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"secondary\"\n styles={BlockStyles.buttonSecondary}\n isActive={state.buttonStyle === 'secondary'}\n onClick={() => onButtonStyleChange('secondary')}\n >\n {state.text || 'Secondary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"tertiary\"\n styles={BlockStyles.buttonTertiary}\n isActive={state.buttonStyle === 'tertiary'}\n onClick={() => onButtonStyleChange('tertiary')}\n >\n {state.text || 'Tertiary Button'}\n </HoverableButton>\n </FormControl>\n </div>\n </InsertModal>\n );\n};\n\ntype Props = {\n id: string;\n styles?: CSSProperties & { hover?: CSSProperties };\n isActive: boolean;\n onClick: () => void;\n children: ReactNode;\n};\n\nconst HoverableButton = ({ id, styles, isActive, onClick, children }: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n const getStyles = () => (styles && styles.hover && hovered ? { ...styles, ...styles.hover } : styles);\n\n return (\n <button\n data-test-id={`floating-button-insert-${id}`}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n onClick={onClick}\n style={{ ...getStyles(), marginTop: 0, marginBottom: 0 }}\n className={\n isActive ? 'tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit' : 'tw-w-fit'\n }\n >\n {children}\n </button>\n );\n};\n"],"names":["InsertButtonModal","modalProps","useInsertModal","state","onButtonStyleChange","jsx","InsertModal","jsxs","FormControl","HoverableButton","BlockStyles","id","styles","isActive","onClick","children","hovered","setHovered","useState","getStyles"],"mappings":";;;;;;AAUO,MAAMA,IAAoB,MAAM;AACnC,QAAMC,IAAaC,EAAA,GACb,EAAE,OAAAC,GAAO,qBAAAC,EAAA,IAAwBH;AAEvC,SACI,gBAAAI,EAACC,KAAa,GAAGL,GAAY,QAAO,0BAChC,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,QACH,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,MAGd,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,SAAS;AAAA,YAE3C,YAAM,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGnB,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,WAAW;AAAA,YAE7C,YAAM,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGnB,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,UAAU;AAAA,YAE5C,YAAM,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EAAA,GAER,EAAA,CACJ;AAER,GAUMK,IAAkB,CAAC,EAAE,IAAAE,GAAI,QAAAC,GAAQ,UAAAC,GAAU,SAAAC,GAAS,UAAAC,QAAoC;AAC1F,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GACtCC,IAAY,MAAOP,KAAUA,EAAO,SAASI,IAAU,EAAE,GAAGJ,GAAQ,GAAGA,EAAO,MAAA,IAAUA;AAE9F,SACI,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,gBAAc,0BAA0BM,CAAE;AAAA,MAC1C,cAAc,MAAMM,EAAW,EAAI;AAAA,MACnC,cAAc,MAAMA,EAAW,EAAK;AAAA,MACpC,SAAAH;AAAA,MACA,OAAO,EAAE,GAAGK,EAAA,GAAa,WAAW,GAAG,cAAc,EAAA;AAAA,MACrD,WACIN,IAAW,8EAA8E;AAAA,MAG5F,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGb;"}
1
+ {"version":3,"file":"InsertButtonModal.es.js","names":[],"sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { FormControl } from '@frontify/fondue';\nimport { type CSSProperties, type ReactElement, type ReactNode, useState } from 'react';\n\nimport { InsertModal } from '../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal';\nimport { BlockStyles } from '../../../../styles';\n\nimport { useInsertModal } from './useInsertModal';\n\nexport const InsertButtonModal = () => {\n const modalProps = useInsertModal();\n const { state, onButtonStyleChange } = modalProps;\n\n return (\n <InsertModal {...modalProps} testId=\"floating-button-insert\">\n <div className=\"tw-pt-5\">\n <FormControl\n label={{\n children: 'Button Style',\n htmlFor: 'buttonStyle',\n required: true,\n }}\n >\n <HoverableButton\n id=\"primary\"\n styles={BlockStyles.buttonPrimary}\n isActive={state.buttonStyle === 'primary'}\n onClick={() => onButtonStyleChange('primary')}\n >\n {state.text || 'Primary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"secondary\"\n styles={BlockStyles.buttonSecondary}\n isActive={state.buttonStyle === 'secondary'}\n onClick={() => onButtonStyleChange('secondary')}\n >\n {state.text || 'Secondary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"tertiary\"\n styles={BlockStyles.buttonTertiary}\n isActive={state.buttonStyle === 'tertiary'}\n onClick={() => onButtonStyleChange('tertiary')}\n >\n {state.text || 'Tertiary Button'}\n </HoverableButton>\n </FormControl>\n </div>\n </InsertModal>\n );\n};\n\ntype Props = {\n id: string;\n styles?: CSSProperties & { hover?: CSSProperties };\n isActive: boolean;\n onClick: () => void;\n children: ReactNode;\n};\n\nconst HoverableButton = ({ id, styles, isActive, onClick, children }: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n const getStyles = () => (styles && styles.hover && hovered ? { ...styles, ...styles.hover } : styles);\n\n return (\n <button\n data-test-id={`floating-button-insert-${id}`}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n onClick={onClick}\n style={{ ...getStyles(), marginTop: 0, marginBottom: 0 }}\n className={\n isActive ? 'tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit' : 'tw-w-fit'\n }\n >\n {children}\n </button>\n );\n};\n"],"mappings":";;;;;;;AAUA,IAAa,UAA0B;CACnC,IAAM,IAAa,EAAe,GAC5B,EAAE,UAAO,2BAAwB;CAEvC,OACI,kBAAC,GAAD;EAAa,GAAI;EAAY,QAAO;EAChC,UAAA,kBAAC,OAAD;GAAK,WAAU;GACX,UAAA,kBAAC,GAAD;IACI,OAAO;KACH,UAAU;KACV,SAAS;KACT,UAAU;IACd;IALJ,UAAA;KAOI,kBAAC,GAAD;MACI,IAAG;MACH,QAAQ,EAAY;MACpB,UAAU,EAAM,gBAAgB;MAChC,eAAe,EAAoB,SAAS;MAE3C,UAAA,EAAM,QAAQ;KACF,CAAA;KAEjB,kBAAC,GAAD;MACI,IAAG;MACH,QAAQ,EAAY;MACpB,UAAU,EAAM,gBAAgB;MAChC,eAAe,EAAoB,WAAW;MAE7C,UAAA,EAAM,QAAQ;KACF,CAAA;KAEjB,kBAAC,GAAD;MACI,IAAG;MACH,QAAQ,EAAY;MACpB,UAAU,EAAM,gBAAgB;MAChC,eAAe,EAAoB,UAAU;MAE5C,UAAA,EAAM,QAAQ;KACF,CAAA;IACR;;EACZ,CAAA;CACI,CAAA;AAErB,GAUM,KAAmB,EAAE,OAAI,WAAQ,aAAU,YAAS,kBAAoC;CAC1F,IAAM,CAAC,GAAS,KAAc,EAAS,EAAK;CAG5C,OACI,kBAAC,UAAD;EACI,gBAAc,0BAA0B;EACxC,oBAAoB,EAAW,EAAI;EACnC,oBAAoB,EAAW,EAAK;EAC3B;EACT,OAAO;GAAE,GARQ,KAAU,EAAO,SAAS,IAAU;IAAE,GAAG;IAAQ,GAAG,EAAO;GAAM,IAAI;GAQ7D,WAAW;GAAG,cAAc;EAAE;EACvD,WACI,IAAW,8EAA8E;EAG5F;CACG,CAAA;AAEhB"}