@frontify/guideline-blocks-settings 0.33.4 → 0.33.5

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 (508) hide show
  1. package/dist/components/Attachments/AttachmentItem.es.js +174 -0
  2. package/dist/components/Attachments/AttachmentItem.es.js.map +1 -0
  3. package/dist/components/Attachments/Attachments.es.js +160 -0
  4. package/dist/components/Attachments/Attachments.es.js.map +1 -0
  5. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +29 -0
  6. package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -0
  7. package/dist/components/BlockInjectButton/BlockInjectButton.es.js +150 -0
  8. package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -0
  9. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +71 -0
  10. package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -0
  11. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +33 -0
  12. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -0
  13. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +26 -0
  14. package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -0
  15. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +28 -0
  16. package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -0
  17. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +35 -0
  18. package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -0
  19. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +44 -0
  20. package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -0
  21. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +25 -0
  22. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -0
  23. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.es.js +29 -0
  24. package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.es.js.map +1 -0
  25. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +22 -0
  26. package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -0
  27. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +12 -0
  28. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -0
  29. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +20 -0
  30. package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -0
  31. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +6 -0
  32. package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -0
  33. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +11 -0
  34. package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -0
  35. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +18 -0
  36. package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -0
  37. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +26 -0
  38. package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -0
  39. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -0
  40. package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -0
  41. package/dist/components/BlockItemWrapper/constants.es.js +6 -0
  42. package/dist/components/BlockItemWrapper/constants.es.js.map +1 -0
  43. package/dist/components/DownloadButton/DownloadButton.es.js +39 -0
  44. package/dist/components/DownloadButton/DownloadButton.es.js.map +1 -0
  45. package/dist/components/Link/LinkInput.es.js +63 -0
  46. package/dist/components/Link/LinkInput.es.js.map +1 -0
  47. package/dist/components/Link/LinkSelector/DocumentLink.es.js +68 -0
  48. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -0
  49. package/dist/components/Link/LinkSelector/DocumentLinks.es.js +60 -0
  50. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -0
  51. package/dist/components/Link/LinkSelector/LinkSelector.es.js +78 -0
  52. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -0
  53. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +7 -0
  54. package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +1 -0
  55. package/dist/components/Link/LinkSelector/PageLink.es.js +70 -0
  56. package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -0
  57. package/dist/components/Link/LinkSelector/PageLinks.es.js +38 -0
  58. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -0
  59. package/dist/components/Link/LinkSelector/SectionLink.es.js +25 -0
  60. package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -0
  61. package/dist/components/Link/utils/getUrl.es.js +18 -0
  62. package/dist/components/Link/utils/getUrl.es.js.map +1 -0
  63. package/dist/components/Link/utils/relativeUrlRegex.es.js +5 -0
  64. package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -0
  65. package/dist/components/Link/utils/url.es.js +17 -0
  66. package/dist/components/Link/utils/url.es.js.map +1 -0
  67. package/dist/components/RichTextEditor/RichTextEditor.es.js +42 -0
  68. package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -0
  69. package/dist/components/RichTextEditor/SerializedText.es.js +20 -0
  70. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -0
  71. package/dist/components/RichTextEditor/constants.es.js +5 -0
  72. package/dist/components/RichTextEditor/constants.es.js.map +1 -0
  73. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +35 -0
  74. package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -0
  75. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +54 -0
  76. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -0
  77. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -0
  78. package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -0
  79. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +17 -0
  80. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -0
  81. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +30 -0
  82. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -0
  83. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +16 -0
  84. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -0
  85. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +43 -0
  86. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -0
  87. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.es.js +25 -0
  88. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.es.js.map +1 -0
  89. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.es.js +20 -0
  90. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.es.js.map +1 -0
  91. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.es.js +26 -0
  92. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.es.js.map +1 -0
  93. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +69 -0
  94. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -0
  95. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +105 -0
  96. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -0
  97. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.es.js +20 -0
  98. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.es.js.map +1 -0
  99. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +32 -0
  100. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -0
  101. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +58 -0
  102. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -0
  103. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +19 -0
  104. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -0
  105. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +26 -0
  106. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -0
  107. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +43 -0
  108. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -0
  109. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +18 -0
  110. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -0
  111. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +68 -0
  112. package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -0
  113. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +13 -0
  114. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -0
  115. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +25 -0
  116. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -0
  117. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +35 -0
  118. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -0
  119. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +86 -0
  120. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -0
  121. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +24 -0
  122. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -0
  123. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +19 -0
  124. package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -0
  125. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -0
  126. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -0
  127. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +11 -0
  128. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -0
  129. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +10 -0
  130. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -0
  131. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +81 -0
  132. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -0
  133. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +18 -0
  134. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -0
  135. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +17 -0
  136. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -0
  137. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +14 -0
  138. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -0
  139. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +53 -0
  140. package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -0
  141. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +19 -0
  142. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -0
  143. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +43 -0
  144. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -0
  145. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.es.js +53 -0
  146. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.es.js.map +1 -0
  147. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.es.js +29 -0
  148. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.es.js.map +1 -0
  149. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +8 -0
  150. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -0
  151. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +66 -0
  152. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -0
  153. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js +40 -0
  154. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js.map +1 -0
  155. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +93 -0
  156. package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -0
  157. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +25 -0
  158. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -0
  159. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +27 -0
  160. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -0
  161. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +12 -0
  162. package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -0
  163. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +5 -0
  164. package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -0
  165. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +45 -0
  166. package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -0
  167. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +51 -0
  168. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -0
  169. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +51 -0
  170. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -0
  171. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +51 -0
  172. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -0
  173. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +52 -0
  174. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -0
  175. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +52 -0
  176. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -0
  177. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +52 -0
  178. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -0
  179. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +52 -0
  180. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -0
  181. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +40 -0
  182. package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -0
  183. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +52 -0
  184. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -0
  185. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +52 -0
  186. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -0
  187. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +46 -0
  188. package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -0
  189. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +54 -0
  190. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -0
  191. package/dist/components/RichTextEditor/plugins/styles.es.js +167 -0
  192. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -0
  193. package/dist/helpers/addHttps.es.js +14 -0
  194. package/dist/helpers/addHttps.es.js.map +1 -0
  195. package/dist/helpers/convertToRichTextValue.es.js +6 -0
  196. package/dist/helpers/convertToRichTextValue.es.js.map +1 -0
  197. package/dist/helpers/customCoordinatesGetterFactory.es.js +32 -0
  198. package/dist/helpers/customCoordinatesGetterFactory.es.js.map +1 -0
  199. package/dist/helpers/hasRichTextValue.es.js +15 -0
  200. package/dist/helpers/hasRichTextValue.es.js.map +1 -0
  201. package/dist/helpers/isDownloadable.es.js +6 -0
  202. package/dist/helpers/isDownloadable.es.js.map +1 -0
  203. package/dist/helpers/mapColorPalettes.es.js +28 -0
  204. package/dist/helpers/mapColorPalettes.es.js.map +1 -0
  205. package/dist/hooks/useAttachments.es.js +53 -0
  206. package/dist/hooks/useAttachments.es.js.map +1 -0
  207. package/dist/hooks/useDndSensors.es.js +20 -0
  208. package/dist/hooks/useDndSensors.es.js.map +1 -0
  209. package/dist/index.cjs.js +4 -0
  210. package/dist/index.cjs.js.map +1 -0
  211. package/dist/index.d.ts +1193 -0
  212. package/dist/index.es.js +217 -0
  213. package/dist/index.es.js.map +1 -0
  214. package/dist/index.umd.js +4 -0
  215. package/dist/index.umd.js.map +1 -0
  216. package/dist/settings/background.es.js +22 -0
  217. package/dist/settings/background.es.js.map +1 -0
  218. package/dist/settings/border.es.js +61 -0
  219. package/dist/settings/border.es.js.map +1 -0
  220. package/dist/settings/borderRadius.es.js +56 -0
  221. package/dist/settings/borderRadius.es.js.map +1 -0
  222. package/dist/settings/borderRadiusExtended.es.js +64 -0
  223. package/dist/settings/borderRadiusExtended.es.js.map +1 -0
  224. package/dist/settings/defaultValues.es.js +19 -0
  225. package/dist/settings/defaultValues.es.js.map +1 -0
  226. package/dist/settings/gutter.es.js +56 -0
  227. package/dist/settings/gutter.es.js.map +1 -0
  228. package/dist/settings/margin.es.js +53 -0
  229. package/dist/settings/margin.es.js.map +1 -0
  230. package/dist/settings/marginExtended.es.js +65 -0
  231. package/dist/settings/marginExtended.es.js.map +1 -0
  232. package/dist/settings/padding.es.js +53 -0
  233. package/dist/settings/padding.es.js.map +1 -0
  234. package/dist/settings/paddingExtended.es.js +65 -0
  235. package/dist/settings/paddingExtended.es.js.map +1 -0
  236. package/dist/settings/securityDownloadable.es.js +19 -0
  237. package/dist/settings/securityDownloadable.es.js.map +1 -0
  238. package/dist/settings/securityGlobalControl.es.js +33 -0
  239. package/dist/settings/securityGlobalControl.es.js.map +1 -0
  240. package/dist/settings/types.es.js +48 -0
  241. package/dist/settings/types.es.js.map +1 -0
  242. package/dist/styles.css +1 -0
  243. package/dist/styles.css.es.js +2 -0
  244. package/dist/styles.css.es.js.map +1 -0
  245. package/dist/utilities/color/getReadableColor.es.js +14 -0
  246. package/dist/utilities/color/getReadableColor.es.js.map +1 -0
  247. package/dist/utilities/color/isDark.es.js +10 -0
  248. package/dist/utilities/color/isDark.es.js.map +1 -0
  249. package/dist/utilities/color/setAlpha.es.js +6 -0
  250. package/dist/utilities/color/setAlpha.es.js.map +1 -0
  251. package/dist/utilities/color/toColorObject.es.js +9 -0
  252. package/dist/utilities/color/toColorObject.es.js.map +1 -0
  253. package/dist/utilities/color/toHex8String.es.js +7 -0
  254. package/dist/utilities/color/toHex8String.es.js.map +1 -0
  255. package/dist/utilities/color/toHexString.es.js +7 -0
  256. package/dist/utilities/color/toHexString.es.js.map +1 -0
  257. package/dist/utilities/color/toRgbaString.es.js +7 -0
  258. package/dist/utilities/color/toRgbaString.es.js.map +1 -0
  259. package/dist/utilities/color/toShortRgba.es.js +11 -0
  260. package/dist/utilities/color/toShortRgba.es.js.map +1 -0
  261. package/dist/utilities/moveItemInArray.es.js +12 -0
  262. package/dist/utilities/moveItemInArray.es.js.map +1 -0
  263. package/dist/utilities/react/getBackgroundColorStyles.es.js +8 -0
  264. package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -0
  265. package/dist/utilities/react/getBorderStyles.es.js +12 -0
  266. package/dist/utilities/react/getBorderStyles.es.js.map +1 -0
  267. package/dist/utilities/react/getRadiusStyles.es.js +8 -0
  268. package/dist/utilities/react/getRadiusStyles.es.js.map +1 -0
  269. package/dist/utilities/react/joinClassNames.es.js +5 -0
  270. package/dist/utilities/react/joinClassNames.es.js.map +1 -0
  271. package/package.json +8 -2
  272. package/.eslintrc.cjs +0 -27
  273. package/.prettierrc +0 -7
  274. package/CHANGELOG.md +0 -787
  275. package/postcss.config.cjs +0 -8
  276. package/setupTests.ts +0 -23
  277. package/src/components/Attachments/AttachmentItem.tsx +0 -247
  278. package/src/components/Attachments/Attachments.spec.ct.tsx +0 -165
  279. package/src/components/Attachments/Attachments.tsx +0 -241
  280. package/src/components/Attachments/AttachmentsButtonTrigger.tsx +0 -30
  281. package/src/components/Attachments/index.ts +0 -4
  282. package/src/components/Attachments/types.ts +0 -40
  283. package/src/components/BlockInjectButton/BlockInjectButton.spec.ct.tsx +0 -48
  284. package/src/components/BlockInjectButton/BlockInjectButton.tsx +0 -212
  285. package/src/components/BlockInjectButton/index.ts +0 -4
  286. package/src/components/BlockInjectButton/types.ts +0 -18
  287. package/src/components/BlockItemWrapper/BlockItemWrapper.spec.ct.tsx +0 -145
  288. package/src/components/BlockItemWrapper/BlockItemWrapper.tsx +0 -76
  289. package/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.spec.tsx +0 -96
  290. package/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx +0 -42
  291. package/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.spec.tsx +0 -44
  292. package/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx +0 -24
  293. package/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/index.ts +0 -3
  294. package/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.spec.tsx +0 -40
  295. package/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.tsx +0 -37
  296. package/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx +0 -89
  297. package/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx +0 -40
  298. package/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/index.ts +0 -3
  299. package/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx +0 -140
  300. package/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx +0 -61
  301. package/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/index.ts +0 -3
  302. package/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx +0 -77
  303. package/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx +0 -30
  304. package/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.spec.tsx +0 -63
  305. package/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx +0 -40
  306. package/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/index.ts +0 -4
  307. package/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx +0 -259
  308. package/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx +0 -36
  309. package/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx +0 -70
  310. package/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx +0 -19
  311. package/src/components/BlockItemWrapper/Toolbar/ToolbarButton/index.ts +0 -3
  312. package/src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx +0 -25
  313. package/src/components/BlockItemWrapper/Toolbar/ToolbarSegment.tsx +0 -9
  314. package/src/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.tsx +0 -15
  315. package/src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx +0 -25
  316. package/src/components/BlockItemWrapper/Toolbar/context/index.ts +0 -4
  317. package/src/components/BlockItemWrapper/Toolbar/helpers.ts +0 -33
  318. package/src/components/BlockItemWrapper/Toolbar/hooks/index.ts +0 -3
  319. package/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.spec.tsx +0 -59
  320. package/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts +0 -24
  321. package/src/components/BlockItemWrapper/Toolbar/index.ts +0 -10
  322. package/src/components/BlockItemWrapper/Toolbar/types.ts +0 -18
  323. package/src/components/BlockItemWrapper/constants.ts +0 -4
  324. package/src/components/BlockItemWrapper/index.ts +0 -6
  325. package/src/components/BlockItemWrapper/types.ts +0 -24
  326. package/src/components/DownloadButton/DownloadButton.spec.ct.tsx +0 -20
  327. package/src/components/DownloadButton/DownloadButton.tsx +0 -36
  328. package/src/components/DownloadButton/index.ts +0 -3
  329. package/src/components/DownloadButton/types.ts +0 -5
  330. package/src/components/Link/LinkInput.spec.ct.tsx +0 -142
  331. package/src/components/Link/LinkInput.tsx +0 -86
  332. package/src/components/Link/LinkSelector/DocumentLink.tsx +0 -81
  333. package/src/components/Link/LinkSelector/DocumentLinks.tsx +0 -102
  334. package/src/components/Link/LinkSelector/LinkSelector.spec.ct.tsx +0 -196
  335. package/src/components/Link/LinkSelector/LinkSelector.tsx +0 -96
  336. package/src/components/Link/LinkSelector/LoadingIndicator.tsx +0 -11
  337. package/src/components/Link/LinkSelector/PageLink.tsx +0 -96
  338. package/src/components/Link/LinkSelector/PageLinks.tsx +0 -71
  339. package/src/components/Link/LinkSelector/SectionLink.tsx +0 -36
  340. package/src/components/Link/LinkSelector/index.ts +0 -3
  341. package/src/components/Link/index.ts +0 -6
  342. package/src/components/Link/types.ts +0 -6
  343. package/src/components/Link/utils/getUrl.ts +0 -30
  344. package/src/components/Link/utils/index.ts +0 -5
  345. package/src/components/Link/utils/relativeUrlRegex.spec.ts +0 -32
  346. package/src/components/Link/utils/relativeUrlRegex.ts +0 -3
  347. package/src/components/Link/utils/url.spec.ts +0 -75
  348. package/src/components/Link/utils/url.ts +0 -21
  349. package/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx +0 -231
  350. package/src/components/RichTextEditor/RichTextEditor.tsx +0 -62
  351. package/src/components/RichTextEditor/SerializedText.tsx +0 -29
  352. package/src/components/RichTextEditor/constants.ts +0 -3
  353. package/src/components/RichTextEditor/index.ts +0 -6
  354. package/src/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.tsx +0 -55
  355. package/src/components/RichTextEditor/pluginPresets/index.ts +0 -3
  356. package/src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.tsx +0 -74
  357. package/src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.ts +0 -11
  358. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.tsx +0 -20
  359. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx +0 -56
  360. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.tsx +0 -19
  361. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.tsx +0 -42
  362. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx +0 -37
  363. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx +0 -22
  364. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx +0 -30
  365. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.tsx +0 -81
  366. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/types.ts +0 -13
  367. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts +0 -143
  368. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.tsx +0 -31
  369. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts +0 -46
  370. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/index.ts +0 -12
  371. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts +0 -113
  372. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts +0 -21
  373. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts +0 -30
  374. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts +0 -71
  375. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts +0 -22
  376. package/src/components/RichTextEditor/plugins/ButtonPlugin/components/index.ts +0 -3
  377. package/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts +0 -118
  378. package/src/components/RichTextEditor/plugins/ButtonPlugin/index.ts +0 -7
  379. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/index.ts +0 -8
  380. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts +0 -17
  381. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts +0 -40
  382. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts +0 -68
  383. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts +0 -198
  384. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts +0 -40
  385. package/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts +0 -30
  386. package/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts +0 -13
  387. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts +0 -28
  388. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts +0 -14
  389. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts +0 -18
  390. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/index.ts +0 -8
  391. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.ts +0 -83
  392. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts +0 -23
  393. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts +0 -30
  394. package/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts +0 -45
  395. package/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts +0 -106
  396. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx +0 -26
  397. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx +0 -43
  398. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/index.ts +0 -4
  399. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.ts +0 -113
  400. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.tsx +0 -45
  401. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx +0 -5
  402. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx +0 -88
  403. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.ts +0 -4
  404. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/types.ts +0 -11
  405. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.ts +0 -73
  406. package/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts +0 -136
  407. package/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx +0 -38
  408. package/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx +0 -36
  409. package/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts +0 -11
  410. package/src/components/RichTextEditor/plugins/LinkPlugin/id.ts +0 -3
  411. package/src/components/RichTextEditor/plugins/LinkPlugin/index.ts +0 -49
  412. package/src/components/RichTextEditor/plugins/LinkPlugin/types.ts +0 -12
  413. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx +0 -62
  414. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx +0 -62
  415. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx +0 -63
  416. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx +0 -62
  417. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx +0 -62
  418. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx +0 -62
  419. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx +0 -63
  420. package/src/components/RichTextEditor/plugins/TextStylePlugins/helpers.tsx +0 -44
  421. package/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx +0 -62
  422. package/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx +0 -62
  423. package/src/components/RichTextEditor/plugins/TextStylePlugins/index.ts +0 -15
  424. package/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx +0 -58
  425. package/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx +0 -63
  426. package/src/components/RichTextEditor/plugins/index.ts +0 -6
  427. package/src/components/RichTextEditor/plugins/styles.ts +0 -178
  428. package/src/components/RichTextEditor/types.ts +0 -23
  429. package/src/components/index.ts +0 -8
  430. package/src/helpers/addHttps.spec.ts +0 -42
  431. package/src/helpers/addHttps.ts +0 -15
  432. package/src/helpers/convertToRichTextValue.spec.ts +0 -32
  433. package/src/helpers/convertToRichTextValue.ts +0 -6
  434. package/src/helpers/customCoordinatesGetterFactory.spec.ts +0 -69
  435. package/src/helpers/customCoordinatesGetterFactory.ts +0 -39
  436. package/src/helpers/hasRichTextValue.spec.ts +0 -63
  437. package/src/helpers/hasRichTextValue.ts +0 -29
  438. package/src/helpers/index.ts +0 -8
  439. package/src/helpers/isDownloadable.spec.ts +0 -47
  440. package/src/helpers/isDownloadable.ts +0 -7
  441. package/src/helpers/mapColorPalettes.spec.ts +0 -47
  442. package/src/helpers/mapColorPalettes.ts +0 -65
  443. package/src/hooks/index.ts +0 -4
  444. package/src/hooks/useAttachments.spec.tsx +0 -127
  445. package/src/hooks/useAttachments.tsx +0 -90
  446. package/src/hooks/useDndSensors.spec.ts +0 -40
  447. package/src/hooks/useDndSensors.ts +0 -23
  448. package/src/index.ts +0 -138
  449. package/src/settings/background.spec.ts +0 -173
  450. package/src/settings/background.ts +0 -52
  451. package/src/settings/border.spec.ts +0 -76
  452. package/src/settings/border.ts +0 -90
  453. package/src/settings/borderRadius.spec.ts +0 -30
  454. package/src/settings/borderRadius.ts +0 -73
  455. package/src/settings/borderRadiusExtended.spec.ts +0 -52
  456. package/src/settings/borderRadiusExtended.ts +0 -84
  457. package/src/settings/defaultValues.ts +0 -21
  458. package/src/settings/gutter.spec.ts +0 -60
  459. package/src/settings/gutter.ts +0 -75
  460. package/src/settings/index.ts +0 -14
  461. package/src/settings/margin.spec.ts +0 -42
  462. package/src/settings/margin.ts +0 -72
  463. package/src/settings/marginExtended.spec.ts +0 -45
  464. package/src/settings/marginExtended.ts +0 -91
  465. package/src/settings/padding.spec.ts +0 -42
  466. package/src/settings/padding.ts +0 -73
  467. package/src/settings/paddingExtended.spec.ts +0 -45
  468. package/src/settings/paddingExtended.ts +0 -91
  469. package/src/settings/security.spec.ts +0 -87
  470. package/src/settings/security.ts +0 -61
  471. package/src/settings/securityDownloadable.spec.ts +0 -46
  472. package/src/settings/securityDownloadable.ts +0 -33
  473. package/src/settings/securityGlobalControl.ts +0 -42
  474. package/src/settings/types.ts +0 -128
  475. package/src/styles.css +0 -3
  476. package/src/utilities/color/getReadableColor.spec.ts +0 -32
  477. package/src/utilities/color/getReadableColor.ts +0 -34
  478. package/src/utilities/color/index.ts +0 -10
  479. package/src/utilities/color/isDark.spec.ts +0 -33
  480. package/src/utilities/color/isDark.ts +0 -29
  481. package/src/utilities/color/setAlpha.spec.ts +0 -28
  482. package/src/utilities/color/setAlpha.ts +0 -14
  483. package/src/utilities/color/toColorObject.spec.ts +0 -19
  484. package/src/utilities/color/toColorObject.ts +0 -16
  485. package/src/utilities/color/toHex8String.spec.ts +0 -17
  486. package/src/utilities/color/toHex8String.ts +0 -14
  487. package/src/utilities/color/toHexString.spec.ts +0 -17
  488. package/src/utilities/color/toHexString.ts +0 -10
  489. package/src/utilities/color/toRgbaString.spec.ts +0 -12
  490. package/src/utilities/color/toRgbaString.ts +0 -14
  491. package/src/utilities/color/toShortRgba.spec.ts +0 -16
  492. package/src/utilities/color/toShortRgba.ts +0 -35
  493. package/src/utilities/index.ts +0 -5
  494. package/src/utilities/moveItemInArray.spec.ts +0 -17
  495. package/src/utilities/moveItemInArray.ts +0 -21
  496. package/src/utilities/react/getBackgroundColorStyles.spec.ts +0 -18
  497. package/src/utilities/react/getBackgroundColorStyles.ts +0 -10
  498. package/src/utilities/react/getBorderStyles.spec.ts +0 -39
  499. package/src/utilities/react/getBorderStyles.ts +0 -20
  500. package/src/utilities/react/getRadiusStyles.spec.ts +0 -25
  501. package/src/utilities/react/getRadiusStyles.ts +0 -8
  502. package/src/utilities/react/index.ts +0 -6
  503. package/src/utilities/react/joinClassNames.spec.ts +0 -18
  504. package/src/utilities/react/joinClassNames.ts +0 -10
  505. package/tailwind.config.ts +0 -27
  506. package/tsconfig.json +0 -24
  507. package/tsconfig.node.json +0 -12
  508. package/vite.config.ts +0 -71
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextEditor.es.js","sources":["../../../src/components/RichTextEditor/RichTextEditor.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useState } from 'react';\n\nimport { RichTextEditor as FondueRichTextEditor } from '@frontify/fondue';\nimport { RichTextEditorProps } from './types';\nimport { SerializedText } from './SerializedText';\nimport { floatingButtonActions, floatingButtonSelectors } from './plugins/ButtonPlugin/components';\n\nexport const RichTextEditor = ({\n id = 'rte',\n isEditing,\n value,\n columns,\n gap,\n placeholder,\n plugins,\n onTextChange,\n showSerializedText,\n}: RichTextEditorProps) => {\n const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false);\n\n const saveText = (newContent: string) => {\n if (onTextChange && newContent !== value) {\n onTextChange(newContent);\n }\n setShouldPreventPageLeave(false);\n };\n\n useEffect(() => {\n const unloadHandler = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n return (event.returnValue = 'Unprocessed changes');\n };\n\n if (shouldPreventPageLeave) {\n window.addEventListener('beforeunload', unloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', unloadHandler);\n }, [shouldPreventPageLeave]);\n\n if (isEditing) {\n return (\n <FondueRichTextEditor\n id={id}\n value={value}\n border={false}\n placeholder={placeholder}\n plugins={plugins}\n onValueChanged={() => setShouldPreventPageLeave(true)}\n onTextChange={saveText}\n hideExternalFloatingModals={(editorId: string) => {\n if (floatingButtonSelectors.isOpen(editorId)) {\n floatingButtonActions.reset();\n }\n }}\n />\n );\n }\n return <SerializedText value={value} columns={columns} gap={gap} show={showSerializedText} plugins={plugins} />;\n};\n"],"names":["RichTextEditor","id","isEditing","value","columns","gap","placeholder","plugins","onTextChange","showSerializedText","shouldPreventPageLeave","setShouldPreventPageLeave","useState","saveText","newContent","useEffect","unloadHandler","event","jsx","FondueRichTextEditor","editorId","floatingButtonSelectors","floatingButtonActions","SerializedText"],"mappings":";;;;;AASO,MAAMA,IAAiB,CAAC;AAAA,EAC3B,IAAAC,IAAK;AAAA,EACL,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,oBAAAC;AACJ,MAA2B;AACvB,QAAM,CAACC,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GAEpEC,IAAW,CAACC,MAAuB;AACjC,IAAAN,KAAgBM,MAAeX,KAC/BK,EAAaM,CAAU,GAE3BH,EAA0B,EAAK;AAAA,EAAA;AAgBnC,SAbAI,EAAU,MAAM;AACN,UAAAC,IAAgB,CAACC,OACnBA,EAAM,eAAe,GACbA,EAAM,cAAc;AAGhC,WAAIP,KACO,OAAA,iBAAiB,gBAAgBM,CAAa,GAGlD,MAAM,OAAO,oBAAoB,gBAAgBA,CAAa;AAAA,EAAA,GACtE,CAACN,CAAsB,CAAC,GAEvBR,IAEI,gBAAAgB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACG,IAAAlB;AAAA,MACA,OAAAE;AAAA,MACA,QAAQ;AAAA,MACR,aAAAG;AAAA,MACA,SAAAC;AAAA,MACA,gBAAgB,MAAMI,EAA0B,EAAI;AAAA,MACpD,cAAcE;AAAA,MACd,4BAA4B,CAACO,MAAqB;AAC1C,QAAAC,EAAwB,OAAOD,CAAQ,KACvCE,EAAsB,MAAM;AAAA,MAEpC;AAAA,IAAA;AAAA,EAAA,sBAIJC,GAAe,EAAA,OAAApB,GAAc,SAAAC,GAAkB,KAAAC,GAAU,MAAMI,GAAoB,SAAAF,EAAkB,CAAA;AACjH;"}
@@ -0,0 +1,20 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useState as i, useEffect as w } from "react";
3
+ import { serializeRawToHtmlAsync as o } from "@frontify/fondue";
4
+ const d = ({ value: e = "", gap: l, columns: r, show: m = !0, plugins: a }) => {
5
+ const [t, n] = i(null);
6
+ return w(() => {
7
+ (async () => n(await o(e, a, r, l)))();
8
+ }, [e, r, l, a]), !m || t === "<br />" ? null : t !== null ? /* @__PURE__ */ s(
9
+ "div",
10
+ {
11
+ className: "tw-w-full tw-whitespace-pre-wrap",
12
+ "data-test-id": "rte-content-html",
13
+ dangerouslySetInnerHTML: { __html: t }
14
+ }
15
+ ) : /* @__PURE__ */ s("div", { className: "tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full" });
16
+ };
17
+ export {
18
+ d as SerializedText
19
+ };
20
+ //# sourceMappingURL=SerializedText.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedText.es.js","sources":["../../../src/components/RichTextEditor/SerializedText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useState } from 'react';\nimport { serializeRawToHtmlAsync } from '@frontify/fondue';\nimport { SerializedTextProps } from './types';\n\nexport const SerializedText = ({ value = '', gap, columns, show = true, plugins }: SerializedTextProps) => {\n const [html, setHtml] = useState<string | null>(null);\n\n useEffect(() => {\n (async () => {\n setHtml(await serializeRawToHtmlAsync(value, plugins, columns, gap));\n })();\n }, [value, columns, gap, plugins]);\n\n if (!show || html === '<br />') {\n return null;\n }\n\n return html !== null ? (\n <div\n className=\"tw-w-full tw-whitespace-pre-wrap\"\n data-test-id=\"rte-content-html\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n ) : (\n <div className=\"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full\" />\n );\n};\n"],"names":["SerializedText","value","gap","columns","show","plugins","html","setHtml","useState","useEffect","serializeRawToHtmlAsync","jsx"],"mappings":";;;AAMa,MAAAA,IAAiB,CAAC,EAAE,OAAAC,IAAQ,IAAI,KAAAC,GAAK,SAAAC,GAAS,MAAAC,IAAO,IAAM,SAAAC,QAAmC;AACvG,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAwB,IAAI;AAQhD,SANJC,EAAU,MAAM;AACZ,KAAC,YACGF,EAAQ,MAAMG,EAAwBT,GAAOI,GAASF,GAASD,CAAG,CAAC;AAAA,KAExE,CAACD,GAAOE,GAASD,GAAKG,CAAO,CAAC,GAE7B,CAACD,KAAQE,MAAS,WACX,OAGJA,MAAS,OACZ,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,gBAAa;AAAA,MACb,yBAAyB,EAAE,QAAQL,EAAK;AAAA,IAAA;AAAA,EAG5C,IAAA,gBAAAK,EAAC,OAAI,EAAA,WAAU,oFAAoF,CAAA;AAE3G;"}
@@ -0,0 +1,5 @@
1
+ const t = "--f-theme-settings-";
2
+ export {
3
+ t as THEME_PREFIX
4
+ };
5
+ //# sourceMappingURL=constants.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.es.js","sources":["../../../src/components/RichTextEditor/constants.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nexport const THEME_PREFIX = '--f-theme-settings-';\n"],"names":["THEME_PREFIX"],"mappings":"AAEO,MAAMA,IAAe;"}
@@ -0,0 +1,35 @@
1
+ import { PluginComposer as i, SoftBreakPlugin as t, TextStylePlugin as l, BoldPlugin as g, ItalicPlugin as u, UnderlinePlugin as o, StrikethroughPlugin as r, CodePlugin as P, AlignLeftPlugin as w, AlignCenterPlugin as s, AlignRightPlugin as m, AlignJustifyPlugin as a, UnorderedListPlugin as d, CheckboxListPlugin as f, OrderedListPlugin as y, ResetFormattingPlugin as h, AutoformatPlugin as p } from "@frontify/fondue";
2
+ import { TextStylePluginsWithoutImage as T, TextStylesWithoutImage as n } from "../plugins/TextStylePlugins/helpers.es.js";
3
+ import { LinkPlugin as x } from "../plugins/LinkPlugin/index.es.js";
4
+ import { ButtonPlugin as L } from "../plugins/ButtonPlugin/createButtonPlugin.es.js";
5
+ const v = (e) => new i().setPlugin(
6
+ new t(),
7
+ new l({
8
+ textStyles: T
9
+ })
10
+ ).setPlugin(
11
+ [
12
+ new g(),
13
+ new u(),
14
+ new o(),
15
+ new r(),
16
+ new x({ appBridge: e }),
17
+ new L({ appBridge: e }),
18
+ new P()
19
+ ],
20
+ [
21
+ new w({ validTypes: n }),
22
+ new s({ validTypes: n }),
23
+ new m({ validTypes: n }),
24
+ new a({ validTypes: n }),
25
+ new d(),
26
+ new f(),
27
+ new y(),
28
+ new h(),
29
+ new p()
30
+ ]
31
+ );
32
+ export {
33
+ v as getDefaultPluginsWithLinkChooser
34
+ };
35
+ //# sourceMappingURL=defaultPluginsWithLinkChooser.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultPluginsWithLinkChooser.es.js","sources":["../../../../src/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n AlignCenterPlugin,\n AlignJustifyPlugin,\n AlignLeftPlugin,\n AlignRightPlugin,\n AutoformatPlugin,\n BoldPlugin,\n CheckboxListPlugin,\n CodePlugin,\n ItalicPlugin,\n OrderedListPlugin,\n PluginComposer,\n ResetFormattingPlugin,\n SoftBreakPlugin,\n StrikethroughPlugin,\n TextStylePlugin,\n UnderlinePlugin,\n UnorderedListPlugin,\n} from '@frontify/fondue';\nimport { ButtonPlugin, LinkPlugin, TextStylePluginsWithoutImage, TextStylesWithoutImage } from '../plugins';\n\nexport const getDefaultPluginsWithLinkChooser = (appBridge: AppBridgeBlock) => {\n return new PluginComposer()\n .setPlugin(\n new SoftBreakPlugin(),\n new TextStylePlugin({\n textStyles: TextStylePluginsWithoutImage,\n }),\n )\n .setPlugin(\n [\n new BoldPlugin(),\n new ItalicPlugin(),\n new UnderlinePlugin(),\n new StrikethroughPlugin(),\n new LinkPlugin({ appBridge }),\n new ButtonPlugin({ appBridge }),\n new CodePlugin(),\n ],\n [\n new AlignLeftPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignCenterPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignRightPlugin({ validTypes: TextStylesWithoutImage }),\n new AlignJustifyPlugin({ validTypes: TextStylesWithoutImage }),\n new UnorderedListPlugin(),\n new CheckboxListPlugin(),\n new OrderedListPlugin(),\n new ResetFormattingPlugin(),\n new AutoformatPlugin(),\n ],\n );\n};\n"],"names":["getDefaultPluginsWithLinkChooser","appBridge","PluginComposer","SoftBreakPlugin","TextStylePlugin","TextStylePluginsWithoutImage","BoldPlugin","ItalicPlugin","UnderlinePlugin","StrikethroughPlugin","LinkPlugin","ButtonPlugin","CodePlugin","AlignLeftPlugin","TextStylesWithoutImage","AlignCenterPlugin","AlignRightPlugin","AlignJustifyPlugin","UnorderedListPlugin","CheckboxListPlugin","OrderedListPlugin","ResetFormattingPlugin","AutoformatPlugin"],"mappings":";;;;AAwBa,MAAAA,IAAmC,CAACC,MACtC,IAAIC,IACN;AAAA,EACG,IAAIC,EAAgB;AAAA,EACpB,IAAIC,EAAgB;AAAA,IAChB,YAAYC;AAAA,EAAA,CACf;AAAA,EAEJ;AAAA,EACG;AAAA,IACI,IAAIC,EAAW;AAAA,IACf,IAAIC,EAAa;AAAA,IACjB,IAAIC,EAAgB;AAAA,IACpB,IAAIC,EAAoB;AAAA,IACxB,IAAIC,EAAW,EAAE,WAAAT,GAAW;AAAA,IAC5B,IAAIU,EAAa,EAAE,WAAAV,GAAW;AAAA,IAC9B,IAAIW,EAAW;AAAA,EACnB;AAAA,EACA;AAAA,IACI,IAAIC,EAAgB,EAAE,YAAYC,GAAwB;AAAA,IAC1D,IAAIC,EAAkB,EAAE,YAAYD,GAAwB;AAAA,IAC5D,IAAIE,EAAiB,EAAE,YAAYF,GAAwB;AAAA,IAC3D,IAAIG,EAAmB,EAAE,YAAYH,GAAwB;AAAA,IAC7D,IAAII,EAAoB;AAAA,IACxB,IAAIC,EAAmB;AAAA,IACvB,IAAIC,EAAkB;AAAA,IACtB,IAAIC,EAAsB;AAAA,IAC1B,IAAIC,EAAiB;AAAA,EACzB;AAAA;"}
@@ -0,0 +1,54 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { useElementProps as p } from "@udecode/plate";
3
+ import { useState as l } from "react";
4
+ import { BlockButtonStyles as c } from "../utils/styles.es.js";
5
+ const i = (e) => ({
6
+ ...p({
7
+ ...e,
8
+ elementToAttributes: (t) => ({
9
+ url: t.href,
10
+ buttonStyle: t.buttonStyle || "primary",
11
+ target: t.target || "_blank"
12
+ })
13
+ }),
14
+ // quick fix: hovering <a> with href loses the editor focus
15
+ onMouseOver: (t) => {
16
+ t.stopPropagation();
17
+ }
18
+ }), y = (e) => {
19
+ const { href: o, target: t, buttonStyle: r } = i(e), { attributes: n, children: s } = e;
20
+ return /* @__PURE__ */ a(
21
+ m,
22
+ {
23
+ attributes: n,
24
+ href: o,
25
+ target: t,
26
+ styles: c[`button${r.charAt(0).toUpperCase() + r.slice(1)}`],
27
+ children: s
28
+ }
29
+ );
30
+ }, m = ({
31
+ attributes: e,
32
+ styles: o = { hover: {} },
33
+ children: t,
34
+ href: r = "#",
35
+ target: n
36
+ }) => {
37
+ const [s, u] = l(!1);
38
+ return /* @__PURE__ */ a(
39
+ "a",
40
+ {
41
+ ...e,
42
+ onMouseEnter: () => u(!0),
43
+ onMouseLeave: () => u(!1),
44
+ href: r,
45
+ target: n,
46
+ style: s ? { ...o, ...o.hover } : o,
47
+ children: t
48
+ }
49
+ );
50
+ };
51
+ export {
52
+ y as ButtonMarkupElementNode
53
+ };
54
+ //# sourceMappingURL=ButtonMarkupElementNode.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonMarkupElementNode.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { HTMLPropsAs, PlateRenderElementProps, Value, useElementProps } from '@udecode/plate';\nimport { CSSProperties, HTMLAttributeAnchorTarget, ReactElement, ReactNode, useState } from 'react';\nimport { RichTextButtonStyle, TButtonElement } from '../types';\nimport { BlockButtonStyles } from '../utils';\n\nexport type ButtonRootProps = PlateRenderElementProps<Value, TButtonElement> & HTMLPropsAs<'a'>;\n\nconst useButton = (props: ButtonRootProps): HTMLPropsAs<'a'> & { buttonStyle: RichTextButtonStyle } => {\n const _props = useElementProps<TButtonElement, 'a'>({\n ...props,\n elementToAttributes: (element) => ({\n url: element.href,\n buttonStyle: element.buttonStyle || 'primary',\n target: element.target || '_blank',\n }),\n });\n\n return {\n ...(_props as HTMLPropsAs<'a'> & { buttonStyle: RichTextButtonStyle }),\n // quick fix: hovering <a> with href loses the editor focus\n onMouseOver: (e) => {\n e.stopPropagation();\n },\n };\n};\n\nexport const ButtonMarkupElementNode = (props: ButtonRootProps) => {\n const { href, target, buttonStyle } = useButton(props);\n const { attributes, children } = props;\n\n return (\n <HoverableButtonLink\n attributes={attributes}\n href={href}\n target={target}\n styles={BlockButtonStyles[`button${buttonStyle.charAt(0).toUpperCase() + buttonStyle.slice(1)}`]}\n >\n {children}\n </HoverableButtonLink>\n );\n};\n\ntype Props = {\n attributes: ButtonRootProps['attributes'];\n children: ReactNode;\n styles?: CSSProperties & { hover?: CSSProperties };\n href?: string;\n target?: HTMLAttributeAnchorTarget;\n};\n\nconst HoverableButtonLink = ({\n attributes,\n styles = { hover: {} },\n children,\n href = '#',\n target,\n}: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n\n return (\n <a\n {...attributes}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n href={href}\n target={target}\n style={hovered ? { ...styles, ...styles.hover } : styles}\n >\n {children}\n </a>\n );\n};\n"],"names":["useButton","props","useElementProps","element","e","ButtonMarkupElementNode","href","target","buttonStyle","attributes","children","jsx","HoverableButtonLink","BlockButtonStyles","styles","hovered","setHovered","useState"],"mappings":";;;;AASA,MAAMA,IAAY,CAACC,OAUR;AAAA,EACH,GAVWC,EAAqC;AAAA,IAChD,GAAGD;AAAA,IACH,qBAAqB,CAACE,OAAa;AAAA,MAC/B,KAAKA,EAAQ;AAAA,MACb,aAAaA,EAAQ,eAAe;AAAA,MACpC,QAAQA,EAAQ,UAAU;AAAA,IAAA;AAAA,EAC9B,CACH;AAAA;AAAA,EAKG,aAAa,CAACC,MAAM;AAChB,IAAAA,EAAE,gBAAgB;AAAA,EACtB;AAAA,IAIKC,IAA0B,CAACJ,MAA2B;AAC/D,QAAM,EAAE,MAAAK,GAAM,QAAAC,GAAQ,aAAAC,EAAY,IAAIR,EAAUC,CAAK,GAC/C,EAAE,YAAAQ,GAAY,UAAAC,EAAa,IAAAT;AAG7B,SAAA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,YAAAH;AAAA,MACA,MAAAH;AAAA,MACA,QAAAC;AAAA,MACA,QAAQM,EAAkB,SAASL,EAAY,OAAO,CAAC,EAAE,YAAgB,IAAAA,EAAY,MAAM,CAAC,CAAC,EAAE;AAAA,MAE9F,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGb,GAUME,IAAsB,CAAC;AAAA,EACzB,YAAAH;AAAA,EACA,QAAAK,IAAS,EAAE,OAAO,GAAG;AAAA,EACrB,UAAAJ;AAAA,EACA,MAAAJ,IAAO;AAAA,EACP,QAAAC;AACJ,MAA2B;AACvB,QAAM,CAACQ,GAASC,CAAU,IAAIC,EAAS,EAAK;AAGxC,SAAA,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGF;AAAA,MACJ,cAAc,MAAMO,EAAW,EAAI;AAAA,MACnC,cAAc,MAAMA,EAAW,EAAK;AAAA,MACpC,MAAAV;AAAA,MACA,QAAAC;AAAA,MACA,OAAOQ,IAAU,EAAE,GAAGD,GAAQ,GAAGA,EAAO,UAAUA;AAAA,MAEjD,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -0,0 +1,12 @@
1
+ import { MarkupElement as o } from "@frontify/fondue";
2
+ import { ELEMENT_BUTTON as e } from "../createButtonPlugin.es.js";
3
+ import { ButtonMarkupElementNode as m } from "./ButtonMarkupElementNode.es.js";
4
+ class s extends o {
5
+ constructor(t = e, r = m) {
6
+ super(t, r);
7
+ }
8
+ }
9
+ export {
10
+ s as ButtonMarkupElement
11
+ };
12
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { MarkupElement } from '@frontify/fondue';\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\nimport { ButtonMarkupElementNode } from './ButtonMarkupElementNode';\n\nexport class ButtonMarkupElement extends MarkupElement {\n constructor(id = ELEMENT_BUTTON, node = ButtonMarkupElementNode) {\n super(id, node);\n }\n}\n"],"names":["ButtonMarkupElement","MarkupElement","id","ELEMENT_BUTTON","node","ButtonMarkupElementNode"],"mappings":";;;AAMO,MAAMA,UAA4BC,EAAc;AAAA,EACnD,YAAYC,IAAKC,GAAgBC,IAAOC,GAAyB;AAC7D,UAAMH,GAAIE,CAAI;AAAA,EAClB;AACJ;"}
@@ -0,0 +1,17 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { IconButton16 as r, buttonStyles as e } from "@frontify/fondue";
3
+ import { getPluginType as i } from "@udecode/plate";
4
+ import { ELEMENT_BUTTON as m } from "../createButtonPlugin.es.js";
5
+ import { ButtonToolbarButton as p } from "./ButtonToolbarButton.es.js";
6
+ const a = ({ editor: o, id: n }) => /* @__PURE__ */ t("div", { "data-plugin-id": n, children: /* @__PURE__ */ t(
7
+ p,
8
+ {
9
+ type: i(o, m),
10
+ icon: /* @__PURE__ */ t("span", { className: "tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex", children: /* @__PURE__ */ t(r, {}) }),
11
+ styles: e
12
+ }
13
+ ) });
14
+ export {
15
+ a as ButtonButton
16
+ };
17
+ //# sourceMappingURL=ButtonButton.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconButton16, PluginButtonProps, buttonStyles } from '@frontify/fondue';\nimport { getPluginType } from '@udecode/plate';\nimport { ELEMENT_BUTTON } from '../createButtonPlugin';\nimport { ButtonToolbarButton } from './ButtonToolbarButton';\n\nexport const ButtonButton = ({ editor, id }: PluginButtonProps) => (\n <div data-plugin-id={id}>\n <ButtonToolbarButton\n type={getPluginType(editor, ELEMENT_BUTTON)}\n icon={\n <span className=\"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex\">\n <IconButton16 />\n </span>\n }\n styles={buttonStyles}\n />\n </div>\n);\n"],"names":["ButtonButton","editor","id","jsx","ButtonToolbarButton","getPluginType","ELEMENT_BUTTON","IconButton16","buttonStyles"],"mappings":";;;;;AAOa,MAAAA,IAAe,CAAC,EAAE,QAAAC,GAAQ,IAAAC,QACnC,gBAAAC,EAAC,OAAI,EAAA,kBAAgBD,GACjB,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,MAAMC,EAAcJ,GAAQK,CAAc;AAAA,IAC1C,MACK,gBAAAH,EAAA,QAAA,EAAK,WAAU,2DACZ,UAAA,gBAAAA,EAACI,IAAa,CAAA,GAClB;AAAA,IAEJ,QAAQC;AAAA,EAAA;AACZ,EACJ,CAAA;"}
@@ -0,0 +1,30 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { getTooltip as a, getHotkeyByPlatform as l, getButtonClassNames as c } from "@frontify/fondue";
3
+ import { useEditorRef as u, isRangeInSameBlock as m, someNode as f, ToolbarButton as p, focusEditor as g } from "@udecode/plate";
4
+ import { triggerFloatingButton as B } from "../utils/triggerFloatingButton.es.js";
5
+ const T = ({ type: n, ...s }) => {
6
+ const t = u(), o = !!m(t, {
7
+ at: t.selection
8
+ }), r = !!(t != null && t.selection) && f(t, { match: { type: n } });
9
+ return /* @__PURE__ */ i(
10
+ p,
11
+ {
12
+ tooltip: a(
13
+ o ? `Button
14
+ ${l("Ctrl+Shift+K")}` : "Buttons can only be set for a single text block."
15
+ ),
16
+ classNames: c(o),
17
+ active: r,
18
+ onMouseDown: async (e) => {
19
+ t && (e.preventDefault(), e.stopPropagation(), g(t, t.selection ?? t.prevSelection ?? void 0), setTimeout(() => {
20
+ B(t, { focused: !0 });
21
+ }, 0));
22
+ },
23
+ ...s
24
+ }
25
+ );
26
+ };
27
+ export {
28
+ T as ButtonToolbarButton
29
+ };
30
+ //# sourceMappingURL=ButtonToolbarButton.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonToolbarButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { getButtonClassNames, getHotkeyByPlatform, getTooltip } from '@frontify/fondue';\nimport {\n BlockToolbarButtonProps,\n ToolbarButton,\n focusEditor,\n isRangeInSameBlock,\n someNode,\n useEditorRef,\n} from '@udecode/plate';\n\nimport { triggerFloatingButton } from '../utils';\n\nexport interface LinkToolbarButtonProps extends BlockToolbarButtonProps {\n /**\n * Default onMouseDown is getting the link url by calling this promise before inserting the image.\n */\n getLinkUrl?: (prevUrl: string | null) => Promise<string | null>;\n}\n\nexport const ButtonToolbarButton = ({ type, ...props }: LinkToolbarButtonProps) => {\n const editor = useEditorRef();\n const isEnabled = !!isRangeInSameBlock(editor, {\n at: editor.selection,\n });\n\n const isLink = !!editor?.selection && someNode(editor, { match: { type } });\n\n return (\n <ToolbarButton\n tooltip={getTooltip(\n isEnabled\n ? `Button\\n${getHotkeyByPlatform('Ctrl+Shift+K')}`\n : 'Buttons can only be set for a single text block.',\n )}\n classNames={getButtonClassNames(isEnabled)}\n active={isLink}\n onMouseDown={async (event) => {\n if (!editor) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n\n setTimeout(() => {\n triggerFloatingButton(editor, { focused: true });\n }, 0);\n }}\n {...props}\n />\n );\n};\n"],"names":["ButtonToolbarButton","type","props","editor","useEditorRef","isEnabled","isRangeInSameBlock","isLink","someNode","jsx","ToolbarButton","getTooltip","getHotkeyByPlatform","getButtonClassNames","event","focusEditor","triggerFloatingButton"],"mappings":";;;;AAqBO,MAAMA,IAAsB,CAAC,EAAE,MAAAC,GAAM,GAAGC,QAAoC;AAC/E,QAAMC,IAASC,KACTC,IAAY,CAAC,CAACC,EAAmBH,GAAQ;AAAA,IAC3C,IAAIA,EAAO;AAAA,EAAA,CACd,GAEKI,IAAS,CAAC,EAACJ,KAAA,QAAAA,EAAQ,cAAaK,EAASL,GAAQ,EAAE,OAAO,EAAE,MAAAF,EAAK,EAAG,CAAA;AAGtE,SAAA,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,SAASC;AAAA,QACLN,IACM;AAAA,EAAWO,EAAoB,cAAc,CAAC,KAC9C;AAAA,MACV;AAAA,MACA,YAAYC,EAAoBR,CAAS;AAAA,MACzC,QAAQE;AAAA,MACR,aAAa,OAAOO,MAAU;AAC1B,QAAKX,MAILW,EAAM,eAAe,GACrBA,EAAM,gBAAgB,GAEtBC,EAAYZ,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS,GAEzE,WAAW,MAAM;AACb,UAAAa,EAAsBb,GAAQ,EAAE,SAAS,GAAM,CAAA;AAAA,WAChD,CAAC;AAAA,MACR;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -0,0 +1,16 @@
1
+ import { jsxs as s, Fragment as e, jsx as t } from "react/jsx-runtime";
2
+ import { EditModal as m } from "./EditButtonModal/EditModal.es.js";
3
+ import { FloatingButton as n } from "./FloatingButton.es.js";
4
+ import { useFloatingButtonSelectors as d } from "./floatingButtonStore.es.js";
5
+ import { InsertButtonModal as l } from "./InsertButtonModal/InsertButtonModal.es.js";
6
+ const f = () => {
7
+ const i = d().isEditing(), o = /* @__PURE__ */ t(l, {}), r = i ? o : /* @__PURE__ */ t(m, {});
8
+ return /* @__PURE__ */ s(e, { children: [
9
+ /* @__PURE__ */ t(n.InsertRoot, { children: o }),
10
+ /* @__PURE__ */ t(n.EditRoot, { children: r })
11
+ ] });
12
+ };
13
+ export {
14
+ f as CustomFloatingButton
15
+ };
16
+ //# sourceMappingURL=CustomFloatingButton.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomFloatingButton.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { EditModal } from './EditButtonModal/EditModal';\nimport { FloatingButton } from './FloatingButton';\nimport { useFloatingButtonSelectors } from './floatingButtonStore';\nimport { InsertButtonModal } from './InsertButtonModal/InsertButtonModal';\n\nexport const CustomFloatingButton = () => {\n const isEditing = useFloatingButtonSelectors().isEditing();\n\n const input = <InsertButtonModal />;\n const editContent = isEditing ? input : <EditModal />;\n return (\n <>\n <FloatingButton.InsertRoot>{input}</FloatingButton.InsertRoot>\n <FloatingButton.EditRoot>{editContent}</FloatingButton.EditRoot>\n </>\n );\n};\n"],"names":["CustomFloatingButton","isEditing","useFloatingButtonSelectors","input","InsertButtonModal","editContent","jsx","EditModal","jsxs","Fragment","FloatingButton"],"mappings":";;;;;AAOO,MAAMA,IAAuB,MAAM;AAChC,QAAAC,IAAYC,IAA6B,aAEzCC,sBAASC,GAAkB,CAAA,CAAA,GAC3BC,IAAcJ,IAAYE,IAAQ,gBAAAG,EAACC,GAAU,CAAA,CAAA;AACnD,SAEQ,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAH,EAAAI,EAAe,YAAf,EAA2B,UAAMP,EAAA,CAAA;AAAA,IACjC,gBAAAG,EAAAI,EAAe,UAAf,EAAyB,UAAYL,EAAA,CAAA;AAAA,EAC1C,EAAA,CAAA;AAER;"}
@@ -0,0 +1,43 @@
1
+ import { jsx as t, jsxs as e } from "react/jsx-runtime";
2
+ import { IconPen16 as r, IconTrashBin16 as a } from "@frontify/fondue";
3
+ import { useFloatingButtonUrlInput as i } from "../FloatingButtonUrlInput.es.js";
4
+ import { FloatingButton as n } from "../FloatingButton.es.js";
5
+ const u = () => {
6
+ const o = i({});
7
+ return /* @__PURE__ */ t(
8
+ "div",
9
+ {
10
+ "data-test-id": "floating-button-edit",
11
+ className: "tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",
12
+ children: /* @__PURE__ */ e("span", { "data-test-id": "preview-button-flyout", className: "tw-flex tw-justify-between tw-items-center", children: [
13
+ /* @__PURE__ */ t("span", { className: "tw-pointer-events-none", children: o.defaultValue }),
14
+ /* @__PURE__ */ e("span", { className: "tw-flex tw-gap-2", children: [
15
+ /* @__PURE__ */ t(
16
+ "span",
17
+ {
18
+ role: "button",
19
+ tabIndex: 0,
20
+ "data-test-id": "edit-button-button",
21
+ className: "tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",
22
+ children: /* @__PURE__ */ t(n.EditButton, { children: /* @__PURE__ */ t(r, {}) })
23
+ }
24
+ ),
25
+ /* @__PURE__ */ t(
26
+ "span",
27
+ {
28
+ role: "button",
29
+ tabIndex: 0,
30
+ "data-test-id": "remove-button-button",
31
+ className: "tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",
32
+ children: /* @__PURE__ */ t(n.UnlinkButton, { children: /* @__PURE__ */ t(a, {}) })
33
+ }
34
+ )
35
+ ] })
36
+ ] })
37
+ }
38
+ );
39
+ };
40
+ export {
41
+ u as EditModal
42
+ };
43
+ //# sourceMappingURL=EditModal.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconPen16, IconTrashBin16 } from '@frontify/fondue';\nimport { FloatingButton, useFloatingButtonUrlInput } from '..';\n\nexport const EditModal = () => {\n const urlHtmlProps = useFloatingButtonUrlInput({});\n\n return (\n <div\n data-test-id=\"floating-button-edit\"\n className=\"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]\"\n >\n <span data-test-id=\"preview-button-flyout\" className=\"tw-flex tw-justify-between tw-items-center\">\n <span className=\"tw-pointer-events-none\">{urlHtmlProps.defaultValue}</span>\n <span className=\"tw-flex tw-gap-2\">\n <span\n role=\"button\"\n tabIndex={0}\n data-test-id=\"edit-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1\"\n >\n <FloatingButton.EditButton>\n <IconPen16 />\n </FloatingButton.EditButton>\n </span>\n\n <span\n role=\"button\"\n tabIndex={0}\n data-test-id=\"remove-button-button\"\n className=\"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1\"\n >\n <FloatingButton.UnlinkButton>\n <IconTrashBin16 />\n </FloatingButton.UnlinkButton>\n </span>\n </span>\n </span>\n </div>\n );\n};\n"],"names":["EditModal","urlHtmlProps","useFloatingButtonUrlInput","jsx","jsxs","FloatingButton","IconPen16","IconTrashBin16"],"mappings":";;;;AAKO,MAAMA,IAAY,MAAM;AACrB,QAAAC,IAAeC,EAA0B,CAAA,CAAE;AAG7C,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,gBAAa;AAAA,MACb,WAAU;AAAA,MAEV,UAAC,gBAAAC,EAAA,QAAA,EAAK,gBAAa,yBAAwB,WAAU,8CACjD,UAAA;AAAA,QAAA,gBAAAD,EAAC,QAAK,EAAA,WAAU,0BAA0B,UAAAF,EAAa,cAAa;AAAA,QACpE,gBAAAG,EAAC,QAAK,EAAA,WAAU,oBACZ,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,UAAU;AAAA,cACV,gBAAa;AAAA,cACb,WAAU;AAAA,cAEV,4BAACE,EAAe,YAAf,EACG,UAAA,gBAAAF,EAACG,IAAU,CAAA,GACf;AAAA,YAAA;AAAA,UACJ;AAAA,UAEA,gBAAAH;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,UAAU;AAAA,cACV,gBAAa;AAAA,cACb,WAAU;AAAA,cAEV,4BAACE,EAAe,cAAf,EACG,UAAA,gBAAAF,EAACI,IAAe,CAAA,GACpB;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA,GACJ;AAAA,MAAA,GACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -0,0 +1,25 @@
1
+ import { createComponentAs as r, createElementAs as i } from "@udecode/plate";
2
+ import { useFloatingButtonEdit as e } from "./useFloatingButtonEdit.es.js";
3
+ import { useFloatingButtonInsert as l } from "./useFloatingButtonInsert.es.js";
4
+ import { FloatingButtonEditButton as s } from "./FloatingButtonEditButton.es.js";
5
+ import { UnlinkButton as u } from "./UnlinkButton.es.js";
6
+ const m = r((n) => {
7
+ var o;
8
+ const t = e(n);
9
+ return ((o = t.style) == null ? void 0 : o.display) === "none" ? null : i("div", t);
10
+ }), p = r((n) => {
11
+ var o;
12
+ const t = l(n);
13
+ return ((o = t.style) == null ? void 0 : o.display) === "none" ? null : i("div", t);
14
+ }), g = {
15
+ EditRoot: m,
16
+ InsertRoot: p,
17
+ EditButton: s,
18
+ UnlinkButton: u
19
+ };
20
+ export {
21
+ g as FloatingButton,
22
+ m as FloatingButtonEditRoot,
23
+ p as FloatingButtonInsertRoot
24
+ };
25
+ //# sourceMappingURL=FloatingButton.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButton.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { HTMLPropsAs, UseVirtualFloatingOptions, createComponentAs, createElementAs } from '@udecode/plate';\nimport { useFloatingButtonEdit } from './useFloatingButtonEdit';\nimport { useFloatingButtonInsert } from './useFloatingButtonInsert';\nimport { FloatingButtonEditButton } from './FloatingButtonEditButton';\nimport { UnlinkButton } from './UnlinkButton';\n\nexport type FloatingButtonProps = HTMLPropsAs<'div'> & {\n floatingOptions?: UseVirtualFloatingOptions;\n};\n\nexport const FloatingButtonEditRoot = createComponentAs<FloatingButtonProps>((props) => {\n const htmlProps = useFloatingButtonEdit(props);\n\n if (htmlProps.style?.display === 'none') {\n return null;\n }\n\n return createElementAs('div', htmlProps);\n});\n\nexport const FloatingButtonInsertRoot = createComponentAs<FloatingButtonProps>((props) => {\n const htmlProps = useFloatingButtonInsert(props);\n\n if (htmlProps.style?.display === 'none') {\n return null;\n }\n return createElementAs('div', htmlProps);\n});\n\nexport const FloatingButton = {\n EditRoot: FloatingButtonEditRoot,\n InsertRoot: FloatingButtonInsertRoot,\n EditButton: FloatingButtonEditButton,\n UnlinkButton,\n};\n"],"names":["FloatingButtonEditRoot","createComponentAs","props","htmlProps","useFloatingButtonEdit","_a","createElementAs","FloatingButtonInsertRoot","useFloatingButtonInsert","FloatingButton","FloatingButtonEditButton","UnlinkButton"],"mappings":";;;;;AAYa,MAAAA,IAAyBC,EAAuC,CAACC,MAAU;;AAC9E,QAAAC,IAAYC,EAAsBF,CAAK;AAEzC,WAAAG,IAAAF,EAAU,UAAV,gBAAAE,EAAiB,aAAY,SACtB,OAGJC,EAAgB,OAAOH,CAAS;AAC3C,CAAC,GAEYI,IAA2BN,EAAuC,CAACC,MAAU;;AAChF,QAAAC,IAAYK,EAAwBN,CAAK;AAE3C,WAAAG,IAAAF,EAAU,UAAV,gBAAAE,EAAiB,aAAY,SACtB,OAEJC,EAAgB,OAAOH,CAAS;AAC3C,CAAC,GAEYM,IAAiB;AAAA,EAC1B,UAAUT;AAAA,EACV,YAAYO;AAAA,EACZ,YAAYG;AAAA,EACZ,cAAAC;AACJ;"}
@@ -0,0 +1,20 @@
1
+ import { useCallback as n } from "react";
2
+ import { createComponentAs as r, createElementAs as e, useEditorRef as i } from "@udecode/plate";
3
+ import { triggerFloatingButtonEdit as u } from "../../utils/triggerFloatingButtonEdit.es.js";
4
+ const s = (o) => {
5
+ const t = i();
6
+ return {
7
+ onClick: n(() => {
8
+ u(t);
9
+ }, [t]),
10
+ ...o
11
+ };
12
+ }, a = r((o) => {
13
+ const t = s(o);
14
+ return e("button", t);
15
+ });
16
+ export {
17
+ a as FloatingButtonEditButton,
18
+ s as useFloatingButtonEditButton
19
+ };
20
+ //# sourceMappingURL=FloatingButtonEditButton.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButtonEditButton.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback } from 'react';\nimport { AsProps, HTMLPropsAs, createComponentAs, createElementAs, useEditorRef } from '@udecode/plate';\nimport { triggerFloatingButtonEdit } from '../../utils/triggerFloatingButtonEdit';\n\nexport const useFloatingButtonEditButton = (props: HTMLPropsAs<'button'>): HTMLPropsAs<'button'> => {\n const editor = useEditorRef();\n\n return {\n onClick: useCallback(() => {\n triggerFloatingButtonEdit(editor);\n }, [editor]),\n ...props,\n };\n};\n\nexport const FloatingButtonEditButton = createComponentAs<AsProps<'button'>>((props) => {\n const htmlProps = useFloatingButtonEditButton(props);\n\n return createElementAs('button', htmlProps);\n});\n"],"names":["useFloatingButtonEditButton","props","editor","useEditorRef","useCallback","triggerFloatingButtonEdit","FloatingButtonEditButton","createComponentAs","htmlProps","createElementAs"],"mappings":";;;AAMa,MAAAA,IAA8B,CAACC,MAAwD;AAChG,QAAMC,IAASC;AAER,SAAA;AAAA,IACH,SAASC,EAAY,MAAM;AACvB,MAAAC,EAA0BH,CAAM;AAAA,IAAA,GACjC,CAACA,CAAM,CAAC;AAAA,IACX,GAAGD;AAAA,EAAA;AAEX,GAEaK,IAA2BC,EAAqC,CAACN,MAAU;AAC9E,QAAAO,IAAYR,EAA4BC,CAAK;AAE5C,SAAAQ,EAAgB,UAAUD,CAAS;AAC9C,CAAC;"}
@@ -0,0 +1,26 @@
1
+ import { useRef as n, useEffect as l, useCallback as s } from "react";
2
+ import { mergeProps as f, useComposedRef as a } from "@udecode/plate";
3
+ import { useFloatingButtonSelectors as c, floatingButtonActions as i, floatingButtonSelectors as m } from "./floatingButtonStore.es.js";
4
+ const B = (o) => {
5
+ const u = c().updated(), e = n(null);
6
+ l(() => {
7
+ e.current && u && setTimeout(() => {
8
+ var t;
9
+ (t = e.current) == null || t.focus();
10
+ }, 0);
11
+ }, [u]);
12
+ const r = s((t) => {
13
+ i.url(t.target.value);
14
+ }, []);
15
+ return f(
16
+ {
17
+ onChange: r,
18
+ defaultValue: m.url()
19
+ },
20
+ { ...o, ref: a(o.ref, e) }
21
+ );
22
+ };
23
+ export {
24
+ B as useFloatingButtonUrlInput
25
+ };
26
+ //# sourceMappingURL=FloatingButtonUrlInput.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButtonUrlInput.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ChangeEventHandler, useCallback, useEffect, useRef } from 'react';\nimport { HTMLPropsAs, mergeProps, useComposedRef } from '@udecode/plate';\nimport { floatingButtonActions, floatingButtonSelectors, useFloatingButtonSelectors } from './floatingButtonStore';\n\nexport const useFloatingButtonUrlInput = (props: HTMLPropsAs<'input'>): HTMLPropsAs<'input'> => {\n const updated = useFloatingButtonSelectors().updated();\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current && updated) {\n setTimeout(() => {\n ref.current?.focus();\n }, 0);\n }\n }, [updated]);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = useCallback((e) => {\n floatingButtonActions.url(e.target.value);\n }, []);\n\n return mergeProps(\n {\n onChange,\n defaultValue: floatingButtonSelectors.url(),\n },\n { ...props, ref: useComposedRef<HTMLInputElement>(props.ref, ref) },\n );\n};\n"],"names":["useFloatingButtonUrlInput","props","updated","useFloatingButtonSelectors","ref","useRef","useEffect","_a","onChange","useCallback","e","floatingButtonActions","mergeProps","floatingButtonSelectors","useComposedRef"],"mappings":";;;AAMa,MAAAA,IAA4B,CAACC,MAAsD;AACtF,QAAAC,IAAUC,IAA6B,WACvCC,IAAMC,EAAyB,IAAI;AAEzC,EAAAC,EAAU,MAAM;AACR,IAAAF,EAAI,WAAWF,KACf,WAAW,MAAM;;AACb,OAAAK,IAAAH,EAAI,YAAJ,QAAAG,EAAa;AAAA,OACd,CAAC;AAAA,EACR,GACD,CAACL,CAAO,CAAC;AAEN,QAAAM,IAAiDC,EAAY,CAACC,MAAM;AAChD,IAAAC,EAAA,IAAID,EAAE,OAAO,KAAK;AAAA,EAC5C,GAAG,CAAE,CAAA;AAEE,SAAAE;AAAA,IACH;AAAA,MACI,UAAAJ;AAAA,MACA,cAAcK,EAAwB,IAAI;AAAA,IAC9C;AAAA,IACA,EAAE,GAAGZ,GAAO,KAAKa,EAAiCb,EAAM,KAAKG,CAAG,EAAE;AAAA,EAAA;AAE1E;"}
@@ -0,0 +1,69 @@
1
+ import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
+ import { FormControl as m } from "@frontify/fondue";
3
+ import { useState as y } from "react";
4
+ import { InsertModal as f } from "../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js";
5
+ import { useInsertModal as p } from "./useInsertModal.es.js";
6
+ import { BlockStyles as n } from "../../../../styles.es.js";
7
+ const g = () => {
8
+ const r = p(), { state: t, onButtonStyleChange: o } = r;
9
+ return /* @__PURE__ */ e(f, { ...r, testId: "floating-button-insert", children: /* @__PURE__ */ e("div", { className: "tw-pt-5", children: /* @__PURE__ */ d(
10
+ m,
11
+ {
12
+ label: {
13
+ children: "Button Style",
14
+ htmlFor: "buttonStyle",
15
+ required: !0
16
+ },
17
+ children: [
18
+ /* @__PURE__ */ e(
19
+ i,
20
+ {
21
+ id: "primary",
22
+ styles: n.buttonPrimary,
23
+ isActive: t.buttonStyle === "primary",
24
+ onClick: () => o("primary"),
25
+ children: t.text || "Primary Button"
26
+ }
27
+ ),
28
+ /* @__PURE__ */ e(
29
+ i,
30
+ {
31
+ id: "secondary",
32
+ styles: n.buttonSecondary,
33
+ isActive: t.buttonStyle === "secondary",
34
+ onClick: () => o("secondary"),
35
+ children: t.text || "Secondary Button"
36
+ }
37
+ ),
38
+ /* @__PURE__ */ e(
39
+ i,
40
+ {
41
+ id: "tertiary",
42
+ styles: n.buttonTertiary,
43
+ isActive: t.buttonStyle === "tertiary",
44
+ onClick: () => o("tertiary"),
45
+ children: t.text || "Tertiary Button"
46
+ }
47
+ )
48
+ ]
49
+ }
50
+ ) }) });
51
+ }, i = ({ id: r, styles: t, isActive: o, onClick: a, children: s }) => {
52
+ const [u, l] = y(!1), c = () => t && t.hover && u ? { ...t, ...t.hover } : t;
53
+ return /* @__PURE__ */ e(
54
+ "button",
55
+ {
56
+ "data-test-id": `floating-button-insert-${r}`,
57
+ onMouseEnter: () => l(!0),
58
+ onMouseLeave: () => l(!1),
59
+ onClick: a,
60
+ style: { ...c(), marginTop: 0, marginBottom: 0 },
61
+ className: o ? "tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit" : "tw-w-fit",
62
+ children: s
63
+ }
64
+ );
65
+ };
66
+ export {
67
+ g as InsertButtonModal
68
+ };
69
+ //# sourceMappingURL=InsertButtonModal.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InsertButtonModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { FormControl } from '@frontify/fondue';\nimport { CSSProperties, ReactElement, ReactNode, useState } from 'react';\nimport { InsertModal } from '../../../../LinkPlugin/FloatingLink/InsertLinkModal/InsertModal';\nimport { useInsertModal } from './useInsertModal';\nimport { BlockStyles } from '../../../../styles';\n\nexport const InsertButtonModal = () => {\n const modalProps = useInsertModal();\n const { state, onButtonStyleChange } = modalProps;\n\n return (\n <InsertModal {...modalProps} testId=\"floating-button-insert\">\n <div className=\"tw-pt-5\">\n <FormControl\n label={{\n children: 'Button Style',\n htmlFor: 'buttonStyle',\n required: true,\n }}\n >\n <HoverableButton\n id=\"primary\"\n styles={BlockStyles.buttonPrimary}\n isActive={state.buttonStyle === 'primary'}\n onClick={() => onButtonStyleChange('primary')}\n >\n {state.text || 'Primary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"secondary\"\n styles={BlockStyles.buttonSecondary}\n isActive={state.buttonStyle === 'secondary'}\n onClick={() => onButtonStyleChange('secondary')}\n >\n {state.text || 'Secondary Button'}\n </HoverableButton>\n\n <HoverableButton\n id=\"tertiary\"\n styles={BlockStyles.buttonTertiary}\n isActive={state.buttonStyle === 'tertiary'}\n onClick={() => onButtonStyleChange('tertiary')}\n >\n {state.text || 'Tertiary Button'}\n </HoverableButton>\n </FormControl>\n </div>\n </InsertModal>\n );\n};\n\ntype Props = {\n id: string;\n styles?: CSSProperties & { hover?: CSSProperties };\n isActive: boolean;\n onClick: () => void;\n children: ReactNode;\n};\n\nconst HoverableButton = ({ id, styles, isActive, onClick, children }: Props): ReactElement => {\n const [hovered, setHovered] = useState(false);\n const getStyles = () => (styles && styles.hover && hovered ? { ...styles, ...styles.hover } : styles);\n\n return (\n <button\n data-test-id={`floating-button-insert-${id}`}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n onClick={onClick}\n style={{ ...getStyles(), marginTop: 0, marginBottom: 0 }}\n className={\n isActive ? 'tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit' : 'tw-w-fit'\n }\n >\n {children}\n </button>\n );\n};\n"],"names":["InsertButtonModal","modalProps","useInsertModal","state","onButtonStyleChange","jsx","InsertModal","jsxs","FormControl","HoverableButton","BlockStyles","id","styles","isActive","onClick","children","hovered","setHovered","useState","getStyles"],"mappings":";;;;;;AAQO,MAAMA,IAAoB,MAAM;AACnC,QAAMC,IAAaC,KACb,EAAE,OAAAC,GAAO,qBAAAC,EAAwB,IAAAH;AAGnC,SAAA,gBAAAI,EAACC,KAAa,GAAGL,GAAY,QAAO,0BAChC,UAAA,gBAAAI,EAAC,OAAI,EAAA,WAAU,WACX,UAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,QACH,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MACd;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,SAAS;AAAA,YAE3C,YAAM,QAAQ;AAAA,UAAA;AAAA,QACnB;AAAA,QAEA,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,WAAW;AAAA,YAE7C,YAAM,QAAQ;AAAA,UAAA;AAAA,QACnB;AAAA,QAEA,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,QAAQC,EAAY;AAAA,YACpB,UAAUP,EAAM,gBAAgB;AAAA,YAChC,SAAS,MAAMC,EAAoB,UAAU;AAAA,YAE5C,YAAM,QAAQ;AAAA,UAAA;AAAA,QACnB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,EAER,CAAA,EACJ,CAAA;AAER,GAUMK,IAAkB,CAAC,EAAE,IAAAE,GAAI,QAAAC,GAAQ,UAAAC,GAAU,SAAAC,GAAS,UAAAC,QAAoC;AAC1F,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GACtCC,IAAY,MAAOP,KAAUA,EAAO,SAASI,IAAU,EAAE,GAAGJ,GAAQ,GAAGA,EAAO,MAAA,IAAUA;AAG1F,SAAA,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,gBAAc,0BAA0BM,CAAE;AAAA,MAC1C,cAAc,MAAMM,EAAW,EAAI;AAAA,MACnC,cAAc,MAAMA,EAAW,EAAK;AAAA,MACpC,SAAAH;AAAA,MACA,OAAO,EAAE,GAAGK,KAAa,WAAW,GAAG,cAAc,EAAE;AAAA,MACvD,WACIN,IAAW,8EAA8E;AAAA,MAG5F,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -0,0 +1,105 @@
1
+ import { useEffect as S, useReducer as b } from "react";
2
+ import { useEditorRef as h, getPluginOptions as E, useHotkeys as g } from "@udecode/plate";
3
+ import { floatingButtonSelectors as u, floatingButtonActions as a } from "../floatingButtonStore.es.js";
4
+ import { ELEMENT_BUTTON as B } from "../../../createButtonPlugin.es.js";
5
+ import { submitFloatingButton as U } from "../../../transforms/submitFloatingButton.es.js";
6
+ import { getButtonStyle as x } from "../../../utils/getButtonStyle.es.js";
7
+ import { CheckboxState as r } from "@frontify/fondue";
8
+ import { isValidUrlOrEmpty as p } from "../../../../../../Link/utils/url.es.js";
9
+ import { addHttps as N } from "../../../../../../../helpers/addHttps.es.js";
10
+ const k = {
11
+ url: "",
12
+ text: "",
13
+ buttonStyle: "primary",
14
+ newTab: r.Unchecked
15
+ }, w = () => {
16
+ const [n, o] = b((e, s) => {
17
+ const { type: c, payload: l } = s;
18
+ switch (c) {
19
+ case "NEW_TAB":
20
+ return {
21
+ ...e,
22
+ newTab: r.Checked
23
+ };
24
+ case "SAME_TAB":
25
+ return {
26
+ ...e,
27
+ newTab: r.Unchecked
28
+ };
29
+ case "URL":
30
+ case "TEXT":
31
+ case "BUTTON_STYLE":
32
+ case "INIT":
33
+ return {
34
+ ...e,
35
+ ...l
36
+ };
37
+ default:
38
+ return e;
39
+ }
40
+ }, k);
41
+ return [n, o];
42
+ }, H = () => {
43
+ const n = h(), [o, e] = w();
44
+ S(() => {
45
+ const t = x(n);
46
+ e({
47
+ type: "INIT",
48
+ payload: {
49
+ text: u.text(),
50
+ buttonStyle: t,
51
+ newTab: u.newTab() ? r.Checked : r.Unchecked,
52
+ url: u.url()
53
+ }
54
+ });
55
+ }, [e, n]);
56
+ const s = (t) => {
57
+ e({
58
+ type: "TEXT",
59
+ payload: { text: t }
60
+ });
61
+ }, c = (t) => {
62
+ e({
63
+ type: "BUTTON_STYLE",
64
+ payload: { buttonStyle: t }
65
+ });
66
+ }, l = (t) => {
67
+ e({
68
+ type: "URL",
69
+ payload: { url: t }
70
+ });
71
+ }, d = (t) => {
72
+ e(t ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
73
+ }, m = () => {
74
+ a.hide();
75
+ }, T = (t) => {
76
+ if (!p(o.url) || !i)
77
+ return;
78
+ const f = N(o.url);
79
+ a.text(o.text), a.url(f), a.buttonStyle(o.buttonStyle), a.newTab(o.newTab === r.Checked), U(n) && (t == null || t.preventDefault());
80
+ }, i = o.url !== "" && o.text !== "", { appBridge: y } = E(n, B);
81
+ return g(
82
+ "enter",
83
+ T,
84
+ {
85
+ enableOnFormTags: ["INPUT"]
86
+ },
87
+ []
88
+ ), {
89
+ state: o,
90
+ onTextChange: s,
91
+ onButtonStyleChange: c,
92
+ onUrlChange: l,
93
+ onToggleTab: d,
94
+ onCancel: m,
95
+ onSave: T,
96
+ hasValues: i,
97
+ isValidUrlOrEmpty: p,
98
+ appBridge: y
99
+ };
100
+ };
101
+ export {
102
+ w as InsertModalState,
103
+ H as useInsertModal
104
+ };
105
+ //# sourceMappingURL=useInsertModal.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInsertModal.es.js","sources":["../../../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Dispatch, Reducer, useEffect, useReducer } from 'react';\nimport { getPluginOptions, useEditorRef, useHotkeys } from '@udecode/plate';\nimport { InsertModalDispatchType, InsertModalStateProps } from './types';\nimport { floatingButtonActions, floatingButtonSelectors } from '../floatingButtonStore';\nimport { ELEMENT_BUTTON } from '../../../createButtonPlugin';\nimport { submitFloatingButton } from '../../../transforms/submitFloatingButton';\nimport { RichTextButtonStyle } from '../../../types';\nimport { getButtonStyle } from '../../../utils/getButtonStyle';\nimport { AppBridgeBlock } from '@frontify/app-bridge';\nimport { CheckboxState } from '@frontify/fondue';\nimport { addHttps } from '../../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../../Link/utils/url';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n buttonStyle: 'primary',\n newTab: CheckboxState.Unchecked,\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: CheckboxState.Checked,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: CheckboxState.Unchecked,\n };\n case 'URL':\n case 'TEXT':\n case 'BUTTON_STYLE':\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 buttonStyle = getButtonStyle(editor);\n\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingButtonSelectors.text(),\n buttonStyle,\n newTab: floatingButtonSelectors.newTab() ? CheckboxState.Checked : CheckboxState.Unchecked,\n url: floatingButtonSelectors.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 onButtonStyleChange = (value: RichTextButtonStyle) => {\n dispatch({\n type: 'BUTTON_STYLE',\n payload: { buttonStyle: 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 floatingButtonActions.hide();\n };\n\n const onSave = (event: React.MouseEvent<HTMLButtonElement, MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n const urlToSave = addHttps(state.url);\n\n floatingButtonActions.text(state.text);\n floatingButtonActions.url(urlToSave);\n floatingButtonActions.buttonStyle(state.buttonStyle);\n floatingButtonActions.newTab(state.newTab === CheckboxState.Checked);\n\n if (submitFloatingButton(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_BUTTON);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return {\n state,\n onTextChange,\n onButtonStyleChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n hasValues,\n isValidUrlOrEmpty,\n appBridge,\n };\n};\n"],"names":["initialState","CheckboxState","InsertModalState","state","dispatch","useReducer","action","type","payload","useInsertModal","editor","useEditorRef","useEffect","buttonStyle","getButtonStyle","floatingButtonSelectors","onTextChange","value","onButtonStyleChange","onUrlChange","onToggleTab","checked","onCancel","floatingButtonActions","onSave","event","isValidUrlOrEmpty","hasValues","urlToSave","addHttps","submitFloatingButton","appBridge","getPluginOptions","ELEMENT_BUTTON","useHotkeys"],"mappings":";;;;;;;;;AAeA,MAAMA,IAAsC;AAAA,EACxC,KAAK;AAAA,EACL,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQC,EAAc;AAC1B,GAEaC,IAAmB,MAAkE;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoE,CAACF,GAAOG,MAAW;AACvG,UAAA,EAAE,MAAAC,GAAM,SAAAC,EAAY,IAAAF;AAE1B,YAAQC,GAAM;AAAA,MACV,KAAK;AACM,eAAA;AAAA,UACH,GAAGJ;AAAAA,UACH,QAAQF,EAAc;AAAA,QAAA;AAAA,MAE9B,KAAK;AACM,eAAA;AAAA,UACH,GAAGE;AAAAA,UACH,QAAQF,EAAc;AAAA,QAAA;AAAA,MAE9B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACM,eAAA;AAAA,UACH,GAAGE;AAAAA,UACH,GAAGK;AAAA,QAAA;AAAA,MAEX;AACWL,eAAAA;AAAAA,IACf;AAAA,KACDH,CAAY;AAER,SAAA,CAACG,GAAOC,CAAQ;AAC3B,GAEaK,IAAiB,MAAM;AAChC,QAAMC,IAASC,KACT,CAACR,GAAOC,CAAQ,IAAIF,EAAiB;AAE3C,EAAAU,EAAU,MAAM;AACN,UAAAC,IAAcC,EAAeJ,CAAM;AAEhC,IAAAN,EAAA;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAMW,EAAwB,KAAK;AAAA,QACnC,aAAAF;AAAA,QACA,QAAQE,EAAwB,OAAA,IAAWd,EAAc,UAAUA,EAAc;AAAA,QACjF,KAAKc,EAAwB,IAAI;AAAA,MACrC;AAAA,IAAA,CACH;AAAA,EAAA,GACF,CAACX,GAAUM,CAAM,CAAC;AAEf,QAAAM,IAAe,CAACC,MAAkB;AAC3B,IAAAb,EAAA;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,MAAMa,EAAM;AAAA,IAAA,CAC1B;AAAA,EAAA,GAGCC,IAAsB,CAACD,MAA+B;AAC/C,IAAAb,EAAA;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,aAAaa,EAAM;AAAA,IAAA,CACjC;AAAA,EAAA,GAGCE,IAAc,CAACF,MAAkB;AAC1B,IAAAb,EAAA;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,KAAKa,EAAM;AAAA,IAAA,CACzB;AAAA,EAAA,GAGCG,IAAc,CAACC,MAAqB;AAC5B,IAAAjB,EAAAiB,IAAS,EAAE,MAAM,UAAU,IAAc,EAAE,MAAM,WAAA,CAArB;AAAA,EAAiC,GAGrEC,IAAW,MAAM;AACnB,IAAAC,EAAsB,KAAK;AAAA,EAAA,GAGzBC,IAAS,CAACC,MAAuF;AACnG,QAAI,CAACC,EAAkBvB,EAAM,GAAG,KAAK,CAACwB;AAClC;AAGE,UAAAC,IAAYC,EAAS1B,EAAM,GAAG;AAEd,IAAAoB,EAAA,KAAKpB,EAAM,IAAI,GACrCoB,EAAsB,IAAIK,CAAS,GACbL,EAAA,YAAYpB,EAAM,WAAW,GACnDoB,EAAsB,OAAOpB,EAAM,WAAWF,EAAc,OAAO,GAE/D6B,EAAqBpB,CAAM,MAC3Be,KAAA,QAAAA,EAAO;AAAA,EACX,GAGEE,IAAYxB,EAAM,QAAQ,MAAMA,EAAM,SAAS,IAE/C,EAAE,WAAA4B,EAAc,IAAAC,EAAgDtB,GAAQuB,CAAc;AAE5F,SAAAC;AAAA,IACI;AAAA,IACAV;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,IAC9B;AAAA,IACA,CAAC;AAAA,EAAA,GAGE;AAAA,IACH,OAAArB;AAAA,IACA,cAAAa;AAAA,IACA,qBAAAE;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAE;AAAA,IACA,QAAAE;AAAA,IACA,WAAAG;AAAA,IACA,mBAAAD;AAAA,IACA,WAAAK;AAAA,EAAA;AAER;"}