@frontify/guideline-blocks-settings 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/dist/_virtual/_rolldown/runtime.es.js +17 -0
  2. package/dist/components/Attachments/AttachmentItem.es.js +116 -168
  3. package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
  4. package/dist/components/Attachments/Attachments.es.js +145 -137
  5. package/dist/components/Attachments/Attachments.es.js.map +1 -1
  6. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +25 -28
  7. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -1
  8. package/dist/components/BlockInjectButton/BlockInjectButton.es.js +114 -126
  9. package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
  10. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +53 -74
  11. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
  12. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +26 -31
  13. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
  14. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +22 -25
  15. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
  16. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +17 -28
  17. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
  18. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +25 -35
  19. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
  20. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +41 -34
  21. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
  22. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +41 -36
  23. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
  24. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +24 -33
  25. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
  26. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +20 -11
  27. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
  28. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +18 -10
  29. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
  30. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +10 -12
  31. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -1
  32. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +13 -13
  33. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -1
  34. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +21 -19
  35. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
  36. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +18 -25
  37. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -1
  38. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -17
  39. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
  40. package/dist/components/BlockItemWrapper/constants.es.js +6 -6
  41. package/dist/components/BlockItemWrapper/constants.es.js.map +1 -1
  42. package/dist/components/Link/LinkInput.es.js +63 -63
  43. package/dist/components/Link/LinkInput.es.js.map +1 -1
  44. package/dist/components/Link/LinkSelector/DocumentLink.es.js +46 -63
  45. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
  46. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +50 -64
  47. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
  48. package/dist/components/Link/LinkSelector/LinkSelector2.es.js +77 -0
  49. package/dist/components/Link/LinkSelector/LinkSelector2.es.js.map +1 -0
  50. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +10 -6
  51. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +1 -1
  52. package/dist/components/Link/LinkSelector/PageLink.es.js +53 -67
  53. package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
  54. package/dist/components/Link/LinkSelector/PageLinks.es.js +28 -37
  55. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
  56. package/dist/components/Link/LinkSelector/SectionLink.es.js +31 -24
  57. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -1
  58. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +6 -5
  59. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
  60. package/dist/components/Link/utils/getUrl.es.js +10 -12
  61. package/dist/components/Link/utils/getUrl.es.js.map +1 -1
  62. package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
  63. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
  64. package/dist/components/Link/utils/url.es.js +21 -17
  65. package/dist/components/Link/utils/url.es.js.map +1 -1
  66. package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
  67. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
  68. package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
  69. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  70. package/dist/components/RichTextEditor/constants.es.js +6 -5
  71. package/dist/components/RichTextEditor/constants.es.js.map +1 -1
  72. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
  73. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
  74. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
  116. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
  117. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
  118. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
  119. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
  120. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
  121. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
  122. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
  123. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
  124. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
  125. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
  126. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
  127. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
  128. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
  129. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
  130. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
  131. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
  132. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
  133. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
  134. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
  135. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
  136. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
  137. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
  138. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
  139. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  140. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
  144. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
  145. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
  146. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
  147. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
  148. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
  149. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  150. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
  151. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
  152. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
  153. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
  154. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
  155. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
  156. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
  157. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
  158. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
  159. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
  160. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
  161. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
  162. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
  163. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  164. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
  165. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  166. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  170. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
  171. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  172. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
  173. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  174. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
  175. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  176. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
  177. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
  178. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
  179. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  180. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
  181. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  182. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
  183. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
  184. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
  185. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  186. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
  187. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
  188. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
  189. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  190. package/dist/helpers/addHttps.es.js +12 -12
  191. package/dist/helpers/addHttps.es.js.map +1 -1
  192. package/dist/helpers/convertToRichTextValue.es.js +14 -6
  193. package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
  194. package/dist/helpers/hasRichTextValue.es.js +13 -14
  195. package/dist/helpers/hasRichTextValue.es.js.map +1 -1
  196. package/dist/helpers/isDownloadable.es.js +6 -5
  197. package/dist/helpers/isDownloadable.es.js.map +1 -1
  198. package/dist/hooks/useAttachments.es.js +65 -73
  199. package/dist/hooks/useAttachments.es.js.map +1 -1
  200. package/dist/hooks/useIsInViewport.es.js +20 -21
  201. package/dist/hooks/useIsInViewport.es.js.map +1 -1
  202. package/dist/index.cjs.js +6 -8
  203. package/dist/index.cjs.js.map +1 -1
  204. package/dist/index.d.ts +8 -7
  205. package/dist/index.es.js +221 -213
  206. package/dist/index.es.js.map +1 -1
  207. package/dist/index.umd.js +6 -8
  208. package/dist/index.umd.js.map +1 -1
  209. package/dist/settings/background.es.js +20 -21
  210. package/dist/settings/background.es.js.map +1 -1
  211. package/dist/settings/border.es.js +62 -64
  212. package/dist/settings/border.es.js.map +1 -1
  213. package/dist/settings/borderRadius.es.js +49 -52
  214. package/dist/settings/borderRadius.es.js.map +1 -1
  215. package/dist/settings/borderRadiusExtended.es.js +58 -60
  216. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  217. package/dist/settings/defaultValues.es.js +16 -19
  218. package/dist/settings/defaultValues.es.js.map +1 -1
  219. package/dist/settings/gutter.es.js +48 -52
  220. package/dist/settings/gutter.es.js.map +1 -1
  221. package/dist/settings/margin.es.js +49 -52
  222. package/dist/settings/margin.es.js.map +1 -1
  223. package/dist/settings/marginExtended.es.js +62 -64
  224. package/dist/settings/marginExtended.es.js.map +1 -1
  225. package/dist/settings/padding.es.js +49 -52
  226. package/dist/settings/padding.es.js.map +1 -1
  227. package/dist/settings/paddingExtended.es.js +62 -64
  228. package/dist/settings/paddingExtended.es.js.map +1 -1
  229. package/dist/settings/securityDownloadable.es.js +16 -16
  230. package/dist/settings/securityDownloadable.es.js.map +1 -1
  231. package/dist/settings/securityGlobalControl.es.js +26 -32
  232. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  233. package/dist/settings/types.es.js +41 -47
  234. package/dist/settings/types.es.js.map +1 -1
  235. package/dist/styles.css +2 -1
  236. package/dist/utilities/color/getReadableColor.es.js +15 -13
  237. package/dist/utilities/color/getReadableColor.es.js.map +1 -1
  238. package/dist/utilities/color/isDark.es.js +14 -9
  239. package/dist/utilities/color/isDark.es.js.map +1 -1
  240. package/dist/utilities/color/setAlpha.es.js +7 -6
  241. package/dist/utilities/color/setAlpha.es.js.map +1 -1
  242. package/dist/utilities/color/toColorObject.es.js +14 -8
  243. package/dist/utilities/color/toColorObject.es.js.map +1 -1
  244. package/dist/utilities/color/toHex8String.es.js +7 -6
  245. package/dist/utilities/color/toHex8String.es.js.map +1 -1
  246. package/dist/utilities/color/toHexString.es.js +7 -6
  247. package/dist/utilities/color/toHexString.es.js.map +1 -1
  248. package/dist/utilities/color/toRgbaString.es.js +7 -6
  249. package/dist/utilities/color/toRgbaString.es.js.map +1 -1
  250. package/dist/utilities/color/toShortRgba.es.js +18 -11
  251. package/dist/utilities/color/toShortRgba.es.js.map +1 -1
  252. package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
  253. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
  254. package/dist/utilities/react/getBorderStyles.es.js +12 -11
  255. package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
  256. package/dist/utilities/react/getRadiusStyles.es.js +7 -8
  257. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
  258. package/dist/utilities/react/joinClassNames.es.js +6 -5
  259. package/dist/utilities/react/joinClassNames.es.js.map +1 -1
  260. package/package.json +8 -10
  261. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  262. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
@@ -1,49 +1,47 @@
1
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
- import { IconPen as o, IconTrashBin as l } from "@frontify/fondue/icons";
3
- import { useLinkOpenButtonState as s, FloatingModalWrapper as d } from "@frontify/fondue/rte";
4
- import { BlockStyles as m } from "../../../styles.es.js";
5
- import { LINK_PLUGIN as c } from "../../id.es.js";
6
- import { getUrlFromLinkOrLegacyLink as p } from "../../../../../Link/utils/getUrl.es.js";
7
- const h = ({ editButtonProps: i, unlinkButtonProps: a }) => {
8
- const { element: e } = s(), r = e ? p(e) : "";
9
- return /* @__PURE__ */ t(d, { "data-test-id": "floating-link-edit", padding: "16px", minWidth: "400px", children: /* @__PURE__ */ n("span", { "data-test-id": "preview-link-flyout", className: "tw-flex tw-justify-between tw-items-center tw-gap-2", children: [
10
- /* @__PURE__ */ t(
11
- "a",
12
- {
13
- "data-test-id": "floating-link-edit-url",
14
- href: r,
15
- target: "_blank",
16
- rel: "noopener noreferrer",
17
- style: m[c],
18
- className: "tw-break-all",
19
- children: r
20
- }
21
- ),
22
- /* @__PURE__ */ n("span", { className: "tw-flex tw-gap-2", children: [
23
- /* @__PURE__ */ t(
24
- "button",
25
- {
26
- tabIndex: 0,
27
- "data-test-id": "edit-link-button",
28
- className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
29
- ...i,
30
- children: /* @__PURE__ */ t(o, { size: 16 })
31
- }
32
- ),
33
- /* @__PURE__ */ t(
34
- "button",
35
- {
36
- tabIndex: 0,
37
- "data-test-id": "remove-link-button",
38
- className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
39
- ...a,
40
- children: /* @__PURE__ */ t(l, { size: 16 })
41
- }
42
- )
43
- ] })
44
- ] }) });
1
+ import { getUrlFromLinkOrLegacyLink as e } from "../../../../../Link/utils/getUrl.es.js";
2
+ import { LINK_PLUGIN as t } from "../../id.es.js";
3
+ import { BlockStyles as n } from "../../../styles.es.js";
4
+ import { IconPen as r, IconTrashBin as i } from "@frontify/fondue/icons";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { FloatingModalWrapper as s, useLinkOpenButtonState as c } from "@frontify/fondue/rte";
7
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx
8
+ var l = ({ editButtonProps: l, unlinkButtonProps: u }) => {
9
+ let { element: d } = c(), f = d ? e(d) : "";
10
+ return /* @__PURE__ */ a(s, {
11
+ "data-test-id": "floating-link-edit",
12
+ padding: "16px",
13
+ minWidth: "400px",
14
+ children: /* @__PURE__ */ o("span", {
15
+ "data-test-id": "preview-link-flyout",
16
+ className: "tw-flex tw-justify-between tw-items-center tw-gap-2",
17
+ children: [/* @__PURE__ */ a("a", {
18
+ "data-test-id": "floating-link-edit-url",
19
+ href: f,
20
+ target: "_blank",
21
+ rel: "noopener noreferrer",
22
+ style: n[t],
23
+ className: "tw-break-all",
24
+ children: f
25
+ }), /* @__PURE__ */ o("span", {
26
+ className: "tw-flex tw-gap-2",
27
+ children: [/* @__PURE__ */ a("button", {
28
+ tabIndex: 0,
29
+ "data-test-id": "edit-link-button",
30
+ className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
31
+ ...l,
32
+ children: /* @__PURE__ */ a(r, { size: 16 })
33
+ }), /* @__PURE__ */ a("button", {
34
+ tabIndex: 0,
35
+ "data-test-id": "remove-link-button",
36
+ className: "tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",
37
+ ...u,
38
+ children: /* @__PURE__ */ a(i, { size: 16 })
39
+ })]
40
+ })]
41
+ })
42
+ });
45
43
  };
46
- export {
47
- h as EditModal
48
- };
49
- //# sourceMappingURL=EditModal.es.js.map
44
+ //#endregion
45
+ export { l as EditModal };
46
+
47
+ //# sourceMappingURL=EditModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconPen, IconTrashBin } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper, useLinkOpenButtonState } from '@frontify/fondue/rte';\nimport { type MouseEvent } from 'react';\n\nimport { getUrlFromLinkOrLegacyLink } from '../../../../../Link';\nimport { BlockStyles } from '../../../styles';\nimport { LINK_PLUGIN } from '../../id';\n\ntype EditModalProps = {\n editButtonProps: {\n onClick: () => void;\n };\n unlinkButtonProps: {\n onMouseDown: (e: MouseEvent<HTMLButtonElement>) => void;\n onClick: () => void;\n };\n};\n\nexport const EditModal = ({ editButtonProps, unlinkButtonProps }: EditModalProps) => {\n const { element } = useLinkOpenButtonState();\n const url = element ? getUrlFromLinkOrLegacyLink(element) : '';\n\n return (\n <FloatingModalWrapper data-test-id=\"floating-link-edit\" padding=\"16px\" minWidth=\"400px\">\n <span data-test-id=\"preview-link-flyout\" className=\"tw-flex tw-justify-between tw-items-center tw-gap-2\">\n <a\n data-test-id=\"floating-link-edit-url\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={BlockStyles[LINK_PLUGIN]}\n className=\"tw-break-all\"\n >\n {url}\n </a>\n <span className=\"tw-flex tw-gap-2\">\n <button\n tabIndex={0}\n data-test-id=\"edit-link-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n {...editButtonProps}\n >\n <IconPen size={16} />\n </button>\n\n <button\n tabIndex={0}\n data-test-id=\"remove-link-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n {...unlinkButtonProps}\n >\n <IconTrashBin size={16} />\n </button>\n </span>\n </span>\n </FloatingModalWrapper>\n );\n};\n"],"names":["EditModal","editButtonProps","unlinkButtonProps","element","useLinkOpenButtonState","url","getUrlFromLinkOrLegacyLink","jsx","FloatingModalWrapper","jsxs","BlockStyles","LINK_PLUGIN","IconPen","IconTrashBin"],"mappings":";;;;;;AAoBO,MAAMA,IAAY,CAAC,EAAE,iBAAAC,GAAiB,mBAAAC,QAAwC;AACjF,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAMF,IAAUG,EAA2BH,CAAO,IAAI;AAE5D,SACI,gBAAAI,EAACC,GAAA,EAAqB,gBAAa,sBAAqB,SAAQ,QAAO,UAAS,SAC5E,UAAA,gBAAAC,EAAC,QAAA,EAAK,gBAAa,uBAAsB,WAAU,uDAC/C,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,MAAMF;AAAA,QACN,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,OAAOK,EAAYC,CAAW;AAAA,QAC9B,WAAU;AAAA,QAET,UAAAN;AAAA,MAAA;AAAA,IAAA;AAAA,IAEL,gBAAAI,EAAC,QAAA,EAAK,WAAU,oBACZ,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,UAAU;AAAA,UACV,gBAAa;AAAA,UACb,WAAU;AAAA,UACT,GAAGN;AAAA,UAEJ,UAAA,gBAAAM,EAACK,GAAA,EAAQ,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAGvB,gBAAAL;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,UAAU;AAAA,UACV,gBAAa;AAAA,UACb,WAAU;AAAA,UACT,GAAGL;AAAA,UAEJ,UAAA,gBAAAK,EAACM,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/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconPen, IconTrashBin } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper, useLinkOpenButtonState } from '@frontify/fondue/rte';\nimport { type MouseEvent } from 'react';\n\nimport { getUrlFromLinkOrLegacyLink } from '../../../../../Link';\nimport { BlockStyles } from '../../../styles';\nimport { LINK_PLUGIN } from '../../id';\n\ntype EditModalProps = {\n editButtonProps: {\n onClick: () => void;\n };\n unlinkButtonProps: {\n onMouseDown: (e: MouseEvent<HTMLButtonElement>) => void;\n onClick: () => void;\n };\n};\n\nexport const EditModal = ({ editButtonProps, unlinkButtonProps }: EditModalProps) => {\n const { element } = useLinkOpenButtonState();\n const url = element ? getUrlFromLinkOrLegacyLink(element) : '';\n\n return (\n <FloatingModalWrapper data-test-id=\"floating-link-edit\" padding=\"16px\" minWidth=\"400px\">\n <span data-test-id=\"preview-link-flyout\" className=\"tw-flex tw-justify-between tw-items-center tw-gap-2\">\n <a\n data-test-id=\"floating-link-edit-url\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={BlockStyles[LINK_PLUGIN]}\n className=\"tw-break-all\"\n >\n {url}\n </a>\n <span className=\"tw-flex tw-gap-2\">\n <button\n tabIndex={0}\n data-test-id=\"edit-link-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n {...editButtonProps}\n >\n <IconPen size={16} />\n </button>\n\n <button\n tabIndex={0}\n data-test-id=\"remove-link-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1\"\n {...unlinkButtonProps}\n >\n <IconTrashBin size={16} />\n </button>\n </span>\n </span>\n </FloatingModalWrapper>\n );\n};\n"],"mappings":";;;;;;;AAoBA,IAAa,KAAa,EAAE,oBAAiB,2BAAwC;CACjF,IAAM,EAAE,eAAY,EAAuB,GACrC,IAAM,IAAU,EAA2B,CAAO,IAAI;CAE5D,OACI,kBAAC,GAAD;EAAsB,gBAAa;EAAqB,SAAQ;EAAO,UAAS;EAC5E,UAAA,kBAAC,QAAD;GAAM,gBAAa;GAAsB,WAAU;GAAnD,UAAA,CACI,kBAAC,KAAD;IACI,gBAAa;IACb,MAAM;IACN,QAAO;IACP,KAAI;IACJ,OAAO,EAAY;IACnB,WAAU;IAET,UAAA;GACF,CAAA,GACH,kBAAC,QAAD;IAAM,WAAU;IAAhB,UAAA,CACI,kBAAC,UAAD;KACI,UAAU;KACV,gBAAa;KACb,WAAU;KACV,GAAI;KAEJ,UAAA,kBAAC,GAAD,EAAS,MAAM,GAAK,CAAA;IAChB,CAAA,GAER,kBAAC,UAAD;KACI,UAAU;KACV,gBAAa;KACb,WAAU;KACV,GAAI;KAEJ,UAAA,kBAAC,GAAD,EAAc,MAAM,GAAK,CAAA;IACrB,CAAA,CACN;GACJ,CAAA,CAAA;;CACY,CAAA;AAE9B"}
@@ -1,8 +1,12 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { InsertModal as t } from "./InsertModal.es.js";
3
- import { useInsertModal as r } from "./useInsertModal.es.js";
4
- const i = () => /* @__PURE__ */ o(t, { ...r(), testId: "floating-link-insert" });
5
- export {
6
- i as InsertLinkModal
7
- };
8
- //# sourceMappingURL=InsertLinkModal.es.js.map
1
+ import { InsertModal as e } from "./InsertModal.es.js";
2
+ import { useInsertModal as t } from "./useInsertModal.es.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx
5
+ var r = () => /* @__PURE__ */ n(e, {
6
+ ...t(),
7
+ testId: "floating-link-insert"
8
+ });
9
+ //#endregion
10
+ export { r as InsertLinkModal };
11
+
12
+ //# sourceMappingURL=InsertLinkModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InsertLinkModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { InsertModal } from './InsertModal';\nimport { useInsertModal } from './useInsertModal';\n\nexport const InsertLinkModal = () => <InsertModal {...useInsertModal()} testId=\"floating-link-insert\" />;\n"],"names":["InsertLinkModal","jsx","InsertModal","useInsertModal"],"mappings":";;;AAKO,MAAMA,IAAkB,MAAM,gBAAAC,EAACC,GAAA,EAAa,GAAGC,EAAA,GAAkB,QAAO,uBAAA,CAAuB;"}
1
+ {"version":3,"file":"InsertLinkModal.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { InsertModal } from './InsertModal';\nimport { useInsertModal } from './useInsertModal';\n\nexport const InsertLinkModal = () => <InsertModal {...useInsertModal()} testId=\"floating-link-insert\" />;\n"],"mappings":";;;;AAKA,IAAa,UAAwB,kBAAC,GAAD;CAAa,GAAI,EAAe;CAAG,QAAO;AAAwB,CAAA"}
@@ -1,71 +1,62 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { FormControl as x } from "@frontify/fondue";
3
- import { TextInput as w, Button as d } from "@frontify/fondue/components";
4
- import { IconCheckMark as b } from "@frontify/fondue/icons";
5
- import { FloatingModalWrapper as f } from "@frontify/fondue/rte";
6
- import { LinkInput as k } from "../../../../../Link/LinkInput.es.js";
7
- const z = ({
8
- state: t,
9
- onTextChange: n,
10
- onUrlChange: o,
11
- onToggleTab: l,
12
- onCancel: a,
13
- onSave: m,
14
- isValidUrlOrEmpty: i,
15
- hasValues: s,
16
- testId: c,
17
- appBridge: p,
18
- children: u
19
- }) => /* @__PURE__ */ r(f, { "data-test-id": c, padding: "28px", minWidth: "400px", children: [
20
- /* @__PURE__ */ e(
21
- x,
22
- {
23
- label: {
24
- children: "Text",
25
- htmlFor: "linkText",
26
- required: !0
27
- },
28
- children: /* @__PURE__ */ e(
29
- w,
30
- {
31
- id: "linkText",
32
- value: t.text,
33
- placeholder: "Link Text",
34
- onChange: (h) => n(h.target.value)
35
- }
36
- )
37
- }
38
- ),
39
- u,
40
- /* @__PURE__ */ e("div", { className: "tw-mt-5", children: /* @__PURE__ */ e(
41
- k,
42
- {
43
- url: t.url,
44
- newTab: t.newTab,
45
- onUrlChange: o,
46
- onToggleTab: l,
47
- isValidUrlOrEmpty: i,
48
- appBridge: p
49
- }
50
- ) }),
51
- /* @__PURE__ */ e("div", { className: "tw-mt-3", children: /* @__PURE__ */ r("div", { className: "tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10", children: [
52
- /* @__PURE__ */ e(d, { "data-test-id": "button", onPress: a, size: "medium", emphasis: "default", children: "Cancel" }),
53
- /* @__PURE__ */ r(
54
- d,
55
- {
56
- "data-test-id": "button",
57
- onPress: m,
58
- size: "medium",
59
- disabled: !i(t?.url) || !s,
60
- children: [
61
- /* @__PURE__ */ e(b, { size: "20" }),
62
- "Save"
63
- ]
64
- }
65
- )
66
- ] }) })
67
- ] });
68
- export {
69
- z as InsertModal
70
- };
71
- //# sourceMappingURL=InsertModal.es.js.map
1
+ import { LinkInput as e } from "../../../../../Link/LinkInput.es.js";
2
+ import { Button as t, TextInput as n } from "@frontify/fondue/components";
3
+ import { IconCheckMark as r } from "@frontify/fondue/icons";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { FormControl as o } from "@frontify/fondue";
6
+ import { FloatingModalWrapper as s } from "@frontify/fondue/rte";
7
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx
8
+ var c = ({ state: c, onTextChange: l, onUrlChange: u, onToggleTab: d, onCancel: f, onSave: p, isValidUrlOrEmpty: m, hasValues: h, testId: g, appBridge: _, children: v }) => /* @__PURE__ */ a(s, {
9
+ "data-test-id": g,
10
+ padding: "28px",
11
+ minWidth: "400px",
12
+ children: [
13
+ /* @__PURE__ */ i(o, {
14
+ label: {
15
+ children: "Text",
16
+ htmlFor: "linkText",
17
+ required: !0
18
+ },
19
+ children: /* @__PURE__ */ i(n, {
20
+ id: "linkText",
21
+ value: c.text,
22
+ placeholder: "Link Text",
23
+ onChange: (e) => l(e.target.value)
24
+ })
25
+ }),
26
+ v,
27
+ /* @__PURE__ */ i("div", {
28
+ className: "tw-mt-5",
29
+ children: /* @__PURE__ */ i(e, {
30
+ url: c.url,
31
+ newTab: c.newTab,
32
+ onUrlChange: u,
33
+ onToggleTab: d,
34
+ isValidUrlOrEmpty: m,
35
+ appBridge: _
36
+ })
37
+ }),
38
+ /* @__PURE__ */ i("div", {
39
+ className: "tw-mt-3",
40
+ children: /* @__PURE__ */ a("div", {
41
+ className: "tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",
42
+ children: [/* @__PURE__ */ i(t, {
43
+ "data-test-id": "button",
44
+ onPress: f,
45
+ size: "medium",
46
+ emphasis: "default",
47
+ children: "Cancel"
48
+ }), /* @__PURE__ */ a(t, {
49
+ "data-test-id": "button",
50
+ onPress: p,
51
+ size: "medium",
52
+ disabled: !m(c?.url) || !h,
53
+ children: [/* @__PURE__ */ i(r, { size: "20" }), "Save"]
54
+ })]
55
+ })
56
+ })
57
+ ]
58
+ });
59
+ //#endregion
60
+ export { c as InsertModal };
61
+
62
+ //# sourceMappingURL=InsertModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { FormControl } from '@frontify/fondue';\nimport { Button, TextInput } from '@frontify/fondue/components';\nimport { IconCheckMark } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper } from '@frontify/fondue/rte';\nimport { type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { LinkInput } from '../../../../../Link';\n\nimport { type InsertModalStateProps } from './types';\n\ntype Props = {\n state: InsertModalStateProps;\n onTextChange: (value: string) => void;\n onUrlChange: (value: string) => void;\n onToggleTab: (checked: boolean) => void;\n onCancel: () => void;\n onSave: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => void;\n hasValues: boolean;\n isValidUrlOrEmpty: (url: string) => boolean;\n testId?: string;\n children?: ReactNode;\n appBridge: AppBridgeBlock;\n};\n\nexport const InsertModal = ({\n state,\n onTextChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n isValidUrlOrEmpty,\n hasValues,\n testId,\n appBridge,\n children,\n}: Props): ReactElement => (\n <FloatingModalWrapper data-test-id={testId} padding=\"28px\" minWidth=\"400px\">\n <FormControl\n label={{\n children: 'Text',\n htmlFor: 'linkText',\n required: true,\n }}\n >\n <TextInput\n id=\"linkText\"\n value={state.text}\n placeholder=\"Link Text\"\n onChange={(event) => onTextChange(event.target.value)}\n />\n </FormControl>\n\n {children}\n\n <div className=\"tw-mt-5\">\n <LinkInput\n url={state.url}\n newTab={state.newTab}\n onUrlChange={onUrlChange}\n onToggleTab={onToggleTab}\n isValidUrlOrEmpty={isValidUrlOrEmpty}\n appBridge={appBridge}\n />\n </div>\n <div className=\"tw-mt-3\">\n <div className={'tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10'}>\n <Button data-test-id=\"button\" onPress={onCancel} size=\"medium\" emphasis=\"default\">\n Cancel\n </Button>\n <Button\n data-test-id=\"button\"\n onPress={onSave}\n size=\"medium\"\n disabled={!isValidUrlOrEmpty(state?.url) || !hasValues}\n >\n <IconCheckMark size=\"20\" />\n Save\n </Button>\n </div>\n </div>\n </FloatingModalWrapper>\n);\n"],"names":["InsertModal","state","onTextChange","onUrlChange","onToggleTab","onCancel","onSave","isValidUrlOrEmpty","hasValues","testId","appBridge","children","FloatingModalWrapper","jsx","FormControl","TextInput","event","LinkInput","jsxs","Button","IconCheckMark"],"mappings":";;;;;;AA2BO,MAAMA,IAAc,CAAC;AAAA,EACxB,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACJ,wBACKC,GAAA,EAAqB,gBAAcH,GAAQ,SAAQ,QAAO,UAAS,SAChE,UAAA;AAAA,EAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,QACH,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,MAGd,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAOd,EAAM;AAAA,UACb,aAAY;AAAA,UACZ,UAAU,CAACe,MAAUd,EAAac,EAAM,OAAO,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACxD;AAAA,EAAA;AAAA,EAGHL;AAAA,EAED,gBAAAE,EAAC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACG,KAAKhB,EAAM;AAAA,MACX,QAAQA,EAAM;AAAA,MACd,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAG;AAAA,MACA,WAAAG;AAAA,IAAA;AAAA,EAAA,GAER;AAAA,oBACC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAW,8EACZ,UAAA;AAAA,IAAA,gBAAAL,EAACM,GAAA,EAAO,gBAAa,UAAS,SAASd,GAAU,MAAK,UAAS,UAAS,WAAU,UAAA,SAAA,CAElF;AAAA,IACA,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,SAASb;AAAA,QACT,MAAK;AAAA,QACL,UAAU,CAACC,EAAkBN,GAAO,GAAG,KAAK,CAACO;AAAA,QAE7C,UAAA;AAAA,UAAA,gBAAAK,EAACO,GAAA,EAAc,MAAK,KAAA,CAAK;AAAA,UAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAE/B,EAAA,CACJ,EAAA,CACJ;AAAA,EAAA,CACJ;"}
1
+ {"version":3,"file":"InsertModal.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { FormControl } from '@frontify/fondue';\nimport { Button, TextInput } from '@frontify/fondue/components';\nimport { IconCheckMark } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper } from '@frontify/fondue/rte';\nimport { type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { LinkInput } from '../../../../../Link';\n\nimport { type InsertModalStateProps } from './types';\n\ntype Props = {\n state: InsertModalStateProps;\n onTextChange: (value: string) => void;\n onUrlChange: (value: string) => void;\n onToggleTab: (checked: boolean) => void;\n onCancel: () => void;\n onSave: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => void;\n hasValues: boolean;\n isValidUrlOrEmpty: (url: string) => boolean;\n testId?: string;\n children?: ReactNode;\n appBridge: AppBridgeBlock;\n};\n\nexport const InsertModal = ({\n state,\n onTextChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n isValidUrlOrEmpty,\n hasValues,\n testId,\n appBridge,\n children,\n}: Props): ReactElement => (\n <FloatingModalWrapper data-test-id={testId} padding=\"28px\" minWidth=\"400px\">\n <FormControl\n label={{\n children: 'Text',\n htmlFor: 'linkText',\n required: true,\n }}\n >\n <TextInput\n id=\"linkText\"\n value={state.text}\n placeholder=\"Link Text\"\n onChange={(event) => onTextChange(event.target.value)}\n />\n </FormControl>\n\n {children}\n\n <div className=\"tw-mt-5\">\n <LinkInput\n url={state.url}\n newTab={state.newTab}\n onUrlChange={onUrlChange}\n onToggleTab={onToggleTab}\n isValidUrlOrEmpty={isValidUrlOrEmpty}\n appBridge={appBridge}\n />\n </div>\n <div className=\"tw-mt-3\">\n <div className={'tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10'}>\n <Button data-test-id=\"button\" onPress={onCancel} size=\"medium\" emphasis=\"default\">\n Cancel\n </Button>\n <Button\n data-test-id=\"button\"\n onPress={onSave}\n size=\"medium\"\n disabled={!isValidUrlOrEmpty(state?.url) || !hasValues}\n >\n <IconCheckMark size=\"20\" />\n Save\n </Button>\n </div>\n </div>\n </FloatingModalWrapper>\n);\n"],"mappings":";;;;;;;AA2BA,IAAa,KAAe,EACxB,UACA,iBACA,gBACA,gBACA,aACA,WACA,sBACA,cACA,WACA,cACA,kBAEA,kBAAC,GAAD;CAAsB,gBAAc;CAAQ,SAAQ;CAAO,UAAS;CAApE,UAAA;EACI,kBAAC,GAAD;GACI,OAAO;IACH,UAAU;IACV,SAAS;IACT,UAAU;GACd;GAEA,UAAA,kBAAC,GAAD;IACI,IAAG;IACH,OAAO,EAAM;IACb,aAAY;IACZ,WAAW,MAAU,EAAa,EAAM,OAAO,KAAK;GACvD,CAAA;EACQ,CAAA;EAEZ;EAED,kBAAC,OAAD;GAAK,WAAU;GACX,UAAA,kBAAC,GAAD;IACI,KAAK,EAAM;IACX,QAAQ,EAAM;IACD;IACA;IACM;IACR;GACd,CAAA;EACA,CAAA;EACL,kBAAC,OAAD;GAAK,WAAU;GACX,UAAA,kBAAC,OAAD;IAAK,WAAW;IAAhB,UAAA,CACI,kBAAC,GAAD;KAAQ,gBAAa;KAAS,SAAS;KAAU,MAAK;KAAS,UAAS;KAAU,UAAA;IAE1E,CAAA,GACR,kBAAC,GAAD;KACI,gBAAa;KACb,SAAS;KACT,MAAK;KACL,UAAU,CAAC,EAAkB,GAAO,GAAG,KAAK,CAAC;KAJjD,UAAA,CAMI,kBAAC,GAAD,EAAe,MAAK,KAAM,CAAA,GAAC,MAEvB;IACP,CAAA,CAAA;;EACJ,CAAA;CACa"}
@@ -1,79 +1,78 @@
1
- import { useEditorRef as y, floatingLinkSelectors as o, getPluginOptions as m, ELEMENT_LINK as E, useHotkeys as b, floatingLinkActions as a, submitFloatingLink as w } from "@frontify/fondue/rte";
2
- import { useEffect as x, useReducer as I } from "react";
3
- import { getLegacyUrl as L, getUrl as N } from "../../utils/getUrl.es.js";
4
- import { isValidUrlOrEmpty as p } from "../../../../../Link/utils/url.es.js";
5
- import { addHttps as U } from "../../../../../../helpers/addHttps.es.js";
6
- const A = {
7
- url: "",
8
- text: "",
9
- newTab: !1
1
+ import { addHttps as e } from "../../../../../../helpers/addHttps.es.js";
2
+ import { isValidUrlOrEmpty as t } from "../../../../../Link/utils/url.es.js";
3
+ import { getLegacyUrl as n, getUrl as r } from "../../utils/getUrl.es.js";
4
+ import { useEffect as i, useReducer as a } from "react";
5
+ import { ELEMENT_LINK as o, floatingLinkActions as s, floatingLinkSelectors as c, getPluginOptions as l, submitFloatingLink as u, useEditorRef as d, useHotkeys as f } from "@frontify/fondue/rte";
6
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts
7
+ var p = {
8
+ url: "",
9
+ text: "",
10
+ newTab: !1
11
+ }, m = () => {
12
+ let [e, t] = a((e, t) => {
13
+ let { type: n, payload: r } = t;
14
+ switch (n) {
15
+ case "NEW_TAB": return {
16
+ ...e,
17
+ newTab: !0
18
+ };
19
+ case "SAME_TAB": return {
20
+ ...e,
21
+ newTab: !1
22
+ };
23
+ case "URL":
24
+ case "TEXT":
25
+ case "INIT": return {
26
+ ...e,
27
+ ...r
28
+ };
29
+ default: return e;
30
+ }
31
+ }, p);
32
+ return [e, t];
10
33
  }, h = () => {
11
- const [r, n] = I((t, s) => {
12
- const { type: l, payload: c } = s;
13
- switch (l) {
14
- case "NEW_TAB":
15
- return {
16
- ...t,
17
- newTab: !0
18
- };
19
- case "SAME_TAB":
20
- return {
21
- ...t,
22
- newTab: !1
23
- };
24
- case "URL":
25
- case "TEXT":
26
- case "INIT":
27
- return {
28
- ...t,
29
- ...c
30
- };
31
- default:
32
- return t;
33
- }
34
- }, A);
35
- return [r, n];
36
- }, R = () => {
37
- const r = y(), [n, t] = h();
38
- x(() => {
39
- const e = L(r), f = N(r), g = o.newTab();
40
- t({
41
- type: "INIT",
42
- payload: {
43
- text: o.text() || o.url(),
44
- newTab: g,
45
- url: e && f === "" ? e : o.url()
46
- }
47
- });
48
- }, [t, r]);
49
- const s = (e) => {
50
- t({
51
- type: "TEXT",
52
- payload: { text: e }
53
- });
54
- }, l = (e) => {
55
- t({
56
- type: "URL",
57
- payload: { url: e }
58
- });
59
- }, c = (e) => {
60
- t(e ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
61
- }, T = () => {
62
- a.reset();
63
- }, i = (e) => {
64
- !p(n.url) || !u || (a.text(n.text), a.url(U(n.url)), a.newTab(n.newTab), w(r) && e?.preventDefault());
65
- }, u = n.url !== "" && n.text !== "", { appBridge: d } = m(r, E);
66
- return b(
67
- "enter",
68
- i,
69
- {
70
- enableOnFormTags: ["INPUT"]
71
- },
72
- []
73
- ), { state: n, onTextChange: s, onUrlChange: l, onToggleTab: c, onCancel: T, onSave: i, hasValues: u, isValidUrlOrEmpty: p, appBridge: d };
34
+ let a = d(), [p, h] = m();
35
+ i(() => {
36
+ let e = n(a), t = r(a), i = c.newTab();
37
+ h({
38
+ type: "INIT",
39
+ payload: {
40
+ text: c.text() || c.url(),
41
+ newTab: i,
42
+ url: e && t === "" ? e : c.url()
43
+ }
44
+ });
45
+ }, [h, a]);
46
+ let g = (e) => {
47
+ h({
48
+ type: "TEXT",
49
+ payload: { text: e }
50
+ });
51
+ }, _ = (e) => {
52
+ h({
53
+ type: "URL",
54
+ payload: { url: e }
55
+ });
56
+ }, v = (e) => {
57
+ h(e ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
58
+ }, y = () => {
59
+ s.reset();
60
+ }, b = (n) => {
61
+ !t(p.url) || !x || (s.text(p.text), s.url(e(p.url)), s.newTab(p.newTab), u(a) && n?.preventDefault());
62
+ }, x = p.url !== "" && p.text !== "", { appBridge: S } = l(a, o);
63
+ return f("enter", b, { enableOnFormTags: ["INPUT"] }, []), {
64
+ state: p,
65
+ onTextChange: g,
66
+ onUrlChange: _,
67
+ onToggleTab: v,
68
+ onCancel: y,
69
+ onSave: b,
70
+ hasValues: x,
71
+ isValidUrlOrEmpty: t,
72
+ appBridge: S
73
+ };
74
74
  };
75
- export {
76
- h as InsertModalState,
77
- R as useInsertModal
78
- };
79
- //# sourceMappingURL=useInsertModal.es.js.map
75
+ //#endregion
76
+ export { m as InsertModalState, h as useInsertModal };
77
+
78
+ //# sourceMappingURL=useInsertModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n ELEMENT_LINK,\n floatingLinkActions,\n floatingLinkSelectors,\n getPluginOptions,\n submitFloatingLink,\n useEditorRef,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Dispatch, type MouseEvent, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../Link';\nimport { getLegacyUrl, getUrl } from '../../utils';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const legacyUrl = getLegacyUrl(editor);\n const url = getUrl(editor);\n const isNewTab = floatingLinkSelectors.newTab();\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingLinkSelectors.text() || floatingLinkSelectors.url(),\n newTab: isNewTab,\n url: legacyUrl && url === '' ? legacyUrl : floatingLinkSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingLinkActions.reset();\n };\n\n const onSave = (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n floatingLinkActions.text(state.text);\n floatingLinkActions.url(addHttps(state.url));\n floatingLinkActions.newTab(state.newTab);\n\n if (submitFloatingLink(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_LINK);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return { state, onTextChange, onUrlChange, onToggleTab, onCancel, onSave, hasValues, isValidUrlOrEmpty, appBridge };\n};\n"],"names":["initialState","InsertModalState","state","dispatch","useReducer","action","type","payload","useInsertModal","editor","useEditorRef","useEffect","legacyUrl","getLegacyUrl","url","getUrl","isNewTab","floatingLinkSelectors","onTextChange","value","onUrlChange","onToggleTab","checked","onCancel","floatingLinkActions","onSave","event","isValidUrlOrEmpty","hasValues","addHttps","submitFloatingLink","appBridge","getPluginOptions","ELEMENT_LINK","useHotkeys"],"mappings":";;;;;AAoBA,MAAMA,IAAsC;AAAA,EACxC,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AACZ,GAEaC,IAAmB,MAAkE;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoE,CAACF,GAAOG,MAAW;AAC7G,UAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYF;AAE1B,YAAQC,GAAA;AAAA,MACJ,KAAK;AACD,eAAO;AAAA,UACH,GAAGJ;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,GAAGK;AAAA,QAAA;AAAA,MAEX;AACI,eAAOL;AAAAA,IAAA;AAAA,EAEnB,GAAGF,CAAY;AAEf,SAAO,CAACE,GAAOC,CAAQ;AAC3B,GAEaK,IAAiB,MAAM;AAChC,QAAMC,IAASC,EAAA,GACT,CAACR,GAAOC,CAAQ,IAAIF,EAAA;AAE1B,EAAAU,EAAU,MAAM;AACZ,UAAMC,IAAYC,EAAaJ,CAAM,GAC/BK,IAAMC,EAAON,CAAM,GACnBO,IAAWC,EAAsB,OAAA;AACvC,IAAAd,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAMc,EAAsB,UAAUA,EAAsB,IAAA;AAAA,QAC5D,QAAQD;AAAA,QACR,KAAKJ,KAAaE,MAAQ,KAAKF,IAAYK,EAAsB,IAAA;AAAA,MAAI;AAAA,IACzE,CACH;AAAA,EACL,GAAG,CAACd,GAAUM,CAAM,CAAC;AAErB,QAAMS,IAAe,CAACC,MAAkB;AACpC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,MAAMgB,EAAA;AAAA,IAAM,CAC1B;AAAA,EACL,GAEMC,IAAc,CAACD,MAAkB;AACnC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,KAAKgB,EAAA;AAAA,IAAM,CACzB;AAAA,EACL,GAEME,IAAc,CAACC,MAAqB;AACtC,IAAUnB,EAAVmB,IAAmB,EAAE,MAAM,UAAA,IAAwB,EAAE,MAAM,YAArB;AAAA,EAC1C,GAEMC,IAAW,MAAM;AACnB,IAAAC,EAAoB,MAAA;AAAA,EACxB,GAEMC,IAAS,CAACC,MAA4F;AACxG,IAAI,CAACC,EAAkBzB,EAAM,GAAG,KAAK,CAAC0B,MAItCJ,EAAoB,KAAKtB,EAAM,IAAI,GACnCsB,EAAoB,IAAIK,EAAS3B,EAAM,GAAG,CAAC,GAC3CsB,EAAoB,OAAOtB,EAAM,MAAM,GAEnC4B,EAAmBrB,CAAM,KACzBiB,GAAO,eAAA;AAAA,EAEf,GAEME,IAAY1B,EAAM,QAAQ,MAAMA,EAAM,SAAS,IAE/C,EAAE,WAAA6B,EAAA,IAAcC,EAAgDvB,GAAQwB,CAAY;AAE1F,SAAAC;AAAA,IACI;AAAA,IACAT;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,IAAA;AAAA,IAE9B,CAAA;AAAA,EAAC,GAGE,EAAE,OAAAvB,GAAO,cAAAgB,GAAc,aAAAE,GAAa,aAAAC,GAAa,UAAAE,GAAU,QAAAE,GAAQ,WAAAG,GAAW,mBAAAD,GAAmB,WAAAI,EAAA;AAC5G;"}
1
+ {"version":3,"file":"useInsertModal.es.js","names":[],"sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n ELEMENT_LINK,\n floatingLinkActions,\n floatingLinkSelectors,\n getPluginOptions,\n submitFloatingLink,\n useEditorRef,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Dispatch, type MouseEvent, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../Link';\nimport { getLegacyUrl, getUrl } from '../../utils';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const legacyUrl = getLegacyUrl(editor);\n const url = getUrl(editor);\n const isNewTab = floatingLinkSelectors.newTab();\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingLinkSelectors.text() || floatingLinkSelectors.url(),\n newTab: isNewTab,\n url: legacyUrl && url === '' ? legacyUrl : floatingLinkSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingLinkActions.reset();\n };\n\n const onSave = (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n floatingLinkActions.text(state.text);\n floatingLinkActions.url(addHttps(state.url));\n floatingLinkActions.newTab(state.newTab);\n\n if (submitFloatingLink(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_LINK);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return { state, onTextChange, onUrlChange, onToggleTab, onCancel, onSave, hasValues, isValidUrlOrEmpty, appBridge };\n};\n"],"mappings":";;;;;;AAoBA,IAAM,IAAsC;CACxC,KAAK;CACL,MAAM;CACN,QAAQ;AACZ,GAEa,UAAqF;CAC9F,IAAM,CAAC,GAAO,KAAY,GAAqE,GAAO,MAAW;EAC7G,IAAM,EAAE,SAAM,eAAY;EAE1B,QAAQ,GAAR;GACI,KAAK,WACD,OAAO;IACH,GAAG;IACH,QAAQ;GACZ;GACJ,KAAK,YACD,OAAO;IACH,GAAG;IACH,QAAQ;GACZ;GACJ,KAAK;GACL,KAAK;GACL,KAAK,QACD,OAAO;IACH,GAAG;IACH,GAAG;GACP;GACJ,SACI,OAAO;EACf;CACJ,GAAG,CAAY;CAEf,OAAO,CAAC,GAAO,CAAQ;AAC3B,GAEa,UAAuB;CAChC,IAAM,IAAS,EAAa,GACtB,CAAC,GAAO,KAAY,EAAiB;CAE3C,QAAgB;EACZ,IAAM,IAAY,EAAa,CAAM,GAC/B,IAAM,EAAO,CAAM,GACnB,IAAW,EAAsB,OAAO;EAC9C,EAAS;GACL,MAAM;GACN,SAAS;IACL,MAAM,EAAsB,KAAK,KAAK,EAAsB,IAAI;IAChE,QAAQ;IACR,KAAK,KAAa,MAAQ,KAAK,IAAY,EAAsB,IAAI;GACzE;EACJ,CAAC;CACL,GAAG,CAAC,GAAU,CAAM,CAAC;CAErB,IAAM,KAAgB,MAAkB;EACpC,EAAS;GACL,MAAM;GACN,SAAS,EAAE,MAAM,EAAM;EAC3B,CAAC;CACL,GAEM,KAAe,MAAkB;EACnC,EAAS;GACL,MAAM;GACN,SAAS,EAAE,KAAK,EAAM;EAC1B,CAAC;CACL,GAEM,KAAe,MAAqB;EACtC,AAAU,EAAV,IAAmB,EAAE,MAAM,UAAU,IAAc,EAAE,MAAM,WAAW,CAAC;CAC3E,GAEM,UAAiB;EACnB,EAAoB,MAAM;CAC9B,GAEM,KAAU,MAA4F;EACpG,CAAC,EAAkB,EAAM,GAAG,KAAK,CAAC,MAItC,EAAoB,KAAK,EAAM,IAAI,GACnC,EAAoB,IAAI,EAAS,EAAM,GAAG,CAAC,GAC3C,EAAoB,OAAO,EAAM,MAAM,GAEnC,EAAmB,CAAM,KACzB,GAAO,eAAe;CAE9B,GAEM,IAAY,EAAM,QAAQ,MAAM,EAAM,SAAS,IAE/C,EAAE,iBAAc,EAAgD,GAAQ,CAAY;CAW1F,OATA,EACI,SACA,GACA,EACI,kBAAkB,CAAC,OAAO,EAC9B,GACA,CAAC,CACL,GAEO;EAAE;EAAO;EAAc;EAAa;EAAa;EAAU;EAAQ;EAAW;EAAmB;CAAU;AACtH"}
@@ -1,22 +1,18 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { useEditorState as r, useEventPlateId as l, isRangeInSameBlock as a, getTooltip as s, getHotkeyByPlatform as d } from "@frontify/fondue/rte";
3
- import { LinkToolbarButton as c } from "./LinkToolbarButton.es.js";
4
- const u = ({ id: i, editorId: n }) => {
5
- const t = r(l(n)), o = !!a(t, {
6
- at: t.selection
7
- });
8
- return /* @__PURE__ */ e("div", { "data-plugin-id": i, children: /* @__PURE__ */ e(
9
- c,
10
- {
11
- disabled: !o,
12
- tooltip: s(
13
- o ? `Link
14
- ${d("Ctrl+K")}` : "Links can only be set for a single text block."
15
- )
16
- }
17
- ) });
1
+ import { LinkToolbarButton as e } from "./LinkToolbarButton.es.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { getHotkeyByPlatform as n, getTooltip as r, isRangeInSameBlock as i, useEditorState as a, useEventPlateId as o } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx
5
+ var s = ({ id: s, editorId: c }) => {
6
+ let l = a(o(c)), u = !!i(l, { at: l.selection });
7
+ return /* @__PURE__ */ t("div", {
8
+ "data-plugin-id": s,
9
+ children: /* @__PURE__ */ t(e, {
10
+ disabled: !u,
11
+ tooltip: r(u ? `Link\n${n("Ctrl+K")}` : "Links can only be set for a single text block.")
12
+ })
13
+ });
18
14
  };
19
- export {
20
- u as LinkButton
21
- };
22
- //# sourceMappingURL=LinkButton.es.js.map
15
+ //#endregion
16
+ export { s as LinkButton };
17
+
18
+ //# sourceMappingURL=LinkButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PluginButtonProps,\n getHotkeyByPlatform,\n getTooltip,\n isRangeInSameBlock,\n useEditorState,\n useEventPlateId,\n} from '@frontify/fondue/rte';\n\nimport { LinkToolbarButton } from './LinkToolbarButton';\n\nexport const LinkButton = ({ id, editorId }: PluginButtonProps) => {\n const editor = useEditorState(useEventPlateId(editorId));\n const isEnabled = !!isRangeInSameBlock(editor, {\n at: editor.selection,\n });\n\n return (\n <div data-plugin-id={id}>\n <LinkToolbarButton\n disabled={!isEnabled}\n tooltip={getTooltip(\n isEnabled\n ? `Link\\n${getHotkeyByPlatform('Ctrl+K')}`\n : 'Links can only be set for a single text block.',\n )}\n />\n </div>\n );\n};\n"],"names":["LinkButton","id","editorId","editor","useEditorState","useEventPlateId","isEnabled","isRangeInSameBlock","jsx","LinkToolbarButton","getTooltip","getHotkeyByPlatform"],"mappings":";;;AAaO,MAAMA,IAAa,CAAC,EAAE,IAAAC,GAAI,UAAAC,QAAkC;AAC/D,QAAMC,IAASC,EAAeC,EAAgBH,CAAQ,CAAC,GACjDI,IAAY,CAAC,CAACC,EAAmBJ,GAAQ;AAAA,IAC3C,IAAIA,EAAO;AAAA,EAAA,CACd;AAED,SACI,gBAAAK,EAAC,OAAA,EAAI,kBAAgBP,GACjB,UAAA,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,UAAU,CAACH;AAAA,MACX,SAASI;AAAA,QACLJ,IACM;AAAA,EAASK,EAAoB,QAAQ,CAAC,KACtC;AAAA,MAAA;AAAA,IACV;AAAA,EAAA,GAER;AAER;"}
1
+ {"version":3,"file":"LinkButton.es.js","names":[],"sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PluginButtonProps,\n getHotkeyByPlatform,\n getTooltip,\n isRangeInSameBlock,\n useEditorState,\n useEventPlateId,\n} from '@frontify/fondue/rte';\n\nimport { LinkToolbarButton } from './LinkToolbarButton';\n\nexport const LinkButton = ({ id, editorId }: PluginButtonProps) => {\n const editor = useEditorState(useEventPlateId(editorId));\n const isEnabled = !!isRangeInSameBlock(editor, {\n at: editor.selection,\n });\n\n return (\n <div data-plugin-id={id}>\n <LinkToolbarButton\n disabled={!isEnabled}\n tooltip={getTooltip(\n isEnabled\n ? `Link\\n${getHotkeyByPlatform('Ctrl+K')}`\n : 'Links can only be set for a single text block.',\n )}\n />\n </div>\n );\n};\n"],"mappings":";;;;AAaA,IAAa,KAAc,EAAE,OAAI,kBAAkC;CAC/D,IAAM,IAAS,EAAe,EAAgB,CAAQ,CAAC,GACjD,IAAY,CAAC,CAAC,EAAmB,GAAQ,EAC3C,IAAI,EAAO,UACf,CAAC;CAED,OACI,kBAAC,OAAD;EAAK,kBAAgB;EACjB,UAAA,kBAAC,GAAD;GACI,UAAU,CAAC;GACX,SAAS,EACL,IACM,SAAS,EAAoB,QAAQ,MACrC,gDACV;EACH,CAAA;CACA,CAAA;AAEb"}
@@ -1,11 +1,18 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { useRichTextEditorContext as i } from "@frontify/fondue/rte";
3
- import { LINK_PLUGIN as m } from "../id.es.js";
4
- const f = (e) => {
5
- const { attributes: t, children: n } = e, { styles: r } = i(), o = e.element.url || e.element.chosenLink?.searchResult?.link || "", s = e.element.target || "_self";
6
- return /* @__PURE__ */ l("a", { ...t, href: o, target: s, style: r[m], children: n });
1
+ import { LINK_PLUGIN as e } from "../id.es.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { useRichTextEditorContext as n } from "@frontify/fondue/rte";
4
+ //#region src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx
5
+ var r = (r) => {
6
+ let { attributes: i, children: a } = r, { styles: o } = n(), s = r.element.url || r.element.chosenLink?.searchResult?.link || "", c = r.element.target || "_self";
7
+ return /* @__PURE__ */ t("a", {
8
+ ...i,
9
+ href: s,
10
+ target: c,
11
+ style: o[e],
12
+ children: a
13
+ });
7
14
  };
8
- export {
9
- f as LinkMarkupElementNode
10
- };
11
- //# sourceMappingURL=LinkMarkupElementNode.es.js.map
15
+ //#endregion
16
+ export { r as LinkMarkupElementNode };
17
+
18
+ //# sourceMappingURL=LinkMarkupElementNode.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkMarkupElementNode.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateRenderElementProps,\n type TLinkElement as TPlateLinkElement,\n useRichTextEditorContext,\n} from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../id';\n\nexport type TLinkElement = TPlateLinkElement & {\n chosenLink?: {\n searchResult?: {\n link?: string;\n };\n openInNewTab?: boolean;\n };\n};\n\nexport const LinkMarkupElementNode = (props: PlateRenderElementProps & { element: TLinkElement }) => {\n const { attributes, children } = props;\n\n const { styles } = useRichTextEditorContext();\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n\n return (\n <a {...attributes} href={href} target={target} style={styles[LINK_PLUGIN]}>\n {children}\n </a>\n );\n};\n"],"names":["LinkMarkupElementNode","props","attributes","children","styles","useRichTextEditorContext","href","target","jsx","LINK_PLUGIN"],"mappings":";;;AAmBO,MAAMA,IAAwB,CAACC,MAA+D;AACjG,QAAM,EAAE,YAAAC,GAAY,UAAAC,EAAA,IAAaF,GAE3B,EAAE,QAAAG,EAAA,IAAWC,EAAA,GACbC,IAAOL,EAAM,QAAQ,OAAOA,EAAM,QAAQ,YAAY,cAAc,QAAQ,IAC5EM,IAASN,EAAM,QAAQ,UAAU;AAEvC,SACI,gBAAAO,EAAC,KAAA,EAAG,GAAGN,GAAY,MAAAI,GAAY,QAAAC,GAAgB,OAAOH,EAAOK,CAAW,GACnE,UAAAN,EAAA,CACL;AAER;"}
1
+ {"version":3,"file":"LinkMarkupElementNode.es.js","names":[],"sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateRenderElementProps,\n type TLinkElement as TPlateLinkElement,\n useRichTextEditorContext,\n} from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../id';\n\nexport type TLinkElement = TPlateLinkElement & {\n chosenLink?: {\n searchResult?: {\n link?: string;\n };\n openInNewTab?: boolean;\n };\n};\n\nexport const LinkMarkupElementNode = (props: PlateRenderElementProps & { element: TLinkElement }) => {\n const { attributes, children } = props;\n\n const { styles } = useRichTextEditorContext();\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n\n return (\n <a {...attributes} href={href} target={target} style={styles[LINK_PLUGIN]}>\n {children}\n </a>\n );\n};\n"],"mappings":";;;;AAmBA,IAAa,KAAyB,MAA+D;CACjG,IAAM,EAAE,eAAY,gBAAa,GAE3B,EAAE,cAAW,EAAyB,GACtC,IAAO,EAAM,QAAQ,OAAO,EAAM,QAAQ,YAAY,cAAc,QAAQ,IAC5E,IAAS,EAAM,QAAQ,UAAU;CAEvC,OACI,kBAAC,KAAD;EAAG,GAAI;EAAkB;EAAc;EAAQ,OAAO,EAAO;EACxD;CACF,CAAA;AAEX"}