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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/_virtual/_rolldown/runtime.es.js +17 -0
  2. package/dist/components/Attachments/AttachmentItem.es.js +116 -168
  3. package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
  4. package/dist/components/Attachments/Attachments.es.js +145 -137
  5. package/dist/components/Attachments/Attachments.es.js.map +1 -1
  6. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +25 -28
  7. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -1
  8. package/dist/components/BlockInjectButton/BlockInjectButton.es.js +114 -126
  9. package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
  10. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +53 -74
  11. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
  12. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +26 -31
  13. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
  14. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +22 -25
  15. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
  16. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +17 -28
  17. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
  18. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +25 -35
  19. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
  20. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +41 -34
  21. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
  22. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +41 -36
  23. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
  24. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +24 -33
  25. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
  26. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +20 -11
  27. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
  28. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +18 -10
  29. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
  30. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +10 -12
  31. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -1
  32. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +13 -13
  33. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -1
  34. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +21 -19
  35. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
  36. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +18 -25
  37. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -1
  38. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -17
  39. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
  40. package/dist/components/BlockItemWrapper/constants.es.js +6 -6
  41. package/dist/components/BlockItemWrapper/constants.es.js.map +1 -1
  42. package/dist/components/Link/LinkInput.es.js +70 -63
  43. package/dist/components/Link/LinkInput.es.js.map +1 -1
  44. package/dist/components/Link/utils/getUrl.es.js +10 -12
  45. package/dist/components/Link/utils/getUrl.es.js.map +1 -1
  46. package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
  47. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
  48. package/dist/components/Link/utils/url.es.js +21 -17
  49. package/dist/components/Link/utils/url.es.js.map +1 -1
  50. package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
  51. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
  52. package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
  53. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  54. package/dist/components/RichTextEditor/constants.es.js +6 -5
  55. package/dist/components/RichTextEditor/constants.es.js.map +1 -1
  56. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
  57. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
  58. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
  59. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
  60. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
  61. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
  62. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
  63. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
  64. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
  65. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
  66. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
  67. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
  68. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
  69. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
  70. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
  71. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
  72. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
  73. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
  74. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
  116. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
  117. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
  118. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
  119. package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
  120. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
  121. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
  122. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
  123. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  124. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
  125. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
  126. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
  127. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
  128. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
  129. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
  130. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
  131. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
  132. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
  133. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  134. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
  135. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
  136. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
  137. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
  138. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
  139. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
  140. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
  144. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
  145. package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
  146. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
  147. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  148. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
  149. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  150. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
  151. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  152. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
  153. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  154. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
  155. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  156. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
  157. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  158. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
  159. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  160. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
  161. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
  162. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
  163. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  164. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
  165. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  166. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  170. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
  171. package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
  172. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
  173. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  174. package/dist/helpers/addHttps.es.js +12 -12
  175. package/dist/helpers/addHttps.es.js.map +1 -1
  176. package/dist/helpers/convertToRichTextValue.es.js +14 -6
  177. package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
  178. package/dist/helpers/hasRichTextValue.es.js +13 -14
  179. package/dist/helpers/hasRichTextValue.es.js.map +1 -1
  180. package/dist/helpers/isDownloadable.es.js +6 -5
  181. package/dist/helpers/isDownloadable.es.js.map +1 -1
  182. package/dist/hooks/useAttachments.es.js +65 -73
  183. package/dist/hooks/useAttachments.es.js.map +1 -1
  184. package/dist/hooks/useIsInViewport.es.js +20 -21
  185. package/dist/hooks/useIsInViewport.es.js.map +1 -1
  186. package/dist/index.cjs.js +2 -10
  187. package/dist/index.cjs.js.map +1 -1
  188. package/dist/index.d.ts +16 -34
  189. package/dist/index.es.js +219 -213
  190. package/dist/index.es.js.map +1 -1
  191. package/dist/index.umd.js +2 -10
  192. package/dist/index.umd.js.map +1 -1
  193. package/dist/settings/background.es.js +20 -21
  194. package/dist/settings/background.es.js.map +1 -1
  195. package/dist/settings/border.es.js +62 -64
  196. package/dist/settings/border.es.js.map +1 -1
  197. package/dist/settings/borderRadius.es.js +49 -52
  198. package/dist/settings/borderRadius.es.js.map +1 -1
  199. package/dist/settings/borderRadiusExtended.es.js +58 -60
  200. package/dist/settings/borderRadiusExtended.es.js.map +1 -1
  201. package/dist/settings/defaultValues.es.js +16 -19
  202. package/dist/settings/defaultValues.es.js.map +1 -1
  203. package/dist/settings/gutter.es.js +48 -52
  204. package/dist/settings/gutter.es.js.map +1 -1
  205. package/dist/settings/margin.es.js +49 -52
  206. package/dist/settings/margin.es.js.map +1 -1
  207. package/dist/settings/marginExtended.es.js +62 -64
  208. package/dist/settings/marginExtended.es.js.map +1 -1
  209. package/dist/settings/padding.es.js +49 -52
  210. package/dist/settings/padding.es.js.map +1 -1
  211. package/dist/settings/paddingExtended.es.js +62 -64
  212. package/dist/settings/paddingExtended.es.js.map +1 -1
  213. package/dist/settings/securityDownloadable.es.js +16 -16
  214. package/dist/settings/securityDownloadable.es.js.map +1 -1
  215. package/dist/settings/securityGlobalControl.es.js +26 -32
  216. package/dist/settings/securityGlobalControl.es.js.map +1 -1
  217. package/dist/settings/types.es.js +41 -47
  218. package/dist/settings/types.es.js.map +1 -1
  219. package/dist/styles.css +2 -1
  220. package/dist/utilities/color/getReadableColor.es.js +15 -13
  221. package/dist/utilities/color/getReadableColor.es.js.map +1 -1
  222. package/dist/utilities/color/isDark.es.js +14 -9
  223. package/dist/utilities/color/isDark.es.js.map +1 -1
  224. package/dist/utilities/color/setAlpha.es.js +7 -6
  225. package/dist/utilities/color/setAlpha.es.js.map +1 -1
  226. package/dist/utilities/color/toColorObject.es.js +14 -8
  227. package/dist/utilities/color/toColorObject.es.js.map +1 -1
  228. package/dist/utilities/color/toHex8String.es.js +7 -6
  229. package/dist/utilities/color/toHex8String.es.js.map +1 -1
  230. package/dist/utilities/color/toHexString.es.js +7 -6
  231. package/dist/utilities/color/toHexString.es.js.map +1 -1
  232. package/dist/utilities/color/toRgbaString.es.js +7 -6
  233. package/dist/utilities/color/toRgbaString.es.js.map +1 -1
  234. package/dist/utilities/color/toShortRgba.es.js +18 -11
  235. package/dist/utilities/color/toShortRgba.es.js.map +1 -1
  236. package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
  237. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
  238. package/dist/utilities/react/getBorderStyles.es.js +12 -11
  239. package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
  240. package/dist/utilities/react/getRadiusStyles.es.js +7 -8
  241. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
  242. package/dist/utilities/react/joinClassNames.es.js +6 -5
  243. package/dist/utilities/react/joinClassNames.es.js.map +1 -1
  244. package/package.json +7 -9
  245. package/dist/components/Link/LinkSelector/DocumentLink.es.js +0 -64
  246. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +0 -1
  247. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +0 -65
  248. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +0 -1
  249. package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
  250. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
  251. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +0 -7
  252. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +0 -1
  253. package/dist/components/Link/LinkSelector/PageLink.es.js +0 -69
  254. package/dist/components/Link/LinkSelector/PageLink.es.js.map +0 -1
  255. package/dist/components/Link/LinkSelector/PageLinks.es.js +0 -38
  256. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +0 -1
  257. package/dist/components/Link/LinkSelector/SectionLink.es.js +0 -26
  258. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +0 -1
  259. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +0 -5
  260. package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +0 -1
@@ -1,127 +1,115 @@
1
- import { jsx as e, jsxs as o, Fragment as Y } from "react/jsx-runtime";
2
- import { FileExtensionSets as A } from "@frontify/app-bridge";
3
- import { LoadingCircle as K, Flyout as I, Dropdown as f } from "@frontify/fondue/components";
4
- import { IconArrowCircleUp as V, IconImageStack as W, IconExclamationMarkTriangle as q } from "@frontify/fondue/icons";
5
- import { useState as y, useRef as G, useCallback as H, useMemo as J } from "react";
6
- import { joinClassNames as Q } from "../../utilities/react/joinClassNames.es.js";
7
- const et = ({
8
- onDrop: i,
9
- label: u,
10
- icon: j,
11
- secondaryLabel: w,
12
- isLoading: c,
13
- fillParentContainer: S,
14
- onAssetChooseClick: m,
15
- onUploadClick: g,
16
- withMenu: C = !0,
17
- onClick: D,
18
- validFileType: p,
19
- verticalLayout: E
20
- }) => {
21
- const [d, v] = y(!1), [n, h] = y(), b = G(null), [s, l] = y(void 0), M = (t) => {
22
- if (t.preventDefault(), v(!1), !O(t.dataTransfer.files)) {
23
- l("Invalid"), setTimeout(() => {
24
- l(void 0);
25
- }, 1e3);
26
- return;
27
- }
28
- i?.(t.dataTransfer.files);
29
- }, O = (t) => {
30
- if (!p)
31
- return !0;
32
- for (let r = 0; r < t.length; r++) {
33
- const a = t[r].name.split(".").pop() ?? "";
34
- if (!A[p].includes(a))
35
- return !1;
36
- }
37
- return !0;
38
- }, R = (t) => {
39
- if (!b.current || c)
40
- return;
41
- const { clientX: r, clientY: a } = t, N = r === 0 && a === 0, { left: z, top: B, width: k, height: F } = b.current.getBoundingClientRect(), P = N ? k / 2 : r - z, X = N ? F / 2 : a - B;
42
- h([P, X]);
43
- }, x = H((t) => {
44
- t(), h(void 0);
45
- }, []), T = J(() => {
46
- const t = [];
47
- return g && t.push({
48
- onSelect: () => x(g),
49
- title: "Upload asset",
50
- icon: /* @__PURE__ */ e(V, { size: "20" })
51
- }), m && t.push({
52
- onSelect: () => x(m),
53
- title: "Browse asset",
54
- icon: /* @__PURE__ */ e(W, { size: "20" })
55
- }), t;
56
- }, [m, g, x]);
57
- return /* @__PURE__ */ o(
58
- "button",
59
- {
60
- type: "button",
61
- ref: b,
62
- "data-test-id": "block-inject-button",
63
- className: Q([
64
- "tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br",
65
- E ? "[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl" : "[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",
66
- S ? "tw-h-full" : "tw-h-[72px]",
67
- d && !c ? "tw-border-dashed" : "tw-border-solid",
68
- n && "tw-bg-surface-hover",
69
- d && "tw-bg-surface",
70
- s ? "!tw-border-red-50 !tw-cursor-not-allowed" : " tw-border-line-mid",
71
- c || n || d || s ? "" : "tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong",
72
- (d || n) && !s ? "[&>*]:tw-pointer-events-none tw-border-line-strong" : "tw-bg-surface-dim tw-text-secondary"
73
- ]),
74
- onDragEnter: i ? (t) => {
75
- if (v(!0), p === "Images")
76
- for (const r of Array.from(t.dataTransfer.items))
77
- r?.type?.startsWith("image/") ? l(void 0) : l("Invalid");
78
- } : void 0,
79
- onDragOver: i ? (t) => {
80
- t.preventDefault();
81
- } : void 0,
82
- onDragLeave: i ? () => {
83
- v(!1), l(void 0);
84
- } : void 0,
85
- onDrop: i ? M : void 0,
86
- onClick: (t) => {
87
- C && !n && R(t), D?.();
88
- },
89
- children: [
90
- c ? /* @__PURE__ */ e(K, {}) : s ? /* @__PURE__ */ o("div", { className: " tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium", children: [
91
- /* @__PURE__ */ e(q, { size: "16" }),
92
- s
93
- ] }) : /* @__PURE__ */ o(Y, { children: [
94
- j && /* @__PURE__ */ e("div", { children: j }),
95
- (u || w) && /* @__PURE__ */ o("div", { className: "tw-flex tw-flex-col tw-items-start", children: [
96
- u && /* @__PURE__ */ e("div", { className: "tw-font-medium", children: u }),
97
- w && /* @__PURE__ */ e("div", { className: "tw-font-normal", children: w })
98
- ] })
99
- ] }),
100
- n && /* @__PURE__ */ e(
101
- "div",
102
- {
103
- className: "tw-absolute tw-left-0 tw-top-full tw-z-20",
104
- style: {
105
- left: n[0],
106
- top: n[1]
107
- },
108
- children: /* @__PURE__ */ o(I.Root, { open: !0, onOpenChange: (t) => !t && h(void 0), children: [
109
- /* @__PURE__ */ e(I.Trigger, { children: /* @__PURE__ */ e("div", {}) }),
110
- /* @__PURE__ */ e(I.Content, { triggerOffset: "compact", children: /* @__PURE__ */ o(f.Root, { open: !0, children: [
111
- /* @__PURE__ */ e(f.Trigger, { children: /* @__PURE__ */ e("div", {}) }),
112
- /* @__PURE__ */ e(f.Content, { triggerOffset: "compact", children: T.map((t) => /* @__PURE__ */ o(f.Item, { onSelect: t.onSelect, children: [
113
- t.icon,
114
- t.title
115
- ] }, t.title)) })
116
- ] }) })
117
- ] })
118
- }
119
- )
120
- ]
121
- }
122
- );
1
+ import { joinClassNames as e } from "../../utilities/react/joinClassNames.es.js";
2
+ import { FileExtensionSets as t } from "@frontify/app-bridge";
3
+ import { Dropdown as n, Flyout as r, LoadingCircle as i } from "@frontify/fondue/components";
4
+ import { IconArrowCircleUp as a, IconExclamationMarkTriangle as o, IconImageStack as s } from "@frontify/fondue/icons";
5
+ import { useCallback as c, useMemo as l, useRef as u, useState as d } from "react";
6
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
7
+ //#region src/components/BlockInjectButton/BlockInjectButton.tsx
8
+ var h = ({ onDrop: h, label: g, icon: _, secondaryLabel: v, isLoading: y, fillParentContainer: b, onAssetChooseClick: x, onUploadClick: S, withMenu: C = !0, onClick: w, validFileType: T, verticalLayout: E }) => {
9
+ let [D, O] = d(!1), [k, A] = d(), j = u(null), [M, N] = d(void 0), P = (e) => {
10
+ if (e.preventDefault(), O(!1), !F(e.dataTransfer.files)) {
11
+ N("Invalid"), setTimeout(() => {
12
+ N(void 0);
13
+ }, 1e3);
14
+ return;
15
+ }
16
+ h?.(e.dataTransfer.files);
17
+ }, F = (e) => {
18
+ if (!T) return !0;
19
+ for (let n = 0; n < e.length; n++) {
20
+ let r = e[n].name.split(".").pop() ?? "";
21
+ if (!t[T].includes(r)) return !1;
22
+ }
23
+ return !0;
24
+ }, I = (e) => {
25
+ if (!j.current || y) return;
26
+ let { clientX: t, clientY: n } = e, r = t === 0 && n === 0, { left: i, top: a, width: o, height: s } = j.current.getBoundingClientRect(), c = r ? o / 2 : t - i, l = r ? s / 2 : n - a;
27
+ A([c, l]);
28
+ }, L = c((e) => {
29
+ e(), A(void 0);
30
+ }, []), R = l(() => {
31
+ let e = [];
32
+ return S && e.push({
33
+ onSelect: () => L(S),
34
+ title: "Upload asset",
35
+ icon: /* @__PURE__ */ p(a, { size: "20" })
36
+ }), x && e.push({
37
+ onSelect: () => L(x),
38
+ title: "Browse asset",
39
+ icon: /* @__PURE__ */ p(s, { size: "20" })
40
+ }), e;
41
+ }, [
42
+ x,
43
+ S,
44
+ L
45
+ ]);
46
+ return /* @__PURE__ */ m("button", {
47
+ type: "button",
48
+ ref: j,
49
+ "data-test-id": "block-inject-button",
50
+ className: e([
51
+ "tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br",
52
+ E ? "[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl" : "[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",
53
+ b ? "tw-h-full" : "tw-h-[72px]",
54
+ D && !y ? "tw-border-dashed" : "tw-border-solid",
55
+ k && "tw-bg-surface-hover",
56
+ D && "tw-bg-surface",
57
+ M ? "!tw-border-red-50 !tw-cursor-not-allowed" : " tw-border-line-mid",
58
+ y || k || D || M ? "" : "tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong",
59
+ (D || k) && !M ? "[&>*]:tw-pointer-events-none tw-border-line-strong" : "tw-bg-surface-dim tw-text-secondary"
60
+ ]),
61
+ onDragEnter: h ? (e) => {
62
+ if (O(!0), T === "Images") for (let t of Array.from(e.dataTransfer.items)) t?.type?.startsWith("image/") ? N(void 0) : N("Invalid");
63
+ } : void 0,
64
+ onDragOver: h ? (e) => {
65
+ e.preventDefault();
66
+ } : void 0,
67
+ onDragLeave: h ? () => {
68
+ O(!1), N(void 0);
69
+ } : void 0,
70
+ onDrop: h ? P : void 0,
71
+ onClick: (e) => {
72
+ C && !k && I(e), w?.();
73
+ },
74
+ children: [y ? /* @__PURE__ */ p(i, {}) : M ? /* @__PURE__ */ m("div", {
75
+ className: " tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",
76
+ children: [/* @__PURE__ */ p(o, { size: "16" }), M]
77
+ }) : /* @__PURE__ */ m(f, { children: [_ && /* @__PURE__ */ p("div", { children: _ }), (g || v) && /* @__PURE__ */ m("div", {
78
+ className: "tw-flex tw-flex-col tw-items-start",
79
+ children: [g && /* @__PURE__ */ p("div", {
80
+ className: "tw-font-medium",
81
+ children: g
82
+ }), v && /* @__PURE__ */ p("div", {
83
+ className: "tw-font-normal",
84
+ children: v
85
+ })]
86
+ })] }), k && /* @__PURE__ */ p("div", {
87
+ className: "tw-absolute tw-left-0 tw-top-full tw-z-20",
88
+ style: {
89
+ left: k[0],
90
+ top: k[1]
91
+ },
92
+ children: /* @__PURE__ */ m(r.Root, {
93
+ open: !0,
94
+ onOpenChange: (e) => !e && A(void 0),
95
+ children: [/* @__PURE__ */ p(r.Trigger, { children: /* @__PURE__ */ p("div", {}) }), /* @__PURE__ */ p(r.Content, {
96
+ triggerOffset: "compact",
97
+ children: /* @__PURE__ */ m(n.Root, {
98
+ open: !0,
99
+ children: [/* @__PURE__ */ p(n.Trigger, { children: /* @__PURE__ */ p("div", {}) }), /* @__PURE__ */ p(n.Content, {
100
+ triggerOffset: "compact",
101
+ children: R.map((e) => /* @__PURE__ */ m(n.Item, {
102
+ onSelect: e.onSelect,
103
+ children: [e.icon, e.title]
104
+ }, e.title))
105
+ })]
106
+ })
107
+ })]
108
+ })
109
+ })]
110
+ });
123
111
  };
124
- export {
125
- et as BlockInjectButton
126
- };
127
- //# sourceMappingURL=BlockInjectButton.es.js.map
112
+ //#endregion
113
+ export { h as BlockInjectButton };
114
+
115
+ //# sourceMappingURL=BlockInjectButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockInjectButton.es.js","sources":["../../../src/components/BlockInjectButton/BlockInjectButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FileExtension, FileExtensionSets } from '@frontify/app-bridge';\nimport { Dropdown, Flyout, LoadingCircle } from '@frontify/fondue/components';\nimport { IconArrowCircleUp, IconImageStack, IconExclamationMarkTriangle } from '@frontify/fondue/icons';\nimport { type DragEventHandler, type MouseEventHandler, useCallback, useMemo, useRef, useState } from 'react';\n\nimport { joinClassNames } from '../../utilities/react/joinClassNames';\n\nimport { type BlockInjectButtonProps } from './types';\n\nexport const BlockInjectButton = ({\n onDrop,\n label,\n icon,\n secondaryLabel,\n isLoading,\n fillParentContainer,\n onAssetChooseClick,\n onUploadClick,\n withMenu = true,\n onClick,\n validFileType,\n verticalLayout,\n}: BlockInjectButtonProps) => {\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n const [menuPosition, setMenuPosition] = useState<[number, number] | undefined>();\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [errorMsg, setErrorMsg] = useState<string | undefined>(undefined);\n\n const handleDrop: DragEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n setIsDraggingOver(false);\n if (!isValidAsset(event.dataTransfer.files)) {\n setErrorMsg('Invalid');\n setTimeout(() => {\n setErrorMsg(undefined);\n }, 1000);\n return;\n }\n onDrop?.(event.dataTransfer.files);\n };\n\n const isValidAsset = (files: FileList) => {\n if (!validFileType) {\n return true;\n }\n for (let i = 0; i < files.length; i++) {\n const droppedFileExtension = (files[i].name.split('.').pop() ?? '') as FileExtension;\n if (!FileExtensionSets[validFileType].includes(droppedFileExtension)) {\n return false;\n }\n }\n return true;\n };\n\n const openMenu: MouseEventHandler<HTMLButtonElement> = (event) => {\n if (!buttonRef.current || isLoading) {\n return;\n }\n const { clientX, clientY } = event;\n const isKeyboardEvent = clientX === 0 && clientY === 0;\n const { left, top, width, height } = buttonRef.current.getBoundingClientRect();\n const XInsideComponent = !isKeyboardEvent ? clientX - left : width / 2;\n const YInsideComponent = !isKeyboardEvent ? clientY - top : height / 2;\n setMenuPosition([XInsideComponent, YInsideComponent]);\n };\n\n const onItemClick = useCallback((callback: () => unknown) => {\n callback();\n setMenuPosition(undefined);\n }, []);\n\n const menuItems = useMemo(() => {\n const items = [];\n if (onUploadClick) {\n items.push({\n onSelect: () => onItemClick(onUploadClick),\n title: 'Upload asset',\n icon: <IconArrowCircleUp size=\"20\" />,\n });\n }\n if (onAssetChooseClick) {\n items.push({\n onSelect: () => onItemClick(onAssetChooseClick),\n title: 'Browse asset',\n icon: <IconImageStack size=\"20\" />,\n });\n }\n return items;\n }, [onAssetChooseClick, onUploadClick, onItemClick]);\n return (\n <button\n type=\"button\"\n ref={buttonRef}\n data-test-id=\"block-inject-button\"\n className={joinClassNames([\n 'tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br',\n verticalLayout\n ? '[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl'\n : '[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr',\n fillParentContainer ? 'tw-h-full' : 'tw-h-[72px]',\n isDraggingOver && !isLoading ? 'tw-border-dashed' : 'tw-border-solid',\n menuPosition && 'tw-bg-surface-hover',\n isDraggingOver && 'tw-bg-surface',\n errorMsg ? '!tw-border-red-50 !tw-cursor-not-allowed' : ' tw-border-line-mid',\n isLoading || menuPosition || isDraggingOver || errorMsg\n ? ''\n : 'tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong',\n (isDraggingOver || !!menuPosition) && !errorMsg\n ? '[&>*]:tw-pointer-events-none tw-border-line-strong'\n : 'tw-bg-surface-dim tw-text-secondary',\n ])}\n onDragEnter={\n onDrop\n ? (event) => {\n setIsDraggingOver(true);\n // is now only used for images, can be adapted if needed\n if (validFileType === 'Images') {\n for (const item of Array.from(event.dataTransfer.items)) {\n if (!item?.type?.startsWith('image/')) {\n setErrorMsg('Invalid');\n } else {\n setErrorMsg(undefined);\n }\n }\n }\n }\n : undefined\n }\n onDragOver={\n onDrop\n ? (event) => {\n event.preventDefault();\n }\n : undefined\n }\n onDragLeave={\n onDrop\n ? () => {\n setIsDraggingOver(false);\n setErrorMsg(undefined);\n }\n : undefined\n }\n onDrop={onDrop ? handleDrop : undefined}\n onClick={(event) => {\n if (withMenu && !menuPosition) {\n openMenu(event);\n }\n onClick?.();\n }}\n >\n {isLoading ? (\n <LoadingCircle />\n ) : errorMsg ? (\n <div className=\" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium\">\n <IconExclamationMarkTriangle size=\"16\" />\n {errorMsg}\n </div>\n ) : (\n <>\n {icon && <div>{icon}</div>}\n {(label || secondaryLabel) && (\n <div className=\"tw-flex tw-flex-col tw-items-start\">\n {label && <div className=\"tw-font-medium\">{label}</div>}\n {secondaryLabel && <div className=\"tw-font-normal\">{secondaryLabel}</div>}\n </div>\n )}\n </>\n )}\n {menuPosition && (\n <div\n className=\"tw-absolute tw-left-0 tw-top-full tw-z-20\"\n style={{\n left: menuPosition[0],\n top: menuPosition[1],\n }}\n >\n <Flyout.Root open onOpenChange={(isOpen) => !isOpen && setMenuPosition(undefined)}>\n <Flyout.Trigger>\n <div />\n </Flyout.Trigger>\n <Flyout.Content triggerOffset=\"compact\">\n <Dropdown.Root open>\n <Dropdown.Trigger>\n <div />\n </Dropdown.Trigger>\n <Dropdown.Content triggerOffset=\"compact\">\n {menuItems.map((item) => (\n <Dropdown.Item key={item.title} onSelect={item.onSelect}>\n {item.icon}\n {item.title}\n </Dropdown.Item>\n ))}\n </Dropdown.Content>\n </Dropdown.Root>\n </Flyout.Content>\n </Flyout.Root>\n </div>\n )}\n </button>\n );\n};\n"],"names":["BlockInjectButton","onDrop","label","icon","secondaryLabel","isLoading","fillParentContainer","onAssetChooseClick","onUploadClick","withMenu","onClick","validFileType","verticalLayout","isDraggingOver","setIsDraggingOver","useState","menuPosition","setMenuPosition","buttonRef","useRef","errorMsg","setErrorMsg","handleDrop","event","isValidAsset","files","i","droppedFileExtension","FileExtensionSets","openMenu","clientX","clientY","isKeyboardEvent","left","top","width","height","XInsideComponent","YInsideComponent","onItemClick","useCallback","callback","menuItems","useMemo","items","jsx","IconArrowCircleUp","IconImageStack","jsxs","joinClassNames","item","LoadingCircle","IconExclamationMarkTriangle","Fragment","Flyout","isOpen","Dropdown"],"mappings":"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"}
1
+ {"version":3,"file":"BlockInjectButton.es.js","names":[],"sources":["../../../src/components/BlockInjectButton/BlockInjectButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FileExtension, FileExtensionSets } from '@frontify/app-bridge';\nimport { Dropdown, Flyout, LoadingCircle } from '@frontify/fondue/components';\nimport { IconArrowCircleUp, IconImageStack, IconExclamationMarkTriangle } from '@frontify/fondue/icons';\nimport { type DragEventHandler, type MouseEventHandler, useCallback, useMemo, useRef, useState } from 'react';\n\nimport { joinClassNames } from '../../utilities/react/joinClassNames';\n\nimport { type BlockInjectButtonProps } from './types';\n\nexport const BlockInjectButton = ({\n onDrop,\n label,\n icon,\n secondaryLabel,\n isLoading,\n fillParentContainer,\n onAssetChooseClick,\n onUploadClick,\n withMenu = true,\n onClick,\n validFileType,\n verticalLayout,\n}: BlockInjectButtonProps) => {\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n const [menuPosition, setMenuPosition] = useState<[number, number] | undefined>();\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [errorMsg, setErrorMsg] = useState<string | undefined>(undefined);\n\n const handleDrop: DragEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n setIsDraggingOver(false);\n if (!isValidAsset(event.dataTransfer.files)) {\n setErrorMsg('Invalid');\n setTimeout(() => {\n setErrorMsg(undefined);\n }, 1000);\n return;\n }\n onDrop?.(event.dataTransfer.files);\n };\n\n const isValidAsset = (files: FileList) => {\n if (!validFileType) {\n return true;\n }\n for (let i = 0; i < files.length; i++) {\n const droppedFileExtension = (files[i].name.split('.').pop() ?? '') as FileExtension;\n if (!FileExtensionSets[validFileType].includes(droppedFileExtension)) {\n return false;\n }\n }\n return true;\n };\n\n const openMenu: MouseEventHandler<HTMLButtonElement> = (event) => {\n if (!buttonRef.current || isLoading) {\n return;\n }\n const { clientX, clientY } = event;\n const isKeyboardEvent = clientX === 0 && clientY === 0;\n const { left, top, width, height } = buttonRef.current.getBoundingClientRect();\n const XInsideComponent = !isKeyboardEvent ? clientX - left : width / 2;\n const YInsideComponent = !isKeyboardEvent ? clientY - top : height / 2;\n setMenuPosition([XInsideComponent, YInsideComponent]);\n };\n\n const onItemClick = useCallback((callback: () => unknown) => {\n callback();\n setMenuPosition(undefined);\n }, []);\n\n const menuItems = useMemo(() => {\n const items = [];\n if (onUploadClick) {\n items.push({\n onSelect: () => onItemClick(onUploadClick),\n title: 'Upload asset',\n icon: <IconArrowCircleUp size=\"20\" />,\n });\n }\n if (onAssetChooseClick) {\n items.push({\n onSelect: () => onItemClick(onAssetChooseClick),\n title: 'Browse asset',\n icon: <IconImageStack size=\"20\" />,\n });\n }\n return items;\n }, [onAssetChooseClick, onUploadClick, onItemClick]);\n return (\n <button\n type=\"button\"\n ref={buttonRef}\n data-test-id=\"block-inject-button\"\n className={joinClassNames([\n 'tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br',\n verticalLayout\n ? '[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl'\n : '[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr',\n fillParentContainer ? 'tw-h-full' : 'tw-h-[72px]',\n isDraggingOver && !isLoading ? 'tw-border-dashed' : 'tw-border-solid',\n menuPosition && 'tw-bg-surface-hover',\n isDraggingOver && 'tw-bg-surface',\n errorMsg ? '!tw-border-red-50 !tw-cursor-not-allowed' : ' tw-border-line-mid',\n isLoading || menuPosition || isDraggingOver || errorMsg\n ? ''\n : 'tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong',\n (isDraggingOver || !!menuPosition) && !errorMsg\n ? '[&>*]:tw-pointer-events-none tw-border-line-strong'\n : 'tw-bg-surface-dim tw-text-secondary',\n ])}\n onDragEnter={\n onDrop\n ? (event) => {\n setIsDraggingOver(true);\n // is now only used for images, can be adapted if needed\n if (validFileType === 'Images') {\n for (const item of Array.from(event.dataTransfer.items)) {\n if (!item?.type?.startsWith('image/')) {\n setErrorMsg('Invalid');\n } else {\n setErrorMsg(undefined);\n }\n }\n }\n }\n : undefined\n }\n onDragOver={\n onDrop\n ? (event) => {\n event.preventDefault();\n }\n : undefined\n }\n onDragLeave={\n onDrop\n ? () => {\n setIsDraggingOver(false);\n setErrorMsg(undefined);\n }\n : undefined\n }\n onDrop={onDrop ? handleDrop : undefined}\n onClick={(event) => {\n if (withMenu && !menuPosition) {\n openMenu(event);\n }\n onClick?.();\n }}\n >\n {isLoading ? (\n <LoadingCircle />\n ) : errorMsg ? (\n <div className=\" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium\">\n <IconExclamationMarkTriangle size=\"16\" />\n {errorMsg}\n </div>\n ) : (\n <>\n {icon && <div>{icon}</div>}\n {(label || secondaryLabel) && (\n <div className=\"tw-flex tw-flex-col tw-items-start\">\n {label && <div className=\"tw-font-medium\">{label}</div>}\n {secondaryLabel && <div className=\"tw-font-normal\">{secondaryLabel}</div>}\n </div>\n )}\n </>\n )}\n {menuPosition && (\n <div\n className=\"tw-absolute tw-left-0 tw-top-full tw-z-20\"\n style={{\n left: menuPosition[0],\n top: menuPosition[1],\n }}\n >\n <Flyout.Root open onOpenChange={(isOpen) => !isOpen && setMenuPosition(undefined)}>\n <Flyout.Trigger>\n <div />\n </Flyout.Trigger>\n <Flyout.Content triggerOffset=\"compact\">\n <Dropdown.Root open>\n <Dropdown.Trigger>\n <div />\n </Dropdown.Trigger>\n <Dropdown.Content triggerOffset=\"compact\">\n {menuItems.map((item) => (\n <Dropdown.Item key={item.title} onSelect={item.onSelect}>\n {item.icon}\n {item.title}\n </Dropdown.Item>\n ))}\n </Dropdown.Content>\n </Dropdown.Root>\n </Flyout.Content>\n </Flyout.Root>\n </div>\n )}\n </button>\n );\n};\n"],"mappings":"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"}
@@ -1,74 +1,53 @@
1
- import { jsx as t, Fragment as d, jsxs as v } from "react/jsx-runtime";
2
- import { memo as y, useState as x, useRef as b } from "react";
3
- import { DragPreviewContextProvider as N } from "./Toolbar/context/DragPreviewContext.es.js";
4
- import { MultiFlyoutContextProvider as F } from "./Toolbar/context/MultiFlyoutContext.es.js";
5
- import { DEFAULT_MENU_BUTTON_ID as I } from "./Toolbar/MenuToolbarButton/MenuToolbarButton.es.js";
6
- import { Toolbar as T } from "./Toolbar/Toolbar.es.js";
7
- import { joinClassNames as n } from "../../utilities/react/joinClassNames.es.js";
8
- const j = y(
9
- ({
10
- children: e,
11
- toolbarItems: a,
12
- shouldHideWrapper: s,
13
- shouldHideComponent: w = !1,
14
- isDragging: c = !1,
15
- shouldFillContainer: h,
16
- outlineOffset: o = 0,
17
- shouldBeShown: i = !1,
18
- showAttachments: p = !1
19
- }) => {
20
- const [r, u] = x(i ? [I] : []), m = b(null);
21
- if (s)
22
- return /* @__PURE__ */ t(d, { children: e });
23
- const f = a?.filter((g) => g !== void 0), l = r.length > 0 || i;
24
- return /* @__PURE__ */ t(N, { isDragPreview: c, children: /* @__PURE__ */ t(F, { openFlyoutIds: r, setOpenFlyoutIds: u, children: /* @__PURE__ */ v(
25
- "div",
26
- {
27
- ref: m,
28
- "data-test-id": "block-item-wrapper",
29
- style: {
30
- outlineOffset: o
31
- },
32
- className: n([
33
- "tw-relative tw-group",
34
- h && "tw-flex-1 tw-h-full tw-w-full",
35
- "hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container",
36
- l && "tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container",
37
- w && "tw-opacity-0"
38
- ]),
39
- children: [
40
- /* @__PURE__ */ t(
41
- "div",
42
- {
43
- style: {
44
- right: -1 - o,
45
- bottom: `calc(100% - ${2 + o}px)`
46
- },
47
- className: n([
48
- "tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]",
49
- "group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100",
50
- "tw-flex tw-justify-end",
51
- l && "tw-opacity-100"
52
- ]),
53
- children: /* @__PURE__ */ t(
54
- T,
55
- {
56
- attachments: {
57
- isEnabled: p
58
- },
59
- items: f
60
- }
61
- )
62
- }
63
- ),
64
- e
65
- ]
66
- }
67
- ) }) });
68
- }
69
- );
70
- j.displayName = "BlockItemWrapper";
71
- export {
72
- j as BlockItemWrapper
73
- };
74
- //# sourceMappingURL=BlockItemWrapper.es.js.map
1
+ import { joinClassNames as e } from "../../utilities/react/joinClassNames.es.js";
2
+ import { DragPreviewContextProvider as t } from "./Toolbar/context/DragPreviewContext.es.js";
3
+ import { MultiFlyoutContextProvider as n } from "./Toolbar/context/MultiFlyoutContext.es.js";
4
+ import { DEFAULT_MENU_BUTTON_ID as r } from "./Toolbar/MenuToolbarButton/MenuToolbarButton.es.js";
5
+ import { Toolbar as i } from "./Toolbar/Toolbar.es.js";
6
+ import { memo as a, useRef as o, useState as s } from "react";
7
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ //#region src/components/BlockItemWrapper/BlockItemWrapper.tsx
9
+ var d = a(({ children: a, toolbarItems: d, shouldHideWrapper: f, shouldHideComponent: p = !1, isDragging: m = !1, shouldFillContainer: h, outlineOffset: g = 0, shouldBeShown: _ = !1, showAttachments: v = !1 }) => {
10
+ let [y, b] = s(_ ? [r] : []), x = o(null);
11
+ if (f) return /* @__PURE__ */ l(c, { children: a });
12
+ let S = d?.filter((e) => e !== void 0), C = y.length > 0 || _;
13
+ return /* @__PURE__ */ l(t, {
14
+ isDragPreview: m,
15
+ children: /* @__PURE__ */ l(n, {
16
+ openFlyoutIds: y,
17
+ setOpenFlyoutIds: b,
18
+ children: /* @__PURE__ */ u("div", {
19
+ ref: x,
20
+ "data-test-id": "block-item-wrapper",
21
+ style: { outlineOffset: g },
22
+ className: e([
23
+ "tw-relative tw-group",
24
+ h && "tw-flex-1 tw-h-full tw-w-full",
25
+ "hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container",
26
+ C && "tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container",
27
+ p && "tw-opacity-0"
28
+ ]),
29
+ children: [/* @__PURE__ */ l("div", {
30
+ style: {
31
+ right: -1 - g,
32
+ bottom: `calc(100% - ${2 + g}px)`
33
+ },
34
+ className: e([
35
+ "tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]",
36
+ "group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100",
37
+ "tw-flex tw-justify-end",
38
+ C && "tw-opacity-100"
39
+ ]),
40
+ children: /* @__PURE__ */ l(i, {
41
+ attachments: { isEnabled: v },
42
+ items: S
43
+ })
44
+ }), a]
45
+ })
46
+ })
47
+ });
48
+ });
49
+ d.displayName = "BlockItemWrapper";
50
+ //#endregion
51
+ export { d as BlockItemWrapper };
52
+
53
+ //# sourceMappingURL=BlockItemWrapper.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockItemWrapper.es.js","sources":["../../../src/components/BlockItemWrapper/BlockItemWrapper.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement, memo, useRef, useState } from 'react';\n\nimport { joinClassNames } from '../../utilities';\n\nimport { DEFAULT_MENU_BUTTON_ID, Toolbar, type ToolbarItem } from './Toolbar';\nimport { DragPreviewContextProvider } from './Toolbar/context/DragPreviewContext';\nimport { MultiFlyoutContextProvider } from './Toolbar/context/MultiFlyoutContext';\nimport { type BlockItemWrapperProps } from './types';\n\nexport const BlockItemWrapper = memo(\n ({\n children,\n toolbarItems,\n shouldHideWrapper,\n shouldHideComponent = false,\n isDragging = false,\n shouldFillContainer,\n outlineOffset = 0,\n shouldBeShown = false,\n showAttachments = false,\n }: BlockItemWrapperProps): ReactElement => {\n const [openFlyoutIds, setOpenFlyoutIds] = useState<string[]>(shouldBeShown ? [DEFAULT_MENU_BUTTON_ID] : []);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n if (shouldHideWrapper) {\n return <>{children}</>;\n }\n\n const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined);\n\n const shouldToolbarBeVisible = openFlyoutIds.length > 0 || shouldBeShown;\n\n return (\n <DragPreviewContextProvider isDragPreview={isDragging}>\n <MultiFlyoutContextProvider openFlyoutIds={openFlyoutIds} setOpenFlyoutIds={setOpenFlyoutIds}>\n <div\n ref={wrapperRef}\n data-test-id=\"block-item-wrapper\"\n style={{\n outlineOffset,\n }}\n className={joinClassNames([\n 'tw-relative tw-group',\n shouldFillContainer && 'tw-flex-1 tw-h-full tw-w-full',\n 'hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container',\n shouldToolbarBeVisible &&\n 'tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container',\n shouldHideComponent && 'tw-opacity-0',\n ])}\n >\n <div\n style={{\n right: -1 - outlineOffset,\n bottom: `calc(100% - ${2 + outlineOffset}px)`,\n }}\n className={joinClassNames([\n 'tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]',\n 'group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100',\n 'tw-flex tw-justify-end',\n shouldToolbarBeVisible && 'tw-opacity-100',\n ])}\n >\n <Toolbar\n attachments={{\n isEnabled: showAttachments,\n }}\n items={items}\n />\n </div>\n {children}\n </div>\n </MultiFlyoutContextProvider>\n </DragPreviewContextProvider>\n );\n },\n);\n\nBlockItemWrapper.displayName = 'BlockItemWrapper';\n"],"names":["BlockItemWrapper","memo","children","toolbarItems","shouldHideWrapper","shouldHideComponent","isDragging","shouldFillContainer","outlineOffset","shouldBeShown","showAttachments","openFlyoutIds","setOpenFlyoutIds","useState","DEFAULT_MENU_BUTTON_ID","wrapperRef","useRef","items","item","shouldToolbarBeVisible","DragPreviewContextProvider","jsx","MultiFlyoutContextProvider","jsxs","joinClassNames","Toolbar"],"mappings":";;;;;;;AAWO,MAAMA,IAAmBC;AAAA,EAC5B,CAAC;AAAA,IACG,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,IACtB,YAAAC,IAAa;AAAA,IACb,qBAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,eAAAC,IAAgB;AAAA,IAChB,iBAAAC,IAAkB;AAAA,EAAA,MACqB;AACvC,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAmBJ,IAAgB,CAACK,CAAsB,IAAI,EAAE,GACpGC,IAAaC,EAAuB,IAAI;AAE9C,QAAIZ;AACA,oCAAU,UAAAF,GAAS;AAGvB,UAAMe,IAAQd,GAAc,OAAO,CAACe,MAA8BA,MAAS,MAAS,GAE9EC,IAAyBR,EAAc,SAAS,KAAKF;AAE3D,6BACKW,GAAA,EAA2B,eAAed,GACvC,UAAA,gBAAAe,EAACC,GAAA,EAA2B,eAAAX,GAA8B,kBAAAC,GACtD,UAAA,gBAAAW;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKR;AAAA,QACL,gBAAa;AAAA,QACb,OAAO;AAAA,UACH,eAAAP;AAAA,QAAA;AAAA,QAEJ,WAAWgB,EAAe;AAAA,UACtB;AAAA,UACAjB,KAAuB;AAAA,UACvB;AAAA,UACAY,KACI;AAAA,UACJd,KAAuB;AAAA,QAAA,CAC1B;AAAA,QAED,UAAA;AAAA,UAAA,gBAAAgB;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,OAAO;AAAA,gBACH,OAAO,KAAKb;AAAA,gBACZ,QAAQ,eAAe,IAAIA,CAAa;AAAA,cAAA;AAAA,cAE5C,WAAWgB,EAAe;AAAA,gBACtB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACAL,KAA0B;AAAA,cAAA,CAC7B;AAAA,cAED,UAAA,gBAAAE;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACG,aAAa;AAAA,oBACT,WAAWf;AAAA,kBAAA;AAAA,kBAEf,OAAAO;AAAA,gBAAA;AAAA,cAAA;AAAA,YACJ;AAAA,UAAA;AAAA,UAEHf;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAET,EAAA,CACJ;AAAA,EAER;AACJ;AAEAF,EAAiB,cAAc;"}
1
+ {"version":3,"file":"BlockItemWrapper.es.js","names":[],"sources":["../../../src/components/BlockItemWrapper/BlockItemWrapper.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement, memo, useRef, useState } from 'react';\n\nimport { joinClassNames } from '../../utilities';\n\nimport { DEFAULT_MENU_BUTTON_ID, Toolbar, type ToolbarItem } from './Toolbar';\nimport { DragPreviewContextProvider } from './Toolbar/context/DragPreviewContext';\nimport { MultiFlyoutContextProvider } from './Toolbar/context/MultiFlyoutContext';\nimport { type BlockItemWrapperProps } from './types';\n\nexport const BlockItemWrapper = memo(\n ({\n children,\n toolbarItems,\n shouldHideWrapper,\n shouldHideComponent = false,\n isDragging = false,\n shouldFillContainer,\n outlineOffset = 0,\n shouldBeShown = false,\n showAttachments = false,\n }: BlockItemWrapperProps): ReactElement => {\n const [openFlyoutIds, setOpenFlyoutIds] = useState<string[]>(shouldBeShown ? [DEFAULT_MENU_BUTTON_ID] : []);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n if (shouldHideWrapper) {\n return <>{children}</>;\n }\n\n const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined);\n\n const shouldToolbarBeVisible = openFlyoutIds.length > 0 || shouldBeShown;\n\n return (\n <DragPreviewContextProvider isDragPreview={isDragging}>\n <MultiFlyoutContextProvider openFlyoutIds={openFlyoutIds} setOpenFlyoutIds={setOpenFlyoutIds}>\n <div\n ref={wrapperRef}\n data-test-id=\"block-item-wrapper\"\n style={{\n outlineOffset,\n }}\n className={joinClassNames([\n 'tw-relative tw-group',\n shouldFillContainer && 'tw-flex-1 tw-h-full tw-w-full',\n 'hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container',\n shouldToolbarBeVisible &&\n 'tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container',\n shouldHideComponent && 'tw-opacity-0',\n ])}\n >\n <div\n style={{\n right: -1 - outlineOffset,\n bottom: `calc(100% - ${2 + outlineOffset}px)`,\n }}\n className={joinClassNames([\n 'tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]',\n 'group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100',\n 'tw-flex tw-justify-end',\n shouldToolbarBeVisible && 'tw-opacity-100',\n ])}\n >\n <Toolbar\n attachments={{\n isEnabled: showAttachments,\n }}\n items={items}\n />\n </div>\n {children}\n </div>\n </MultiFlyoutContextProvider>\n </DragPreviewContextProvider>\n );\n },\n);\n\nBlockItemWrapper.displayName = 'BlockItemWrapper';\n"],"mappings":";;;;;;;;AAWA,IAAa,IAAmB,GAC3B,EACG,aACA,iBACA,sBACA,yBAAsB,IACtB,gBAAa,IACb,wBACA,mBAAgB,GAChB,mBAAgB,IAChB,qBAAkB,SACqB;CACvC,IAAM,CAAC,GAAe,KAAoB,EAAmB,IAAgB,CAAC,CAAsB,IAAI,CAAC,CAAC,GACpG,IAAa,EAAuB,IAAI;CAE9C,IAAI,GACA,OAAO,kBAAA,GAAA,EAAG,YAAW,CAAA;CAGzB,IAAM,IAAQ,GAAc,QAAQ,MAA8B,MAAS,KAAA,CAAS,GAE9E,IAAyB,EAAc,SAAS,KAAK;CAE3D,OACI,kBAAC,GAAD;EAA4B,eAAe;EACvC,UAAA,kBAAC,GAAD;GAA2C;GAAiC;GACxE,UAAA,kBAAC,OAAD;IACI,KAAK;IACL,gBAAa;IACb,OAAO,EACH,iBACJ;IACA,WAAW,EAAe;KACtB;KACA,KAAuB;KACvB;KACA,KACI;KACJ,KAAuB;IAC3B,CAAC;IAbL,UAAA,CAeI,kBAAC,OAAD;KACI,OAAO;MACH,OAAO,KAAK;MACZ,QAAQ,eAAe,IAAI,EAAc;KAC7C;KACA,WAAW,EAAe;MACtB;MACA;MACA;MACA,KAA0B;KAC9B,CAAC;KAED,UAAA,kBAAC,GAAD;MACI,aAAa,EACT,WAAW,EACf;MACO;KACV,CAAA;IACA,CAAA,GACJ,CACA;;EACmB,CAAA;CACJ,CAAA;AAEpC,CACJ;AAEA,EAAiB,cAAc"}
@@ -1,32 +1,27 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import { useDragPreviewContext as h } from "../context/DragPreviewContext.es.js";
3
- import { useMultiFlyoutState as A } from "../hooks/useMultiFlyoutState.es.js";
4
- import { AttachmentsToolbarButtonTrigger as l } from "./AttachmentsToolbarButtonTrigger.es.js";
5
- import { useAttachmentsContext as T } from "../../../../hooks/useAttachments.es.js";
6
- import { Attachments as g } from "../../../Attachments/Attachments.es.js";
7
- const u = "attachments", x = ({
8
- flyoutId: o = u
9
- }) => {
10
- const { appBridge: n, attachments: r, onAttachmentsAdd: t, onAttachmentDelete: a, onAttachmentReplace: e, onAttachmentsSorted: m } = T(), { isOpen: s, onOpenChange: c } = A(o), i = h();
11
- return /* @__PURE__ */ p(
12
- g,
13
- {
14
- onUpload: t,
15
- onDelete: a,
16
- onReplaceWithBrowse: e,
17
- onReplaceWithUpload: e,
18
- onSorted: m,
19
- onBrowse: t,
20
- items: r,
21
- appBridge: n,
22
- triggerComponent: l,
23
- isOpen: s && !i,
24
- onOpenChange: c
25
- }
26
- );
1
+ import { useDragPreviewContext as e } from "../context/DragPreviewContext.es.js";
2
+ import { useMultiFlyoutState as t } from "../hooks/useMultiFlyoutState.es.js";
3
+ import { useAttachmentsContext as n } from "../../../../hooks/useAttachments.es.js";
4
+ import { Attachments as r } from "../../../Attachments/Attachments.es.js";
5
+ import { AttachmentsToolbarButtonTrigger as i } from "./AttachmentsToolbarButtonTrigger.es.js";
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ //#region src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx
8
+ var o = "attachments", s = ({ flyoutId: s = o }) => {
9
+ let { appBridge: c, attachments: l, onAttachmentsAdd: u, onAttachmentDelete: d, onAttachmentReplace: f, onAttachmentsSorted: p } = n(), { isOpen: m, onOpenChange: h } = t(s), g = e();
10
+ return /* @__PURE__ */ a(r, {
11
+ onUpload: u,
12
+ onDelete: d,
13
+ onReplaceWithBrowse: f,
14
+ onReplaceWithUpload: f,
15
+ onSorted: p,
16
+ onBrowse: u,
17
+ items: l,
18
+ appBridge: c,
19
+ triggerComponent: i,
20
+ isOpen: m && !g,
21
+ onOpenChange: h
22
+ });
27
23
  };
28
- export {
29
- x as AttachmentsToolbarButton,
30
- u as DEFAULT_ATTACHMENTS_BUTTON_ID
31
- };
32
- //# sourceMappingURL=AttachmentsToolbarButton.es.js.map
24
+ //#endregion
25
+ export { s as AttachmentsToolbarButton, o as DEFAULT_ATTACHMENTS_BUTTON_ID };
26
+
27
+ //# sourceMappingURL=AttachmentsToolbarButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentsToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useAttachmentsContext } from '../../../../hooks';\nimport { Attachments } from '../../../Attachments';\nimport { useDragPreviewContext } from '../context/DragPreviewContext';\nimport { useMultiFlyoutState } from '../hooks/useMultiFlyoutState';\n\nimport { AttachmentsToolbarButtonTrigger } from './AttachmentsToolbarButtonTrigger';\n\nexport const DEFAULT_ATTACHMENTS_BUTTON_ID = 'attachments';\n\ntype AttachmentsToolbarButtonProps = { flyoutId?: string };\n\nexport const AttachmentsToolbarButton = ({\n flyoutId = DEFAULT_ATTACHMENTS_BUTTON_ID,\n}: AttachmentsToolbarButtonProps) => {\n const { appBridge, attachments, onAttachmentsAdd, onAttachmentDelete, onAttachmentReplace, onAttachmentsSorted } =\n useAttachmentsContext();\n\n const { isOpen, onOpenChange } = useMultiFlyoutState(flyoutId);\n const isDragPreview = useDragPreviewContext();\n\n return (\n <Attachments\n onUpload={onAttachmentsAdd}\n onDelete={onAttachmentDelete}\n onReplaceWithBrowse={onAttachmentReplace}\n onReplaceWithUpload={onAttachmentReplace}\n onSorted={onAttachmentsSorted}\n onBrowse={onAttachmentsAdd}\n items={attachments}\n appBridge={appBridge}\n triggerComponent={AttachmentsToolbarButtonTrigger}\n isOpen={isOpen && !isDragPreview}\n onOpenChange={onOpenChange}\n />\n );\n};\n"],"names":["DEFAULT_ATTACHMENTS_BUTTON_ID","AttachmentsToolbarButton","flyoutId","appBridge","attachments","onAttachmentsAdd","onAttachmentDelete","onAttachmentReplace","onAttachmentsSorted","useAttachmentsContext","isOpen","onOpenChange","useMultiFlyoutState","isDragPreview","useDragPreviewContext","jsx","Attachments","AttachmentsToolbarButtonTrigger"],"mappings":";;;;;;AASO,MAAMA,IAAgC,eAIhCC,IAA2B,CAAC;AAAA,EACrC,UAAAC,IAAWF;AACf,MAAqC;AACjC,QAAM,EAAE,WAAAG,GAAW,aAAAC,GAAa,kBAAAC,GAAkB,oBAAAC,GAAoB,qBAAAC,GAAqB,qBAAAC,EAAA,IACvFC,EAAA,GAEE,EAAE,QAAAC,GAAQ,cAAAC,MAAiBC,EAAoBV,CAAQ,GACvDW,IAAgBC,EAAA;AAEtB,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,UAAUX;AAAA,MACV,UAAUC;AAAA,MACV,qBAAqBC;AAAA,MACrB,qBAAqBA;AAAA,MACrB,UAAUC;AAAA,MACV,UAAUH;AAAA,MACV,OAAOD;AAAA,MACP,WAAAD;AAAA,MACA,kBAAkBc;AAAA,MAClB,QAAQP,KAAU,CAACG;AAAA,MACnB,cAAAF;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"AttachmentsToolbarButton.es.js","names":[],"sources":["../../../../../src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useAttachmentsContext } from '../../../../hooks';\nimport { Attachments } from '../../../Attachments';\nimport { useDragPreviewContext } from '../context/DragPreviewContext';\nimport { useMultiFlyoutState } from '../hooks/useMultiFlyoutState';\n\nimport { AttachmentsToolbarButtonTrigger } from './AttachmentsToolbarButtonTrigger';\n\nexport const DEFAULT_ATTACHMENTS_BUTTON_ID = 'attachments';\n\ntype AttachmentsToolbarButtonProps = { flyoutId?: string };\n\nexport const AttachmentsToolbarButton = ({\n flyoutId = DEFAULT_ATTACHMENTS_BUTTON_ID,\n}: AttachmentsToolbarButtonProps) => {\n const { appBridge, attachments, onAttachmentsAdd, onAttachmentDelete, onAttachmentReplace, onAttachmentsSorted } =\n useAttachmentsContext();\n\n const { isOpen, onOpenChange } = useMultiFlyoutState(flyoutId);\n const isDragPreview = useDragPreviewContext();\n\n return (\n <Attachments\n onUpload={onAttachmentsAdd}\n onDelete={onAttachmentDelete}\n onReplaceWithBrowse={onAttachmentReplace}\n onReplaceWithUpload={onAttachmentReplace}\n onSorted={onAttachmentsSorted}\n onBrowse={onAttachmentsAdd}\n items={attachments}\n appBridge={appBridge}\n triggerComponent={AttachmentsToolbarButtonTrigger}\n isOpen={isOpen && !isDragPreview}\n onOpenChange={onOpenChange}\n />\n );\n};\n"],"mappings":";;;;;;;AASA,IAAa,IAAgC,eAIhC,KAA4B,EACrC,cAAW,QACsB;CACjC,IAAM,EAAE,cAAW,gBAAa,qBAAkB,uBAAoB,wBAAqB,2BACvF,EAAsB,GAEpB,EAAE,WAAQ,oBAAiB,EAAoB,CAAQ,GACvD,IAAgB,EAAsB;CAE5C,OACI,kBAAC,GAAD;EACI,UAAU;EACV,UAAU;EACV,qBAAqB;EACrB,qBAAqB;EACrB,UAAU;EACV,UAAU;EACV,OAAO;EACI;EACX,kBAAkB;EAClB,QAAQ,KAAU,CAAC;EACL;CACjB,CAAA;AAET"}
@@ -1,25 +1,22 @@
1
- import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
- import { IconPaperclip as m, IconCaretDown as n } from "@frontify/fondue/icons";
3
- import { forwardRef as s } from "react";
4
- import { BaseToolbarButton as c } from "../BaseToolbarButton.es.js";
5
- const l = s(
6
- ({ children: o, isFlyoutOpen: r, ...e }, a) => /* @__PURE__ */ i(
7
- c,
8
- {
9
- forceActiveStyle: r,
10
- "data-test-id": "attachments-toolbar-button-trigger",
11
- ref: a,
12
- ...e,
13
- children: [
14
- /* @__PURE__ */ t(m, { size: "16" }),
15
- o,
16
- /* @__PURE__ */ t(n, { size: "12" })
17
- ]
18
- }
19
- )
20
- );
21
- l.displayName = "AttachmentsToolbarButtonTrigger";
22
- export {
23
- l as AttachmentsToolbarButtonTrigger
24
- };
25
- //# sourceMappingURL=AttachmentsToolbarButtonTrigger.es.js.map
1
+ import { BaseToolbarButton as e } from "../BaseToolbarButton.es.js";
2
+ import { IconCaretDown as t, IconPaperclip as n } from "@frontify/fondue/icons";
3
+ import { forwardRef as r } from "react";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ //#region src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx
6
+ var o = r(({ children: r, isFlyoutOpen: o, ...s }, c) => /* @__PURE__ */ a(e, {
7
+ forceActiveStyle: o,
8
+ "data-test-id": "attachments-toolbar-button-trigger",
9
+ ref: c,
10
+ ...s,
11
+ "aria-haspopup": "menu",
12
+ children: [
13
+ /* @__PURE__ */ i(n, { size: "16" }),
14
+ r,
15
+ /* @__PURE__ */ i(t, { size: "12" })
16
+ ]
17
+ }));
18
+ o.displayName = "AttachmentsToolbarButtonTrigger";
19
+ //#endregion
20
+ export { o as AttachmentsToolbarButtonTrigger };
21
+
22
+ //# sourceMappingURL=AttachmentsToolbarButtonTrigger.es.js.map