@frontify/guideline-blocks-settings 0.31.5 → 0.32.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"PageLink.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock, AppBridgeTheme, useDocumentSection } from '@frontify/app-bridge';\nimport { merge } from '@frontify/fondue';\nimport { useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { SectionLink } from './SectionLink';\n\ntype DocumentLinkProps = {\n page: {\n id: number;\n title: string;\n permanentLink: string;\n };\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n appBridge: AppBridgeBlock | AppBridgeTheme;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLink = ({ page, selectedUrl, onSelectUrl, itemsToExpandInitially, appBridge }: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(page.id === itemsToExpandInitially.documentId);\n const isActive = page.permanentLink === selectedUrl;\n const { documentSections } = useDocumentSection(appBridge, page.id);\n const sectionsArray = [...documentSections.values()];\n const hasSections = sectionsArray.length > 0;\n\n useEffect(() => {\n if (page.id === itemsToExpandInitially.pageId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, page.id]);\n\n return (\n <>\n <button\n data-test-id=\"internal-link-selector-page-link\"\n className={merge([\n 'tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full',\n hasSections ? 'tw-pl-7' : 'tw-pl-12',\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(page.permanentLink)}\n >\n <div key={page.id} className=\"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6\">\n {hasSections && (\n <button\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 )}\n <span className=\"tw-text-s\">{page.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Page</span>\n </div>\n </button>\n {isExpanded &&\n sectionsArray.length > 0 &&\n sectionsArray.map((section) => {\n return (\n <SectionLink\n key={section.id}\n section={section}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n />\n );\n })}\n </>\n );\n};\n"],"names":["PageLink","page","selectedUrl","onSelectUrl","itemsToExpandInitially","appBridge","isExpanded","setIsExpanded","useState","isActive","documentSections","useDocumentSection","sectionsArray","hasSections","useEffect","jsxs","Fragment","jsx","merge","section","SectionLink"],"mappings":";;;;;AAoBa,MAAAA,IAAW,CAAC,EAAE,MAAAC,GAAM,aAAAC,GAAa,aAAAC,GAAa,wBAAAC,GAAwB,WAAAC,QAAmC;AAC5G,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAK,OAAOG,EAAuB,UAAU,GACpFK,IAAWR,EAAK,kBAAkBC,GAClC,EAAE,kBAAAQ,EAAiB,IAAIC,EAAmBN,GAAWJ,EAAK,EAAE,GAC5DW,IAAgB,CAAC,GAAGF,EAAiB,OAAQ,CAAA,GAC7CG,IAAcD,EAAc,SAAS;AAE3C,SAAAE,EAAU,MAAM;AACR,IAAAb,EAAK,OAAOG,EAAuB,UACnCG,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACH,GAAwBH,EAAK,EAAE,CAAC,GAI5B,gBAAAc,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAWC,EAAM;AAAA,UACb;AAAA,UACAL,IAAc,YAAY;AAAA,UAC1BJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAMN,EAAYF,EAAK,aAAa;AAAA,QAE7C,UAAA,gBAAAc,EAAC,OAAkB,EAAA,WAAU,yDACxB,UAAA;AAAA,UACGF,KAAA,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMV,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAW;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWC,EAAM;AAAA,oBACb;AAAA,oBACAZ,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,UAEH,gBAAAW,EAAA,QAAA,EAAK,WAAU,aAAa,YAAK,OAAM;AAAA,UACvC,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAI,QAAA;AAAA,QAAA,EAAA,GAhBnEhB,EAAK,EAiBf;AAAA,MAAA;AAAA,IACJ;AAAA,IACCK,KACGM,EAAc,SAAS,KACvBA,EAAc,IAAI,CAACO,MAEX,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,SAAAD;AAAA,QACA,aAAAjB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,MAHKgB,EAAQ;AAAA,IAAA,CAMxB;AAAA,EACT,EAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"PageLink.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type DocumentSection } from '@frontify/app-bridge';\nimport { merge } from '@frontify/fondue';\nimport { useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { SectionLink } from './SectionLink';\n\ntype PageLinkProps = {\n page: {\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};\n\nexport const PageLink = ({\n page,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n getDocumentSectionsByDocumentPageId,\n}: PageLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(page.id === itemsToExpandInitially.documentId);\n const [documentSections, setDocumentSections] = useState<DocumentSection[]>([]);\n const isActive = page.permanentLink === selectedUrl;\n\n useEffect(() => {\n const fetchDocumentSections = async () => {\n const sections = await getDocumentSectionsByDocumentPageId(page.id);\n setDocumentSections(sections);\n };\n\n fetchDocumentSections();\n }, [page.id, getDocumentSectionsByDocumentPageId]);\n\n useEffect(() => {\n if (page.id === itemsToExpandInitially.pageId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, page.id]);\n\n const sectionsArray = [...documentSections.values()];\n const hasSections = sectionsArray.length > 0;\n\n return (\n <>\n <button\n data-test-id=\"internal-link-selector-page-link\"\n className={merge([\n 'tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full',\n hasSections ? 'tw-pl-7' : 'tw-pl-12',\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(page.permanentLink)}\n >\n <div key={page.id} className=\"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6\">\n {hasSections && (\n <button\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 )}\n <span className=\"tw-text-s\">{page.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Page</span>\n </div>\n </button>\n {isExpanded &&\n sectionsArray.length > 0 &&\n sectionsArray.map((section) => {\n return (\n <SectionLink\n key={section.id}\n section={section}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n />\n );\n })}\n </>\n );\n};\n"],"names":["PageLink","page","selectedUrl","onSelectUrl","itemsToExpandInitially","getDocumentSectionsByDocumentPageId","isExpanded","setIsExpanded","useState","documentSections","setDocumentSections","isActive","useEffect","sections","sectionsArray","hasSections","jsxs","Fragment","jsx","merge","section","SectionLink"],"mappings":";;;;AAoBO,MAAMA,IAAW,CAAC;AAAA,EACrB,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,qCAAAC;AACJ,MAAqB;AACX,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAK,OAAOG,EAAuB,UAAU,GACpF,CAACK,GAAkBC,CAAmB,IAAIF,EAA4B,CAAE,CAAA,GACxEG,IAAWV,EAAK,kBAAkBC;AAExC,EAAAU,EAAU,MAAM;AAMU,KALQ,YAAY;AACtC,YAAMC,IAAW,MAAMR,EAAoCJ,EAAK,EAAE;AAClE,MAAAS,EAAoBG,CAAQ;AAAA,IAAA;EAIjC,GAAA,CAACZ,EAAK,IAAII,CAAmC,CAAC,GAEjDO,EAAU,MAAM;AACR,IAAAX,EAAK,OAAOG,EAAuB,UACnCG,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACH,GAAwBH,EAAK,EAAE,CAAC;AAEpC,QAAMa,IAAgB,CAAC,GAAGL,EAAiB,OAAQ,CAAA,GAC7CM,IAAcD,EAAc,SAAS;AAE3C,SAEQ,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAWC,EAAM;AAAA,UACb;AAAA,UACAJ,IAAc,YAAY;AAAA,UAC1BJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAMR,EAAYF,EAAK,aAAa;AAAA,QAE7C,UAAA,gBAAAe,EAAC,OAAkB,EAAA,WAAU,yDACxB,UAAA;AAAA,UACGD,KAAA,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMX,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAY;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWC,EAAM;AAAA,oBACb;AAAA,oBACAb,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,UAEH,gBAAAY,EAAA,QAAA,EAAK,WAAU,aAAa,YAAK,OAAM;AAAA,UACvC,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAI,QAAA;AAAA,QAAA,EAAA,GAhBnEjB,EAAK,EAiBf;AAAA,MAAA;AAAA,IACJ;AAAA,IACCK,KACGQ,EAAc,SAAS,KACvBA,EAAc,IAAI,CAACM,MAEX,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,SAAAD;AAAA,QACA,aAAAlB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,MAHKiB,EAAQ;AAAA,IAAA,CAMxB;AAAA,EACT,EAAA,CAAA;AAER;"}
@@ -1,37 +1,38 @@
1
- import { jsx as r, Fragment as w } from "react/jsx-runtime";
2
- import { useState as i, useEffect as x } from "react";
3
- import { PageLink as L } from "./PageLink.es.js";
4
- import { LoadingIndicator as P } from "./LoadingIndicator.es.js";
5
- const D = ({
6
- appBridge: s,
7
- documentId: c,
8
- selectedUrl: g,
9
- onSelectUrl: m,
10
- itemsToExpandInitially: l
1
+ import { jsx as o, Fragment as x } from "react/jsx-runtime";
2
+ import { useState as n, useEffect as L } from "react";
3
+ import { PageLink as P } from "./PageLink.es.js";
4
+ import { LoadingIndicator as k } from "./LoadingIndicator.es.js";
5
+ const j = ({
6
+ documentId: i,
7
+ selectedUrl: c,
8
+ onSelectUrl: g,
9
+ itemsToExpandInitially: l,
10
+ getDocumentSectionsByDocumentPageId: m,
11
+ getDocumentPagesByDocumentId: f
11
12
  }) => {
12
- const [f, d] = i([]), [a, u] = i(!0), n = [...f.values()], y = !a && n.length > 0;
13
- return x(() => {
14
- s.getDocumentPagesByDocumentId(c).then((e) => {
15
- const h = e.filter((t) => !!t.category).sort(
16
- (t, o) => t.category.sort === o.category.sort ? t.sort - o.sort : t.category.sort - o.category.sort
17
- ), p = e.filter((t) => !t.category).sort((t, o) => t.sort - o.sort);
18
- d([...h, ...p]);
13
+ const [d, p] = n([]), [s, h] = n(!0), a = [...d.values()], u = !s && a.length > 0;
14
+ return L(() => {
15
+ f(i).then((e) => {
16
+ const w = e.filter((t) => !!t.category).sort(
17
+ (t, r) => t.category.sort === r.category.sort ? t.sort - r.sort : t.category.sort - r.category.sort
18
+ ), y = e.filter((t) => !t.category).sort((t, r) => t.sort - r.sort);
19
+ p([...w, ...y]);
19
20
  }).finally(() => {
20
- u(!1);
21
+ h(!1);
21
22
  });
22
- }, []), a ? /* @__PURE__ */ r(P, {}) : y ? /* @__PURE__ */ r(w, { children: n.map((e) => /* @__PURE__ */ r(
23
- L,
23
+ }, []), s ? /* @__PURE__ */ o(k, {}) : u ? /* @__PURE__ */ o(x, { children: a.map((e) => /* @__PURE__ */ o(
24
+ P,
24
25
  {
25
26
  page: e,
26
- appBridge: s,
27
- selectedUrl: g,
28
- onSelectUrl: m,
29
- itemsToExpandInitially: l
27
+ selectedUrl: c,
28
+ onSelectUrl: g,
29
+ itemsToExpandInitially: l,
30
+ getDocumentSectionsByDocumentPageId: m
30
31
  },
31
32
  e.id
32
- )) }) : /* @__PURE__ */ r("div", { className: "tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak", children: "This document does not contain any pages." });
33
+ )) }) : /* @__PURE__ */ o("div", { className: "tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak", children: "This document does not contain any pages." });
33
34
  };
34
35
  export {
35
- D as PageLinks
36
+ j as PageLinks
36
37
  };
37
38
  //# sourceMappingURL=PageLinks.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme, DocumentPage } from '@frontify/app-bridge';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { PageLink } from './PageLink';\nimport { LoadingIndicator } from './LoadingIndicator';\n\ntype PageLinksProps = {\n appBridge: AppBridgeBlock | AppBridgeTheme;\n documentId: number;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLinks = ({\n appBridge,\n documentId,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n}: PageLinksProps): ReactElement => {\n const [pages, setPages] = useState<DocumentPage[]>([]);\n const [isLoading, setIsLoading] = useState(true);\n const pagesArray = [...pages.values()];\n const hasPages = !isLoading && pagesArray.length > 0;\n\n useEffect(() => {\n appBridge\n .getDocumentPagesByDocumentId(documentId)\n .then((_pages) => {\n const pagesWithCategories = _pages\n .filter((page) => !!page.category)\n .sort((a, b) =>\n a.category.sort === b.category.sort ? a.sort - b.sort : a.category.sort - b.category.sort,\n );\n const pagesWithoutCategories = _pages.filter((page) => !page.category).sort((a, b) => a.sort - b.sort);\n setPages([...pagesWithCategories, ...pagesWithoutCategories]);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n if (isLoading) {\n return <LoadingIndicator />;\n }\n\n return hasPages ? (\n <>\n {pagesArray.map((page) => {\n return (\n <PageLink\n key={page.id}\n page={page}\n appBridge={appBridge}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n );\n })}\n </>\n ) : (\n <div className=\"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak\">\n This document does not contain any pages.\n </div>\n );\n};\n"],"names":["PageLinks","appBridge","documentId","selectedUrl","onSelectUrl","itemsToExpandInitially","pages","setPages","useState","isLoading","setIsLoading","pagesArray","hasPages","useEffect","_pages","pagesWithCategories","page","a","b","pagesWithoutCategories","LoadingIndicator","jsx","Fragment","PageLink"],"mappings":";;;;AAgBO,MAAMA,IAAY,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AACJ,MAAoC;AAChC,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAyB,CAAE,CAAA,GAC/C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAI,GACzCG,IAAa,CAAC,GAAGL,EAAM,OAAQ,CAAA,GAC/BM,IAAW,CAACH,KAAaE,EAAW,SAAS;AAmBnD,SAjBAE,EAAU,MAAM;AACZ,IAAAZ,EACK,6BAA6BC,CAAU,EACvC,KAAK,CAACY,MAAW;AACR,YAAAC,IAAsBD,EACvB,OAAO,CAACE,MAAS,CAAC,CAACA,EAAK,QAAQ,EAChC;AAAA,QAAK,CAACC,GAAGC,MACND,EAAE,SAAS,SAASC,EAAE,SAAS,OAAOD,EAAE,OAAOC,EAAE,OAAOD,EAAE,SAAS,OAAOC,EAAE,SAAS;AAAA,MAAA,GAEvFC,IAAyBL,EAAO,OAAO,CAACE,MAAS,CAACA,EAAK,QAAQ,EAAE,KAAK,CAACC,GAAGC,MAAMD,EAAE,OAAOC,EAAE,IAAI;AACrG,MAAAX,EAAS,CAAC,GAAGQ,GAAqB,GAAGI,CAAsB,CAAC;AAAA,IAAA,CAC/D,EACA,QAAQ,MAAM;AACX,MAAAT,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA,GAEDD,sBACQW,GAAiB,CAAA,CAAA,IAGtBR,IACH,gBAAAS,EAAAC,GAAA,EACK,UAAWX,EAAA,IAAI,CAACK,MAET,gBAAAK;AAAA,IAACE;AAAA,IAAA;AAAA,MAEG,MAAAP;AAAA,MACA,WAAAf;AAAA,MACA,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,IAAA;AAAA,IALKW,EAAK;AAAA,EAAA,CAQrB,EACL,CAAA,sBAEC,OAAI,EAAA,WAAU,8FAA6F,UAE5G,4CAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"PageLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { DocumentPage, DocumentSection } from '@frontify/app-bridge';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { PageLink } from './PageLink';\nimport { LoadingIndicator } from './LoadingIndicator';\n\ntype PageLinksProps = {\n documentId: number;\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 PageLinks = ({\n documentId,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n getDocumentSectionsByDocumentPageId,\n getDocumentPagesByDocumentId,\n}: PageLinksProps): ReactElement => {\n const [pages, setPages] = useState<DocumentPage[]>([]);\n const [isLoading, setIsLoading] = useState(true);\n const pagesArray = [...pages.values()];\n const hasPages = !isLoading && pagesArray.length > 0;\n\n useEffect(() => {\n getDocumentPagesByDocumentId(documentId)\n .then((_pages) => {\n const pagesWithCategories = _pages\n .filter((page) => !!page.category)\n .sort((a, b) =>\n a.category.sort === b.category.sort ? a.sort - b.sort : a.category.sort - b.category.sort,\n );\n const pagesWithoutCategories = _pages.filter((page) => !page.category).sort((a, b) => a.sort - b.sort);\n setPages([...pagesWithCategories, ...pagesWithoutCategories]);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n if (isLoading) {\n return <LoadingIndicator />;\n }\n\n return hasPages ? (\n <>\n {pagesArray.map((page) => {\n return (\n <PageLink\n key={page.id}\n page={page}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n getDocumentSectionsByDocumentPageId={getDocumentSectionsByDocumentPageId}\n />\n );\n })}\n </>\n ) : (\n <div className=\"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak\">\n This document does not contain any pages.\n </div>\n );\n};\n"],"names":["PageLinks","documentId","selectedUrl","onSelectUrl","itemsToExpandInitially","getDocumentSectionsByDocumentPageId","getDocumentPagesByDocumentId","pages","setPages","useState","isLoading","setIsLoading","pagesArray","hasPages","useEffect","_pages","pagesWithCategories","page","a","b","pagesWithoutCategories","LoadingIndicator","jsx","Fragment","PageLink"],"mappings":";;;;AAiBO,MAAMA,IAAY,CAAC;AAAA,EACtB,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,8BAAAC;AACJ,MAAoC;AAChC,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAyB,CAAE,CAAA,GAC/C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAI,GACzCG,IAAa,CAAC,GAAGL,EAAM,OAAQ,CAAA,GAC/BM,IAAW,CAACH,KAAaE,EAAW,SAAS;AAkBnD,SAhBAE,EAAU,MAAM;AACZ,IAAAR,EAA6BL,CAAU,EAClC,KAAK,CAACc,MAAW;AACR,YAAAC,IAAsBD,EACvB,OAAO,CAACE,MAAS,CAAC,CAACA,EAAK,QAAQ,EAChC;AAAA,QAAK,CAACC,GAAGC,MACND,EAAE,SAAS,SAASC,EAAE,SAAS,OAAOD,EAAE,OAAOC,EAAE,OAAOD,EAAE,SAAS,OAAOC,EAAE,SAAS;AAAA,MAAA,GAEvFC,IAAyBL,EAAO,OAAO,CAACE,MAAS,CAACA,EAAK,QAAQ,EAAE,KAAK,CAACC,GAAGC,MAAMD,EAAE,OAAOC,EAAE,IAAI;AACrG,MAAAX,EAAS,CAAC,GAAGQ,GAAqB,GAAGI,CAAsB,CAAC;AAAA,IAAA,CAC/D,EACA,QAAQ,MAAM;AACX,MAAAT,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA,GAEDD,sBACQW,GAAiB,CAAA,CAAA,IAGtBR,IACH,gBAAAS,EAAAC,GAAA,EACK,UAAWX,EAAA,IAAI,CAACK,MAET,gBAAAK;AAAA,IAACE;AAAA,IAAA;AAAA,MAEG,MAAAP;AAAA,MACA,aAAAf;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,qCAAAC;AAAA,IAAA;AAAA,IALKY,EAAK;AAAA,EAAA,CAQrB,EACL,CAAA,sBAEC,OAAI,EAAA,WAAU,8FAA6F,UAE5G,4CAAA,CAAA;AAER;"}
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),s=require("react/jsx-runtime"),i=require("@frontify/fondue"),p=require("react"),V=require("@frontify/app-bridge"),P=require("@dnd-kit/core"),sn=require("@dnd-kit/modifiers"),le=require("@dnd-kit/sortable"),rn=require("@react-aria/focus"),o=require("@udecode/plate"),Xe=require("slate-react"),an=require("@react-stately/overlays"),on=require("slate"),D=require("@ctrl/tinycolor");const U=e=>e.filter(Boolean).join(" "),ln=({onDrop:e,label:t,icon:n,secondaryLabel:r,isLoading:a,fillParentContainer:l,onAssetChooseClick:c,onUploadClick:d,withMenu:u=!0,onClick:f,validFileType:x,verticalLayout:g})=>{const[h,y]=p.useState(!1),[b,k]=p.useState(),j=p.useRef(null),[S,A]=p.useState(void 0),O=I=>{if(I.preventDefault(),y(!1),!R(I.dataTransfer.files)){A("Invalid"),setTimeout(()=>{A(void 0)},1e3);return}e==null||e(I.dataTransfer.files)},R=I=>{if(!x)return!0;for(let F=0;F<I.length;F++){const N=I[F].name.split(".").pop()??"";if(!V.FileExtensionSets[x].includes(N))return!1}return!0},H=I=>{if(!j.current||a)return;const{left:F,top:N}=j.current.getBoundingClientRect(),ie=I.clientX-F,oe=I.clientY-N;k([ie,oe])};return s.jsxs("button",{ref:j,"data-test-id":"block-inject-button",className:U(["tw-font-body tw-relative tw-text-sm tw-leading-4 tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br",g?"[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl":"[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",l?"tw-h-full":"tw-h-[72px]",h&&!a?"tw-border-dashed":"tw-border-solid",b&&"tw-bg-blank-state-pressed-inverse",h&&"tw-bg-blank-state-weak-inverse",S?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",a||b||h||S?"":"tw-text-text-weak hover:tw-text-blank-state-hover hover:tw-bg-blank-state-hover-inverse hover:tw-border-blank-state-line-hover active:tw-text-blank-state-pressed active:tw-bg-blank-state-pressed-inverse active:tw-border-blank-state-line-hover",(h||b)&&!S?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:e?I=>{var F;if(y(!0),x==="Images")for(const N of Array.from(I.dataTransfer.items))(F=N==null?void 0:N.type)!=null&&F.startsWith("image/")?A(void 0):A("Invalid")}:void 0,onDragLeave:e?()=>{y(!1),A(void 0)}:void 0,onDrop:e?O:void 0,onClick:I=>{u&&H(I),f==null||f()},children:[a?s.jsx(i.LoadingCircle,{}):S?s.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[s.jsx(i.IconExclamationMarkTriangle,{}),S]}):s.jsxs(s.Fragment,{children:[n&&s.jsx("div",{children:n}),(t||r)&&s.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[t&&s.jsx("div",{className:"tw-font-medium",children:t}),r&&s.jsx("div",{className:"tw-font-normal",children:r})]})]}),b&&s.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:b[0],top:b[1]},children:s.jsx(i.Flyout,{onOpenChange:I=>!I&&k(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:s.jsx("div",{}),children:s.jsx(i.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...d?[{id:"upload",size:i.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{d(),k(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconArrowCircleUp20,{})})}]:[],...c?[{id:"asset",size:i.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{c(),k(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconImageStack20,{})})}]:[]]}]})})})]})},X=e=>{const t=r=>typeof r=="object"&&["red","green","blue"].every(l=>r.hasOwnProperty(l)),n=r=>{const a=typeof r.alpha=="number"?r.alpha:1;return{r:r.red,g:r.green,b:r.blue,a}};return t(e)?n(e):e},cn=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),un=(e,t)=>{const n=cn(e)?X(e):e,r=new D.TinyColor(n);return t?r.getBrightness()<t:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},dn=e=>new D.TinyColor(X(e)).toHex8String(),gn=e=>new D.TinyColor(X(e)).toHexString(),Te=e=>new D.TinyColor(X(e)).toRgbString(),mn=(e,t)=>new D.TinyColor(t).setAlpha(e).toRgbString(),hn=e=>{const{r:t,g:n,b:r,a}=new D.TinyColor(e);return{red:t,green:n,blue:r,alpha:a}},Ge=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),fn=(e,t)=>{const n=Ge(e)?X(e):e,r=Ge(t)?X(t):t;let a=new D.TinyColor(n);const l=new D.TinyColor(r);for(;D.readability(a,l)<4.5;)a=a.darken(1);return a.toRgbString()},xn=(e,t,n)=>{const r=[...e],a=n<0?r.length+n:n;if(a>=0&&a<r.length){const l=r.splice(t,1)[0];r.splice(a,0,l)}return r},pn=e=>({backgroundColor:Te(e)});var M=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(M||{});const Qe={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var _=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(_||{});const G={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var $=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))($||{});const Y={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var W=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(W||{});const J={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var K=(e=>(e.Global="Global",e.Custom="Custom",e))(K||{}),q=(e=>(e.Auto="Auto",e.S="S",e.M="M",e.L="L",e))(q||{});const Ye={Auto:"4px",S:"10px",M:"30px",L:"50px"},wn={red:241,green:241,blue:241,alpha:1},Je={red:234,green:235,blue:235,alpha:1},yn="1px",re="24px",ae="24px",bn=(e=M.Solid,t="1px",n=Je)=>({borderStyle:Qe[e],borderWidth:t,borderColor:Te(n)}),vn=(e,t=!1,n)=>({borderRadius:t?n:G[e]}),Ze="Drag or press ↵ to move",et="Move with ↑↓←→ and confirm with ↵",Ke=({children:e})=>s.jsx("div",{className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),Cn=e=>e==="IMAGE"?s.jsx(i.IconImage24,{}):e==="VIDEO"?s.jsx(i.IconPlayFrame24,{}):e==="AUDIO"?s.jsx(i.IconMusicNote24,{}):s.jsx(i.IconDocument24,{}),Be=p.forwardRef(({item:e,isEditing:t,transformStyle:n,isDragging:r,isOverlay:a,isLoading:l,onDelete:c,onReplaceWithBrowse:d,onReplaceWithUpload:u,onDownload:f},x)=>{const[g,h]=p.useState(),[y,{selectedFiles:b}]=V.useFileInput({multiple:!0,accept:"image/*"}),[k,{results:j,doneAll:S}]=V.useAssetUpload();p.useEffect(()=>{b&&k(b[0])},[b]),p.useEffect(()=>{S&&u(j[0])},[S,j]);const A=l||b&&!S;return s.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>f==null?void 0:f(),ref:x,style:{...n,opacity:r&&!a?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:U(["tw-cursor-pointer tw-text-left tw-w-full tw-relative tw-flex tw-gap-3 tw-px-5 tw-py-3 tw-items-center tw-group hover:tw-bg-box-neutral-hover",r?"tw-bg-box-neutral-hover":""]),children:[s.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:A?s.jsx(i.LoadingCircle,{size:i.LoadingCircleSize.Small}):Cn(e.objectType)}),s.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[s.jsx("div",{className:"tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:e.title}),s.jsx("div",{className:"tw-text-text-weak",children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),t&&s.jsx("div",{"data-test-id":"attachments-actionbar",className:U(["tw-flex tw-gap-0.5 group-focus:tw-opacity-100 focus-visible:tw-opacity-100 focus-within:tw-opacity-100 group-hover:tw-opacity-100",a||(g==null?void 0:g.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:s.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:s.jsx(i.Flyout,{placement:i.FlyoutPlacement.Right,isOpen:(g==null?void 0:g.id)===e.id,fitContent:!0,legacyFooter:!1,onOpenChange:O=>h(O?e:void 0),trigger:(O,R)=>s.jsx(i.Button,{ref:R,icon:s.jsx(i.IconPen20,{}),emphasis:i.ButtonEmphasis.Default,onClick:()=>h(e)}),children:s.jsx(i.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:i.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{y(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconArrowCircleUp20,{})})},{id:"asset",size:i.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{d(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:i.MenuItemContentSize.XSmall,title:"Delete",style:i.MenuItemStyle.Danger,onClick:()=>{c(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconTrashBin20,{})})}]}]})})})})]})});Be.displayName="AttachmentItem";const kn=e=>{const{attributes:t,listeners:n,setNodeRef:r,transform:a,transition:l,isDragging:c}=le.useSortable({id:e.item.id}),d={transform:a?`translate(${a.x}px, ${a.y}px)`:"",transition:l,zIndex:c?2:1},u={...t,...n};return s.jsx(Be,{ref:r,isDragging:c,transformStyle:d,draggableProps:u,...e})},Sn=({children:e,isFlyoutOpen:t})=>s.jsxs("div",{className:U(["tw-flex tw-text-xs tw-font-body tw-items-center tw-gap-1 tw-rounded-full tw-outline tw-outline-1 tw-outline-offset-1 tw-p-1.5 tw-outline-line",t?"tw-bg-box-neutral-pressed tw-text-box-neutral-inverse-pressed":"tw-bg-base hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed tw-text-box-neutral-inverse hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed"]),children:[s.jsx(i.IconPaperclip16,{}),e,s.jsx(i.IconCaretDown12,{})]}),tt=({items:e=[],onDelete:t,onReplaceWithBrowse:n,onReplaceWithUpload:r,onBrowse:a,onUpload:l,onSorted:c,appBridge:d,triggerComponent:u=Sn,isOpen:f,onOpenChange:x})=>{const[g,h]=p.useState(e),[y,b]=p.useState(!1),k=P.useSensors(P.useSensor(P.PointerSensor),P.useSensor(P.KeyboardSensor)),[j,S]=p.useState(void 0),[A,O]=p.useState(!1),[R,H]=p.useState([]),[I,F]=p.useState(null),N=V.useEditorState(d),{openAssetChooser:ie,closeAssetChooser:oe}=V.useAssetChooser(d),_e=f!==void 0,ye=_e?f:y,Q=g==null?void 0:g.find(v=>v.id===j),[Yt,{results:Ve,doneAll:ze}]=V.useAssetUpload({onUploadProgress:()=>!A&&O(!0)}),se=v=>{const B=_e?x:b;B==null||B(v)};p.useEffect(()=>{h(e)},[e]),p.useEffect(()=>{I&&(O(!0),Yt(I))},[I]),p.useEffect(()=>{(async()=>{ze&&(await l(Ve),O(!1))})()},[ze,Ve]);const Jt=()=>{se(!1),ie(v=>{a(v),oe(),se(!0)},{multiSelection:!0,selectedValueIds:g.map(v=>v.id)})},$e=v=>{se(!1),ie(async B=>{se(!0),oe(),H([...R,v.id]),await n(v,B[0]),H(R.filter(z=>z!==v.id))},{multiSelection:!1,selectedValueIds:g.map(B=>B.id)})},We=async(v,B)=>{H([...R,v.id]),await r(v,B),H(R.filter(z=>z!==v.id))},Zt=v=>{const{active:B}=v;S(B.id)},en=v=>{const{active:B,over:z}=v;if(z&&B.id!==z.id&&g){const tn=g.findIndex(be=>be.id===B.id),nn=g.findIndex(be=>be.id===z.id),qe=le.arrayMove(g,tn,nn);h(qe),c(qe)}S(void 0)};return N||((g==null?void 0:g.length)??0)>0?s.jsx(i.LegacyTooltip,{withArrow:!0,position:i.TooltipPosition.Top,content:"Attachments",disabled:ye,enterDelay:500,triggerElement:s.jsx("div",{"data-test-id":"attachments-flyout-button",children:s.jsx(i.Flyout,{placement:i.FlyoutPlacement.BottomRight,onOpenChange:v=>se(Q?!0:v),isOpen:ye,hug:!1,fitContent:!0,legacyFooter:!1,trigger:s.jsx(u,{isFlyoutOpen:ye,children:s.jsx("div",{children:e.length>0?e.length:"Add"})}),children:s.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[g.length>0&&s.jsxs(P.DndContext,{sensors:k,collisionDetection:P.closestCenter,onDragStart:Zt,onDragEnd:en,modifiers:[sn.restrictToWindowEdges],children:[s.jsx(le.SortableContext,{items:g,strategy:le.rectSortingStrategy,children:s.jsx("div",{className:"tw-border-b tw-border-b-line",children:g.map(v=>s.jsx(kn,{isEditing:N,isLoading:R.includes(v.id),item:v,onDelete:()=>t(v),onReplaceWithBrowse:()=>$e(v),onReplaceWithUpload:B=>We(v,B),onDownload:()=>d.dispatch({name:"downloadAsset",payload:v})},v.id))})}),s.jsx(P.DragOverlay,{children:Q&&s.jsx(Be,{isOverlay:!0,isEditing:N,item:Q,isDragging:!0,onDelete:()=>t(Q),onReplaceWithBrowse:()=>$e(Q),onReplaceWithUpload:v=>We(Q,v)},j)})]}),N&&s.jsxs("div",{className:"tw-px-5 tw-py-3",children:[s.jsx("div",{className:"tw-font-body tw-font-medium tw-text-text tw-text-s tw-my-4",children:"Add attachments"}),s.jsx(i.AssetInput,{isLoading:A,size:i.AssetInputSize.Small,onUploadClick:v=>F(v),onLibraryClick:Jt})]})]})})})}):null},nt=(e,t)=>{const{blockAssets:n,addAssetIdsToKey:r,deleteAssetIdsFromKey:a,updateAssetIdsFromKey:l}=V.useBlockAssets(e),c=(n==null?void 0:n[t])||[];return{onAttachmentsAdd:async g=>{await r(t,g.map(h=>h.id))},onAttachmentDelete:async g=>{await a(t,[g.id])},onAttachmentReplace:async(g,h)=>{const y=c.map(b=>b.id===g.id?h.id:b.id);await l(t,y)},onAttachmentsSorted:async g=>{const h=g.map(y=>y.id);await l(t,h)},attachments:c,appBridge:e}},st=p.createContext(null),rt=({appBridge:e,children:t,assetId:n})=>{const r=nt(e,n);return s.jsx(st.Provider,{value:r,children:t})},at=()=>{const e=p.useContext(st);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},Pn=(e,t)=>{const n=r=>s.jsx(rt,{appBridge:r.appBridge,assetId:t,children:s.jsx(e,{...r})});return n.displayName="withAttachmentsProvider",n},En=[P.KeyboardCode.Down,P.KeyboardCode.Right,P.KeyboardCode.Up,P.KeyboardCode.Left],it=(e,t)=>(n,{currentCoordinates:r,context:{activeNode:a}})=>{if(n.preventDefault(),En.includes(n.code)){const l=(a==null?void 0:a.offsetWidth)??0,c=(a==null?void 0:a.offsetHeight)??0;switch(n.code){case P.KeyboardCode.Right:return{...r,x:r.x+l+e};case P.KeyboardCode.Left:return{...r,x:r.x-l-e};case P.KeyboardCode.Down:return{...r,y:r.y+c+t};case P.KeyboardCode.Up:return{...r,y:r.y-c-t}}}},In={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},Tn=(e=0,t=0)=>{const n=it(e,t);return P.useSensors(P.useSensor(P.PointerSensor),P.useSensor(P.KeyboardSensor,{coordinateGetter:n,keyboardCodes:In}))},ce=(e,t)=>{const n=[i.FOCUS_VISIBLE_STYLE,"tw-relative tw-inline-flex tw-items-center tw-justify-center","tw-h-6 tw-p-1","tw-rounded","tw-text-xs tw-font-medium","tw-gap-0.5","focus-visible:tw-z-10"];return t?n.push("tw-bg-box-neutral-pressed","tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grabbing":"tw-cursor-pointer"):n.push("hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed","tw-text-text-weak hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grab active:tw-cursor-grabbing":"tw-cursor-pointer"),U(n)},Bn=({children:e,isFlyoutOpen:t})=>s.jsxs("div",{className:ce("pointer",t),children:[s.jsx(i.IconPaperclip16,{}),e,s.jsx(i.IconCaretDown12,{})]}),jn=({isOpen:e,onOpenChange:t})=>{const{appBridge:n,attachments:r,onAttachmentsAdd:a,onAttachmentDelete:l,onAttachmentReplace:c,onAttachmentsSorted:d}=at();return s.jsx(tt,{onUpload:a,onDelete:l,onReplaceWithBrowse:c,onReplaceWithUpload:c,onSorted:d,onBrowse:a,items:r,appBridge:n,triggerComponent:Bn,isOpen:e,onOpenChange:t})},ot=({items:e,flyoutMenu:t,attachments:n,isDragging:r})=>s.jsxs("div",{"data-test-id":"block-item-wrapper-toolbar",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",children:[n.isEnabled&&s.jsx(Ke,{children:s.jsx(jn,{isOpen:n.isOpen&&!r,onOpenChange:n.onOpenChange})}),s.jsxs(Ke,{children:[e.map((a,l)=>"draggableProps"in a?s.jsx(i.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:r,position:i.TooltipPosition.Top,content:s.jsx("div",{children:r?et:a.tooltip??Ze}),triggerElement:s.jsx("button",{ref:a.setActivatorNodeRef,"data-test-id":"block-item-wrapper-toolbar-btn",...a.draggableProps,className:ce("grab",r),children:a.icon})},l):s.jsx(i.LegacyTooltip,{withArrow:!0,enterDelay:300,hoverDelay:0,disabled:r,position:i.TooltipPosition.Top,content:s.jsx("div",{children:a.tooltip??""}),triggerElement:s.jsx("button",{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:a.onClick,className:ce("pointer"),children:a.icon})},l)),t.items.length>0&&s.jsx(i.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,disabled:r||t.isOpen,position:i.TooltipPosition.Top,content:s.jsx("div",{children:"Options"}),triggerElement:s.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:s.jsx(i.Flyout,{isOpen:t.isOpen&&!r,legacyFooter:!1,fitContent:!0,hug:!1,onOpenChange:t.onOpenChange,trigger:s.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-flyout",className:ce("pointer",t.isOpen&&!r),children:s.jsx(i.IconDotsHorizontal16,{})}),children:s.jsx(i.ActionMenu,{menuBlocks:t.items.map((a,l)=>({id:l.toString(),menuItems:a.map((c,d)=>({id:l.toString()+d.toString(),size:i.MenuItemContentSize.XSmall,title:c.title,style:c.style,onClick:()=>{t.onOpenChange(!1),c.onClick()},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:c.icon})}))}))})})})})]})]}),Ln=({children:e,toolbarFlyoutItems:t,toolbarItems:n,shouldHideWrapper:r,shouldHideComponent:a=!1,isDragging:l,shouldFillContainer:c,outlineOffset:d=2,shouldBeShown:u=!1,showAttachments:f=!1})=>{const[x,g]=p.useState(u),[h,y]=p.useState(!1),b=p.useRef(null);if(r)return s.jsx(s.Fragment,{children:e});const k=n==null?void 0:n.filter(S=>S!==void 0),j=x||h||u;return s.jsxs("div",{ref:b,"data-test-id":"block-item-wrapper",style:{outlineOffset:d},className:U(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",c&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",j&&"tw-outline",a&&"tw-opacity-0"]),children:[s.jsx("div",{style:{right:-1-d,bottom:`calc(100% - ${2+d}px)`},className:U(["tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]","group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100","tw-flex tw-justify-end",j&&"tw-opacity-100"]),children:s.jsx(ot,{flyoutMenu:{items:t,isOpen:x,onOpenChange:g},attachments:{isEnabled:f,isOpen:h,onOpenChange:y},items:k,isDragging:l})}),e]})},Nn=({onDownload:e})=>{const{isFocused:t,focusProps:n}=rn.useFocusRing();return s.jsx(i.LegacyTooltip,{withArrow:!0,position:i.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:s.jsx("button",{tabIndex:0,"aria-label":"Download",...n,className:U(["tw-outline-none tw-rounded",t&&i.FOCUS_STYLE]),onClick:e,onPointerDown:r=>r.preventDefault(),children:s.jsx("span",{"data-test-id":"download-button",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",children:s.jsx(i.IconArrowCircleDown16,{})})})})},An=({value:e="",gap:t,columns:n,show:r=!0,plugins:a})=>{const[l,c]=p.useState(null);return p.useEffect(()=>{(async()=>c(await i.serializeRawToHtmlAsync(e,a,n,t)))()},[e,n,t,a]),!r||l==="<br />"?null:l!==null?s.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:l}}):s.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},lt=e=>{if(!e)return!1;const t=n=>n.some(r=>r.text?r.text!=="":r.children?t(r.children):!1);try{const n=JSON.parse(e);return t(n)}catch{return!1}},Rn=(e="p",t="",n)=>lt(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),Fn=(e,t,n)=>e===K.Custom?t:n,Mn=e=>e.map(ct),ct=e=>({id:e.id,title:e.name,colors:e.colors.map(t=>({alpha:t.alpha?t.alpha/255:1,red:t.red??0,green:t.green??0,blue:t.blue??0,name:t.name??""}))}),je=(e,t)=>{const n=o.getAboveNode(e,{match:{type:o.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},ut=e=>je(e,t=>{var n,r;return((r=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:r.link)||""}),dt=e=>je(e,t=>t.url||""),gt=e=>{var t,n;return e.url||((n=(t=e.chosenLink)==null?void 0:t.searchResult)==null?void 0:n.link)||""},mt=e=>je(e,gt),Le=/^\/(document|r)\/\S+$/i,fe=e=>{if(Le.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},xe=e=>{if(Le.test(e))return!0;try{const t=new URL(e);return["http:","https:","mailto:","tel:"].includes(t.protocol)&&t.pathname!==""}catch{return!1}},ee=e=>xe(fe(e))||e==="",ht=(e,{type:t})=>{const{apply:n,normalizeNode:r}=e;return e.apply=a=>{if(a.type!=="set_selection"){n(a);return}const l=a.newProperties;if(!(l!=null&&l.focus)||!l.anchor||!o.isCollapsed(l)){n(a);return}const c=o.getAboveNode(e,{at:l,match:{type:o.getPluginType(e,C)}});if(c){const[,d]=c;let u;o.isStartPoint(e,l.focus,d)&&(u=o.getPreviousNodeEndPoint(e,d)),o.isEndPoint(e,l.focus,d)&&(u=o.getNextNodeStartPoint(e,d)),u&&(a.newProperties={anchor:u,focus:u})}n(a)},e.normalizeNode=([a,l])=>{if(a.type===o.getPluginType(e,C)){const c=e.selection;if(c&&o.isCollapsed(c)&&o.isEndPoint(e,c.focus,l)){const d=o.getNextNodeStartPoint(e,l);if(d)o.select(e,d);else{const u=on.Path.next(l);o.insertNodes(e,{text:""},{at:u}),o.select(e,u)}}}r([a,l])},o.withRemoveEmptyNodes(e,o.mockPlugin({options:{types:t}}))},ft=(e,t,n)=>{o.insertNodes(e,[yt(e,t)],n)},Ne=o.createStore("floatingButton")({openEditorId:null,mouseDown:!1,updated:!1,url:"",text:"",buttonStyle:"primary",newTab:!1,mode:"",isEditing:!1}).extendActions(e=>({reset:()=>{e.url(""),e.text(""),e.buttonStyle("primary"),e.newTab(!1),e.mode(""),e.isEditing(!1)}})).extendActions(e=>({show:(t,n)=>{e.mode(t),e.isEditing(!1),e.openEditorId(n)},hide:()=>{e.reset(),e.openEditorId(null)}})).extendSelectors(e=>({isOpen:t=>e.openEditorId===t})),E=Ne.set,L=Ne.get,te=()=>Ne.use,Ae=e=>{if(!e.selection)return;const{isUrl:t,forceSubmit:n}=o.getPluginOptions(e,C),r=L.url();if(!((t==null?void 0:t(r))||n))return;const l=L.text(),c=L.buttonStyle(),d=L.newTab()?void 0:"_self";return E.hide(),xt(e,{url:r,text:l,buttonStyle:c,target:d,isUrl:u=>n||!t?!0:t(u)}),setTimeout(()=>{o.focusEditor(e,e.selection??void 0)},0),!0},ne=(e,t)=>o.withoutNormalizing(e,()=>{var n,r,a,l,c,d;if(t!=null&&t.split){if(o.getAboveNode(e,{at:(n=e.selection)==null?void 0:n.anchor,match:{type:o.getPluginType(e,C)}}))return o.splitNodes(e,{at:(r=e.selection)==null?void 0:r.anchor,match:x=>o.isElement(x)&&x.type===o.getPluginType(e,C)}),ne(e,{at:(a=e.selection)==null?void 0:a.anchor}),!0;if(o.getAboveNode(e,{at:(l=e.selection)==null?void 0:l.focus,match:{type:o.getPluginType(e,C)}}))return o.splitNodes(e,{at:(c=e.selection)==null?void 0:c.focus,match:x=>o.isElement(x)&&x.type===o.getPluginType(e,C)}),ne(e,{at:(d=e.selection)==null?void 0:d.focus}),!0}o.unwrapNodes(e,{match:{type:o.getPluginType(e,C)},...t})}),xt=(e,{url:t,text:n,buttonStyle:r,target:a,insertTextInButton:l,insertNodesOptions:c,isUrl:d=o.getPluginOptions(e,C).isUrl})=>{var S;const u=e.selection;if(!u)return;const f=o.getAboveNode(e,{at:u,match:{type:o.getPluginType(e,C)}});if(l&&f)return e.insertText(t),!0;if(!(d!=null&&d(t)))return;if(o.isDefined(n)&&n.length===0&&(n=t),f)return Un(t,e,f,a,r,n),!0;const x=o.findNode(e,{at:u,match:{type:o.getPluginType(e,C)}}),[g,h]=x??[],y=On(e,h,n);if(o.isExpanded(u))return Dn(f,e,t,r,a,n),!0;y&&o.removeNodes(e,{at:h});const b=o.getNodeProps(g??{}),k=(S=e.selection)==null?void 0:S.focus.path;if(!k)return;const j=o.getNodeLeaf(e,k);return n!=null&&n.length||(n=t),ft(e,{...b,url:t,target:a,children:[{...j,text:n}]},c),!0};function On(e,t,n){return t&&(n==null?void 0:n.length)&&n!==o.getEditorString(e,t)}function Dn(e,t,n,r,a,l){e?ne(t,{at:e[1]}):ne(t,{split:!0}),pt(t,{url:n,buttonStyle:r,target:a}),Re(t,{url:n,target:a,text:l})}function Un(e,t,n,r,a,l){var c,d,u;(e!==((c=n[0])==null?void 0:c.url)||r!==((d=n[0])==null?void 0:d.target)||a!==((u=n[0])==null?void 0:u.buttonStyle))&&o.setNodes(t,{url:e,target:r,buttonStyle:a},{at:n[1]}),Re(t,{url:e,text:l,target:r})}const Re=(e,{text:t})=>{const n=o.getAboveNode(e,{match:{type:o.getPluginType(e,C)}});if(n){const[r,a]=n;if(t!=null&&t.length&&t!==o.getEditorString(e,a)){const l=r.children[0];o.replaceNodeChildren(e,{at:a,nodes:{...l,text:t},insertOptions:{select:!0}})}}},pt=(e,{url:t,buttonStyle:n,target:r,...a})=>{o.wrapNodes(e,{type:o.getPluginType(e,C),url:t,buttonStyle:n,target:r,children:[]},{split:!0,...a})},Hn=(e,t)=>{const n=o.getAboveNode(e,{match:{type:C}});return Array.isArray(n)?t(n[0]):""},wt=e=>Hn(e,t=>t.url??""),yt=(e,{url:t,text:n="",buttonStyle:r="primary",target:a,children:l})=>({type:o.getPluginType(e,C),url:t,target:a,buttonStyle:r,children:l??[{text:n}]}),bt=(e,{focused:t}={})=>{if(L.mode()==="edit"){pe(e);return}Fe(e,{focused:t})},pe=e=>{const t=o.findNode(e,{match:{type:o.getPluginType(e,C)}});if(!t)return;const[n,r]=t;let a=o.getEditorString(e,r);E.url(n.url),E.newTab(n.target===void 0),a===n.url&&(a=""),E.text(a),E.isEditing(!0)},Fe=(e,{focused:t}={})=>{L.mode()||!t||o.isRangeAcrossBlocks(e,{at:e.selection})||o.someNode(e,{match:{type:o.getPluginType(e,C)}})||(E.text(o.getEditorString(e,e.selection)),E.show("insert",e.id))},we={buttonPrimary:{fontFamily:"var(--f-theme-settings-button-primary-font-family)",fontSize:"var(--f-theme-settings-button-primary-font-size)",fontWeight:"var(--f-theme-settings-button-primary-font-weight)",lineHeight:"var(--f-theme-settings-button-primary-line-height)",paddingTop:"var(--f-theme-settings-button-primary-padding-top)",paddingRight:"var(--f-theme-settings-button-primary-padding-right)",paddingBottom:"var(--f-theme-settings-button-primary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-primary-padding-left)",fontStyle:"var(--f-theme-settings-button-primary-font-style)",textTransform:"var(--f-theme-settings-button-primary-text-transform)",backgroundColor:"var(--f-theme-settings-button-primary-background-color)",borderColor:"var(--f-theme-settings-button-primary-border-color)",borderRadius:"var(--f-theme-settings-button-primary-border-radius)",borderWidth:"var(--f-theme-settings-button-primary-border-width)",color:"var(--f-theme-settings-button-primary-color)",marginTop:"10px",marginBottom:"10px",display:"inline-block",hover:{backgroundColor:"var(--f-theme-settings-button-primary-background-color-hover)",borderColor:"var(--f-theme-settings-button-primary-border-color-hover)",color:"var(--f-theme-settings-button-primary-color-hover)"}},buttonSecondary:{fontFamily:"var(--f-theme-settings-button-secondary-font-family)",fontSize:"var(--f-theme-settings-button-secondary-font-size)",fontWeight:"var(--f-theme-settings-button-secondary-font-weight)",lineHeight:"var(--f-theme-settings-button-secondary-line-height)",paddingTop:"var(--f-theme-settings-button-secondary-padding-top)",paddingRight:"var(--f-theme-settings-button-secondary-padding-right)",paddingBottom:"var(--f-theme-settings-button-secondary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-secondary-padding-left)",fontStyle:"var(--f-theme-settings-button-secondary-font-style)",textTransform:"var(--f-theme-settings-button-secondary-text-transform)",backgroundColor:"var(--f-theme-settings-button-secondary-background-color)",borderColor:"var(--f-theme-settings-button-secondary-border-color)",borderRadius:"var(--f-theme-settings-button-secondary-border-radius)",borderWidth:"var(--f-theme-settings-button-secondary-border-width)",color:"var(--f-theme-settings-button-secondary-color)",display:"inline-block",marginTop:"10px",marginBottom:"10px",hover:{backgroundColor:"var(--f-theme-settings-button-secondary-background-color-hover)",borderColor:"var(--f-theme-settings-button-secondary-border-color-hover)",color:"var(--f-theme-settings-button-secondary-color-hover)"}},buttonTertiary:{fontFamily:"var(--f-theme-settings-button-tertiary-font-family)",fontSize:"var(--f-theme-settings-button-tertiary-font-size)",fontWeight:"var(--f-theme-settings-button-tertiary-font-weight)",lineHeight:"var(--f-theme-settings-button-tertiary-line-height)",paddingTop:"var(--f-theme-settings-button-tertiary-padding-top)",paddingRight:"var(--f-theme-settings-button-tertiary-padding-right)",paddingBottom:"var(--f-theme-settings-button-tertiary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-tertiary-padding-left)",fontStyle:"var(--f-theme-settings-button-tertiary-font-style)",textTransform:"var(--f-theme-settings-button-tertiary-text-transform)",backgroundColor:"var(--f-theme-settings-button-tertiary-background-color)",borderColor:"var(--f-theme-settings-button-tertiary-border-color)",borderRadius:"var(--f-theme-settings-button-tertiary-border-radius)",borderWidth:"var(--f-theme-settings-button-tertiary-border-width)",color:"var(--f-theme-settings-button-tertiary-color)",display:"inline-block",marginTop:"10px",marginBottom:"10px",hover:{backgroundColor:"var(--f-theme-settings-button-tertiary-background-color-hover)",borderColor:"var(--f-theme-settings-button-tertiary-border-color-hover)",color:"var(--f-theme-settings-button-tertiary-color-hover)"}}},_n=e=>({...o.useElementProps({...e,elementToAttributes:n=>({url:n.href,buttonStyle:n.buttonStyle||"primary",target:n.target||"_blank"})}),onMouseOver:n=>{n.stopPropagation()}}),Vn=e=>{const{href:t,target:n,buttonStyle:r}=_n(e),{attributes:a,children:l}=e;return s.jsx(zn,{attributes:a,href:t,target:n,styles:we[`button${r.charAt(0).toUpperCase()+r.slice(1)}`],children:l})},zn=({attributes:e,styles:t={hover:{}},children:n,href:r="#",target:a})=>{const[l,c]=p.useState(!1);return s.jsx("a",{...e,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),href:r,target:a,style:l?{...t,...t.hover}:t,children:n})};class $n extends i.MarkupElement{constructor(t=C,n=Vn){super(t,n)}}const Wn=({type:e,...t})=>{const n=o.useEditorRef(),r=!!o.isRangeInSameBlock(n,{at:n.selection}),a=!!(n!=null&&n.selection)&&o.someNode(n,{match:{type:e}});return s.jsx(o.ToolbarButton,{tooltip:i.getTooltip(r?`Button
2
- ${i.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block."),classNames:i.getButtonClassNames(r),active:a,onMouseDown:async l=>{n&&(l.preventDefault(),l.stopPropagation(),o.focusEditor(n,n.selection??n.prevSelection??void 0),setTimeout(()=>{bt(n,{focused:!0})},0))},...t})},qn=({editor:e,id:t})=>s.jsx("div",{"data-plugin-id":t,children:s.jsx(Wn,{type:o.getPluginType(e,C),icon:s.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:s.jsx(i.IconButton16,{})}),styles:i.buttonStyles})}),Gn=()=>{const e=ms({});return s.jsx("div",{"data-test-id":"floating-button-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:e.defaultValue}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(de.EditButton,{children:s.jsx(i.IconPen16,{})})}),s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(de.UnlinkButton,{children:s.jsx(i.IconTrashBin16,{})})})]})]})})},Kn=({section:e,selectedUrl:t,onSelectUrl:n})=>{const r=e.permanentLink===t;return s.jsx("button",{"data-test-id":"internal-link-selector-section-link",className:i.merge(["tw-py-2 tw-px-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full",r?"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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(e.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[s.jsx(i.IconDocumentText16,{}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Section"})]})})},Xn=({page:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,appBridge:a})=>{const[l,c]=p.useState(e.id===r.documentId),d=e.permanentLink===t,{documentSections:u}=V.useDocumentSection(a,e.id),f=[...u.values()],x=f.length>0;return p.useEffect(()=>{e.id===r.pageId&&c(!0)},[r,e.id]),s.jsxs(s.Fragment,{children:[s.jsx("button",{"data-test-id":"internal-link-selector-page-link",className:i.merge(["tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full",x?"tw-pl-7":"tw-pl-12",d?"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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(e.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[x&&s.jsx("button",{"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!l),children:s.jsx("div",{className:i.merge(["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",l?"tw-rotate-90":""])})}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},e.id)}),l&&f.length>0&&f.map(g=>s.jsx(Kn,{section:g,selectedUrl:t,onSelectUrl:n},g.id))]})},vt=()=>s.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:s.jsx(i.LoadingCircle,{size:i.LoadingCircleSize.Small})}),Qn=({appBridge:e,documentId:t,selectedUrl:n,onSelectUrl:r,itemsToExpandInitially:a})=>{const[l,c]=p.useState([]),[d,u]=p.useState(!0),f=[...l.values()],x=!d&&f.length>0;return p.useEffect(()=>{e.getDocumentPagesByDocumentId(t).then(g=>{const h=g.filter(b=>!!b.category).sort((b,k)=>b.category.sort===k.category.sort?b.sort-k.sort:b.category.sort-k.category.sort),y=g.filter(b=>!b.category).sort((b,k)=>b.sort-k.sort);c([...h,...y])}).finally(()=>{u(!1)})},[]),d?s.jsx(vt,{}):x?s.jsx(s.Fragment,{children:f.map(g=>s.jsx(Xn,{page:g,appBridge:e,selectedUrl:n,onSelectUrl:r,itemsToExpandInitially:a},g.id))}):s.jsx("div",{className:"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak",children:"This document does not contain any pages."})},Yn=({document:e,appBridge:t,selectedUrl:n,onSelectUrl:r,itemsToExpandInitially:a})=>{const[l,c]=p.useState(e.id===a.documentId),d=e.permanentLink===n;return p.useEffect(()=>{e.id===a.documentId&&c(!0)},[a,e.id]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{"data-test-id":"internal-link-selector-document-link",className:i.merge(["tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-w-full",d?"tw-bg-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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>r(e.permanentLink),children:[s.jsx("button",{role:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!l),children:s.jsx("div",{className:i.merge(["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",l?"tw-rotate-90":""])})}),s.jsx(i.IconColorFan16,{}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),l&&s.jsx(Qn,{appBridge:t,documentId:e.id,selectedUrl:n,onSelectUrl:r,itemsToExpandInitially:a})]})},Jn=({appBridge:e,selectedUrl:t,onSelectUrl:n})=>{const[r,a]=p.useState(!0),[l,c]=p.useState([]),[d,u]=p.useState({documentId:void 0,pageId:void 0}),f=[...l.values()];p.useEffect(()=>{t&&f.length>0&&x().then(g=>{u(g)})},[f.length]),p.useEffect(()=>{e.getAllDocuments().then(g=>{c(g)}).finally(()=>{a(!1)})},[]);const x=async()=>{const g={documentId:void 0,pageId:void 0};if(f.find(y=>y.permanentLink===t))return g;for(const y of f){const b=await e.getDocumentPagesByDocumentId(y.id);e.getAllDocuments();const k=[...b.values()];if(!!k.find(S=>S.permanentLink===t))return g.documentId=y.id,g;for(const S of k)if(!![...(await e.getDocumentSectionsByDocumentPageId(S.id)).values()].find(H=>H.permanentLink===t))return g.documentId=y.id,g.pageId=S.id,g}return g};return r?s.jsx(vt,{}):s.jsx(s.Fragment,{children:f.map(g=>s.jsx(Yn,{document:g,appBridge:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:d},g.id))})},Ct=({appBridge:e,url:t,onUrlChange:n,buttonSize:r=i.ButtonSize.Medium})=>{const{open:a,isOpen:l,close:c}=an.useOverlayTriggerState({}),[d,u]=p.useState(t),f=h=>{u(h)},x=h=>{h.key==="Enter"&&g()};p.useEffect(()=>{t&&!d&&u(t)},[t,d]);const g=()=>{n==null||n(d),c()};return s.jsxs("div",{"data-test-id":"internal-link-selector",onKeyDown:x,children:[s.jsx(i.Button,{icon:s.jsx(i.IconLink,{}),size:r,type:i.ButtonType.Button,style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default,onClick:()=>a(),children:"Internal link"}),s.jsxs(i.Modal,{zIndex:1001,onClose:()=>c(),isOpen:l,isDismissable:!0,children:[s.jsx(i.Modal.Header,{title:"Select internal link"}),s.jsx(i.Modal.Body,{children:s.jsx(Jn,{appBridge:e,selectedUrl:d,onSelectUrl:f})}),s.jsx(i.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>c(),style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default},{children:"Choose",onClick:h=>{h==null||h.preventDefault(),g()},style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Strong,disabled:!d}]})]})]})},kt=({onUrlChange:e,onToggleTab:t,isValidUrlOrEmpty:n,appBridge:r,clearable:a,placeholder:l,newTab:c,openInNewTab:d,url:u="",required:f,info:x,label:g,buttonSize:h,hideInternalLinkButton:y})=>{const b=n?n(u):ee(u),k=c??(d?i.CheckboxState.Checked:i.CheckboxState.Unchecked);return s.jsxs("div",{"data-test-id":"link-input",children:[s.jsx(i.FormControl,{label:{children:g,htmlFor:"url",required:f,tooltip:x?{content:x,position:i.TooltipPosition.Top}:void 0},children:s.jsx(i.TextInput,{id:"url",value:u,clearable:a,onChange:e,placeholder:l??"https://example.com",focusOnMount:!0})}),!b&&s.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!y&&s.jsx("div",{className:"tw-mt-3",children:s.jsx(Ct,{url:u,appBridge:r,onUrlChange:e,buttonSize:h??i.ButtonSize.Medium})}),s.jsx("div",{className:"tw-mt-3",children:s.jsx(i.Checkbox,{value:"new-tab",label:"Open in new tab",state:k,onChange:t})})]})},St=({state:e,onTextChange:t,onUrlChange:n,onToggleTab:r,onCancel:a,onSave:l,isValidUrlOrEmpty:c,hasValues:d,testId:u,appBridge:f,children:x})=>s.jsxs("div",{"data-test-id":u,className:"tw-bg-white tw-rounded tw-shadow tw-p-7 tw-min-w-[400px] tw-overflow-y-auto",children:[s.jsx(i.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:s.jsx(i.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:t})}),x,s.jsx("div",{className:"tw-mt-5",children:s.jsx(kt,{url:e.url,newTab:e.newTab,onUrlChange:n,onToggleTab:r,isValidUrlOrEmpty:c,appBridge:f})}),s.jsx("div",{className:"tw-mt-3",children:s.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[s.jsx(i.Button,{onClick:a,size:i.ButtonSize.Medium,style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default,children:"Cancel"}),s.jsx(i.Button,{onClick:l,size:i.ButtonSize.Medium,icon:s.jsx(i.IconCheckMark20,{}),disabled:!d||!c(e==null?void 0:e.url),children:"Save"})]})})]}),Zn=e=>{var n;const t=o.getAboveNode(e,{match:{type:C}});return Array.isArray(t)&&((n=t[0])==null?void 0:n.buttonStyle)||"primary"},es={url:"",text:"",buttonStyle:"primary",newTab:i.CheckboxState.Unchecked},ts=()=>{const[e,t]=p.useReducer((n,r)=>{const{type:a,payload:l}=r;switch(a){case"NEW_TAB":return{...n,newTab:i.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:i.CheckboxState.Unchecked};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...l};default:return n}},es);return[e,t]},ns=()=>{const e=o.useEditorRef(),[t,n]=ts();p.useEffect(()=>{const g=Zn(e);n({type:"INIT",payload:{text:L.text(),buttonStyle:g,newTab:L.newTab()?i.CheckboxState.Checked:i.CheckboxState.Unchecked,url:L.url()}})},[n,e]);const r=g=>{n({type:"TEXT",payload:{text:g}})},a=g=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:g}})},l=g=>{n({type:"URL",payload:{url:g}})},c=g=>{n(g?{type:"NEW_TAB"}:{type:"SAME_TAB"})},d=()=>{E.hide()},u=g=>{if(!ee(t.url)||!f)return;const h=fe(t.url);E.text(t.text),E.url(h),E.buttonStyle(t.buttonStyle),E.newTab(t.newTab===i.CheckboxState.Checked),Ae(e)&&(g==null||g.preventDefault())},f=t.url!==""&&t.text!=="",{appBridge:x}=o.getPluginOptions(e,C);return o.useHotkeys("enter",u,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onButtonStyleChange:a,onUrlChange:l,onToggleTab:c,onCancel:d,onSave:u,hasValues:f,isValidUrlOrEmpty:ee,appBridge:x}},ue="link-plugin";var w=(e=>(e.heading1="heading1",e.heading2="heading2",e.heading3="heading3",e.heading4="heading4",e.custom1="custom1",e.custom2="custom2",e.custom3="custom3",e.quote="quote",e.imageCaption="imageCaption",e.imageTitle="imageTitle",e.p="p",e))(w||{});const T={heading1:{fontSize:"var(--f-theme-settings-heading1-font-size)",lineHeight:"var(--f-theme-settings-heading1-line-height)",marginTop:"var(--f-theme-settings-heading1-margin-top)",marginBottom:"var(--f-theme-settings-heading1-margin-bottom)",textDecoration:"var(--f-theme-settings-heading1-text-decoration)",fontStyle:"var(--f-theme-settings-heading1-font-style)",textTransform:"var(--f-theme-settings-heading1-text-transform)",letterSpacing:"var(--f-theme-settings-heading1-letter-spacing)",fontWeight:"var(--f-theme-settings-heading1-font-weight)",fontFamily:"var(--f-theme-settings-heading1-font-family)",color:"var(--f-theme-settings-heading1-color)"},heading2:{fontSize:"var(--f-theme-settings-heading2-font-size)",lineHeight:"var(--f-theme-settings-heading2-line-height)",marginTop:"var(--f-theme-settings-heading2-margin-top)",marginBottom:"var(--f-theme-settings-heading2-margin-bottom)",textDecoration:"var(--f-theme-settings-heading2-text-decoration)",fontStyle:"var(--f-theme-settings-heading2-font-style)",textTransform:"var(--f-theme-settings-heading2-text-transform)",letterSpacing:"var(--f-theme-settings-heading2-letter-spacing)",fontWeight:"var(--f-theme-settings-heading2-font-weight)",fontFamily:"var(--f-theme-settings-heading2-font-family)",color:"var(--f-theme-settings-heading2-color)"},heading3:{fontSize:"var(--f-theme-settings-heading3-font-size)",lineHeight:"var(--f-theme-settings-heading3-line-height)",marginTop:"var(--f-theme-settings-heading3-margin-top)",marginBottom:"var(--f-theme-settings-heading3-margin-bottom)",textDecoration:"var(--f-theme-settings-heading3-text-decoration)",fontStyle:"var(--f-theme-settings-heading3-font-style)",textTransform:"var(--f-theme-settings-heading3-text-transform)",letterSpacing:"var(--f-theme-settings-heading3-letter-spacing)",fontWeight:"var(--f-theme-settings-heading3-font-weight)",fontFamily:"var(--f-theme-settings-heading3-font-family)",color:"var(--f-theme-settings-heading3-color)"},heading4:{fontSize:"var(--f-theme-settings-heading4-font-size)",lineHeight:"var(--f-theme-settings-heading4-line-height)",marginTop:"var(--f-theme-settings-heading4-margin-top)",marginBottom:"var(--f-theme-settings-heading4-margin-bottom)",textDecoration:"var(--f-theme-settings-heading4-text-decoration)",fontStyle:"var(--f-theme-settings-heading4-font-style)",textTransform:"var(--f-theme-settings-heading4-text-transform)",letterSpacing:"var(--f-theme-settings-heading4-letter-spacing)",fontWeight:"var(--f-theme-settings-heading4-font-weight)",fontFamily:"var(--f-theme-settings-heading4-font-family)",color:"var(--f-theme-settings-heading4-color)"},custom1:{fontSize:"var(--f-theme-settings-custom1-font-size)",lineHeight:"var(--f-theme-settings-custom1-line-height)",marginTop:"var(--f-theme-settings-custom1-margin-top)",marginBottom:"var(--f-theme-settings-custom1-margin-bottom)",textDecoration:"var(--f-theme-settings-custom1-text-decoration)",fontStyle:"var(--f-theme-settings-custom1-font-style)",textTransform:"var(--f-theme-settings-custom1-text-transform)",letterSpacing:"var(--f-theme-settings-custom1-letter-spacing)",fontWeight:"var(--f-theme-settings-custom1-font-weight)",fontFamily:"var(--f-theme-settings-custom1-font-family)",color:"var(--f-theme-settings-custom1-color)"},custom2:{fontSize:"var(--f-theme-settings-custom2-font-size)",lineHeight:"var(--f-theme-settings-custom2-line-height)",marginTop:"var(--f-theme-settings-custom2-margin-top)",marginBottom:"var(--f-theme-settings-custom2-margin-bottom)",textDecoration:"var(--f-theme-settings-custom2-text-decoration)",fontStyle:"var(--f-theme-settings-custom2-font-style)",textTransform:"var(--f-theme-settings-custom2-text-transform)",letterSpacing:"var(--f-theme-settings-custom2-letter-spacing)",fontWeight:"var(--f-theme-settings-custom2-font-weight)",fontFamily:"var(--f-theme-settings-custom2-font-family)",color:"var(--f-theme-settings-custom2-color)"},custom3:{fontSize:"var(--f-theme-settings-custom3-font-size)",lineHeight:"var(--f-theme-settings-custom3-line-height)",marginTop:"var(--f-theme-settings-custom3-margin-top)",marginBottom:"var(--f-theme-settings-custom3-margin-bottom)",textDecoration:"var(--f-theme-settings-custom3-text-decoration)",fontStyle:"var(--f-theme-settings-custom3-font-style)",textTransform:"var(--f-theme-settings-custom3-text-transform)",letterSpacing:"var(--f-theme-settings-custom3-letter-spacing)",fontWeight:"var(--f-theme-settings-custom3-font-weight)",fontFamily:"var(--f-theme-settings-custom3-font-family)",color:"var(--f-theme-settings-custom3-color)"},p:{fontSize:"var(--f-theme-settings-body-font-size)",lineHeight:"var(--f-theme-settings-body-line-height)",marginTop:"var(--f-theme-settings-body-margin-top)",marginBottom:"var(--f-theme-settings-body-margin-bottom)",textDecoration:"var(--f-theme-settings-body-text-decoration)",fontStyle:"var(--f-theme-settings-body-font-style)",textTransform:"var(--f-theme-settings-body-text-transform)",letterSpacing:"var(--f-theme-settings-body-letter-spacing)",fontWeight:"var(--f-theme-settings-body-font-weight)",fontFamily:"var(--f-theme-settings-body-font-family)",color:"var(--f-theme-settings-body-color)"},quote:{fontSize:"var(--f-theme-settings-quote-font-size)",lineHeight:"var(--f-theme-settings-quote-line-height)",marginTop:"var(--f-theme-settings-quote-margin-top)",marginBottom:"var(--f-theme-settings-quote-margin-bottom)",textDecoration:"var(--f-theme-settings-quote-text-decoration)",fontStyle:"var(--f-theme-settings-quote-font-style)",textTransform:"var(--f-theme-settings-quote-text-transform)",letterSpacing:"var(--f-theme-settings-quote-letter-spacing)",fontWeight:"var(--f-theme-settings-quote-font-weight)",fontFamily:"var(--f-theme-settings-quote-font-family)",color:"var(--f-theme-settings-quote-color)"},imageCaption:{fontSize:"var(--f-theme-settings-image-caption-font-size)",lineHeight:"var(--f-theme-settings-image-caption-line-height)",marginTop:"var(--f-theme-settings-image-caption-margin-top)",marginBottom:"var(--f-theme-settings-image-caption-margin-bottom)",textDecoration:"var(--f-theme-settings-image-caption-text-decoration)",fontStyle:"var(--f-theme-settings-image-caption-font-style)",textTransform:"var(--f-theme-settings-image-caption-text-transform)",letterSpacing:"var(--f-theme-settings-image-caption-letter-spacing)",fontWeight:"var(--f-theme-settings-image-caption-font-weight)",fontFamily:"var(--f-theme-settings-image-caption-font-family)",color:"var(--f-theme-settings-image-caption-color)"},imageTitle:{fontSize:"var(--f-theme-settings-image-title-font-size)",lineHeight:"var(--f-theme-settings-image-title-line-height)",marginTop:"var(--f-theme-settings-image-title-margin-top)",marginBottom:"var(--f-theme-settings-image-title-margin-bottom)",textDecoration:"var(--f-theme-settings-image-title-text-decoration)",fontStyle:"var(--f-theme-settings-image-title-font-style)",textTransform:"var(--f-theme-settings-image-title-text-transform)",letterSpacing:"var(--f-theme-settings-image-title-letter-spacing)",fontWeight:"var(--f-theme-settings-image-title-font-weight)",fontFamily:"var(--f-theme-settings-image-title-font-family)",color:"var(--f-theme-settings-image-title-color)"},[ue]:{fontSize:"var(--f-theme-settings-link-font-size)",lineHeight:"var(--f-theme-settings-link-line-height)",marginTop:"var(--f-theme-settings-link-margin-top)",marginBottom:"var(--f-theme-settings-link-margin-bottom)",textDecoration:"var(--f-theme-settings-link-text-decoration)",fontStyle:"var(--f-theme-settings-link-font-style)",textTransform:"var(--f-theme-settings-link-text-transform)",letterSpacing:"var(--f-theme-settings-link-letter-spacing)",fontWeight:"var(--f-theme-settings-link-font-weight)",fontFamily:"var(--f-theme-settings-link-font-family)",color:"var(--f-theme-settings-link-color)"},...we},ss=()=>{const e=ns(),{state:t,onButtonStyleChange:n}=e;return s.jsx(St,{...e,testId:"floating-button-insert",children:s.jsx("div",{className:"tw-pt-5",children:s.jsxs(i.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[s.jsx(ve,{id:"primary",styles:T.buttonPrimary,isActive:t.buttonStyle==="primary",onClick:()=>n("primary"),children:t.text||"Primary Button"}),s.jsx(ve,{id:"secondary",styles:T.buttonSecondary,isActive:t.buttonStyle==="secondary",onClick:()=>n("secondary"),children:t.text||"Secondary Button"}),s.jsx(ve,{id:"tertiary",styles:T.buttonTertiary,isActive:t.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:t.text||"Tertiary Button"})]})})})},ve=({id:e,styles:t,isActive:n,onClick:r,children:a})=>{const[l,c]=p.useState(!1),d=()=>t&&t.hover&&l?{...t,...t.hover}:t;return s.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onClick:r,style:{...d(),marginTop:0,marginBottom:0},className:n?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:a})},rs=()=>{const e=te().isEditing(),t=s.jsx(ss,{}),n=e?t:s.jsx(Gn,{});return s.jsxs(s.Fragment,{children:[s.jsx(de.InsertRoot,{children:t}),s.jsx(de.EditRoot,{children:n})]})},C="button",Pt="button-plugin",Et=e=>o.createPluginFactory({key:C,isElement:!0,isInline:!0,props:({element:t})=>({nodeProps:{href:t==null?void 0:t.url,target:t==null?void 0:t.target}}),withOverrides:ht,renderAfterEditable:rs,options:{isUrl:xe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:e},then:(t,{type:n})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:r=>({type:n,url:r.getAttribute("href"),target:r.getAttribute("target")||"_blank"})}})})();class It extends i.Plugin{constructor({styles:t=we,...n}){super(Pt,{button:qn,markupElement:new $n,...n}),this.styles={},this.styles=t,this.appBridge=n==null?void 0:n.appBridge}plugins(){return[Et(this.appBridge)]}}const as=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=o.usePlateSelectors(n.id).keyEditor(),a=te().mode(),l=te().isOpen(n.id),{triggerFloatingButtonHotkeys:c}=o.getPluginOptions(n,C),d=p.useCallback(()=>{const h=o.getAboveNode(n,{match:{type:o.getPluginType(n,C)}});if(h){const[,y]=h;return o.getRangeBoundingClientRect(n,{anchor:o.getStartPoint(n,y),focus:o.getEndPoint(n,y)})}return o.getDefaultBoundingClientRect()},[n]),u=l&&a==="edit",{update:f,style:x,floating:g}=Bt({open:u,getBoundingClientRect:d,...e});return p.useEffect(()=>{const h=wt(n);if(h&&E.url(h),n.selection&&o.someNode(n,{match:{type:o.getPluginType(n,C)}})){E.show("edit",n.id),f();return}L.mode()==="edit"&&E.hide()},[n,r,f]),o.useHotkeys(c,h=>{h.preventDefault(),L.mode()==="edit"&&pe(n)},{enableOnContentEditable:!0},[]),hs(),Tt(),{style:{...x,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,g)}},is=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=Xe.useFocused(),a=te().mode(),l=te().isOpen(n.id),{triggerFloatingButtonHotkeys:c}=o.getPluginOptions(n,C);o.useHotkeys(c,x=>{x.preventDefault(),Fe(n,{focused:r})},{enableOnContentEditable:!0},[r]);const{update:d,style:u,floating:f}=Bt({open:l&&a==="insert",getBoundingClientRect:o.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return p.useEffect(()=>{l&&d(),E.updated(l)},[l,d]),Tt(),{style:{...u,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,f)}},os=e=>{const t=o.useEditorRef();return{onClick:p.useCallback(()=>{pe(t)},[t]),...e}},ls=o.createComponentAs(e=>{const t=os(e);return o.createElementAs("button",t)}),cs=e=>{const t=o.useEditorRef();return{onClick:p.useCallback(()=>{ne(t),o.focusEditor(t,t.selection??void 0)},[t]),...e}},us=o.createComponentAs(e=>{const t=cs(e);return o.createElementAs(o.Button,t)}),ds=o.createComponentAs(e=>{var n;const t=as(e);return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),gs=o.createComponentAs(e=>{var n;const t=is(e);return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),de={EditRoot:ds,InsertRoot:gs,EditButton:ls,UnlinkButton:us},ms=e=>{const t=te().updated(),n=p.useRef(null);p.useEffect(()=>{n.current&&t&&setTimeout(()=>{var a;(a=n.current)==null||a.focus()},0)},[t]);const r=p.useCallback(a=>{E.url(a.target.value)},[]);return o.mergeProps({onChange:r,defaultValue:L.url()},{...e,ref:o.useComposedRef(e.ref,n)})},hs=()=>{const e=o.useEditorRef();o.useHotkeys("*",t=>{t.key==="Enter"&&Ae(e)&&t.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Tt=()=>{const e=o.useEditorRef();o.useHotkeys("escape",()=>{if(L.mode()==="edit"){if(L.isEditing()){E.show("edit",e.id),o.focusEditor(e,e.selection??void 0);return}E.hide()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},fs=12,xs=-22,ps=96,Bt=e=>o.useVirtualFloating({placement:"bottom-start",middleware:[o.offset({mainAxis:fs,alignmentAxis:xs}),o.flip({padding:ps})],...e}),ws=({id:e="rte",isEditing:t,value:n,columns:r,gap:a,placeholder:l,plugins:c,onTextChange:d,showSerializedText:u})=>{const[f,x]=p.useState(!1),g=h=>{d&&h!==n&&d(h),x(!1)};return p.useEffect(()=>{const h=y=>(y.preventDefault(),y.returnValue="Unprocessed changes");return f&&window.addEventListener("beforeunload",h),()=>window.removeEventListener("beforeunload",h)},[f]),t?s.jsx(i.RichTextEditor,{id:e,value:n,border:!1,placeholder:l,plugins:c,onValueChanged:()=>x(!0),onTextChange:g,hideExternalFloatingModals:h=>{L.isOpen(h)&&E.reset()}}):s.jsx(An,{value:n,columns:r,gap:a,show:u,plugins:c})},ys=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=Xe.useFocused(),a=o.useFloatingLinkSelectors().mode(),l=o.useFloatingLinkSelectors().isOpen(n.id),{triggerFloatingLinkHotkeys:c}=o.getPluginOptions(n,o.ELEMENT_LINK);o.useHotkeys(c,x=>{o.triggerFloatingLinkInsert(n,{focused:r})&&x.preventDefault()},{enableOnContentEditable:!0},[r]);const{update:d,style:u,floating:f}=o.useVirtualFloatingLink({editorId:n.id,open:l&&a==="insert",getBoundingClientRect:o.getSelectionBoundingClientRect,whileElementsMounted:()=>{},...e});return p.useEffect(()=>{l?(d(),o.floatingLinkActions.updated(!0)):o.floatingLinkActions.updated(!1)},[l,d]),o.useFloatingLinkEscape(),{style:{...u,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,f)}},bs=o.createComponentAs(e=>{var n;const t=ys({...e,floatingOptions:{strategy:"absolute"}});return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),vs=o.createComponentAs(e=>{var n;const t=ks({...e,floatingOptions:{strategy:"absolute"}});return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)});o.FloatingLink.EditRoot=vs;o.FloatingLink.InsertRoot=bs;const ge=o.FloatingLink,Cs=()=>{const e=o.useFloatingLinkUrlInput({});return s.jsx("div",{"data-test-id":"floating-link-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:e.defaultValue}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(ge.EditButton,{children:s.jsx(i.IconPen16,{})})}),s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(ge.UnlinkButton,{children:s.jsx(i.IconTrashBin16,{})})})]})]})})},ks=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=o.usePlateSelectors().keyEditor(),a=o.useFloatingLinkSelectors().mode(),l=o.useFloatingLinkSelectors().isOpen(n.id),{triggerFloatingLinkHotkeys:c="command+k, ctrl+k"}=o.getPluginOptions(n,o.ELEMENT_LINK),d=p.useCallback(()=>{const h=o.getAboveNode(n,{match:{type:o.getPluginType(n,o.ELEMENT_LINK)}});if(h){const[,y]=h;return o.getRangeBoundingClientRect(n,{anchor:o.getStartPoint(n,y),focus:o.getEndPoint(n,y)})}return o.getDefaultBoundingClientRect()},[n]),u=l&&a==="edit",{update:f,style:x,floating:g}=o.useVirtualFloatingLink({editorId:n.id,open:u,getBoundingClientRect:d,...e});return p.useEffect(()=>{const h=mt(n);if(h&&o.floatingLinkActions.url(h),n.selection&&o.someNode(n,{match:{type:o.getPluginType(n,o.ELEMENT_LINK)}})){o.floatingLinkActions.show("edit",n.id),f();return}o.floatingLinkSelectors.mode()==="edit"&&o.floatingLinkActions.hide()},[n,r,f]),o.useHotkeys(c,h=>{h.preventDefault(),o.floatingLinkSelectors.mode()==="edit"&&o.triggerFloatingLinkEdit(n)},{enableOnContentEditable:!0},[]),o.useFloatingLinkEnter(),o.useFloatingLinkEscape(),{style:{...x,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,g)}},Ss={url:"",text:"",newTab:i.CheckboxState.Unchecked},Ps=()=>{const[e,t]=p.useReducer((n,r)=>{const{type:a,payload:l}=r;switch(a){case"NEW_TAB":return{...n,newTab:i.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:i.CheckboxState.Unchecked};case"URL":case"TEXT":case"INIT":return{...n,...l};default:return n}},Ss);return[e,t]},Es=()=>{const e=o.useEditorRef(),[t,n]=Ps();p.useEffect(()=>{const x=ut(e),g=dt(e);n({type:"INIT",payload:{text:o.floatingLinkSelectors.text(),newTab:o.floatingLinkSelectors.newTab()?i.CheckboxState.Checked:i.CheckboxState.Unchecked,url:x&&g===""?x:o.floatingLinkSelectors.url()}})},[n,e]);const r=x=>{n({type:"TEXT",payload:{text:x}})},a=x=>{n({type:"URL",payload:{url:x}})},l=x=>{n(x?{type:"NEW_TAB"}:{type:"SAME_TAB"})},c=()=>{o.floatingLinkActions.hide()},d=x=>{if(!ee(t.url)||!u)return;const g=fe(t.url);o.floatingLinkActions.text(t.text),o.floatingLinkActions.url(g),o.floatingLinkActions.newTab(t.newTab===i.CheckboxState.Checked),o.submitFloatingLink(e)&&(x==null||x.preventDefault())},u=t.url!==""&&t.text!=="",{appBridge:f}=o.getPluginOptions(e,o.ELEMENT_LINK);return o.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onUrlChange:a,onToggleTab:l,onCancel:c,onSave:d,hasValues:u,isValidUrlOrEmpty:ee,appBridge:f}},Is=()=>s.jsx(St,{...Es(),testId:"floating-link-insert"}),Ts=({readOnly:e})=>{const t=o.useFloatingLinkSelectors().isEditing();if(e)return null;const n=s.jsx(Is,{}),r=t?n:s.jsx(Cs,{});return s.jsxs(s.Fragment,{children:[s.jsx(ge.InsertRoot,{children:n}),s.jsx(ge.EditRoot,{children:r})]})},Bs=({id:e,editorId:t})=>{const n=o.usePlateEditorState(o.useEventPlateId(t)),r=!!o.isRangeInSameBlock(n,{at:n.selection});return s.jsx("div",{"data-plugin-id":e,children:s.jsx(o.LinkToolbarButton,{tooltip:i.getTooltip(r?`Link
3
- ${i.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block."),icon:s.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:s.jsx(i.IconLink,{size:i.IconSize.Size16})}),classNames:i.getButtonClassNames(r),styles:{root:{width:"24px",height:"24px"}},actionHandler:"onMouseDown"})})},js=e=>({...o.useElementProps({...e,elementToAttributes:n=>{var r,a;return{href:n.url||((a=(r=n.chosenLink)==null?void 0:r.searchResult)==null?void 0:a.link)||"",target:n.target||"_self"}}}),onMouseOver:n=>{n.stopPropagation()}}),Ls=e=>{const t=js(e),{attributes:n,children:r}=e;return s.jsx("a",{...n,href:t.href,target:t.target,style:T[ue],children:r})};class Ns extends i.MarkupElement{constructor(t=o.ELEMENT_LINK,n=Ls){super(t,n)}}const jt=e=>o.createPluginFactory({...o.createLinkPlugin(),renderAfterEditable:Ts,options:{isUrl:xe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"command+k, ctrl+k",appBridge:e}})();class Lt extends i.Plugin{constructor(t,n=T[ue]){super(ue,{button:Bs,markupElement:new Ns,...t}),this.styles={},this.styles=n,this.appBridge=t==null?void 0:t.appBridge}plugins(){return[jt(this.appBridge)]}}const As="textstyle-custom1-plugin";class Nt extends i.Plugin{constructor({styles:t=T.custom1,...n}={}){super(w.custom1,{label:"Custom 1",markupElement:new Rs,...n}),this.styles={},this.styles=t}plugins(){return[Fs(this.styles)]}}class Rs extends i.MarkupElement{constructor(t=As,n=At){super(t,n)}}const At=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,style:r,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),children:n})},Fs=e=>o.createPluginFactory({key:w.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom1}]}})({component:t=>s.jsx(At,{...t,styles:e})}),Ms="textstyle-custom2-plugin";class Rt extends i.Plugin{constructor({styles:t=T.custom2,...n}={}){super(w.custom2,{label:"Custom 2",markupElement:new Os,...n}),this.styles={},this.styles=t}plugins(){return[Ds(this.styles)]}}class Os extends i.MarkupElement{constructor(t=Ms,n=Ft){super(t,n)}}const Ft=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Ds=e=>o.createPluginFactory({key:w.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom2}]}})({component:t=>s.jsx(Ft,{...t,styles:e})}),Us="textstyle-custom3-plugin";class Mt extends i.Plugin{constructor({styles:t=T.custom3,...n}={}){super(i.TextStyles.custom3,{label:"Custom 3",markupElement:new Hs,...n}),this.styles={},this.styles=t}plugins(){return[_s(this.styles)]}}class Hs extends i.MarkupElement{constructor(t=Us,n=Ot){super(t,n)}}const Ot=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},_s=e=>o.createPluginFactory({key:i.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:i.TextStyles.custom3}]}})({component:t=>s.jsx(Ot,{...t,styles:e})}),Vs="textstyle-heading1-plugin";class Dt extends i.Plugin{constructor({styles:t=T.heading1,...n}={}){super(w.heading1,{label:"Heading 1",markupElement:new zs,...n}),this.styles={},this.styles=t}plugins(){return[$s(this.styles)]}}class zs extends i.MarkupElement{constructor(t=Vs,n=Ce){super(t,n)}}const Ce=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h1",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},$s=e=>o.createPluginFactory({key:w.heading1,isElement:!0,component:Ce,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:t=>s.jsx(Ce,{...t,styles:e})}),Ws="textstyle-heading2-plugin";class Ut extends i.Plugin{constructor({styles:t=T.heading2,...n}={}){super(w.heading2,{label:"Heading 2",markupElement:new qs,...n}),this.styles={},this.styles=t}plugins(){return[Gs(this.styles)]}}class qs extends i.MarkupElement{constructor(t=Ws,n=ke){super(t,n)}}const ke=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h2",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Gs=e=>o.createPluginFactory({key:w.heading2,isElement:!0,component:ke,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:t=>s.jsx(ke,{...t,styles:e})}),Ks="textstyle-heading3-plugin";class Ht extends i.Plugin{constructor({styles:t=T.heading3,...n}={}){super(w.heading3,{label:"Heading 3",markupElement:new Xs,...n}),this.styles={},this.styles=t}plugins(){return[Qs(this.styles)]}}class Xs extends i.MarkupElement{constructor(t=Ks,n=Se){super(t,n)}}const Se=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h3",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Qs=e=>o.createPluginFactory({key:w.heading3,isElement:!0,component:Se,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:t=>s.jsx(Se,{...t,styles:e})}),Ys="textstyle-heading4-plugin";class _t extends i.Plugin{constructor({styles:t=T.heading4,...n}={}){super(w.heading4,{label:"Heading 4",markupElement:new Js,...n}),this.styles={},this.styles=t}plugins(){return[Zs(this.styles)]}}class Js extends i.MarkupElement{constructor(t=Ys,n=Pe){super(t,n)}}const Pe=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h4",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Zs=e=>o.createPluginFactory({key:w.heading4,isElement:!0,component:Pe,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:t=>s.jsx(Pe,{...t,styles:e})}),er="textstyle-imageCaption-plugin";class Vt extends i.Plugin{constructor({styles:t=T.imageCaption,...n}={}){super(w.imageCaption,{label:"Image Caption",markupElement:new tr,...n}),this.styles={},this.styles=t}plugins(){return[nr(this.styles)]}}class tr extends i.MarkupElement{constructor(t=er,n=Ee){super(t,n)}}const Ee=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},nr=e=>o.createPluginFactory({key:w.imageCaption,isElement:!0,component:Ee,deserializeHtml:{rules:[{validClassName:w.imageCaption}]}})({component:t=>s.jsx(Ee,{...t,styles:e})}),sr="textstyle-imageTitle-plugin";class zt extends i.Plugin{constructor({styles:t=T.imageTitle,...n}={}){super(w.imageTitle,{label:"Image Title",markupElement:new rr,...n}),this.styles={},this.styles=t}plugins(){return[ar(this.styles)]}}class rr extends i.MarkupElement{constructor(t=sr,n=Ie){super(t,n)}}const Ie=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},ar=e=>o.createPluginFactory({key:w.imageTitle,isElement:!0,component:Ie,deserializeHtml:{rules:[{validClassName:w.imageTitle}]}})({component:t=>s.jsx(Ie,{...t,styles:e})});class $t extends i.Plugin{constructor({styles:t=T.p,...n}={}){super(w.p,{markupElement:new qt,label:"Body Text",...n}),this.styles={},this.styles=t}plugins(){return[Gt(this.styles)]}}const Wt="tw-m-0 tw-px-0 tw-py-0",me=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align,l=i.merge([a&&i.alignmentClassnames[a],Wt,i.getColumnBreakClasses(e)]);return s.jsx("p",{...t,className:l,style:r,children:n})};class qt extends i.MarkupElement{constructor(t=w.p,n=me){super(t,n)}}const Gt=e=>o.createPluginFactory({...o.createParagraphPlugin(),key:w.p,isElement:!0,component:me})({component:t=>s.jsx(me,{...t,styles:e})}),ir="textstyle-quote-plugin";class Kt extends i.Plugin{constructor({styles:t=T.quote,...n}={}){super(w.quote,{label:"Quote",markupElement:new or,...n}),this.styles={},this.styles=t}plugins(){return[Xt(this.styles)]}}class or extends i.MarkupElement{constructor(t=ir,n=he){super(t,n)}}const he=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("blockquote",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Xt=e=>o.createPluginFactory({key:w.quote,isElement:!0,component:he,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:t=>s.jsx(he,{...t,styles:e})}),Me=[new Dt,new Ut,new Ht,new _t,new Nt,new Rt,new Mt,new Kt,new $t],Z=[w.heading1,w.heading2,w.heading3,w.heading4,w.custom1,w.custom2,w.custom3,w.quote,w.p],lr=[...Me,new Vt,new zt],cr=[...Z,w.imageCaption,w.imageTitle],ur=e=>new i.PluginComposer().setPlugin(new i.SoftBreakPlugin,new i.TextStylePlugin({textStyles:Me})).setPlugin([new i.BoldPlugin,new i.ItalicPlugin,new i.UnderlinePlugin,new i.StrikethroughPlugin,new Lt({appBridge:e}),new It({appBridge:e}),new i.CodePlugin],[new i.AlignLeftPlugin({validTypes:Z}),new i.AlignCenterPlugin({validTypes:Z}),new i.AlignRightPlugin({validTypes:Z}),new i.AlignJustifyPlugin({validTypes:Z}),new i.UnorderedListPlugin,new i.CheckboxListPlugin,new i.OrderedListPlugin,new i.ResetFormattingPlugin,new i.AutoformatPlugin]),dr="--f-theme-settings-",gr=e=>{const t=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",n=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",r=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||wn,a=e!=null&&e.label?e.label:"Background",l=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:a,type:"switch",switchLabel:l,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,defaultValue:r,type:"colorInput"}]}},mr=e=>{const t=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",n=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",r=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",a=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",l=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",c=(e==null?void 0:e.defaultColor)||Je,d=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:"Border",type:"switch",switchLabel:d,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,type:"multiInput",onChange:u=>m.appendUnit(u,a),layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:"dropdown",defaultValue:M.Solid,choices:[{value:M.Solid,label:M.Solid},{value:M.Dotted,label:M.Dotted},{value:M.Dashed,label:M.Dashed}]},{id:a,type:"input",defaultValue:yn,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px"},{id:l,type:"colorInput",defaultValue:c}]}],off:[]}},Oe=(e,t=_.None)=>({id:e,type:"segmentedControls",defaultValue:t,choices:[{value:_.None,label:"None"},{value:_.Small,label:"S"},{value:_.Medium,label:"M"},{value:_.Large,label:"L"}]}),hr=e=>{const t=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",n=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",r=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",a=(e==null?void 0:e.defaultRadius)||_.None;return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:l=>{var c;return e!=null&&e.dependentSettingId?!!((c=l.getBlock(e.dependentSettingId))!=null&&c.value):!0},onChange:l=>m.presetCustomValue(l,r,n,(e==null?void 0:e.radiusStyleMap)||G),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,n)}],off:[Oe(r,a)]}},fr=e=>{const t=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",n=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",r=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",a=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",l=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",c=e!=null&&e.id?`extendedRadiusBottomLeft_${e.id}`:"extendedRadiusBottomLeft",d=e!=null&&e.id?`extendedRadiusBottomRight_${e.id}`:"extendedRadiusBottomRight";return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:u=>{var f;return e!=null&&e.dependentSettingId?!!((f=u.getBlock(e.dependentSettingId))!=null&&f.value):!0},onChange:u=>{m.presetCustomValue(u,r,a,G),m.presetCustomValue(u,r,l,G),m.presetCustomValue(u,r,c,G),m.presetCustomValue(u,r,d,G)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:a,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:u=>m.appendUnit(u,a)},{id:l,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:u=>m.appendUnit(u,l)},{id:c,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:u=>m.appendUnit(u,c)},{id:d,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:u=>m.appendUnit(u,d)}]}],off:[Oe(r,e==null?void 0:e.defaultValue)]}},xr=e=>{const t=e!=null&&e.id?e.id:"hasCustomSpacing",n=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",r=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",a=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",l=e!=null&&e.defaultValueChoices?e.defaultValueChoices:q.M;return{id:t,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:c=>m.presetCustomValue(c,r,a,Ye),show:c=>{var d;return((d=c.getBlock(n))==null?void 0:d.value)!=="1"},on:[{id:a,type:"input",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,a)}],off:[{id:r,type:"slider",defaultValue:l,choices:[{value:q.Auto,label:"Auto"},{value:q.S,label:"S"},{value:q.M,label:"M"},{value:q.L,label:"L"}]}]}},De=e=>({id:e,type:"segmentedControls",defaultValue:W.None,choices:[{value:W.None,label:"None"},{value:W.Small,label:"S"},{value:W.Medium,label:"M"},{value:W.Large,label:"L"}]}),pr=e=>{const t=e!=null&&e.id?`hasCustomMarginValue_${e==null?void 0:e.id}`:"hasCustomMarginValue",n=e!=null&&e.id?`marginValue_${e==null?void 0:e.id}`:"marginValue",r=e!=null&&e.id?`marginChoice_${e==null?void 0:e.id}`:"marginChoice";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:a=>m.presetCustomValue(a,r,n,(e==null?void 0:e.marginStyleMap)||J),on:[{id:n,type:"input",placeholder:ae,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[De(r)]}},wr=e=>{const t=e!=null&&e.id?`hasExtendedCustomMargin_${e==null?void 0:e.id}`:"hasExtendedCustomMargin",n=e!=null&&e.id?`extendedMarginValues_${e==null?void 0:e.id}`:"extendedMarginValues",r=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",a=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",l=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",c=e!=null&&e.id?`extendedMarginRight_${e==null?void 0:e.id}`:"extendedMarginRight",d=e!=null&&e.id?`extendedMarginBottom_${e==null?void 0:e.id}`:"extendedMarginBottom";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:u=>{m.presetCustomValue(u,r,a,J),m.presetCustomValue(u,r,l,J),m.presetCustomValue(u,r,c,J),m.presetCustomValue(u,r,d,J)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:ae,onChange:u=>m.appendUnit(u,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:ae,onChange:u=>m.appendUnit(u,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:ae,onChange:u=>m.appendUnit(u,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Bottom",placeholder:ae,onChange:u=>m.appendUnit(u,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[De(r)]}},Ue=e=>({id:e,type:"segmentedControls",defaultValue:$.Small,choices:[{value:$.None,label:"None"},{value:$.Small,label:"S"},{value:$.Medium,label:"M"},{value:$.Large,label:"L"}]}),yr=e=>{const t=e!=null&&e.id?`hasCustomPaddingValue_${e==null?void 0:e.id}`:"hasCustomPaddingValue",n=e!=null&&e.id?`paddingValue_${e==null?void 0:e.id}`:"paddingValue",r=e!=null&&e.id?`paddingChoice_${e==null?void 0:e.id}`:"paddingChoice";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:a=>m.presetCustomValue(a,r,n,(e==null?void 0:e.paddingStyleMap)||Y),on:[{id:n,type:"input",placeholder:re,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[Ue(r)]}},br=e=>{const t=e!=null&&e.id?`hasExtendedCustomPadding_${e==null?void 0:e.id}`:"hasExtendedCustomPadding",n=e!=null&&e.id?`extendedPaddingValues_${e==null?void 0:e.id}`:"extendedPaddingValues",r=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",a=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",l=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",c=e!=null&&e.id?`extendedPaddingRight_${e==null?void 0:e.id}`:"extendedPaddingRight",d=e!=null&&e.id?`extendedPaddingBottom_${e==null?void 0:e.id}`:"extendedPaddingBottom";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:u=>{m.presetCustomValue(u,r,a,Y),m.presetCustomValue(u,r,l,Y),m.presetCustomValue(u,r,c,Y),m.presetCustomValue(u,r,d,Y)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:re,onChange:u=>m.appendUnit(u,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:re,onChange:u=>m.appendUnit(u,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:re,onChange:u=>m.appendUnit(u,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Bottom",placeholder:re,onChange:u=>m.appendUnit(u,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Ue(r)]}},vr=e=>{const t=He(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var r;return((r=n.getBlock(t))==null?void 0:r.value)===K.Custom}}},He=e=>e||"security",Cr=e=>[{id:He(e),type:"segmentedControls",defaultValue:K.Global,choices:[{value:K.Global,label:"Global Settings"},{value:K.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:m.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var Qt=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(Qt||{});const kr=e=>e,Sr=e=>e;exports.AllTextStylePlugins=lr;exports.AllTextStyles=cr;exports.Attachments=tt;exports.AttachmentsProvider=rt;exports.BUTTON_PLUGIN=Pt;exports.BlockButtonStyles=we;exports.BlockInjectButton=ln;exports.BlockItemWrapper=Ln;exports.BlockStyles=T;exports.BorderStyle=M;exports.ButtonPlugin=It;exports.Custom1Plugin=Nt;exports.Custom2Plugin=Rt;exports.Custom3Plugin=Mt;exports.DEFAULT_DRAGGING_TOOLTIP=et;exports.DEFAULT_DRAG_TOOLTIP=Ze;exports.DownloadButton=Nn;exports.ELEMENT_BUTTON=C;exports.GutterSpacing=q;exports.Heading1Plugin=Dt;exports.Heading2Plugin=Ut;exports.Heading3Plugin=Ht;exports.Heading4Plugin=_t;exports.ImageCaptionPlugin=Vt;exports.ImageTitlePlugin=zt;exports.LinkInput=kt;exports.LinkPlugin=Lt;exports.LinkSelector=Ct;exports.Margin=W;exports.PARAGRAPH_CLASSES=Wt;exports.Padding=$;exports.ParagraphMarkupElement=qt;exports.ParagraphMarkupElementNode=me;exports.ParagraphPlugin=$t;exports.QuoteMarkupElementNode=he;exports.QuotePlugin=Kt;exports.Radius=_;exports.RichTextEditor=ws;exports.Sections=Qt;exports.Security=K;exports.THEME_PREFIX=dr;exports.TextStylePluginsWithoutImage=Me;exports.TextStyles=w;exports.TextStylesWithoutImage=Z;exports.Toolbar=ot;exports.addHttps=fe;exports.borderStyleMap=Qe;exports.convertToRteValue=Rn;exports.createButtonNode=yt;exports.createButtonPlugin=Et;exports.createLinkPlugin=jt;exports.createParagraphPlugin=Gt;exports.createQuotePlugin=Xt;exports.customCoordinatesGetterFactory=it;exports.defineBlock=kr;exports.defineSettings=Sr;exports.getBackgroundColorStyles=pn;exports.getBackgroundSettings=gr;exports.getBorderRadiusSettings=hr;exports.getBorderRadiusSlider=Oe;exports.getBorderSettings=mr;exports.getBorderStyles=bn;exports.getDefaultPluginsWithLinkChooser=ur;exports.getExtendedBorderRadiusSettings=fr;exports.getGutterSettings=xr;exports.getLegacyUrl=ut;exports.getLinkFromEditor=mt;exports.getMarginExtendedSettings=wr;exports.getMarginSettings=pr;exports.getMarginSlider=De;exports.getPaddingExtendedSettings=br;exports.getPaddingSettings=yr;exports.getPaddingSlider=Ue;exports.getRadiusStyles=vn;exports.getReadableColor=fn;exports.getSecurityDownloadableSetting=vr;exports.getSecurityGlobalControlId=He;exports.getSecurityGlobalControlSetting=Cr;exports.getUrl=dt;exports.getUrlFromEditor=wt;exports.getUrlFromLinkOrLegacyLink=gt;exports.gutterSpacingStyleMap=Ye;exports.hasRichTextValue=lt;exports.insertButton=ft;exports.isDark=un;exports.isDownloadable=Fn;exports.isValidUrl=xe;exports.isValidUrlOrEmpty=ee;exports.joinClassNames=U;exports.mapAppBridgeColorPaletteToFonduePalette=ct;exports.mapAppBridgeColorPalettesToFonduePalettes=Mn;exports.marginStyleMap=J;exports.moveItemInArray=xn;exports.paddingStyleMap=Y;exports.radiusStyleMap=G;exports.relativeUrlRegex=Le;exports.setAlpha=mn;exports.submitFloatingButton=Ae;exports.toColorObject=hn;exports.toHex8String=dn;exports.toHexString=gn;exports.toRgbaString=Te;exports.toShortRgba=X;exports.triggerFloatingButton=bt;exports.triggerFloatingButtonEdit=pe;exports.triggerFloatingButtonInsert=Fe;exports.unwrapButton=ne;exports.upsertButton=xt;exports.upsertButtonText=Re;exports.useAttachments=nt;exports.useAttachmentsContext=at;exports.useDndSensors=Tn;exports.withAttachmentsProvider=Pn;exports.withButton=ht;exports.wrapButton=pt;Object.keys(m).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>m[e]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),s=require("react/jsx-runtime"),i=require("@frontify/fondue"),p=require("react"),G=require("@frontify/app-bridge"),E=require("@dnd-kit/core"),sn=require("@dnd-kit/modifiers"),le=require("@dnd-kit/sortable"),rn=require("@react-aria/focus"),o=require("@udecode/plate"),Xe=require("slate-react"),an=require("@react-stately/overlays"),on=require("slate"),D=require("@ctrl/tinycolor");const U=e=>e.filter(Boolean).join(" "),ln=({onDrop:e,label:t,icon:n,secondaryLabel:r,isLoading:a,fillParentContainer:l,onAssetChooseClick:u,onUploadClick:d,withMenu:c=!0,onClick:x,validFileType:f,verticalLayout:g})=>{const[h,w]=p.useState(!1),[v,C]=p.useState(),S=p.useRef(null),[P,F]=p.useState(void 0),N=I=>{if(I.preventDefault(),w(!1),!M(I.dataTransfer.files)){F("Invalid"),setTimeout(()=>{F(void 0)},1e3);return}e==null||e(I.dataTransfer.files)},M=I=>{if(!f)return!0;for(let A=0;A<I.length;A++){const R=I[A].name.split(".").pop()??"";if(!G.FileExtensionSets[f].includes(R))return!1}return!0},_=I=>{if(!S.current||a)return;const{left:A,top:R}=S.current.getBoundingClientRect(),ie=I.clientX-A,oe=I.clientY-R;C([ie,oe])};return s.jsxs("button",{ref:S,"data-test-id":"block-inject-button",className:U(["tw-font-body tw-relative tw-text-sm tw-leading-4 tw-border tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-gap-3 tw-w-full first:tw-rounded-tl last:tw-rounded-br",g?"[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl":"[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",l?"tw-h-full":"tw-h-[72px]",h&&!a?"tw-border-dashed":"tw-border-solid",v&&"tw-bg-blank-state-pressed-inverse",h&&"tw-bg-blank-state-weak-inverse",P?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",a||v||h||P?"":"tw-text-text-weak hover:tw-text-blank-state-hover hover:tw-bg-blank-state-hover-inverse hover:tw-border-blank-state-line-hover active:tw-text-blank-state-pressed active:tw-bg-blank-state-pressed-inverse active:tw-border-blank-state-line-hover",(h||v)&&!P?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:e?I=>{var A;if(w(!0),f==="Images")for(const R of Array.from(I.dataTransfer.items))(A=R==null?void 0:R.type)!=null&&A.startsWith("image/")?F(void 0):F("Invalid")}:void 0,onDragLeave:e?()=>{w(!1),F(void 0)}:void 0,onDrop:e?N:void 0,onClick:I=>{c&&_(I),x==null||x()},children:[a?s.jsx(i.LoadingCircle,{}):P?s.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[s.jsx(i.IconExclamationMarkTriangle,{}),P]}):s.jsxs(s.Fragment,{children:[n&&s.jsx("div",{children:n}),(t||r)&&s.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[t&&s.jsx("div",{className:"tw-font-medium",children:t}),r&&s.jsx("div",{className:"tw-font-normal",children:r})]})]}),v&&s.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:v[0],top:v[1]},children:s.jsx(i.Flyout,{onOpenChange:I=>!I&&C(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:s.jsx("div",{}),children:s.jsx(i.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...d?[{id:"upload",size:i.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{d(),C(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconArrowCircleUp20,{})})}]:[],...u?[{id:"asset",size:i.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{u(),C(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconImageStack20,{})})}]:[]]}]})})})]})},X=e=>{const t=r=>typeof r=="object"&&["red","green","blue"].every(l=>r.hasOwnProperty(l)),n=r=>{const a=typeof r.alpha=="number"?r.alpha:1;return{r:r.red,g:r.green,b:r.blue,a}};return t(e)?n(e):e},cn=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),un=(e,t)=>{const n=cn(e)?X(e):e,r=new D.TinyColor(n);return t?r.getBrightness()<t:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},dn=e=>new D.TinyColor(X(e)).toHex8String(),gn=e=>new D.TinyColor(X(e)).toHexString(),Te=e=>new D.TinyColor(X(e)).toRgbString(),mn=(e,t)=>new D.TinyColor(t).setAlpha(e).toRgbString(),hn=e=>{const{r:t,g:n,b:r,a}=new D.TinyColor(e);return{red:t,green:n,blue:r,alpha:a}},Ge=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),fn=(e,t)=>{const n=Ge(e)?X(e):e,r=Ge(t)?X(t):t;let a=new D.TinyColor(n);const l=new D.TinyColor(r);for(;D.readability(a,l)<4.5;)a=a.darken(1);return a.toRgbString()},pn=(e,t,n)=>{const r=[...e],a=n<0?r.length+n:n;if(a>=0&&a<r.length){const l=r.splice(t,1)[0];r.splice(a,0,l)}return r},xn=e=>({backgroundColor:Te(e)});var O=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(O||{});const Qe={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var H=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(H||{});const q={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var z=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(z||{});const Y={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var $=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))($||{});const J={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var K=(e=>(e.Global="Global",e.Custom="Custom",e))(K||{}),W=(e=>(e.Auto="Auto",e.S="S",e.M="M",e.L="L",e))(W||{});const Ye={Auto:"4px",S:"10px",M:"30px",L:"50px"},wn={red:241,green:241,blue:241,alpha:1},Je={red:234,green:235,blue:235,alpha:1},yn="1px",re="24px",ae="24px",bn=(e=O.Solid,t="1px",n=Je)=>({borderStyle:Qe[e],borderWidth:t,borderColor:Te(n)}),vn=(e,t=!1,n)=>({borderRadius:t?n:q[e]}),Ze="Drag or press ↵ to move",et="Move with ↑↓←→ and confirm with ↵",Ke=({children:e})=>s.jsx("div",{className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),Cn=e=>e==="IMAGE"?s.jsx(i.IconImage24,{}):e==="VIDEO"?s.jsx(i.IconPlayFrame24,{}):e==="AUDIO"?s.jsx(i.IconMusicNote24,{}):s.jsx(i.IconDocument24,{}),Be=p.forwardRef(({item:e,isEditing:t,transformStyle:n,isDragging:r,isOverlay:a,isLoading:l,onDelete:u,onReplaceWithBrowse:d,onReplaceWithUpload:c,onDownload:x},f)=>{const[g,h]=p.useState(),[w,{selectedFiles:v}]=G.useFileInput({multiple:!0,accept:"image/*"}),[C,{results:S,doneAll:P}]=G.useAssetUpload();p.useEffect(()=>{v&&C(v[0])},[v]),p.useEffect(()=>{P&&c(S[0])},[P,S]);const F=l||v&&!P;return s.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>x==null?void 0:x(),ref:f,style:{...n,opacity:r&&!a?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:U(["tw-cursor-pointer tw-text-left tw-w-full tw-relative tw-flex tw-gap-3 tw-px-5 tw-py-3 tw-items-center tw-group hover:tw-bg-box-neutral-hover",r?"tw-bg-box-neutral-hover":""]),children:[s.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:F?s.jsx(i.LoadingCircle,{size:i.LoadingCircleSize.Small}):Cn(e.objectType)}),s.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[s.jsx("div",{className:"tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:e.title}),s.jsx("div",{className:"tw-text-text-weak",children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),t&&s.jsx("div",{"data-test-id":"attachments-actionbar",className:U(["tw-flex tw-gap-0.5 group-focus:tw-opacity-100 focus-visible:tw-opacity-100 focus-within:tw-opacity-100 group-hover:tw-opacity-100",a||(g==null?void 0:g.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:s.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:s.jsx(i.Flyout,{placement:i.FlyoutPlacement.Right,isOpen:(g==null?void 0:g.id)===e.id,fitContent:!0,legacyFooter:!1,onOpenChange:N=>h(N?e:void 0),trigger:(N,M)=>s.jsx(i.Button,{ref:M,icon:s.jsx(i.IconPen20,{}),emphasis:i.ButtonEmphasis.Default,onClick:()=>h(e)}),children:s.jsx(i.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:i.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{w(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconArrowCircleUp20,{})})},{id:"asset",size:i.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{d(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:i.MenuItemContentSize.XSmall,title:"Delete",style:i.MenuItemStyle.Danger,onClick:()=>{u(),h(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(i.IconTrashBin20,{})})}]}]})})})})]})});Be.displayName="AttachmentItem";const kn=e=>{const{attributes:t,listeners:n,setNodeRef:r,transform:a,transition:l,isDragging:u}=le.useSortable({id:e.item.id}),d={transform:a?`translate(${a.x}px, ${a.y}px)`:"",transition:l,zIndex:u?2:1},c={...t,...n};return s.jsx(Be,{ref:r,isDragging:u,transformStyle:d,draggableProps:c,...e})},Sn=({children:e,isFlyoutOpen:t})=>s.jsxs("div",{className:U(["tw-flex tw-text-xs tw-font-body tw-items-center tw-gap-1 tw-rounded-full tw-outline tw-outline-1 tw-outline-offset-1 tw-p-1.5 tw-outline-line",t?"tw-bg-box-neutral-pressed tw-text-box-neutral-inverse-pressed":"tw-bg-base hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed tw-text-box-neutral-inverse hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed"]),children:[s.jsx(i.IconPaperclip16,{}),e,s.jsx(i.IconCaretDown12,{})]}),tt=({items:e=[],onDelete:t,onReplaceWithBrowse:n,onReplaceWithUpload:r,onBrowse:a,onUpload:l,onSorted:u,appBridge:d,triggerComponent:c=Sn,isOpen:x,onOpenChange:f})=>{const[g,h]=p.useState(e),[w,v]=p.useState(!1),C=E.useSensors(E.useSensor(E.PointerSensor),E.useSensor(E.KeyboardSensor)),[S,P]=p.useState(void 0),[F,N]=p.useState(!1),[M,_]=p.useState([]),[I,A]=p.useState(null),R=G.useEditorState(d),{openAssetChooser:ie,closeAssetChooser:oe}=G.useAssetChooser(d),_e=x!==void 0,ye=_e?x:w,Q=g==null?void 0:g.find(b=>b.id===S),[Yt,{results:Ve,doneAll:ze}]=G.useAssetUpload({onUploadProgress:()=>!F&&N(!0)}),se=b=>{const j=_e?f:v;j==null||j(b)};p.useEffect(()=>{h(e)},[e]),p.useEffect(()=>{I&&(N(!0),Yt(I))},[I]),p.useEffect(()=>{(async()=>{ze&&(await l(Ve),N(!1))})()},[ze,Ve]);const Jt=()=>{se(!1),ie(b=>{a(b),oe(),se(!0)},{multiSelection:!0,selectedValueIds:g.map(b=>b.id)})},$e=b=>{se(!1),ie(async j=>{se(!0),oe(),_([...M,b.id]),await n(b,j[0]),_(M.filter(V=>V!==b.id))},{multiSelection:!1,selectedValueIds:g.map(j=>j.id)})},We=async(b,j)=>{_([...M,b.id]),await r(b,j),_(M.filter(V=>V!==b.id))},Zt=b=>{const{active:j}=b;P(j.id)},en=b=>{const{active:j,over:V}=b;if(V&&j.id!==V.id&&g){const tn=g.findIndex(be=>be.id===j.id),nn=g.findIndex(be=>be.id===V.id),qe=le.arrayMove(g,tn,nn);h(qe),u(qe)}P(void 0)};return R||((g==null?void 0:g.length)??0)>0?s.jsx(i.LegacyTooltip,{withArrow:!0,position:i.TooltipPosition.Top,content:"Attachments",disabled:ye,enterDelay:500,triggerElement:s.jsx("div",{"data-test-id":"attachments-flyout-button",children:s.jsx(i.Flyout,{placement:i.FlyoutPlacement.BottomRight,onOpenChange:b=>se(Q?!0:b),isOpen:ye,hug:!1,fitContent:!0,legacyFooter:!1,trigger:s.jsx(c,{isFlyoutOpen:ye,children:s.jsx("div",{children:e.length>0?e.length:"Add"})}),children:s.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[g.length>0&&s.jsxs(E.DndContext,{sensors:C,collisionDetection:E.closestCenter,onDragStart:Zt,onDragEnd:en,modifiers:[sn.restrictToWindowEdges],children:[s.jsx(le.SortableContext,{items:g,strategy:le.rectSortingStrategy,children:s.jsx("div",{className:"tw-border-b tw-border-b-line",children:g.map(b=>s.jsx(kn,{isEditing:R,isLoading:M.includes(b.id),item:b,onDelete:()=>t(b),onReplaceWithBrowse:()=>$e(b),onReplaceWithUpload:j=>We(b,j),onDownload:()=>d.dispatch({name:"downloadAsset",payload:b})},b.id))})}),s.jsx(E.DragOverlay,{children:Q&&s.jsx(Be,{isOverlay:!0,isEditing:R,item:Q,isDragging:!0,onDelete:()=>t(Q),onReplaceWithBrowse:()=>$e(Q),onReplaceWithUpload:b=>We(Q,b)},S)})]}),R&&s.jsxs("div",{className:"tw-px-5 tw-py-3",children:[s.jsx("div",{className:"tw-font-body tw-font-medium tw-text-text tw-text-s tw-my-4",children:"Add attachments"}),s.jsx(i.AssetInput,{isLoading:F,size:i.AssetInputSize.Small,onUploadClick:b=>A(b),onLibraryClick:Jt})]})]})})})}):null},nt=(e,t)=>{const{blockAssets:n,addAssetIdsToKey:r,deleteAssetIdsFromKey:a,updateAssetIdsFromKey:l}=G.useBlockAssets(e),u=(n==null?void 0:n[t])||[];return{onAttachmentsAdd:async g=>{await r(t,g.map(h=>h.id))},onAttachmentDelete:async g=>{await a(t,[g.id])},onAttachmentReplace:async(g,h)=>{const w=u.map(v=>v.id===g.id?h.id:v.id);await l(t,w)},onAttachmentsSorted:async g=>{const h=g.map(w=>w.id);await l(t,h)},attachments:u,appBridge:e}},st=p.createContext(null),rt=({appBridge:e,children:t,assetId:n})=>{const r=nt(e,n);return s.jsx(st.Provider,{value:r,children:t})},at=()=>{const e=p.useContext(st);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},En=(e,t)=>{const n=r=>s.jsx(rt,{appBridge:r.appBridge,assetId:t,children:s.jsx(e,{...r})});return n.displayName="withAttachmentsProvider",n},Pn=[E.KeyboardCode.Down,E.KeyboardCode.Right,E.KeyboardCode.Up,E.KeyboardCode.Left],it=(e,t)=>(n,{currentCoordinates:r,context:{activeNode:a}})=>{if(n.preventDefault(),Pn.includes(n.code)){const l=(a==null?void 0:a.offsetWidth)??0,u=(a==null?void 0:a.offsetHeight)??0;switch(n.code){case E.KeyboardCode.Right:return{...r,x:r.x+l+e};case E.KeyboardCode.Left:return{...r,x:r.x-l-e};case E.KeyboardCode.Down:return{...r,y:r.y+u+t};case E.KeyboardCode.Up:return{...r,y:r.y-u-t}}}},In={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},Tn=(e=0,t=0)=>{const n=it(e,t);return E.useSensors(E.useSensor(E.PointerSensor),E.useSensor(E.KeyboardSensor,{coordinateGetter:n,keyboardCodes:In}))},ce=(e,t)=>{const n=[i.FOCUS_VISIBLE_STYLE,"tw-relative tw-inline-flex tw-items-center tw-justify-center","tw-h-6 tw-p-1","tw-rounded","tw-text-xs tw-font-medium","tw-gap-0.5","focus-visible:tw-z-10"];return t?n.push("tw-bg-box-neutral-pressed","tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grabbing":"tw-cursor-pointer"):n.push("hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed","tw-text-text-weak hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grab active:tw-cursor-grabbing":"tw-cursor-pointer"),U(n)},Bn=({children:e,isFlyoutOpen:t})=>s.jsxs("div",{className:ce("pointer",t),children:[s.jsx(i.IconPaperclip16,{}),e,s.jsx(i.IconCaretDown12,{})]}),jn=({isOpen:e,onOpenChange:t})=>{const{appBridge:n,attachments:r,onAttachmentsAdd:a,onAttachmentDelete:l,onAttachmentReplace:u,onAttachmentsSorted:d}=at();return s.jsx(tt,{onUpload:a,onDelete:l,onReplaceWithBrowse:u,onReplaceWithUpload:u,onSorted:d,onBrowse:a,items:r,appBridge:n,triggerComponent:Bn,isOpen:e,onOpenChange:t})},ot=({items:e,flyoutMenu:t,attachments:n,isDragging:r})=>s.jsxs("div",{"data-test-id":"block-item-wrapper-toolbar",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",children:[n.isEnabled&&s.jsx(Ke,{children:s.jsx(jn,{isOpen:n.isOpen&&!r,onOpenChange:n.onOpenChange})}),s.jsxs(Ke,{children:[e.map((a,l)=>"draggableProps"in a?s.jsx(i.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:r,position:i.TooltipPosition.Top,content:s.jsx("div",{children:r?et:a.tooltip??Ze}),triggerElement:s.jsx("button",{ref:a.setActivatorNodeRef,"data-test-id":"block-item-wrapper-toolbar-btn",...a.draggableProps,className:ce("grab",r),children:a.icon})},l):s.jsx(i.LegacyTooltip,{withArrow:!0,enterDelay:300,hoverDelay:0,disabled:r,position:i.TooltipPosition.Top,content:s.jsx("div",{children:a.tooltip??""}),triggerElement:s.jsx("button",{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:a.onClick,className:ce("pointer"),children:a.icon})},l)),t.items.length>0&&s.jsx(i.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,disabled:r||t.isOpen,position:i.TooltipPosition.Top,content:s.jsx("div",{children:"Options"}),triggerElement:s.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:s.jsx(i.Flyout,{isOpen:t.isOpen&&!r,legacyFooter:!1,fitContent:!0,hug:!1,onOpenChange:t.onOpenChange,trigger:s.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-flyout",className:ce("pointer",t.isOpen&&!r),children:s.jsx(i.IconDotsHorizontal16,{})}),children:s.jsx(i.ActionMenu,{menuBlocks:t.items.map((a,l)=>({id:l.toString(),menuItems:a.map((u,d)=>({id:l.toString()+d.toString(),size:i.MenuItemContentSize.XSmall,title:u.title,style:u.style,onClick:()=>{t.onOpenChange(!1),u.onClick()},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:u.icon})}))}))})})})})]})]}),Ln=({children:e,toolbarFlyoutItems:t,toolbarItems:n,shouldHideWrapper:r,shouldHideComponent:a=!1,isDragging:l,shouldFillContainer:u,outlineOffset:d=2,shouldBeShown:c=!1,showAttachments:x=!1})=>{const[f,g]=p.useState(c),[h,w]=p.useState(!1),v=p.useRef(null);if(r)return s.jsx(s.Fragment,{children:e});const C=n==null?void 0:n.filter(P=>P!==void 0),S=f||h||c;return s.jsxs("div",{ref:v,"data-test-id":"block-item-wrapper",style:{outlineOffset:d},className:U(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",u&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",S&&"tw-outline",a&&"tw-opacity-0"]),children:[s.jsx("div",{style:{right:-1-d,bottom:`calc(100% - ${2+d}px)`},className:U(["tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]","group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100","tw-flex tw-justify-end",S&&"tw-opacity-100"]),children:s.jsx(ot,{flyoutMenu:{items:t,isOpen:f,onOpenChange:g},attachments:{isEnabled:x,isOpen:h,onOpenChange:w},items:C,isDragging:l})}),e]})},Nn=({onDownload:e})=>{const{isFocused:t,focusProps:n}=rn.useFocusRing();return s.jsx(i.LegacyTooltip,{withArrow:!0,position:i.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:s.jsx("button",{tabIndex:0,"aria-label":"Download",...n,className:U(["tw-outline-none tw-rounded",t&&i.FOCUS_STYLE]),onClick:e,onPointerDown:r=>r.preventDefault(),children:s.jsx("span",{"data-test-id":"download-button",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",children:s.jsx(i.IconArrowCircleDown16,{})})})})},An=({value:e="",gap:t,columns:n,show:r=!0,plugins:a})=>{const[l,u]=p.useState(null);return p.useEffect(()=>{(async()=>u(await i.serializeRawToHtmlAsync(e,a,n,t)))()},[e,n,t,a]),!r||l==="<br />"?null:l!==null?s.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:l}}):s.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},lt=e=>{if(!e)return!1;const t=n=>n.some(r=>r.text?r.text!=="":r.children?t(r.children):!1);try{const n=JSON.parse(e);return t(n)}catch{return!1}},Rn=(e="p",t="",n)=>lt(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),Fn=(e,t,n)=>e===K.Custom?t:n,Mn=e=>e.map(ct),ct=e=>({id:e.id,title:e.name,colors:e.colors.map(t=>({alpha:t.alpha?t.alpha/255:1,red:t.red??0,green:t.green??0,blue:t.blue??0,name:t.name??""}))}),je=(e,t)=>{const n=o.getAboveNode(e,{match:{type:o.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},ut=e=>je(e,t=>{var n,r;return((r=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:r.link)||""}),dt=e=>je(e,t=>t.url||""),gt=e=>{var t,n;return e.url||((n=(t=e.chosenLink)==null?void 0:t.searchResult)==null?void 0:n.link)||""},mt=e=>je(e,gt),Le=/^\/(document|r)\/\S+$/i,fe=e=>{if(Le.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},pe=e=>{if(Le.test(e))return!0;try{const t=new URL(e);return["http:","https:","mailto:","tel:"].includes(t.protocol)&&t.pathname!==""}catch{return!1}},ee=e=>pe(fe(e))||e==="",ht=(e,{type:t})=>{const{apply:n,normalizeNode:r}=e;return e.apply=a=>{if(a.type!=="set_selection"){n(a);return}const l=a.newProperties;if(!(l!=null&&l.focus)||!l.anchor||!o.isCollapsed(l)){n(a);return}const u=o.getAboveNode(e,{at:l,match:{type:o.getPluginType(e,k)}});if(u){const[,d]=u;let c;o.isStartPoint(e,l.focus,d)&&(c=o.getPreviousNodeEndPoint(e,d)),o.isEndPoint(e,l.focus,d)&&(c=o.getNextNodeStartPoint(e,d)),c&&(a.newProperties={anchor:c,focus:c})}n(a)},e.normalizeNode=([a,l])=>{if(a.type===o.getPluginType(e,k)){const u=e.selection;if(u&&o.isCollapsed(u)&&o.isEndPoint(e,u.focus,l)){const d=o.getNextNodeStartPoint(e,l);if(d)o.select(e,d);else{const c=on.Path.next(l);o.insertNodes(e,{text:""},{at:c}),o.select(e,c)}}}r([a,l])},o.withRemoveEmptyNodes(e,o.mockPlugin({options:{types:t}}))},ft=(e,t,n)=>{o.insertNodes(e,[yt(e,t)],n)},Ne=o.createStore("floatingButton")({openEditorId:null,mouseDown:!1,updated:!1,url:"",text:"",buttonStyle:"primary",newTab:!1,mode:"",isEditing:!1}).extendActions(e=>({reset:()=>{e.url(""),e.text(""),e.buttonStyle("primary"),e.newTab(!1),e.mode(""),e.isEditing(!1)}})).extendActions(e=>({show:(t,n)=>{e.mode(t),e.isEditing(!1),e.openEditorId(n)},hide:()=>{e.reset(),e.openEditorId(null)}})).extendSelectors(e=>({isOpen:t=>e.openEditorId===t})),T=Ne.set,L=Ne.get,te=()=>Ne.use,Ae=e=>{if(!e.selection)return;const{isUrl:t,forceSubmit:n}=o.getPluginOptions(e,k),r=L.url();if(!((t==null?void 0:t(r))||n))return;const l=L.text(),u=L.buttonStyle(),d=L.newTab()?void 0:"_self";return T.hide(),pt(e,{url:r,text:l,buttonStyle:u,target:d,isUrl:c=>n||!t?!0:t(c)}),setTimeout(()=>{o.focusEditor(e,e.selection??void 0)},0),!0},ne=(e,t)=>o.withoutNormalizing(e,()=>{var n,r,a,l,u,d;if(t!=null&&t.split){if(o.getAboveNode(e,{at:(n=e.selection)==null?void 0:n.anchor,match:{type:o.getPluginType(e,k)}}))return o.splitNodes(e,{at:(r=e.selection)==null?void 0:r.anchor,match:f=>o.isElement(f)&&f.type===o.getPluginType(e,k)}),ne(e,{at:(a=e.selection)==null?void 0:a.anchor}),!0;if(o.getAboveNode(e,{at:(l=e.selection)==null?void 0:l.focus,match:{type:o.getPluginType(e,k)}}))return o.splitNodes(e,{at:(u=e.selection)==null?void 0:u.focus,match:f=>o.isElement(f)&&f.type===o.getPluginType(e,k)}),ne(e,{at:(d=e.selection)==null?void 0:d.focus}),!0}o.unwrapNodes(e,{match:{type:o.getPluginType(e,k)},...t})}),pt=(e,{url:t,text:n,buttonStyle:r,target:a,insertTextInButton:l,insertNodesOptions:u,isUrl:d=o.getPluginOptions(e,k).isUrl})=>{var P;const c=e.selection;if(!c)return;const x=o.getAboveNode(e,{at:c,match:{type:o.getPluginType(e,k)}});if(l&&x)return e.insertText(t),!0;if(!(d!=null&&d(t)))return;if(o.isDefined(n)&&n.length===0&&(n=t),x)return Un(t,e,x,a,r,n),!0;const f=o.findNode(e,{at:c,match:{type:o.getPluginType(e,k)}}),[g,h]=f??[],w=On(e,h,n);if(o.isExpanded(c))return Dn(x,e,t,r,a,n),!0;w&&o.removeNodes(e,{at:h});const v=o.getNodeProps(g??{}),C=(P=e.selection)==null?void 0:P.focus.path;if(!C)return;const S=o.getNodeLeaf(e,C);return n!=null&&n.length||(n=t),ft(e,{...v,url:t,target:a,children:[{...S,text:n}]},u),!0};function On(e,t,n){return t&&(n==null?void 0:n.length)&&n!==o.getEditorString(e,t)}function Dn(e,t,n,r,a,l){e?ne(t,{at:e[1]}):ne(t,{split:!0}),xt(t,{url:n,buttonStyle:r,target:a}),Re(t,{url:n,target:a,text:l})}function Un(e,t,n,r,a,l){var u,d,c;(e!==((u=n[0])==null?void 0:u.url)||r!==((d=n[0])==null?void 0:d.target)||a!==((c=n[0])==null?void 0:c.buttonStyle))&&o.setNodes(t,{url:e,target:r,buttonStyle:a},{at:n[1]}),Re(t,{url:e,text:l,target:r})}const Re=(e,{text:t})=>{const n=o.getAboveNode(e,{match:{type:o.getPluginType(e,k)}});if(n){const[r,a]=n;if(t!=null&&t.length&&t!==o.getEditorString(e,a)){const l=r.children[0];o.replaceNodeChildren(e,{at:a,nodes:{...l,text:t},insertOptions:{select:!0}})}}},xt=(e,{url:t,buttonStyle:n,target:r,...a})=>{o.wrapNodes(e,{type:o.getPluginType(e,k),url:t,buttonStyle:n,target:r,children:[]},{split:!0,...a})},Hn=(e,t)=>{const n=o.getAboveNode(e,{match:{type:k}});return Array.isArray(n)?t(n[0]):""},wt=e=>Hn(e,t=>t.url??""),yt=(e,{url:t,text:n="",buttonStyle:r="primary",target:a,children:l})=>({type:o.getPluginType(e,k),url:t,target:a,buttonStyle:r,children:l??[{text:n}]}),bt=(e,{focused:t}={})=>{if(L.mode()==="edit"){xe(e);return}Fe(e,{focused:t})},xe=e=>{const t=o.findNode(e,{match:{type:o.getPluginType(e,k)}});if(!t)return;const[n,r]=t;let a=o.getEditorString(e,r);T.url(n.url),T.newTab(n.target===void 0),a===n.url&&(a=""),T.text(a),T.isEditing(!0)},Fe=(e,{focused:t}={})=>{L.mode()||!t||o.isRangeAcrossBlocks(e,{at:e.selection})||o.someNode(e,{match:{type:o.getPluginType(e,k)}})||(T.text(o.getEditorString(e,e.selection)),T.show("insert",e.id))},we={buttonPrimary:{fontFamily:"var(--f-theme-settings-button-primary-font-family)",fontSize:"var(--f-theme-settings-button-primary-font-size)",fontWeight:"var(--f-theme-settings-button-primary-font-weight)",lineHeight:"var(--f-theme-settings-button-primary-line-height)",paddingTop:"var(--f-theme-settings-button-primary-padding-top)",paddingRight:"var(--f-theme-settings-button-primary-padding-right)",paddingBottom:"var(--f-theme-settings-button-primary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-primary-padding-left)",fontStyle:"var(--f-theme-settings-button-primary-font-style)",textTransform:"var(--f-theme-settings-button-primary-text-transform)",backgroundColor:"var(--f-theme-settings-button-primary-background-color)",borderColor:"var(--f-theme-settings-button-primary-border-color)",borderRadius:"var(--f-theme-settings-button-primary-border-radius)",borderWidth:"var(--f-theme-settings-button-primary-border-width)",color:"var(--f-theme-settings-button-primary-color)",marginTop:"10px",marginBottom:"10px",display:"inline-block",hover:{backgroundColor:"var(--f-theme-settings-button-primary-background-color-hover)",borderColor:"var(--f-theme-settings-button-primary-border-color-hover)",color:"var(--f-theme-settings-button-primary-color-hover)"}},buttonSecondary:{fontFamily:"var(--f-theme-settings-button-secondary-font-family)",fontSize:"var(--f-theme-settings-button-secondary-font-size)",fontWeight:"var(--f-theme-settings-button-secondary-font-weight)",lineHeight:"var(--f-theme-settings-button-secondary-line-height)",paddingTop:"var(--f-theme-settings-button-secondary-padding-top)",paddingRight:"var(--f-theme-settings-button-secondary-padding-right)",paddingBottom:"var(--f-theme-settings-button-secondary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-secondary-padding-left)",fontStyle:"var(--f-theme-settings-button-secondary-font-style)",textTransform:"var(--f-theme-settings-button-secondary-text-transform)",backgroundColor:"var(--f-theme-settings-button-secondary-background-color)",borderColor:"var(--f-theme-settings-button-secondary-border-color)",borderRadius:"var(--f-theme-settings-button-secondary-border-radius)",borderWidth:"var(--f-theme-settings-button-secondary-border-width)",color:"var(--f-theme-settings-button-secondary-color)",display:"inline-block",marginTop:"10px",marginBottom:"10px",hover:{backgroundColor:"var(--f-theme-settings-button-secondary-background-color-hover)",borderColor:"var(--f-theme-settings-button-secondary-border-color-hover)",color:"var(--f-theme-settings-button-secondary-color-hover)"}},buttonTertiary:{fontFamily:"var(--f-theme-settings-button-tertiary-font-family)",fontSize:"var(--f-theme-settings-button-tertiary-font-size)",fontWeight:"var(--f-theme-settings-button-tertiary-font-weight)",lineHeight:"var(--f-theme-settings-button-tertiary-line-height)",paddingTop:"var(--f-theme-settings-button-tertiary-padding-top)",paddingRight:"var(--f-theme-settings-button-tertiary-padding-right)",paddingBottom:"var(--f-theme-settings-button-tertiary-padding-bottom)",paddingLeft:"var(--f-theme-settings-button-tertiary-padding-left)",fontStyle:"var(--f-theme-settings-button-tertiary-font-style)",textTransform:"var(--f-theme-settings-button-tertiary-text-transform)",backgroundColor:"var(--f-theme-settings-button-tertiary-background-color)",borderColor:"var(--f-theme-settings-button-tertiary-border-color)",borderRadius:"var(--f-theme-settings-button-tertiary-border-radius)",borderWidth:"var(--f-theme-settings-button-tertiary-border-width)",color:"var(--f-theme-settings-button-tertiary-color)",display:"inline-block",marginTop:"10px",marginBottom:"10px",hover:{backgroundColor:"var(--f-theme-settings-button-tertiary-background-color-hover)",borderColor:"var(--f-theme-settings-button-tertiary-border-color-hover)",color:"var(--f-theme-settings-button-tertiary-color-hover)"}}},_n=e=>({...o.useElementProps({...e,elementToAttributes:n=>({url:n.href,buttonStyle:n.buttonStyle||"primary",target:n.target||"_blank"})}),onMouseOver:n=>{n.stopPropagation()}}),Vn=e=>{const{href:t,target:n,buttonStyle:r}=_n(e),{attributes:a,children:l}=e;return s.jsx(zn,{attributes:a,href:t,target:n,styles:we[`button${r.charAt(0).toUpperCase()+r.slice(1)}`],children:l})},zn=({attributes:e,styles:t={hover:{}},children:n,href:r="#",target:a})=>{const[l,u]=p.useState(!1);return s.jsx("a",{...e,onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),href:r,target:a,style:l?{...t,...t.hover}:t,children:n})};class $n extends i.MarkupElement{constructor(t=k,n=Vn){super(t,n)}}const Wn=({type:e,...t})=>{const n=o.useEditorRef(),r=!!o.isRangeInSameBlock(n,{at:n.selection}),a=!!(n!=null&&n.selection)&&o.someNode(n,{match:{type:e}});return s.jsx(o.ToolbarButton,{tooltip:i.getTooltip(r?`Button
2
+ ${i.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block."),classNames:i.getButtonClassNames(r),active:a,onMouseDown:async l=>{n&&(l.preventDefault(),l.stopPropagation(),o.focusEditor(n,n.selection??n.prevSelection??void 0),setTimeout(()=>{bt(n,{focused:!0})},0))},...t})},qn=({editor:e,id:t})=>s.jsx("div",{"data-plugin-id":t,children:s.jsx(Wn,{type:o.getPluginType(e,k),icon:s.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:s.jsx(i.IconButton16,{})}),styles:i.buttonStyles})}),Gn=()=>{const e=ms({});return s.jsx("div",{"data-test-id":"floating-button-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:e.defaultValue}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(de.EditButton,{children:s.jsx(i.IconPen16,{})})}),s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(de.UnlinkButton,{children:s.jsx(i.IconTrashBin16,{})})})]})]})})},Kn=({section:e,selectedUrl:t,onSelectUrl:n})=>{const r=e.permanentLink===t;return s.jsx("button",{"data-test-id":"internal-link-selector-section-link",className:i.merge(["tw-py-2 tw-px-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full",r?"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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(e.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[s.jsx(i.IconDocumentText16,{}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Section"})]})})},Xn=({page:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a})=>{const[l,u]=p.useState(e.id===r.documentId),[d,c]=p.useState([]),x=e.permanentLink===t;p.useEffect(()=>{(async()=>{const w=await a(e.id);c(w)})()},[e.id,a]),p.useEffect(()=>{e.id===r.pageId&&u(!0)},[r,e.id]);const f=[...d.values()],g=f.length>0;return s.jsxs(s.Fragment,{children:[s.jsx("button",{"data-test-id":"internal-link-selector-page-link",className:i.merge(["tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full",g?"tw-pl-7":"tw-pl-12",x?"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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(e.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[g&&s.jsx("button",{"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>u(!l),children:s.jsx("div",{className:i.merge(["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",l?"tw-rotate-90":""])})}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},e.id)}),l&&f.length>0&&f.map(h=>s.jsx(Kn,{section:h,selectedUrl:t,onSelectUrl:n},h.id))]})},vt=()=>s.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:s.jsx(i.LoadingCircle,{size:i.LoadingCircleSize.Small})}),Qn=({documentId:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:l})=>{const[u,d]=p.useState([]),[c,x]=p.useState(!0),f=[...u.values()],g=!c&&f.length>0;return p.useEffect(()=>{l(e).then(h=>{const w=h.filter(C=>!!C.category).sort((C,S)=>C.category.sort===S.category.sort?C.sort-S.sort:C.category.sort-S.category.sort),v=h.filter(C=>!C.category).sort((C,S)=>C.sort-S.sort);d([...w,...v])}).finally(()=>{x(!1)})},[]),c?s.jsx(vt,{}):g?s.jsx(s.Fragment,{children:f.map(h=>s.jsx(Xn,{page:h,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a},h.id))}):s.jsx("div",{className:"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak",children:"This document does not contain any pages."})},Yn=({document:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:l})=>{const[u,d]=p.useState(e.id===r.documentId),c=e.permanentLink===t;return p.useEffect(()=>{e.id===r.documentId&&d(!0)},[r,e.id]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{"data-test-id":"internal-link-selector-document-link",className:i.merge(["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",c?"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":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(e.permanentLink),children:[s.jsx("button",{role:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>d(!u),children:s.jsx("div",{className:i.merge(["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",u?"tw-rotate-90":""])})}),s.jsx(i.IconColorFan16,{}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),u&&s.jsx(Qn,{documentId:e.id,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:l})]})},Jn=({selectedUrl:e,onSelectUrl:t,getAllDocuments:n,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:a})=>{const[l,u]=p.useState(!0),[d,c]=p.useState([]),[x,f]=p.useState({documentId:void 0,pageId:void 0}),g=[...d.values()];p.useEffect(()=>{e&&g.length>0&&h().then(w=>{f(w)})},[g.length]),p.useEffect(()=>{n().then(w=>{c(w)}).finally(()=>{u(!1)})},[]);const h=async()=>{const w={documentId:void 0,pageId:void 0};if(g.find(C=>C.permanentLink===e))return w;for(const C of g){const P=[...(await r(C.id)).values()];if(!!P.find(N=>N.permanentLink===e))return w.documentId=C.id,w;for(const N of P)if(!![...(await a(N.id)).values()].find(A=>A.permanentLink===e))return w.documentId=C.id,w.pageId=N.id,w}return w};return l?s.jsx(vt,{}):s.jsx(s.Fragment,{children:g.map(w=>s.jsx(Yn,{document:w,selectedUrl:e,onSelectUrl:t,itemsToExpandInitially:x,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:r},w.id))})},Ct=({url:e,onUrlChange:t,buttonSize:n=i.ButtonSize.Medium,getAllDocuments:r,getDocumentPagesByDocumentId:a,getDocumentSectionsByDocumentPageId:l})=>{const{open:u,isOpen:d,close:c}=an.useOverlayTriggerState({}),[x,f]=p.useState(e),g=v=>{f(v)},h=v=>{v.key==="Enter"&&w()};p.useEffect(()=>{e&&!x&&f(e)},[e,x]);const w=()=>{t==null||t(x),c()};return s.jsxs("div",{"data-test-id":"internal-link-selector",onKeyDown:h,children:[s.jsx(i.Button,{icon:s.jsx(i.IconLink,{}),size:n,type:i.ButtonType.Button,style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default,onClick:()=>u(),children:"Internal link"}),s.jsxs(i.Modal,{zIndex:1001,onClose:()=>c(),isOpen:d,isDismissable:!0,children:[s.jsx(i.Modal.Header,{title:"Select internal link"}),s.jsx(i.Modal.Body,{children:s.jsx(Jn,{selectedUrl:x,onSelectUrl:g,getAllDocuments:r,getDocumentPagesByDocumentId:a,getDocumentSectionsByDocumentPageId:l})}),s.jsx(i.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>c(),style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default},{children:"Choose",onClick:v=>{v==null||v.preventDefault(),w()},style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Strong,disabled:!x}]})]})]})},kt=({onUrlChange:e,onToggleTab:t,isValidUrlOrEmpty:n,appBridge:r,clearable:a,placeholder:l,newTab:u,openInNewTab:d,url:c="",required:x,info:f,label:g,buttonSize:h,hideInternalLinkButton:w})=>{const v=n?n(c):ee(c),C=u??(d?i.CheckboxState.Checked:i.CheckboxState.Unchecked);return s.jsxs("div",{"data-test-id":"link-input",children:[s.jsx(i.FormControl,{label:{children:g,htmlFor:"url",required:x,tooltip:f?{content:f,position:i.TooltipPosition.Top}:void 0},children:s.jsx(i.TextInput,{id:"url",value:c,clearable:a,onChange:e,placeholder:l??"https://example.com",focusOnMount:!0})}),!v&&s.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!w&&s.jsx("div",{className:"tw-mt-3",children:s.jsx(Ct,{url:c,onUrlChange:e,buttonSize:h??i.ButtonSize.Medium,getAllDocuments:()=>r.getAllDocuments(),getDocumentPagesByDocumentId:S=>r.getDocumentPagesByDocumentId(S),getDocumentSectionsByDocumentPageId:S=>r.getDocumentSectionsByDocumentPageId(S)})}),s.jsx("div",{className:"tw-mt-3",children:s.jsx(i.Checkbox,{value:"new-tab",label:"Open in new tab",state:C,onChange:t})})]})},St=({state:e,onTextChange:t,onUrlChange:n,onToggleTab:r,onCancel:a,onSave:l,isValidUrlOrEmpty:u,hasValues:d,testId:c,appBridge:x,children:f})=>s.jsxs("div",{"data-test-id":c,className:"tw-bg-white tw-rounded tw-shadow tw-p-7 tw-min-w-[400px] tw-overflow-y-auto",children:[s.jsx(i.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:s.jsx(i.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:t})}),f,s.jsx("div",{className:"tw-mt-5",children:s.jsx(kt,{url:e.url,newTab:e.newTab,onUrlChange:n,onToggleTab:r,isValidUrlOrEmpty:u,appBridge:x})}),s.jsx("div",{className:"tw-mt-3",children:s.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[s.jsx(i.Button,{onClick:a,size:i.ButtonSize.Medium,style:i.ButtonStyle.Default,emphasis:i.ButtonEmphasis.Default,children:"Cancel"}),s.jsx(i.Button,{onClick:l,size:i.ButtonSize.Medium,icon:s.jsx(i.IconCheckMark20,{}),disabled:!d||!u(e==null?void 0:e.url),children:"Save"})]})})]}),Zn=e=>{var n;const t=o.getAboveNode(e,{match:{type:k}});return Array.isArray(t)&&((n=t[0])==null?void 0:n.buttonStyle)||"primary"},es={url:"",text:"",buttonStyle:"primary",newTab:i.CheckboxState.Unchecked},ts=()=>{const[e,t]=p.useReducer((n,r)=>{const{type:a,payload:l}=r;switch(a){case"NEW_TAB":return{...n,newTab:i.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:i.CheckboxState.Unchecked};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...l};default:return n}},es);return[e,t]},ns=()=>{const e=o.useEditorRef(),[t,n]=ts();p.useEffect(()=>{const g=Zn(e);n({type:"INIT",payload:{text:L.text(),buttonStyle:g,newTab:L.newTab()?i.CheckboxState.Checked:i.CheckboxState.Unchecked,url:L.url()}})},[n,e]);const r=g=>{n({type:"TEXT",payload:{text:g}})},a=g=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:g}})},l=g=>{n({type:"URL",payload:{url:g}})},u=g=>{n(g?{type:"NEW_TAB"}:{type:"SAME_TAB"})},d=()=>{T.hide()},c=g=>{if(!ee(t.url)||!x)return;const h=fe(t.url);T.text(t.text),T.url(h),T.buttonStyle(t.buttonStyle),T.newTab(t.newTab===i.CheckboxState.Checked),Ae(e)&&(g==null||g.preventDefault())},x=t.url!==""&&t.text!=="",{appBridge:f}=o.getPluginOptions(e,k);return o.useHotkeys("enter",c,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onButtonStyleChange:a,onUrlChange:l,onToggleTab:u,onCancel:d,onSave:c,hasValues:x,isValidUrlOrEmpty:ee,appBridge:f}},ue="link-plugin";var y=(e=>(e.heading1="heading1",e.heading2="heading2",e.heading3="heading3",e.heading4="heading4",e.custom1="custom1",e.custom2="custom2",e.custom3="custom3",e.quote="quote",e.imageCaption="imageCaption",e.imageTitle="imageTitle",e.p="p",e))(y||{});const B={heading1:{fontSize:"var(--f-theme-settings-heading1-font-size)",lineHeight:"var(--f-theme-settings-heading1-line-height)",marginTop:"var(--f-theme-settings-heading1-margin-top)",marginBottom:"var(--f-theme-settings-heading1-margin-bottom)",textDecoration:"var(--f-theme-settings-heading1-text-decoration)",fontStyle:"var(--f-theme-settings-heading1-font-style)",textTransform:"var(--f-theme-settings-heading1-text-transform)",letterSpacing:"var(--f-theme-settings-heading1-letter-spacing)",fontWeight:"var(--f-theme-settings-heading1-font-weight)",fontFamily:"var(--f-theme-settings-heading1-font-family)",color:"var(--f-theme-settings-heading1-color)"},heading2:{fontSize:"var(--f-theme-settings-heading2-font-size)",lineHeight:"var(--f-theme-settings-heading2-line-height)",marginTop:"var(--f-theme-settings-heading2-margin-top)",marginBottom:"var(--f-theme-settings-heading2-margin-bottom)",textDecoration:"var(--f-theme-settings-heading2-text-decoration)",fontStyle:"var(--f-theme-settings-heading2-font-style)",textTransform:"var(--f-theme-settings-heading2-text-transform)",letterSpacing:"var(--f-theme-settings-heading2-letter-spacing)",fontWeight:"var(--f-theme-settings-heading2-font-weight)",fontFamily:"var(--f-theme-settings-heading2-font-family)",color:"var(--f-theme-settings-heading2-color)"},heading3:{fontSize:"var(--f-theme-settings-heading3-font-size)",lineHeight:"var(--f-theme-settings-heading3-line-height)",marginTop:"var(--f-theme-settings-heading3-margin-top)",marginBottom:"var(--f-theme-settings-heading3-margin-bottom)",textDecoration:"var(--f-theme-settings-heading3-text-decoration)",fontStyle:"var(--f-theme-settings-heading3-font-style)",textTransform:"var(--f-theme-settings-heading3-text-transform)",letterSpacing:"var(--f-theme-settings-heading3-letter-spacing)",fontWeight:"var(--f-theme-settings-heading3-font-weight)",fontFamily:"var(--f-theme-settings-heading3-font-family)",color:"var(--f-theme-settings-heading3-color)"},heading4:{fontSize:"var(--f-theme-settings-heading4-font-size)",lineHeight:"var(--f-theme-settings-heading4-line-height)",marginTop:"var(--f-theme-settings-heading4-margin-top)",marginBottom:"var(--f-theme-settings-heading4-margin-bottom)",textDecoration:"var(--f-theme-settings-heading4-text-decoration)",fontStyle:"var(--f-theme-settings-heading4-font-style)",textTransform:"var(--f-theme-settings-heading4-text-transform)",letterSpacing:"var(--f-theme-settings-heading4-letter-spacing)",fontWeight:"var(--f-theme-settings-heading4-font-weight)",fontFamily:"var(--f-theme-settings-heading4-font-family)",color:"var(--f-theme-settings-heading4-color)"},custom1:{fontSize:"var(--f-theme-settings-custom1-font-size)",lineHeight:"var(--f-theme-settings-custom1-line-height)",marginTop:"var(--f-theme-settings-custom1-margin-top)",marginBottom:"var(--f-theme-settings-custom1-margin-bottom)",textDecoration:"var(--f-theme-settings-custom1-text-decoration)",fontStyle:"var(--f-theme-settings-custom1-font-style)",textTransform:"var(--f-theme-settings-custom1-text-transform)",letterSpacing:"var(--f-theme-settings-custom1-letter-spacing)",fontWeight:"var(--f-theme-settings-custom1-font-weight)",fontFamily:"var(--f-theme-settings-custom1-font-family)",color:"var(--f-theme-settings-custom1-color)"},custom2:{fontSize:"var(--f-theme-settings-custom2-font-size)",lineHeight:"var(--f-theme-settings-custom2-line-height)",marginTop:"var(--f-theme-settings-custom2-margin-top)",marginBottom:"var(--f-theme-settings-custom2-margin-bottom)",textDecoration:"var(--f-theme-settings-custom2-text-decoration)",fontStyle:"var(--f-theme-settings-custom2-font-style)",textTransform:"var(--f-theme-settings-custom2-text-transform)",letterSpacing:"var(--f-theme-settings-custom2-letter-spacing)",fontWeight:"var(--f-theme-settings-custom2-font-weight)",fontFamily:"var(--f-theme-settings-custom2-font-family)",color:"var(--f-theme-settings-custom2-color)"},custom3:{fontSize:"var(--f-theme-settings-custom3-font-size)",lineHeight:"var(--f-theme-settings-custom3-line-height)",marginTop:"var(--f-theme-settings-custom3-margin-top)",marginBottom:"var(--f-theme-settings-custom3-margin-bottom)",textDecoration:"var(--f-theme-settings-custom3-text-decoration)",fontStyle:"var(--f-theme-settings-custom3-font-style)",textTransform:"var(--f-theme-settings-custom3-text-transform)",letterSpacing:"var(--f-theme-settings-custom3-letter-spacing)",fontWeight:"var(--f-theme-settings-custom3-font-weight)",fontFamily:"var(--f-theme-settings-custom3-font-family)",color:"var(--f-theme-settings-custom3-color)"},p:{fontSize:"var(--f-theme-settings-body-font-size)",lineHeight:"var(--f-theme-settings-body-line-height)",marginTop:"var(--f-theme-settings-body-margin-top)",marginBottom:"var(--f-theme-settings-body-margin-bottom)",textDecoration:"var(--f-theme-settings-body-text-decoration)",fontStyle:"var(--f-theme-settings-body-font-style)",textTransform:"var(--f-theme-settings-body-text-transform)",letterSpacing:"var(--f-theme-settings-body-letter-spacing)",fontWeight:"var(--f-theme-settings-body-font-weight)",fontFamily:"var(--f-theme-settings-body-font-family)",color:"var(--f-theme-settings-body-color)"},quote:{fontSize:"var(--f-theme-settings-quote-font-size)",lineHeight:"var(--f-theme-settings-quote-line-height)",marginTop:"var(--f-theme-settings-quote-margin-top)",marginBottom:"var(--f-theme-settings-quote-margin-bottom)",textDecoration:"var(--f-theme-settings-quote-text-decoration)",fontStyle:"var(--f-theme-settings-quote-font-style)",textTransform:"var(--f-theme-settings-quote-text-transform)",letterSpacing:"var(--f-theme-settings-quote-letter-spacing)",fontWeight:"var(--f-theme-settings-quote-font-weight)",fontFamily:"var(--f-theme-settings-quote-font-family)",color:"var(--f-theme-settings-quote-color)"},imageCaption:{fontSize:"var(--f-theme-settings-image-caption-font-size)",lineHeight:"var(--f-theme-settings-image-caption-line-height)",marginTop:"var(--f-theme-settings-image-caption-margin-top)",marginBottom:"var(--f-theme-settings-image-caption-margin-bottom)",textDecoration:"var(--f-theme-settings-image-caption-text-decoration)",fontStyle:"var(--f-theme-settings-image-caption-font-style)",textTransform:"var(--f-theme-settings-image-caption-text-transform)",letterSpacing:"var(--f-theme-settings-image-caption-letter-spacing)",fontWeight:"var(--f-theme-settings-image-caption-font-weight)",fontFamily:"var(--f-theme-settings-image-caption-font-family)",color:"var(--f-theme-settings-image-caption-color)"},imageTitle:{fontSize:"var(--f-theme-settings-image-title-font-size)",lineHeight:"var(--f-theme-settings-image-title-line-height)",marginTop:"var(--f-theme-settings-image-title-margin-top)",marginBottom:"var(--f-theme-settings-image-title-margin-bottom)",textDecoration:"var(--f-theme-settings-image-title-text-decoration)",fontStyle:"var(--f-theme-settings-image-title-font-style)",textTransform:"var(--f-theme-settings-image-title-text-transform)",letterSpacing:"var(--f-theme-settings-image-title-letter-spacing)",fontWeight:"var(--f-theme-settings-image-title-font-weight)",fontFamily:"var(--f-theme-settings-image-title-font-family)",color:"var(--f-theme-settings-image-title-color)"},[ue]:{fontSize:"var(--f-theme-settings-link-font-size)",lineHeight:"var(--f-theme-settings-link-line-height)",marginTop:"var(--f-theme-settings-link-margin-top)",marginBottom:"var(--f-theme-settings-link-margin-bottom)",textDecoration:"var(--f-theme-settings-link-text-decoration)",fontStyle:"var(--f-theme-settings-link-font-style)",textTransform:"var(--f-theme-settings-link-text-transform)",letterSpacing:"var(--f-theme-settings-link-letter-spacing)",fontWeight:"var(--f-theme-settings-link-font-weight)",fontFamily:"var(--f-theme-settings-link-font-family)",color:"var(--f-theme-settings-link-color)"},...we},ss=()=>{const e=ns(),{state:t,onButtonStyleChange:n}=e;return s.jsx(St,{...e,testId:"floating-button-insert",children:s.jsx("div",{className:"tw-pt-5",children:s.jsxs(i.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[s.jsx(ve,{id:"primary",styles:B.buttonPrimary,isActive:t.buttonStyle==="primary",onClick:()=>n("primary"),children:t.text||"Primary Button"}),s.jsx(ve,{id:"secondary",styles:B.buttonSecondary,isActive:t.buttonStyle==="secondary",onClick:()=>n("secondary"),children:t.text||"Secondary Button"}),s.jsx(ve,{id:"tertiary",styles:B.buttonTertiary,isActive:t.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:t.text||"Tertiary Button"})]})})})},ve=({id:e,styles:t,isActive:n,onClick:r,children:a})=>{const[l,u]=p.useState(!1),d=()=>t&&t.hover&&l?{...t,...t.hover}:t;return s.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),onClick:r,style:{...d(),marginTop:0,marginBottom:0},className:n?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:a})},rs=()=>{const e=te().isEditing(),t=s.jsx(ss,{}),n=e?t:s.jsx(Gn,{});return s.jsxs(s.Fragment,{children:[s.jsx(de.InsertRoot,{children:t}),s.jsx(de.EditRoot,{children:n})]})},k="button",Et="button-plugin",Pt=e=>o.createPluginFactory({key:k,isElement:!0,isInline:!0,props:({element:t})=>({nodeProps:{href:t==null?void 0:t.url,target:t==null?void 0:t.target}}),withOverrides:ht,renderAfterEditable:rs,options:{isUrl:pe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:e},then:(t,{type:n})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:r=>({type:n,url:r.getAttribute("href"),target:r.getAttribute("target")||"_blank"})}})})();class It extends i.Plugin{constructor({styles:t=we,...n}){super(Et,{button:qn,markupElement:new $n,...n}),this.styles={},this.styles=t,this.appBridge=n==null?void 0:n.appBridge}plugins(){return[Pt(this.appBridge)]}}const as=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=o.usePlateSelectors(n.id).keyEditor(),a=te().mode(),l=te().isOpen(n.id),{triggerFloatingButtonHotkeys:u}=o.getPluginOptions(n,k),d=p.useCallback(()=>{const h=o.getAboveNode(n,{match:{type:o.getPluginType(n,k)}});if(h){const[,w]=h;return o.getRangeBoundingClientRect(n,{anchor:o.getStartPoint(n,w),focus:o.getEndPoint(n,w)})}return o.getDefaultBoundingClientRect()},[n]),c=l&&a==="edit",{update:x,style:f,floating:g}=Bt({open:c,getBoundingClientRect:d,...e});return p.useEffect(()=>{const h=wt(n);if(h&&T.url(h),n.selection&&o.someNode(n,{match:{type:o.getPluginType(n,k)}})){T.show("edit",n.id),x();return}L.mode()==="edit"&&T.hide()},[n,r,x]),o.useHotkeys(u,h=>{h.preventDefault(),L.mode()==="edit"&&xe(n)},{enableOnContentEditable:!0},[]),hs(),Tt(),{style:{...f,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,g)}},is=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=Xe.useFocused(),a=te().mode(),l=te().isOpen(n.id),{triggerFloatingButtonHotkeys:u}=o.getPluginOptions(n,k);o.useHotkeys(u,f=>{f.preventDefault(),Fe(n,{focused:r})},{enableOnContentEditable:!0},[r]);const{update:d,style:c,floating:x}=Bt({open:l&&a==="insert",getBoundingClientRect:o.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return p.useEffect(()=>{l&&d(),T.updated(l)},[l,d]),Tt(),{style:{...c,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,x)}},os=e=>{const t=o.useEditorRef();return{onClick:p.useCallback(()=>{xe(t)},[t]),...e}},ls=o.createComponentAs(e=>{const t=os(e);return o.createElementAs("button",t)}),cs=e=>{const t=o.useEditorRef();return{onClick:p.useCallback(()=>{ne(t),o.focusEditor(t,t.selection??void 0)},[t]),...e}},us=o.createComponentAs(e=>{const t=cs(e);return o.createElementAs(o.Button,t)}),ds=o.createComponentAs(e=>{var n;const t=as(e);return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),gs=o.createComponentAs(e=>{var n;const t=is(e);return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),de={EditRoot:ds,InsertRoot:gs,EditButton:ls,UnlinkButton:us},ms=e=>{const t=te().updated(),n=p.useRef(null);p.useEffect(()=>{n.current&&t&&setTimeout(()=>{var a;(a=n.current)==null||a.focus()},0)},[t]);const r=p.useCallback(a=>{T.url(a.target.value)},[]);return o.mergeProps({onChange:r,defaultValue:L.url()},{...e,ref:o.useComposedRef(e.ref,n)})},hs=()=>{const e=o.useEditorRef();o.useHotkeys("*",t=>{t.key==="Enter"&&Ae(e)&&t.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Tt=()=>{const e=o.useEditorRef();o.useHotkeys("escape",()=>{if(L.mode()==="edit"){if(L.isEditing()){T.show("edit",e.id),o.focusEditor(e,e.selection??void 0);return}T.hide()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},fs=12,ps=-22,xs=96,Bt=e=>o.useVirtualFloating({placement:"bottom-start",middleware:[o.offset({mainAxis:fs,alignmentAxis:ps}),o.flip({padding:xs})],...e}),ws=({id:e="rte",isEditing:t,value:n,columns:r,gap:a,placeholder:l,plugins:u,onTextChange:d,showSerializedText:c})=>{const[x,f]=p.useState(!1),g=h=>{d&&h!==n&&d(h),f(!1)};return p.useEffect(()=>{const h=w=>(w.preventDefault(),w.returnValue="Unprocessed changes");return x&&window.addEventListener("beforeunload",h),()=>window.removeEventListener("beforeunload",h)},[x]),t?s.jsx(i.RichTextEditor,{id:e,value:n,border:!1,placeholder:l,plugins:u,onValueChanged:()=>f(!0),onTextChange:g,hideExternalFloatingModals:h=>{L.isOpen(h)&&T.reset()}}):s.jsx(An,{value:n,columns:r,gap:a,show:c,plugins:u})},ys=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=Xe.useFocused(),a=o.useFloatingLinkSelectors().mode(),l=o.useFloatingLinkSelectors().isOpen(n.id),{triggerFloatingLinkHotkeys:u}=o.getPluginOptions(n,o.ELEMENT_LINK);o.useHotkeys(u,f=>{o.triggerFloatingLinkInsert(n,{focused:r})&&f.preventDefault()},{enableOnContentEditable:!0},[r]);const{update:d,style:c,floating:x}=o.useVirtualFloatingLink({editorId:n.id,open:l&&a==="insert",getBoundingClientRect:o.getSelectionBoundingClientRect,whileElementsMounted:()=>{},...e});return p.useEffect(()=>{l?(d(),o.floatingLinkActions.updated(!0)):o.floatingLinkActions.updated(!1)},[l,d]),o.useFloatingLinkEscape(),{style:{...c,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,x)}},bs=o.createComponentAs(e=>{var n;const t=ys({...e,floatingOptions:{strategy:"absolute"}});return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)}),vs=o.createComponentAs(e=>{var n;const t=ks({...e,floatingOptions:{strategy:"absolute"}});return((n=t.style)==null?void 0:n.display)==="none"?null:o.createElementAs("div",t)});o.FloatingLink.EditRoot=vs;o.FloatingLink.InsertRoot=bs;const ge=o.FloatingLink,Cs=()=>{const e=o.useFloatingLinkUrlInput({});return s.jsx("div",{"data-test-id":"floating-link-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:e.defaultValue}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(ge.EditButton,{children:s.jsx(i.IconPen16,{})})}),s.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(ge.UnlinkButton,{children:s.jsx(i.IconTrashBin16,{})})})]})]})})},ks=({floatingOptions:e,...t})=>{const n=o.useEditorRef(),r=o.usePlateSelectors().keyEditor(),a=o.useFloatingLinkSelectors().mode(),l=o.useFloatingLinkSelectors().isOpen(n.id),{triggerFloatingLinkHotkeys:u="command+k, ctrl+k"}=o.getPluginOptions(n,o.ELEMENT_LINK),d=p.useCallback(()=>{const h=o.getAboveNode(n,{match:{type:o.getPluginType(n,o.ELEMENT_LINK)}});if(h){const[,w]=h;return o.getRangeBoundingClientRect(n,{anchor:o.getStartPoint(n,w),focus:o.getEndPoint(n,w)})}return o.getDefaultBoundingClientRect()},[n]),c=l&&a==="edit",{update:x,style:f,floating:g}=o.useVirtualFloatingLink({editorId:n.id,open:c,getBoundingClientRect:d,...e});return p.useEffect(()=>{const h=mt(n);if(h&&o.floatingLinkActions.url(h),n.selection&&o.someNode(n,{match:{type:o.getPluginType(n,o.ELEMENT_LINK)}})){o.floatingLinkActions.show("edit",n.id),x();return}o.floatingLinkSelectors.mode()==="edit"&&o.floatingLinkActions.hide()},[n,r,x]),o.useHotkeys(u,h=>{h.preventDefault(),o.floatingLinkSelectors.mode()==="edit"&&o.triggerFloatingLinkEdit(n)},{enableOnContentEditable:!0},[]),o.useFloatingLinkEnter(),o.useFloatingLinkEscape(),{style:{...f,zIndex:1e3},...t,ref:o.useComposedRef(t.ref,g)}},Ss={url:"",text:"",newTab:i.CheckboxState.Unchecked},Es=()=>{const[e,t]=p.useReducer((n,r)=>{const{type:a,payload:l}=r;switch(a){case"NEW_TAB":return{...n,newTab:i.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:i.CheckboxState.Unchecked};case"URL":case"TEXT":case"INIT":return{...n,...l};default:return n}},Ss);return[e,t]},Ps=()=>{const e=o.useEditorRef(),[t,n]=Es();p.useEffect(()=>{const f=ut(e),g=dt(e);n({type:"INIT",payload:{text:o.floatingLinkSelectors.text(),newTab:o.floatingLinkSelectors.newTab()?i.CheckboxState.Checked:i.CheckboxState.Unchecked,url:f&&g===""?f:o.floatingLinkSelectors.url()}})},[n,e]);const r=f=>{n({type:"TEXT",payload:{text:f}})},a=f=>{n({type:"URL",payload:{url:f}})},l=f=>{n(f?{type:"NEW_TAB"}:{type:"SAME_TAB"})},u=()=>{o.floatingLinkActions.hide()},d=f=>{if(!ee(t.url)||!c)return;const g=fe(t.url);o.floatingLinkActions.text(t.text),o.floatingLinkActions.url(g),o.floatingLinkActions.newTab(t.newTab===i.CheckboxState.Checked),o.submitFloatingLink(e)&&(f==null||f.preventDefault())},c=t.url!==""&&t.text!=="",{appBridge:x}=o.getPluginOptions(e,o.ELEMENT_LINK);return o.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onUrlChange:a,onToggleTab:l,onCancel:u,onSave:d,hasValues:c,isValidUrlOrEmpty:ee,appBridge:x}},Is=()=>s.jsx(St,{...Ps(),testId:"floating-link-insert"}),Ts=({readOnly:e})=>{const t=o.useFloatingLinkSelectors().isEditing();if(e)return null;const n=s.jsx(Is,{}),r=t?n:s.jsx(Cs,{});return s.jsxs(s.Fragment,{children:[s.jsx(ge.InsertRoot,{children:n}),s.jsx(ge.EditRoot,{children:r})]})},Bs=({id:e,editorId:t})=>{const n=o.usePlateEditorState(o.useEventPlateId(t)),r=!!o.isRangeInSameBlock(n,{at:n.selection});return s.jsx("div",{"data-plugin-id":e,children:s.jsx(o.LinkToolbarButton,{tooltip:i.getTooltip(r?`Link
3
+ ${i.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block."),icon:s.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:s.jsx(i.IconLink,{size:i.IconSize.Size16})}),classNames:i.getButtonClassNames(r),styles:{root:{width:"24px",height:"24px"}},actionHandler:"onMouseDown"})})},js=e=>({...o.useElementProps({...e,elementToAttributes:n=>{var r,a;return{href:n.url||((a=(r=n.chosenLink)==null?void 0:r.searchResult)==null?void 0:a.link)||"",target:n.target||"_self"}}}),onMouseOver:n=>{n.stopPropagation()}}),Ls=e=>{const t=js(e),{attributes:n,children:r}=e;return s.jsx("a",{...n,href:t.href,target:t.target,style:B[ue],children:r})};class Ns extends i.MarkupElement{constructor(t=o.ELEMENT_LINK,n=Ls){super(t,n)}}const jt=e=>o.createPluginFactory({...o.createLinkPlugin(),renderAfterEditable:Ts,options:{isUrl:pe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"command+k, ctrl+k",appBridge:e}})();class Lt extends i.Plugin{constructor(t,n=B[ue]){super(ue,{button:Bs,markupElement:new Ns,...t}),this.styles={},this.styles=n,this.appBridge=t==null?void 0:t.appBridge}plugins(){return[jt(this.appBridge)]}}const As="textstyle-custom1-plugin";class Nt extends i.Plugin{constructor({styles:t=B.custom1,...n}={}){super(y.custom1,{label:"Custom 1",markupElement:new Rs,...n}),this.styles={},this.styles=t}plugins(){return[Fs(this.styles)]}}class Rs extends i.MarkupElement{constructor(t=As,n=At){super(t,n)}}const At=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,style:r,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),children:n})},Fs=e=>o.createPluginFactory({key:y.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:y.custom1}]}})({component:t=>s.jsx(At,{...t,styles:e})}),Ms="textstyle-custom2-plugin";class Rt extends i.Plugin{constructor({styles:t=B.custom2,...n}={}){super(y.custom2,{label:"Custom 2",markupElement:new Os,...n}),this.styles={},this.styles=t}plugins(){return[Ds(this.styles)]}}class Os extends i.MarkupElement{constructor(t=Ms,n=Ft){super(t,n)}}const Ft=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Ds=e=>o.createPluginFactory({key:y.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:y.custom2}]}})({component:t=>s.jsx(Ft,{...t,styles:e})}),Us="textstyle-custom3-plugin";class Mt extends i.Plugin{constructor({styles:t=B.custom3,...n}={}){super(i.TextStyles.custom3,{label:"Custom 3",markupElement:new Hs,...n}),this.styles={},this.styles=t}plugins(){return[_s(this.styles)]}}class Hs extends i.MarkupElement{constructor(t=Us,n=Ot){super(t,n)}}const Ot=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},_s=e=>o.createPluginFactory({key:i.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:i.TextStyles.custom3}]}})({component:t=>s.jsx(Ot,{...t,styles:e})}),Vs="textstyle-heading1-plugin";class Dt extends i.Plugin{constructor({styles:t=B.heading1,...n}={}){super(y.heading1,{label:"Heading 1",markupElement:new zs,...n}),this.styles={},this.styles=t}plugins(){return[$s(this.styles)]}}class zs extends i.MarkupElement{constructor(t=Vs,n=Ce){super(t,n)}}const Ce=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h1",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},$s=e=>o.createPluginFactory({key:y.heading1,isElement:!0,component:Ce,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:t=>s.jsx(Ce,{...t,styles:e})}),Ws="textstyle-heading2-plugin";class Ut extends i.Plugin{constructor({styles:t=B.heading2,...n}={}){super(y.heading2,{label:"Heading 2",markupElement:new qs,...n}),this.styles={},this.styles=t}plugins(){return[Gs(this.styles)]}}class qs extends i.MarkupElement{constructor(t=Ws,n=ke){super(t,n)}}const ke=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h2",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Gs=e=>o.createPluginFactory({key:y.heading2,isElement:!0,component:ke,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:t=>s.jsx(ke,{...t,styles:e})}),Ks="textstyle-heading3-plugin";class Ht extends i.Plugin{constructor({styles:t=B.heading3,...n}={}){super(y.heading3,{label:"Heading 3",markupElement:new Xs,...n}),this.styles={},this.styles=t}plugins(){return[Qs(this.styles)]}}class Xs extends i.MarkupElement{constructor(t=Ks,n=Se){super(t,n)}}const Se=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h3",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Qs=e=>o.createPluginFactory({key:y.heading3,isElement:!0,component:Se,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:t=>s.jsx(Se,{...t,styles:e})}),Ys="textstyle-heading4-plugin";class _t extends i.Plugin{constructor({styles:t=B.heading4,...n}={}){super(y.heading4,{label:"Heading 4",markupElement:new Js,...n}),this.styles={},this.styles=t}plugins(){return[Zs(this.styles)]}}class Js extends i.MarkupElement{constructor(t=Ys,n=Ee){super(t,n)}}const Ee=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("h4",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Zs=e=>o.createPluginFactory({key:y.heading4,isElement:!0,component:Ee,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:t=>s.jsx(Ee,{...t,styles:e})}),er="textstyle-imageCaption-plugin";class Vt extends i.Plugin{constructor({styles:t=B.imageCaption,...n}={}){super(y.imageCaption,{label:"Image Caption",markupElement:new tr,...n}),this.styles={},this.styles=t}plugins(){return[nr(this.styles)]}}class tr extends i.MarkupElement{constructor(t=er,n=Pe){super(t,n)}}const Pe=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},nr=e=>o.createPluginFactory({key:y.imageCaption,isElement:!0,component:Pe,deserializeHtml:{rules:[{validClassName:y.imageCaption}]}})({component:t=>s.jsx(Pe,{...t,styles:e})}),sr="textstyle-imageTitle-plugin";class zt extends i.Plugin{constructor({styles:t=B.imageTitle,...n}={}){super(y.imageTitle,{label:"Image Title",markupElement:new rr,...n}),this.styles={},this.styles=t}plugins(){return[ar(this.styles)]}}class rr extends i.MarkupElement{constructor(t=sr,n=Ie){super(t,n)}}const Ie=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("p",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},ar=e=>o.createPluginFactory({key:y.imageTitle,isElement:!0,component:Ie,deserializeHtml:{rules:[{validClassName:y.imageTitle}]}})({component:t=>s.jsx(Ie,{...t,styles:e})});class $t extends i.Plugin{constructor({styles:t=B.p,...n}={}){super(y.p,{markupElement:new qt,label:"Body Text",...n}),this.styles={},this.styles=t}plugins(){return[Gt(this.styles)]}}const Wt="tw-m-0 tw-px-0 tw-py-0",me=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align,l=i.merge([a&&i.alignmentClassnames[a],Wt,i.getColumnBreakClasses(e)]);return s.jsx("p",{...t,className:l,style:r,children:n})};class qt extends i.MarkupElement{constructor(t=y.p,n=me){super(t,n)}}const Gt=e=>o.createPluginFactory({...o.createParagraphPlugin(),key:y.p,isElement:!0,component:me})({component:t=>s.jsx(me,{...t,styles:e})}),ir="textstyle-quote-plugin";class Kt extends i.Plugin{constructor({styles:t=B.quote,...n}={}){super(y.quote,{label:"Quote",markupElement:new or,...n}),this.styles={},this.styles=t}plugins(){return[Xt(this.styles)]}}class or extends i.MarkupElement{constructor(t=ir,n=he){super(t,n)}}const he=({element:e,attributes:t,children:n,styles:r})=>{const a=e.align;return s.jsx("blockquote",{...t,className:i.merge([a&&i.alignmentClassnames[a],i.getColumnBreakClasses(e)]),style:r,children:n})},Xt=e=>o.createPluginFactory({key:y.quote,isElement:!0,component:he,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:t=>s.jsx(he,{...t,styles:e})}),Me=[new Dt,new Ut,new Ht,new _t,new Nt,new Rt,new Mt,new Kt,new $t],Z=[y.heading1,y.heading2,y.heading3,y.heading4,y.custom1,y.custom2,y.custom3,y.quote,y.p],lr=[...Me,new Vt,new zt],cr=[...Z,y.imageCaption,y.imageTitle],ur=e=>new i.PluginComposer().setPlugin(new i.SoftBreakPlugin,new i.TextStylePlugin({textStyles:Me})).setPlugin([new i.BoldPlugin,new i.ItalicPlugin,new i.UnderlinePlugin,new i.StrikethroughPlugin,new Lt({appBridge:e}),new It({appBridge:e}),new i.CodePlugin],[new i.AlignLeftPlugin({validTypes:Z}),new i.AlignCenterPlugin({validTypes:Z}),new i.AlignRightPlugin({validTypes:Z}),new i.AlignJustifyPlugin({validTypes:Z}),new i.UnorderedListPlugin,new i.CheckboxListPlugin,new i.OrderedListPlugin,new i.ResetFormattingPlugin,new i.AutoformatPlugin]),dr="--f-theme-settings-",gr=e=>{const t=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",n=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",r=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||wn,a=e!=null&&e.label?e.label:"Background",l=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:a,type:"switch",switchLabel:l,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,defaultValue:r,type:"colorInput"}]}},mr=e=>{const t=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",n=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",r=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",a=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",l=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",u=(e==null?void 0:e.defaultColor)||Je,d=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:"Border",type:"switch",switchLabel:d,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,type:"multiInput",onChange:c=>m.appendUnit(c,a),layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:"dropdown",defaultValue:O.Solid,choices:[{value:O.Solid,label:O.Solid},{value:O.Dotted,label:O.Dotted},{value:O.Dashed,label:O.Dashed}]},{id:a,type:"input",defaultValue:yn,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px"},{id:l,type:"colorInput",defaultValue:u}]}],off:[]}},Oe=(e,t=H.None)=>({id:e,type:"segmentedControls",defaultValue:t,choices:[{value:H.None,label:"None"},{value:H.Small,label:"S"},{value:H.Medium,label:"M"},{value:H.Large,label:"L"}]}),hr=e=>{const t=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",n=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",r=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",a=(e==null?void 0:e.defaultRadius)||H.None;return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:l=>{var u;return e!=null&&e.dependentSettingId?!!((u=l.getBlock(e.dependentSettingId))!=null&&u.value):!0},onChange:l=>m.presetCustomValue(l,r,n,(e==null?void 0:e.radiusStyleMap)||q),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,n)}],off:[Oe(r,a)]}},fr=e=>{const t=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",n=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",r=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",a=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",l=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",u=e!=null&&e.id?`extendedRadiusBottomLeft_${e.id}`:"extendedRadiusBottomLeft",d=e!=null&&e.id?`extendedRadiusBottomRight_${e.id}`:"extendedRadiusBottomRight";return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:c=>{var x;return e!=null&&e.dependentSettingId?!!((x=c.getBlock(e.dependentSettingId))!=null&&x.value):!0},onChange:c=>{m.presetCustomValue(c,r,a,q),m.presetCustomValue(c,r,l,q),m.presetCustomValue(c,r,u,q),m.presetCustomValue(c,r,d,q)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:a,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,a)},{id:l,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,l)},{id:u,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,u)},{id:d,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,d)}]}],off:[Oe(r,e==null?void 0:e.defaultValue)]}},pr=e=>{const t=e!=null&&e.id?e.id:"hasCustomSpacing",n=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",r=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",a=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",l=e!=null&&e.defaultValueChoices?e.defaultValueChoices:W.M;return{id:t,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:u=>m.presetCustomValue(u,r,a,Ye),show:u=>{var d;return((d=u.getBlock(n))==null?void 0:d.value)!=="1"},on:[{id:a,type:"input",rules:[m.numericalOrPixelRule],onChange:u=>m.appendUnit(u,a)}],off:[{id:r,type:"slider",defaultValue:l,choices:[{value:W.Auto,label:"Auto"},{value:W.S,label:"S"},{value:W.M,label:"M"},{value:W.L,label:"L"}]}]}},De=e=>({id:e,type:"segmentedControls",defaultValue:$.None,choices:[{value:$.None,label:"None"},{value:$.Small,label:"S"},{value:$.Medium,label:"M"},{value:$.Large,label:"L"}]}),xr=e=>{const t=e!=null&&e.id?`hasCustomMarginValue_${e==null?void 0:e.id}`:"hasCustomMarginValue",n=e!=null&&e.id?`marginValue_${e==null?void 0:e.id}`:"marginValue",r=e!=null&&e.id?`marginChoice_${e==null?void 0:e.id}`:"marginChoice";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:a=>m.presetCustomValue(a,r,n,(e==null?void 0:e.marginStyleMap)||J),on:[{id:n,type:"input",placeholder:ae,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[De(r)]}},wr=e=>{const t=e!=null&&e.id?`hasExtendedCustomMargin_${e==null?void 0:e.id}`:"hasExtendedCustomMargin",n=e!=null&&e.id?`extendedMarginValues_${e==null?void 0:e.id}`:"extendedMarginValues",r=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",a=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",l=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",u=e!=null&&e.id?`extendedMarginRight_${e==null?void 0:e.id}`:"extendedMarginRight",d=e!=null&&e.id?`extendedMarginBottom_${e==null?void 0:e.id}`:"extendedMarginBottom";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:c=>{m.presetCustomValue(c,r,a,J),m.presetCustomValue(c,r,l,J),m.presetCustomValue(c,r,u,J),m.presetCustomValue(c,r,d,J)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:ae,onChange:c=>m.appendUnit(c,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:ae,onChange:c=>m.appendUnit(c,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Right",placeholder:ae,onChange:c=>m.appendUnit(c,u),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Bottom",placeholder:ae,onChange:c=>m.appendUnit(c,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[De(r)]}},Ue=e=>({id:e,type:"segmentedControls",defaultValue:z.Small,choices:[{value:z.None,label:"None"},{value:z.Small,label:"S"},{value:z.Medium,label:"M"},{value:z.Large,label:"L"}]}),yr=e=>{const t=e!=null&&e.id?`hasCustomPaddingValue_${e==null?void 0:e.id}`:"hasCustomPaddingValue",n=e!=null&&e.id?`paddingValue_${e==null?void 0:e.id}`:"paddingValue",r=e!=null&&e.id?`paddingChoice_${e==null?void 0:e.id}`:"paddingChoice";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:a=>m.presetCustomValue(a,r,n,(e==null?void 0:e.paddingStyleMap)||Y),on:[{id:n,type:"input",placeholder:re,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[Ue(r)]}},br=e=>{const t=e!=null&&e.id?`hasExtendedCustomPadding_${e==null?void 0:e.id}`:"hasExtendedCustomPadding",n=e!=null&&e.id?`extendedPaddingValues_${e==null?void 0:e.id}`:"extendedPaddingValues",r=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",a=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",l=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",u=e!=null&&e.id?`extendedPaddingRight_${e==null?void 0:e.id}`:"extendedPaddingRight",d=e!=null&&e.id?`extendedPaddingBottom_${e==null?void 0:e.id}`:"extendedPaddingBottom";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:c=>{m.presetCustomValue(c,r,a,Y),m.presetCustomValue(c,r,l,Y),m.presetCustomValue(c,r,u,Y),m.presetCustomValue(c,r,d,Y)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:re,onChange:c=>m.appendUnit(c,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Left",placeholder:re,onChange:c=>m.appendUnit(c,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Right",placeholder:re,onChange:c=>m.appendUnit(c,u),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Bottom",placeholder:re,onChange:c=>m.appendUnit(c,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Ue(r)]}},vr=e=>{const t=He(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var r;return((r=n.getBlock(t))==null?void 0:r.value)===K.Custom}}},He=e=>e||"security",Cr=e=>[{id:He(e),type:"segmentedControls",defaultValue:K.Global,choices:[{value:K.Global,label:"Global Settings"},{value:K.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:m.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var Qt=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(Qt||{});const kr=e=>e,Sr=e=>e;exports.AllTextStylePlugins=lr;exports.AllTextStyles=cr;exports.Attachments=tt;exports.AttachmentsProvider=rt;exports.BUTTON_PLUGIN=Et;exports.BlockButtonStyles=we;exports.BlockInjectButton=ln;exports.BlockItemWrapper=Ln;exports.BlockStyles=B;exports.BorderStyle=O;exports.ButtonPlugin=It;exports.Custom1Plugin=Nt;exports.Custom2Plugin=Rt;exports.Custom3Plugin=Mt;exports.DEFAULT_DRAGGING_TOOLTIP=et;exports.DEFAULT_DRAG_TOOLTIP=Ze;exports.DownloadButton=Nn;exports.ELEMENT_BUTTON=k;exports.GutterSpacing=W;exports.Heading1Plugin=Dt;exports.Heading2Plugin=Ut;exports.Heading3Plugin=Ht;exports.Heading4Plugin=_t;exports.ImageCaptionPlugin=Vt;exports.ImageTitlePlugin=zt;exports.LinkInput=kt;exports.LinkPlugin=Lt;exports.LinkSelector=Ct;exports.Margin=$;exports.PARAGRAPH_CLASSES=Wt;exports.Padding=z;exports.ParagraphMarkupElement=qt;exports.ParagraphMarkupElementNode=me;exports.ParagraphPlugin=$t;exports.QuoteMarkupElementNode=he;exports.QuotePlugin=Kt;exports.Radius=H;exports.RichTextEditor=ws;exports.Sections=Qt;exports.Security=K;exports.THEME_PREFIX=dr;exports.TextStylePluginsWithoutImage=Me;exports.TextStyles=y;exports.TextStylesWithoutImage=Z;exports.Toolbar=ot;exports.addHttps=fe;exports.borderStyleMap=Qe;exports.convertToRteValue=Rn;exports.createButtonNode=yt;exports.createButtonPlugin=Pt;exports.createLinkPlugin=jt;exports.createParagraphPlugin=Gt;exports.createQuotePlugin=Xt;exports.customCoordinatesGetterFactory=it;exports.defineBlock=kr;exports.defineSettings=Sr;exports.getBackgroundColorStyles=xn;exports.getBackgroundSettings=gr;exports.getBorderRadiusSettings=hr;exports.getBorderRadiusSlider=Oe;exports.getBorderSettings=mr;exports.getBorderStyles=bn;exports.getDefaultPluginsWithLinkChooser=ur;exports.getExtendedBorderRadiusSettings=fr;exports.getGutterSettings=pr;exports.getLegacyUrl=ut;exports.getLinkFromEditor=mt;exports.getMarginExtendedSettings=wr;exports.getMarginSettings=xr;exports.getMarginSlider=De;exports.getPaddingExtendedSettings=br;exports.getPaddingSettings=yr;exports.getPaddingSlider=Ue;exports.getRadiusStyles=vn;exports.getReadableColor=fn;exports.getSecurityDownloadableSetting=vr;exports.getSecurityGlobalControlId=He;exports.getSecurityGlobalControlSetting=Cr;exports.getUrl=dt;exports.getUrlFromEditor=wt;exports.getUrlFromLinkOrLegacyLink=gt;exports.gutterSpacingStyleMap=Ye;exports.hasRichTextValue=lt;exports.insertButton=ft;exports.isDark=un;exports.isDownloadable=Fn;exports.isValidUrl=pe;exports.isValidUrlOrEmpty=ee;exports.joinClassNames=U;exports.mapAppBridgeColorPaletteToFonduePalette=ct;exports.mapAppBridgeColorPalettesToFonduePalettes=Mn;exports.marginStyleMap=J;exports.moveItemInArray=pn;exports.paddingStyleMap=Y;exports.radiusStyleMap=q;exports.relativeUrlRegex=Le;exports.setAlpha=mn;exports.submitFloatingButton=Ae;exports.toColorObject=hn;exports.toHex8String=dn;exports.toHexString=gn;exports.toRgbaString=Te;exports.toShortRgba=X;exports.triggerFloatingButton=bt;exports.triggerFloatingButtonEdit=xe;exports.triggerFloatingButtonInsert=Fe;exports.unwrapButton=ne;exports.upsertButton=pt;exports.upsertButtonText=Re;exports.useAttachments=nt;exports.useAttachmentsContext=at;exports.useDndSensors=Tn;exports.withAttachmentsProvider=En;exports.withButton=ht;exports.wrapButton=xt;Object.keys(m).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>m[e]})});
4
4
  //# sourceMappingURL=index.cjs.js.map