@frontify/guideline-blocks-settings 3.0.2 → 4.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.es.js +17 -0
- package/dist/components/Attachments/AttachmentItem.es.js +116 -168
- package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
- package/dist/components/Attachments/Attachments.es.js +145 -137
- package/dist/components/Attachments/Attachments.es.js.map +1 -1
- package/dist/components/Attachments/AttachmentsButtonTrigger.es.js +25 -28
- package/dist/components/Attachments/AttachmentsButtonTrigger.es.js.map +1 -1
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js +114 -126
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +53 -74
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +26 -31
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js +22 -25
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js +17 -28
- package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +25 -35
- package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +41 -34
- package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +41 -36
- package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js +24 -33
- package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +20 -11
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js +18 -10
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js +10 -12
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarSegment.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js +13 -13
- package/dist/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +21 -19
- package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js +18 -25
- package/dist/components/BlockItemWrapper/Toolbar/helpers.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js +18 -17
- package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/constants.es.js +6 -6
- package/dist/components/BlockItemWrapper/constants.es.js.map +1 -1
- package/dist/components/Link/LinkInput.es.js +70 -63
- package/dist/components/Link/LinkInput.es.js.map +1 -1
- package/dist/components/Link/utils/getUrl.es.js +10 -12
- package/dist/components/Link/utils/getUrl.es.js.map +1 -1
- package/dist/components/Link/utils/relativeUrlRegex.es.js +6 -5
- package/dist/components/Link/utils/relativeUrlRegex.es.js.map +1 -1
- package/dist/components/Link/utils/url.es.js +21 -17
- package/dist/components/Link/utils/url.es.js.map +1 -1
- package/dist/components/RichTextEditor/RichTextEditor.es.js +61 -68
- package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
- package/dist/components/RichTextEditor/SerializedText.es.js +25 -22
- package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
- package/dist/components/RichTextEditor/constants.es.js +6 -5
- package/dist/components/RichTextEditor/constants.es.js.map +1 -1
- package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js +30 -37
- package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +31 -39
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js +12 -11
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +19 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +24 -26
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +46 -53
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +52 -54
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +68 -68
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +91 -103
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +26 -32
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +47 -53
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +12 -18
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +21 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +29 -37
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +13 -17
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +56 -62
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +9 -12
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +23 -24
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +28 -33
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -80
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +23 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +18 -18
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +13 -12
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +9 -8
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +11 -10
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js +85 -84
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +13 -16
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +13 -16
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +10 -13
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +45 -51
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +20 -22
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js +12 -12
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +48 -57
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +46 -48
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js +12 -8
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +62 -71
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +76 -77
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +17 -21
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +17 -10
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +11 -10
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +22 -26
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js +6 -5
- package/dist/components/RichTextEditor/plugins/LinkPlugin/id.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +39 -40
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +10 -10
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js +26 -26
- package/dist/components/RichTextEditor/plugins/OrderedListPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +40 -46
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +40 -46
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +40 -46
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +41 -47
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +41 -47
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +41 -47
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +41 -47
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js +44 -38
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +41 -47
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +40 -46
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +45 -41
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +40 -48
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js +29 -29
- package/dist/components/RichTextEditor/plugins/UnorderedListPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/styles.es.js +167 -166
- package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
- package/dist/helpers/addHttps.es.js +12 -12
- package/dist/helpers/addHttps.es.js.map +1 -1
- package/dist/helpers/convertToRichTextValue.es.js +14 -6
- package/dist/helpers/convertToRichTextValue.es.js.map +1 -1
- package/dist/helpers/hasRichTextValue.es.js +13 -14
- package/dist/helpers/hasRichTextValue.es.js.map +1 -1
- package/dist/helpers/isDownloadable.es.js +6 -5
- package/dist/helpers/isDownloadable.es.js.map +1 -1
- package/dist/hooks/useAttachments.es.js +65 -73
- package/dist/hooks/useAttachments.es.js.map +1 -1
- package/dist/hooks/useIsInViewport.es.js +20 -21
- package/dist/hooks/useIsInViewport.es.js.map +1 -1
- package/dist/index.cjs.js +2 -10
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +16 -34
- package/dist/index.es.js +219 -213
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +2 -10
- package/dist/index.umd.js.map +1 -1
- package/dist/settings/background.es.js +20 -21
- package/dist/settings/background.es.js.map +1 -1
- package/dist/settings/border.es.js +62 -64
- package/dist/settings/border.es.js.map +1 -1
- package/dist/settings/borderRadius.es.js +49 -52
- package/dist/settings/borderRadius.es.js.map +1 -1
- package/dist/settings/borderRadiusExtended.es.js +58 -60
- package/dist/settings/borderRadiusExtended.es.js.map +1 -1
- package/dist/settings/defaultValues.es.js +16 -19
- package/dist/settings/defaultValues.es.js.map +1 -1
- package/dist/settings/gutter.es.js +48 -52
- package/dist/settings/gutter.es.js.map +1 -1
- package/dist/settings/margin.es.js +49 -52
- package/dist/settings/margin.es.js.map +1 -1
- package/dist/settings/marginExtended.es.js +62 -64
- package/dist/settings/marginExtended.es.js.map +1 -1
- package/dist/settings/padding.es.js +49 -52
- package/dist/settings/padding.es.js.map +1 -1
- package/dist/settings/paddingExtended.es.js +62 -64
- package/dist/settings/paddingExtended.es.js.map +1 -1
- package/dist/settings/securityDownloadable.es.js +16 -16
- package/dist/settings/securityDownloadable.es.js.map +1 -1
- package/dist/settings/securityGlobalControl.es.js +26 -32
- package/dist/settings/securityGlobalControl.es.js.map +1 -1
- package/dist/settings/types.es.js +41 -47
- package/dist/settings/types.es.js.map +1 -1
- package/dist/styles.css +2 -1
- package/dist/utilities/color/getReadableColor.es.js +15 -13
- package/dist/utilities/color/getReadableColor.es.js.map +1 -1
- package/dist/utilities/color/isDark.es.js +14 -9
- package/dist/utilities/color/isDark.es.js.map +1 -1
- package/dist/utilities/color/setAlpha.es.js +7 -6
- package/dist/utilities/color/setAlpha.es.js.map +1 -1
- package/dist/utilities/color/toColorObject.es.js +14 -8
- package/dist/utilities/color/toColorObject.es.js.map +1 -1
- package/dist/utilities/color/toHex8String.es.js +7 -6
- package/dist/utilities/color/toHex8String.es.js.map +1 -1
- package/dist/utilities/color/toHexString.es.js +7 -6
- package/dist/utilities/color/toHexString.es.js.map +1 -1
- package/dist/utilities/color/toRgbaString.es.js +7 -6
- package/dist/utilities/color/toRgbaString.es.js.map +1 -1
- package/dist/utilities/color/toShortRgba.es.js +18 -11
- package/dist/utilities/color/toShortRgba.es.js.map +1 -1
- package/dist/utilities/react/getBackgroundColorStyles.es.js +7 -8
- package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
- package/dist/utilities/react/getBorderStyles.es.js +12 -11
- package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
- package/dist/utilities/react/getRadiusStyles.es.js +7 -8
- package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
- package/dist/utilities/react/joinClassNames.es.js +6 -5
- package/dist/utilities/react/joinClassNames.es.js.map +1 -1
- package/package.json +7 -9
- package/dist/components/Link/LinkSelector/DocumentLink.es.js +0 -64
- package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js +0 -65
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +0 -7
- package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/PageLink.es.js +0 -69
- package/dist/components/Link/LinkSelector/PageLink.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/PageLinks.es.js +0 -38
- package/dist/components/Link/LinkSelector/PageLinks.es.js.map +0 -1
- package/dist/components/Link/LinkSelector/SectionLink.es.js +0 -26
- package/dist/components/Link/LinkSelector/SectionLink.es.js.map +0 -1
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +0 -5
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +0 -1
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport './styles.css';\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type AssetInputBlock as AssetInputBlockSidebarSettings,\n type BaseBlock as BaseBlockSidebarSettings,\n type Bundle as BundleSidebarSettings,\n type ChecklistBlock as ChecklistBlockSidebarSettings,\n type ChoicesType as ChoicesTypeSidebarSettings,\n type ColorInputBlock as ColorInputBlockSidebarSettings,\n type DropdownBlock as DropdownBlockSidebarSettings,\n type DynamicSettingBlock as DynamicSettingBlockSidebarSettings,\n type DynamicSupportedBlock as DynamicSupportedBlockSidebarSettings,\n type FontInputBlock as FontInputBlockSidebarSettings,\n type InputBlock as InputBlockSidebarSettings,\n type LegacyAssetInputBlock as LegacyAssetInputBlockSidebarSettings,\n type LinkBlock as LinkBlockSidebarSettings,\n type LinkChooserBlock as LinkChooserBlockSidebarSettings,\n type MultiInputBlock as MultiInputBlockSidebarSettings,\n type NotificationBlock as NotificationBlockSidebarSettings,\n type SectionHeadingBlock as SectionHeadingBlockSidebarSettings,\n type SegmentedControlsBlock as SegmentedControlsBlockSidebarSettings,\n type SettingBlock as SettingBlockSidebarSettings,\n type SimpleSettingBlock as SimpleSettingBlockSidebarSettings,\n type SwitchBlock as SwitchBlockSidebarSettings,\n type TemplateInputBlock as TemplateInputBlockSidebarSettings,\n type TextareaBlock as TextareaBlockSidebarSettings,\n type ValueOrPromisedValue as ValueOrPromisedValueSidebarSettings,\n} from '@frontify/sidebar-settings';\nimport { type FC } from 'react';\n\nexport * from '@frontify/sidebar-settings';\n\nexport type AssetInputBlock = AssetInputBlockSidebarSettings<AppBridgeBlock>;\nexport type BaseBlock<T = undefined> = BaseBlockSidebarSettings<AppBridgeBlock, T>;\nexport type Bundle = BundleSidebarSettings<AppBridgeBlock>;\nexport type ChecklistBlock = ChecklistBlockSidebarSettings<AppBridgeBlock>;\nexport type ChoicesType = ChoicesTypeSidebarSettings<AppBridgeBlock>;\nexport type ColorInputBlock = ColorInputBlockSidebarSettings<AppBridgeBlock>;\nexport type DropdownBlock = DropdownBlockSidebarSettings<AppBridgeBlock>;\nexport type DynamicSettingBlock<Block extends DynamicSupportedBlock = DynamicSupportedBlock> =\n DynamicSettingBlockSidebarSettings<AppBridgeBlock, Block>;\nexport type DynamicSupportedBlock = DynamicSupportedBlockSidebarSettings<AppBridgeBlock>;\nexport type FontInputBlock = FontInputBlockSidebarSettings<AppBridgeBlock>;\nexport type InputBlock = InputBlockSidebarSettings<AppBridgeBlock>;\nexport type LegacyAssetInputBlock = LegacyAssetInputBlockSidebarSettings<AppBridgeBlock>;\nexport type LinkBlock = LinkBlockSidebarSettings<AppBridgeBlock>;\nexport type LinkChooserBlock = LinkChooserBlockSidebarSettings<AppBridgeBlock>;\nexport type MultiInputBlock = MultiInputBlockSidebarSettings<AppBridgeBlock>;\nexport type NotificationBlock = NotificationBlockSidebarSettings<AppBridgeBlock>;\nexport type SectionHeadingBlock = SectionHeadingBlockSidebarSettings<AppBridgeBlock>;\nexport type SegmentedControlsBlock = SegmentedControlsBlockSidebarSettings<AppBridgeBlock>;\nexport type SettingBlock = SettingBlockSidebarSettings<AppBridgeBlock>;\nexport type SimpleSettingBlock = SimpleSettingBlockSidebarSettings<AppBridgeBlock>;\nexport type SwitchBlock = SwitchBlockSidebarSettings<AppBridgeBlock>;\nexport type TemplateInputBlock = TemplateInputBlockSidebarSettings<AppBridgeBlock>;\nexport type TextareaBlock = TextareaBlockSidebarSettings<AppBridgeBlock>;\nexport type ValueOrPromisedValue<T> = ValueOrPromisedValueSidebarSettings<AppBridgeBlock, T>;\n\nexport enum Sections {\n Main = 'main',\n Basics = 'basics',\n Layout = 'layout',\n Style = 'style',\n Security = 'security',\n Targets = 'targets',\n}\n\nexport type BlockSettingsStructureExport = {\n [Sections.Main]?: SettingBlock[];\n [Sections.Basics]?: SettingBlock[];\n [Sections.Layout]?: SettingBlock[];\n [Sections.Style]?: SettingBlock[];\n [Sections.Security]?: SettingBlock[];\n} & { [customSectionName: string]: SettingBlock[] };\n\nexport type BlockProps = {\n /**\n * The Frontify App Bridge provides an interface to the Frontify app internals.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/content-blocks/introducing-the-app-bridge}\n */\n appBridge: AppBridgeBlock;\n};\n\nexport type BlockConfigExport = {\n /**\n * Block component to render.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/content-blocks}\n */\n block: FC<BlockProps>;\n /**\n * Contains the block settings and its structure.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-settings-1}\n */\n settings: ReturnType<typeof defineSettings>;\n /**\n * Block lifecycle hook ran before the block gets added in the Guideline.\n * The hook support both synchronous or asynchronous execution.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-lifecycle/on-block-creation}\n */\n onBlockCreated?:\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => void)\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => Promise<void>);\n /**\n * Block lifecycle hook ran before the block gets deleted from the Guideline.\n * The hook support both synchronous or asynchronous execution.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-lifecycle/on-block-deletion}\n */\n onBlockDeleted?:\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => void)\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => Promise<void>);\n};\n\n/**\n * Type helper to make it easier to export a theme, accepts a direct {@link BlockConfigExport} object.\n */\nexport const defineBlock = (config: BlockConfigExport): BlockConfigExport => config;\n\n/**\n * Type helper to make it easier to export block's settings structure, accepts a direct {@link BlockSettingsStructureExport} object\n * or a function return a direct {@link BlockSettingsStructureExport} or a function returning a Promise of {@link BlockSettingsStructureExport}.\n */\nexport const defineSettings = <\n T extends\n | BlockSettingsStructureExport\n | (() => Promise<BlockSettingsStructureExport>)\n | (() => BlockSettingsStructureExport),\n>(\n settingsStructure: T,\n): T => settingsStructure;\n\nexport * from './components';\nexport * from './helpers';\nexport * from './hooks';\nexport * from './settings';\nexport * from './utilities';\n"],"
|
|
1
|
+
{"version":3,"file":"index.es.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport './styles.css';\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type AssetInputBlock as AssetInputBlockSidebarSettings,\n type BaseBlock as BaseBlockSidebarSettings,\n type Bundle as BundleSidebarSettings,\n type ChecklistBlock as ChecklistBlockSidebarSettings,\n type ChoicesType as ChoicesTypeSidebarSettings,\n type ColorInputBlock as ColorInputBlockSidebarSettings,\n type DropdownBlock as DropdownBlockSidebarSettings,\n type DynamicSettingBlock as DynamicSettingBlockSidebarSettings,\n type DynamicSupportedBlock as DynamicSupportedBlockSidebarSettings,\n type FontInputBlock as FontInputBlockSidebarSettings,\n type InputBlock as InputBlockSidebarSettings,\n type LegacyAssetInputBlock as LegacyAssetInputBlockSidebarSettings,\n type LinkBlock as LinkBlockSidebarSettings,\n type LinkChooserBlock as LinkChooserBlockSidebarSettings,\n type MultiInputBlock as MultiInputBlockSidebarSettings,\n type NotificationBlock as NotificationBlockSidebarSettings,\n type SectionHeadingBlock as SectionHeadingBlockSidebarSettings,\n type SegmentedControlsBlock as SegmentedControlsBlockSidebarSettings,\n type SettingBlock as SettingBlockSidebarSettings,\n type SimpleSettingBlock as SimpleSettingBlockSidebarSettings,\n type SwitchBlock as SwitchBlockSidebarSettings,\n type TemplateInputBlock as TemplateInputBlockSidebarSettings,\n type TextareaBlock as TextareaBlockSidebarSettings,\n type ValueOrPromisedValue as ValueOrPromisedValueSidebarSettings,\n} from '@frontify/sidebar-settings';\nimport { type FC } from 'react';\n\nexport * from '@frontify/sidebar-settings';\n\nexport type AssetInputBlock = AssetInputBlockSidebarSettings<AppBridgeBlock>;\nexport type BaseBlock<T = undefined> = BaseBlockSidebarSettings<AppBridgeBlock, T>;\nexport type Bundle = BundleSidebarSettings<AppBridgeBlock>;\nexport type ChecklistBlock = ChecklistBlockSidebarSettings<AppBridgeBlock>;\nexport type ChoicesType = ChoicesTypeSidebarSettings<AppBridgeBlock>;\nexport type ColorInputBlock = ColorInputBlockSidebarSettings<AppBridgeBlock>;\nexport type DropdownBlock = DropdownBlockSidebarSettings<AppBridgeBlock>;\nexport type DynamicSettingBlock<Block extends DynamicSupportedBlock = DynamicSupportedBlock> =\n DynamicSettingBlockSidebarSettings<AppBridgeBlock, Block>;\nexport type DynamicSupportedBlock = DynamicSupportedBlockSidebarSettings<AppBridgeBlock>;\nexport type FontInputBlock = FontInputBlockSidebarSettings<AppBridgeBlock>;\nexport type InputBlock = InputBlockSidebarSettings<AppBridgeBlock>;\nexport type LegacyAssetInputBlock = LegacyAssetInputBlockSidebarSettings<AppBridgeBlock>;\nexport type LinkBlock = LinkBlockSidebarSettings<AppBridgeBlock>;\nexport type LinkChooserBlock = LinkChooserBlockSidebarSettings<AppBridgeBlock>;\nexport type MultiInputBlock = MultiInputBlockSidebarSettings<AppBridgeBlock>;\nexport type NotificationBlock = NotificationBlockSidebarSettings<AppBridgeBlock>;\nexport type SectionHeadingBlock = SectionHeadingBlockSidebarSettings<AppBridgeBlock>;\nexport type SegmentedControlsBlock = SegmentedControlsBlockSidebarSettings<AppBridgeBlock>;\nexport type SettingBlock = SettingBlockSidebarSettings<AppBridgeBlock>;\nexport type SimpleSettingBlock = SimpleSettingBlockSidebarSettings<AppBridgeBlock>;\nexport type SwitchBlock = SwitchBlockSidebarSettings<AppBridgeBlock>;\nexport type TemplateInputBlock = TemplateInputBlockSidebarSettings<AppBridgeBlock>;\nexport type TextareaBlock = TextareaBlockSidebarSettings<AppBridgeBlock>;\nexport type ValueOrPromisedValue<T> = ValueOrPromisedValueSidebarSettings<AppBridgeBlock, T>;\n\nexport enum Sections {\n Main = 'main',\n Basics = 'basics',\n Layout = 'layout',\n Style = 'style',\n Security = 'security',\n Targets = 'targets',\n}\n\nexport type BlockSettingsStructureExport = {\n [Sections.Main]?: SettingBlock[];\n [Sections.Basics]?: SettingBlock[];\n [Sections.Layout]?: SettingBlock[];\n [Sections.Style]?: SettingBlock[];\n [Sections.Security]?: SettingBlock[];\n} & { [customSectionName: string]: SettingBlock[] };\n\nexport type BlockProps = {\n /**\n * The Frontify App Bridge provides an interface to the Frontify app internals.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/content-blocks/introducing-the-app-bridge}\n */\n appBridge: AppBridgeBlock;\n};\n\nexport type BlockConfigExport = {\n /**\n * Block component to render.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/content-blocks}\n */\n block: FC<BlockProps>;\n /**\n * Contains the block settings and its structure.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-settings-1}\n */\n settings: ReturnType<typeof defineSettings>;\n /**\n * Block lifecycle hook ran before the block gets added in the Guideline.\n * The hook support both synchronous or asynchronous execution.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-lifecycle/on-block-creation}\n */\n onBlockCreated?:\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => void)\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => Promise<void>);\n /**\n * Block lifecycle hook ran before the block gets deleted from the Guideline.\n * The hook support both synchronous or asynchronous execution.\n * {@link https://developer.frontify.com/document/2569#/details-concepts-1/block-lifecycle/on-block-deletion}\n */\n onBlockDeleted?:\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => void)\n | (({ appBridge }: { appBridge: AppBridgeBlock }) => Promise<void>);\n};\n\n/**\n * Type helper to make it easier to export a theme, accepts a direct {@link BlockConfigExport} object.\n */\nexport const defineBlock = (config: BlockConfigExport): BlockConfigExport => config;\n\n/**\n * Type helper to make it easier to export block's settings structure, accepts a direct {@link BlockSettingsStructureExport} object\n * or a function return a direct {@link BlockSettingsStructureExport} or a function returning a Promise of {@link BlockSettingsStructureExport}.\n */\nexport const defineSettings = <\n T extends\n | BlockSettingsStructureExport\n | (() => Promise<BlockSettingsStructureExport>)\n | (() => BlockSettingsStructureExport),\n>(\n settingsStructure: T,\n): T => settingsStructure;\n\nexport * from './components';\nexport * from './helpers';\nexport * from './hooks';\nexport * from './settings';\nexport * from './utilities';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,IAAY,KAAL,yBAAA,GAAA;QACH,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,WAAA,YACA,EAAA,UAAA;AACJ,EAAA,CAAA,CAAA,GAkDa,MAAe,MAAiD,GAMhE,MAMT,MACI"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
(function(i,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@frontify/sidebar-settings"),require("react/jsx-runtime"),require("@frontify/fondue/rte"),require("@frontify/app-bridge"),require("react"),require("@dnd-kit/core"),require("@dnd-kit/modifiers"),require("@dnd-kit/sortable"),require("@frontify/fondue/components"),require("@frontify/fondue/icons"),require("@frontify/fondue"),require("react-dom"),require("@ctrl/tinycolor")):typeof define=="function"&&define.amd?define(["exports","@frontify/sidebar-settings","react/jsx-runtime","@frontify/fondue/rte","@frontify/app-bridge","react","@dnd-kit/core","@dnd-kit/modifiers","@dnd-kit/sortable","@frontify/fondue/components","@frontify/fondue/icons","@frontify/fondue","react-dom","@ctrl/tinycolor"],h):(i=typeof globalThis<"u"?globalThis:i||self,h(i.GuidelineBlocksSettings={},i.sidebarSettings,i.jsxRuntime,i.rte,i.appBridge,i.React,i.core,i.modifiers,i.sortable,i.components,i.icons,i.fondue,i.ReactDOM,i.tinycolor))})(this,(function(i,h,o,a,q,g,H,En,ht,m,P,mt,ft,_){"use strict";const z=t=>t.filter(Boolean).join(" "),Sn=({onDrop:t,label:e,icon:n,secondaryLabel:s,isLoading:r,fillParentContainer:l,onAssetChooseClick:c,onUploadClick:u,withMenu:d=!0,onClick:w,validFileType:y,verticalLayout:f})=>{const[p,C]=g.useState(!1),[v,x]=g.useState(),A=g.useRef(null),[L,D]=g.useState(void 0),$=T=>{if(T.preventDefault(),C(!1),!N(T.dataTransfer.files)){D("Invalid"),setTimeout(()=>{D(void 0)},1e3);return}t?.(T.dataTransfer.files)},N=T=>{if(!y)return!0;for(let O=0;O<T.length;O++){const W=T[O].name.split(".").pop()??"";if(!q.FileExtensionSets[y].includes(W))return!1}return!0},rt=T=>{if(!A.current||r)return;const{clientX:O,clientY:W}=T,gt=O===0&&W===0,{left:Pt,top:xt,width:It,height:ee}=A.current.getBoundingClientRect(),ne=gt?It/2:O-Pt,Et=gt?ee/2:W-xt;x([ne,Et])},U=g.useCallback(T=>{T(),x(void 0)},[]),it=g.useMemo(()=>{const T=[];return u&&T.push({onSelect:()=>U(u),title:"Upload asset",icon:o.jsx(P.IconArrowCircleUp,{size:"20"})}),c&&T.push({onSelect:()=>U(c),title:"Browse asset",icon:o.jsx(P.IconImageStack,{size:"20"})}),T},[c,u,U]);return o.jsxs("button",{type:"button",ref:A,"data-test-id":"block-inject-button",className:z(["tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br",f?"[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl":"[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",l?"tw-h-full":"tw-h-[72px]",p&&!r?"tw-border-dashed":"tw-border-solid",v&&"tw-bg-surface-hover",p&&"tw-bg-surface",L?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-line-mid",r||v||p||L?"":"tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong",(p||v)&&!L?"[&>*]:tw-pointer-events-none tw-border-line-strong":"tw-bg-surface-dim tw-text-secondary"]),onDragEnter:t?T=>{if(C(!0),y==="Images")for(const O of Array.from(T.dataTransfer.items))O?.type?.startsWith("image/")?D(void 0):D("Invalid")}:void 0,onDragOver:t?T=>{T.preventDefault()}:void 0,onDragLeave:t?()=>{C(!1),D(void 0)}:void 0,onDrop:t?$:void 0,onClick:T=>{d&&!v&&rt(T),w?.()},children:[r?o.jsx(m.LoadingCircle,{}):L?o.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[o.jsx(P.IconExclamationMarkTriangle,{size:"16"}),L]}):o.jsxs(o.Fragment,{children:[n&&o.jsx("div",{children:n}),(e||s)&&o.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[e&&o.jsx("div",{className:"tw-font-medium",children:e}),s&&o.jsx("div",{className:"tw-font-normal",children:s})]})]}),v&&o.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:v[0],top:v[1]},children:o.jsxs(m.Flyout.Root,{open:!0,onOpenChange:T=>!T&&x(void 0),children:[o.jsx(m.Flyout.Trigger,{children:o.jsx("div",{})}),o.jsx(m.Flyout.Content,{triggerOffset:"compact",children:o.jsxs(m.Dropdown.Root,{open:!0,children:[o.jsx(m.Dropdown.Trigger,{children:o.jsx("div",{})}),o.jsx(m.Dropdown.Content,{triggerOffset:"compact",children:it.map(T=>o.jsxs(m.Dropdown.Item,{onSelect:T.onSelect,children:[T.icon,T.title]},T.title))})]})})]})})]})},G=t=>{const e=s=>typeof s=="object"&&["red","green","blue"].every(l=>s.hasOwnProperty(l)),n=s=>{const r=typeof s.alpha=="number"?s.alpha:1;return{r:s.red,g:s.green,b:s.blue,a:r}};return e(t)?n(t):t},Bn=t=>typeof t=="object"&&["red","green","blue"].every(n=>t?.hasOwnProperty(n)),Nn=(t,e)=>{const n=Bn(t)?G(t):t,s=new _.TinyColor(n);return e?s.getBrightness()<e:s.isDark()||s.getAlpha()>.25&&s.getAlpha()<1},An=t=>new _.TinyColor(G(t)).toHex8String(),Ln=t=>new _.TinyColor(G(t)).toHexString(),St=t=>new _.TinyColor(G(t)).toRgbString(),Dn=(t,e)=>new _.TinyColor(e).setAlpha(t).toRgbString(),Mn=t=>{const{r:e,g:n,b:s,a:r}=new _.TinyColor(t);return{red:e,green:n,blue:s,alpha:r}},ae=t=>typeof t=="object"&&["red","green","blue"].every(n=>t?.hasOwnProperty(n)),Fn=(t,e)=>{const n=ae(t)?G(t):t,s=ae(e)?G(e):e;let r=new _.TinyColor(n);const l=new _.TinyColor(s);for(;_.readability(r,l)<4.5;)r=r.darken(1);return r.toRgbString()},On=t=>({backgroundColor:St(t)}),_n={red:241,green:241,blue:241,alpha:1},se={red:234,green:235,blue:235,alpha:1},Un="1px",dt="24px",ct="24px";var F=(t=>(t.Solid="Solid",t.Dashed="Dashed",t.Dotted="Dotted",t))(F||{});const re={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var V=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(V||{});const K={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var j=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(j||{});const Z={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var Y=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(Y||{});const R={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var Q=(t=>(t.Global="Global",t.Custom="Custom",t))(Q||{}),X=(t=>(t.Auto="Auto",t.S="S",t.M="M",t.L="L",t))(X||{});const ie={Auto:"4px",S:"10px",M:"30px",L:"50px"},Hn=(t=F.Solid,e="1px",n=se)=>({borderStyle:re[t],borderWidth:e,borderColor:St(n)}),zn=(t,e=!1,n)=>({borderRadius:e?n:K[t]}),Bt=g.createContext(!1);Bt.displayName="DragPreviewContext";const le=({children:t,isDragPreview:e})=>o.jsx(Bt.Provider,{value:e,children:t}),tt=()=>g.useContext(Bt),Nt=g.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")});Nt.displayName="MultiFlyoutContext";const de=({children:t,openFlyoutIds:e,setOpenFlyoutIds:n})=>{const s=g.useMemo(()=>({openFlyoutIds:e,setOpenFlyoutIds:n}),[e,n]);return o.jsx(Nt.Provider,{value:s,children:t})},ce=()=>g.useContext(Nt),pt=t=>{const{openFlyoutIds:e,setOpenFlyoutIds:n}=ce(),s=g.useCallback(r=>{n(l=>{const c=l.filter(u=>u!==t);return r?[...c,t]:c})},[t,n]);return{isOpen:e.includes(t),onOpenChange:s}},At=(t,e)=>{const{blockAssets:n,addAssetIdsToKey:s,deleteAssetIdsFromKey:r,updateAssetIdsFromKey:l}=e,c=n?.[t]||[];return{onAttachmentsAdd:async f=>{await s(t,f.map(p=>p.id))},onAttachmentDelete:async f=>{await r(t,[f.id])},onAttachmentReplace:async(f,p)=>{const C=c.map(v=>v.id===f.id?p.id:v.id);await l(t,C)},onAttachmentsSorted:async f=>{const p=f.map(C=>C.id);await l(t,p)},attachments:c}},ue=(t,e)=>{const{onAttachmentsAdd:n,onAttachmentDelete:s,onAttachmentReplace:r,onAttachmentsSorted:l,attachments:c}=At(e,q.useBlockAssets(t));return{onAttachmentsAdd:n,onAttachmentDelete:s,onAttachmentReplace:r,onAttachmentsSorted:l,attachments:c,appBridge:t}},wt=g.createContext(null);wt.displayName="AttachmentsContext";const ge=({appBridge:t,children:e,assetId:n})=>{const s=ue(t,n);return o.jsx(wt.Provider,{value:s,children:e})},Vn=({blockAssetBundle:t,appBridge:e,children:n,assetId:s})=>{const r=At(s,t);return o.jsx(wt.Provider,{value:{...r,appBridge:e},children:n})},he=()=>{const t=g.useContext(wt);if(!t)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return t},$n=(t,e)=>{const n=s=>o.jsx(ge,{appBridge:s.appBridge,assetId:e,children:o.jsx(t,{...s})});return n.displayName="withAttachmentsProvider",n},Wn=t=>t==="IMAGE"?o.jsx(P.IconImage,{size:"24"}):t==="VIDEO"?o.jsx(P.IconPlayFrame,{size:"24"}):t==="AUDIO"?o.jsx(P.IconMusicNote,{size:"24"}):o.jsx(P.IconDocument,{size:"24"}),me=g.forwardRef(({item:t,isEditing:e,draggableProps:n,transformStyle:s,isDragging:r,isOverlay:l,isLoading:c,onDelete:u,onReplaceWithBrowse:d,onReplaceWithUpload:w,onDownload:y},f)=>{const[p,C]=g.useState(),[v,{selectedFiles:x}]=q.useFileInput({multiple:!0,accept:"image/*"}),[A,{results:L,doneAll:D}]=q.useAssetUpload();g.useEffect(()=>{x&&A(x[0])},[x]),g.useEffect(()=>{D&&w(L[0])},[D,L]);const $=c||x&&!D;return o.jsxs("button",{type:"button","aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>!p&&y?.(),ref:f,style:{...s,opacity:r&&!l?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:z(["tw-cursor-pointer tw-text-left tw-w-full tw-relative tw-flex tw-gap-3 tw-px-5 tw-py-3 tw-items-center tw-group hover:tw-bg-surface-hover focus-visible:tw-outline focus-visible:!-tw-outline-offset-4",r?"tw-bg-surface-hover":""]),children:[o.jsx("div",{className:"tw-text-secondary group-hover:tw-text-container-secondary-on-secondary-container",children:$?o.jsx(m.LoadingCircle,{size:"small"}):Wn(t.objectType)}),o.jsxs("div",{className:"tw-text-small tw-flex-1 tw-min-w-0",children:[o.jsx("div",{className:"tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-secondary group-hover:tw-text-container-secondary-on-secondary-container",children:t.title}),o.jsx("div",{className:"tw-text-secondary",children:`${t.fileSizeHumanReadable} - ${t.extension}`})]}),e&&o.jsxs("div",{"data-test-id":"attachments-actionbar",className:z(["tw-flex tw-gap-0.5 group-hover:tw-opacity-100 group-focus-visible:tw-opacity-100 has-[:focus-visible]:tw-opacity-100",l||p?.id===t.id?"tw-opacity-100":"tw-opacity-0"]),children:[o.jsx(m.Button,{aspect:"square",emphasis:"weak","aria-label":"Drag attachment",className:z([r||l?"tw-cursor-grabbing":"tw-cursor-grab","focus-visible:tw-z-[2]"]),...n,children:o.jsx(P.IconGrabHandle,{})}),o.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:o.jsxs(m.Dropdown.Root,{open:p?.id===t.id,onOpenChange:N=>C(N?t:void 0),children:[o.jsx(m.Dropdown.Trigger,{children:o.jsx(m.Button,{aspect:"square",emphasis:p?.id===t.id?"default":"weak",onPress:N=>{N?.stopPropagation(),N?.preventDefault()},children:o.jsx(P.IconPen,{size:"20"})})}),o.jsxs(m.Dropdown.Content,{side:"right",children:[o.jsxs(m.Dropdown.Group,{children:[o.jsxs(m.Dropdown.Item,{"data-test-id":"menu-item",onSelect:N=>{N?.stopPropagation(),v(),C(void 0)},children:[o.jsx(P.IconArrowCircleUp,{size:"20"}),"Replace with upload"]}),o.jsxs(m.Dropdown.Item,{onSelect:N=>{N?.stopPropagation(),d(),C(void 0)},children:[o.jsx(P.IconImageStack,{size:"20"}),"Replace with asset"]})]}),o.jsx(m.Dropdown.Group,{children:o.jsxs(m.Dropdown.Item,{emphasis:"danger",onSelect:N=>{N?.stopPropagation(),u(),C(void 0)},children:[o.jsx(P.IconTrashBin,{size:"20"}),"Delete"]})})]})]})})]})]})});me.displayName="AttachmentItem";const qn=t=>{const{attributes:e,listeners:n,setNodeRef:s,transform:r,transition:l,isDragging:c}=ht.useSortable({id:t.item.id}),u={transform:r?`translate(${r.x}px, ${r.y}px)`:"",transition:l,zIndex:c?2:1},d={...e,...n};return o.jsx(me,{ref:s,isDragging:c,transformStyle:u,draggableProps:d,...t})},fe=g.forwardRef(({children:t,...e},n)=>o.jsxs(m.Button,{ref:n,size:"small",rounding:"full",emphasis:"default","data-test-id":"attachments-button-trigger",className:"tw-body-medium",...e,children:[o.jsx(P.IconPaperclip,{size:"16"}),t,o.jsx(P.IconCaretDown,{size:"12"})]}));fe.displayName="AttachmentsButtonTrigger";const pe=({items:t=[],onDelete:e,onReplaceWithBrowse:n,onReplaceWithUpload:s,onBrowse:r,onUpload:l,onSorted:c,appBridge:u,triggerComponent:d=fe,isOpen:w,onOpenChange:y})=>{const[f,p]=g.useState(t),[C,v]=g.useState(!1),x=H.useSensors(H.useSensor(H.PointerSensor),H.useSensor(H.KeyboardSensor)),[A,L]=g.useState(void 0),[D,$]=g.useState(!1),[N,rt]=g.useState(!1),[U,it]=g.useState([]),[T,O]=g.useState(null),W=q.useEditorState(u),{openAssetChooser:gt,closeAssetChooser:Pt}=q.useAssetChooser(u),xt=w!==void 0,It=xt?w:C,ee=f?.find(k=>k.id===A),[ne,{results:Et,doneAll:xn}]=q.useAssetUpload({onUploadProgress:()=>!D&&$(!0)}),lt=k=>{(xt?y:v)?.(k)};g.useEffect(()=>{p(t)},[t]),g.useEffect(()=>{T&&($(!0),ne(T))},[T]),g.useEffect(()=>{(async()=>xn&&(await l(Et),$(!1)))()},[xn,Et]);const Oa=()=>{lt(!1),gt(async k=>{Pt(),lt(!0),rt(!0),await r(k),rt(!1)},{multiSelection:!0,selectedValueIds:f.map(k=>k.id)})},_a=k=>{lt(!1),gt(async M=>{lt(!0),Pt(),it([...U,k.id]),await n(k,M[0]),it(U.filter(J=>J!==k.id))},{multiSelection:!1,selectedValueIds:f.map(M=>M.id)})},Ua=async(k,M)=>{it([...U,k.id]),await s(k,M),it(U.filter(J=>J!==k.id))},Ha=k=>{const{active:M}=k;L(M.id)},za=k=>{const{active:M,over:J}=k;if(J&&M.id!==J.id&&f){const $a=f.findIndex(oe=>oe.id===M.id),Wa=f.findIndex(oe=>oe.id===J.id),In=ht.arrayMove(f,$a,Wa);p(In),c(In)}L(void 0)},Va={onEscapeKeyDown:k=>{k.stopPropagation(),lt(!1)}};return W||(f?.length??0)>0?o.jsx("div",{"data-test-id":"attachments-flyout-button",children:o.jsx(m.Flyout.Root,{open:It,onOpenChange:k=>lt(ee?!0:k),children:o.jsxs(m.Tooltip.Root,{enterDelay:500,children:[o.jsx(m.Tooltip.Trigger,{asChild:!0,children:o.jsx(m.Flyout.Trigger,{asChild:!0,"data-test-id":"attachments-button-trigger",children:o.jsx(d,{isFlyoutOpen:It,children:o.jsx("div",{children:t.length>0?t.length:"Add"})})})}),o.jsx(m.Flyout.Content,{side:"bottom",align:"end",width:"300px",...Va,children:o.jsxs("div",{className:"tw-w-full","data-test-id":"attachments-flyout-content",children:[f.length>0&&o.jsx(H.DndContext,{sensors:x,collisionDetection:H.closestCenter,onDragStart:Ha,onDragEnd:za,modifiers:[En.restrictToParentElement],children:o.jsx(ht.SortableContext,{items:f,strategy:ht.rectSortingStrategy,children:o.jsx("div",{className:"tw-border-b tw-border-b-line tw-relative",children:f.map(k=>o.jsx(qn,{isEditing:W,isLoading:U.includes(k.id),item:k,onDelete:()=>e(k),onReplaceWithBrowse:()=>_a(k),onReplaceWithUpload:M=>Ua(k,M),onDownload:()=>u.dispatch({name:"downloadAsset",payload:k})},k.id))})})}),W&&o.jsxs("div",{className:"tw-px-5 tw-py-3","data-test-id":"asset-input-placeholder",children:[o.jsx("div",{className:"tw-font-primary tw-font-medium tw-text-primary tw-text-small tw-my-4",children:"Add attachments"}),D||N?o.jsxs(m.AssetInput.Root,{orientation:"horizontal",children:[o.jsx(m.AssetInput.Preview,{children:o.jsx(m.AssetInput.PreviewLoading,{})}),o.jsx(m.AssetInput.Title,{children:"Asset"}),o.jsx(m.AssetInput.Metadata,{children:o.jsx(m.AssetInput.MetadataItem,{children:o.jsxs(m.Flex,{align:"center",gap:.5,children:[N?o.jsx(P.IconImageStack,{size:16}):o.jsx(P.IconArrowCircleUp,{size:16}),N?"Loading":"Uploading"]})})})]}):o.jsxs(m.AssetInput.Placeholder,{children:[o.jsx(m.AssetInput.UploadInput,{allowMultiple:!0,onSelect:k=>O(k.target.files)}),o.jsx(m.AssetInput.BrowseInput,{onBrowse:Oa})]})]})]})}),o.jsx(m.Tooltip.Content,{side:"top",children:"Attachments"})]})})}):null},Gn=(t,e)=>{const n=[mt.FOCUS_VISIBLE_STYLE,"tw-relative tw-inline-flex tw-items-center tw-justify-center","tw-h-6 tw-p-1","tw-rounded-medium","tw-body-medium","tw-gap-0.5","focus-visible:tw-z-10"];return e?n.push("tw-bg-container-secondary-active","tw-text-container-secondary-on-secondary-container",t==="grab"?"tw-cursor-grabbing":"tw-cursor-pointer"):n.push("hover:tw-bg-container-secondary-hover active:tw-bg-container-secondary-active","tw-text-secondary hover:tw-text-container-secondary-on-secondary-container active:tw-text-container-secondary-on-secondary-container",t==="grab"?"!tw-cursor-grab active:tw-cursor-grabbing":"tw-cursor-pointer"),z(n)},et=g.forwardRef(({onClick:t,children:e,forceActiveStyle:n,cursor:s="pointer","data-test-id":r="base-toolbar-button",...l},c)=>o.jsx("button",{onClick:t,className:Gn(s,n),"data-test-id":r,...l,ref:c,children:e}));et.displayName="BaseToolbarButton";const we=g.forwardRef(({children:t,isFlyoutOpen:e,...n},s)=>o.jsxs(et,{forceActiveStyle:e,"data-test-id":"attachments-toolbar-button-trigger",ref:s,...n,children:[o.jsx(P.IconPaperclip,{size:"16"}),t,o.jsx(P.IconCaretDown,{size:"12"})]}));we.displayName="AttachmentsToolbarButtonTrigger";const ye="attachments",be=({flyoutId:t=ye})=>{const{appBridge:e,attachments:n,onAttachmentsAdd:s,onAttachmentDelete:r,onAttachmentReplace:l,onAttachmentsSorted:c}=he(),{isOpen:u,onOpenChange:d}=pt(t),w=tt();return o.jsx(pe,{onUpload:s,onDelete:r,onReplaceWithBrowse:l,onReplaceWithUpload:l,onSorted:c,onBrowse:s,items:n,appBridge:e,triggerComponent:we,isOpen:u&&!w,onOpenChange:d})},ve="Drag or press ↵ to move",Ce="Move with ↑↓←→ and confirm with ↵",Lt=({content:t,children:e,open:n,disabled:s})=>s?e:o.jsxs(m.Tooltip.Root,{enterDelay:300,open:n,children:[o.jsx(m.Tooltip.Trigger,{asChild:!0,children:e}),o.jsx(m.Tooltip.Content,{side:"top",children:o.jsx("div",{children:t})})]}),ke=({tooltip:t,icon:e,setActivatorNodeRef:n,draggableProps:s})=>{const r=tt(),{activatorEvent:l}=H.useDndContext(),c=l instanceof KeyboardEvent;return o.jsx(Lt,{...r&&{open:c},content:o.jsx("div",{children:r?Ce:t??ve}),children:o.jsx(et,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:r,cursor:"grab",...s,children:e})})},Te=({content:t,icon:e,tooltip:n,flyoutId:s,flyoutFooter:r,flyoutHeader:l})=>{const{isOpen:c,onOpenChange:u}=pt(s),d=tt();return o.jsx(Lt,{disabled:d||c,content:n,children:o.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:o.jsxs(m.Flyout.Root,{open:c&&!d,onOpenChange:u,children:[o.jsx(m.Flyout.Trigger,{asChild:!0,children:o.jsx(et,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:c&&!d,children:e})}),o.jsxs(m.Flyout.Content,{side:"bottom",align:"end",padding:"comfortable",children:[l?o.jsx(m.Flyout.Header,{children:l}):null,o.jsx(m.Flyout.Body,{children:t}),r?o.jsx(m.Flyout.Footer,{children:r}):null]})]})})})},Dt="menu",Pe=({items:t,flyoutId:e=Dt,tooltip:n="Options"})=>{const{isOpen:s,onOpenChange:r}=pt(e),l=tt();return o.jsx(m.Dropdown.Root,{open:s&&!l,onOpenChange:r,children:o.jsxs(m.Tooltip.Root,{children:[o.jsx(m.Tooltip.Trigger,{asChild:!0,children:o.jsx(m.Dropdown.Trigger,{asChild:!0,children:o.jsx(et,{"data-test-id":"block-item-wrapper-toolbar-flyout",children:o.jsx(P.IconDotsHorizontal,{size:"16"})})})}),o.jsx(m.Dropdown.Content,{children:t.map((c,u)=>o.jsx(m.Dropdown.Group,{children:c.map((d,w)=>o.jsxs(m.Dropdown.Item,{"data-test-id":"menu-item",onSelect:()=>{r(!1),d.onClick()},emphasis:d.style||"default",children:[o.jsx("div",{className:"tw-mr-2",children:d.icon}),o.jsx("span",{children:d.title})]},`${u}-${w}`))},u))}),o.jsx(m.Tooltip.Content,{children:n})]})})},Kn=({tooltip:t,icon:e,onClick:n})=>{const s=tt();return o.jsx(Lt,{disabled:s,content:t??"",children:o.jsx(et,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:e})})},xe=({children:t})=>o.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-segment",className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:t}),Ie=({items:t,attachments:e})=>o.jsxs("div",{"data-test-id":"block-item-wrapper-toolbar",className:"tw-rounded-md tw-bg-surface tw-border tw-border-line-mid tw-divide-x tw-divide-line-mid tw-shadow-lg tw-flex tw-flex-none tw-items-center tw-isolate",children:[e.isEnabled&&o.jsx(xe,{children:o.jsx(be,{})}),t.length>0&&o.jsx(xe,{children:t.map(n=>{switch(n.type){case"dragHandle":return o.jsx(ke,{...n},n.tooltip+n.type);case"menu":return o.jsx(Pe,{...n},n.tooltip+n.type);case"flyout":return o.jsx(Te,{...n},n.tooltip+n.type);default:return o.jsx(Kn,{...n},n.tooltip+n.type)}})})]}),Ee=g.memo(({children:t,toolbarItems:e,shouldHideWrapper:n,shouldHideComponent:s=!1,isDragging:r=!1,shouldFillContainer:l,outlineOffset:c=0,shouldBeShown:u=!1,showAttachments:d=!1})=>{const[w,y]=g.useState(u?[Dt]:[]),f=g.useRef(null);if(n)return o.jsx(o.Fragment,{children:t});const p=e?.filter(v=>v!==void 0),C=w.length>0||u;return o.jsx(le,{isDragPreview:r,children:o.jsx(de,{openFlyoutIds:w,setOpenFlyoutIds:y,children:o.jsxs("div",{ref:f,"data-test-id":"block-item-wrapper",style:{outlineOffset:c},className:z(["tw-relative tw-group",l&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container",C&&"tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container",s&&"tw-opacity-0"]),children:[o.jsx("div",{style:{right:-1-c,bottom:`calc(100% - ${2+c}px)`},className:z(["tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]","group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100","tw-flex tw-justify-end",C&&"tw-opacity-100"]),children:o.jsx(Ie,{attachments:{isEnabled:d},items:p})}),t]})})})});Ee.displayName="BlockItemWrapper";const jn=({ref:t,disabled:e,onChange:n})=>{g.useEffect(()=>{if(e||!t.current)return;let s=!1;const r=new IntersectionObserver(([l])=>{l.isIntersecting!==s&&(s=l.isIntersecting,n(l.isIntersecting))});return r.observe(t.current),()=>{r.disconnect()}},[t,e,n])},Mt=a.createStore("floatingButton")({openEditorId:null,mouseDown:!1,updated:!1,url:"",text:"",buttonStyle:"primary",newTab:!1,mode:"",isEditing:!1}).extendActions(t=>({reset:()=>{t.url(""),t.text(""),t.buttonStyle("primary"),t.newTab(!1),t.mode(""),t.isEditing(!1)}})).extendActions(t=>({show:(e,n)=>{t.mode(e),t.isEditing(!1),t.openEditorId(n)},hide:()=>{t.reset(),t.openEditorId(null)}})).extendSelectors(t=>({isOpen:e=>t.openEditorId===e})),S=Mt.set,B=Mt.get,ut=()=>Mt.use,Se=t=>{if(!t)return!1;const e=n=>n.some(s=>s.text?s.text!=="":s.children?e(s.children):!1);try{const n=JSON.parse(t);return e(n)}catch{return!1}},Yn=(t="p",e="",n)=>Se(e)?e:JSON.stringify([{type:t,children:[{text:e,textStyle:t}],align:n}]),Qn=(t,e,n)=>t===Q.Custom?e:n,Ft=(t,e)=>{const n=a.getAboveNode(t,{match:{type:a.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},Xn=t=>Ft(t,e=>e.chosenLink?.searchResult?.link||""),Jn=t=>Ft(t,e=>e.url||""),Ot=t=>t.url||t.chosenLink?.searchResult?.link||"",Zn=t=>Ft(t,Ot),_t=/^\/(document|r)\/\S+$/i,yt=t=>{if(_t.test(t))return t;try{return new URL(t),t}catch{return`https://${t}`}},bt=t=>{if(_t.test(t))return!0;try{const e=new URL(t);return["http:","https:","mailto:","tel:"].includes(e.protocol)&&e.pathname!==""}catch{return!1}},nt=t=>bt(yt(t))||t==="",Be=(t,{type:e})=>{const{apply:n,normalizeNode:s}=t;return t.apply=r=>{if(r.type!=="set_selection"){n(r);return}const l=r.newProperties;if(!l?.focus||!l.anchor||!a.isCollapsed(l)){n(r);return}const c=a.getAboveNode(t,{at:l,match:{type:a.getPluginType(t,I)}});if(c){const[,u]=c;let d;a.isStartPoint(t,l.focus,u)&&(d=a.getPreviousNodeEndPoint(t,u)),a.isEndPoint(t,l.focus,u)&&(d=a.getNextNodeStartPoint(t,u)),d&&(r.newProperties={anchor:d,focus:d})}n(r)},t.normalizeNode=([r,l])=>{if(r.type===a.getPluginType(t,I)){const c=t.selection;if(c&&a.isCollapsed(c)&&a.isEndPoint(t,c.focus,l)){const u=a.getNextNodeStartPoint(t,l);if(u)a.select(t,u);else{const d=a.Path.next(l);a.insertNodes(t,{text:""},{at:d}),a.select(t,d)}}}s([r,l])},a.withRemoveEmptyNodes(t,a.mockPlugin({options:{types:e}}))},Ne=(t,e,n)=>{a.insertNodes(t,[Me(t,e)],n)},Ut=t=>{if(!t.selection)return;const{isUrl:e,forceSubmit:n}=a.getPluginOptions(t,I),s=B.url();if(!(e?.(s)||n))return;const l=B.text(),c=B.buttonStyle(),u=B.newTab()?void 0:"_self";return S.reset(),Ae(t,{url:s,text:l,buttonStyle:c,target:u,isUrl:d=>n||!e?!0:e(d)}),setTimeout(()=>{a.focusEditor(t,t.selection??void 0)},0),!0},ot=(t,e)=>a.withoutNormalizing(t,()=>{if(e?.split){if(a.getAboveNode(t,{at:t.selection?.anchor,match:{type:a.getPluginType(t,I)}}))return a.splitNodes(t,{at:t.selection?.anchor,match:r=>a.isElement(r)&&r.type===a.getPluginType(t,I)}),ot(t,{at:t.selection?.anchor}),!0;if(a.getAboveNode(t,{at:t.selection?.focus,match:{type:a.getPluginType(t,I)}}))return a.splitNodes(t,{at:t.selection?.focus,match:r=>a.isElement(r)&&r.type===a.getPluginType(t,I)}),ot(t,{at:t.selection?.focus}),!0}a.unwrapNodes(t,{match:{type:a.getPluginType(t,I)},...e})}),Ae=(t,{url:e,text:n,buttonStyle:s,target:r,insertTextInButton:l,insertNodesOptions:c,isUrl:u=a.getPluginOptions(t,I).isUrl})=>{const d=t.selection;if(!d)return;const w=a.getAboveNode(t,{at:d,match:{type:a.getPluginType(t,I)}});if(l&&w)return t.insertText(e),!0;if(!u?.(e))return;if(a.isDefined(n)&&n.length===0&&(n=e),w)return eo(e,t,w,r,s,n),!0;const y=a.findNode(t,{at:d,match:{type:a.getPluginType(t,I)}}),[f,p]=y??[],C=Rn(t,p,n);if(a.isExpanded(d))return to(w,t,e,s,r,n),!0;C&&a.removeNodes(t,{at:p});const v=a.getNodeProps(f??{}),x=t.selection?.focus.path;if(!x)return;const A=a.getNodeLeaf(t,x);return n?.length||(n=e),Ne(t,{...v,url:e,target:r,children:[{...A,text:n}]},c),!0};function Rn(t,e,n){return e&&n?.length&&n!==a.getEditorString(t,e)}function to(t,e,n,s,r,l){t?ot(e,{at:t[1]}):ot(e,{split:!0}),Le(e,{url:n,buttonStyle:s,target:r}),Ht(e,{text:l})}function eo(t,e,n,s,r,l){(t!==n[0]?.url||s!==n[0]?.target||r!==n[0]?.buttonStyle)&&a.setNodes(e,{url:t,target:s,buttonStyle:r},{at:n[1]}),Ht(e,{text:l})}const Ht=(t,{text:e})=>{const n=a.getAboveNode(t,{match:{type:a.getPluginType(t,I)}});if(n){const[s,r]=n;if(e?.length&&e!==a.getEditorString(t,r)){const l=s.children[0];a.replaceNodeChildren(t,{at:r,nodes:{...l,text:e},insertOptions:{select:!0}})}}},Le=(t,{url:e,buttonStyle:n,target:s,...r})=>{a.wrapNodes(t,{type:a.getPluginType(t,I),url:e,buttonStyle:n,target:s,children:[]},{split:!0,...r})},no=(t,e)=>{const n=a.getAboveNode(t,{match:{type:I}});return Array.isArray(n)?e(n[0]):""},De=t=>no(t,e=>e.url??""),Me=(t,{url:e,text:n="",buttonStyle:s="primary",target:r,children:l})=>({type:a.getPluginType(t,I),url:e,target:r,buttonStyle:s,children:l??[{text:n}]}),Fe=(t,{focused:e}={})=>{if(B.mode()==="edit"){vt(t);return}zt(t,{focused:e})},vt=t=>{const e=a.findNode(t,{match:{type:a.getPluginType(t,I)}});if(!e)return;const[n,s]=e;let r=a.getEditorString(t,s);S.url(n.url),S.newTab(n.target===void 0),r===n.url&&(r=""),S.text(r),S.isEditing(!0)},zt=(t,{focused:e}={})=>{B.mode()||!e||a.isRangeAcrossBlocks(t,{at:t.selection})||a.someNode(t,{match:{type:a.getPluginType(t,I)}})||(S.text(a.getEditorString(t,t.selection)),S.show("insert",t.id))},Vt={marginTop:"10px",marginBottom:"10px",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",verticalAlign:"middle",boxSizing:"border-box",overflowWrap:"normal"},Ct={buttonPrimary:{...Vt,fontFamily:"var(--f-theme-settings-button-primary-font-family)",fontSize:"var(--f-theme-settings-button-primary-font-size)",fontWeight:"var(--f-theme-settings-button-primary-font-weight)",lineHeight:"var(--f-theme-settings-button-primary-line-height)",paddingTop:"var(--f-theme-settings-button-primary-padding-top)",paddingRight:"var(--f-theme-settings-button-primary-padding-right)",paddingBottom:"var(--f-theme-settings-button-primary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-primary-padding-left)",fontStyle:"var(--f-theme-settings-button-primary-font-style)",textTransform:"var(--f-theme-settings-button-primary-text-transform)",backgroundColor:"var(--f-theme-settings-button-primary-background-color)",borderColor:"var(--f-theme-settings-button-primary-border-color)",borderRadius:"var(--f-theme-settings-button-primary-border-radius)",borderWidth:"var(--f-theme-settings-button-primary-border-width)",color:"var(--f-theme-settings-button-primary-color)",hover:{backgroundColor:"var(--f-theme-settings-button-primary-background-color-hover)",borderColor:"var(--f-theme-settings-button-primary-border-color-hover)",color:"var(--f-theme-settings-button-primary-color-hover)"}},buttonSecondary:{...Vt,fontFamily:"var(--f-theme-settings-button-secondary-font-family)",fontSize:"var(--f-theme-settings-button-secondary-font-size)",fontWeight:"var(--f-theme-settings-button-secondary-font-weight)",lineHeight:"var(--f-theme-settings-button-secondary-line-height)",paddingTop:"var(--f-theme-settings-button-secondary-padding-top)",paddingRight:"var(--f-theme-settings-button-secondary-padding-right)",paddingBottom:"var(--f-theme-settings-button-secondary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-secondary-padding-left)",fontStyle:"var(--f-theme-settings-button-secondary-font-style)",textTransform:"var(--f-theme-settings-button-secondary-text-transform)",backgroundColor:"var(--f-theme-settings-button-secondary-background-color)",borderColor:"var(--f-theme-settings-button-secondary-border-color)",borderRadius:"var(--f-theme-settings-button-secondary-border-radius)",borderWidth:"var(--f-theme-settings-button-secondary-border-width)",color:"var(--f-theme-settings-button-secondary-color)",hover:{backgroundColor:"var(--f-theme-settings-button-secondary-background-color-hover)",borderColor:"var(--f-theme-settings-button-secondary-border-color-hover)",color:"var(--f-theme-settings-button-secondary-color-hover)"}},buttonTertiary:{...Vt,fontFamily:"var(--f-theme-settings-button-tertiary-font-family)",fontSize:"var(--f-theme-settings-button-tertiary-font-size)",fontWeight:"var(--f-theme-settings-button-tertiary-font-weight)",lineHeight:"var(--f-theme-settings-button-tertiary-line-height)",paddingTop:"var(--f-theme-settings-button-tertiary-padding-top)",paddingRight:"var(--f-theme-settings-button-tertiary-padding-right)",paddingBottom:"var(--f-theme-settings-button-tertiary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-tertiary-padding-left)",fontStyle:"var(--f-theme-settings-button-tertiary-font-style)",textTransform:"var(--f-theme-settings-button-tertiary-text-transform)",backgroundColor:"var(--f-theme-settings-button-tertiary-background-color)",borderColor:"var(--f-theme-settings-button-tertiary-border-color)",borderRadius:"var(--f-theme-settings-button-tertiary-border-radius)",borderWidth:"var(--f-theme-settings-button-tertiary-border-width)",color:"var(--f-theme-settings-button-tertiary-color)",hover:{backgroundColor:"var(--f-theme-settings-button-tertiary-background-color-hover)",borderColor:"var(--f-theme-settings-button-tertiary-border-color-hover)",color:"var(--f-theme-settings-button-tertiary-color-hover)"}}},oo=t=>{const{attributes:e,children:n}=t,s=t.element.url||t.element.chosenLink?.searchResult?.link||"",r=t.element.target||"_self",l=String(t.element.buttonStyle)||"primary";return o.jsx(ao,{attributes:e,href:s,target:r,styles:Ct[`button${l.charAt(0).toUpperCase()+l.slice(1)}`],children:n})},ao=({attributes:t,styles:e={hover:{}},children:n,href:s="#",target:r})=>{const[l,c]=g.useState(!1);return o.jsx("a",{...t,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),href:s,target:r,style:l?{...e,...e.hover}:e,children:n})};class so extends a.MarkupElement{constructor(e=I,n=oo){super(e,n)}}const Oe=g.forwardRef((t,e)=>{const n=a.useEditorRef();return o.jsx(a.ToolbarButton,{ref:e,...t,onMouseDown:s=>{s.preventDefault(),a.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{Fe(n,{focused:!0})},children:o.jsx(a.IconStylingWrapper,{icon:o.jsx(P.IconButton,{size:16})})})});Oe.displayName="ButtonToolbarButton";const ro=({editorId:t,id:e})=>{const n=a.useEditorState(a.useEventPlateId(t)),s=!!a.isRangeInSameBlock(n,{at:n.selection}),r=a.getPluginType(n,I),l=!!n?.selection&&a.someNode(n,{match:{type:r}});return o.jsx("div",{"data-plugin-id":e,children:o.jsx(Oe,{pressed:l,disabled:!s,tooltip:a.getTooltip(s?`Button
|
|
2
|
-
|
|
3
|
-
tw-py-2 tw-pr-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full
|
|
4
|
-
${s?"tw-bg-highlight tw-text-highlight-on-highlight hover:tw-bg-highlight-hover:hover hover:tw-text-highlight-on-highlight:hover":"hover:tw-bg-container-secondary-hover hover:tw-text-container-secondary-on-secondary-container"}`,onClick:()=>n(t.permanentLink),children:o.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[o.jsx(P.IconDocumentText,{size:16}),o.jsx("span",{className:"tw-text-small",children:t.title}),o.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-x-small tw-text-right",children:"Section"})]})})},co=({page:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:r})=>{const[l,c]=g.useState(t.id===s.documentId),[u,d]=g.useState([]),w=t.permanentLink===e;g.useEffect(()=>{(async()=>{const p=await r(t.id),C=_e(p);d(C)})()},[t.id,r]),g.useEffect(()=>{t.id===s.pageId&&c(!0)},[s,t.id]);const y=u.length>0;return o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button","data-test-id":"internal-link-selector-page-link",className:`
|
|
5
|
-
tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full
|
|
6
|
-
${y?"tw-pl-7 ":"tw-pl-12 "}
|
|
7
|
-
${w?"tw-bg-highlight tw-text-highlight-on-highlight hover:tw-bg-highlight-hover:hover hover:tw-text-highlight-on-highlight:hover ":"hover:tw-bg-container-secondary-hover hover:tw-text-container-secondary-on-secondary-container "}`,onClick:()=>n(t.permanentLink),children:o.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[y&&o.jsx("button",{type:"button",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!l),onKeyDown:f=>f.key==="Enter"&&f.stopPropagation(),children:o.jsx("div",{className:`tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong
|
|
8
|
-
${l?"tw-rotate-90 ":""}`})}),o.jsx("span",{className:"tw-text-small",children:t.title}),o.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-x-small tw-text-right",children:"Page"})]},t.id)}),l&&u.length>0&&u.map(f=>o.jsx(lo,{section:f,selectedUrl:e,onSelectUrl:n},f.id))]})},uo=({documentId:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:r,getDocumentPagesByDocumentId:l})=>{const[c,u]=g.useState([]),[d,w]=g.useState(!0),y=[...c.values()],f=!d&&y.length>0;return g.useEffect(()=>{l(t).then(p=>{const C=p.filter(x=>!!x.category).sort((x,A)=>x.category.sort===A.category.sort?x.sort-A.sort:x.category.sort-A.category.sort),v=p.filter(x=>!x.category).sort((x,A)=>x.sort-A.sort);u([...C,...v])}).finally(()=>{w(!1)})},[]),d?o.jsx(Ue,{}):f?o.jsx(o.Fragment,{children:y.map(p=>o.jsx(co,{page:p,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:r},p.id))}):o.jsx("div",{className:"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-small tw-text-secondary",children:"This document does not contain any pages."})},go=({document:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:r,getDocumentPagesByDocumentId:l})=>{const[c,u]=g.useState(t.id===s.documentId),d=t.permanentLink===e;return g.useEffect(()=>{t.id===s.documentId&&u(!0)},[s,t.id]),o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button","data-test-id":"internal-link-selector-document-link",className:`tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-w-full ${d?"tw-bg-highlight tw-text-highlight-on-highlight hover:tw-bg-highlight-hover:hover hover:tw-text-highlight-on-highlight:hover":"hover:tw-bg-container-secondary-hover hover:tw-text-container-secondary-on-secondary-container"}`,onClick:()=>n(t.permanentLink),children:[o.jsx("button",{type:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>u(!c),onKeyDown:w=>w.key==="Enter"&&w.stopPropagation(),children:o.jsx("div",{className:`tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong ${c?"tw-rotate-90":""}`})}),o.jsx(P.IconColorFan,{size:16}),o.jsx("span",{className:"tw-text-small",children:t.title}),o.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-x-small tw-text-right",children:"Document"})]}),c&&o.jsx(uo,{documentId:t.id,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:r,getDocumentPagesByDocumentId:l})]})},ho=({selectedUrl:t,onSelectUrl:e,getAllDocuments:n,getDocumentPagesByDocumentId:s,getDocumentSectionsByDocumentPageId:r})=>{const[l,c]=g.useState(!0),[u,d]=g.useState([]),[w,y]=g.useState({documentId:void 0,pageId:void 0});g.useEffect(()=>{t&&u.length>0&&f().then(p=>{y(p)})},[u.length]),g.useEffect(()=>{n().then(p=>{d(p)}).finally(()=>{c(!1)})},[]);const f=async()=>{const p={documentId:void 0,pageId:void 0};if(u.find(v=>v.permanentLink===t))return p;for(const v of u){const x=await s(v.id);if(!!x.find(L=>L.permanentLink===t))return p.documentId=v.id,p;for(const L of x){const D=await r(L.id);if(!!_e(D).find(rt=>rt.permanentLink===t))return p.documentId=v.id,p.pageId=L.id,p}}return p};return l?o.jsx(Ue,{}):o.jsx(o.Fragment,{children:u.map(p=>o.jsx(go,{document:p,selectedUrl:t,onSelectUrl:e,itemsToExpandInitially:w,getDocumentSectionsByDocumentPageId:r,getDocumentPagesByDocumentId:s},p.id))})},He=({url:t,onUrlChange:e,buttonSize:n="medium",getAllDocuments:s,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:l})=>{const[c,u]=g.useState(!1),[d,w]=g.useState(t),y=v=>{w(v)},f=v=>{v.key==="Enter"&&(v.preventDefault(),p())};g.useEffect(()=>{t&&!d&&w(t)},[t,d]);const p=()=>{e?.(d),u(!1)},C={onOpenAutoFocus:()=>{},showUnderlay:!0,"data-is-underlay":!0,minWidth:"800px"};return o.jsx("div",{onPointerDown:v=>{v.preventDefault()},"data-test-id":"internal-link-selector",onKeyDown:f,children:o.jsxs(m.Dialog.Root,{modal:!0,open:c,onOpenChange:u,children:[o.jsx(m.Dialog.Trigger,{asChild:!0,children:o.jsxs(m.Button,{size:n,emphasis:"default",children:[o.jsx(P.IconLink,{size:"20"}),"Internal link"]})}),o.jsxs(m.Dialog.Content,{...C,children:[o.jsx(m.Dialog.Header,{children:o.jsx(m.Dialog.Title,{children:"Select internal link"})}),o.jsx(m.Dialog.Body,{padding:"none",children:o.jsx(m.ScrollArea,{padding:"compact",children:o.jsx(ho,{selectedUrl:d,onSelectUrl:y,getAllDocuments:s,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:l})})}),o.jsxs(m.Dialog.Footer,{children:[o.jsx(m.Button,{size:n,emphasis:"default",onPress:()=>u(!1),children:"Cancel"}),o.jsx(m.Button,{size:n,disabled:!d,emphasis:"strong",onPress:()=>p(),children:"Choose"})]})]})]})})},ze=({onUrlChange:t,onToggleTab:e,isValidUrlOrEmpty:n,appBridge:s,placeholder:r,newTab:l,url:c="",required:u,info:d,label:w,buttonSize:y,hideInternalLinkButton:f})=>{const p=n?n(c):nt(c);return o.jsxs("div",{"data-test-id":"link-input",children:[o.jsx(mt.FormControl,{label:{children:w,htmlFor:"url",required:u,tooltip:d?{content:d,position:"top"}:void 0},children:o.jsx(m.TextInput,{"data-test-id":"text-input",id:"url",value:c,onChange:C=>t?.(C.target.value),placeholder:r??"https://example.com"})}),!p&&o.jsx("div",{className:"tw-text-error tw-mt-1 tw-text-small",children:"Please enter a valid URL."}),!f&&o.jsx("div",{className:"tw-mt-3",children:o.jsx(He,{url:c,onUrlChange:t,buttonSize:y??"medium",getAllDocuments:()=>s.getAllDocuments(),getDocumentPagesByDocumentId:C=>s.getDocumentPagesByDocumentId(C),getDocumentSectionsByDocumentPageId:C=>s.getDocumentSectionsByDocumentPageId(C)})}),o.jsxs("div",{className:"tw-mt-3 tw-flex tw-items-center tw-gap-1.5",children:[o.jsx(m.Checkbox,{id:"new-tab",value:l,onChange:()=>e?.(!l)}),o.jsx(m.Label,{id:"new-tab-label",htmlFor:"new-tab",className:"tw-whitespace-nowrap",children:"Open in new tab"})]})]})},Ve=({state:t,onTextChange:e,onUrlChange:n,onToggleTab:s,onCancel:r,onSave:l,isValidUrlOrEmpty:c,hasValues:u,testId:d,appBridge:w,children:y})=>o.jsxs(a.FloatingModalWrapper,{"data-test-id":d,padding:"28px",minWidth:"400px",children:[o.jsx(mt.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:o.jsx(m.TextInput,{id:"linkText",value:t.text,placeholder:"Link Text",onChange:f=>e(f.target.value)})}),y,o.jsx("div",{className:"tw-mt-5",children:o.jsx(ze,{url:t.url,newTab:t.newTab,onUrlChange:n,onToggleTab:s,isValidUrlOrEmpty:c,appBridge:w})}),o.jsx("div",{className:"tw-mt-3",children:o.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[o.jsx(m.Button,{"data-test-id":"button",onPress:r,size:"medium",emphasis:"default",children:"Cancel"}),o.jsxs(m.Button,{"data-test-id":"button",onPress:l,size:"medium",disabled:!c(t?.url)||!u,children:[o.jsx(P.IconCheckMark,{size:"20"}),"Save"]})]})})]}),mo=t=>{const e=a.getAboveNode(t,{match:{type:I}});return Array.isArray(e)&&e[0]?.buttonStyle||"primary"},fo={url:"",text:"",buttonStyle:"primary",newTab:!1},po=()=>{const[t,e]=g.useReducer((n,s)=>{const{type:r,payload:l}=s;switch(r){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...l};default:return n}},fo);return[t,e]},wo=()=>{const t=a.useEditorRef(),[e,n]=po();g.useEffect(()=>{const f=mo(t);n({type:"INIT",payload:{text:B.text()||B.url(),buttonStyle:f,newTab:!!B.newTab(),url:B.url()}})},[n,t]);const s=f=>{n({type:"TEXT",payload:{text:f}})},r=f=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:f}})},l=f=>{n({type:"URL",payload:{url:f}})},c=f=>{n(f?{type:"NEW_TAB"}:{type:"SAME_TAB"})},u=()=>{S.reset()},d=f=>{if(!nt(e.url)||!w)return;const p=yt(e.url);S.text(e.text),S.url(p),S.buttonStyle(e.buttonStyle),S.newTab(e.newTab),Ut(t)&&f?.preventDefault()},w=e.url!==""&&e.text!=="",{appBridge:y}=a.getPluginOptions(t,I);return a.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:s,onButtonStyleChange:r,onUrlChange:l,onToggleTab:c,onCancel:u,onSave:d,hasValues:w,isValidUrlOrEmpty:nt,appBridge:y}},yo=()=>{const t=wo(),{state:e,onButtonStyleChange:n}=t;return o.jsx(Ve,{...t,testId:"floating-button-insert",children:o.jsx("div",{className:"tw-pt-5",children:o.jsxs(mt.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[o.jsx($t,{id:"primary",styles:E.buttonPrimary,isActive:e.buttonStyle==="primary",onClick:()=>n("primary"),children:e.text||"Primary Button"}),o.jsx($t,{id:"secondary",styles:E.buttonSecondary,isActive:e.buttonStyle==="secondary",onClick:()=>n("secondary"),children:e.text||"Secondary Button"}),o.jsx($t,{id:"tertiary",styles:E.buttonTertiary,isActive:e.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:e.text||"Tertiary Button"})]})})})},$t=({id:t,styles:e,isActive:n,onClick:s,children:r})=>{const[l,c]=g.useState(!1),u=()=>e&&e.hover&&l?{...e,...e.hover}:e;return o.jsx("button",{"data-test-id":`floating-button-insert-${t}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onClick:s,style:{...u(),marginTop:0,marginBottom:0},className:n?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:r})},$e={placement:"bottom-start",strategy:"absolute",middleware:[a.offset(12),a.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},bo=()=>{const{ref:t,...e}=ko($e),{ref:n,...s}=vo($e),r=a.useEditorRef(),l=ut(),c=l.isOpen(r.id),u=l.isEditing(),d=l.mode(),w=o.jsx(yo,{}),y=u?w:o.jsx(io,{});return o.jsxs(o.Fragment,{children:[c&&d==="insert"&&ft.createPortal(o.jsx("div",{"data-is-underlay":!0,ref:t,...e,style:{...e.style,...E[a.TextStyles.p]},children:w}),document.body),c&&d==="edit"&&ft.createPortal(o.jsx("div",{"data-is-underlay":!0,ref:n,...s,style:{...s.style,...E[a.TextStyles.p]},children:y}),document.body)]})},I="button",We="button-plugin",qe=t=>a.createPluginFactory({key:I,isElement:!0,isInline:!0,props:({element:e})=>({nodeProps:{href:e?.url,target:e?.target}}),withOverrides:Be,renderAfterEditable:bo,options:{isUrl:bt,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:t},then:(e,{type:n})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:s=>({type:n,url:s.getAttribute("href"),target:s.getAttribute("target")||"_blank"})}})})();class Ge extends a.Plugin{styles={};appBridge;constructor({styles:e=Ct,...n}){super(We,{button:ro,markupElement:new so,...n}),this.styles=e,this.appBridge=n?.appBridge}plugins(){return[qe(this.appBridge)]}}const vo=t=>{const e=a.useEditorRef(),n=ut().mode(),s=ut().isOpen(e.id),r=a.useEditorVersion(),{triggerFloatingButtonHotkeys:l}=a.getPluginOptions(e,I),c=g.useCallback(()=>{const f=a.getAboveNode(e,{match:{type:a.getPluginType(e,I)}});if(f){const[,p]=f;return a.getRangeBoundingClientRect(e,{anchor:a.getStartPoint(e,p),focus:a.getEndPoint(e,p)})}return a.getDefaultBoundingClientRect()},[e]),u=s&&n==="edit",{update:d,style:w,floating:y}=je({open:u,getBoundingClientRect:c,...t});return g.useEffect(()=>{const f=De(e);if(f&&S.url(f),e.selection&&a.someNode(e,{match:{type:a.getPluginType(e,I)}})){S.show("edit",e.id),d();return}B.mode()==="edit"&&S.reset()},[e,r,d]),a.useHotkeys(l,f=>{f.preventDefault(),B.mode()==="edit"&&vt(e)},{enableOnContentEditable:!0},[]),Co(),Ke(),{style:w,ref:a.useComposedRef(y)}},Co=()=>{const t=a.useEditorRef();a.useHotkeys("*",e=>{e.key==="Enter"&&Ut(t)&&e.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Ke=()=>{const t=a.useEditorRef();a.useHotkeys("escape",()=>{if(B.mode()==="edit"){if(B.isEditing()){S.show("edit",t.id),a.focusEditor(t,t.selection??void 0);return}S.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},ko=t=>{const e=a.useEditorRef(),n=a.useFocused(),s=ut().mode(),r=ut().isOpen(e.id),{triggerFloatingButtonHotkeys:l}=a.getPluginOptions(e,I);a.useHotkeys(l,w=>{w.preventDefault(),zt(e,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:c,style:u,floating:d}=je({open:r&&s==="insert",getBoundingClientRect:a.getSelectionBoundingClientRect,whileElementsMounted:void 0,...t});return g.useEffect(()=>{r&&c(),S.updated(r)},[r,c]),Ke(),{style:u,ref:a.useComposedRef(d)}},To=12,Po=-22,xo=96,je=t=>a.useVirtualFloating({placement:"bottom-start",middleware:[a.offset({mainAxis:To,alignmentAxis:Po}),a.flip({padding:xo})],...t}),Wt="[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",Ye={1:"tw-columns-1",2:"tw-columns-1 @sm:!tw-columns-2 [&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",3:`tw-columns-1 @md:!tw-columns-3 ${Wt}`,4:`tw-columns-1 @md:!tw-columns-4 ${Wt}`,5:`tw-columns-1 @md:!tw-columns-5 ${Wt}`},Qe=t=>t?Ye[t]||Ye[1]:"",Io=({value:t="",gap:e,customClass:n,show:s=!0,plugins:r})=>{const[l,c]=g.useState(null);return g.useEffect(()=>{(async()=>{const d=await a.serializeRawToHtmlAsync(t,r,void 0,e,n);c(d)})().catch(console.error)},[t,e,r,n]),!s||l==="<br />"||l===null?null:o.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:l}})},Eo=t=>{B.isOpen(t)&&S.reset()},Xe=g.memo(({isEnabled:t,value:e,columns:n,gap:s,placeholder:r,plugins:l,onTextChange:c,showSerializedText:u})=>{const d=Qe(n),[w,y]=g.useState(!1),f=g.useId(),p=g.useCallback(v=>{v!==e&&c?.(v),y(!1)},[c,e]),C=g.useCallback(()=>y(!0),[]);return g.useEffect(()=>{const v=x=>{x.preventDefault(),x.returnValue="Unprocessed changes"};return w&&window.addEventListener("beforeunload",v),()=>window.removeEventListener("beforeunload",v)},[w]),t?o.jsx(a.RichTextEditor,{id:f,value:e,border:!1,placeholder:r,plugins:l,onValueChanged:C,onTextChange:p,hideExternalFloatingModals:Eo,placeholderOpacity:"high"}):o.jsx(Io,{value:e,gap:s,customClass:d,show:u,plugins:l})});Xe.displayName="InternalRichTextEditor";const So=t=>{const e=g.useRef(null),[n,s]=g.useState(!1),{isEditing:r,...l}=t,c=g.useCallback(u=>{u&&s(!0)},[]);return jn({ref:e,disabled:!r,onChange:c}),g.useEffect(()=>{r||s(!1)},[r]),o.jsx("div",{"data-test-id":"rich-text-editor-container",className:"tw-block tw-w-full tw-@container",ref:e,children:o.jsx(Xe,{...l,isEnabled:r&&n})})},Bo=({editButtonProps:t,unlinkButtonProps:e})=>{const{element:n}=a.useLinkOpenButtonState(),s=n?Ot(n):"";return o.jsx(a.FloatingModalWrapper,{"data-test-id":"floating-link-edit",padding:"16px",minWidth:"400px",children:o.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center tw-gap-2",children:[o.jsx("a",{"data-test-id":"floating-link-edit-url",href:s,target:"_blank",rel:"noopener noreferrer",style:E[at],className:"tw-break-all",children:s}),o.jsxs("span",{className:"tw-flex tw-gap-2",children:[o.jsx("button",{tabIndex:0,"data-test-id":"edit-link-button",className:"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",...t,children:o.jsx(P.IconPen,{size:16})}),o.jsx("button",{tabIndex:0,"data-test-id":"remove-link-button",className:"tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1",...e,children:o.jsx(P.IconTrashBin,{size:16})})]})]})})},Je=(t,e)=>{const n=a.getAboveNode(t,{match:{type:a.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},No=t=>Je(t,e=>e.chosenLink?.searchResult?.link||""),Ao=t=>Je(t,e=>e.url||""),Lo={url:"",text:"",newTab:!1},Do=()=>{const[t,e]=g.useReducer((n,s)=>{const{type:r,payload:l}=s;switch(r){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"INIT":return{...n,...l};default:return n}},Lo);return[t,e]},Mo=()=>{const t=a.useEditorRef(),[e,n]=Do();g.useEffect(()=>{const y=No(t),f=Ao(t),p=a.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:a.floatingLinkSelectors.text()||a.floatingLinkSelectors.url(),newTab:p,url:y&&f===""?y:a.floatingLinkSelectors.url()}})},[n,t]);const s=y=>{n({type:"TEXT",payload:{text:y}})},r=y=>{n({type:"URL",payload:{url:y}})},l=y=>{n(y?{type:"NEW_TAB"}:{type:"SAME_TAB"})},c=()=>{a.floatingLinkActions.reset()},u=y=>{!nt(e.url)||!d||(a.floatingLinkActions.text(e.text),a.floatingLinkActions.url(yt(e.url)),a.floatingLinkActions.newTab(e.newTab),a.submitFloatingLink(t)&&y?.preventDefault())},d=e.url!==""&&e.text!=="",{appBridge:w}=a.getPluginOptions(t,a.ELEMENT_LINK);return a.useHotkeys("enter",u,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:s,onUrlChange:r,onToggleTab:l,onCancel:c,onSave:u,hasValues:d,isValidUrlOrEmpty:nt,appBridge:w}},Fo=()=>o.jsx(Ve,{...Mo(),testId:"floating-link-insert"}),Ze={placement:"bottom-start",strategy:"absolute",middleware:[a.offset(12),a.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Oo=()=>{const t=a.useFloatingLinkInsertState({floatingOptions:Ze}),{props:e,ref:n,hidden:s}=a.useFloatingLinkInsert(t),r=a.useFloatingLinkEditState({floatingOptions:Ze}),{props:l,ref:c,editButtonProps:u,unlinkButtonProps:d}=a.useFloatingLinkEdit(r);if(s)return null;const w=o.jsx(Fo,{}),y=r.isEditing?w:o.jsx(Bo,{editButtonProps:u,unlinkButtonProps:d});return o.jsxs(o.Fragment,{children:[t.isOpen&&!r.isOpen&&ft.createPortal(o.jsx("div",{"data-is-underlay":!0,ref:n,...e,style:{...e.style,...E[b.p]},children:w}),document.body),r.isOpen&&ft.createPortal(o.jsx("div",{"data-is-underlay":!0,ref:c,...l,style:{...l.style,...E[b.p]},children:y}),document.body)]})},Re=g.forwardRef((t,e)=>{const n=a.useEditorRef(),s=a.useLinkToolbarButtonState(),{props:r}=a.useLinkToolbarButton(s);return o.jsx(a.ToolbarButton,{onMouseDown:l=>{l.preventDefault(),a.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:e,...r,...t,children:o.jsx(a.IconStylingWrapper,{icon:o.jsx(P.IconLink,{size:16})})})});Re.displayName="LinkToolbarButton";const _o=({id:t,editorId:e})=>{const n=a.useEditorState(a.useEventPlateId(e)),s=!!a.isRangeInSameBlock(n,{at:n.selection});return o.jsx("div",{"data-plugin-id":t,children:o.jsx(Re,{disabled:!s,tooltip:a.getTooltip(s?`Link
|
|
9
|
-
${a.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},Uo=t=>{const{attributes:e,children:n}=t,{styles:s}=a.useRichTextEditorContext(),r=t.element.url||t.element.chosenLink?.searchResult?.link||"",l=t.element.target||"_self";return o.jsx("a",{...e,href:r,target:l,style:s[at],children:n})};class Ho extends a.MarkupElement{constructor(e=a.ELEMENT_LINK,n=Uo){super(e,n)}}const tn=t=>a.createPluginFactory({...a.createLinkPlugin(),renderAfterEditable:Oo,options:{isUrl:bt,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:t}})();class en extends a.Plugin{styles={};appBridge;constructor({styles:e=E[at],...n}){super(at,{button:_o,markupElement:new Ho,...n}),this.styles=e,this.appBridge=n.appBridge}plugins(){return[tn(this.appBridge)]}}const zo="breakAfterColumn",nn="normal";class Vo extends a.Plugin{columns;gap;customClass;constructor(e){super("break-after-plugin",{button:a.ColumnBreakButton,...e}),this.columns=e?.columns??1,this.gap=e?.gap??nn,this.customClass=Qe(this.columns)}plugins(){return[a.createColumnBreakPlugin(this.columns,this.gap,this.customClass)]}}const $o="textstyle-custom1-plugin";class on extends a.Plugin{styles={};constructor({styles:e=E.custom1,...n}={}){super(b.custom1,{label:"Custom 1",markupElement:new Wo,...n}),this.styles=e}plugins(){return[qo(this.styles)]}}class Wo extends a.MarkupElement{constructor(e=$o,n=an){super(e,n)}}const an=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("p",{...e,style:s,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),children:n})},qo=t=>a.createPluginFactory({key:b.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom1}]}})({component:e=>o.jsx(an,{...e,styles:t})}),Go="textstyle-custom2-plugin";class sn extends a.Plugin{styles={};constructor({styles:e=E.custom2,...n}={}){super(b.custom2,{label:"Custom 2",markupElement:new Ko,...n}),this.styles=e}plugins(){return[jo(this.styles)]}}class Ko extends a.MarkupElement{constructor(e=Go,n=rn){super(e,n)}}const rn=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("p",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},jo=t=>a.createPluginFactory({key:b.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom2}]}})({component:e=>o.jsx(rn,{...e,styles:t})}),Yo="textstyle-custom3-plugin";class ln extends a.Plugin{styles={};constructor({styles:e=E.custom3,...n}={}){super(a.TextStyles.custom3,{label:"Custom 3",markupElement:new Qo,...n}),this.styles=e}plugins(){return[Xo(this.styles)]}}class Qo extends a.MarkupElement{constructor(e=Yo,n=dn){super(e,n)}}const dn=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("p",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},Xo=t=>a.createPluginFactory({key:a.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:a.TextStyles.custom3}]}})({component:e=>o.jsx(dn,{...e,styles:t})}),Jo="textstyle-heading1-plugin";class cn extends a.Plugin{styles={};constructor({styles:e=E.heading1,...n}={}){super(b.heading1,{label:"Heading 1",markupElement:new Zo,...n}),this.styles=e}plugins(){return[Ro(this.styles)]}}class Zo extends a.MarkupElement{constructor(e=Jo,n=qt){super(e,n)}}const qt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("h1",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},Ro=t=>a.createPluginFactory({key:b.heading1,isElement:!0,component:qt,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:e=>o.jsx(qt,{...e,styles:t})}),ta="textstyle-heading2-plugin";class un extends a.Plugin{styles={};constructor({styles:e=E.heading2,...n}={}){super(b.heading2,{label:"Heading 2",markupElement:new ea,...n}),this.styles=e}plugins(){return[na(this.styles)]}}class ea extends a.MarkupElement{constructor(e=ta,n=Gt){super(e,n)}}const Gt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("h2",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},na=t=>a.createPluginFactory({key:b.heading2,isElement:!0,component:Gt,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:e=>o.jsx(Gt,{...e,styles:t})}),oa="textstyle-heading3-plugin";class gn extends a.Plugin{styles={};constructor({styles:e=E.heading3,...n}={}){super(b.heading3,{label:"Heading 3",markupElement:new aa,...n}),this.styles=e}plugins(){return[sa(this.styles)]}}class aa extends a.MarkupElement{constructor(e=oa,n=Kt){super(e,n)}}const Kt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("h3",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},sa=t=>a.createPluginFactory({key:b.heading3,isElement:!0,component:Kt,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:e=>o.jsx(Kt,{...e,styles:t})}),ra="textstyle-heading4-plugin";class hn extends a.Plugin{styles={};constructor({styles:e=E.heading4,...n}={}){super(b.heading4,{label:"Heading 4",markupElement:new ia,...n}),this.styles=e}plugins(){return[la(this.styles)]}}class ia extends a.MarkupElement{constructor(e=ra,n=jt){super(e,n)}}const jt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("h4",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},la=t=>a.createPluginFactory({key:b.heading4,isElement:!0,component:jt,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:e=>o.jsx(jt,{...e,styles:t})}),da="textstyle-imageCaption-plugin";class mn extends a.Plugin{styles={};constructor({styles:e=E.imageCaption,...n}={}){super(b.imageCaption,{label:"Image Caption",markupElement:new ca,...n}),this.styles=e}plugins(){return[ua(this.styles)]}}class ca extends a.MarkupElement{constructor(e=da,n=Yt){super(e,n)}}const Yt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("p",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},ua=t=>a.createPluginFactory({key:b.imageCaption,isElement:!0,component:Yt,deserializeHtml:{rules:[{validClassName:b.imageCaption}]}})({component:e=>o.jsx(Yt,{...e,styles:t})}),ga="textstyle-imageTitle-plugin";class fn extends a.Plugin{styles={};constructor({styles:e=E.imageTitle,...n}={}){super(b.imageTitle,{label:"Image Title",markupElement:new ha,...n}),this.styles=e}plugins(){return[ma(this.styles)]}}class ha extends a.MarkupElement{constructor(e=ga,n=Qt){super(e,n)}}const Qt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("p",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},ma=t=>a.createPluginFactory({key:b.imageTitle,isElement:!0,component:Qt,deserializeHtml:{rules:[{validClassName:b.imageTitle}]}})({component:e=>o.jsx(Qt,{...e,styles:t})});class pn extends a.Plugin{styles={};constructor({styles:e=E.p,...n}={}){super(b.p,{markupElement:new yn,label:"Body Text",...n}),this.styles=e}plugins(){return[bn(this.styles)]}}const wn="tw-m-0 tw-px-0 tw-py-0",kt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align,l=a.merge([r&&a.alignmentClassnames[r],wn,a.getColumnBreakClasses(t)]);return o.jsx("p",{...e,className:l,style:s,children:n})};class yn extends a.MarkupElement{constructor(e=b.p,n=kt){super(e,n)}}const bn=t=>a.createPluginFactory({...a.createParagraphPlugin(),key:b.p,isElement:!0,component:kt})({component:e=>o.jsx(kt,{...e,styles:t})}),fa="textstyle-quote-plugin";class vn extends a.Plugin{styles={};constructor({styles:e=E.quote,...n}={}){super(b.quote,{label:"Quote",markupElement:new pa,...n}),this.styles=e}plugins(){return[Cn(this.styles)]}}class pa extends a.MarkupElement{constructor(e=fa,n=Tt){super(e,n)}}const Tt=({element:t,attributes:e,children:n,styles:s})=>{const r=t.align;return o.jsx("blockquote",{...e,className:a.merge([r&&a.alignmentClassnames[r],a.getColumnBreakClasses(t)]),style:s,children:n})},Cn=t=>a.createPluginFactory({key:b.quote,isElement:!0,component:Tt,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:e=>o.jsx(Tt,{...e,styles:t})}),Xt=[new cn,new un,new gn,new hn,new on,new sn,new ln,new vn,new pn],st=[b.heading1,b.heading2,b.heading3,b.heading4,b.custom1,b.custom2,b.custom3,b.quote,b.p],wa=[...Xt,new mn,new fn],ya=[...st,b.imageCaption,b.imageTitle],ba=[{color:"var(--f-theme-settings-list-bullet1-color, currentColor)",shape:"var(--f-theme-settings-list-bullet1-shape, '•')",size:"var(--f-theme-settings-list-bullet1-size, 1em)"},{color:"var(--f-theme-settings-list-bullet2-color, currentColor)",shape:"var(--f-theme-settings-list-bullet2-shape, '•')",size:"var(--f-theme-settings-list-bullet2-size, 1em)"},{color:"var(--f-theme-settings-list-bullet3-color, currentColor)",shape:"var(--f-theme-settings-list-bullet3-shape, '•')",size:"var(--f-theme-settings-list-bullet3-size, 1em)"}];class kn extends a.UnorderedListPlugin{constructor(e){super({listStyles:ba,...e})}}const va=[{counterType:"var(--f-theme-settings-list-numbered1-counter-type, decimal)",color:"var(--f-theme-settings-list-numbered1-color, currentColor)"},{counterType:"var(--f-theme-settings-list-numbered2-counter-type, lower-alpha)",color:"var(--f-theme-settings-list-numbered2-color, currentColor)"},{counterType:"var(--f-theme-settings-list-numbered3-counter-type, lower-roman)",color:"var(--f-theme-settings-list-numbered3-color, currentColor)"}];class Tn extends a.OrderedListPlugin{constructor(e){super({listStyles:va,...e})}}const Ca=t=>new a.PluginComposer().setPlugin(new a.SoftBreakPlugin,new a.TextStylePlugin({textStyles:Xt})).setPlugin([new a.BoldPlugin,new a.ItalicPlugin,new a.UnderlinePlugin,new a.StrikethroughPlugin,new en({appBridge:t}),new Ge({appBridge:t}),new a.CodePlugin],[new a.AlignLeftPlugin({validTypes:st}),new a.AlignCenterPlugin({validTypes:st}),new a.AlignRightPlugin({validTypes:st}),new a.AlignJustifyPlugin({validTypes:st}),new kn,new a.CheckboxListPlugin,new Tn,new a.ResetFormattingPlugin,new a.AutoformatPlugin]),ka="--f-theme-settings-",Ta=t=>{const e=t?.id?`hasBackground${t.id}`:"hasBackground",n=t?.id?`backgroundColor${t.id}`:"backgroundColor",s=t?.preventDefaultColor?void 0:t?.defaultColor||_n,r=t?.label?t.label:"Background",l=t?.switchLabel?t.switchLabel:void 0;return{id:e,label:r,type:"switch",switchLabel:l,defaultValue:!!t?.defaultValue,on:[{id:n,defaultValue:s,type:"colorInput"}]}},Pa=t=>{const e=t?.id?`hasBorder_${t.id}`:"hasBorder",n=t?.id?`borderSelection_${t.id}`:"borderSelection",s=t?.id?`borderStyle_${t.id}`:"borderStyle",r=t?.id?`borderWidth_${t.id}`:"borderWidth",l=t?.id?`borderColor_${t.id}`:"borderColor",c=t?.defaultColor||se,u=t?.switchLabel?t.switchLabel:void 0;return{id:e,label:"Border",type:"switch",switchLabel:u,defaultValue:!!t?.defaultValue,on:[{id:n,type:"multiInput",layout:h.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:s,type:"dropdown",defaultValue:F.Solid,choices:[{value:F.Solid,label:F.Solid},{value:F.Dotted,label:F.Dotted},{value:F.Dashed,label:F.Dashed}]},{id:r,type:"input",defaultValue:Un,rules:[h.numericalOrPixelRule,h.minimumNumericalOrPixelRule(0),h.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px",onChange:d=>h.appendUnit(d,r)},{id:l,type:"colorInput",defaultValue:c}]}],off:[]}},Jt=(t,e=V.None)=>({id:t,type:"segmentedControls",defaultValue:e,choices:[{value:V.None,label:"None"},{value:V.Small,label:"S"},{value:V.Medium,label:"M"},{value:V.Large,label:"L"}]}),xa=t=>{const e=t?.id?`hasRadius_${t.id}`:"hasRadius",n=t?.id?`radiusValue_${t.id}`:"radiusValue",s=t?.id?`radiusChoice_${t.id}`:"radiusChoice",r=t?.defaultRadius||V.None;return{id:e,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:l=>t?.dependentSettingId?!!l.getBlock(t.dependentSettingId)?.value:!0,onChange:l=>h.presetCustomValue(l,s,n,t?.radiusStyleMap||K),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[h.numericalOrPixelRule,h.minimumNumericalOrPixelRule(0)],onChange:l=>h.appendUnit(l,n)}],off:[Jt(s,r)]}},Ia=t=>{const e=t?.id?`hasExtendedCustomRadius_${t.id}`:"hasExtendedCustomRadius",n=t?.id?`extendedRadiusValue_${t.id}`:"extendedRadiusValue",s=t?.id?`extendedRadiusChoice_${t.id}`:"extendedRadiusChoice",r=t?.id?`extendedRadiusTopLeft_${t.id}`:"extendedRadiusTopLeft",l=t?.id?`extendedRadiusTopRight_${t.id}`:"extendedRadiusTopRight",c=t?.id?`extendedRadiusBottomLeft_${t.id}`:"extendedRadiusBottomLeft",u=t?.id?`extendedRadiusBottomRight_${t.id}`:"extendedRadiusBottomRight";return{id:e,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:d=>t?.dependentSettingId?!!d.getBlock(t.dependentSettingId)?.value:!0,onChange:d=>{h.presetCustomValue(d,s,r,K),h.presetCustomValue(d,s,l,K),h.presetCustomValue(d,s,c,K),h.presetCustomValue(d,s,u,K)},on:[{id:n,type:"multiInput",layout:h.MultiInputLayout.Columns,blocks:[{id:r,type:"input",label:"Top Left",rules:[h.numericalOrPixelRule],onChange:d=>h.appendUnit(d,r)},{id:l,type:"input",label:"Top Right",rules:[h.numericalOrPixelRule],onChange:d=>h.appendUnit(d,l)},{id:c,type:"input",label:"Bottom Left",rules:[h.numericalOrPixelRule],onChange:d=>h.appendUnit(d,c)},{id:u,type:"input",label:"Bottom Right",rules:[h.numericalOrPixelRule],onChange:d=>h.appendUnit(d,u)}]}],off:[Jt(s,t?.defaultValue)]}},Ea=t=>{const e=t?.id?t.id:"hasCustomSpacing",n=t?.dependentSettingId?t.dependentSettingId:"columns",s=t?.spacingChoiceId?t.spacingChoiceId:"spacingChoice",r=t?.spacingCustomId?t.spacingCustomId:"spacingCustom",l=t?.defaultValueChoices?t.defaultValueChoices:X.M;return{id:e,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:c=>h.presetCustomValue(c,s,r,ie),show:c=>c.getBlock(n)?.value!=="1",on:[{id:r,type:"input",rules:[h.numericalOrPixelRule],onChange:c=>h.appendUnit(c,r)}],off:[{id:s,type:"slider",defaultValue:l,choices:[{value:X.Auto,label:"Auto"},{value:X.S,label:"S"},{value:X.M,label:"M"},{value:X.L,label:"L"}]}]}},Zt=t=>({id:t,type:"segmentedControls",defaultValue:Y.None,choices:[{value:Y.None,label:"None"},{value:Y.Small,label:"S"},{value:Y.Medium,label:"M"},{value:Y.Large,label:"L"}]}),Sa=t=>{const e=t?.id?`hasCustomMarginValue_${t?.id}`:"hasCustomMarginValue",n=t?.id?`marginValue_${t?.id}`:"marginValue",s=t?.id?`marginChoice_${t?.id}`:"marginChoice";return{id:e,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:r=>h.presetCustomValue(r,s,n,t?.marginStyleMap||R),on:[{id:n,type:"input",placeholder:ct,rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)],onChange:r=>h.appendUnit(r,n)}],off:[Zt(s)]}},Ba=t=>{const e=t?.id?`hasExtendedCustomMargin_${t?.id}`:"hasExtendedCustomMargin",n=t?.id?`extendedMarginValues_${t?.id}`:"extendedMarginValues",s=t?.id?`extendedMarginChoice_${t?.id}`:"extendedMarginChoice",r=t?.id?`extendedMarginTop_${t?.id}`:"extendedMarginTop",l=t?.id?`extendedMarginLeft_${t?.id}`:"extendedMarginLeft",c=t?.id?`extendedMarginRight_${t?.id}`:"extendedMarginRight",u=t?.id?`extendedMarginBottom_${t?.id}`:"extendedMarginBottom";return{id:e,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{h.presetCustomValue(d,s,r,R),h.presetCustomValue(d,s,l,R),h.presetCustomValue(d,s,c,R),h.presetCustomValue(d,s,u,R)},on:[{id:n,type:"multiInput",layout:h.MultiInputLayout.Spider,blocks:[{id:r,type:"input",label:"Top",placeholder:ct,onChange:d=>h.appendUnit(d,r),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:ct,onChange:d=>h.appendUnit(d,l),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:ct,onChange:d=>h.appendUnit(d,c),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Bottom",placeholder:ct,onChange:d=>h.appendUnit(d,u),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Zt(s)]}},Rt=t=>({id:t,type:"segmentedControls",defaultValue:j.Small,choices:[{value:j.None,label:"None"},{value:j.Small,label:"S"},{value:j.Medium,label:"M"},{value:j.Large,label:"L"}]}),Na=t=>{const e=t?.id?`hasCustomPaddingValue_${t?.id}`:"hasCustomPaddingValue",n=t?.id?`paddingValue_${t?.id}`:"paddingValue",s=t?.id?`paddingChoice_${t?.id}`:"paddingChoice";return{id:e,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:r=>h.presetCustomValue(r,s,n,t?.paddingStyleMap||Z),on:[{id:n,type:"input",placeholder:dt,rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)],onChange:r=>h.appendUnit(r,n)}],off:[Rt(s)]}},Aa=t=>{const e=t?.id?`hasExtendedCustomPadding_${t?.id}`:"hasExtendedCustomPadding",n=t?.id?`extendedPaddingValues_${t?.id}`:"extendedPaddingValues",s=t?.id?`extendedPaddingChoice_${t?.id}`:"extendedPaddingChoice",r=t?.id?`extendedPaddingTop_${t?.id}`:"extendedPaddingTop",l=t?.id?`extendedPaddingLeft_${t?.id}`:"extendedPaddingLeft",c=t?.id?`extendedPaddingRight_${t?.id}`:"extendedPaddingRight",u=t?.id?`extendedPaddingBottom_${t?.id}`:"extendedPaddingBottom";return{id:e,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{h.presetCustomValue(d,s,r,Z),h.presetCustomValue(d,s,l,Z),h.presetCustomValue(d,s,c,Z),h.presetCustomValue(d,s,u,Z)},on:[{id:n,type:"multiInput",layout:h.MultiInputLayout.Spider,blocks:[{id:r,type:"input",label:"Top",placeholder:dt,onChange:d=>h.appendUnit(d,r),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:dt,onChange:d=>h.appendUnit(d,l),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:dt,onChange:d=>h.appendUnit(d,c),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Bottom",placeholder:dt,onChange:d=>h.appendUnit(d,u),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Rt(s)]}},La=t=>{const e=te(t?.globalControlId);return{id:t?.id?t.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>n.getBlock(e)?.value===Q.Custom}},te=t=>t||"security",Da=t=>[{id:te(t),type:"segmentedControls",defaultValue:Q.Global,choices:[{value:Q.Global,label:"Global Settings"},{value:Q.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:h.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var Pn=(t=>(t.Main="main",t.Basics="basics",t.Layout="layout",t.Style="style",t.Security="security",t.Targets="targets",t))(Pn||{});const Ma=t=>t,Fa=t=>t;i.AllTextStylePlugins=wa,i.AllTextStyles=ya,i.AttachmentOperationsProvider=Vn,i.Attachments=pe,i.AttachmentsProvider=ge,i.AttachmentsToolbarButton=be,i.BUTTON_PLUGIN=We,i.BlockButtonStyles=Ct,i.BlockInjectButton=Sn,i.BlockItemWrapper=Ee,i.BlockStyles=E,i.BorderStyle=F,i.BreakAfterPlugin=Vo,i.ButtonPlugin=Ge,i.Custom1Plugin=on,i.Custom2Plugin=sn,i.Custom3Plugin=ln,i.DEFAULT_ATTACHMENTS_BUTTON_ID=ye,i.DEFAULT_DRAGGING_TOOLTIP=Ce,i.DEFAULT_DRAG_TOOLTIP=ve,i.DEFAULT_MENU_BUTTON_ID=Dt,i.DragHandleToolbarButton=ke,i.DragPreviewContextProvider=le,i.ELEMENT_BUTTON=I,i.FlyoutToolbarButton=Te,i.GAP_DEFAULT=nn,i.GutterSpacing=X,i.Heading1Plugin=cn,i.Heading2Plugin=un,i.Heading3Plugin=gn,i.Heading4Plugin=hn,i.ImageCaptionPlugin=mn,i.ImageTitlePlugin=fn,i.KEY_ELEMENT_BREAK_AFTER_COLUMN=zo,i.LinkInput=ze,i.LinkPlugin=en,i.LinkSelector=He,i.Margin=Y,i.MenuToolbarButton=Pe,i.MultiFlyoutContextProvider=de,i.OrderedListPlugin=Tn,i.PARAGRAPH_CLASSES=wn,i.Padding=j,i.ParagraphMarkupElement=yn,i.ParagraphMarkupElementNode=kt,i.ParagraphPlugin=pn,i.QuoteMarkupElementNode=Tt,i.QuotePlugin=vn,i.Radius=V,i.RichTextEditor=So,i.Sections=Pn,i.Security=Q,i.THEME_PREFIX=ka,i.TextStylePluginsWithoutImage=Xt,i.TextStyles=b,i.TextStylesWithoutImage=st,i.Toolbar=Ie,i.UnorderedListPlugin=kn,i.addHttps=yt,i.borderStyleMap=re,i.convertToRteValue=Yn,i.createButtonNode=Me,i.createButtonPlugin=qe,i.createLinkPlugin=tn,i.createParagraphPlugin=bn,i.createQuotePlugin=Cn,i.defineBlock=Ma,i.defineSettings=Fa,i.getBackgroundColorStyles=On,i.getBackgroundSettings=Ta,i.getBorderRadiusSettings=xa,i.getBorderRadiusSlider=Jt,i.getBorderSettings=Pa,i.getBorderStyles=Hn,i.getDefaultPluginsWithLinkChooser=Ca,i.getExtendedBorderRadiusSettings=Ia,i.getGutterSettings=Ea,i.getLegacyUrl=Xn,i.getLinkFromEditor=Zn,i.getMarginExtendedSettings=Ba,i.getMarginSettings=Sa,i.getMarginSlider=Zt,i.getPaddingExtendedSettings=Aa,i.getPaddingSettings=Na,i.getPaddingSlider=Rt,i.getRadiusStyles=zn,i.getReadableColor=Fn,i.getSecurityDownloadableSetting=La,i.getSecurityGlobalControlId=te,i.getSecurityGlobalControlSetting=Da,i.getUrl=Jn,i.getUrlFromEditor=De,i.getUrlFromLinkOrLegacyLink=Ot,i.gutterSpacingStyleMap=ie,i.hasRichTextValue=Se,i.insertButton=Ne,i.isDark=Nn,i.isDownloadable=Qn,i.isValidUrl=bt,i.isValidUrlOrEmpty=nt,i.joinClassNames=z,i.marginStyleMap=R,i.paddingStyleMap=Z,i.radiusStyleMap=K,i.relativeUrlRegex=_t,i.setAlpha=Dn,i.submitFloatingButton=Ut,i.toColorObject=Mn,i.toHex8String=An,i.toHexString=Ln,i.toRgbaString=St,i.toShortRgba=G,i.triggerFloatingButton=Fe,i.triggerFloatingButtonEdit=vt,i.triggerFloatingButtonInsert=zt,i.unwrapButton=ot,i.upsertButton=Ae,i.upsertButtonText=Ht,i.useAttachmentOperations=At,i.useAttachments=ue,i.useAttachmentsContext=he,i.useDragPreviewContext=tt,i.useMultiFlyoutContext=ce,i.useMultiFlyoutState=pt,i.withAttachmentsProvider=$n,i.withButton=Be,i.wrapButton=Le,Object.keys(h).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(i,t)&&Object.defineProperty(i,t,{enumerable:!0,get:()=>h[t]})}),Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
|
|
10
|
-
//# sourceMappingURL=index.umd.js.map
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@frontify/app-bridge"),require("@frontify/fondue/components"),require("@frontify/fondue/icons"),require("react"),require("react/jsx-runtime"),require("@ctrl/tinycolor"),require("@dnd-kit/core"),require("@dnd-kit/modifiers"),require("@dnd-kit/sortable"),require("@frontify/fondue"),require("@frontify/fondue/rte"),require("react-dom")):typeof define==`function`&&define.amd?define([`exports`,`@frontify/app-bridge`,`@frontify/fondue/components`,`@frontify/fondue/icons`,`react`,`react/jsx-runtime`,`@ctrl/tinycolor`,`@dnd-kit/core`,`@dnd-kit/modifiers`,`@dnd-kit/sortable`,`@frontify/fondue`,`@frontify/fondue/rte`,`react-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.GuidelineBlocksSettings={},e._frontify_app_bridge,e._frontify_fondue_components,e._frontify_fondue_icons,e.React,e.react_jsx_runtime,e._ctrl_tinycolor,e._dnd_kit_core,e._dnd_kit_modifiers,e._dnd_kit_sortable,e._frontify_fondue,e._frontify_fondue_rte,e.ReactDOM))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,_=(e,t)=>{let n={};for(var r in e)p(n,r,{get:e[r],enumerable:!0});return t||p(n,Symbol.toStringTag,{value:`Module`}),n},v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!g.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e},y=(e,t,n)=>(v(e,t,`default`),n&&v(n,t,`default`)),b=e=>e.filter(Boolean).join(` `),x=({onDrop:e,label:o,icon:s,secondaryLabel:c,isLoading:l,fillParentContainer:u,onAssetChooseClick:d,onUploadClick:f,withMenu:p=!0,onClick:m,validFileType:h,verticalLayout:g})=>{let[_,v]=(0,i.useState)(!1),[y,x]=(0,i.useState)(),S=(0,i.useRef)(null),[C,w]=(0,i.useState)(void 0),T=t=>{if(t.preventDefault(),v(!1),!E(t.dataTransfer.files)){w(`Invalid`),setTimeout(()=>{w(void 0)},1e3);return}e?.(t.dataTransfer.files)},E=e=>{if(!h)return!0;for(let n=0;n<e.length;n++){let r=e[n].name.split(`.`).pop()??``;if(!t.FileExtensionSets[h].includes(r))return!1}return!0},D=e=>{if(!S.current||l)return;let{clientX:t,clientY:n}=e,r=t===0&&n===0,{left:i,top:a,width:o,height:s}=S.current.getBoundingClientRect(),c=r?o/2:t-i,u=r?s/2:n-a;x([c,u])},O=(0,i.useCallback)(e=>{e(),x(void 0)},[]),ee=(0,i.useMemo)(()=>{let e=[];return f&&e.push({onSelect:()=>O(f),title:`Upload asset`,icon:(0,a.jsx)(r.IconArrowCircleUp,{size:`20`})}),d&&e.push({onSelect:()=>O(d),title:`Browse asset`,icon:(0,a.jsx)(r.IconImageStack,{size:`20`})}),e},[d,f,O]);return(0,a.jsxs)(`button`,{type:`button`,ref:S,"data-test-id":`block-inject-button`,className:b([`tw-body-medium tw-relative tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br`,g?`[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl`:`[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr`,u?`tw-h-full`:`tw-h-[72px]`,_&&!l?`tw-border-dashed`:`tw-border-solid`,y&&`tw-bg-surface-hover`,_&&`tw-bg-surface`,C?`!tw-border-red-50 !tw-cursor-not-allowed`:` tw-border-line-mid`,l||y||_||C?``:`tw-text-secondary hover:tw-text-primary hover:tw-bg-surface hover:tw-border-line-strong active:tw-text-primary active:tw-bg-surface-hover active:tw-border-line-strong`,(_||y)&&!C?`[&>*]:tw-pointer-events-none tw-border-line-strong`:`tw-bg-surface-dim tw-text-secondary`]),onDragEnter:e?e=>{if(v(!0),h===`Images`)for(let t of Array.from(e.dataTransfer.items))t?.type?.startsWith(`image/`)?w(void 0):w(`Invalid`)}:void 0,onDragOver:e?e=>{e.preventDefault()}:void 0,onDragLeave:e?()=>{v(!1),w(void 0)}:void 0,onDrop:e?T:void 0,onClick:e=>{p&&!y&&D(e),m?.()},children:[l?(0,a.jsx)(n.LoadingCircle,{}):C?(0,a.jsxs)(`div`,{className:` tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium`,children:[(0,a.jsx)(r.IconExclamationMarkTriangle,{size:`16`}),C]}):(0,a.jsxs)(a.Fragment,{children:[s&&(0,a.jsx)(`div`,{children:s}),(o||c)&&(0,a.jsxs)(`div`,{className:`tw-flex tw-flex-col tw-items-start`,children:[o&&(0,a.jsx)(`div`,{className:`tw-font-medium`,children:o}),c&&(0,a.jsx)(`div`,{className:`tw-font-normal`,children:c})]})]}),y&&(0,a.jsx)(`div`,{className:`tw-absolute tw-left-0 tw-top-full tw-z-20`,style:{left:y[0],top:y[1]},children:(0,a.jsxs)(n.Flyout.Root,{open:!0,onOpenChange:e=>!e&&x(void 0),children:[(0,a.jsx)(n.Flyout.Trigger,{children:(0,a.jsx)(`div`,{})}),(0,a.jsx)(n.Flyout.Content,{triggerOffset:`compact`,children:(0,a.jsxs)(n.Dropdown.Root,{open:!0,children:[(0,a.jsx)(n.Dropdown.Trigger,{children:(0,a.jsx)(`div`,{})}),(0,a.jsx)(n.Dropdown.Content,{triggerOffset:`compact`,children:ee.map(e=>(0,a.jsxs)(n.Dropdown.Item,{onSelect:e.onSelect,children:[e.icon,e.title]},e.title))})]})})]})})]})},S=e=>(e=>typeof e==`object`&&[`red`,`green`,`blue`].every(t=>e.hasOwnProperty(t)))(e)?(e=>{let t=typeof e.alpha==`number`?e.alpha:1;return{r:e.red,g:e.green,b:e.blue,a:t}})(e):e,C=e=>typeof e==`object`&&[`red`,`green`,`blue`].every(t=>e?.hasOwnProperty(t)),w=(e,t)=>{let n=C(e)?S(e):e,r=new o.TinyColor(n);return t?r.getBrightness()<t:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},T=e=>new o.TinyColor(S(e)).toHex8String(),E=e=>new o.TinyColor(S(e)).toHexString(),D=e=>new o.TinyColor(S(e)).toRgbString(),O=(e,t)=>new o.TinyColor(t).setAlpha(e).toRgbString(),ee=e=>{let{r:t,g:n,b:r,a:i}=new o.TinyColor(e);return{red:t,green:n,blue:r,alpha:i}},k=e=>typeof e==`object`&&[`red`,`green`,`blue`].every(t=>e?.hasOwnProperty(t)),A=(e,t)=>{let n=k(e)?S(e):e,r=k(t)?S(t):t,i=new o.TinyColor(n),a=new o.TinyColor(r);for(;(0,o.readability)(i,a)<4.5;)i=i.darken(1);return i.toRgbString()},te=e=>({backgroundColor:D(e)}),ne={red:241,green:241,blue:241,alpha:1},re={red:234,green:235,blue:235,alpha:1},j=`24px`,M=`24px`,N=function(e){return e.Solid=`Solid`,e.Dashed=`Dashed`,e.Dotted=`Dotted`,e}({}),ie={Solid:`solid`,Dotted:`dotted`,Dashed:`dashed`},P=function(e){return e.None=`None`,e.Small=`Small`,e.Medium=`Medium`,e.Large=`Large`,e}({}),F={None:`0px`,Small:`2px`,Medium:`4px`,Large:`12px`},I=function(e){return e.None=`None`,e.Small=`Small`,e.Medium=`Medium`,e.Large=`Large`,e}({}),L={None:`0px`,Small:`24px`,Medium:`36px`,Large:`60px`},R=function(e){return e.None=`None`,e.Small=`Small`,e.Medium=`Medium`,e.Large=`Large`,e}({}),z={None:`0px`,Small:`24px`,Medium:`36px`,Large:`60px`},B=function(e){return e.Global=`Global`,e.Custom=`Custom`,e}({}),V=function(e){return e.Auto=`Auto`,e.S=`S`,e.M=`M`,e.L=`L`,e}({}),ae={Auto:`4px`,S:`10px`,M:`30px`,L:`50px`},oe=(e=N.Solid,t=`1px`,n=re)=>({borderStyle:ie[e],borderWidth:t,borderColor:D(n)}),se=(e,t=!1,n)=>({borderRadius:t?n:F[e]}),ce=(0,i.createContext)(!1);ce.displayName=`DragPreviewContext`;var le=({children:e,isDragPreview:t})=>(0,a.jsx)(ce.Provider,{value:t,children:e}),H=()=>(0,i.useContext)(ce),ue=(0,i.createContext)({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error(`No MultiFlyoutContext Provider found`)});ue.displayName=`MultiFlyoutContext`;var de=({children:e,openFlyoutIds:t,setOpenFlyoutIds:n})=>{let r=(0,i.useMemo)(()=>({openFlyoutIds:t,setOpenFlyoutIds:n}),[t,n]);return(0,a.jsx)(ue.Provider,{value:r,children:e})},fe=()=>(0,i.useContext)(ue),pe=e=>{let{openFlyoutIds:t,setOpenFlyoutIds:n}=fe(),r=(0,i.useCallback)(t=>{n(n=>{let r=n.filter(t=>t!==e);return t?[...r,e]:r})},[e,n]);return{isOpen:t.includes(e),onOpenChange:r}},me=(e,t)=>{let{blockAssets:n,addAssetIdsToKey:r,deleteAssetIdsFromKey:i,updateAssetIdsFromKey:a}=t,o=n?.[e]||[];return{onAttachmentsAdd:async t=>{await r(e,t.map(e=>e.id))},onAttachmentDelete:async t=>{await i(e,[t.id])},onAttachmentReplace:async(t,n)=>{let r=o.map(e=>e.id===t.id?n.id:e.id);await a(e,r)},onAttachmentsSorted:async t=>{let n=t.map(e=>e.id);await a(e,n)},attachments:o}},he=(e,n)=>{let{onAttachmentsAdd:r,onAttachmentDelete:i,onAttachmentReplace:a,onAttachmentsSorted:o,attachments:s}=me(n,(0,t.useBlockAssets)(e));return{onAttachmentsAdd:r,onAttachmentDelete:i,onAttachmentReplace:a,onAttachmentsSorted:o,attachments:s,appBridge:e}},ge=(0,i.createContext)(null);ge.displayName=`AttachmentsContext`;var _e=({appBridge:e,children:t,assetId:n})=>{let r=he(e,n);return(0,a.jsx)(ge.Provider,{value:r,children:t})},ve=({blockAssetBundle:e,appBridge:t,children:n,assetId:r})=>{let i=me(r,e);return(0,a.jsx)(ge.Provider,{value:{...i,appBridge:t},children:n})},ye=()=>{let e=(0,i.useContext)(ge);if(!e)throw Error(`No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC`);return e},be=(e,t)=>{let n=n=>(0,a.jsx)(_e,{appBridge:n.appBridge,assetId:t,children:(0,a.jsx)(e,{...n})});return n.displayName=`withAttachmentsProvider`,n},xe=e=>e===`IMAGE`?(0,a.jsx)(r.IconImage,{size:`24`}):e===`VIDEO`?(0,a.jsx)(r.IconPlayFrame,{size:`24`}):e===`AUDIO`?(0,a.jsx)(r.IconMusicNote,{size:`24`}):(0,a.jsx)(r.IconDocument,{size:`24`}),Se=(0,i.forwardRef)(({item:e,isEditing:o,draggableProps:s,transformStyle:c,isDragging:l,isOverlay:u,isLoading:d,onDelete:f,onReplaceWithBrowse:p,onReplaceWithUpload:m,onDownload:h},g)=>{let[_,v]=(0,i.useState)(),[y,{selectedFiles:x}]=(0,t.useFileInput)({multiple:!0,accept:`image/*`}),[S,{results:C,doneAll:w}]=(0,t.useAssetUpload)();(0,i.useEffect)(()=>{x&&S(x[0])},[x]),(0,i.useEffect)(()=>{w&&m(C[0])},[w,C]);let T=d||x&&!w;return(0,a.jsxs)(`button`,{type:`button`,"aria-label":`Download attachment`,"data-test-id":`attachments-item`,onClick:()=>!_&&h?.(),ref:g,style:{...c,opacity:l&&!u?.3:1,fontFamily:`var(-f-theme-settings-body-font-family)`},className:b([`tw-cursor-pointer tw-text-left tw-w-full tw-relative tw-flex tw-gap-3 tw-px-5 tw-py-3 tw-items-center tw-group hover:tw-bg-surface-hover focus-visible:tw-outline focus-visible:!-tw-outline-offset-4`,l?`tw-bg-surface-hover`:``]),children:[(0,a.jsx)(`div`,{className:`tw-text-secondary group-hover:tw-text-container-secondary-on-secondary-container`,children:T?(0,a.jsx)(n.LoadingCircle,{size:`small`}):xe(e.objectType)}),(0,a.jsxs)(`div`,{className:`tw-text-small tw-flex-1 tw-min-w-0`,children:[(0,a.jsx)(`div`,{className:`tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-secondary group-hover:tw-text-container-secondary-on-secondary-container`,children:e.title}),(0,a.jsx)(`div`,{className:`tw-text-secondary`,children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),o&&(0,a.jsxs)(`div`,{"data-test-id":`attachments-actionbar`,className:b([`tw-flex tw-gap-0.5 group-hover:tw-opacity-100 group-focus-visible:tw-opacity-100 has-[:focus-visible]:tw-opacity-100`,u||_?.id===e.id?`tw-opacity-100`:`tw-opacity-0`]),children:[(0,a.jsx)(n.Button,{aspect:`square`,emphasis:`weak`,"aria-label":`Drag attachment`,className:b([l||u?`tw-cursor-grabbing`:`tw-cursor-grab`,`focus-visible:tw-z-[2]`]),...s,children:(0,a.jsx)(r.IconGrabHandle,{})}),(0,a.jsx)(`div`,{"data-test-id":`attachments-actionbar-flyout`,children:(0,a.jsxs)(n.Dropdown.Root,{open:_?.id===e.id,onOpenChange:t=>v(t?e:void 0),children:[(0,a.jsx)(n.Dropdown.Trigger,{children:(0,a.jsx)(n.Button,{aspect:`square`,emphasis:_?.id===e.id?`default`:`weak`,onPress:e=>{e?.stopPropagation(),e?.preventDefault()},children:(0,a.jsx)(r.IconPen,{size:`20`})})}),(0,a.jsxs)(n.Dropdown.Content,{side:`right`,children:[(0,a.jsxs)(n.Dropdown.Group,{children:[(0,a.jsxs)(n.Dropdown.Item,{"data-test-id":`menu-item`,onSelect:e=>{e?.stopPropagation(),y(),v(void 0)},children:[(0,a.jsx)(r.IconArrowCircleUp,{size:`20`}),`Replace with upload`]}),(0,a.jsxs)(n.Dropdown.Item,{onSelect:e=>{e?.stopPropagation(),p(),v(void 0)},children:[(0,a.jsx)(r.IconImageStack,{size:`20`}),`Replace with asset`]})]}),(0,a.jsx)(n.Dropdown.Group,{children:(0,a.jsxs)(n.Dropdown.Item,{emphasis:`danger`,onSelect:e=>{e?.stopPropagation(),f(),v(void 0)},children:[(0,a.jsx)(r.IconTrashBin,{size:`20`}),`Delete`]})})]})]})})]})]})});Se.displayName=`AttachmentItem`;var Ce=e=>{let{attributes:t,listeners:n,setNodeRef:r,transform:i,transition:o,isDragging:s}=(0,l.useSortable)({id:e.item.id}),c={transform:i?`translate(${i.x}px, ${i.y}px)`:``,transition:o,zIndex:s?2:1},u={...t,...n};return(0,a.jsx)(Se,{ref:r,isDragging:s,transformStyle:c,draggableProps:u,...e})},we=(0,i.forwardRef)(({children:e,...t},i)=>(0,a.jsxs)(n.Button,{ref:i,size:`small`,rounding:`full`,emphasis:`default`,"data-test-id":`attachments-button-trigger`,className:`tw-body-medium`,...t,"aria-haspopup":`menu`,children:[(0,a.jsx)(r.IconPaperclip,{size:`16`}),e,(0,a.jsx)(r.IconCaretDown,{size:`12`})]}));we.displayName=`AttachmentsButtonTrigger`;var Te=({items:e=[],onDelete:o,onReplaceWithBrowse:u,onReplaceWithUpload:d,onBrowse:f,onUpload:p,onSorted:m,appBridge:h,triggerComponent:g=we,isOpen:_,onOpenChange:v})=>{let[y,b]=(0,i.useState)(e),[x,S]=(0,i.useState)(!1),C=(0,s.useSensors)((0,s.useSensor)(s.PointerSensor),(0,s.useSensor)(s.KeyboardSensor)),[w,T]=(0,i.useState)(void 0),[E,D]=(0,i.useState)(!1),[O,ee]=(0,i.useState)(!1),[k,A]=(0,i.useState)([]),[te,ne]=(0,i.useState)(null),re=(0,t.useEditorState)(h),{openAssetChooser:j,closeAssetChooser:M}=(0,t.useAssetChooser)(h),N=_!==void 0,ie=N?_:x,P=y?.find(e=>e.id===w),F=e.length,I=F>0?`Open attachments, ${F} ${F===1?`attachment`:`attachments`}`:`Add attachments`,[L,{results:R,doneAll:z}]=(0,t.useAssetUpload)({onUploadProgress:()=>!E&&D(!0)}),B=e=>{(N?v:S)?.(e)};(0,i.useEffect)(()=>{b(e)},[e]),(0,i.useEffect)(()=>{te&&(D(!0),L(te))},[te]),(0,i.useEffect)(()=>{(async()=>{z&&(await p(R),D(!1))})()},[z,R]);let V=()=>{B(!1),j(async e=>{M(),B(!0),ee(!0),await f(e),ee(!1)},{multiSelection:!0,selectedValueIds:y.map(e=>e.id)})},ae=e=>{B(!1),j(async t=>{B(!0),M(),A([...k,e.id]),await u(e,t[0]),A(k.filter(t=>t!==e.id))},{multiSelection:!1,selectedValueIds:y.map(e=>e.id)})},oe=async(e,t)=>{A([...k,e.id]),await d(e,t),A(k.filter(t=>t!==e.id))};return re||(y?.length??0)>0?(0,a.jsx)(`div`,{"data-test-id":`attachments-flyout-button`,children:(0,a.jsx)(n.Flyout.Root,{open:ie,onOpenChange:e=>B(P?!0:e),children:(0,a.jsxs)(n.Tooltip.Root,{enterDelay:500,children:[(0,a.jsx)(n.Tooltip.Trigger,{asChild:!0,children:(0,a.jsx)(n.Flyout.Trigger,{asChild:!0,"data-test-id":`attachments-button-trigger`,children:(0,a.jsx)(g,{isFlyoutOpen:ie,"aria-label":I,children:(0,a.jsx)(`div`,{"aria-hidden":`true`,children:F>0?F:`Add`})})})}),(0,a.jsx)(n.Flyout.Content,{side:`bottom`,align:`end`,width:`300px`,onEscapeKeyDown:e=>{e.stopPropagation(),B(!1)},children:(0,a.jsxs)(`div`,{className:`tw-w-full`,"data-test-id":`attachments-flyout-content`,children:[y.length>0&&(0,a.jsx)(s.DndContext,{sensors:C,collisionDetection:s.closestCenter,onDragStart:e=>{let{active:t}=e;T(t.id)},onDragEnd:e=>{let{active:t,over:n}=e;if(n&&t.id!==n.id&&y){let e=y.findIndex(e=>e.id===t.id),r=y.findIndex(e=>e.id===n.id),i=(0,l.arrayMove)(y,e,r);b(i),m(i)}T(void 0)},modifiers:[c.restrictToParentElement],children:(0,a.jsx)(l.SortableContext,{items:y,strategy:l.rectSortingStrategy,children:(0,a.jsx)(`div`,{className:`tw-border-b tw-border-b-line tw-relative`,children:y.map(e=>(0,a.jsx)(Ce,{isEditing:re,isLoading:k.includes(e.id),item:e,onDelete:()=>o(e),onReplaceWithBrowse:()=>ae(e),onReplaceWithUpload:t=>oe(e,t),onDownload:()=>h.dispatch({name:`downloadAsset`,payload:e})},e.id))})})}),re&&(0,a.jsxs)(`div`,{className:`tw-px-5 tw-py-3`,"data-test-id":`asset-input-placeholder`,children:[(0,a.jsx)(`div`,{className:`tw-font-primary tw-font-medium tw-text-primary tw-text-small tw-my-4`,children:`Add attachments`}),E||O?(0,a.jsxs)(n.AssetInput.Root,{orientation:`horizontal`,children:[(0,a.jsx)(n.AssetInput.Preview,{children:(0,a.jsx)(n.AssetInput.PreviewLoading,{})}),(0,a.jsx)(n.AssetInput.Title,{children:`Asset`}),(0,a.jsx)(n.AssetInput.Metadata,{children:(0,a.jsx)(n.AssetInput.MetadataItem,{children:(0,a.jsxs)(n.Flex,{align:`center`,gap:.5,children:[O?(0,a.jsx)(r.IconImageStack,{size:16}):(0,a.jsx)(r.IconArrowCircleUp,{size:16}),O?`Loading`:`Uploading`]})})})]}):(0,a.jsxs)(n.AssetInput.Placeholder,{children:[(0,a.jsx)(n.AssetInput.UploadInput,{allowMultiple:!0,onSelect:e=>ne(e.target.files)}),(0,a.jsx)(n.AssetInput.BrowseInput,{onBrowse:V})]})]})]})}),(0,a.jsx)(n.Tooltip.Content,{side:`top`,children:`Attachments`})]})})}):null},Ee=(e,t)=>{let n=[u.FOCUS_VISIBLE_STYLE,`tw-relative tw-inline-flex tw-items-center tw-justify-center`,`tw-h-6 tw-p-1`,`tw-rounded-medium`,`tw-body-medium`,`tw-gap-0.5`,`focus-visible:tw-z-10`];return t?n.push(`tw-bg-container-secondary-active`,`tw-text-container-secondary-on-secondary-container`,e===`grab`?`tw-cursor-grabbing`:`tw-cursor-pointer`):n.push(`hover:tw-bg-container-secondary-hover active:tw-bg-container-secondary-active`,`tw-text-secondary hover:tw-text-container-secondary-on-secondary-container active:tw-text-container-secondary-on-secondary-container`,e===`grab`?`!tw-cursor-grab active:tw-cursor-grabbing`:`tw-cursor-pointer`),b(n)},U=(0,i.forwardRef)(({onClick:e,children:t,forceActiveStyle:n,cursor:r=`pointer`,"data-test-id":i=`base-toolbar-button`,...o},s)=>(0,a.jsx)(`button`,{onClick:e,className:Ee(r,n),"data-test-id":i,...o,ref:s,children:t}));U.displayName=`BaseToolbarButton`;var De=(0,i.forwardRef)(({children:e,isFlyoutOpen:t,...n},i)=>(0,a.jsxs)(U,{forceActiveStyle:t,"data-test-id":`attachments-toolbar-button-trigger`,ref:i,...n,"aria-haspopup":`menu`,children:[(0,a.jsx)(r.IconPaperclip,{size:`16`}),e,(0,a.jsx)(r.IconCaretDown,{size:`12`})]}));De.displayName=`AttachmentsToolbarButtonTrigger`;var Oe=`attachments`,ke=({flyoutId:e=Oe})=>{let{appBridge:t,attachments:n,onAttachmentsAdd:r,onAttachmentDelete:i,onAttachmentReplace:o,onAttachmentsSorted:s}=ye(),{isOpen:c,onOpenChange:l}=pe(e),u=H();return(0,a.jsx)(Te,{onUpload:r,onDelete:i,onReplaceWithBrowse:o,onReplaceWithUpload:o,onSorted:s,onBrowse:r,items:n,appBridge:t,triggerComponent:De,isOpen:c&&!u,onOpenChange:l})},Ae=`Drag or press ↵ to move`,je=`Move with ↑↓←→ and confirm with ↵`,Me=({content:e,children:t,open:r,disabled:i})=>i?t:(0,a.jsxs)(n.Tooltip.Root,{enterDelay:300,open:r,children:[(0,a.jsx)(n.Tooltip.Trigger,{asChild:!0,children:t}),(0,a.jsx)(n.Tooltip.Content,{side:`top`,children:(0,a.jsx)(`div`,{children:e})})]}),Ne=({tooltip:e,icon:t,setActivatorNodeRef:n,draggableProps:r})=>{let i=H(),{activatorEvent:o}=(0,s.useDndContext)(),c=o instanceof KeyboardEvent;return(0,a.jsx)(Me,{...i&&{open:c},content:(0,a.jsx)(`div`,{children:i?je:e??`Drag or press ↵ to move`}),children:(0,a.jsx)(U,{ref:n,"data-test-id":`block-item-wrapper-toolbar-btn`,forceActiveStyle:i,cursor:`grab`,...r,children:t})})},Pe=({content:e,icon:t,tooltip:r,flyoutId:i,flyoutFooter:o,flyoutHeader:s})=>{let{isOpen:c,onOpenChange:l}=pe(i),u=H();return(0,a.jsx)(Me,{disabled:u||c,content:r,children:(0,a.jsx)(`div`,{className:`tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative`,children:(0,a.jsxs)(n.Flyout.Root,{open:c&&!u,onOpenChange:l,children:[(0,a.jsx)(n.Flyout.Trigger,{asChild:!0,children:(0,a.jsx)(U,{"data-test-id":`block-item-wrapper-toolbar-flyout`,forceActiveStyle:c&&!u,children:t})}),(0,a.jsxs)(n.Flyout.Content,{side:`bottom`,align:`end`,padding:`comfortable`,children:[s?(0,a.jsx)(n.Flyout.Header,{children:s}):null,(0,a.jsx)(n.Flyout.Body,{children:e}),o?(0,a.jsx)(n.Flyout.Footer,{children:o}):null]})]})})})},Fe=`menu`,Ie=({items:e,flyoutId:t=Fe,tooltip:i=`Options`})=>{let{isOpen:o,onOpenChange:s}=pe(t),c=H();return(0,a.jsx)(n.Dropdown.Root,{open:o&&!c,onOpenChange:s,children:(0,a.jsxs)(n.Tooltip.Root,{children:[(0,a.jsx)(n.Tooltip.Trigger,{asChild:!0,children:(0,a.jsx)(n.Dropdown.Trigger,{asChild:!0,children:(0,a.jsx)(U,{"data-test-id":`block-item-wrapper-toolbar-flyout`,children:(0,a.jsx)(r.IconDotsHorizontal,{size:`16`})})})}),(0,a.jsx)(n.Dropdown.Content,{children:e.map((e,t)=>(0,a.jsx)(n.Dropdown.Group,{children:e.map((e,r)=>(0,a.jsxs)(n.Dropdown.Item,{"data-test-id":`menu-item`,onSelect:()=>{s(!1),e.onClick()},emphasis:e.style||`default`,children:[(0,a.jsx)(`div`,{className:`tw-mr-2`,children:e.icon}),(0,a.jsx)(`span`,{children:e.title})]},`${t}-${r}`))},t))}),(0,a.jsx)(n.Tooltip.Content,{children:i})]})})},Le=({tooltip:e,icon:t,onClick:n})=>{let r=H();return(0,a.jsx)(Me,{disabled:r,content:e??``,children:(0,a.jsx)(U,{"data-test-id":`block-item-wrapper-toolbar-btn`,onClick:n,children:t})})},Re=({children:e})=>(0,a.jsx)(`div`,{"data-test-id":`block-item-wrapper-toolbar-segment`,className:`tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none`,children:e}),ze=({items:e,attachments:t})=>(0,a.jsxs)(`div`,{"data-test-id":`block-item-wrapper-toolbar`,className:`tw-rounded-md tw-bg-surface tw-border tw-border-line-mid tw-divide-x tw-divide-line-mid tw-shadow-lg tw-flex tw-flex-none tw-items-center tw-isolate`,children:[t.isEnabled&&(0,a.jsx)(Re,{children:(0,a.jsx)(ke,{})}),e.length>0&&(0,a.jsx)(Re,{children:e.map(e=>{switch(e.type){case`dragHandle`:return(0,a.jsx)(Ne,{...e},e.tooltip+e.type);case`menu`:return(0,a.jsx)(Ie,{...e},e.tooltip+e.type);case`flyout`:return(0,a.jsx)(Pe,{...e},e.tooltip+e.type);default:return(0,a.jsx)(Le,{...e},e.tooltip+e.type)}})})]}),Be=(0,i.memo)(({children:e,toolbarItems:t,shouldHideWrapper:n,shouldHideComponent:r=!1,isDragging:o=!1,shouldFillContainer:s,outlineOffset:c=0,shouldBeShown:l=!1,showAttachments:u=!1})=>{let[d,f]=(0,i.useState)(l?[Fe]:[]),p=(0,i.useRef)(null);if(n)return(0,a.jsx)(a.Fragment,{children:e});let m=t?.filter(e=>e!==void 0),h=d.length>0||l;return(0,a.jsx)(le,{isDragPreview:o,children:(0,a.jsx)(de,{openFlyoutIds:d,setOpenFlyoutIds:f,children:(0,a.jsxs)(`div`,{ref:p,"data-test-id":`block-item-wrapper`,style:{outlineOffset:c},className:b([`tw-relative tw-group`,s&&`tw-flex-1 tw-h-full tw-w-full`,`hover:tw-outline hover:tw-outline-1 hover:tw-outline-container-highlight-on-highlight-container focus-within:tw-outline focus-within:tw-outline-1 focus-within:tw-outline-container-highlight-on-highlight-container`,h&&`tw-outline tw-outline-1 tw-outline-container-highlight-on-highlight-container`,r&&`tw-opacity-0`]),children:[(0,a.jsx)(`div`,{style:{right:-1-c,bottom:`calc(100% - ${2+c}px)`},className:b([`tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]`,`group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100`,`tw-flex tw-justify-end`,h&&`tw-opacity-100`]),children:(0,a.jsx)(ze,{attachments:{isEnabled:u},items:m})}),e]})})})});Be.displayName=`BlockItemWrapper`;var Ve=({ref:e,disabled:t,onChange:n})=>{(0,i.useEffect)(()=>{if(t||!e.current)return;let r=!1,i=new IntersectionObserver(([e])=>{e.isIntersecting!==r&&(r=e.isIntersecting,n(e.isIntersecting))});return i.observe(e.current),()=>{i.disconnect()}},[e,t,n])},He=(0,d.createStore)(`floatingButton`)({openEditorId:null,mouseDown:!1,updated:!1,url:``,text:``,buttonStyle:`primary`,newTab:!1,mode:``,isEditing:!1}).extendActions(e=>({reset:()=>{e.url(``),e.text(``),e.buttonStyle(`primary`),e.newTab(!1),e.mode(``),e.isEditing(!1)}})).extendActions(e=>({show:(t,n)=>{e.mode(t),e.isEditing(!1),e.openEditorId(n)},hide:()=>{e.reset(),e.openEditorId(null)}})).extendSelectors(e=>({isOpen:t=>e.openEditorId===t})),W=He.set,G=He.get,Ue=()=>He.use,We=e=>{if(!e)return!1;let t=e=>e.some(e=>e.text?e.text!==``:e.children?t(e.children):!1);try{return t(JSON.parse(e))}catch{return!1}},Ge=(e=`p`,t=``,n)=>We(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),Ke=(e,t,n)=>e===B.Custom?t:n,qe=(e,t)=>{let n=(0,d.getAboveNode)(e,{match:{type:d.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):``},Je=e=>qe(e,e=>e.chosenLink?.searchResult?.link||``),Ye=e=>qe(e,e=>e.url||``),Xe=e=>e.url||e.chosenLink?.searchResult?.link||``,Ze=e=>qe(e,Xe),Qe=/^\/(document|r)\/\S+$/i,$e=e=>{if(Qe.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},et=e=>{if(Qe.test(e))return!0;try{let t=new URL(e);return[`http:`,`https:`,`mailto:`,`tel:`].includes(t.protocol)&&t.pathname!==``}catch{return!1}},K=e=>et($e(e))||e===``,tt=(e,{type:t})=>{let{apply:n,normalizeNode:r}=e;return e.apply=t=>{if(t.type!==`set_selection`){n(t);return}let r=t.newProperties;if(!r?.focus||!r.anchor||!(0,d.isCollapsed)(r)){n(t);return}let i=(0,d.getAboveNode)(e,{at:r,match:{type:(0,d.getPluginType)(e,Z)}});if(i){let[,n]=i,a;(0,d.isStartPoint)(e,r.focus,n)&&(a=(0,d.getPreviousNodeEndPoint)(e,n)),(0,d.isEndPoint)(e,r.focus,n)&&(a=(0,d.getNextNodeStartPoint)(e,n)),a&&(t.newProperties={anchor:a,focus:a})}n(t)},e.normalizeNode=([t,n])=>{if(t.type===(0,d.getPluginType)(e,`button`)){let t=e.selection;if(t&&(0,d.isCollapsed)(t)&&(0,d.isEndPoint)(e,t.focus,n)){let t=(0,d.getNextNodeStartPoint)(e,n);if(t)(0,d.select)(e,t);else{let t=d.Path.next(n);(0,d.insertNodes)(e,{text:``},{at:t}),(0,d.select)(e,t)}}}r([t,n])},(0,d.withRemoveEmptyNodes)(e,(0,d.mockPlugin)({options:{types:t}}))},nt=(e,t,n)=>{(0,d.insertNodes)(e,[ft(e,t)],n)},rt=e=>{if(!e.selection)return;let{isUrl:t,forceSubmit:n}=(0,d.getPluginOptions)(e,Z),r=G.url();if(!(t?.(r)||n))return;let i=G.text(),a=G.buttonStyle(),o=G.newTab()?void 0:`_self`;return W.reset(),it(e,{url:r,text:i,buttonStyle:a,target:o,isUrl:e=>n||!t?!0:t(e)}),setTimeout(()=>{(0,d.focusEditor)(e,e.selection??void 0)},0),!0},q=(e,t)=>(0,d.withoutNormalizing)(e,()=>{if(t?.split){if((0,d.getAboveNode)(e,{at:e.selection?.anchor,match:{type:(0,d.getPluginType)(e,`button`)}}))return(0,d.splitNodes)(e,{at:e.selection?.anchor,match:t=>(0,d.isElement)(t)&&t.type===(0,d.getPluginType)(e,`button`)}),q(e,{at:e.selection?.anchor}),!0;if((0,d.getAboveNode)(e,{at:e.selection?.focus,match:{type:(0,d.getPluginType)(e,`button`)}}))return(0,d.splitNodes)(e,{at:e.selection?.focus,match:t=>(0,d.isElement)(t)&&t.type===(0,d.getPluginType)(e,`button`)}),q(e,{at:e.selection?.focus}),!0}(0,d.unwrapNodes)(e,{match:{type:(0,d.getPluginType)(e,Z)},...t})}),it=(e,{url:t,text:n,buttonStyle:r,target:i,insertTextInButton:a,insertNodesOptions:o,isUrl:s=(0,d.getPluginOptions)(e,Z).isUrl})=>{let c=e.selection;if(!c)return;let l=(0,d.getAboveNode)(e,{at:c,match:{type:(0,d.getPluginType)(e,Z)}});if(a&&l)return e.insertText(t),!0;if(!s?.(t))return;if((0,d.isDefined)(n)&&n.length===0&&(n=t),l)return st(t,e,l,i,r,n),!0;let[u,f]=(0,d.findNode)(e,{at:c,match:{type:(0,d.getPluginType)(e,`button`)}})??[],p=at(e,f,n);if((0,d.isExpanded)(c))return ot(l,e,t,r,i,n),!0;p&&(0,d.removeNodes)(e,{at:f});let m=(0,d.getNodeProps)(u??{}),h=e.selection?.focus.path;if(!h)return;let g=(0,d.getNodeLeaf)(e,h);return n?.length||(n=t),nt(e,{...m,url:t,target:i,children:[{...g,text:n}]},o),!0};function at(e,t,n){return t&&n?.length&&n!==(0,d.getEditorString)(e,t)}function ot(e,t,n,r,i,a){e?q(t,{at:e[1]}):q(t,{split:!0}),lt(t,{url:n,buttonStyle:r,target:i}),ct(t,{url:n,target:i,text:a})}function st(e,t,n,r,i,a){(e!==n[0]?.url||r!==n[0]?.target||i!==n[0]?.buttonStyle)&&(0,d.setNodes)(t,{url:e,target:r,buttonStyle:i},{at:n[1]}),ct(t,{url:e,text:a,target:r})}var ct=(e,{text:t})=>{let n=(0,d.getAboveNode)(e,{match:{type:(0,d.getPluginType)(e,Z)}});if(n){let[r,i]=n;if(t?.length&&t!==(0,d.getEditorString)(e,i)){let n=r.children[0];(0,d.replaceNodeChildren)(e,{at:i,nodes:{...n,text:t},insertOptions:{select:!0}})}}},lt=(e,{url:t,buttonStyle:n,target:r,...i})=>{(0,d.wrapNodes)(e,{type:(0,d.getPluginType)(e,Z),url:t,buttonStyle:n,target:r,children:[]},{split:!0,...i})},ut=(e,t)=>{let n=(0,d.getAboveNode)(e,{match:{type:Z}});return Array.isArray(n)?t(n[0]):``},dt=e=>ut(e,e=>e.url??``),ft=(e,{url:t,text:n=``,buttonStyle:r=`primary`,target:i,children:a})=>({type:(0,d.getPluginType)(e,Z),url:t,target:i,buttonStyle:r,children:a??[{text:n}]}),pt=(e,{focused:t}={})=>{if(G.mode()===`edit`){mt(e);return}ht(e,{focused:t})},mt=e=>{let t=(0,d.findNode)(e,{match:{type:(0,d.getPluginType)(e,Z)}});if(!t)return;let[n,r]=t,i=(0,d.getEditorString)(e,r);W.url(n.url),W.newTab(n.target===void 0),i===n.url&&(i=``),W.text(i),W.isEditing(!0)},ht=(e,{focused:t}={})=>{G.mode()||t&&((0,d.isRangeAcrossBlocks)(e,{at:e.selection})||(0,d.someNode)(e,{match:{type:(0,d.getPluginType)(e,`button`)}})||(W.text((0,d.getEditorString)(e,e.selection)),W.show(`insert`,e.id)))},gt={marginTop:`10px`,marginBottom:`10px`,display:`inline-block`,overflow:`hidden`,textOverflow:`ellipsis`,maxWidth:`100%`,verticalAlign:`middle`,boxSizing:`border-box`,overflowWrap:`normal`},_t={buttonPrimary:{...gt,fontFamily:`var(--f-theme-settings-button-primary-font-family)`,fontSize:`var(--f-theme-settings-button-primary-font-size)`,fontWeight:`var(--f-theme-settings-button-primary-font-weight)`,lineHeight:`var(--f-theme-settings-button-primary-line-height)`,paddingTop:`var(--f-theme-settings-button-primary-padding-top)`,paddingRight:`var(--f-theme-settings-button-primary-padding-right)`,paddingBottom:`var(--f-theme-settings-button-primary-padding-bottom)`,paddingLeft:`var(--f-theme-settings-button-primary-padding-left)`,fontStyle:`var(--f-theme-settings-button-primary-font-style)`,textTransform:`var(--f-theme-settings-button-primary-text-transform)`,backgroundColor:`var(--f-theme-settings-button-primary-background-color)`,borderColor:`var(--f-theme-settings-button-primary-border-color)`,borderRadius:`var(--f-theme-settings-button-primary-border-radius)`,borderWidth:`var(--f-theme-settings-button-primary-border-width)`,color:`var(--f-theme-settings-button-primary-color)`,hover:{backgroundColor:`var(--f-theme-settings-button-primary-background-color-hover)`,borderColor:`var(--f-theme-settings-button-primary-border-color-hover)`,color:`var(--f-theme-settings-button-primary-color-hover)`}},buttonSecondary:{...gt,fontFamily:`var(--f-theme-settings-button-secondary-font-family)`,fontSize:`var(--f-theme-settings-button-secondary-font-size)`,fontWeight:`var(--f-theme-settings-button-secondary-font-weight)`,lineHeight:`var(--f-theme-settings-button-secondary-line-height)`,paddingTop:`var(--f-theme-settings-button-secondary-padding-top)`,paddingRight:`var(--f-theme-settings-button-secondary-padding-right)`,paddingBottom:`var(--f-theme-settings-button-secondary-padding-bottom)`,paddingLeft:`var(--f-theme-settings-button-secondary-padding-left)`,fontStyle:`var(--f-theme-settings-button-secondary-font-style)`,textTransform:`var(--f-theme-settings-button-secondary-text-transform)`,backgroundColor:`var(--f-theme-settings-button-secondary-background-color)`,borderColor:`var(--f-theme-settings-button-secondary-border-color)`,borderRadius:`var(--f-theme-settings-button-secondary-border-radius)`,borderWidth:`var(--f-theme-settings-button-secondary-border-width)`,color:`var(--f-theme-settings-button-secondary-color)`,hover:{backgroundColor:`var(--f-theme-settings-button-secondary-background-color-hover)`,borderColor:`var(--f-theme-settings-button-secondary-border-color-hover)`,color:`var(--f-theme-settings-button-secondary-color-hover)`}},buttonTertiary:{...gt,fontFamily:`var(--f-theme-settings-button-tertiary-font-family)`,fontSize:`var(--f-theme-settings-button-tertiary-font-size)`,fontWeight:`var(--f-theme-settings-button-tertiary-font-weight)`,lineHeight:`var(--f-theme-settings-button-tertiary-line-height)`,paddingTop:`var(--f-theme-settings-button-tertiary-padding-top)`,paddingRight:`var(--f-theme-settings-button-tertiary-padding-right)`,paddingBottom:`var(--f-theme-settings-button-tertiary-padding-bottom)`,paddingLeft:`var(--f-theme-settings-button-tertiary-padding-left)`,fontStyle:`var(--f-theme-settings-button-tertiary-font-style)`,textTransform:`var(--f-theme-settings-button-tertiary-text-transform)`,backgroundColor:`var(--f-theme-settings-button-tertiary-background-color)`,borderColor:`var(--f-theme-settings-button-tertiary-border-color)`,borderRadius:`var(--f-theme-settings-button-tertiary-border-radius)`,borderWidth:`var(--f-theme-settings-button-tertiary-border-width)`,color:`var(--f-theme-settings-button-tertiary-color)`,hover:{backgroundColor:`var(--f-theme-settings-button-tertiary-background-color-hover)`,borderColor:`var(--f-theme-settings-button-tertiary-border-color-hover)`,color:`var(--f-theme-settings-button-tertiary-color-hover)`}}},vt=e=>{let{attributes:t,children:n}=e,r=e.element.url||e.element.chosenLink?.searchResult?.link||``,i=e.element.target||`_self`,o=String(e.element.buttonStyle)||`primary`;return(0,a.jsx)(yt,{attributes:t,href:r,target:i,styles:_t[`button${o.charAt(0).toUpperCase()+o.slice(1)}`],children:n})},yt=({attributes:e,styles:t={hover:{}},children:n,href:r=`#`,target:o})=>{let[s,c]=(0,i.useState)(!1);return(0,a.jsx)(`a`,{...e,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),href:r,target:o,style:s?{...t,...t.hover}:t,children:n})},bt=class extends d.MarkupElement{constructor(e=Z,t=vt){super(e,t)}},xt=(0,i.forwardRef)((e,t)=>{let n=(0,d.useEditorRef)();return(0,a.jsx)(d.ToolbarButton,{ref:t,...e,onMouseDown:e=>{e.preventDefault(),(0,d.focusEditor)(n,n.selection??n.prevSelection??void 0)},onClick:()=>{pt(n,{focused:!0})},children:(0,a.jsx)(d.IconStylingWrapper,{icon:(0,a.jsx)(r.IconButton,{size:16})})})});xt.displayName=`ButtonToolbarButton`;var St=({editorId:e,id:t})=>{let n=(0,d.useEditorState)((0,d.useEventPlateId)(e)),r=!!(0,d.isRangeInSameBlock)(n,{at:n.selection}),i=(0,d.getPluginType)(n,Z),o=!!n?.selection&&(0,d.someNode)(n,{match:{type:i}});return(0,a.jsx)(`div`,{"data-plugin-id":t,children:(0,a.jsx)(xt,{pressed:o,disabled:!r,tooltip:(0,d.getTooltip)(r?`Button\n${(0,d.getHotkeyByPlatform)(`Ctrl+Shift+K`)}`:`Buttons can only be set for a single text block.`)})})},J=`link-plugin`,Y=function(e){return e.heading1=`heading1`,e.heading2=`heading2`,e.heading3=`heading3`,e.heading4=`heading4`,e.custom1=`custom1`,e.custom2=`custom2`,e.custom3=`custom3`,e.quote=`quote`,e.imageCaption=`imageCaption`,e.imageTitle=`imageTitle`,e.p=`p`,e}({}),X={heading1:{fontSize:`var(--f-theme-settings-heading1-font-size)`,lineHeight:`var(--f-theme-settings-heading1-line-height)`,marginTop:`var(--f-theme-settings-heading1-margin-top)`,marginBottom:`var(--f-theme-settings-heading1-margin-bottom)`,textDecoration:`var(--f-theme-settings-heading1-text-decoration)`,fontStyle:`var(--f-theme-settings-heading1-font-style)`,textTransform:`var(--f-theme-settings-heading1-text-transform)`,letterSpacing:`var(--f-theme-settings-heading1-letter-spacing)`,fontWeight:`var(--f-theme-settings-heading1-font-weight)`,fontFamily:`var(--f-theme-settings-heading1-font-family)`,color:`var(--f-theme-settings-heading1-color)`},heading2:{fontSize:`var(--f-theme-settings-heading2-font-size)`,lineHeight:`var(--f-theme-settings-heading2-line-height)`,marginTop:`var(--f-theme-settings-heading2-margin-top)`,marginBottom:`var(--f-theme-settings-heading2-margin-bottom)`,textDecoration:`var(--f-theme-settings-heading2-text-decoration)`,fontStyle:`var(--f-theme-settings-heading2-font-style)`,textTransform:`var(--f-theme-settings-heading2-text-transform)`,letterSpacing:`var(--f-theme-settings-heading2-letter-spacing)`,fontWeight:`var(--f-theme-settings-heading2-font-weight)`,fontFamily:`var(--f-theme-settings-heading2-font-family)`,color:`var(--f-theme-settings-heading2-color)`},heading3:{fontSize:`var(--f-theme-settings-heading3-font-size)`,lineHeight:`var(--f-theme-settings-heading3-line-height)`,marginTop:`var(--f-theme-settings-heading3-margin-top)`,marginBottom:`var(--f-theme-settings-heading3-margin-bottom)`,textDecoration:`var(--f-theme-settings-heading3-text-decoration)`,fontStyle:`var(--f-theme-settings-heading3-font-style)`,textTransform:`var(--f-theme-settings-heading3-text-transform)`,letterSpacing:`var(--f-theme-settings-heading3-letter-spacing)`,fontWeight:`var(--f-theme-settings-heading3-font-weight)`,fontFamily:`var(--f-theme-settings-heading3-font-family)`,color:`var(--f-theme-settings-heading3-color)`},heading4:{fontSize:`var(--f-theme-settings-heading4-font-size)`,lineHeight:`var(--f-theme-settings-heading4-line-height)`,marginTop:`var(--f-theme-settings-heading4-margin-top)`,marginBottom:`var(--f-theme-settings-heading4-margin-bottom)`,textDecoration:`var(--f-theme-settings-heading4-text-decoration)`,fontStyle:`var(--f-theme-settings-heading4-font-style)`,textTransform:`var(--f-theme-settings-heading4-text-transform)`,letterSpacing:`var(--f-theme-settings-heading4-letter-spacing)`,fontWeight:`var(--f-theme-settings-heading4-font-weight)`,fontFamily:`var(--f-theme-settings-heading4-font-family)`,color:`var(--f-theme-settings-heading4-color)`},custom1:{fontSize:`var(--f-theme-settings-custom1-font-size)`,lineHeight:`var(--f-theme-settings-custom1-line-height)`,marginTop:`var(--f-theme-settings-custom1-margin-top)`,marginBottom:`var(--f-theme-settings-custom1-margin-bottom)`,textDecoration:`var(--f-theme-settings-custom1-text-decoration)`,fontStyle:`var(--f-theme-settings-custom1-font-style)`,textTransform:`var(--f-theme-settings-custom1-text-transform)`,letterSpacing:`var(--f-theme-settings-custom1-letter-spacing)`,fontWeight:`var(--f-theme-settings-custom1-font-weight)`,fontFamily:`var(--f-theme-settings-custom1-font-family)`,color:`var(--f-theme-settings-custom1-color)`},custom2:{fontSize:`var(--f-theme-settings-custom2-font-size)`,lineHeight:`var(--f-theme-settings-custom2-line-height)`,marginTop:`var(--f-theme-settings-custom2-margin-top)`,marginBottom:`var(--f-theme-settings-custom2-margin-bottom)`,textDecoration:`var(--f-theme-settings-custom2-text-decoration)`,fontStyle:`var(--f-theme-settings-custom2-font-style)`,textTransform:`var(--f-theme-settings-custom2-text-transform)`,letterSpacing:`var(--f-theme-settings-custom2-letter-spacing)`,fontWeight:`var(--f-theme-settings-custom2-font-weight)`,fontFamily:`var(--f-theme-settings-custom2-font-family)`,color:`var(--f-theme-settings-custom2-color)`},custom3:{fontSize:`var(--f-theme-settings-custom3-font-size)`,lineHeight:`var(--f-theme-settings-custom3-line-height)`,marginTop:`var(--f-theme-settings-custom3-margin-top)`,marginBottom:`var(--f-theme-settings-custom3-margin-bottom)`,textDecoration:`var(--f-theme-settings-custom3-text-decoration)`,fontStyle:`var(--f-theme-settings-custom3-font-style)`,textTransform:`var(--f-theme-settings-custom3-text-transform)`,letterSpacing:`var(--f-theme-settings-custom3-letter-spacing)`,fontWeight:`var(--f-theme-settings-custom3-font-weight)`,fontFamily:`var(--f-theme-settings-custom3-font-family)`,color:`var(--f-theme-settings-custom3-color)`},p:{fontSize:`var(--f-theme-settings-body-font-size)`,lineHeight:`var(--f-theme-settings-body-line-height)`,marginTop:`var(--f-theme-settings-body-margin-top)`,marginBottom:`var(--f-theme-settings-body-margin-bottom)`,textDecoration:`var(--f-theme-settings-body-text-decoration)`,fontStyle:`var(--f-theme-settings-body-font-style)`,textTransform:`var(--f-theme-settings-body-text-transform)`,letterSpacing:`var(--f-theme-settings-body-letter-spacing)`,fontWeight:`var(--f-theme-settings-body-font-weight)`,fontFamily:`var(--f-theme-settings-body-font-family)`,color:`var(--f-theme-settings-body-color)`},quote:{fontSize:`var(--f-theme-settings-quote-font-size)`,lineHeight:`var(--f-theme-settings-quote-line-height)`,marginTop:`var(--f-theme-settings-quote-margin-top)`,marginBottom:`var(--f-theme-settings-quote-margin-bottom)`,textDecoration:`var(--f-theme-settings-quote-text-decoration)`,fontStyle:`var(--f-theme-settings-quote-font-style)`,textTransform:`var(--f-theme-settings-quote-text-transform)`,letterSpacing:`var(--f-theme-settings-quote-letter-spacing)`,fontWeight:`var(--f-theme-settings-quote-font-weight)`,fontFamily:`var(--f-theme-settings-quote-font-family)`,color:`var(--f-theme-settings-quote-color)`},imageCaption:{fontSize:`var(--f-theme-settings-image-caption-font-size)`,lineHeight:`var(--f-theme-settings-image-caption-line-height)`,marginTop:`var(--f-theme-settings-image-caption-margin-top)`,marginBottom:`var(--f-theme-settings-image-caption-margin-bottom)`,textDecoration:`var(--f-theme-settings-image-caption-text-decoration)`,fontStyle:`var(--f-theme-settings-image-caption-font-style)`,textTransform:`var(--f-theme-settings-image-caption-text-transform)`,letterSpacing:`var(--f-theme-settings-image-caption-letter-spacing)`,fontWeight:`var(--f-theme-settings-image-caption-font-weight)`,fontFamily:`var(--f-theme-settings-image-caption-font-family)`,color:`var(--f-theme-settings-image-caption-color)`},imageTitle:{fontSize:`var(--f-theme-settings-image-title-font-size)`,lineHeight:`var(--f-theme-settings-image-title-line-height)`,marginTop:`var(--f-theme-settings-image-title-margin-top)`,marginBottom:`var(--f-theme-settings-image-title-margin-bottom)`,textDecoration:`var(--f-theme-settings-image-title-text-decoration)`,fontStyle:`var(--f-theme-settings-image-title-font-style)`,textTransform:`var(--f-theme-settings-image-title-text-transform)`,letterSpacing:`var(--f-theme-settings-image-title-letter-spacing)`,fontWeight:`var(--f-theme-settings-image-title-font-weight)`,fontFamily:`var(--f-theme-settings-image-title-font-family)`,color:`var(--f-theme-settings-image-title-color)`},[J]:{fontSize:`var(--f-theme-settings-link-font-size)`,lineHeight:`var(--f-theme-settings-link-line-height)`,marginTop:`var(--f-theme-settings-link-margin-top)`,marginBottom:`var(--f-theme-settings-link-margin-bottom)`,textDecoration:`var(--f-theme-settings-link-text-decoration)`,fontStyle:`var(--f-theme-settings-link-font-style)`,textTransform:`var(--f-theme-settings-link-text-transform)`,letterSpacing:`var(--f-theme-settings-link-letter-spacing)`,fontWeight:`var(--f-theme-settings-link-font-weight)`,fontFamily:`var(--f-theme-settings-link-font-family)`,color:`var(--f-theme-settings-link-color)`},..._t},Ct=()=>{let e=(0,d.useEditorRef)();return(0,a.jsx)(d.FloatingModalWrapper,{padding:`16px`,minWidth:`400px`,"data-test-id":`floating-button-edit`,children:(0,a.jsxs)(`span`,{"data-test-id":`preview-button-flyout`,className:`tw-flex tw-justify-between tw-items-center tw-gap-2`,children:[(0,a.jsx)(`a`,{"data-test-id":`floating-button-edit-url`,href:G.url(),target:`_blank`,rel:`noopener noreferrer`,style:X[J],className:`tw-break-all`,children:G.url()}),(0,a.jsxs)(`span`,{className:`tw-flex tw-gap-2`,children:[(0,a.jsx)(`button`,{onClick:()=>{mt(e)},tabIndex:0,"data-test-id":`edit-button-button`,className:`tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1`,children:(0,a.jsx)(r.IconPen,{size:16})}),(0,a.jsx)(`button`,{onClick:()=>{q(e),(0,d.focusEditor)(e,e.selection??void 0)},tabIndex:0,"data-test-id":`remove-button-button`,className:`tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1`,children:(0,a.jsx)(r.IconTrashBin,{size:16})})]})]})})},wt=({onUrlChange:e,onToggleTab:i,isValidUrlOrEmpty:o,appBridge:s,placeholder:c,newTab:l,url:d=``,required:f,info:p,label:m,buttonSize:h,hideInternalLinkButton:g})=>{let _=o?o(d):K(d),{openLinkChooser:v,closeLinkChooser:y}=(0,t.useLinkChooser)(s);return(0,a.jsxs)(`div`,{"data-test-id":`link-input`,children:[(0,a.jsx)(u.FormControl,{label:{children:m,htmlFor:`url`,required:f,tooltip:p?{content:p,position:`top`}:void 0},children:(0,a.jsx)(n.TextInput,{"data-test-id":`text-input`,id:`url`,value:d,onChange:t=>e?.(t.target.value),placeholder:c??`https://example.com`})}),!_&&(0,a.jsx)(`div`,{className:`tw-text-error tw-mt-1 tw-text-small`,children:`Please enter a valid URL.`}),!g&&(0,a.jsx)(`div`,{className:`tw-mt-3`,onPointerDown:e=>{e.preventDefault()},children:(0,a.jsxs)(n.Button,{"data-test-id":`internal-link-chooser-button`,size:h??`medium`,emphasis:`default`,onPress:async()=>{await v(t=>{e?.(t),y().catch(console.error)},{selectedUrl:d})},children:[(0,a.jsx)(r.IconLink,{size:`20`}),`Internal link`]})}),(0,a.jsxs)(`div`,{className:`tw-mt-3 tw-flex tw-items-center tw-gap-1.5`,children:[(0,a.jsx)(n.Checkbox,{id:`new-tab`,value:l,onChange:()=>i?.(!l)}),(0,a.jsx)(n.Label,{id:`new-tab-label`,htmlFor:`new-tab`,className:`tw-whitespace-nowrap`,children:`Open in new tab`})]})]})},Tt=({state:e,onTextChange:t,onUrlChange:i,onToggleTab:o,onCancel:s,onSave:c,isValidUrlOrEmpty:l,hasValues:f,testId:p,appBridge:m,children:h})=>(0,a.jsxs)(d.FloatingModalWrapper,{"data-test-id":p,padding:`28px`,minWidth:`400px`,children:[(0,a.jsx)(u.FormControl,{label:{children:`Text`,htmlFor:`linkText`,required:!0},children:(0,a.jsx)(n.TextInput,{id:`linkText`,value:e.text,placeholder:`Link Text`,onChange:e=>t(e.target.value)})}),h,(0,a.jsx)(`div`,{className:`tw-mt-5`,children:(0,a.jsx)(wt,{url:e.url,newTab:e.newTab,onUrlChange:i,onToggleTab:o,isValidUrlOrEmpty:l,appBridge:m})}),(0,a.jsx)(`div`,{className:`tw-mt-3`,children:(0,a.jsxs)(`div`,{className:`tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10`,children:[(0,a.jsx)(n.Button,{"data-test-id":`button`,onPress:s,size:`medium`,emphasis:`default`,children:`Cancel`}),(0,a.jsxs)(n.Button,{"data-test-id":`button`,onPress:c,size:`medium`,disabled:!l(e?.url)||!f,children:[(0,a.jsx)(r.IconCheckMark,{size:`20`}),`Save`]})]})})]}),Et=e=>{let t=(0,d.getAboveNode)(e,{match:{type:Z}});return Array.isArray(t)&&t[0]?.buttonStyle||`primary`},Dt={url:``,text:``,buttonStyle:`primary`,newTab:!1},Ot=()=>{let[e,t]=(0,i.useReducer)((e,t)=>{let{type:n,payload:r}=t;switch(n){case`NEW_TAB`:return{...e,newTab:!0};case`SAME_TAB`:return{...e,newTab:!1};case`URL`:case`TEXT`:case`BUTTON_STYLE`:case`INIT`:return{...e,...r};default:return e}},Dt);return[e,t]},kt=()=>{let e=(0,d.useEditorRef)(),[t,n]=Ot();(0,i.useEffect)(()=>{let t=Et(e);n({type:`INIT`,payload:{text:G.text()||G.url(),buttonStyle:t,newTab:!!G.newTab(),url:G.url()}})},[n,e]);let r=e=>{n({type:`TEXT`,payload:{text:e}})},a=e=>{n({type:`BUTTON_STYLE`,payload:{buttonStyle:e}})},o=e=>{n({type:`URL`,payload:{url:e}})},s=e=>{n(e?{type:`NEW_TAB`}:{type:`SAME_TAB`})},c=()=>{W.reset()},l=n=>{if(!K(t.url)||!u)return;let r=$e(t.url);W.text(t.text),W.url(r),W.buttonStyle(t.buttonStyle),W.newTab(t.newTab),rt(e)&&n?.preventDefault()},u=t.url!==``&&t.text!==``,{appBridge:f}=(0,d.getPluginOptions)(e,Z);return(0,d.useHotkeys)(`enter`,l,{enableOnFormTags:[`INPUT`]},[]),{state:t,onTextChange:r,onButtonStyleChange:a,onUrlChange:o,onToggleTab:s,onCancel:c,onSave:l,hasValues:u,isValidUrlOrEmpty:K,appBridge:f}},At=()=>{let e=kt(),{state:t,onButtonStyleChange:n}=e;return(0,a.jsx)(Tt,{...e,testId:`floating-button-insert`,children:(0,a.jsx)(`div`,{className:`tw-pt-5`,children:(0,a.jsxs)(u.FormControl,{label:{children:`Button Style`,htmlFor:`buttonStyle`,required:!0},children:[(0,a.jsx)(jt,{id:`primary`,styles:X.buttonPrimary,isActive:t.buttonStyle===`primary`,onClick:()=>n(`primary`),children:t.text||`Primary Button`}),(0,a.jsx)(jt,{id:`secondary`,styles:X.buttonSecondary,isActive:t.buttonStyle===`secondary`,onClick:()=>n(`secondary`),children:t.text||`Secondary Button`}),(0,a.jsx)(jt,{id:`tertiary`,styles:X.buttonTertiary,isActive:t.buttonStyle===`tertiary`,onClick:()=>n(`tertiary`),children:t.text||`Tertiary Button`})]})})})},jt=({id:e,styles:t,isActive:n,onClick:r,children:o})=>{let[s,c]=(0,i.useState)(!1);return(0,a.jsx)(`button`,{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onClick:r,style:{...t&&t.hover&&s?{...t,...t.hover}:t,marginTop:0,marginBottom:0},className:n?`tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit`:`tw-w-fit`,children:o})},Mt={placement:`bottom-start`,strategy:`absolute`,middleware:[(0,d.offset)(12),(0,d.flip)({padding:12,fallbackPlacements:[`bottom-end`,`top-start`,`top-end`]})]},Nt=()=>{let{ref:e,...t}=Bt(Mt),{ref:n,...r}=Lt(Mt),i=(0,d.useEditorRef)(),o=Ue(),s=o.isOpen(i.id),c=o.isEditing(),l=o.mode(),u=(0,a.jsx)(At,{}),p=c?u:(0,a.jsx)(Ct,{});return(0,a.jsxs)(a.Fragment,{children:[s&&l===`insert`&&(0,f.createPortal)((0,a.jsx)(`div`,{"data-is-underlay":!0,ref:e,...t,style:{...t.style,...X[d.TextStyles.p]},children:u}),document.body),s&&l===`edit`&&(0,f.createPortal)((0,a.jsx)(`div`,{"data-is-underlay":!0,ref:n,...r,style:{...r.style,...X[d.TextStyles.p]},children:p}),document.body)]})},Z=`button`,Pt=`button-plugin`,Ft=e=>(0,d.createPluginFactory)({key:Z,isElement:!0,isInline:!0,props:({element:e})=>({nodeProps:{href:e?.url,target:e?.target}}),withOverrides:tt,renderAfterEditable:Nt,options:{isUrl:et,rangeBeforeOptions:{matchString:` `,skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:`command+shift+k, ctrl+shift+k`,appBridge:e},then:(e,{type:t})=>({deserializeHtml:{rules:[{validNodeName:`A`,validClassName:`btn`}],getNode:e=>({type:t,url:e.getAttribute(`href`),target:e.getAttribute(`target`)||`_blank`})}})})(),It=class extends d.Plugin{styles={};appBridge;constructor({styles:e=_t,...t}){super(Pt,{button:St,markupElement:new bt,...t}),this.styles=e,this.appBridge=t?.appBridge}plugins(){return[Ft(this.appBridge)]}},Lt=e=>{let t=(0,d.useEditorRef)(),n=Ue().mode(),r=Ue().isOpen(t.id),a=(0,d.useEditorVersion)(),{triggerFloatingButtonHotkeys:o}=(0,d.getPluginOptions)(t,Z),s=(0,i.useCallback)(()=>{let e=(0,d.getAboveNode)(t,{match:{type:(0,d.getPluginType)(t,Z)}});if(e){let[,n]=e;return(0,d.getRangeBoundingClientRect)(t,{anchor:(0,d.getStartPoint)(t,n),focus:(0,d.getEndPoint)(t,n)})}return(0,d.getDefaultBoundingClientRect)()},[t]),{update:c,style:l,floating:u}=Wt({open:r&&n===`edit`,getBoundingClientRect:s,...e});return(0,i.useEffect)(()=>{let e=dt(t);if(e&&W.url(e),t.selection&&(0,d.someNode)(t,{match:{type:(0,d.getPluginType)(t,`button`)}})){W.show(`edit`,t.id),c();return}G.mode()===`edit`&&W.reset()},[t,a,c]),(0,d.useHotkeys)(o,e=>{e.preventDefault(),G.mode()===`edit`&&mt(t)},{enableOnContentEditable:!0},[]),Rt(),zt(),{style:l,ref:(0,d.useComposedRef)(u)}},Rt=()=>{let e=(0,d.useEditorRef)();(0,d.useHotkeys)(`*`,t=>{t.key===`Enter`&&rt(e)&&t.preventDefault()},{enableOnFormTags:[`INPUT`]},[])},zt=()=>{let e=(0,d.useEditorRef)();(0,d.useHotkeys)(`escape`,()=>{if(G.mode()===`edit`){if(G.isEditing()){W.show(`edit`,e.id),(0,d.focusEditor)(e,e.selection??void 0);return}W.reset()}},{enableOnFormTags:[`INPUT`],enableOnContentEditable:!0},[])},Bt=e=>{let t=(0,d.useEditorRef)(),n=(0,d.useFocused)(),r=Ue().mode(),a=Ue().isOpen(t.id),{triggerFloatingButtonHotkeys:o}=(0,d.getPluginOptions)(t,Z);(0,d.useHotkeys)(o,e=>{e.preventDefault(),ht(t,{focused:n})},{enableOnContentEditable:!0},[n]);let{update:s,style:c,floating:l}=Wt({open:a&&r===`insert`,getBoundingClientRect:d.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return(0,i.useEffect)(()=>{a&&s(),W.updated(a)},[a,s]),zt(),{style:c,ref:(0,d.useComposedRef)(l)}},Vt=12,Ht=-22,Ut=96,Wt=e=>(0,d.useVirtualFloating)({placement:`bottom-start`,middleware:[(0,d.offset)({mainAxis:Vt,alignmentAxis:Ht}),(0,d.flip)({padding:Ut})],...e}),Gt=`[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column`,Kt={1:`tw-columns-1`,2:`tw-columns-1 @sm:!tw-columns-2 [&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column`,3:`tw-columns-1 @md:!tw-columns-3 ${Gt}`,4:`tw-columns-1 @md:!tw-columns-4 ${Gt}`,5:`tw-columns-1 @md:!tw-columns-5 ${Gt}`},qt=e=>e?Kt[e]||Kt[1]:``,Jt=({value:e=``,gap:t,customClass:n,show:r=!0,plugins:o})=>{let[s,c]=(0,i.useState)(null);return(0,i.useEffect)(()=>{(async()=>{let r=await(0,d.serializeRawToHtmlAsync)(e,o,void 0,t,n);c(r)})().catch(console.error)},[e,t,o,n]),!r||s===`<br />`||s===null?null:(0,a.jsx)(`div`,{className:`tw-w-full tw-whitespace-pre-wrap`,"data-test-id":`rte-content-html`,dangerouslySetInnerHTML:{__html:s}})},Yt=e=>{G.isOpen(e)&&W.reset()},Xt=(0,i.memo)(({isEnabled:e,value:t,columns:n,gap:r,placeholder:o,plugins:s,onTextChange:c,showSerializedText:l})=>{let u=qt(n),[f,p]=(0,i.useState)(!1),m=(0,i.useId)(),h=(0,i.useCallback)(e=>{e!==t&&c?.(e),p(!1)},[c,t]),g=(0,i.useCallback)(()=>p(!0),[]);return(0,i.useEffect)(()=>{let e=e=>{e.preventDefault(),e.returnValue=`Unprocessed changes`};return f&&window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[f]),e?(0,a.jsx)(d.RichTextEditor,{id:m,value:t,border:!1,placeholder:o,plugins:s,onValueChanged:g,onTextChange:h,hideExternalFloatingModals:Yt,placeholderOpacity:`high`}):(0,a.jsx)(Jt,{value:t,gap:r,customClass:u,show:l,plugins:s})});Xt.displayName=`InternalRichTextEditor`;var Zt=e=>{let t=(0,i.useRef)(null),[n,r]=(0,i.useState)(!1),{isEditing:o,...s}=e,c=(0,i.useCallback)(e=>{e&&r(!0)},[]);return Ve({ref:t,disabled:!o,onChange:c}),(0,i.useEffect)(()=>{o||r(!1)},[o]),(0,a.jsx)(`div`,{"data-test-id":`rich-text-editor-container`,className:`tw-block tw-w-full tw-@container`,ref:t,children:(0,a.jsx)(Xt,{...s,isEnabled:o&&n})})},Qt=({editButtonProps:e,unlinkButtonProps:t})=>{let{element:n}=(0,d.useLinkOpenButtonState)(),i=n?Xe(n):``;return(0,a.jsx)(d.FloatingModalWrapper,{"data-test-id":`floating-link-edit`,padding:`16px`,minWidth:`400px`,children:(0,a.jsxs)(`span`,{"data-test-id":`preview-link-flyout`,className:`tw-flex tw-justify-between tw-items-center tw-gap-2`,children:[(0,a.jsx)(`a`,{"data-test-id":`floating-link-edit-url`,href:i,target:`_blank`,rel:`noopener noreferrer`,style:X[J],className:`tw-break-all`,children:i}),(0,a.jsxs)(`span`,{className:`tw-flex tw-gap-2`,children:[(0,a.jsx)(`button`,{tabIndex:0,"data-test-id":`edit-link-button`,className:`tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1`,...e,children:(0,a.jsx)(r.IconPen,{size:16})}),(0,a.jsx)(`button`,{tabIndex:0,"data-test-id":`remove-link-button`,className:`tw-transition tw-cursor-pointer tw-rounded-medium hover:tw-bg-black-10 tw-p-1`,...t,children:(0,a.jsx)(r.IconTrashBin,{size:16})})]})]})})},$t=(e,t)=>{let n=(0,d.getAboveNode)(e,{match:{type:d.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):``},en=e=>$t(e,e=>e.chosenLink?.searchResult?.link||``),tn=e=>$t(e,e=>e.url||``),nn={url:``,text:``,newTab:!1},rn=()=>{let[e,t]=(0,i.useReducer)((e,t)=>{let{type:n,payload:r}=t;switch(n){case`NEW_TAB`:return{...e,newTab:!0};case`SAME_TAB`:return{...e,newTab:!1};case`URL`:case`TEXT`:case`INIT`:return{...e,...r};default:return e}},nn);return[e,t]},an=()=>{let e=(0,d.useEditorRef)(),[t,n]=rn();(0,i.useEffect)(()=>{let t=en(e),r=tn(e),i=d.floatingLinkSelectors.newTab();n({type:`INIT`,payload:{text:d.floatingLinkSelectors.text()||d.floatingLinkSelectors.url(),newTab:i,url:t&&r===``?t:d.floatingLinkSelectors.url()}})},[n,e]);let r=e=>{n({type:`TEXT`,payload:{text:e}})},a=e=>{n({type:`URL`,payload:{url:e}})},o=e=>{n(e?{type:`NEW_TAB`}:{type:`SAME_TAB`})},s=()=>{d.floatingLinkActions.reset()},c=n=>{!K(t.url)||!l||(d.floatingLinkActions.text(t.text),d.floatingLinkActions.url($e(t.url)),d.floatingLinkActions.newTab(t.newTab),(0,d.submitFloatingLink)(e)&&n?.preventDefault())},l=t.url!==``&&t.text!==``,{appBridge:u}=(0,d.getPluginOptions)(e,d.ELEMENT_LINK);return(0,d.useHotkeys)(`enter`,c,{enableOnFormTags:[`INPUT`]},[]),{state:t,onTextChange:r,onUrlChange:a,onToggleTab:o,onCancel:s,onSave:c,hasValues:l,isValidUrlOrEmpty:K,appBridge:u}},on=()=>(0,a.jsx)(Tt,{...an(),testId:`floating-link-insert`}),sn={placement:`bottom-start`,strategy:`absolute`,middleware:[(0,d.offset)(12),(0,d.flip)({padding:12,fallbackPlacements:[`bottom-end`,`top-start`,`top-end`]})]},cn=()=>{let e=(0,d.useFloatingLinkInsertState)({floatingOptions:sn}),{props:t,ref:n,hidden:r}=(0,d.useFloatingLinkInsert)(e),i=(0,d.useFloatingLinkEditState)({floatingOptions:sn}),{props:o,ref:s,editButtonProps:c,unlinkButtonProps:l}=(0,d.useFloatingLinkEdit)(i);if(r)return null;let u=(0,a.jsx)(on,{}),p=i.isEditing?u:(0,a.jsx)(Qt,{editButtonProps:c,unlinkButtonProps:l});return(0,a.jsxs)(a.Fragment,{children:[e.isOpen&&!i.isOpen&&(0,f.createPortal)((0,a.jsx)(`div`,{"data-is-underlay":!0,ref:n,...t,style:{...t.style,...X[Y.p]},children:u}),document.body),i.isOpen&&(0,f.createPortal)((0,a.jsx)(`div`,{"data-is-underlay":!0,ref:s,...o,style:{...o.style,...X[Y.p]},children:p}),document.body)]})},ln=(0,i.forwardRef)((e,t)=>{let n=(0,d.useEditorRef)(),i=(0,d.useLinkToolbarButtonState)(),{props:o}=(0,d.useLinkToolbarButton)(i);return(0,a.jsx)(d.ToolbarButton,{onMouseDown:e=>{e.preventDefault(),(0,d.focusEditor)(n,n.selection??n.prevSelection??void 0)},ref:t,...o,...e,children:(0,a.jsx)(d.IconStylingWrapper,{icon:(0,a.jsx)(r.IconLink,{size:16})})})});ln.displayName=`LinkToolbarButton`;var un=({id:e,editorId:t})=>{let n=(0,d.useEditorState)((0,d.useEventPlateId)(t)),r=!!(0,d.isRangeInSameBlock)(n,{at:n.selection});return(0,a.jsx)(`div`,{"data-plugin-id":e,children:(0,a.jsx)(ln,{disabled:!r,tooltip:(0,d.getTooltip)(r?`Link\n${(0,d.getHotkeyByPlatform)(`Ctrl+K`)}`:`Links can only be set for a single text block.`)})})},dn=e=>{let{attributes:t,children:n}=e,{styles:r}=(0,d.useRichTextEditorContext)(),i=e.element.url||e.element.chosenLink?.searchResult?.link||``,o=e.element.target||`_self`;return(0,a.jsx)(`a`,{...t,href:i,target:o,style:r[J],children:n})},fn=class extends d.MarkupElement{constructor(e=d.ELEMENT_LINK,t=dn){super(e,t)}},pn=e=>(0,d.createPluginFactory)({...(0,d.createLinkPlugin)(),renderAfterEditable:cn,options:{isUrl:et,rangeBeforeOptions:{matchString:` `,skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:`meta+k, ctrl+k`,keepSelectedTextOnPaste:!0,appBridge:e}})(),mn=class extends d.Plugin{styles={};appBridge;constructor({styles:e=X[J],...t}){super(J,{button:un,markupElement:new fn,...t}),this.styles=e,this.appBridge=t.appBridge}plugins(){return[pn(this.appBridge)]}},hn=`breakAfterColumn`,gn=`normal`,_n=class extends d.Plugin{columns;gap;customClass;constructor(e){super(`break-after-plugin`,{button:d.ColumnBreakButton,...e}),this.columns=e?.columns??1,this.gap=e?.gap??`normal`,this.customClass=qt(this.columns)}plugins(){return[(0,d.createColumnBreakPlugin)(this.columns,this.gap,this.customClass)]}},vn=`textstyle-custom1-plugin`,yn=class extends d.Plugin{styles={};constructor({styles:e=X.custom1,...t}={}){super(Y.custom1,{label:`Custom 1`,markupElement:new bn,...t}),this.styles=e}plugins(){return[Sn(this.styles)]}},bn=class extends d.MarkupElement{constructor(e=vn,t=xn){super(e,t)}},xn=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`p`,{...t,style:r,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),children:n})},Sn=e=>(0,d.createPluginFactory)({key:Y.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:Y.custom1}]}})({component:t=>(0,a.jsx)(xn,{...t,styles:e})}),Cn=`textstyle-custom2-plugin`,wn=class extends d.Plugin{styles={};constructor({styles:e=X.custom2,...t}={}){super(Y.custom2,{label:`Custom 2`,markupElement:new Tn,...t}),this.styles=e}plugins(){return[Dn(this.styles)]}},Tn=class extends d.MarkupElement{constructor(e=Cn,t=En){super(e,t)}},En=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`p`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},Dn=e=>(0,d.createPluginFactory)({key:Y.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:Y.custom2}]}})({component:t=>(0,a.jsx)(En,{...t,styles:e})}),On=`textstyle-custom3-plugin`,kn=class extends d.Plugin{styles={};constructor({styles:e=X.custom3,...t}={}){super(d.TextStyles.custom3,{label:`Custom 3`,markupElement:new An,...t}),this.styles=e}plugins(){return[Mn(this.styles)]}},An=class extends d.MarkupElement{constructor(e=On,t=jn){super(e,t)}},jn=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`p`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},Mn=e=>(0,d.createPluginFactory)({key:d.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:d.TextStyles.custom3}]}})({component:t=>(0,a.jsx)(jn,{...t,styles:e})}),Nn=`textstyle-heading1-plugin`,Pn=class extends d.Plugin{styles={};constructor({styles:e=X.heading1,...t}={}){super(Y.heading1,{label:`Heading 1`,markupElement:new Fn,...t}),this.styles=e}plugins(){return[Ln(this.styles)]}},Fn=class extends d.MarkupElement{constructor(e=Nn,t=In){super(e,t)}},In=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`h1`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},Ln=e=>(0,d.createPluginFactory)({key:Y.heading1,isElement:!0,component:In,deserializeHtml:{rules:[{validNodeName:[`h1`,`H1`]}]}})({component:t=>(0,a.jsx)(In,{...t,styles:e})}),Rn=`textstyle-heading2-plugin`,zn=class extends d.Plugin{styles={};constructor({styles:e=X.heading2,...t}={}){super(Y.heading2,{label:`Heading 2`,markupElement:new Bn,...t}),this.styles=e}plugins(){return[Hn(this.styles)]}},Bn=class extends d.MarkupElement{constructor(e=Rn,t=Vn){super(e,t)}},Vn=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`h2`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},Hn=e=>(0,d.createPluginFactory)({key:Y.heading2,isElement:!0,component:Vn,deserializeHtml:{rules:[{validNodeName:[`h2`,`H2`]}]}})({component:t=>(0,a.jsx)(Vn,{...t,styles:e})}),Un=`textstyle-heading3-plugin`,Wn=class extends d.Plugin{styles={};constructor({styles:e=X.heading3,...t}={}){super(Y.heading3,{label:`Heading 3`,markupElement:new Gn,...t}),this.styles=e}plugins(){return[qn(this.styles)]}},Gn=class extends d.MarkupElement{constructor(e=Un,t=Kn){super(e,t)}},Kn=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`h3`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},qn=e=>(0,d.createPluginFactory)({key:Y.heading3,isElement:!0,component:Kn,deserializeHtml:{rules:[{validNodeName:[`h3`,`H3`]}]}})({component:t=>(0,a.jsx)(Kn,{...t,styles:e})}),Jn=`textstyle-heading4-plugin`,Yn=class extends d.Plugin{styles={};constructor({styles:e=X.heading4,...t}={}){super(Y.heading4,{label:`Heading 4`,markupElement:new Xn,...t}),this.styles=e}plugins(){return[Qn(this.styles)]}},Xn=class extends d.MarkupElement{constructor(e=Jn,t=Zn){super(e,t)}},Zn=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`h4`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},Qn=e=>(0,d.createPluginFactory)({key:Y.heading4,isElement:!0,component:Zn,deserializeHtml:{rules:[{validNodeName:[`h4`,`H4`]}]}})({component:t=>(0,a.jsx)(Zn,{...t,styles:e})}),$n=`textstyle-imageCaption-plugin`,er=class extends d.Plugin{styles={};constructor({styles:e=X.imageCaption,...t}={}){super(Y.imageCaption,{label:`Image Caption`,markupElement:new tr,...t}),this.styles=e}plugins(){return[rr(this.styles)]}},tr=class extends d.MarkupElement{constructor(e=$n,t=nr){super(e,t)}},nr=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`p`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},rr=e=>(0,d.createPluginFactory)({key:Y.imageCaption,isElement:!0,component:nr,deserializeHtml:{rules:[{validClassName:Y.imageCaption}]}})({component:t=>(0,a.jsx)(nr,{...t,styles:e})}),ir=`textstyle-imageTitle-plugin`,ar=class extends d.Plugin{styles={};constructor({styles:e=X.imageTitle,...t}={}){super(Y.imageTitle,{label:`Image Title`,markupElement:new or,...t}),this.styles=e}plugins(){return[cr(this.styles)]}},or=class extends d.MarkupElement{constructor(e=ir,t=sr){super(e,t)}},sr=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`p`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},cr=e=>(0,d.createPluginFactory)({key:Y.imageTitle,isElement:!0,component:sr,deserializeHtml:{rules:[{validClassName:Y.imageTitle}]}})({component:t=>(0,a.jsx)(sr,{...t,styles:e})}),lr=class extends d.Plugin{styles={};constructor({styles:e=X.p,...t}={}){super(Y.p,{markupElement:new fr,label:`Body Text`,...t}),this.styles=e}plugins(){return[pr(this.styles)]}},ur=`tw-m-0 tw-px-0 tw-py-0`,dr=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align,o=(0,d.merge)([i&&d.alignmentClassnames[i],ur,(0,d.getColumnBreakClasses)(e)]);return(0,a.jsx)(`p`,{...t,className:o,style:r,children:n})},fr=class extends d.MarkupElement{constructor(e=Y.p,t=dr){super(e,t)}},pr=e=>(0,d.createPluginFactory)({...(0,d.createParagraphPlugin)(),key:Y.p,isElement:!0,component:dr})({component:t=>(0,a.jsx)(dr,{...t,styles:e})}),mr=`textstyle-quote-plugin`,hr=class extends d.Plugin{styles={};constructor({styles:e=X.quote,...t}={}){super(Y.quote,{label:`Quote`,markupElement:new gr,...t}),this.styles=e}plugins(){return[vr(this.styles)]}},gr=class extends d.MarkupElement{constructor(e=mr,t=_r){super(e,t)}},_r=({element:e,attributes:t,children:n,styles:r})=>{let i=e.align;return(0,a.jsx)(`blockquote`,{...t,className:(0,d.merge)([i&&d.alignmentClassnames[i],(0,d.getColumnBreakClasses)(e)]),style:r,children:n})},vr=e=>(0,d.createPluginFactory)({key:Y.quote,isElement:!0,component:_r,deserializeHtml:{rules:[{validNodeName:[`blockquote`,`BLOCKQUOTE`]}]}})({component:t=>(0,a.jsx)(_r,{...t,styles:e})}),yr=[new Pn,new zn,new Wn,new Yn,new yn,new wn,new kn,new hr,new lr],Q=[Y.heading1,Y.heading2,Y.heading3,Y.heading4,Y.custom1,Y.custom2,Y.custom3,Y.quote,Y.p],br=[...yr,new er,new ar],xr=[...Q,Y.imageCaption,Y.imageTitle],Sr=[{color:`var(--f-theme-settings-list-bullet1-color, currentColor)`,shape:`var(--f-theme-settings-list-bullet1-shape, '•')`,size:`var(--f-theme-settings-list-bullet1-size, 1em)`},{color:`var(--f-theme-settings-list-bullet2-color, currentColor)`,shape:`var(--f-theme-settings-list-bullet2-shape, '•')`,size:`var(--f-theme-settings-list-bullet2-size, 1em)`},{color:`var(--f-theme-settings-list-bullet3-color, currentColor)`,shape:`var(--f-theme-settings-list-bullet3-shape, '•')`,size:`var(--f-theme-settings-list-bullet3-size, 1em)`}],Cr=class extends d.UnorderedListPlugin{constructor(e){super({listStyles:Sr,...e})}},wr=[{counterType:`var(--f-theme-settings-list-numbered1-counter-type, decimal)`,color:`var(--f-theme-settings-list-numbered1-color, currentColor)`},{counterType:`var(--f-theme-settings-list-numbered2-counter-type, lower-alpha)`,color:`var(--f-theme-settings-list-numbered2-color, currentColor)`},{counterType:`var(--f-theme-settings-list-numbered3-counter-type, lower-roman)`,color:`var(--f-theme-settings-list-numbered3-color, currentColor)`}],Tr=class extends d.OrderedListPlugin{constructor(e){super({listStyles:wr,...e})}},Er=e=>new d.PluginComposer().setPlugin(new d.SoftBreakPlugin,new d.TextStylePlugin({textStyles:yr})).setPlugin([new d.BoldPlugin,new d.ItalicPlugin,new d.UnderlinePlugin,new d.StrikethroughPlugin,new mn({appBridge:e}),new It({appBridge:e}),new d.CodePlugin],[new d.AlignLeftPlugin({validTypes:Q}),new d.AlignCenterPlugin({validTypes:Q}),new d.AlignRightPlugin({validTypes:Q}),new d.AlignJustifyPlugin({validTypes:Q}),new Cr,new d.CheckboxListPlugin,new Tr,new d.ResetFormattingPlugin,new d.AutoformatPlugin]),Dr=`--f-theme-settings-`,Or=e=>{let t=e?.id?`hasBackground${e.id}`:`hasBackground`,n=e?.id?`backgroundColor${e.id}`:`backgroundColor`,r=e?.preventDefaultColor?void 0:e?.defaultColor||ne;return{id:t,label:e?.label?e.label:`Background`,type:`switch`,switchLabel:e?.switchLabel?e.switchLabel:void 0,defaultValue:!!e?.defaultValue,on:[{id:n,defaultValue:r,type:`colorInput`}]}},kr=e=>{let t=e?.id?`hasBorder_${e.id}`:`hasBorder`,n=e?.id?`borderSelection_${e.id}`:`borderSelection`,r=e?.id?`borderStyle_${e.id}`:`borderStyle`,i=e?.id?`borderWidth_${e.id}`:`borderWidth`,a=e?.id?`borderColor_${e.id}`:`borderColor`,o=e?.defaultColor||re;return{id:t,label:`Border`,type:`switch`,switchLabel:e?.switchLabel?e.switchLabel:void 0,defaultValue:!!e?.defaultValue,on:[{id:n,type:`multiInput`,layout:$.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:`dropdown`,defaultValue:N.Solid,choices:[{value:N.Solid,label:N.Solid},{value:N.Dotted,label:N.Dotted},{value:N.Dashed,label:N.Dashed}]},{id:i,type:`input`,defaultValue:`1px`,rules:[$.numericalOrPixelRule,(0,$.minimumNumericalOrPixelRule)(0),(0,$.maximumNumericalOrPixelOrAutoRule)(500)],placeholder:`e.g. 3px`,onChange:e=>(0,$.appendUnit)(e,i)},{id:a,type:`colorInput`,defaultValue:o}]}],off:[]}},Ar=(e,t=P.None)=>({id:e,type:`segmentedControls`,defaultValue:t,choices:[{value:P.None,label:`None`},{value:P.Small,label:`S`},{value:P.Medium,label:`M`},{value:P.Large,label:`L`}]}),jr=e=>{let t=e?.id?`hasRadius_${e.id}`:`hasRadius`,n=e?.id?`radiusValue_${e.id}`:`radiusValue`,r=e?.id?`radiusChoice_${e.id}`:`radiusChoice`,i=e?.defaultRadius||P.None;return{id:t,label:`Corner radius`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`Determining how rounded the corners are.`,show:t=>!e?.dependentSettingId||!!t.getBlock(e.dependentSettingId)?.value,onChange:t=>(0,$.presetCustomValue)(t,r,n,e?.radiusStyleMap||F),on:[{id:n,type:`input`,placeholder:`e.g. 10px`,rules:[$.numericalOrPixelRule,(0,$.minimumNumericalOrPixelRule)(0)],onChange:e=>(0,$.appendUnit)(e,n)}],off:[Ar(r,i)]}},Mr=e=>{let t=e?.id?`hasExtendedCustomRadius_${e.id}`:`hasExtendedCustomRadius`,n=e?.id?`extendedRadiusValue_${e.id}`:`extendedRadiusValue`,r=e?.id?`extendedRadiusChoice_${e.id}`:`extendedRadiusChoice`,i=e?.id?`extendedRadiusTopLeft_${e.id}`:`extendedRadiusTopLeft`,a=e?.id?`extendedRadiusTopRight_${e.id}`:`extendedRadiusTopRight`,o=e?.id?`extendedRadiusBottomLeft_${e.id}`:`extendedRadiusBottomLeft`,s=e?.id?`extendedRadiusBottomRight_${e.id}`:`extendedRadiusBottomRight`;return{id:t,label:`Corner radius`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`Determining how rounded the corners are.`,show:t=>!e?.dependentSettingId||!!t.getBlock(e.dependentSettingId)?.value,onChange:e=>{(0,$.presetCustomValue)(e,r,i,F),(0,$.presetCustomValue)(e,r,a,F),(0,$.presetCustomValue)(e,r,o,F),(0,$.presetCustomValue)(e,r,s,F)},on:[{id:n,type:`multiInput`,layout:$.MultiInputLayout.Columns,blocks:[{id:i,type:`input`,label:`Top Left`,rules:[$.numericalOrPixelRule],onChange:e=>(0,$.appendUnit)(e,i)},{id:a,type:`input`,label:`Top Right`,rules:[$.numericalOrPixelRule],onChange:e=>(0,$.appendUnit)(e,a)},{id:o,type:`input`,label:`Bottom Left`,rules:[$.numericalOrPixelRule],onChange:e=>(0,$.appendUnit)(e,o)},{id:s,type:`input`,label:`Bottom Right`,rules:[$.numericalOrPixelRule],onChange:e=>(0,$.appendUnit)(e,s)}]}],off:[Ar(r,e?.defaultValue)]}},Nr=e=>{let t=e?.id?e.id:`hasCustomSpacing`,n=e?.dependentSettingId?e.dependentSettingId:`columns`,r=e?.spacingChoiceId?e.spacingChoiceId:`spacingChoice`,i=e?.spacingCustomId?e.spacingCustomId:`spacingCustom`,a=e?.defaultValueChoices?e.defaultValueChoices:V.M;return{id:t,type:`switch`,defaultValue:!1,switchLabel:`Custom`,label:`Gutter`,info:`An official nerds term for ‘gap’`,onChange:e=>(0,$.presetCustomValue)(e,r,i,ae),show:e=>e.getBlock(n)?.value!==`1`,on:[{id:i,type:`input`,rules:[$.numericalOrPixelRule],onChange:e=>(0,$.appendUnit)(e,i)}],off:[{id:r,type:`slider`,defaultValue:a,choices:[{value:V.Auto,label:`Auto`},{value:V.S,label:`S`},{value:V.M,label:`M`},{value:V.L,label:`L`}]}]}},Pr=e=>({id:e,type:`segmentedControls`,defaultValue:R.None,choices:[{value:R.None,label:`None`},{value:R.Small,label:`S`},{value:R.Medium,label:`M`},{value:R.Large,label:`L`}]}),Fr=e=>{let t=e?.id?`hasCustomMarginValue_${e?.id}`:`hasCustomMarginValue`,n=e?.id?`marginValue_${e?.id}`:`marginValue`,r=e?.id?`marginChoice_${e?.id}`:`marginChoice`;return{id:t,label:`Margin`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`The spacing around UI elements to create more space`,onChange:t=>(0,$.presetCustomValue)(t,r,n,e?.marginStyleMap||z),on:[{id:n,type:`input`,placeholder:M,rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)],onChange:e=>(0,$.appendUnit)(e,n)}],off:[Pr(r)]}},Ir=e=>{let t=e?.id?`hasExtendedCustomMargin_${e?.id}`:`hasExtendedCustomMargin`,n=e?.id?`extendedMarginValues_${e?.id}`:`extendedMarginValues`,r=e?.id?`extendedMarginChoice_${e?.id}`:`extendedMarginChoice`,i=e?.id?`extendedMarginTop_${e?.id}`:`extendedMarginTop`,a=e?.id?`extendedMarginLeft_${e?.id}`:`extendedMarginLeft`,o=e?.id?`extendedMarginRight_${e?.id}`:`extendedMarginRight`,s=e?.id?`extendedMarginBottom_${e?.id}`:`extendedMarginBottom`;return{id:t,label:`Margin`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`The spacing around UI elements to create more negative space`,onChange:e=>{(0,$.presetCustomValue)(e,r,i,z),(0,$.presetCustomValue)(e,r,a,z),(0,$.presetCustomValue)(e,r,o,z),(0,$.presetCustomValue)(e,r,s,z)},on:[{id:n,type:`multiInput`,layout:$.MultiInputLayout.Spider,blocks:[{id:i,type:`input`,label:`Top`,placeholder:M,onChange:e=>(0,$.appendUnit)(e,i),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:a,type:`input`,label:`Left`,placeholder:M,onChange:e=>(0,$.appendUnit)(e,a),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:o,type:`input`,label:`Right`,placeholder:M,onChange:e=>(0,$.appendUnit)(e,o),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:s,type:`input`,label:`Bottom`,placeholder:M,onChange:e=>(0,$.appendUnit)(e,s),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]}]}],off:[Pr(r)]}},Lr=e=>({id:e,type:`segmentedControls`,defaultValue:I.Small,choices:[{value:I.None,label:`None`},{value:I.Small,label:`S`},{value:I.Medium,label:`M`},{value:I.Large,label:`L`}]}),Rr=e=>{let t=e?.id?`hasCustomPaddingValue_${e?.id}`:`hasCustomPaddingValue`,n=e?.id?`paddingValue_${e?.id}`:`paddingValue`,r=e?.id?`paddingChoice_${e?.id}`:`paddingChoice`;return{id:t,label:`Padding`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`The spacing around UI elements to create more negative space`,onChange:t=>(0,$.presetCustomValue)(t,r,n,e?.paddingStyleMap||L),on:[{id:n,type:`input`,placeholder:j,rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)],onChange:e=>(0,$.appendUnit)(e,n)}],off:[Lr(r)]}},zr=e=>{let t=e?.id?`hasExtendedCustomPadding_${e?.id}`:`hasExtendedCustomPadding`,n=e?.id?`extendedPaddingValues_${e?.id}`:`extendedPaddingValues`,r=e?.id?`extendedPaddingChoice_${e?.id}`:`extendedPaddingChoice`,i=e?.id?`extendedPaddingTop_${e?.id}`:`extendedPaddingTop`,a=e?.id?`extendedPaddingLeft_${e?.id}`:`extendedPaddingLeft`,o=e?.id?`extendedPaddingRight_${e?.id}`:`extendedPaddingRight`,s=e?.id?`extendedPaddingBottom_${e?.id}`:`extendedPaddingBottom`;return{id:t,label:`Padding`,type:`switch`,switchLabel:`Custom`,defaultValue:!1,info:`The spacing around UI elements to create more negative space`,onChange:e=>{(0,$.presetCustomValue)(e,r,i,L),(0,$.presetCustomValue)(e,r,a,L),(0,$.presetCustomValue)(e,r,o,L),(0,$.presetCustomValue)(e,r,s,L)},on:[{id:n,type:`multiInput`,layout:$.MultiInputLayout.Spider,blocks:[{id:i,type:`input`,label:`Top`,placeholder:j,onChange:e=>(0,$.appendUnit)(e,i),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:a,type:`input`,label:`Left`,placeholder:j,onChange:e=>(0,$.appendUnit)(e,a),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:o,type:`input`,label:`Right`,placeholder:j,onChange:e=>(0,$.appendUnit)(e,o),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]},{id:s,type:`input`,label:`Bottom`,placeholder:j,onChange:e=>(0,$.appendUnit)(e,s),rules:[$.numericalOrPixelRule,(0,$.maximumNumericalOrPixelOrAutoRule)(500)]}]}],off:[Lr(r)]}},Br=e=>{let t=Vr(e?.globalControlId);return{id:e?.id?e.id:`downloadable`,type:`switch`,defaultValue:!1,label:`Downloadable`,show:e=>e.getBlock(t)?.value===B.Custom}},Vr=e=>e||`security`,Hr=e=>[{id:Vr(e),type:`segmentedControls`,defaultValue:B.Global,choices:[{value:B.Global,label:`Global Settings`},{value:B.Custom,label:`Custom`}]},{id:`globalSettingsInfo`,type:`notification`,footer:(0,$.createFooter)({label:`Change global settings [here].`,replace:{here:{event:`general-settings.open`}}})}],$=_({AllTextStylePlugins:()=>br,AllTextStyles:()=>xr,AttachmentOperationsProvider:()=>ve,Attachments:()=>Te,AttachmentsProvider:()=>_e,AttachmentsToolbarButton:()=>ke,BUTTON_PLUGIN:()=>Pt,BlockButtonStyles:()=>_t,BlockInjectButton:()=>x,BlockItemWrapper:()=>Be,BlockStyles:()=>X,BorderStyle:()=>N,BreakAfterPlugin:()=>_n,ButtonPlugin:()=>It,Custom1Plugin:()=>yn,Custom2Plugin:()=>wn,Custom3Plugin:()=>kn,DEFAULT_ATTACHMENTS_BUTTON_ID:()=>Oe,DEFAULT_DRAGGING_TOOLTIP:()=>je,DEFAULT_DRAG_TOOLTIP:()=>Ae,DEFAULT_MENU_BUTTON_ID:()=>Fe,DragHandleToolbarButton:()=>Ne,DragPreviewContextProvider:()=>le,ELEMENT_BUTTON:()=>Z,FlyoutToolbarButton:()=>Pe,GAP_DEFAULT:()=>gn,GutterSpacing:()=>V,Heading1Plugin:()=>Pn,Heading2Plugin:()=>zn,Heading3Plugin:()=>Wn,Heading4Plugin:()=>Yn,ImageCaptionPlugin:()=>er,ImageTitlePlugin:()=>ar,KEY_ELEMENT_BREAK_AFTER_COLUMN:()=>hn,LinkInput:()=>wt,LinkPlugin:()=>mn,Margin:()=>R,MenuToolbarButton:()=>Ie,MultiFlyoutContextProvider:()=>de,OrderedListPlugin:()=>Tr,PARAGRAPH_CLASSES:()=>ur,Padding:()=>I,ParagraphMarkupElement:()=>fr,ParagraphMarkupElementNode:()=>dr,ParagraphPlugin:()=>lr,QuoteMarkupElementNode:()=>_r,QuotePlugin:()=>hr,Radius:()=>P,RichTextEditor:()=>Zt,Sections:()=>Ur,Security:()=>B,THEME_PREFIX:()=>Dr,TextStylePluginsWithoutImage:()=>yr,TextStyles:()=>Y,TextStylesWithoutImage:()=>Q,Toolbar:()=>ze,UnorderedListPlugin:()=>Cr,addHttps:()=>$e,borderStyleMap:()=>ie,convertToRteValue:()=>Ge,createButtonNode:()=>ft,createButtonPlugin:()=>Ft,createLinkPlugin:()=>pn,createParagraphPlugin:()=>pr,createQuotePlugin:()=>vr,defineBlock:()=>Wr,defineSettings:()=>Gr,getBackgroundColorStyles:()=>te,getBackgroundSettings:()=>Or,getBorderRadiusSettings:()=>jr,getBorderRadiusSlider:()=>Ar,getBorderSettings:()=>kr,getBorderStyles:()=>oe,getDefaultPluginsWithLinkChooser:()=>Er,getExtendedBorderRadiusSettings:()=>Mr,getGutterSettings:()=>Nr,getLegacyUrl:()=>Je,getLinkFromEditor:()=>Ze,getMarginExtendedSettings:()=>Ir,getMarginSettings:()=>Fr,getMarginSlider:()=>Pr,getPaddingExtendedSettings:()=>zr,getPaddingSettings:()=>Rr,getPaddingSlider:()=>Lr,getRadiusStyles:()=>se,getReadableColor:()=>A,getSecurityDownloadableSetting:()=>Br,getSecurityGlobalControlId:()=>Vr,getSecurityGlobalControlSetting:()=>Hr,getUrl:()=>Ye,getUrlFromEditor:()=>dt,getUrlFromLinkOrLegacyLink:()=>Xe,gutterSpacingStyleMap:()=>ae,hasRichTextValue:()=>We,insertButton:()=>nt,isDark:()=>w,isDownloadable:()=>Ke,isValidUrl:()=>et,isValidUrlOrEmpty:()=>K,joinClassNames:()=>b,marginStyleMap:()=>z,paddingStyleMap:()=>L,radiusStyleMap:()=>F,relativeUrlRegex:()=>Qe,setAlpha:()=>O,submitFloatingButton:()=>rt,toColorObject:()=>ee,toHex8String:()=>T,toHexString:()=>E,toRgbaString:()=>D,toShortRgba:()=>S,triggerFloatingButton:()=>pt,triggerFloatingButtonEdit:()=>mt,triggerFloatingButtonInsert:()=>ht,unwrapButton:()=>q,upsertButton:()=>it,upsertButtonText:()=>ct,useAttachmentOperations:()=>me,useAttachments:()=>he,useAttachmentsContext:()=>ye,useDragPreviewContext:()=>H,useMultiFlyoutContext:()=>fe,useMultiFlyoutState:()=>pe,withAttachmentsProvider:()=>be,withButton:()=>tt,wrapButton:()=>lt});y($,require("@frontify/sidebar-settings"));var Ur=function(e){return e.Main=`main`,e.Basics=`basics`,e.Layout=`layout`,e.Style=`style`,e.Security=`security`,e.Targets=`targets`,e}({}),Wr=e=>e,Gr=e=>e;e.AllTextStylePlugins=br,e.AllTextStyles=xr,e.AttachmentOperationsProvider=ve,e.Attachments=Te,e.AttachmentsProvider=_e,e.AttachmentsToolbarButton=ke,e.BUTTON_PLUGIN=Pt,e.BlockButtonStyles=_t,e.BlockInjectButton=x,e.BlockItemWrapper=Be,e.BlockStyles=X,e.BorderStyle=N,e.BreakAfterPlugin=_n,e.ButtonPlugin=It,e.Custom1Plugin=yn,e.Custom2Plugin=wn,e.Custom3Plugin=kn,e.DEFAULT_ATTACHMENTS_BUTTON_ID=Oe,e.DEFAULT_DRAGGING_TOOLTIP=je,e.DEFAULT_DRAG_TOOLTIP=Ae,e.DEFAULT_MENU_BUTTON_ID=Fe,e.DragHandleToolbarButton=Ne,e.DragPreviewContextProvider=le,e.ELEMENT_BUTTON=Z,e.FlyoutToolbarButton=Pe,e.GAP_DEFAULT=gn,e.GutterSpacing=V,e.Heading1Plugin=Pn,e.Heading2Plugin=zn,e.Heading3Plugin=Wn,e.Heading4Plugin=Yn,e.ImageCaptionPlugin=er,e.ImageTitlePlugin=ar,e.KEY_ELEMENT_BREAK_AFTER_COLUMN=hn,e.LinkInput=wt,e.LinkPlugin=mn,e.Margin=R,e.MenuToolbarButton=Ie,e.MultiFlyoutContextProvider=de,e.OrderedListPlugin=Tr,e.PARAGRAPH_CLASSES=ur,e.Padding=I,e.ParagraphMarkupElement=fr,e.ParagraphMarkupElementNode=dr,e.ParagraphPlugin=lr,e.QuoteMarkupElementNode=_r,e.QuotePlugin=hr,e.Radius=P,e.RichTextEditor=Zt,e.Sections=Ur,e.Security=B,e.THEME_PREFIX=Dr,e.TextStylePluginsWithoutImage=yr,e.TextStyles=Y,e.TextStylesWithoutImage=Q,e.Toolbar=ze,e.UnorderedListPlugin=Cr,e.addHttps=$e,e.borderStyleMap=ie,e.convertToRteValue=Ge,e.createButtonNode=ft,e.createButtonPlugin=Ft,e.createLinkPlugin=pn,e.createParagraphPlugin=pr,e.createQuotePlugin=vr,e.defineBlock=Wr,e.defineSettings=Gr,e.getBackgroundColorStyles=te,e.getBackgroundSettings=Or,e.getBorderRadiusSettings=jr,e.getBorderRadiusSlider=Ar,e.getBorderSettings=kr,e.getBorderStyles=oe,e.getDefaultPluginsWithLinkChooser=Er,e.getExtendedBorderRadiusSettings=Mr,e.getGutterSettings=Nr,e.getLegacyUrl=Je,e.getLinkFromEditor=Ze,e.getMarginExtendedSettings=Ir,e.getMarginSettings=Fr,e.getMarginSlider=Pr,e.getPaddingExtendedSettings=zr,e.getPaddingSettings=Rr,e.getPaddingSlider=Lr,e.getRadiusStyles=se,e.getReadableColor=A,e.getSecurityDownloadableSetting=Br,e.getSecurityGlobalControlId=Vr,e.getSecurityGlobalControlSetting=Hr,e.getUrl=Ye,e.getUrlFromEditor=dt,e.getUrlFromLinkOrLegacyLink=Xe,e.gutterSpacingStyleMap=ae,e.hasRichTextValue=We,e.insertButton=nt,e.isDark=w,e.isDownloadable=Ke,e.isValidUrl=et,e.isValidUrlOrEmpty=K,e.joinClassNames=b,e.marginStyleMap=z,e.paddingStyleMap=L,e.radiusStyleMap=F,e.relativeUrlRegex=Qe,e.setAlpha=O,e.submitFloatingButton=rt,e.toColorObject=ee,e.toHex8String=T,e.toHexString=E,e.toRgbaString=D,e.toShortRgba=S,e.triggerFloatingButton=pt,e.triggerFloatingButtonEdit=mt,e.triggerFloatingButtonInsert=ht,e.unwrapButton=q,e.upsertButton=it,e.upsertButtonText=ct,e.useAttachmentOperations=me,e.useAttachments=he,e.useAttachmentsContext=ye,e.useDragPreviewContext=H,e.useMultiFlyoutContext=fe,e.useMultiFlyoutState=pe,e.withAttachmentsProvider=be,e.withButton=tt,e.wrapButton=lt;var Kr=require("@frontify/sidebar-settings");Object.keys(Kr).forEach(function(t){t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return Kr[t]}})})});
|
|
2
|
+
//# sourceMappingURL=index.umd.js.map
|