@frontify/guideline-blocks-settings 3.0.2 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +63 -63
- package/dist/components/Link/LinkInput.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/DocumentLink.es.js +46 -63
- package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js +50 -64
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/LinkSelector2.es.js +77 -0
- package/dist/components/Link/LinkSelector/LinkSelector2.es.js.map +1 -0
- package/dist/components/Link/LinkSelector/LoadingIndicator.es.js +10 -6
- package/dist/components/Link/LinkSelector/LoadingIndicator.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/PageLink.es.js +53 -67
- package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/PageLinks.es.js +28 -37
- package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/SectionLink.es.js +31 -24
- package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -1
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +6 -5
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.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 +6 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.es.js +221 -213
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +6 -8
- 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 +8 -10
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +0 -72
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +0 -1
|
@@ -1,138 +1,146 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
1
|
+
import { SortableAttachmentItem as e } from "./AttachmentItem.es.js";
|
|
2
|
+
import { AttachmentsButtonTrigger as t } from "./AttachmentsButtonTrigger.es.js";
|
|
3
|
+
import { useAssetChooser as n, useAssetUpload as r, useEditorState as i } from "@frontify/app-bridge";
|
|
4
|
+
import { AssetInput as a, Flex as ee, Flyout as o, Tooltip as s } from "@frontify/fondue/components";
|
|
5
|
+
import { IconArrowCircleUp as te, IconImageStack as c } from "@frontify/fondue/icons";
|
|
6
|
+
import { useEffect as l, useState as u } from "react";
|
|
7
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
|
+
import { DndContext as p, KeyboardSensor as ne, PointerSensor as m, closestCenter as re, useSensor as h, useSensors as g } from "@dnd-kit/core";
|
|
9
|
+
import { restrictToParentElement as _ } from "@dnd-kit/modifiers";
|
|
10
|
+
import { SortableContext as v, arrayMove as y, rectSortingStrategy as b } from "@dnd-kit/sortable";
|
|
11
|
+
//#region src/components/Attachments/Attachments.tsx
|
|
12
|
+
var x = ({ items: x = [], onDelete: S, onReplaceWithBrowse: C, onReplaceWithUpload: w, onBrowse: T, onUpload: E, onSorted: ie, appBridge: D, triggerComponent: ae = t, isOpen: O, onOpenChange: oe }) => {
|
|
13
|
+
let [k, A] = u(x), [j, M] = u(!1), N = g(h(m), h(ne)), [P, F] = u(void 0), [I, L] = u(!1), [R, z] = u(!1), [B, V] = u([]), [H, U] = u(null), W = i(D), { openAssetChooser: G, closeAssetChooser: K } = n(D), q = O !== void 0, J = q ? O : j, Y = k?.find((e) => e.id === P), X = x.length, se = X > 0 ? `Open attachments, ${X} ${X === 1 ? "attachment" : "attachments"}` : "Add attachments", [ce, { results: Z, doneAll: Q }] = r({ onUploadProgress: () => !I && L(!0) }), $ = (e) => {
|
|
14
|
+
(q ? oe : M)?.(e);
|
|
15
|
+
};
|
|
16
|
+
l(() => {
|
|
17
|
+
A(x);
|
|
18
|
+
}, [x]), l(() => {
|
|
19
|
+
H && (L(!0), ce(H));
|
|
20
|
+
}, [H]), l(() => {
|
|
21
|
+
(async () => {
|
|
22
|
+
Q && (await E(Z), L(!1));
|
|
23
|
+
})();
|
|
24
|
+
}, [Q, Z]);
|
|
25
|
+
let le = () => {
|
|
26
|
+
$(!1), G(async (e) => {
|
|
27
|
+
K(), $(!0), z(!0), await T(e), z(!1);
|
|
28
|
+
}, {
|
|
29
|
+
multiSelection: !0,
|
|
30
|
+
selectedValueIds: k.map((e) => e.id)
|
|
31
|
+
});
|
|
32
|
+
}, ue = (e) => {
|
|
33
|
+
$(!1), G(async (t) => {
|
|
34
|
+
$(!0), K(), V([...B, e.id]), await C(e, t[0]), V(B.filter((t) => t !== e.id));
|
|
35
|
+
}, {
|
|
36
|
+
multiSelection: !1,
|
|
37
|
+
selectedValueIds: k.map((e) => e.id)
|
|
38
|
+
});
|
|
39
|
+
}, de = async (e, t) => {
|
|
40
|
+
V([...B, e.id]), await w(e, t), V(B.filter((t) => t !== e.id));
|
|
41
|
+
};
|
|
42
|
+
return W || (k?.length ?? 0) > 0 ? /* @__PURE__ */ d("div", {
|
|
43
|
+
"data-test-id": "attachments-flyout-button",
|
|
44
|
+
children: /* @__PURE__ */ d(o.Root, {
|
|
45
|
+
open: J,
|
|
46
|
+
onOpenChange: (e) => $(Y ? !0 : e),
|
|
47
|
+
children: /* @__PURE__ */ f(s.Root, {
|
|
48
|
+
enterDelay: 500,
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ d(s.Trigger, {
|
|
51
|
+
asChild: !0,
|
|
52
|
+
children: /* @__PURE__ */ d(o.Trigger, {
|
|
53
|
+
asChild: !0,
|
|
54
|
+
"data-test-id": "attachments-button-trigger",
|
|
55
|
+
children: /* @__PURE__ */ d(ae, {
|
|
56
|
+
isFlyoutOpen: J,
|
|
57
|
+
"aria-label": se,
|
|
58
|
+
children: /* @__PURE__ */ d("div", {
|
|
59
|
+
"aria-hidden": "true",
|
|
60
|
+
children: X > 0 ? X : "Add"
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
}),
|
|
65
|
+
/* @__PURE__ */ d(o.Content, {
|
|
66
|
+
side: "bottom",
|
|
67
|
+
align: "end",
|
|
68
|
+
width: "300px",
|
|
69
|
+
onEscapeKeyDown: (e) => {
|
|
70
|
+
e.stopPropagation(), $(!1);
|
|
71
|
+
},
|
|
72
|
+
children: /* @__PURE__ */ f("div", {
|
|
73
|
+
className: "tw-w-full",
|
|
74
|
+
"data-test-id": "attachments-flyout-content",
|
|
75
|
+
children: [k.length > 0 && /* @__PURE__ */ d(p, {
|
|
76
|
+
sensors: N,
|
|
77
|
+
collisionDetection: re,
|
|
78
|
+
onDragStart: (e) => {
|
|
79
|
+
let { active: t } = e;
|
|
80
|
+
F(t.id);
|
|
81
|
+
},
|
|
82
|
+
onDragEnd: (e) => {
|
|
83
|
+
let { active: t, over: n } = e;
|
|
84
|
+
if (n && t.id !== n.id && k) {
|
|
85
|
+
let e = k.findIndex((e) => e.id === t.id), r = k.findIndex((e) => e.id === n.id), i = y(k, e, r);
|
|
86
|
+
A(i), ie(i);
|
|
87
|
+
}
|
|
88
|
+
F(void 0);
|
|
89
|
+
},
|
|
90
|
+
modifiers: [_],
|
|
91
|
+
children: /* @__PURE__ */ d(v, {
|
|
92
|
+
items: k,
|
|
93
|
+
strategy: b,
|
|
94
|
+
children: /* @__PURE__ */ d("div", {
|
|
95
|
+
className: "tw-border-b tw-border-b-line tw-relative",
|
|
96
|
+
children: k.map((t) => /* @__PURE__ */ d(e, {
|
|
97
|
+
isEditing: W,
|
|
98
|
+
isLoading: B.includes(t.id),
|
|
99
|
+
item: t,
|
|
100
|
+
onDelete: () => S(t),
|
|
101
|
+
onReplaceWithBrowse: () => ue(t),
|
|
102
|
+
onReplaceWithUpload: (e) => de(t, e),
|
|
103
|
+
onDownload: () => D.dispatch({
|
|
104
|
+
name: "downloadAsset",
|
|
105
|
+
payload: t
|
|
106
|
+
})
|
|
107
|
+
}, t.id))
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
}), W && /* @__PURE__ */ f("div", {
|
|
111
|
+
className: "tw-px-5 tw-py-3",
|
|
112
|
+
"data-test-id": "asset-input-placeholder",
|
|
113
|
+
children: [/* @__PURE__ */ d("div", {
|
|
114
|
+
className: "tw-font-primary tw-font-medium tw-text-primary tw-text-small tw-my-4",
|
|
115
|
+
children: "Add attachments"
|
|
116
|
+
}), I || R ? /* @__PURE__ */ f(a.Root, {
|
|
117
|
+
orientation: "horizontal",
|
|
118
|
+
children: [
|
|
119
|
+
/* @__PURE__ */ d(a.Preview, { children: /* @__PURE__ */ d(a.PreviewLoading, {}) }),
|
|
120
|
+
/* @__PURE__ */ d(a.Title, { children: "Asset" }),
|
|
121
|
+
/* @__PURE__ */ d(a.Metadata, { children: /* @__PURE__ */ d(a.MetadataItem, { children: /* @__PURE__ */ f(ee, {
|
|
122
|
+
align: "center",
|
|
123
|
+
gap: .5,
|
|
124
|
+
children: [d(R ? c : te, { size: 16 }), R ? "Loading" : "Uploading"]
|
|
125
|
+
}) }) })
|
|
126
|
+
]
|
|
127
|
+
}) : /* @__PURE__ */ f(a.Placeholder, { children: [/* @__PURE__ */ d(a.UploadInput, {
|
|
128
|
+
allowMultiple: !0,
|
|
129
|
+
onSelect: (e) => U(e.target.files)
|
|
130
|
+
}), /* @__PURE__ */ d(a.BrowseInput, { onBrowse: le })] })]
|
|
131
|
+
})]
|
|
132
|
+
})
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ d(s.Content, {
|
|
135
|
+
side: "top",
|
|
136
|
+
children: "Attachments"
|
|
137
|
+
})
|
|
138
|
+
]
|
|
139
|
+
})
|
|
140
|
+
})
|
|
141
|
+
}) : null;
|
|
134
142
|
};
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
//# sourceMappingURL=Attachments.es.js.map
|
|
143
|
+
//#endregion
|
|
144
|
+
export { x as Attachments };
|
|
145
|
+
|
|
146
|
+
//# sourceMappingURL=Attachments.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachments.es.js","sources":["../../../src/components/Attachments/Attachments.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n DndContext,\n type DragEndEvent,\n type DragStartEvent,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { restrictToParentElement } from '@dnd-kit/modifiers';\nimport { SortableContext, arrayMove, rectSortingStrategy } from '@dnd-kit/sortable';\nimport { type Asset, useAssetChooser, useAssetUpload, useEditorState } from '@frontify/app-bridge';\nimport { Tooltip, Flyout, AssetInput, Flex } from '@frontify/fondue/components';\nimport { IconArrowCircleUp, IconImageStack } from '@frontify/fondue/icons';\nimport { useEffect, useState } from 'react';\n\nimport { SortableAttachmentItem } from './AttachmentItem';\nimport { AttachmentsButtonTrigger } from './AttachmentsButtonTrigger';\nimport { type AttachmentsProps } from './types';\n\nexport const Attachments = ({\n items = [],\n onDelete,\n onReplaceWithBrowse,\n onReplaceWithUpload,\n onBrowse,\n onUpload,\n onSorted,\n appBridge,\n triggerComponent: TriggerComponent = AttachmentsButtonTrigger,\n isOpen,\n onOpenChange,\n}: AttachmentsProps) => {\n const [internalItems, setInternalItems] = useState<Asset[]>(items);\n const [isFlyoutOpenInternal, setIsFlyoutOpenInternal] = useState(false);\n const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor));\n const [draggedAssetId, setDraggedAssetId] = useState<number | undefined>(undefined);\n const [isUploadLoading, setIsUploadLoading] = useState(false);\n const [isBrowseLoading, setIsBrowseLoading] = useState(false);\n const [assetIdsLoading, setAssetIdsLoading] = useState<number[]>([]);\n const [selectedFiles, setSelectedFiles] = useState<FileList | null>(null);\n const isEditing = useEditorState(appBridge);\n const { openAssetChooser, closeAssetChooser } = useAssetChooser(appBridge);\n const isControllingStateExternally = isOpen !== undefined;\n const isFlyoutOpen = isControllingStateExternally ? isOpen : isFlyoutOpenInternal;\n\n const draggedItem = internalItems?.find((item) => item.id === draggedAssetId);\n\n const [uploadFile, { results: uploadResults, doneAll }] = useAssetUpload({\n onUploadProgress: () => !isUploadLoading && setIsUploadLoading(true),\n });\n\n const handleFlyoutOpenChange = (isOpen: boolean) => {\n const stateSetter = isControllingStateExternally ? onOpenChange : setIsFlyoutOpenInternal;\n\n stateSetter?.(isOpen);\n };\n\n useEffect(() => {\n setInternalItems(items);\n }, [items]);\n\n useEffect(() => {\n if (selectedFiles) {\n setIsUploadLoading(true);\n uploadFile(selectedFiles);\n }\n // oxlint-disable-next-line @eslint-react/exhaustive-deps\n }, [selectedFiles]);\n\n useEffect(() => {\n const uploadDone = async () => {\n if (doneAll) {\n await onUpload(uploadResults);\n setIsUploadLoading(false);\n }\n };\n uploadDone();\n // oxlint-disable-next-line @eslint-react/exhaustive-deps\n }, [doneAll, uploadResults]);\n\n const onOpenAssetChooser = () => {\n handleFlyoutOpenChange(false);\n openAssetChooser(\n // oxlint-disable-next-line typescript/no-misused-promises\n async (result: Asset[]) => {\n closeAssetChooser();\n handleFlyoutOpenChange(true);\n setIsBrowseLoading(true);\n await onBrowse(result);\n setIsBrowseLoading(false);\n },\n {\n multiSelection: true,\n selectedValueIds: internalItems.map((internalItem) => internalItem.id),\n },\n );\n };\n\n const onReplaceItemWithBrowse = (toReplace: Asset) => {\n handleFlyoutOpenChange(false);\n openAssetChooser(\n // oxlint-disable-next-line typescript/no-misused-promises\n async (result: Asset[]) => {\n handleFlyoutOpenChange(true);\n closeAssetChooser();\n setAssetIdsLoading([...assetIdsLoading, toReplace.id]);\n await onReplaceWithBrowse(toReplace, result[0]);\n setAssetIdsLoading(assetIdsLoading.filter((id) => id !== toReplace.id));\n },\n {\n multiSelection: false,\n selectedValueIds: internalItems.map((internalItem) => internalItem.id),\n },\n );\n };\n\n const onReplaceItemWithUpload = async (toReplace: Asset, uploadedAsset: Asset) => {\n setAssetIdsLoading([...assetIdsLoading, toReplace.id]);\n await onReplaceWithUpload(toReplace, uploadedAsset);\n setAssetIdsLoading(assetIdsLoading.filter((id) => id !== toReplace.id));\n };\n\n const handleDragStart = (event: DragStartEvent) => {\n const { active } = event;\n setDraggedAssetId(active.id as number);\n };\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n if (over && active.id !== over.id && internalItems) {\n const oldIndex = internalItems.findIndex((i) => i.id === active.id);\n const newIndex = internalItems.findIndex((i) => i.id === over.id);\n const sortedItems = arrayMove(internalItems, oldIndex, newIndex);\n setInternalItems(sortedItems);\n onSorted(sortedItems);\n }\n setDraggedAssetId(undefined);\n };\n\n const autoFocusModifier = {\n onEscapeKeyDown: (event: Event) => {\n event.stopPropagation();\n handleFlyoutOpenChange(false);\n },\n };\n\n return isEditing || (internalItems?.length ?? 0) > 0 ? (\n <div data-test-id=\"attachments-flyout-button\">\n <Flyout.Root\n open={isFlyoutOpen}\n onOpenChange={(isOpen) => handleFlyoutOpenChange(draggedItem ? true : isOpen)}\n >\n <Tooltip.Root enterDelay={500}>\n <Tooltip.Trigger asChild>\n <Flyout.Trigger asChild data-test-id=\"attachments-button-trigger\">\n <TriggerComponent isFlyoutOpen={isFlyoutOpen}>\n <div>{items.length > 0 ? items.length : 'Add'}</div>\n </TriggerComponent>\n </Flyout.Trigger>\n </Tooltip.Trigger>\n <Flyout.Content side=\"bottom\" align=\"end\" width=\"300px\" {...autoFocusModifier}>\n <div className=\"tw-w-full\" data-test-id=\"attachments-flyout-content\">\n {internalItems.length > 0 && (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n modifiers={[restrictToParentElement]}\n >\n <SortableContext items={internalItems} strategy={rectSortingStrategy}>\n <div className=\"tw-border-b tw-border-b-line tw-relative\">\n {internalItems.map((item) => (\n <SortableAttachmentItem\n isEditing={isEditing}\n isLoading={assetIdsLoading.includes(item.id)}\n key={item.id}\n item={item}\n onDelete={() => onDelete(item)}\n onReplaceWithBrowse={() => onReplaceItemWithBrowse(item)}\n onReplaceWithUpload={(uploadedAsset: Asset) =>\n onReplaceItemWithUpload(item, uploadedAsset)\n }\n onDownload={() =>\n appBridge.dispatch({\n name: 'downloadAsset',\n payload: item,\n })\n }\n />\n ))}\n </div>\n </SortableContext>\n </DndContext>\n )}\n {isEditing && (\n <div className=\"tw-px-5 tw-py-3\" data-test-id=\"asset-input-placeholder\">\n <div className=\"tw-font-primary tw-font-medium tw-text-primary tw-text-small tw-my-4\">\n Add attachments\n </div>\n {isUploadLoading || isBrowseLoading ? (\n <AssetInput.Root orientation=\"horizontal\">\n <AssetInput.Preview>\n <AssetInput.PreviewLoading />\n </AssetInput.Preview>\n <AssetInput.Title>Asset</AssetInput.Title>\n <AssetInput.Metadata>\n <AssetInput.MetadataItem>\n <Flex align=\"center\" gap={0.5}>\n {isBrowseLoading ? (\n <IconImageStack size={16} />\n ) : (\n <IconArrowCircleUp size={16} />\n )}\n {isBrowseLoading ? 'Loading' : 'Uploading'}\n </Flex>\n </AssetInput.MetadataItem>\n </AssetInput.Metadata>\n </AssetInput.Root>\n ) : (\n <AssetInput.Placeholder>\n <AssetInput.UploadInput\n allowMultiple\n onSelect={(event) => setSelectedFiles(event.target.files)}\n />\n <AssetInput.BrowseInput onBrowse={onOpenAssetChooser} />\n </AssetInput.Placeholder>\n )}\n </div>\n )}\n </div>\n </Flyout.Content>\n <Tooltip.Content side=\"top\">Attachments</Tooltip.Content>\n </Tooltip.Root>\n </Flyout.Root>\n </div>\n ) : null;\n};\n"],"names":["Attachments","items","onDelete","onReplaceWithBrowse","onReplaceWithUpload","onBrowse","onUpload","onSorted","appBridge","TriggerComponent","AttachmentsButtonTrigger","isOpen","onOpenChange","internalItems","setInternalItems","useState","isFlyoutOpenInternal","setIsFlyoutOpenInternal","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","draggedAssetId","setDraggedAssetId","isUploadLoading","setIsUploadLoading","isBrowseLoading","setIsBrowseLoading","assetIdsLoading","setAssetIdsLoading","selectedFiles","setSelectedFiles","isEditing","useEditorState","openAssetChooser","closeAssetChooser","useAssetChooser","isControllingStateExternally","isFlyoutOpen","draggedItem","item","uploadFile","uploadResults","doneAll","useAssetUpload","handleFlyoutOpenChange","useEffect","onOpenAssetChooser","result","internalItem","onReplaceItemWithBrowse","toReplace","id","onReplaceItemWithUpload","uploadedAsset","handleDragStart","event","active","handleDragEnd","over","oldIndex","i","newIndex","sortedItems","arrayMove","autoFocusModifier","jsx","Flyout","jsxs","Tooltip","DndContext","closestCenter","restrictToParentElement","SortableContext","rectSortingStrategy","SortableAttachmentItem","AssetInput","Flex","IconImageStack","IconArrowCircleUp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Attachments.es.js","names":[],"sources":["../../../src/components/Attachments/Attachments.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n DndContext,\n type DragEndEvent,\n type DragStartEvent,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { restrictToParentElement } from '@dnd-kit/modifiers';\nimport { SortableContext, arrayMove, rectSortingStrategy } from '@dnd-kit/sortable';\nimport { type Asset, useAssetChooser, useAssetUpload, useEditorState } from '@frontify/app-bridge';\nimport { Tooltip, Flyout, AssetInput, Flex } from '@frontify/fondue/components';\nimport { IconArrowCircleUp, IconImageStack } from '@frontify/fondue/icons';\nimport { useEffect, useState } from 'react';\n\nimport { SortableAttachmentItem } from './AttachmentItem';\nimport { AttachmentsButtonTrigger } from './AttachmentsButtonTrigger';\nimport { type AttachmentsProps } from './types';\n\nexport const Attachments = ({\n items = [],\n onDelete,\n onReplaceWithBrowse,\n onReplaceWithUpload,\n onBrowse,\n onUpload,\n onSorted,\n appBridge,\n triggerComponent: TriggerComponent = AttachmentsButtonTrigger,\n isOpen,\n onOpenChange,\n}: AttachmentsProps) => {\n const [internalItems, setInternalItems] = useState<Asset[]>(items);\n const [isFlyoutOpenInternal, setIsFlyoutOpenInternal] = useState(false);\n const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor));\n const [draggedAssetId, setDraggedAssetId] = useState<number | undefined>(undefined);\n const [isUploadLoading, setIsUploadLoading] = useState(false);\n const [isBrowseLoading, setIsBrowseLoading] = useState(false);\n const [assetIdsLoading, setAssetIdsLoading] = useState<number[]>([]);\n const [selectedFiles, setSelectedFiles] = useState<FileList | null>(null);\n const isEditing = useEditorState(appBridge);\n const { openAssetChooser, closeAssetChooser } = useAssetChooser(appBridge);\n const isControllingStateExternally = isOpen !== undefined;\n const isFlyoutOpen = isControllingStateExternally ? isOpen : isFlyoutOpenInternal;\n\n const draggedItem = internalItems?.find((item) => item.id === draggedAssetId);\n\n const attachmentCount = items.length;\n const triggerLabel =\n attachmentCount > 0\n ? `Open attachments, ${attachmentCount} ${attachmentCount === 1 ? 'attachment' : 'attachments'}`\n : 'Add attachments';\n\n const [uploadFile, { results: uploadResults, doneAll }] = useAssetUpload({\n onUploadProgress: () => !isUploadLoading && setIsUploadLoading(true),\n });\n\n const handleFlyoutOpenChange = (isOpen: boolean) => {\n const stateSetter = isControllingStateExternally ? onOpenChange : setIsFlyoutOpenInternal;\n\n stateSetter?.(isOpen);\n };\n\n useEffect(() => {\n setInternalItems(items);\n }, [items]);\n\n useEffect(() => {\n if (selectedFiles) {\n setIsUploadLoading(true);\n uploadFile(selectedFiles);\n }\n // oxlint-disable-next-line @eslint-react/exhaustive-deps\n }, [selectedFiles]);\n\n useEffect(() => {\n const uploadDone = async () => {\n if (doneAll) {\n await onUpload(uploadResults);\n setIsUploadLoading(false);\n }\n };\n uploadDone();\n // oxlint-disable-next-line @eslint-react/exhaustive-deps\n }, [doneAll, uploadResults]);\n\n const onOpenAssetChooser = () => {\n handleFlyoutOpenChange(false);\n openAssetChooser(\n // oxlint-disable-next-line typescript/no-misused-promises\n async (result: Asset[]) => {\n closeAssetChooser();\n handleFlyoutOpenChange(true);\n setIsBrowseLoading(true);\n await onBrowse(result);\n setIsBrowseLoading(false);\n },\n {\n multiSelection: true,\n selectedValueIds: internalItems.map((internalItem) => internalItem.id),\n },\n );\n };\n\n const onReplaceItemWithBrowse = (toReplace: Asset) => {\n handleFlyoutOpenChange(false);\n openAssetChooser(\n // oxlint-disable-next-line typescript/no-misused-promises\n async (result: Asset[]) => {\n handleFlyoutOpenChange(true);\n closeAssetChooser();\n setAssetIdsLoading([...assetIdsLoading, toReplace.id]);\n await onReplaceWithBrowse(toReplace, result[0]);\n setAssetIdsLoading(assetIdsLoading.filter((id) => id !== toReplace.id));\n },\n {\n multiSelection: false,\n selectedValueIds: internalItems.map((internalItem) => internalItem.id),\n },\n );\n };\n\n const onReplaceItemWithUpload = async (toReplace: Asset, uploadedAsset: Asset) => {\n setAssetIdsLoading([...assetIdsLoading, toReplace.id]);\n await onReplaceWithUpload(toReplace, uploadedAsset);\n setAssetIdsLoading(assetIdsLoading.filter((id) => id !== toReplace.id));\n };\n\n const handleDragStart = (event: DragStartEvent) => {\n const { active } = event;\n setDraggedAssetId(active.id as number);\n };\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n if (over && active.id !== over.id && internalItems) {\n const oldIndex = internalItems.findIndex((i) => i.id === active.id);\n const newIndex = internalItems.findIndex((i) => i.id === over.id);\n const sortedItems = arrayMove(internalItems, oldIndex, newIndex);\n setInternalItems(sortedItems);\n onSorted(sortedItems);\n }\n setDraggedAssetId(undefined);\n };\n\n const autoFocusModifier = {\n onEscapeKeyDown: (event: Event) => {\n event.stopPropagation();\n handleFlyoutOpenChange(false);\n },\n };\n\n return isEditing || (internalItems?.length ?? 0) > 0 ? (\n <div data-test-id=\"attachments-flyout-button\">\n <Flyout.Root\n open={isFlyoutOpen}\n onOpenChange={(isOpen) => handleFlyoutOpenChange(draggedItem ? true : isOpen)}\n >\n <Tooltip.Root enterDelay={500}>\n <Tooltip.Trigger asChild>\n <Flyout.Trigger asChild data-test-id=\"attachments-button-trigger\">\n <TriggerComponent isFlyoutOpen={isFlyoutOpen} aria-label={triggerLabel}>\n <div aria-hidden=\"true\">{attachmentCount > 0 ? attachmentCount : 'Add'}</div>\n </TriggerComponent>\n </Flyout.Trigger>\n </Tooltip.Trigger>\n <Flyout.Content side=\"bottom\" align=\"end\" width=\"300px\" {...autoFocusModifier}>\n <div className=\"tw-w-full\" data-test-id=\"attachments-flyout-content\">\n {internalItems.length > 0 && (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n modifiers={[restrictToParentElement]}\n >\n <SortableContext items={internalItems} strategy={rectSortingStrategy}>\n <div className=\"tw-border-b tw-border-b-line tw-relative\">\n {internalItems.map((item) => (\n <SortableAttachmentItem\n isEditing={isEditing}\n isLoading={assetIdsLoading.includes(item.id)}\n key={item.id}\n item={item}\n onDelete={() => onDelete(item)}\n onReplaceWithBrowse={() => onReplaceItemWithBrowse(item)}\n onReplaceWithUpload={(uploadedAsset: Asset) =>\n onReplaceItemWithUpload(item, uploadedAsset)\n }\n onDownload={() =>\n appBridge.dispatch({\n name: 'downloadAsset',\n payload: item,\n })\n }\n />\n ))}\n </div>\n </SortableContext>\n </DndContext>\n )}\n {isEditing && (\n <div className=\"tw-px-5 tw-py-3\" data-test-id=\"asset-input-placeholder\">\n <div className=\"tw-font-primary tw-font-medium tw-text-primary tw-text-small tw-my-4\">\n Add attachments\n </div>\n {isUploadLoading || isBrowseLoading ? (\n <AssetInput.Root orientation=\"horizontal\">\n <AssetInput.Preview>\n <AssetInput.PreviewLoading />\n </AssetInput.Preview>\n <AssetInput.Title>Asset</AssetInput.Title>\n <AssetInput.Metadata>\n <AssetInput.MetadataItem>\n <Flex align=\"center\" gap={0.5}>\n {isBrowseLoading ? (\n <IconImageStack size={16} />\n ) : (\n <IconArrowCircleUp size={16} />\n )}\n {isBrowseLoading ? 'Loading' : 'Uploading'}\n </Flex>\n </AssetInput.MetadataItem>\n </AssetInput.Metadata>\n </AssetInput.Root>\n ) : (\n <AssetInput.Placeholder>\n <AssetInput.UploadInput\n allowMultiple\n onSelect={(event) => setSelectedFiles(event.target.files)}\n />\n <AssetInput.BrowseInput onBrowse={onOpenAssetChooser} />\n </AssetInput.Placeholder>\n )}\n </div>\n )}\n </div>\n </Flyout.Content>\n <Tooltip.Content side=\"top\">Attachments</Tooltip.Content>\n </Tooltip.Root>\n </Flyout.Root>\n </div>\n ) : null;\n};\n"],"mappings":"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"}
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
c as AttachmentsButtonTrigger
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=AttachmentsButtonTrigger.es.js.map
|
|
1
|
+
import { Button as e } from "@frontify/fondue/components";
|
|
2
|
+
import { IconCaretDown as t, IconPaperclip as n } from "@frontify/fondue/icons";
|
|
3
|
+
import { forwardRef as r } from "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/Attachments/AttachmentsButtonTrigger.tsx
|
|
6
|
+
var o = r(({ children: r, ...o }, s) => /* @__PURE__ */ a(e, {
|
|
7
|
+
ref: s,
|
|
8
|
+
size: "small",
|
|
9
|
+
rounding: "full",
|
|
10
|
+
emphasis: "default",
|
|
11
|
+
"data-test-id": "attachments-button-trigger",
|
|
12
|
+
className: "tw-body-medium",
|
|
13
|
+
...o,
|
|
14
|
+
"aria-haspopup": "menu",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ i(n, { size: "16" }),
|
|
17
|
+
r,
|
|
18
|
+
/* @__PURE__ */ i(t, { size: "12" })
|
|
19
|
+
]
|
|
20
|
+
}));
|
|
21
|
+
o.displayName = "AttachmentsButtonTrigger";
|
|
22
|
+
//#endregion
|
|
23
|
+
export { o as AttachmentsButtonTrigger };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=AttachmentsButtonTrigger.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentsButtonTrigger.es.js","sources":["../../../src/components/Attachments/AttachmentsButtonTrigger.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Button } from '@frontify/fondue/components';\nimport { IconCaretDown, IconPaperclip } from '@frontify/fondue/icons';\nimport { forwardRef } from 'react';\n\nimport { type AttachmentsTriggerProps } from './types';\n\nexport const AttachmentsButtonTrigger = forwardRef<HTMLButtonElement, AttachmentsTriggerProps>(\n ({ children, ...props }, ref) => (\n <Button\n ref={ref}\n size=\"small\"\n rounding=\"full\"\n emphasis=\"default\"\n data-test-id=\"attachments-button-trigger\"\n className=\"tw-body-medium\"\n {...props}\n >\n <IconPaperclip size=\"16\" />\n {children}\n <IconCaretDown size=\"12\" />\n </Button>\n ),\n);\n\nAttachmentsButtonTrigger.displayName = 'AttachmentsButtonTrigger';\n"],"
|
|
1
|
+
{"version":3,"file":"AttachmentsButtonTrigger.es.js","names":[],"sources":["../../../src/components/Attachments/AttachmentsButtonTrigger.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Button } from '@frontify/fondue/components';\nimport { IconCaretDown, IconPaperclip } from '@frontify/fondue/icons';\nimport { forwardRef } from 'react';\n\nimport { type AttachmentsTriggerProps } from './types';\n\nexport const AttachmentsButtonTrigger = forwardRef<HTMLButtonElement, AttachmentsTriggerProps>(\n ({ children, ...props }, ref) => (\n <Button\n ref={ref}\n size=\"small\"\n rounding=\"full\"\n emphasis=\"default\"\n data-test-id=\"attachments-button-trigger\"\n className=\"tw-body-medium\"\n {...props}\n aria-haspopup=\"menu\"\n >\n <IconPaperclip size=\"16\" />\n {children}\n <IconCaretDown size=\"12\" />\n </Button>\n ),\n);\n\nAttachmentsButtonTrigger.displayName = 'AttachmentsButtonTrigger';\n"],"mappings":";;;;;AAQA,IAAa,IAA2B,GACnC,EAAE,aAAU,GAAG,KAAS,MACrB,kBAAC,GAAD;CACS;CACL,MAAK;CACL,UAAS;CACT,UAAS;CACT,gBAAa;CACb,WAAU;CACV,GAAI;CACJ,iBAAc;CARlB,UAAA;EAUI,kBAAC,GAAD,EAAe,MAAK,KAAM,CAAA;EACzB;EACD,kBAAC,GAAD,EAAe,MAAK,KAAM,CAAA;CACtB;AAEhB,CAAA,CAAA;AAEA,EAAyB,cAAc"}
|