@frontify/guideline-blocks-settings 0.34.10 → 0.34.12
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/components/Attachments/AttachmentItem.es.js +21 -21
- package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
- package/dist/components/Attachments/Attachments.es.js +1 -1
- package/dist/components/Attachments/Attachments.es.js.map +1 -1
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js +20 -23
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js +5 -5
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/BaseToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js +6 -6
- package/dist/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js +9 -9
- package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js +4 -4
- package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/Toolbar.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js +5 -5
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.es.js.map +1 -1
- package/dist/components/DownloadButton/DownloadButton.es.js +7 -7
- package/dist/components/DownloadButton/DownloadButton.es.js.map +1 -1
- package/dist/components/Link/LinkInput.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/DocumentLink.es.js +7 -7
- package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js +4 -4
- package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +56 -53
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/PageLink.es.js +4 -4
- package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/PageLinks.es.js +4 -4
- package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
- package/dist/components/Link/utils/getUrl.es.js.map +1 -1
- package/dist/components/Link/utils/url.es.js.map +1 -1
- package/dist/components/RichTextEditor/RichTextEditor.es.js +9 -9
- package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
- package/dist/components/RichTextEditor/SerializedText.es.js +5 -5
- package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
- package/dist/components/RichTextEditor/pluginPresets/defaultPluginsWithLinkChooser.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +6 -6
- 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.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/InsertButtonModal.es.js +1 -1
- 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 +9 -9
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/styles.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
- 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 +8 -8
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +8 -8
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/helpers.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
- package/dist/helpers/customCoordinatesGetterFactory.es.js.map +1 -1
- package/dist/helpers/mapColorPalettes.es.js.map +1 -1
- package/dist/hooks/useAttachments.es.js.map +1 -1
- package/dist/hooks/useDndSensors.es.js.map +1 -1
- package/dist/hooks/useIsInViewport.es.js.map +1 -1
- package/dist/index.cjs.js +3 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +34 -34
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/dist/settings/background.es.js.map +1 -1
- package/dist/settings/border.es.js.map +1 -1
- package/dist/settings/borderRadius.es.js.map +1 -1
- package/dist/settings/borderRadiusExtended.es.js.map +1 -1
- package/dist/settings/gutter.es.js.map +1 -1
- package/dist/settings/margin.es.js.map +1 -1
- package/dist/settings/marginExtended.es.js.map +1 -1
- package/dist/settings/padding.es.js.map +1 -1
- package/dist/settings/paddingExtended.es.js.map +1 -1
- package/dist/settings/securityDownloadable.es.js.map +1 -1
- package/dist/settings/securityGlobalControl.es.js +1 -1
- package/dist/settings/securityGlobalControl.es.js.map +1 -1
- package/dist/settings/types.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/color/getReadableColor.es.js.map +1 -1
- package/dist/utilities/color/isDark.es.js.map +1 -1
- package/dist/utilities/color/toColorObject.es.js.map +1 -1
- package/dist/utilities/color/toHex8String.es.js.map +1 -1
- package/dist/utilities/color/toHexString.es.js.map +1 -1
- package/dist/utilities/color/toRgbaString.es.js.map +1 -1
- package/dist/utilities/color/toShortRgba.es.js.map +1 -1
- package/dist/utilities/react/getBackgroundColorStyles.es.js.map +1 -1
- package/dist/utilities/react/getBorderStyles.es.js +4 -4
- package/dist/utilities/react/getBorderStyles.es.js.map +1 -1
- package/dist/utilities/react/getRadiusStyles.es.js.map +1 -1
- package/package.json +28 -28
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { DEFAULT_DRAGGING_TOOLTIP as a, DEFAULT_DRAG_TOOLTIP as l } from "../../constants.es.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { BaseToolbarButton as m } from "../BaseToolbarButton.es.js";
|
|
4
|
+
import { ToolbarButtonTooltip as c } from "../ToolbarButtonTooltip.es.js";
|
|
5
|
+
import { useDragPreviewContext as p } from "../context/DragPreviewContext.es.js";
|
|
6
6
|
const D = ({
|
|
7
7
|
tooltip: t,
|
|
8
8
|
icon: e,
|
|
9
9
|
setActivatorNodeRef: i,
|
|
10
10
|
draggableProps: n
|
|
11
11
|
}) => {
|
|
12
|
-
const o =
|
|
12
|
+
const o = p();
|
|
13
13
|
return /* @__PURE__ */ r(
|
|
14
|
-
|
|
14
|
+
c,
|
|
15
15
|
{
|
|
16
16
|
open: o,
|
|
17
17
|
content: /* @__PURE__ */ r("div", { children: o ? a : t ?? l }),
|
|
18
18
|
children: /* @__PURE__ */ r(
|
|
19
|
-
|
|
19
|
+
m,
|
|
20
20
|
{
|
|
21
21
|
ref: i,
|
|
22
22
|
"data-test-id": "block-item-wrapper-toolbar-btn",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragHandleToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ReactNode } from 'react';\nimport { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from '../../constants';\nimport {
|
|
1
|
+
{"version":3,"file":"DragHandleToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactNode } from 'react';\n\nimport { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from '../../constants';\nimport { BaseToolbarButton } from '../BaseToolbarButton';\nimport { ToolbarButtonTooltip } from '../ToolbarButtonTooltip';\nimport { useDragPreviewContext } from '../context/DragPreviewContext';\n\nexport type DragHandleToolbarButtonProps = {\n icon?: ReactNode;\n tooltip?: string;\n draggableProps: Record<string, unknown>;\n setActivatorNodeRef?: (node: HTMLElement | null) => void;\n};\n\nexport const DragHandleToolbarButton = ({\n tooltip,\n icon,\n setActivatorNodeRef,\n draggableProps,\n}: DragHandleToolbarButtonProps) => {\n const isDragPreview = useDragPreviewContext();\n\n return (\n <ToolbarButtonTooltip\n open={isDragPreview}\n content={<div>{isDragPreview ? DEFAULT_DRAGGING_TOOLTIP : tooltip ?? DEFAULT_DRAG_TOOLTIP}</div>}\n >\n <BaseToolbarButton\n ref={setActivatorNodeRef}\n data-test-id=\"block-item-wrapper-toolbar-btn\"\n forceActiveStyle={isDragPreview}\n cursor=\"grab\"\n {...draggableProps}\n >\n {icon}\n </BaseToolbarButton>\n </ToolbarButtonTooltip>\n );\n};\n"],"names":["DragHandleToolbarButton","tooltip","icon","setActivatorNodeRef","draggableProps","isDragPreview","useDragPreviewContext","jsx","ToolbarButtonTooltip","DEFAULT_DRAGGING_TOOLTIP","DEFAULT_DRAG_TOOLTIP","BaseToolbarButton"],"mappings":";;;;;AAgBO,MAAMA,IAA0B,CAAC;AAAA,EACpC,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,gBAAAC;AACJ,MAAoC;AAChC,QAAMC,IAAgBC;AAGlB,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,MAAMH;AAAA,MACN,SAAU,gBAAAE,EAAA,OAAA,EAAK,UAAgBF,IAAAI,IAA2BR,KAAWS,GAAqB;AAAA,MAE1F,UAAA,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACG,KAAKR;AAAA,UACL,gBAAa;AAAA,UACb,kBAAkBE;AAAA,UAClB,QAAO;AAAA,UACN,GAAGD;AAAA,UAEH,UAAAF;AAAA,QAAA;AAAA,MACL;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
|
package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useMemoizedId as u, Flyout as p, FlyoutPlacement as h } from "@frontify/fondue";
|
|
3
|
+
import { BaseToolbarButton as g } from "../BaseToolbarButton.es.js";
|
|
4
|
+
import { ToolbarButtonTooltip as w } from "../ToolbarButtonTooltip.es.js";
|
|
5
|
+
import { useDragPreviewContext as x } from "../context/DragPreviewContext.es.js";
|
|
6
6
|
import { useMultiFlyoutState as y } from "../hooks/useMultiFlyoutState.es.js";
|
|
7
7
|
const O = ({
|
|
8
8
|
content: r,
|
|
@@ -12,9 +12,9 @@ const O = ({
|
|
|
12
12
|
flyoutFooter: a,
|
|
13
13
|
flyoutHeader: s
|
|
14
14
|
}) => {
|
|
15
|
-
const m =
|
|
16
|
-
return /* @__PURE__ */ t(
|
|
17
|
-
|
|
15
|
+
const m = u(n), { isOpen: e, onOpenChange: f } = y(m), o = x();
|
|
16
|
+
return /* @__PURE__ */ t(w, { disabled: o || e, content: l, children: /* @__PURE__ */ t("div", { className: "tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative", children: /* @__PURE__ */ t(
|
|
17
|
+
p,
|
|
18
18
|
{
|
|
19
19
|
isOpen: e && !o,
|
|
20
20
|
legacyFooter: !1,
|
|
@@ -22,10 +22,10 @@ const O = ({
|
|
|
22
22
|
fixedHeader: s,
|
|
23
23
|
fitContent: !0,
|
|
24
24
|
hug: !1,
|
|
25
|
-
placement:
|
|
25
|
+
placement: h.BottomRight,
|
|
26
26
|
onOpenChange: f,
|
|
27
27
|
trigger: (c, d) => /* @__PURE__ */ t(
|
|
28
|
-
|
|
28
|
+
g,
|
|
29
29
|
{
|
|
30
30
|
"data-test-id": "block-item-wrapper-toolbar-flyout",
|
|
31
31
|
forceActiveStyle: e && !o,
|
package/dist/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlyoutToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {
|
|
1
|
+
{"version":3,"file":"FlyoutToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Flyout, FlyoutPlacement, useMemoizedId } from '@frontify/fondue';\nimport { type MutableRefObject, type ReactNode } from 'react';\n\nimport { BaseToolbarButton } from '../BaseToolbarButton';\nimport { ToolbarButtonTooltip } from '../ToolbarButtonTooltip';\nimport { useDragPreviewContext } from '../context/DragPreviewContext';\nimport { useMultiFlyoutState } from '../hooks/useMultiFlyoutState';\n\nexport type FlyoutToolbarButtonProps = {\n content: ReactNode;\n icon: ReactNode;\n tooltip: ReactNode;\n flyoutId: string;\n flyoutFooter?: ReactNode;\n flyoutHeader?: ReactNode;\n};\n\nexport const FlyoutToolbarButton = ({\n content,\n icon,\n tooltip,\n flyoutId,\n flyoutFooter,\n flyoutHeader,\n}: FlyoutToolbarButtonProps) => {\n const id = useMemoizedId(flyoutId);\n\n const { isOpen, onOpenChange } = useMultiFlyoutState(id);\n\n const isDragPreview = useDragPreviewContext();\n\n return (\n <ToolbarButtonTooltip disabled={isDragPreview || isOpen} content={tooltip}>\n <div className=\"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative\">\n <Flyout\n isOpen={isOpen && !isDragPreview}\n legacyFooter={false}\n fixedFooter={flyoutFooter}\n fixedHeader={flyoutHeader}\n fitContent\n hug={false}\n placement={FlyoutPlacement.BottomRight}\n onOpenChange={onOpenChange}\n trigger={(triggerProps, triggerRef) => (\n <BaseToolbarButton\n data-test-id=\"block-item-wrapper-toolbar-flyout\"\n forceActiveStyle={isOpen && !isDragPreview}\n {...triggerProps}\n ref={triggerRef as MutableRefObject<HTMLButtonElement>}\n >\n {icon}\n </BaseToolbarButton>\n )}\n >\n {content}\n </Flyout>\n </div>\n </ToolbarButtonTooltip>\n );\n};\n"],"names":["FlyoutToolbarButton","content","icon","tooltip","flyoutId","flyoutFooter","flyoutHeader","id","useMemoizedId","isOpen","onOpenChange","useMultiFlyoutState","isDragPreview","useDragPreviewContext","jsx","ToolbarButtonTooltip","Flyout","FlyoutPlacement","triggerProps","triggerRef","BaseToolbarButton"],"mappings":";;;;;;AAmBO,MAAMA,IAAsB,CAAC;AAAA,EAChC,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AACJ,MAAgC;AACtB,QAAAC,IAAKC,EAAcJ,CAAQ,GAE3B,EAAE,QAAAK,GAAQ,cAAAC,EAAa,IAAIC,EAAoBJ,CAAE,GAEjDK,IAAgBC;AAGlB,SAAA,gBAAAC,EAACC,GAAqB,EAAA,UAAUH,KAAiBH,GAAQ,SAASN,GAC9D,UAAA,gBAAAW,EAAC,OAAI,EAAA,WAAU,yDACX,UAAA,gBAAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACG,QAAQP,KAAU,CAACG;AAAA,MACnB,cAAc;AAAA,MACd,aAAaP;AAAA,MACb,aAAaC;AAAA,MACb,YAAU;AAAA,MACV,KAAK;AAAA,MACL,WAAWW,EAAgB;AAAA,MAC3B,cAAAP;AAAA,MACA,SAAS,CAACQ,GAAcC,MACpB,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACG,gBAAa;AAAA,UACb,kBAAkBX,KAAU,CAACG;AAAA,UAC5B,GAAGM;AAAA,UACJ,KAAKC;AAAA,UAEJ,UAAAjB;AAAA,QAAA;AAAA,MACL;AAAA,MAGH,UAAAD;AAAA,IAAA;AAAA,EAAA,EAET,CAAA,EACJ,CAAA;AAER;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { useMemoizedId as m, IconDotsHorizontal16 as e } from "@frontify/fondue";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { FlyoutToolbarButton as i } from "../FlyoutToolbarButton/FlyoutToolbarButton.es.js";
|
|
4
|
+
import { ToolbarFlyoutMenu as l } from "./ToolbarFlyoutMenu.es.js";
|
|
5
5
|
const s = "menu", d = ({
|
|
6
6
|
items: n,
|
|
7
7
|
flyoutId: r = s,
|
|
@@ -9,12 +9,12 @@ const s = "menu", d = ({
|
|
|
9
9
|
}) => {
|
|
10
10
|
const t = m(r);
|
|
11
11
|
return /* @__PURE__ */ o(
|
|
12
|
-
|
|
12
|
+
i,
|
|
13
13
|
{
|
|
14
14
|
icon: /* @__PURE__ */ o(e, {}),
|
|
15
15
|
tooltip: u,
|
|
16
16
|
flyoutId: t,
|
|
17
|
-
content: /* @__PURE__ */ o(
|
|
17
|
+
content: /* @__PURE__ */ o(l, { items: n, flyoutId: t })
|
|
18
18
|
}
|
|
19
19
|
);
|
|
20
20
|
};
|
package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconDotsHorizontal16, useMemoizedId } from '@frontify/fondue';\nimport {
|
|
1
|
+
{"version":3,"file":"MenuToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconDotsHorizontal16, useMemoizedId } from '@frontify/fondue';\n\nimport { FlyoutToolbarButton } from '../FlyoutToolbarButton/FlyoutToolbarButton';\n\nimport { ToolbarFlyoutMenu, type ToolbarFlyoutMenuItem } from './ToolbarFlyoutMenu';\n\nexport const DEFAULT_MENU_BUTTON_ID = 'menu';\n\nexport type MenuToolbarButtonProps = {\n items: ToolbarFlyoutMenuItem[][];\n flyoutId?: string;\n tooltip?: string;\n};\n\nexport const MenuToolbarButton = ({\n items,\n flyoutId = DEFAULT_MENU_BUTTON_ID,\n tooltip = 'Options',\n}: MenuToolbarButtonProps) => {\n const id = useMemoizedId(flyoutId);\n\n return (\n <FlyoutToolbarButton\n icon={<IconDotsHorizontal16 />}\n tooltip={tooltip}\n flyoutId={id}\n content={<ToolbarFlyoutMenu items={items} flyoutId={id} />}\n />\n );\n};\n"],"names":["DEFAULT_MENU_BUTTON_ID","MenuToolbarButton","items","flyoutId","tooltip","id","useMemoizedId","jsx","FlyoutToolbarButton","IconDotsHorizontal16","ToolbarFlyoutMenu"],"mappings":";;;;AAQO,MAAMA,IAAyB,QAQzBC,IAAoB,CAAC;AAAA,EAC9B,OAAAC;AAAA,EACA,UAAAC,IAAWH;AAAA,EACX,SAAAI,IAAU;AACd,MAA8B;AACpB,QAAAC,IAAKC,EAAcH,CAAQ;AAG7B,SAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,wBAAOC,GAAqB,EAAA;AAAA,MAC5B,SAAAL;AAAA,MACA,UAAUC;AAAA,MACV,SAAS,gBAAAE,EAACG,GAAkB,EAAA,OAAAR,GAAc,UAAUG,GAAI;AAAA,IAAA;AAAA,EAAA;AAGpE;"}
|
package/dist/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarFlyoutMenu.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ActionMenu, MenuItemContentSize, MenuItemStyle } from '@frontify/fondue';\nimport { useMultiFlyoutState } from '../hooks/useMultiFlyoutState';\n\nexport type ToolbarFlyoutMenuItem = {\n title: string;\n onClick: () => void;\n icon: JSX.Element;\n style?: MenuItemStyle;\n};\n\nexport type ToolbarFlyoutMenuProps = {\n items: ToolbarFlyoutMenuItem[][];\n flyoutId: string;\n};\n\nexport const ToolbarFlyoutMenu = ({ items, flyoutId }: ToolbarFlyoutMenuProps) => {\n const { onOpenChange } = useMultiFlyoutState(flyoutId);\n\n return (\n <ActionMenu\n menuBlocks={items.map((block, blockIndex) => ({\n id: blockIndex.toString(),\n menuItems: block.map((item, itemIndex) => ({\n id: blockIndex.toString() + itemIndex.toString(),\n size: MenuItemContentSize.XSmall,\n title: item.title,\n style: item.style,\n onClick: () => {\n onOpenChange(false);\n item.onClick();\n },\n initialValue: true,\n decorator: <div className=\"tw-mr-2\">{item.icon}</div>,\n })),\n }))}\n />\n );\n};\n"],"names":["ToolbarFlyoutMenu","items","flyoutId","onOpenChange","useMultiFlyoutState","jsx","ActionMenu","block","blockIndex","item","itemIndex","MenuItemContentSize"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ToolbarFlyoutMenu.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ActionMenu, MenuItemContentSize, type MenuItemStyle } from '@frontify/fondue';\n\nimport { useMultiFlyoutState } from '../hooks/useMultiFlyoutState';\n\nexport type ToolbarFlyoutMenuItem = {\n title: string;\n onClick: () => void;\n icon: JSX.Element;\n style?: MenuItemStyle;\n};\n\nexport type ToolbarFlyoutMenuProps = {\n items: ToolbarFlyoutMenuItem[][];\n flyoutId: string;\n};\n\nexport const ToolbarFlyoutMenu = ({ items, flyoutId }: ToolbarFlyoutMenuProps) => {\n const { onOpenChange } = useMultiFlyoutState(flyoutId);\n\n return (\n <ActionMenu\n menuBlocks={items.map((block, blockIndex) => ({\n id: blockIndex.toString(),\n menuItems: block.map((item, itemIndex) => ({\n id: blockIndex.toString() + itemIndex.toString(),\n size: MenuItemContentSize.XSmall,\n title: item.title,\n style: item.style,\n onClick: () => {\n onOpenChange(false);\n item.onClick();\n },\n initialValue: true,\n decorator: <div className=\"tw-mr-2\">{item.icon}</div>,\n })),\n }))}\n />\n );\n};\n"],"names":["ToolbarFlyoutMenu","items","flyoutId","onOpenChange","useMultiFlyoutState","jsx","ActionMenu","block","blockIndex","item","itemIndex","MenuItemContentSize"],"mappings":";;;AAkBO,MAAMA,IAAoB,CAAC,EAAE,OAAAC,GAAO,UAAAC,QAAuC;AAC9E,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAoBF,CAAQ;AAGjD,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,YAAYL,EAAM,IAAI,CAACM,GAAOC,OAAgB;AAAA,QAC1C,IAAIA,EAAW,SAAS;AAAA,QACxB,WAAWD,EAAM,IAAI,CAACE,GAAMC,OAAe;AAAA,UACvC,IAAIF,EAAW,aAAaE,EAAU,SAAS;AAAA,UAC/C,MAAMC,EAAoB;AAAA,UAC1B,OAAOF,EAAK;AAAA,UACZ,OAAOA,EAAK;AAAA,UACZ,SAAS,MAAM;AACX,YAAAN,EAAa,EAAK,GAClBM,EAAK,QAAQ;AAAA,UACjB;AAAA,UACA,cAAc;AAAA,UACd,WAAY,gBAAAJ,EAAA,OAAA,EAAI,WAAU,WAAW,YAAK,MAAK;AAAA,QAAA,EACjD;AAAA,MAAA,EACJ;AAAA,IAAA;AAAA,EAAA;AAGd;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.es.js","sources":["../../../../src/components/BlockItemWrapper/Toolbar/Toolbar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {
|
|
1
|
+
{"version":3,"file":"Toolbar.es.js","sources":["../../../../src/components/BlockItemWrapper/Toolbar/Toolbar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AttachmentsToolbarButton } from './AttachmentsToolbarButton';\nimport { DragHandleToolbarButton } from './DragHandleToolbarButton';\nimport { FlyoutToolbarButton } from './FlyoutToolbarButton';\nimport { MenuToolbarButton } from './MenuToolbarButton';\nimport { ToolbarButton } from './ToolbarButton';\nimport { ToolbarSegment } from './ToolbarSegment';\nimport { type ToolbarProps } from './types';\n\nexport const Toolbar = ({ items, attachments }: ToolbarProps) => (\n <div\n data-test-id=\"block-item-wrapper-toolbar\"\n className=\"tw-rounded-md tw-bg-base tw-border tw-border-line-strong tw-divide-x tw-divide-line-strong tw-shadow-lg tw-flex tw-flex-none tw-items-center tw-isolate\"\n >\n {attachments.isEnabled && (\n <ToolbarSegment>\n <AttachmentsToolbarButton />\n </ToolbarSegment>\n )}\n {items.length > 0 && (\n <ToolbarSegment>\n {items.map((item) => {\n switch (item.type) {\n case 'dragHandle':\n return <DragHandleToolbarButton key={item.tooltip + item.type} {...item} />;\n case 'menu':\n return <MenuToolbarButton key={item.tooltip + item.type} {...item} />;\n case 'flyout':\n return <FlyoutToolbarButton key={item.tooltip + item.type} {...item} />;\n default:\n return <ToolbarButton key={item.tooltip + item.type} {...item} />;\n }\n })}\n </ToolbarSegment>\n )}\n </div>\n);\n"],"names":["Toolbar","items","attachments","jsxs","jsx","ToolbarSegment","AttachmentsToolbarButton","item","DragHandleToolbarButton","MenuToolbarButton","FlyoutToolbarButton","ToolbarButton"],"mappings":";;;;;;;AAUO,MAAMA,IAAU,CAAC,EAAE,OAAAC,GAAO,aAAAC,EAC7B,MAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,gBAAa;AAAA,IACb,WAAU;AAAA,IAET,UAAA;AAAA,MAAAD,EAAY,aACT,gBAAAE,EAACC,GACG,EAAA,UAAA,gBAAAD,EAACE,IAAyB,CAAA,GAC9B;AAAA,MAEHL,EAAM,SAAS,KACZ,gBAAAG,EAACC,KACI,UAAMJ,EAAA,IAAI,CAACM,MAAS;AACjB,gBAAQA,EAAK,MAAM;AAAA,UACf,KAAK;AACD,qCAAQC,GAAwD,EAAA,GAAGD,KAA9BA,EAAK,UAAUA,EAAK,IAAgB;AAAA,UAC7E,KAAK;AACD,qCAAQE,GAAkD,EAAA,GAAGF,KAA9BA,EAAK,UAAUA,EAAK,IAAgB;AAAA,UACvE,KAAK;AACD,qCAAQG,GAAoD,EAAA,GAAGH,KAA9BA,EAAK,UAAUA,EAAK,IAAgB;AAAA,UACzE;AACI,qCAAQI,GAA8C,EAAA,GAAGJ,KAA9BA,EAAK,UAAUA,EAAK,IAAgB;AAAA,QACvE;AAAA,MACH,CAAA,GACL;AAAA,IAAA;AAAA,EAAA;AAER;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { BaseToolbarButton as n } from "../BaseToolbarButton.es.js";
|
|
3
|
+
import { ToolbarButtonTooltip as a } from "../ToolbarButtonTooltip.es.js";
|
|
4
|
+
import { useDragPreviewContext as l } from "../context/DragPreviewContext.es.js";
|
|
5
5
|
const c = ({ tooltip: t, icon: r, onClick: e }) => {
|
|
6
|
-
const i =
|
|
7
|
-
return /* @__PURE__ */ o(
|
|
6
|
+
const i = l();
|
|
7
|
+
return /* @__PURE__ */ o(a, { disabled: i, content: t ?? "", children: /* @__PURE__ */ o(n, { "data-test-id": "block-item-wrapper-toolbar-btn", onClick: e, children: r }) });
|
|
8
8
|
};
|
|
9
9
|
export {
|
|
10
10
|
c as ToolbarButton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {
|
|
1
|
+
{"version":3,"file":"ToolbarButton.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { BaseToolbarButton } from '../BaseToolbarButton';\nimport { ToolbarButtonTooltip } from '../ToolbarButtonTooltip';\nimport { useDragPreviewContext } from '../context/DragPreviewContext';\n\nexport type ToolbarButtonProps = { icon: JSX.Element; tooltip?: string; onClick: () => void };\n\nexport const ToolbarButton = ({ tooltip, icon, onClick }: ToolbarButtonProps) => {\n const isDragPreview = useDragPreviewContext();\n\n return (\n <ToolbarButtonTooltip disabled={isDragPreview} content={tooltip ?? ''}>\n <BaseToolbarButton data-test-id=\"block-item-wrapper-toolbar-btn\" onClick={onClick}>\n {icon}\n </BaseToolbarButton>\n </ToolbarButtonTooltip>\n );\n};\n"],"names":["ToolbarButton","tooltip","icon","onClick","isDragPreview","useDragPreviewContext","jsx","ToolbarButtonTooltip","BaseToolbarButton"],"mappings":";;;;AAQO,MAAMA,IAAgB,CAAC,EAAE,SAAAC,GAAS,MAAAC,GAAM,SAAAC,QAAkC;AAC7E,QAAMC,IAAgBC;AAEtB,SACK,gBAAAC,EAAAC,GAAA,EAAqB,UAAUH,GAAe,SAASH,KAAW,IAC/D,UAAA,gBAAAK,EAACE,GAAkB,EAAA,gBAAa,kCAAiC,SAAAL,GAC5D,aACL,EACJ,CAAA;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarButtonTooltip.es.js","sources":["../../../../src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { LegacyTooltip as Tooltip, TooltipPosition } from '@frontify/fondue';\nimport { ReactElement, ReactNode } from 'react';\n\ntype ToolbarButtonTooltipProps = {\n content: ReactNode;\n children: ReactElement;\n open?: boolean;\n disabled?: boolean;\n};\n\nexport const ToolbarButtonTooltip = ({ open, content, children, disabled }: ToolbarButtonTooltipProps) => (\n <Tooltip\n withArrow\n hoverDelay={0}\n enterDelay={300}\n open={open}\n disabled={disabled}\n position={TooltipPosition.Top}\n content={<div>{content}</div>}\n triggerElement={children}\n data-test-id=\"toolbar-button-tooltip\"\n />\n);\n"],"names":["ToolbarButtonTooltip","open","content","children","disabled","jsx","Tooltip","TooltipPosition"],"mappings":";;AAYO,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,UAAAC,QAC5D,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACG,WAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAAL;AAAA,IACA,UAAAG;AAAA,IACA,UAAUG,EAAgB;AAAA,IAC1B,SAAU,gBAAAF,EAAA,OAAA,EAAK,UAAQH,EAAA,CAAA;AAAA,IACvB,gBAAgBC;AAAA,IAChB,gBAAa;AAAA,EAAA;AACjB;"}
|
|
1
|
+
{"version":3,"file":"ToolbarButtonTooltip.es.js","sources":["../../../../src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { LegacyTooltip as Tooltip, TooltipPosition } from '@frontify/fondue';\nimport { type ReactElement, type ReactNode } from 'react';\n\ntype ToolbarButtonTooltipProps = {\n content: ReactNode;\n children: ReactElement;\n open?: boolean;\n disabled?: boolean;\n};\n\nexport const ToolbarButtonTooltip = ({ open, content, children, disabled }: ToolbarButtonTooltipProps) => (\n <Tooltip\n withArrow\n hoverDelay={0}\n enterDelay={300}\n open={open}\n disabled={disabled}\n position={TooltipPosition.Top}\n content={<div>{content}</div>}\n triggerElement={children}\n data-test-id=\"toolbar-button-tooltip\"\n />\n);\n"],"names":["ToolbarButtonTooltip","open","content","children","disabled","jsx","Tooltip","TooltipPosition"],"mappings":";;AAYO,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,UAAAC,QAC5D,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACG,WAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAAL;AAAA,IACA,UAAAG;AAAA,IACA,UAAUG,EAAgB;AAAA,IAC1B,SAAU,gBAAAF,EAAA,OAAA,EAAK,UAAQH,EAAA,CAAA;AAAA,IACvB,gBAAgBC;AAAA,IAChB,gBAAa;AAAA,EAAA;AACjB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiFlyoutContext.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Dispatch, ReactNode, SetStateAction, createContext, useContext, useMemo } from 'react';\n\nexport type MultiFlyoutContextType = {\n openFlyoutIds: string[];\n setOpenFlyoutIds: Dispatch<SetStateAction<string[]>>;\n};\n\nconst MultiFlyoutContext = createContext<MultiFlyoutContextType>({\n openFlyoutIds: [],\n setOpenFlyoutIds: () => console.error('No MultiFlyoutContext Provider found'),\n});\n\nexport const MultiFlyoutContextProvider = ({\n children,\n openFlyoutIds,\n setOpenFlyoutIds,\n}: { children: ReactNode } & MultiFlyoutContextType) => {\n const memoizedContext = useMemo(() => ({ openFlyoutIds, setOpenFlyoutIds }), [openFlyoutIds, setOpenFlyoutIds]);\n\n return <MultiFlyoutContext.Provider value={memoizedContext}>{children}</MultiFlyoutContext.Provider>;\n};\n\nexport const useMultiFlyoutContext = () => useContext(MultiFlyoutContext);\n"],"names":["MultiFlyoutContext","createContext","MultiFlyoutContextProvider","children","openFlyoutIds","setOpenFlyoutIds","memoizedContext","useMemo","useMultiFlyoutContext","useContext"],"mappings":";;AASA,MAAMA,IAAqBC,EAAsC;AAAA,EAC7D,eAAe,CAAC;AAAA,EAChB,kBAAkB,MAAM,QAAQ,MAAM,sCAAsC;AAChF,CAAC,GAEYC,IAA6B,CAAC;AAAA,EACvC,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACJ,MAAwD;AAC9C,QAAAC,IAAkBC,EAAQ,OAAO,EAAE,eAAAH,GAAe,kBAAAC,EAAqB,IAAA,CAACD,GAAeC,CAAgB,CAAC;AAE9G,2BAAQL,EAAmB,UAAnB,EAA4B,OAAOM,GAAkB,UAAAH,EAAS,CAAA;AAC1E,GAEaK,IAAwB,MAAMC,EAAWT,CAAkB;"}
|
|
1
|
+
{"version":3,"file":"MultiFlyoutContext.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type Dispatch, type ReactNode, type SetStateAction, createContext, useContext, useMemo } from 'react';\n\nexport type MultiFlyoutContextType = {\n openFlyoutIds: string[];\n setOpenFlyoutIds: Dispatch<SetStateAction<string[]>>;\n};\n\nconst MultiFlyoutContext = createContext<MultiFlyoutContextType>({\n openFlyoutIds: [],\n setOpenFlyoutIds: () => console.error('No MultiFlyoutContext Provider found'),\n});\n\nexport const MultiFlyoutContextProvider = ({\n children,\n openFlyoutIds,\n setOpenFlyoutIds,\n}: { children: ReactNode } & MultiFlyoutContextType) => {\n const memoizedContext = useMemo(() => ({ openFlyoutIds, setOpenFlyoutIds }), [openFlyoutIds, setOpenFlyoutIds]);\n\n return <MultiFlyoutContext.Provider value={memoizedContext}>{children}</MultiFlyoutContext.Provider>;\n};\n\nexport const useMultiFlyoutContext = () => useContext(MultiFlyoutContext);\n"],"names":["MultiFlyoutContext","createContext","MultiFlyoutContextProvider","children","openFlyoutIds","setOpenFlyoutIds","memoizedContext","useMemo","useMultiFlyoutContext","useContext"],"mappings":";;AASA,MAAMA,IAAqBC,EAAsC;AAAA,EAC7D,eAAe,CAAC;AAAA,EAChB,kBAAkB,MAAM,QAAQ,MAAM,sCAAsC;AAChF,CAAC,GAEYC,IAA6B,CAAC;AAAA,EACvC,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACJ,MAAwD;AAC9C,QAAAC,IAAkBC,EAAQ,OAAO,EAAE,eAAAH,GAAe,kBAAAC,EAAqB,IAAA,CAACD,GAAeC,CAAgB,CAAC;AAE9G,2BAAQL,EAAmB,UAAnB,EAA4B,OAAOM,GAAkB,UAAAH,EAAS,CAAA;AAC1E,GAEaK,IAAwB,MAAMC,EAAWT,CAAkB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMultiFlyoutState.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback } from 'react';\nimport { useMultiFlyoutContext } from '../context/MultiFlyoutContext';\n\nexport const useMultiFlyoutState = (flyoutId: string) => {\n const { openFlyoutIds, setOpenFlyoutIds } = useMultiFlyoutContext();\n\n const onOpenChange = useCallback(\n (isFlyoutOpen: boolean) => {\n setOpenFlyoutIds((currentIds) => {\n const filteredIds = currentIds.filter((id) => id !== flyoutId);\n if (!isFlyoutOpen) {\n return filteredIds;\n } else {\n return [...filteredIds, flyoutId];\n }\n });\n },\n [flyoutId, setOpenFlyoutIds],\n );\n\n return { isOpen: openFlyoutIds.includes(flyoutId), onOpenChange };\n};\n"],"names":["useMultiFlyoutState","flyoutId","openFlyoutIds","setOpenFlyoutIds","useMultiFlyoutContext","onOpenChange","useCallback","isFlyoutOpen","currentIds","filteredIds","id"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useMultiFlyoutState.es.js","sources":["../../../../../src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback } from 'react';\n\nimport { useMultiFlyoutContext } from '../context/MultiFlyoutContext';\n\nexport const useMultiFlyoutState = (flyoutId: string) => {\n const { openFlyoutIds, setOpenFlyoutIds } = useMultiFlyoutContext();\n\n const onOpenChange = useCallback(\n (isFlyoutOpen: boolean) => {\n setOpenFlyoutIds((currentIds) => {\n const filteredIds = currentIds.filter((id) => id !== flyoutId);\n if (!isFlyoutOpen) {\n return filteredIds;\n } else {\n return [...filteredIds, flyoutId];\n }\n });\n },\n [flyoutId, setOpenFlyoutIds],\n );\n\n return { isOpen: openFlyoutIds.includes(flyoutId), onOpenChange };\n};\n"],"names":["useMultiFlyoutState","flyoutId","openFlyoutIds","setOpenFlyoutIds","useMultiFlyoutContext","onOpenChange","useCallback","isFlyoutOpen","currentIds","filteredIds","id"],"mappings":";;AAMa,MAAAA,IAAsB,CAACC,MAAqB;AACrD,QAAM,EAAE,eAAAC,GAAe,kBAAAC,EAAiB,IAAIC,EAAsB,GAE5DC,IAAeC;AAAA,IACjB,CAACC,MAA0B;AACvB,MAAAJ,EAAiB,CAACK,MAAe;AAC7B,cAAMC,IAAcD,EAAW,OAAO,CAACE,MAAOA,MAAOT,CAAQ;AAC7D,eAAKM,IAGM,CAAC,GAAGE,GAAaR,CAAQ,IAFzBQ;AAAA,MAGX,CACH;AAAA,IACL;AAAA,IACA,CAACR,GAAUE,CAAgB;AAAA,EAAA;AAG/B,SAAO,EAAE,QAAQD,EAAc,SAASD,CAAQ,GAAG,cAAAI;AACvD;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { LegacyTooltip as i, TooltipPosition as s, FOCUS_STYLE as l, IconArrowCircleDown16 as a } from "@frontify/fondue";
|
|
3
|
+
import { useFocusRing as w } from "@react-aria/focus";
|
|
4
4
|
import { joinClassNames as u } from "../../utilities/react/joinClassNames.es.js";
|
|
5
5
|
const b = ({ onDownload: o }) => {
|
|
6
|
-
const { isFocused: e, focusProps: n } =
|
|
6
|
+
const { isFocused: e, focusProps: n } = w();
|
|
7
7
|
return /* @__PURE__ */ t(
|
|
8
|
-
|
|
8
|
+
i,
|
|
9
9
|
{
|
|
10
10
|
withArrow: !0,
|
|
11
|
-
position:
|
|
11
|
+
position: s.Top,
|
|
12
12
|
content: "Download",
|
|
13
13
|
enterDelay: 500,
|
|
14
14
|
triggerElement: /* @__PURE__ */ t(
|
|
@@ -17,7 +17,7 @@ const b = ({ onDownload: o }) => {
|
|
|
17
17
|
tabIndex: 0,
|
|
18
18
|
"aria-label": "Download",
|
|
19
19
|
...n,
|
|
20
|
-
className: u(["tw-outline-none tw-rounded", e &&
|
|
20
|
+
className: u(["tw-outline-none tw-rounded", e && l]),
|
|
21
21
|
onClick: o,
|
|
22
22
|
onPointerDown: (r) => r.preventDefault(),
|
|
23
23
|
children: /* @__PURE__ */ t(
|
|
@@ -25,7 +25,7 @@ const b = ({ onDownload: o }) => {
|
|
|
25
25
|
{
|
|
26
26
|
"data-test-id": "download-button",
|
|
27
27
|
className: "tw-flex tw-text-xs tw-font-body tw-items-center tw-gap-1 tw-rounded-full tw-bg-box-neutral-strong-inverse hover:tw-bg-box-neutral-strong-inverse-hover active:tw-bg-box-neutral-strong-inverse-pressed tw-text-box-neutral-strong tw-outline tw-outline-1 tw-outline-offset-1 tw-p-1.5 tw-outline-line",
|
|
28
|
-
children: /* @__PURE__ */ t(
|
|
28
|
+
children: /* @__PURE__ */ t(a, {})
|
|
29
29
|
}
|
|
30
30
|
)
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadButton.es.js","sources":["../../../src/components/DownloadButton/DownloadButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {
|
|
1
|
+
{"version":3,"file":"DownloadButton.es.js","sources":["../../../src/components/DownloadButton/DownloadButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { FOCUS_STYLE, IconArrowCircleDown16, LegacyTooltip as Tooltip, TooltipPosition } from '@frontify/fondue';\nimport { useFocusRing } from '@react-aria/focus';\n\nimport { joinClassNames } from '../../utilities';\n\nimport { type DownloadButtonProps } from './types';\n\nexport const DownloadButton = ({ onDownload }: DownloadButtonProps) => {\n const { isFocused, focusProps } = useFocusRing();\n\n return (\n <Tooltip\n withArrow\n position={TooltipPosition.Top}\n content=\"Download\"\n enterDelay={500}\n triggerElement={\n <button\n tabIndex={0}\n aria-label=\"Download\"\n {...focusProps}\n className={joinClassNames(['tw-outline-none tw-rounded', isFocused && FOCUS_STYLE])}\n onClick={onDownload}\n onPointerDown={(e) => e.preventDefault()}\n >\n <span\n data-test-id=\"download-button\"\n className=\"tw-flex tw-text-xs tw-font-body tw-items-center tw-gap-1 tw-rounded-full tw-bg-box-neutral-strong-inverse hover:tw-bg-box-neutral-strong-inverse-hover active:tw-bg-box-neutral-strong-inverse-pressed tw-text-box-neutral-strong tw-outline tw-outline-1 tw-outline-offset-1 tw-p-1.5 tw-outline-line\"\n >\n <IconArrowCircleDown16 />\n </span>\n </button>\n }\n />\n );\n};\n"],"names":["DownloadButton","onDownload","isFocused","focusProps","useFocusRing","jsx","Tooltip","TooltipPosition","joinClassNames","FOCUS_STYLE","e","IconArrowCircleDown16"],"mappings":";;;;AASO,MAAMA,IAAiB,CAAC,EAAE,YAAAC,QAAsC;AACnE,QAAM,EAAE,WAAAC,GAAW,YAAAC,EAAW,IAAIC,EAAa;AAG3C,SAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACG,WAAS;AAAA,MACT,UAAUC,EAAgB;AAAA,MAC1B,SAAQ;AAAA,MACR,YAAY;AAAA,MACZ,gBACI,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,UAAU;AAAA,UACV,cAAW;AAAA,UACV,GAAGF;AAAA,UACJ,WAAWK,EAAe,CAAC,8BAA8BN,KAAaO,CAAW,CAAC;AAAA,UAClF,SAASR;AAAA,UACT,eAAe,CAACS,MAAMA,EAAE,eAAe;AAAA,UAEvC,UAAA,gBAAAL;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,gBAAa;AAAA,cACb,WAAU;AAAA,cAEV,4BAACM,GAAsB,EAAA;AAAA,YAAA;AAAA,UAC3B;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAIhB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkInput.es.js","sources":["../../../src/components/Link/LinkInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type
|
|
1
|
+
{"version":3,"file":"LinkInput.es.js","sources":["../../../src/components/Link/LinkInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock, type AppBridgeTheme } from '@frontify/app-bridge';\nimport { ButtonSize, Checkbox, CheckboxState, FormControl, TextInput, TooltipPosition } from '@frontify/fondue';\n\nimport { LinkSelector } from './LinkSelector';\nimport { isValidUrlOrEmpty as internalIsValidUrlOrEmpty } from './utils';\n\ntype LinkInputProps = {\n url?: string;\n info?: string;\n label?: string;\n required?: boolean;\n newTab?: CheckboxState;\n openInNewTab?: boolean;\n onUrlChange?: (value: string) => void;\n onToggleTab?: (checked: boolean) => void;\n isValidUrlOrEmpty?: (url: string) => boolean;\n appBridge: AppBridgeBlock | AppBridgeTheme;\n clearable?: boolean;\n placeholder?: string;\n buttonSize?: ButtonSize;\n hideInternalLinkButton?: boolean;\n};\n\nexport const LinkInput = ({\n onUrlChange,\n onToggleTab,\n isValidUrlOrEmpty,\n appBridge,\n clearable,\n placeholder,\n newTab,\n openInNewTab,\n url = '',\n required,\n info,\n label,\n buttonSize,\n hideInternalLinkButton,\n}: LinkInputProps) => {\n const isUrlValid = isValidUrlOrEmpty ? isValidUrlOrEmpty(url) : internalIsValidUrlOrEmpty(url);\n const checkedState = newTab ?? (openInNewTab ? CheckboxState.Checked : CheckboxState.Unchecked);\n return (\n <div data-test-id=\"link-input\">\n <FormControl\n label={{\n children: label,\n htmlFor: 'url',\n required,\n tooltip: info ? { content: info, position: TooltipPosition.Top } : undefined,\n }}\n >\n <TextInput\n id=\"url\"\n value={url}\n clearable={clearable}\n onChange={onUrlChange}\n placeholder={placeholder ?? 'https://example.com'}\n focusOnMount\n />\n </FormControl>\n {!isUrlValid && <div className=\"tw-text-text-negative tw-mt-1 tw-text-s\">Please enter a valid URL.</div>}\n\n {!hideInternalLinkButton && (\n <div className=\"tw-mt-3\">\n <LinkSelector\n url={url}\n onUrlChange={onUrlChange}\n buttonSize={buttonSize ?? ButtonSize.Medium}\n getAllDocuments={() => appBridge.getAllDocuments()}\n getDocumentPagesByDocumentId={(documentId) =>\n appBridge.getDocumentPagesByDocumentId(documentId)\n }\n getDocumentSectionsByDocumentPageId={(documentPageId) =>\n appBridge.getDocumentSectionsByDocumentPageId(documentPageId)\n }\n />\n </div>\n )}\n\n <div className=\"tw-mt-3\">\n <Checkbox value=\"new-tab\" label=\"Open in new tab\" state={checkedState} onChange={onToggleTab} />\n </div>\n </div>\n );\n};\n"],"names":["LinkInput","onUrlChange","onToggleTab","isValidUrlOrEmpty","appBridge","clearable","placeholder","newTab","openInNewTab","url","required","info","label","buttonSize","hideInternalLinkButton","isUrlValid","internalIsValidUrlOrEmpty","checkedState","CheckboxState","jsxs","jsx","FormControl","TooltipPosition","TextInput","LinkSelector","ButtonSize","documentId","documentPageId","Checkbox"],"mappings":";;;;AAyBO,MAAMA,IAAY,CAAC;AAAA,EACtB,aAAAC;AAAA,EACA,aAAAC;AAAA,EAAA,mBACAC;AAAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AACJ,MAAsB;AAClB,QAAMC,IAAaZ,IAAoBA,EAAkBM,CAAG,IAAIO,EAA0BP,CAAG,GACvFQ,IAAeV,MAAWC,IAAeU,EAAc,UAAUA,EAAc;AAEjF,SAAA,gBAAAC,EAAC,OAAI,EAAA,gBAAa,cACd,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAO;AAAA,UACH,UAAUT;AAAA,UACV,SAAS;AAAA,UACT,UAAAF;AAAA,UACA,SAASC,IAAO,EAAE,SAASA,GAAM,UAAUW,EAAgB,IAAQ,IAAA;AAAA,QACvE;AAAA,QAEA,UAAA,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,OAAOd;AAAA,YACP,WAAAJ;AAAA,YACA,UAAUJ;AAAA,YACV,aAAaK,KAAe;AAAA,YAC5B,cAAY;AAAA,UAAA;AAAA,QAChB;AAAA,MAAA;AAAA,IACJ;AAAA,IACC,CAACS,KAAc,gBAAAK,EAAC,OAAI,EAAA,WAAU,2CAA0C,UAAyB,6BAAA;AAAA,IAEjG,CAACN,KACG,gBAAAM,EAAA,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,KAAAf;AAAA,QACA,aAAAR;AAAA,QACA,YAAYY,KAAcY,EAAW;AAAA,QACrC,iBAAiB,MAAMrB,EAAU,gBAAgB;AAAA,QACjD,8BAA8B,CAACsB,MAC3BtB,EAAU,6BAA6BsB,CAAU;AAAA,QAErD,qCAAqC,CAACC,MAClCvB,EAAU,oCAAoCuB,CAAc;AAAA,MAAA;AAAA,IAAA,GAGxE;AAAA,IAGH,gBAAAP,EAAA,OAAA,EAAI,WAAU,WACX,4BAACQ,GAAS,EAAA,OAAM,WAAU,OAAM,mBAAkB,OAAOX,GAAc,UAAUf,EAAa,CAAA,GAClG;AAAA,EACJ,EAAA,CAAA;AAER;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as a, Fragment as b, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { merge as i, IconColorFan16 as x } from "@frontify/fondue";
|
|
3
|
+
import { useState as m, useEffect as p } from "react";
|
|
4
|
+
import { PageLinks as h } from "./PageLinks.es.js";
|
|
5
5
|
const k = ({
|
|
6
6
|
document: t,
|
|
7
7
|
selectedUrl: n,
|
|
@@ -10,8 +10,8 @@ const k = ({
|
|
|
10
10
|
getDocumentSectionsByDocumentPageId: c,
|
|
11
11
|
getDocumentPagesByDocumentId: d
|
|
12
12
|
}) => {
|
|
13
|
-
const [o, w] =
|
|
14
|
-
return
|
|
13
|
+
const [o, w] = m(t.id === r.documentId), l = t.permanentLink === n;
|
|
14
|
+
return p(() => {
|
|
15
15
|
t.id === r.documentId && w(!0);
|
|
16
16
|
}, [r, t.id]), /* @__PURE__ */ a(b, { children: [
|
|
17
17
|
/* @__PURE__ */ a(
|
|
@@ -43,14 +43,14 @@ const k = ({
|
|
|
43
43
|
)
|
|
44
44
|
}
|
|
45
45
|
),
|
|
46
|
-
/* @__PURE__ */ e(
|
|
46
|
+
/* @__PURE__ */ e(x, {}),
|
|
47
47
|
/* @__PURE__ */ e("span", { className: "tw-text-s", children: t.title }),
|
|
48
48
|
/* @__PURE__ */ e("span", { className: "tw-flex-auto tw-font-sans tw-text-xs tw-text-right", children: "Document" })
|
|
49
49
|
]
|
|
50
50
|
}
|
|
51
51
|
),
|
|
52
52
|
o && /* @__PURE__ */ e(
|
|
53
|
-
|
|
53
|
+
h,
|
|
54
54
|
{
|
|
55
55
|
documentId: t.id,
|
|
56
56
|
selectedUrl: n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLink.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type
|
|
1
|
+
{"version":3,"file":"DocumentLink.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type DocumentPage, type DocumentSection } from '@frontify/app-bridge';\nimport { IconColorFan16, merge } from '@frontify/fondue';\nimport { useEffect, useState } from 'react';\n\nimport { type InitiallyExpandedItems } from '../';\n\nimport { PageLinks } from './PageLinks';\n\ntype DocumentLinkProps = {\n document: {\n id: number;\n title: string;\n permanentLink: string;\n };\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise<DocumentSection[]>;\n getDocumentPagesByDocumentId: (documentId: number) => Promise<DocumentPage[]>;\n};\n\nexport const DocumentLink = ({\n document,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n getDocumentSectionsByDocumentPageId,\n getDocumentPagesByDocumentId,\n}: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(document.id === itemsToExpandInitially.documentId);\n const isActive = document.permanentLink === selectedUrl;\n\n useEffect(() => {\n if (document.id === itemsToExpandInitially.documentId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, document.id]);\n\n return (\n <>\n <button\n data-test-id=\"internal-link-selector-document-link\"\n className={merge([\n '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',\n isActive\n ? 'tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover'\n : 'hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover',\n ])}\n onClick={() => onSelectUrl(document.permanentLink)}\n >\n {/* eslint-disable-next-line jsx-a11y/no-redundant-roles */}\n <button\n role=\"button\"\n tabIndex={0}\n data-test-id=\"tree-item-toggle\"\n 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\"\n onClick={() => setIsExpanded(!isExpanded)}\n >\n <div\n className={merge([\n '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',\n isExpanded ? 'tw-rotate-90' : '',\n ])}\n ></div>\n </button>\n <IconColorFan16 />\n <span className=\"tw-text-s\">{document.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Document</span>\n </button>\n {isExpanded && (\n <PageLinks\n documentId={document.id}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n getDocumentSectionsByDocumentPageId={getDocumentSectionsByDocumentPageId}\n getDocumentPagesByDocumentId={getDocumentPagesByDocumentId}\n />\n )}\n </>\n );\n};\n"],"names":["DocumentLink","document","selectedUrl","onSelectUrl","itemsToExpandInitially","getDocumentSectionsByDocumentPageId","getDocumentPagesByDocumentId","isExpanded","setIsExpanded","useState","isActive","useEffect","jsxs","Fragment","merge","jsx","IconColorFan16","PageLinks"],"mappings":";;;;AAuBO,MAAMA,IAAe,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,8BAAAC;AACJ,MAAyB;AACf,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASR,EAAS,OAAOG,EAAuB,UAAU,GACxFM,IAAWT,EAAS,kBAAkBC;AAE5C,SAAAS,EAAU,MAAM;AACR,IAAAV,EAAS,OAAOG,EAAuB,cACvCI,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACJ,GAAwBH,EAAS,EAAE,CAAC,GAIhC,gBAAAW,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAWE,EAAM;AAAA,UACb;AAAA,UACAJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAMP,EAAYF,EAAS,aAAa;AAAA,QAGjD,UAAA;AAAA,UAAA,gBAAAc;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,UAAU;AAAA,cACV,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMP,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAQ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWD,EAAM;AAAA,oBACb;AAAA,oBACAP,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,4BACCS,GAAe,EAAA;AAAA,UACf,gBAAAD,EAAA,QAAA,EAAK,WAAU,aAAa,YAAS,OAAM;AAAA,UAC3C,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAQ,YAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjF;AAAA,IACCR,KACG,gBAAAQ;AAAA,MAACE;AAAA,MAAA;AAAA,QACG,YAAYhB,EAAS;AAAA,QACrB,aAAAC;AAAA,QACA,aAAAC;AAAA,QACA,wBAAAC;AAAA,QACA,qCAAAC;AAAA,QACA,8BAAAC;AAAA,MAAA;AAAA,IACJ;AAAA,EAER,EAAA,CAAA;AAER;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as s, Fragment as x } from "react/jsx-runtime";
|
|
2
2
|
import { useState as d, useEffect as m } from "react";
|
|
3
3
|
import { filterDocumentSectionsWithUnreadableTitles as v } from "../helpers/filterDocumentSectionsWithUnreadableTitles.es.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { DocumentLink as E } from "./DocumentLink.es.js";
|
|
5
|
+
import { LoadingIndicator as S } from "./LoadingIndicator.es.js";
|
|
6
6
|
const O = ({
|
|
7
7
|
selectedUrl: n,
|
|
8
8
|
onSelectUrl: f,
|
|
@@ -46,8 +46,8 @@ const O = ({
|
|
|
46
46
|
}
|
|
47
47
|
return t;
|
|
48
48
|
};
|
|
49
|
-
return p ? /* @__PURE__ */ s(
|
|
50
|
-
|
|
49
|
+
return p ? /* @__PURE__ */ s(S, {}) : /* @__PURE__ */ s(x, { children: e.map((t) => /* @__PURE__ */ s(
|
|
50
|
+
E,
|
|
51
51
|
{
|
|
52
52
|
document: t,
|
|
53
53
|
selectedUrl: n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type Document, type DocumentPage, type DocumentSection } from '@frontify/app-bridge';\nimport { ReactElement, useEffect, useState } from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"file":"DocumentLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type Document, type DocumentPage, type DocumentSection } from '@frontify/app-bridge';\nimport { type ReactElement, useEffect, useState } from 'react';\n\nimport { type InitiallyExpandedItems } from '../';\nimport { filterDocumentSectionsWithUnreadableTitles } from '../helpers/filterDocumentSectionsWithUnreadableTitles';\n\nimport { DocumentLink } from './DocumentLink';\nimport { LoadingIndicator } from './LoadingIndicator';\n\ntype DocumentLinksProps = {\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n getAllDocuments: () => Promise<Document[]>;\n getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise<DocumentSection[]>;\n getDocumentPagesByDocumentId: (documentId: number) => Promise<DocumentPage[]>;\n};\n\nexport const DocumentLinks = ({\n selectedUrl,\n onSelectUrl,\n getAllDocuments,\n getDocumentPagesByDocumentId,\n getDocumentSectionsByDocumentPageId,\n}: DocumentLinksProps): ReactElement => {\n const [isLoading, setIsLoading] = useState(true);\n const [documents, setDocuments] = useState<Document[]>([]);\n const [itemsToExpandInitially, setItemsToExpandInitially] = useState<InitiallyExpandedItems>({\n documentId: undefined,\n pageId: undefined,\n });\n\n useEffect(() => {\n if (selectedUrl && documents.length > 0) {\n findLocationOfSelectedUrl().then((items) => {\n setItemsToExpandInitially(items);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [documents.length]);\n\n useEffect(() => {\n getAllDocuments()\n .then((_documents) => {\n setDocuments(_documents);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n const findLocationOfSelectedUrl = async () => {\n const itemsToExpand: InitiallyExpandedItems = {\n documentId: undefined,\n pageId: undefined,\n };\n const selectedUrlIsDocument = documents.find((document) => document.permanentLink === selectedUrl);\n if (selectedUrlIsDocument) {\n return itemsToExpand;\n }\n for (const document of documents) {\n const pages = await getDocumentPagesByDocumentId(document.id);\n const selectedUrlIsPage = !!pages.find((page) => page.permanentLink === selectedUrl);\n if (selectedUrlIsPage) {\n itemsToExpand.documentId = document.id;\n return itemsToExpand;\n }\n for (const page of pages) {\n const sections = await getDocumentSectionsByDocumentPageId(page.id);\n const sectionsWithReadableTitles = filterDocumentSectionsWithUnreadableTitles(sections);\n const selectedUrlIsSection = !!sectionsWithReadableTitles.find(\n (section) => section.permanentLink === selectedUrl,\n );\n if (selectedUrlIsSection) {\n itemsToExpand.documentId = document.id;\n itemsToExpand.pageId = page.id;\n return itemsToExpand;\n }\n }\n }\n return itemsToExpand;\n };\n\n return isLoading ? (\n <LoadingIndicator />\n ) : (\n <>\n {documents.map((document) => {\n return (\n <DocumentLink\n key={document.id}\n document={document}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n getDocumentSectionsByDocumentPageId={getDocumentSectionsByDocumentPageId}\n getDocumentPagesByDocumentId={getDocumentPagesByDocumentId}\n />\n );\n })}\n </>\n );\n};\n"],"names":["DocumentLinks","selectedUrl","onSelectUrl","getAllDocuments","getDocumentPagesByDocumentId","getDocumentSectionsByDocumentPageId","isLoading","setIsLoading","useState","documents","setDocuments","itemsToExpandInitially","setItemsToExpandInitially","useEffect","findLocationOfSelectedUrl","items","_documents","itemsToExpand","document","pages","page","sections","filterDocumentSectionsWithUnreadableTitles","section","LoadingIndicator","jsx","DocumentLink"],"mappings":";;;;;AAmBO,MAAMA,IAAgB,CAAC;AAAA,EAC1B,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,qCAAAC;AACJ,MAAwC;AACpC,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAAWC,CAAY,IAAIF,EAAqB,CAAE,CAAA,GACnD,CAACG,GAAwBC,CAAyB,IAAIJ,EAAiC;AAAA,IACzF,YAAY;AAAA,IACZ,QAAQ;AAAA,EAAA,CACX;AAED,EAAAK,EAAU,MAAM;AACR,IAAAZ,KAAeQ,EAAU,SAAS,KACRK,EAAA,EAAE,KAAK,CAACC,MAAU;AACxC,MAAAH,EAA0BG,CAAK;AAAA,IAAA,CAClC;AAAA,EACL,GAED,CAACN,EAAU,MAAM,CAAC,GAErBI,EAAU,MAAM;AACI,IAAAV,EAAA,EACX,KAAK,CAACa,MAAe;AAClB,MAAAN,EAAaM,CAAU;AAAA,IAAA,CAC1B,EACA,QAAQ,MAAM;AACX,MAAAT,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,QAAMO,IAA4B,YAAY;AAC1C,UAAMG,IAAwC;AAAA,MAC1C,YAAY;AAAA,MACZ,QAAQ;AAAA,IAAA;AAGZ,QAD8BR,EAAU,KAAK,CAACS,MAAaA,EAAS,kBAAkBjB,CAAW;AAEtF,aAAAgB;AAEX,eAAWC,KAAYT,GAAW;AAC9B,YAAMU,IAAQ,MAAMf,EAA6Bc,EAAS,EAAE;AAE5D,UAD0B,CAAC,CAACC,EAAM,KAAK,CAACC,MAASA,EAAK,kBAAkBnB,CAAW;AAE/E,eAAAgB,EAAc,aAAaC,EAAS,IAC7BD;AAEX,iBAAWG,KAAQD,GAAO;AACtB,cAAME,IAAW,MAAMhB,EAAoCe,EAAK,EAAE;AAKlE,YAH6B,CAAC,CADKE,EAA2CD,CAAQ,EAC5B;AAAA,UACtD,CAACE,MAAYA,EAAQ,kBAAkBtB;AAAA,QAAA;AAGvC,iBAAAgB,EAAc,aAAaC,EAAS,IACpCD,EAAc,SAASG,EAAK,IACrBH;AAAA,MAEf;AAAA,IACJ;AACO,WAAAA;AAAA,EAAA;AAGJ,SAAAX,sBACFkB,GAAiB,CAAA,CAAA,2BAGb,UAAUf,EAAA,IAAI,CAACS,MAER,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MAEG,UAAAR;AAAA,MACA,aAAAjB;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAS;AAAA,MACA,qCAAAN;AAAA,MACA,8BAAAD;AAAA,IAAA;AAAA,IANKc,EAAS;AAAA,EAAA,CASzB,EACL,CAAA;AAER;"}
|
|
@@ -22,62 +22,65 @@ const P = ({
|
|
|
22
22
|
const p = () => {
|
|
23
23
|
s == null || s(n), l();
|
|
24
24
|
};
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
{
|
|
35
|
-
icon: /* @__PURE__ */ t(L, {}),
|
|
36
|
-
size: u,
|
|
37
|
-
type: T.Button,
|
|
38
|
-
style: r.Default,
|
|
39
|
-
emphasis: c.Default,
|
|
40
|
-
onClick: () => D(),
|
|
41
|
-
children: "Internal link"
|
|
42
|
-
}
|
|
43
|
-
),
|
|
44
|
-
/* @__PURE__ */ d(o, { zIndex: 1001, onClose: () => l(), isOpen: y, isDismissable: !0, children: [
|
|
45
|
-
/* @__PURE__ */ t(o.Header, { title: "Select internal link" }),
|
|
46
|
-
/* @__PURE__ */ t(o.Body, { children: /* @__PURE__ */ t(
|
|
47
|
-
z,
|
|
48
|
-
{
|
|
49
|
-
selectedUrl: n,
|
|
50
|
-
onSelectUrl: S,
|
|
51
|
-
getAllDocuments: m,
|
|
52
|
-
getDocumentPagesByDocumentId: f,
|
|
53
|
-
getDocumentSectionsByDocumentPageId: k
|
|
54
|
-
}
|
|
55
|
-
) }),
|
|
25
|
+
return (
|
|
26
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
27
|
+
/* @__PURE__ */ d(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
onPointerDown: (e) => e.preventDefault(),
|
|
31
|
+
"data-test-id": "internal-link-selector",
|
|
32
|
+
onKeyDown: h,
|
|
33
|
+
children: [
|
|
56
34
|
/* @__PURE__ */ t(
|
|
57
|
-
|
|
35
|
+
B,
|
|
58
36
|
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
{
|
|
67
|
-
children: "Choose",
|
|
68
|
-
onClick: (e) => {
|
|
69
|
-
e == null || e.preventDefault(), p();
|
|
70
|
-
},
|
|
71
|
-
style: r.Default,
|
|
72
|
-
emphasis: c.Strong,
|
|
73
|
-
disabled: !n
|
|
74
|
-
}
|
|
75
|
-
]
|
|
37
|
+
icon: /* @__PURE__ */ t(L, {}),
|
|
38
|
+
size: u,
|
|
39
|
+
type: T.Button,
|
|
40
|
+
style: r.Default,
|
|
41
|
+
emphasis: c.Default,
|
|
42
|
+
onClick: () => D(),
|
|
43
|
+
children: "Internal link"
|
|
76
44
|
}
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ d(o, { zIndex: 1001, onClose: () => l(), isOpen: y, isDismissable: !0, children: [
|
|
47
|
+
/* @__PURE__ */ t(o.Header, { title: "Select internal link" }),
|
|
48
|
+
/* @__PURE__ */ t(o.Body, { children: /* @__PURE__ */ t(
|
|
49
|
+
z,
|
|
50
|
+
{
|
|
51
|
+
selectedUrl: n,
|
|
52
|
+
onSelectUrl: S,
|
|
53
|
+
getAllDocuments: m,
|
|
54
|
+
getDocumentPagesByDocumentId: f,
|
|
55
|
+
getDocumentSectionsByDocumentPageId: k
|
|
56
|
+
}
|
|
57
|
+
) }),
|
|
58
|
+
/* @__PURE__ */ t(
|
|
59
|
+
o.Footer,
|
|
60
|
+
{
|
|
61
|
+
buttons: [
|
|
62
|
+
{
|
|
63
|
+
children: "Cancel",
|
|
64
|
+
onClick: () => l(),
|
|
65
|
+
style: r.Default,
|
|
66
|
+
emphasis: c.Default
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
children: "Choose",
|
|
70
|
+
onClick: (e) => {
|
|
71
|
+
e == null || e.preventDefault(), p();
|
|
72
|
+
},
|
|
73
|
+
style: r.Default,
|
|
74
|
+
emphasis: c.Strong,
|
|
75
|
+
disabled: !n
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
] })
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
)
|
|
81
84
|
);
|
|
82
85
|
};
|
|
83
86
|
export {
|