@frontify/guideline-blocks-settings 2.0.0 → 2.0.2
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 +83 -83
- package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
- package/dist/components/Attachments/Attachments.es.js +51 -54
- package/dist/components/Attachments/Attachments.es.js.map +1 -1
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js +56 -57
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +25 -25
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +3 -3
- package/dist/components/Link/LinkInput.es.js +35 -35
- package/dist/components/Link/LinkInput.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +31 -31
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -1
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +2 -5
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
- package/dist/components/Link/utils/getUrl.es.js +9 -15
- package/dist/components/Link/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/RichTextEditor.es.js +39 -39
- package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +24 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +25 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +29 -33
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +22 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -63
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +6 -7
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +21 -21
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +15 -19
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +5 -5
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +13 -13
- 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 +23 -23
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +7 -8
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +23 -27
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +6 -9
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +25 -29
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +25 -29
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +26 -30
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +26 -30
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
- package/dist/helpers/customCoordinatesGetterFactory.es.js +18 -18
- package/dist/helpers/customCoordinatesGetterFactory.es.js.map +1 -1
- package/dist/hooks/useAttachments.es.js +6 -6
- package/dist/hooks/useAttachments.es.js.map +1 -1
- package/dist/index.cjs.js +7 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.es.js +208 -208
- package/dist/index.umd.js +7 -7
- package/dist/index.umd.js.map +1 -1
- package/dist/settings/background.es.js +4 -4
- package/dist/settings/background.es.js.map +1 -1
- package/dist/settings/border.es.js +17 -17
- package/dist/settings/border.es.js.map +1 -1
- package/dist/settings/borderRadius.es.js +12 -15
- package/dist/settings/borderRadius.es.js.map +1 -1
- package/dist/settings/borderRadiusExtended.es.js +25 -28
- package/dist/settings/borderRadiusExtended.es.js.map +1 -1
- package/dist/settings/gutter.es.js +17 -20
- package/dist/settings/gutter.es.js.map +1 -1
- package/dist/settings/margin.es.js +14 -14
- package/dist/settings/margin.es.js.map +1 -1
- package/dist/settings/marginExtended.es.js +29 -29
- package/dist/settings/marginExtended.es.js.map +1 -1
- package/dist/settings/padding.es.js +14 -14
- package/dist/settings/padding.es.js.map +1 -1
- package/dist/settings/paddingExtended.es.js +28 -28
- package/dist/settings/paddingExtended.es.js.map +1 -1
- package/dist/settings/securityDownloadable.es.js +8 -11
- package/dist/settings/securityDownloadable.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/color/getReadableColor.es.js +6 -6
- package/dist/utilities/color/getReadableColor.es.js.map +1 -1
- package/dist/utilities/color/isDark.es.js +4 -4
- package/dist/utilities/color/isDark.es.js.map +1 -1
- package/package.json +16 -16
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { FormControl as x } from "@frontify/fondue";
|
|
3
3
|
import { TextInput as w, Button as d } from "@frontify/fondue/components";
|
|
4
4
|
import { IconCheckMark as b } from "@frontify/fondue/icons";
|
|
5
5
|
import { FloatingModalWrapper as f } from "@frontify/fondue/rte";
|
|
6
6
|
import { LinkInput as k } from "../../../../../Link/LinkInput.es.js";
|
|
7
7
|
const z = ({
|
|
8
|
-
state:
|
|
8
|
+
state: t,
|
|
9
9
|
onTextChange: n,
|
|
10
10
|
onUrlChange: o,
|
|
11
11
|
onToggleTab: l,
|
|
12
12
|
onCancel: a,
|
|
13
13
|
onSave: m,
|
|
14
14
|
isValidUrlOrEmpty: i,
|
|
15
|
-
hasValues:
|
|
16
|
-
testId:
|
|
17
|
-
appBridge:
|
|
15
|
+
hasValues: s,
|
|
16
|
+
testId: c,
|
|
17
|
+
appBridge: p,
|
|
18
18
|
children: u
|
|
19
|
-
}) => /* @__PURE__ */
|
|
19
|
+
}) => /* @__PURE__ */ r(f, { "data-test-id": c, padding: "28px", minWidth: "400px", children: [
|
|
20
20
|
/* @__PURE__ */ e(
|
|
21
21
|
x,
|
|
22
22
|
{
|
|
@@ -29,7 +29,7 @@ const z = ({
|
|
|
29
29
|
w,
|
|
30
30
|
{
|
|
31
31
|
id: "linkText",
|
|
32
|
-
value:
|
|
32
|
+
value: t.text,
|
|
33
33
|
placeholder: "Link Text",
|
|
34
34
|
onChange: (h) => n(h.target.value)
|
|
35
35
|
}
|
|
@@ -40,23 +40,23 @@ const z = ({
|
|
|
40
40
|
/* @__PURE__ */ e("div", { className: "tw-mt-5", children: /* @__PURE__ */ e(
|
|
41
41
|
k,
|
|
42
42
|
{
|
|
43
|
-
url:
|
|
44
|
-
newTab:
|
|
43
|
+
url: t.url,
|
|
44
|
+
newTab: t.newTab,
|
|
45
45
|
onUrlChange: o,
|
|
46
46
|
onToggleTab: l,
|
|
47
47
|
isValidUrlOrEmpty: i,
|
|
48
|
-
appBridge:
|
|
48
|
+
appBridge: p
|
|
49
49
|
}
|
|
50
50
|
) }),
|
|
51
|
-
/* @__PURE__ */ e("div", { className: "tw-mt-3", children: /* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ e("div", { className: "tw-mt-3", children: /* @__PURE__ */ r("div", { className: "tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10", children: [
|
|
52
52
|
/* @__PURE__ */ e(d, { "data-test-id": "button", onPress: a, size: "medium", emphasis: "default", children: "Cancel" }),
|
|
53
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ r(
|
|
54
54
|
d,
|
|
55
55
|
{
|
|
56
56
|
"data-test-id": "button",
|
|
57
57
|
onPress: m,
|
|
58
58
|
size: "medium",
|
|
59
|
-
disabled: !i(
|
|
59
|
+
disabled: !i(t?.url) || !s,
|
|
60
60
|
children: [
|
|
61
61
|
/* @__PURE__ */ e(b, { size: "20" }),
|
|
62
62
|
"Save"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { FormControl } from '@frontify/fondue';\nimport { Button, TextInput } from '@frontify/fondue/components';\nimport { IconCheckMark } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper } from '@frontify/fondue/rte';\nimport { type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { LinkInput } from '../../../../../Link';\n\nimport { type InsertModalStateProps } from './types';\n\ntype Props = {\n state: InsertModalStateProps;\n onTextChange: (value: string) => void;\n onUrlChange: (value: string) => void;\n onToggleTab: (checked: boolean) => void;\n onCancel: () => void;\n onSave: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => void;\n hasValues: boolean;\n isValidUrlOrEmpty: (url: string) => boolean;\n testId?: string;\n children?: ReactNode;\n appBridge: AppBridgeBlock;\n};\n\nexport const InsertModal = ({\n state,\n onTextChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n isValidUrlOrEmpty,\n hasValues,\n testId,\n appBridge,\n children,\n}: Props): ReactElement => (\n <FloatingModalWrapper data-test-id={testId} padding=\"28px\" minWidth=\"400px\">\n <FormControl\n label={{\n children: 'Text',\n htmlFor: 'linkText',\n required: true,\n }}\n >\n <TextInput\n id=\"linkText\"\n value={state.text}\n placeholder=\"Link Text\"\n onChange={(event) => onTextChange(event.target.value)}\n />\n </FormControl>\n\n {children}\n\n <div className=\"tw-mt-5\">\n <LinkInput\n url={state.url}\n newTab={state.newTab}\n onUrlChange={onUrlChange}\n onToggleTab={onToggleTab}\n isValidUrlOrEmpty={isValidUrlOrEmpty}\n appBridge={appBridge}\n />\n </div>\n <div className=\"tw-mt-3\">\n <div className={'tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10'}>\n <Button data-test-id=\"button\" onPress={onCancel} size=\"medium\" emphasis=\"default\">\n Cancel\n </Button>\n <Button\n data-test-id=\"button\"\n onPress={onSave}\n size=\"medium\"\n disabled={!isValidUrlOrEmpty(state?.url) || !hasValues}\n >\n <IconCheckMark size=\"20\" />\n Save\n </Button>\n </div>\n </div>\n </FloatingModalWrapper>\n);\n"],"names":["InsertModal","state","onTextChange","onUrlChange","onToggleTab","onCancel","onSave","isValidUrlOrEmpty","hasValues","testId","appBridge","children","FloatingModalWrapper","jsx","FormControl","TextInput","event","LinkInput","jsxs","Button","IconCheckMark"],"mappings":";;;;;;AA2BO,MAAMA,IAAc,CAAC;AAAA,EACxB,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACJ,wBACKC,GAAA,EAAqB,gBAAcH,GAAQ,SAAQ,QAAO,UAAS,SAChE,UAAA;AAAA,EAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,QACH,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,MAGd,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAOd,EAAM;AAAA,UACb,aAAY;AAAA,UACZ,UAAU,CAACe,MAAUd,EAAac,EAAM,OAAO,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACxD;AAAA,EAAA;AAAA,EAGHL;AAAA,EAED,gBAAAE,EAAC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACG,KAAKhB,EAAM;AAAA,MACX,QAAQA,EAAM;AAAA,MACd,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAG;AAAA,MACA,WAAAG;AAAA,IAAA;AAAA,EAAA,GAER;AAAA,oBACC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAW,8EACZ,UAAA;AAAA,IAAA,gBAAAL,EAACM,GAAA,EAAO,gBAAa,UAAS,SAASd,GAAU,MAAK,UAAS,UAAS,WAAU,UAAA,SAAA,CAElF;AAAA,IACA,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,SAASb;AAAA,QACT,MAAK;AAAA,QACL,UAAU,CAACC,EAAkBN,
|
|
1
|
+
{"version":3,"file":"InsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport { FormControl } from '@frontify/fondue';\nimport { Button, TextInput } from '@frontify/fondue/components';\nimport { IconCheckMark } from '@frontify/fondue/icons';\nimport { FloatingModalWrapper } from '@frontify/fondue/rte';\nimport { type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { LinkInput } from '../../../../../Link';\n\nimport { type InsertModalStateProps } from './types';\n\ntype Props = {\n state: InsertModalStateProps;\n onTextChange: (value: string) => void;\n onUrlChange: (value: string) => void;\n onToggleTab: (checked: boolean) => void;\n onCancel: () => void;\n onSave: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => void;\n hasValues: boolean;\n isValidUrlOrEmpty: (url: string) => boolean;\n testId?: string;\n children?: ReactNode;\n appBridge: AppBridgeBlock;\n};\n\nexport const InsertModal = ({\n state,\n onTextChange,\n onUrlChange,\n onToggleTab,\n onCancel,\n onSave,\n isValidUrlOrEmpty,\n hasValues,\n testId,\n appBridge,\n children,\n}: Props): ReactElement => (\n <FloatingModalWrapper data-test-id={testId} padding=\"28px\" minWidth=\"400px\">\n <FormControl\n label={{\n children: 'Text',\n htmlFor: 'linkText',\n required: true,\n }}\n >\n <TextInput\n id=\"linkText\"\n value={state.text}\n placeholder=\"Link Text\"\n onChange={(event) => onTextChange(event.target.value)}\n />\n </FormControl>\n\n {children}\n\n <div className=\"tw-mt-5\">\n <LinkInput\n url={state.url}\n newTab={state.newTab}\n onUrlChange={onUrlChange}\n onToggleTab={onToggleTab}\n isValidUrlOrEmpty={isValidUrlOrEmpty}\n appBridge={appBridge}\n />\n </div>\n <div className=\"tw-mt-3\">\n <div className={'tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10'}>\n <Button data-test-id=\"button\" onPress={onCancel} size=\"medium\" emphasis=\"default\">\n Cancel\n </Button>\n <Button\n data-test-id=\"button\"\n onPress={onSave}\n size=\"medium\"\n disabled={!isValidUrlOrEmpty(state?.url) || !hasValues}\n >\n <IconCheckMark size=\"20\" />\n Save\n </Button>\n </div>\n </div>\n </FloatingModalWrapper>\n);\n"],"names":["InsertModal","state","onTextChange","onUrlChange","onToggleTab","onCancel","onSave","isValidUrlOrEmpty","hasValues","testId","appBridge","children","FloatingModalWrapper","jsx","FormControl","TextInput","event","LinkInput","jsxs","Button","IconCheckMark"],"mappings":";;;;;;AA2BO,MAAMA,IAAc,CAAC;AAAA,EACxB,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACJ,wBACKC,GAAA,EAAqB,gBAAcH,GAAQ,SAAQ,QAAO,UAAS,SAChE,UAAA;AAAA,EAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,QACH,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,MAGd,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAOd,EAAM;AAAA,UACb,aAAY;AAAA,UACZ,UAAU,CAACe,MAAUd,EAAac,EAAM,OAAO,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACxD;AAAA,EAAA;AAAA,EAGHL;AAAA,EAED,gBAAAE,EAAC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACG,KAAKhB,EAAM;AAAA,MACX,QAAQA,EAAM;AAAA,MACd,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAG;AAAA,MACA,WAAAG;AAAA,IAAA;AAAA,EAAA,GAER;AAAA,oBACC,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAW,8EACZ,UAAA;AAAA,IAAA,gBAAAL,EAACM,GAAA,EAAO,gBAAa,UAAS,SAASd,GAAU,MAAK,UAAS,UAAS,WAAU,UAAA,SAAA,CAElF;AAAA,IACA,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,SAASb;AAAA,QACT,MAAK;AAAA,QACL,UAAU,CAACC,EAAkBN,GAAO,GAAG,KAAK,CAACO;AAAA,QAE7C,UAAA;AAAA,UAAA,gBAAAK,EAACO,GAAA,EAAc,MAAK,KAAA,CAAK;AAAA,UAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAE/B,EAAA,CACJ,EAAA,CACJ;AAAA,EAAA,CACJ;"}
|
|
@@ -8,61 +8,61 @@ const A = {
|
|
|
8
8
|
text: "",
|
|
9
9
|
newTab: !1
|
|
10
10
|
}, h = () => {
|
|
11
|
-
const [
|
|
11
|
+
const [r, n] = I((t, s) => {
|
|
12
12
|
const { type: l, payload: c } = s;
|
|
13
13
|
switch (l) {
|
|
14
14
|
case "NEW_TAB":
|
|
15
15
|
return {
|
|
16
|
-
...
|
|
16
|
+
...t,
|
|
17
17
|
newTab: !0
|
|
18
18
|
};
|
|
19
19
|
case "SAME_TAB":
|
|
20
20
|
return {
|
|
21
|
-
...
|
|
21
|
+
...t,
|
|
22
22
|
newTab: !1
|
|
23
23
|
};
|
|
24
24
|
case "URL":
|
|
25
25
|
case "TEXT":
|
|
26
26
|
case "INIT":
|
|
27
27
|
return {
|
|
28
|
-
...
|
|
28
|
+
...t,
|
|
29
29
|
...c
|
|
30
30
|
};
|
|
31
31
|
default:
|
|
32
|
-
return
|
|
32
|
+
return t;
|
|
33
33
|
}
|
|
34
34
|
}, A);
|
|
35
|
-
return [
|
|
35
|
+
return [r, n];
|
|
36
36
|
}, R = () => {
|
|
37
|
-
const
|
|
37
|
+
const r = y(), [n, t] = h();
|
|
38
38
|
x(() => {
|
|
39
|
-
const
|
|
40
|
-
|
|
39
|
+
const e = L(r), f = N(r), g = o.newTab();
|
|
40
|
+
t({
|
|
41
41
|
type: "INIT",
|
|
42
42
|
payload: {
|
|
43
43
|
text: o.text() || o.url(),
|
|
44
44
|
newTab: g,
|
|
45
|
-
url:
|
|
45
|
+
url: e && f === "" ? e : o.url()
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
}, [
|
|
49
|
-
const s = (
|
|
50
|
-
|
|
48
|
+
}, [t, r]);
|
|
49
|
+
const s = (e) => {
|
|
50
|
+
t({
|
|
51
51
|
type: "TEXT",
|
|
52
|
-
payload: { text:
|
|
52
|
+
payload: { text: e }
|
|
53
53
|
});
|
|
54
|
-
}, l = (
|
|
55
|
-
|
|
54
|
+
}, l = (e) => {
|
|
55
|
+
t({
|
|
56
56
|
type: "URL",
|
|
57
|
-
payload: { url:
|
|
57
|
+
payload: { url: e }
|
|
58
58
|
});
|
|
59
|
-
}, c = (
|
|
60
|
-
e
|
|
59
|
+
}, c = (e) => {
|
|
60
|
+
t(e ? { type: "NEW_TAB" } : { type: "SAME_TAB" });
|
|
61
61
|
}, T = () => {
|
|
62
62
|
a.reset();
|
|
63
|
-
}, i = (
|
|
64
|
-
!p(
|
|
65
|
-
}, u =
|
|
63
|
+
}, i = (e) => {
|
|
64
|
+
!p(n.url) || !u || (a.text(n.text), a.url(U(n.url)), a.newTab(n.newTab), w(r) && e?.preventDefault());
|
|
65
|
+
}, u = n.url !== "" && n.text !== "", { appBridge: d } = m(r, E);
|
|
66
66
|
return b(
|
|
67
67
|
"enter",
|
|
68
68
|
i,
|
|
@@ -70,7 +70,7 @@ const A = {
|
|
|
70
70
|
enableOnFormTags: ["INPUT"]
|
|
71
71
|
},
|
|
72
72
|
[]
|
|
73
|
-
), { state:
|
|
73
|
+
), { state: n, onTextChange: s, onUrlChange: l, onToggleTab: c, onCancel: T, onSave: i, hasValues: u, isValidUrlOrEmpty: p, appBridge: d };
|
|
74
74
|
};
|
|
75
75
|
export {
|
|
76
76
|
h as InsertModalState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n ELEMENT_LINK,\n floatingLinkActions,\n floatingLinkSelectors,\n getPluginOptions,\n submitFloatingLink,\n useEditorRef,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Dispatch, type MouseEvent, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../Link';\nimport { getLegacyUrl, getUrl } from '../../utils';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const legacyUrl = getLegacyUrl(editor);\n const url = getUrl(editor);\n const isNewTab = floatingLinkSelectors.newTab();\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingLinkSelectors.text() || floatingLinkSelectors.url(),\n newTab: isNewTab,\n url: legacyUrl && url === '' ? legacyUrl : floatingLinkSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingLinkActions.reset();\n };\n\n const onSave = (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n floatingLinkActions.text(state.text);\n floatingLinkActions.url(addHttps(state.url));\n floatingLinkActions.newTab(state.newTab);\n\n if (submitFloatingLink(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_LINK);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return { state, onTextChange, onUrlChange, onToggleTab, onCancel, onSave, hasValues, isValidUrlOrEmpty, appBridge };\n};\n"],"names":["initialState","InsertModalState","state","dispatch","useReducer","action","type","payload","useInsertModal","editor","useEditorRef","useEffect","legacyUrl","getLegacyUrl","url","getUrl","isNewTab","floatingLinkSelectors","onTextChange","value","onUrlChange","onToggleTab","checked","onCancel","floatingLinkActions","onSave","event","isValidUrlOrEmpty","hasValues","addHttps","submitFloatingLink","appBridge","getPluginOptions","ELEMENT_LINK","useHotkeys"],"mappings":";;;;;AAoBA,MAAMA,IAAsC;AAAA,EACxC,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AACZ,GAEaC,IAAmB,MAAkE;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoE,CAACF,GAAOG,MAAW;AAC7G,UAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYF;AAE1B,YAAQC,GAAA;AAAA,MACJ,KAAK;AACD,eAAO;AAAA,UACH,GAAGJ;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,GAAGK;AAAA,QAAA;AAAA,MAEX;AACI,eAAOL;AAAAA,IAAA;AAAA,EAEnB,GAAGF,CAAY;AAEf,SAAO,CAACE,GAAOC,CAAQ;AAC3B,GAEaK,IAAiB,MAAM;AAChC,QAAMC,IAASC,EAAA,GACT,CAACR,GAAOC,CAAQ,IAAIF,EAAA;AAE1B,EAAAU,EAAU,MAAM;AACZ,UAAMC,IAAYC,EAAaJ,CAAM,GAC/BK,IAAMC,EAAON,CAAM,GACnBO,IAAWC,EAAsB,OAAA;AACvC,IAAAd,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAMc,EAAsB,UAAUA,EAAsB,IAAA;AAAA,QAC5D,QAAQD;AAAA,QACR,KAAKJ,KAAaE,MAAQ,KAAKF,IAAYK,EAAsB,IAAA;AAAA,MAAI;AAAA,IACzE,CACH;AAAA,EACL,GAAG,CAACd,GAAUM,CAAM,CAAC;AAErB,QAAMS,IAAe,CAACC,MAAkB;AACpC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,MAAMgB,EAAA;AAAA,IAAM,CAC1B;AAAA,EACL,GAEMC,IAAc,CAACD,MAAkB;AACnC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,KAAKgB,EAAA;AAAA,IAAM,CACzB;AAAA,EACL,GAEME,IAAc,CAACC,MAAqB;AACtC,IAAUnB,EAAVmB,IAAmB,EAAE,MAAM,UAAA,IAAwB,EAAE,MAAM,YAArB;AAAA,EAC1C,GAEMC,IAAW,MAAM;AACnB,IAAAC,EAAoB,MAAA;AAAA,EACxB,GAEMC,IAAS,CAACC,MAA4F;AACxG,IAAI,CAACC,EAAkBzB,EAAM,GAAG,KAAK,CAAC0B,MAItCJ,EAAoB,KAAKtB,EAAM,IAAI,GACnCsB,EAAoB,IAAIK,EAAS3B,EAAM,GAAG,CAAC,GAC3CsB,EAAoB,OAAOtB,EAAM,MAAM,GAEnC4B,EAAmBrB,CAAM,
|
|
1
|
+
{"version":3,"file":"useInsertModal.es.js","sources":["../../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n ELEMENT_LINK,\n floatingLinkActions,\n floatingLinkSelectors,\n getPluginOptions,\n submitFloatingLink,\n useEditorRef,\n useHotkeys,\n} from '@frontify/fondue/rte';\nimport { type Dispatch, type MouseEvent, type Reducer, useEffect, useReducer } from 'react';\n\nimport { addHttps } from '../../../../../../helpers';\nimport { isValidUrlOrEmpty } from '../../../../../Link';\nimport { getLegacyUrl, getUrl } from '../../utils';\n\nimport { type InsertModalDispatchType, type InsertModalStateProps } from './types';\n\nconst initialState: InsertModalStateProps = {\n url: '',\n text: '',\n newTab: false,\n};\n\nexport const InsertModalState = (): [InsertModalStateProps, Dispatch<InsertModalDispatchType>] => {\n const [state, dispatch] = useReducer<Reducer<InsertModalStateProps, InsertModalDispatchType>>((state, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'NEW_TAB':\n return {\n ...state,\n newTab: true,\n };\n case 'SAME_TAB':\n return {\n ...state,\n newTab: false,\n };\n case 'URL':\n case 'TEXT':\n case 'INIT':\n return {\n ...state,\n ...payload,\n };\n default:\n return state;\n }\n }, initialState);\n\n return [state, dispatch];\n};\n\nexport const useInsertModal = () => {\n const editor = useEditorRef();\n const [state, dispatch] = InsertModalState();\n\n useEffect(() => {\n const legacyUrl = getLegacyUrl(editor);\n const url = getUrl(editor);\n const isNewTab = floatingLinkSelectors.newTab();\n dispatch({\n type: 'INIT',\n payload: {\n text: floatingLinkSelectors.text() || floatingLinkSelectors.url(),\n newTab: isNewTab,\n url: legacyUrl && url === '' ? legacyUrl : floatingLinkSelectors.url(),\n },\n });\n }, [dispatch, editor]);\n\n const onTextChange = (value: string) => {\n dispatch({\n type: 'TEXT',\n payload: { text: value },\n });\n };\n\n const onUrlChange = (value: string) => {\n dispatch({\n type: 'URL',\n payload: { url: value },\n });\n };\n\n const onToggleTab = (checked: boolean) => {\n checked ? dispatch({ type: 'NEW_TAB' }) : dispatch({ type: 'SAME_TAB' });\n };\n\n const onCancel = () => {\n floatingLinkActions.reset();\n };\n\n const onSave = (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent> | KeyboardEvent | undefined) => {\n if (!isValidUrlOrEmpty(state.url) || !hasValues) {\n return;\n }\n\n floatingLinkActions.text(state.text);\n floatingLinkActions.url(addHttps(state.url));\n floatingLinkActions.newTab(state.newTab);\n\n if (submitFloatingLink(editor)) {\n event?.preventDefault();\n }\n };\n\n const hasValues = state.url !== '' && state.text !== '';\n\n const { appBridge } = getPluginOptions<{ appBridge: AppBridgeBlock }>(editor, ELEMENT_LINK);\n\n useHotkeys(\n 'enter',\n onSave,\n {\n enableOnFormTags: ['INPUT'],\n },\n [],\n );\n\n return { state, onTextChange, onUrlChange, onToggleTab, onCancel, onSave, hasValues, isValidUrlOrEmpty, appBridge };\n};\n"],"names":["initialState","InsertModalState","state","dispatch","useReducer","action","type","payload","useInsertModal","editor","useEditorRef","useEffect","legacyUrl","getLegacyUrl","url","getUrl","isNewTab","floatingLinkSelectors","onTextChange","value","onUrlChange","onToggleTab","checked","onCancel","floatingLinkActions","onSave","event","isValidUrlOrEmpty","hasValues","addHttps","submitFloatingLink","appBridge","getPluginOptions","ELEMENT_LINK","useHotkeys"],"mappings":";;;;;AAoBA,MAAMA,IAAsC;AAAA,EACxC,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AACZ,GAEaC,IAAmB,MAAkE;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoE,CAACF,GAAOG,MAAW;AAC7G,UAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYF;AAE1B,YAAQC,GAAA;AAAA,MACJ,KAAK;AACD,eAAO;AAAA,UACH,GAAGJ;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,QAAQ;AAAA,QAAA;AAAA,MAEhB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,UACH,GAAGA;AAAAA,UACH,GAAGK;AAAA,QAAA;AAAA,MAEX;AACI,eAAOL;AAAAA,IAAA;AAAA,EAEnB,GAAGF,CAAY;AAEf,SAAO,CAACE,GAAOC,CAAQ;AAC3B,GAEaK,IAAiB,MAAM;AAChC,QAAMC,IAASC,EAAA,GACT,CAACR,GAAOC,CAAQ,IAAIF,EAAA;AAE1B,EAAAU,EAAU,MAAM;AACZ,UAAMC,IAAYC,EAAaJ,CAAM,GAC/BK,IAAMC,EAAON,CAAM,GACnBO,IAAWC,EAAsB,OAAA;AACvC,IAAAd,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAMc,EAAsB,UAAUA,EAAsB,IAAA;AAAA,QAC5D,QAAQD;AAAA,QACR,KAAKJ,KAAaE,MAAQ,KAAKF,IAAYK,EAAsB,IAAA;AAAA,MAAI;AAAA,IACzE,CACH;AAAA,EACL,GAAG,CAACd,GAAUM,CAAM,CAAC;AAErB,QAAMS,IAAe,CAACC,MAAkB;AACpC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,MAAMgB,EAAA;AAAA,IAAM,CAC1B;AAAA,EACL,GAEMC,IAAc,CAACD,MAAkB;AACnC,IAAAhB,EAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,EAAE,KAAKgB,EAAA;AAAA,IAAM,CACzB;AAAA,EACL,GAEME,IAAc,CAACC,MAAqB;AACtC,IAAUnB,EAAVmB,IAAmB,EAAE,MAAM,UAAA,IAAwB,EAAE,MAAM,YAArB;AAAA,EAC1C,GAEMC,IAAW,MAAM;AACnB,IAAAC,EAAoB,MAAA;AAAA,EACxB,GAEMC,IAAS,CAACC,MAA4F;AACxG,IAAI,CAACC,EAAkBzB,EAAM,GAAG,KAAK,CAAC0B,MAItCJ,EAAoB,KAAKtB,EAAM,IAAI,GACnCsB,EAAoB,IAAIK,EAAS3B,EAAM,GAAG,CAAC,GAC3CsB,EAAoB,OAAOtB,EAAM,MAAM,GAEnC4B,EAAmBrB,CAAM,KACzBiB,GAAO,eAAA;AAAA,EAEf,GAEME,IAAY1B,EAAM,QAAQ,MAAMA,EAAM,SAAS,IAE/C,EAAE,WAAA6B,EAAA,IAAcC,EAAgDvB,GAAQwB,CAAY;AAE1F,SAAAC;AAAA,IACI;AAAA,IACAT;AAAA,IACA;AAAA,MACI,kBAAkB,CAAC,OAAO;AAAA,IAAA;AAAA,IAE9B,CAAA;AAAA,EAAC,GAGE,EAAE,OAAAvB,GAAO,cAAAgB,GAAc,aAAAE,GAAa,aAAAC,GAAa,UAAAE,GAAU,QAAAE,GAAQ,WAAAG,GAAW,mBAAAD,GAAmB,WAAAI,EAAA;AAC5G;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRichTextEditorContext as
|
|
3
|
-
import { LINK_PLUGIN as
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return /* @__PURE__ */ m("a", { ...r, href: l, target: i, style: s[a], children: o });
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { useRichTextEditorContext as i } from "@frontify/fondue/rte";
|
|
3
|
+
import { LINK_PLUGIN as m } from "../id.es.js";
|
|
4
|
+
const f = (e) => {
|
|
5
|
+
const { attributes: t, children: n } = e, { styles: r } = i(), o = e.element.url || e.element.chosenLink?.searchResult?.link || "", s = e.element.target || "_self";
|
|
6
|
+
return /* @__PURE__ */ l("a", { ...t, href: o, target: s, style: r[m], children: n });
|
|
8
7
|
};
|
|
9
8
|
export {
|
|
10
|
-
|
|
9
|
+
f as LinkMarkupElementNode
|
|
11
10
|
};
|
|
12
11
|
//# sourceMappingURL=LinkMarkupElementNode.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkMarkupElementNode.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateRenderElementProps,\n type TLinkElement as TPlateLinkElement,\n useRichTextEditorContext,\n} from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../id';\n\nexport type TLinkElement = TPlateLinkElement & {\n chosenLink?: {\n searchResult?: {\n link?: string;\n };\n openInNewTab?: boolean;\n };\n};\n\nexport const LinkMarkupElementNode = (props: PlateRenderElementProps & { element: TLinkElement }) => {\n const { attributes, children } = props;\n\n const { styles } = useRichTextEditorContext();\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n\n return (\n <a {...attributes} href={href} target={target} style={styles[LINK_PLUGIN]}>\n {children}\n </a>\n );\n};\n"],"names":["LinkMarkupElementNode","props","attributes","children","styles","useRichTextEditorContext","href","
|
|
1
|
+
{"version":3,"file":"LinkMarkupElementNode.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n type PlateRenderElementProps,\n type TLinkElement as TPlateLinkElement,\n useRichTextEditorContext,\n} from '@frontify/fondue/rte';\n\nimport { LINK_PLUGIN } from '../id';\n\nexport type TLinkElement = TPlateLinkElement & {\n chosenLink?: {\n searchResult?: {\n link?: string;\n };\n openInNewTab?: boolean;\n };\n};\n\nexport const LinkMarkupElementNode = (props: PlateRenderElementProps & { element: TLinkElement }) => {\n const { attributes, children } = props;\n\n const { styles } = useRichTextEditorContext();\n const href = props.element.url || props.element.chosenLink?.searchResult?.link || '';\n const target = props.element.target || '_self';\n\n return (\n <a {...attributes} href={href} target={target} style={styles[LINK_PLUGIN]}>\n {children}\n </a>\n );\n};\n"],"names":["LinkMarkupElementNode","props","attributes","children","styles","useRichTextEditorContext","href","target","jsx","LINK_PLUGIN"],"mappings":";;;AAmBO,MAAMA,IAAwB,CAACC,MAA+D;AACjG,QAAM,EAAE,YAAAC,GAAY,UAAAC,EAAA,IAAaF,GAE3B,EAAE,QAAAG,EAAA,IAAWC,EAAA,GACbC,IAAOL,EAAM,QAAQ,OAAOA,EAAM,QAAQ,YAAY,cAAc,QAAQ,IAC5EM,IAASN,EAAM,QAAQ,UAAU;AAEvC,SACI,gBAAAO,EAAC,KAAA,EAAG,GAAGN,GAAY,MAAAI,GAAY,QAAAC,GAAgB,OAAOH,EAAOK,CAAW,GACnE,UAAAN,EAAA,CACL;AAER;"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const f = (t) => s({
|
|
12
|
-
...p(),
|
|
13
|
-
renderAfterEditable: g,
|
|
1
|
+
import { Plugin as n, createPluginFactory as o, createLinkPlugin as a } from "@frontify/fondue/rte";
|
|
2
|
+
import { BlockStyles as l } from "../styles.es.js";
|
|
3
|
+
import { CustomFloatingLink as s } from "./FloatingLink/CustomFloatingLink.es.js";
|
|
4
|
+
import { LinkButton as p } from "./LinkButton.es.js";
|
|
5
|
+
import { LinkMarkupElement as m } from "./LinkMarkupElement/index.es.js";
|
|
6
|
+
import { LINK_PLUGIN as r } from "./id.es.js";
|
|
7
|
+
import { isValidUrl as u } from "../../../Link/utils/url.es.js";
|
|
8
|
+
const g = (t) => o({
|
|
9
|
+
...a(),
|
|
10
|
+
renderAfterEditable: s,
|
|
14
11
|
options: {
|
|
15
|
-
isUrl:
|
|
12
|
+
isUrl: u,
|
|
16
13
|
rangeBeforeOptions: {
|
|
17
14
|
matchString: " ",
|
|
18
15
|
skipInvalid: !0,
|
|
@@ -23,23 +20,22 @@ const f = (t) => s({
|
|
|
23
20
|
appBridge: t
|
|
24
21
|
}
|
|
25
22
|
})();
|
|
26
|
-
class
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
i
|
|
35
|
-
this.styles = r, this.appBridge = n.appBridge;
|
|
23
|
+
class h extends n {
|
|
24
|
+
styles = {};
|
|
25
|
+
appBridge;
|
|
26
|
+
constructor({ styles: i = l[r], ...e }) {
|
|
27
|
+
super(r, {
|
|
28
|
+
button: p,
|
|
29
|
+
markupElement: new m(),
|
|
30
|
+
...e
|
|
31
|
+
}), this.styles = i, this.appBridge = e.appBridge;
|
|
36
32
|
}
|
|
37
33
|
plugins() {
|
|
38
|
-
return [
|
|
34
|
+
return [g(this.appBridge)];
|
|
39
35
|
}
|
|
40
36
|
}
|
|
41
37
|
export {
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
h as LinkPlugin,
|
|
39
|
+
g as createLinkPlugin
|
|
44
40
|
};
|
|
45
41
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type PlatePlugin,\n Plugin,\n type PluginProps,\n createLinkPlugin as createPlateLinkPlugin,\n createPluginFactory,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { isValidUrl } from '../../../Link';\nimport { BlockStyles } from '../styles';\n\nimport { CustomFloatingLink } from './FloatingLink/CustomFloatingLink';\nimport { LinkButton } from './LinkButton';\nimport { LinkMarkupElement } from './LinkMarkupElement';\nimport { LINK_PLUGIN } from './id';\n\nexport const createLinkPlugin = (appBridge: AppBridgeBlock): PlatePlugin =>\n createPluginFactory({\n ...createPlateLinkPlugin(),\n renderAfterEditable: CustomFloatingLink,\n options: {\n isUrl: isValidUrl,\n rangeBeforeOptions: {\n matchString: ' ',\n skipInvalid: true,\n afterMatch: true,\n },\n triggerFloatingLinkHotkeys: 'meta+k, ctrl+k',\n keepSelectedTextOnPaste: true,\n appBridge,\n },\n })();\n\nexport type LinkPluginProps = PluginProps & { appBridge: AppBridgeBlock };\n\nexport class LinkPlugin extends Plugin {\n public styles: CSSProperties = {};\n private appBridge: AppBridgeBlock;\n constructor({ styles = BlockStyles[LINK_PLUGIN], ...props }: LinkPluginProps) {\n super(LINK_PLUGIN, {\n button: LinkButton,\n markupElement: new LinkMarkupElement(),\n ...props,\n });\n this.styles = styles;\n this.appBridge = props.appBridge;\n }\n\n plugins(): PlatePlugin[] {\n return [createLinkPlugin(this.appBridge)];\n }\n}\n"],"names":["createLinkPlugin","appBridge","createPluginFactory","createPlateLinkPlugin","CustomFloatingLink","isValidUrl","LinkPlugin","Plugin","styles","BlockStyles","LINK_PLUGIN","props","LinkButton","LinkMarkupElement"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/index.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type AppBridgeBlock } from '@frontify/app-bridge';\nimport {\n type PlatePlugin,\n Plugin,\n type PluginProps,\n createLinkPlugin as createPlateLinkPlugin,\n createPluginFactory,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { isValidUrl } from '../../../Link';\nimport { BlockStyles } from '../styles';\n\nimport { CustomFloatingLink } from './FloatingLink/CustomFloatingLink';\nimport { LinkButton } from './LinkButton';\nimport { LinkMarkupElement } from './LinkMarkupElement';\nimport { LINK_PLUGIN } from './id';\n\nexport const createLinkPlugin = (appBridge: AppBridgeBlock): PlatePlugin =>\n createPluginFactory({\n ...createPlateLinkPlugin(),\n renderAfterEditable: CustomFloatingLink,\n options: {\n isUrl: isValidUrl,\n rangeBeforeOptions: {\n matchString: ' ',\n skipInvalid: true,\n afterMatch: true,\n },\n triggerFloatingLinkHotkeys: 'meta+k, ctrl+k',\n keepSelectedTextOnPaste: true,\n appBridge,\n },\n })();\n\nexport type LinkPluginProps = PluginProps & { appBridge: AppBridgeBlock };\n\nexport class LinkPlugin extends Plugin {\n public styles: CSSProperties = {};\n private appBridge: AppBridgeBlock;\n constructor({ styles = BlockStyles[LINK_PLUGIN], ...props }: LinkPluginProps) {\n super(LINK_PLUGIN, {\n button: LinkButton,\n markupElement: new LinkMarkupElement(),\n ...props,\n });\n this.styles = styles;\n this.appBridge = props.appBridge;\n }\n\n plugins(): PlatePlugin[] {\n return [createLinkPlugin(this.appBridge)];\n }\n}\n"],"names":["createLinkPlugin","appBridge","createPluginFactory","createPlateLinkPlugin","CustomFloatingLink","isValidUrl","LinkPlugin","Plugin","styles","BlockStyles","LINK_PLUGIN","props","LinkButton","LinkMarkupElement"],"mappings":";;;;;;;AAoBO,MAAMA,IAAmB,CAACC,MAC7BC,EAAoB;AAAA,EAChB,GAAGC,EAAA;AAAA,EACH,qBAAqBC;AAAA,EACrB,SAAS;AAAA,IACL,OAAOC;AAAA,IACP,oBAAoB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IAAA;AAAA,IAEhB,4BAA4B;AAAA,IAC5B,yBAAyB;AAAA,IACzB,WAAAJ;AAAA,EAAA;AAER,CAAC,EAAA;AAIE,MAAMK,UAAmBC,EAAO;AAAA,EAC5B,SAAwB,CAAA;AAAA,EACvB;AAAA,EACR,YAAY,EAAE,QAAAC,IAASC,EAAYC,CAAW,GAAG,GAAGC,KAA0B;AAC1E,UAAMD,GAAa;AAAA,MACf,QAAQE;AAAA,MACR,eAAe,IAAIC,EAAA;AAAA,MACnB,GAAGF;AAAA,IAAA,CACN,GACD,KAAK,SAASH,GACd,KAAK,YAAYG,EAAM;AAAA,EAC3B;AAAA,EAEA,UAAyB;AACrB,WAAO,CAACX,EAAiB,KAAK,SAAS,CAAC;AAAA,EAC5C;AACJ;"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { getAboveNode as
|
|
2
|
-
const
|
|
3
|
-
const t =
|
|
1
|
+
import { getAboveNode as o, ELEMENT_LINK as c } from "@frontify/fondue/rte";
|
|
2
|
+
const n = (r, e) => {
|
|
3
|
+
const t = o(r, { match: { type: c } });
|
|
4
4
|
return Array.isArray(t) ? e(t[0]) : "";
|
|
5
|
-
}, l = (r) =>
|
|
6
|
-
var t, n;
|
|
7
|
-
return ((n = (t = e.chosenLink) == null ? void 0 : t.searchResult) == null ? void 0 : n.link) || "";
|
|
8
|
-
}), u = (r) => o(r, (e) => e.url || "");
|
|
5
|
+
}, i = (r) => n(r, (e) => e.chosenLink?.searchResult?.link || ""), l = (r) => n(r, (e) => e.url || "");
|
|
9
6
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
i as getLegacyUrl,
|
|
8
|
+
l as getUrl
|
|
12
9
|
};
|
|
13
10
|
//# sourceMappingURL=getUrl.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUrl.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ELEMENT_LINK, type PlateEditor, getAboveNode } from '@frontify/fondue/rte';\n\nimport { type TLinkElement } from '../types';\n\nconst getLinkNode = (editor: PlateEditor, cb: (link: TLinkElement) => string): string => {\n const linkNode = getAboveNode<TLinkElement>(editor, { match: { type: ELEMENT_LINK } });\n\n if (!Array.isArray(linkNode)) {\n return '';\n }\n\n return cb(linkNode[0]);\n};\n\nexport const getLegacyUrl = (editor: PlateEditor) => {\n return getLinkNode(editor, (link) => link.chosenLink?.searchResult?.link || '');\n};\n\nexport const getUrl = (editor: PlateEditor) => {\n return getLinkNode(editor, (link) => link.url || '');\n};\n\nexport const getUrlFromLinkOrLegacyLink = (link: TLinkElement): string => {\n return link.url || link.chosenLink?.searchResult?.link || '';\n};\n\nexport const getUrlFromEditor = (editor: PlateEditor) => {\n return getLinkNode(editor, getUrlFromLinkOrLegacyLink);\n};\n"],"names":["getLinkNode","editor","cb","linkNode","getAboveNode","ELEMENT_LINK","getLegacyUrl","link","
|
|
1
|
+
{"version":3,"file":"getUrl.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ELEMENT_LINK, type PlateEditor, getAboveNode } from '@frontify/fondue/rte';\n\nimport { type TLinkElement } from '../types';\n\nconst getLinkNode = (editor: PlateEditor, cb: (link: TLinkElement) => string): string => {\n const linkNode = getAboveNode<TLinkElement>(editor, { match: { type: ELEMENT_LINK } });\n\n if (!Array.isArray(linkNode)) {\n return '';\n }\n\n return cb(linkNode[0]);\n};\n\nexport const getLegacyUrl = (editor: PlateEditor) => {\n return getLinkNode(editor, (link) => link.chosenLink?.searchResult?.link || '');\n};\n\nexport const getUrl = (editor: PlateEditor) => {\n return getLinkNode(editor, (link) => link.url || '');\n};\n\nexport const getUrlFromLinkOrLegacyLink = (link: TLinkElement): string => {\n return link.url || link.chosenLink?.searchResult?.link || '';\n};\n\nexport const getUrlFromEditor = (editor: PlateEditor) => {\n return getLinkNode(editor, getUrlFromLinkOrLegacyLink);\n};\n"],"names":["getLinkNode","editor","cb","linkNode","getAboveNode","ELEMENT_LINK","getLegacyUrl","link","getUrl"],"mappings":";AAMA,MAAMA,IAAc,CAACC,GAAqBC,MAA+C;AACrF,QAAMC,IAAWC,EAA2BH,GAAQ,EAAE,OAAO,EAAE,MAAMI,EAAA,GAAgB;AAErF,SAAK,MAAM,QAAQF,CAAQ,IAIpBD,EAAGC,EAAS,CAAC,CAAC,IAHV;AAIf,GAEaG,IAAe,CAACL,MAClBD,EAAYC,GAAQ,CAACM,MAASA,EAAK,YAAY,cAAc,QAAQ,EAAE,GAGrEC,IAAS,CAACP,MACZD,EAAYC,GAAQ,CAACM,MAASA,EAAK,OAAO,EAAE;"}
|
|
@@ -1,50 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor({ styles: e = x.custom1, ...l } = {}) {
|
|
10
|
-
super(o.custom1, {
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { Plugin as u, MarkupElement as a, createPluginFactory as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue/rte";
|
|
3
|
+
import { TextStyles as l, BlockStyles as y } from "../styles.es.js";
|
|
4
|
+
const C = "textstyle-custom1-plugin";
|
|
5
|
+
class f extends u {
|
|
6
|
+
styles = {};
|
|
7
|
+
constructor({ styles: s = y.custom1, ...e } = {}) {
|
|
8
|
+
super(l.custom1, {
|
|
11
9
|
label: "Custom 1",
|
|
12
|
-
markupElement: new
|
|
13
|
-
...
|
|
14
|
-
});
|
|
15
|
-
n(this, "styles", {});
|
|
16
|
-
this.styles = e;
|
|
10
|
+
markupElement: new k(),
|
|
11
|
+
...e
|
|
12
|
+
}), this.styles = s;
|
|
17
13
|
}
|
|
18
14
|
plugins() {
|
|
19
|
-
return [
|
|
15
|
+
return [x(this.styles)];
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
|
-
class
|
|
23
|
-
constructor(s =
|
|
18
|
+
class k extends a {
|
|
19
|
+
constructor(s = C, e = n) {
|
|
24
20
|
super(s, e);
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
return /* @__PURE__ */
|
|
23
|
+
const n = ({ element: t, attributes: s, children: e, styles: r }) => {
|
|
24
|
+
const o = t.align;
|
|
25
|
+
return /* @__PURE__ */ m(
|
|
30
26
|
"p",
|
|
31
27
|
{
|
|
32
28
|
...s,
|
|
33
|
-
style:
|
|
34
|
-
className:
|
|
29
|
+
style: r,
|
|
30
|
+
className: i([o && p[o], g(t)]),
|
|
35
31
|
children: e
|
|
36
32
|
}
|
|
37
33
|
);
|
|
38
|
-
},
|
|
39
|
-
key:
|
|
34
|
+
}, x = (t) => c({
|
|
35
|
+
key: l.custom1,
|
|
40
36
|
isElement: !0,
|
|
41
37
|
deserializeHtml: {
|
|
42
|
-
rules: [{ validClassName:
|
|
38
|
+
rules: [{ validClassName: l.custom1 }]
|
|
43
39
|
}
|
|
44
40
|
})({
|
|
45
|
-
component: (s) => /* @__PURE__ */
|
|
41
|
+
component: (s) => /* @__PURE__ */ m(n, { ...s, styles: t })
|
|
46
42
|
});
|
|
47
43
|
export {
|
|
48
|
-
|
|
44
|
+
f as Custom1Plugin
|
|
49
45
|
};
|
|
50
46
|
//# sourceMappingURL=custom1Plugin.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n MarkupElement,\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type TextStyleRenderElementProps,\n alignmentClassnames,\n createPluginFactory,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom1-plugin';\n\nexport class Custom1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom1, ...props }: PluginProps = {}) {\n super(TextStyles.custom1, {\n label: 'Custom 1',\n markupElement: new Custom1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins(): PlatePlugin[] {\n return [createCustom1Plugin(this.styles)];\n }\n}\n\nclass Custom1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n style={styles}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom1,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom1 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom1MarkupElement","
|
|
1
|
+
{"version":3,"file":"custom1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n MarkupElement,\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type TextStyleRenderElementProps,\n alignmentClassnames,\n createPluginFactory,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom1-plugin';\n\nexport class Custom1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom1, ...props }: PluginProps = {}) {\n super(TextStyles.custom1, {\n label: 'Custom 1',\n markupElement: new Custom1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins(): PlatePlugin[] {\n return [createCustom1Plugin(this.styles)];\n }\n}\n\nclass Custom1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n style={styles}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom1,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom1 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom1MarkupElement","createCustom1Plugin","MarkupElement","id","node","Custom1MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;AAiBA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAC/B,SAAwB,CAAA;AAAA,EAC/B,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAA,IAAuB,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAA;AAAA,MACnB,GAAGF;AAAA,IAAA,CACN,GACD,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAyB;AACrB,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AACtB,SACI,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,OAAOX;AAAA,MACP,WAAWe,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MAErF,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAAA;AAEtD,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAAA,EAA0B,GAAGP,GAAO,QAAAF,EAAA,CAAgB;AAC5G,CAAC;"}
|
|
@@ -1,50 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor({ styles: e = x.custom2, ...l } = {}) {
|
|
10
|
-
super(o.custom2, {
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { Plugin as u, MarkupElement as a, createPluginFactory as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue/rte";
|
|
3
|
+
import { TextStyles as l, BlockStyles as y } from "../styles.es.js";
|
|
4
|
+
const C = "textstyle-custom2-plugin";
|
|
5
|
+
class f extends u {
|
|
6
|
+
styles = {};
|
|
7
|
+
constructor({ styles: s = y.custom2, ...e } = {}) {
|
|
8
|
+
super(l.custom2, {
|
|
11
9
|
label: "Custom 2",
|
|
12
|
-
markupElement: new
|
|
13
|
-
...
|
|
14
|
-
});
|
|
15
|
-
n(this, "styles", {});
|
|
16
|
-
this.styles = e;
|
|
10
|
+
markupElement: new k(),
|
|
11
|
+
...e
|
|
12
|
+
}), this.styles = s;
|
|
17
13
|
}
|
|
18
14
|
plugins() {
|
|
19
|
-
return [
|
|
15
|
+
return [x(this.styles)];
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
|
-
class
|
|
23
|
-
constructor(s =
|
|
18
|
+
class k extends a {
|
|
19
|
+
constructor(s = C, e = n) {
|
|
24
20
|
super(s, e);
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
return /* @__PURE__ */
|
|
23
|
+
const n = ({ element: t, attributes: s, children: e, styles: r }) => {
|
|
24
|
+
const o = t.align;
|
|
25
|
+
return /* @__PURE__ */ m(
|
|
30
26
|
"p",
|
|
31
27
|
{
|
|
32
28
|
...s,
|
|
33
|
-
className:
|
|
34
|
-
style:
|
|
29
|
+
className: i([o && p[o], g(t)]),
|
|
30
|
+
style: r,
|
|
35
31
|
children: e
|
|
36
32
|
}
|
|
37
33
|
);
|
|
38
|
-
},
|
|
39
|
-
key:
|
|
34
|
+
}, x = (t) => c({
|
|
35
|
+
key: l.custom2,
|
|
40
36
|
isElement: !0,
|
|
41
37
|
deserializeHtml: {
|
|
42
|
-
rules: [{ validClassName:
|
|
38
|
+
rules: [{ validClassName: l.custom2 }]
|
|
43
39
|
}
|
|
44
40
|
})({
|
|
45
|
-
component: (s) => /* @__PURE__ */
|
|
41
|
+
component: (s) => /* @__PURE__ */ m(n, { ...s, styles: t })
|
|
46
42
|
});
|
|
47
43
|
export {
|
|
48
|
-
|
|
44
|
+
f as Custom2Plugin
|
|
49
45
|
};
|
|
50
46
|
//# sourceMappingURL=custom2Plugin.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom2Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n MarkupElement,\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type TextStyleRenderElementProps,\n alignmentClassnames,\n createPluginFactory,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom2-plugin';\n\nexport class Custom2Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom2, ...props }: PluginProps = {}) {\n super(TextStyles.custom2, {\n label: 'Custom 2',\n markupElement: new Custom2MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins(): PlatePlugin[] {\n return [createCustom2Plugin(this.styles)];\n }\n}\n\nclass Custom2MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom2MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom2MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n style={styles}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom2Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom2,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom2 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom2MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom2Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom2MarkupElement","
|
|
1
|
+
{"version":3,"file":"custom2Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n MarkupElement,\n type PlatePlugin,\n Plugin,\n type PluginProps,\n type TextStyleRenderElementProps,\n alignmentClassnames,\n createPluginFactory,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue/rte';\nimport { type CSSProperties } from 'react';\n\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom2-plugin';\n\nexport class Custom2Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom2, ...props }: PluginProps = {}) {\n super(TextStyles.custom2, {\n label: 'Custom 2',\n markupElement: new Custom2MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins(): PlatePlugin[] {\n return [createCustom2Plugin(this.styles)];\n }\n}\n\nclass Custom2MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom2MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom2MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n style={styles}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom2Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom2,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom2 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom2MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom2Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom2MarkupElement","createCustom2Plugin","MarkupElement","id","node","Custom2MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;AAiBA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAC/B,SAAwB,CAAA;AAAA,EAC/B,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAA,IAAuB,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAA;AAAA,MACnB,GAAGF;AAAA,IAAA,CACN,GACD,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAyB;AACrB,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AACtB,SACI,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MACtF,OAAOV;AAAA,MAEN,UAAAY;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAAA;AAEtD,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAAA,EAA0B,GAAGP,GAAO,QAAAF,EAAA,CAAgB;AAC5G,CAAC;"}
|