@frontify/guideline-blocks-settings 0.34.15 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,26 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useEditorRef as e, ToolbarButton as i, focusEditor as u, IconStylingWrapper as c, IconButton16 as l } from "@frontify/fondue";
3
- import { forwardRef as f } from "react";
4
- import { triggerFloatingButton as m } from "../utils/triggerFloatingButton.es.js";
5
- const p = f((r, n) => {
6
- const o = e();
2
+ import { useEditorRef as i, ToolbarButton as u, focusEditor as c, IconStylingWrapper as l, IconButton16 as f } from "@frontify/fondue";
3
+ import { forwardRef as p } from "react";
4
+ import { triggerFloatingButton as a } from "../utils/triggerFloatingButton.es.js";
5
+ const m = p((r, n) => {
6
+ const o = i();
7
7
  return /* @__PURE__ */ t(
8
- i,
8
+ u,
9
9
  {
10
10
  ref: n,
11
11
  ...r,
12
- onMouseDown: () => {
13
- u(o, o.selection ?? o.prevSelection ?? void 0);
12
+ onMouseDown: (e) => {
13
+ e.preventDefault(), c(o, o.selection ?? o.prevSelection ?? void 0);
14
14
  },
15
15
  onClick: () => {
16
- m(o, { focused: !0 });
16
+ a(o, { focused: !0 });
17
17
  },
18
- children: /* @__PURE__ */ t(c, { icon: /* @__PURE__ */ t(l, {}) })
18
+ children: /* @__PURE__ */ t(l, { icon: /* @__PURE__ */ t(f, {}) })
19
19
  }
20
20
  );
21
21
  });
22
- p.displayName = "ButtonToolbarButton";
22
+ m.displayName = "ButtonToolbarButton";
23
23
  export {
24
- p as ButtonToolbarButton
24
+ m as ButtonToolbarButton
25
25
  };
26
26
  //# sourceMappingURL=ButtonToolbarButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonToolbarButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconButton16, IconStylingWrapper, ToolbarButton, focusEditor, useEditorRef } from '@frontify/fondue';\nimport { type ReactNode, forwardRef } from 'react';\n\nimport { triggerFloatingButton } from '../utils';\n\nexport const ButtonToolbarButton = forwardRef<\n HTMLButtonElement,\n { disabled: boolean; tooltip: ReactNode; pressed: boolean }\n>((rootProps, ref) => {\n const editor = useEditorRef();\n\n return (\n <ToolbarButton\n ref={ref}\n {...rootProps}\n onMouseDown={() => {\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n onClick={() => {\n triggerFloatingButton(editor, { focused: true });\n }}\n >\n <IconStylingWrapper icon={<IconButton16 />} />\n </ToolbarButton>\n );\n});\n\nButtonToolbarButton.displayName = 'ButtonToolbarButton';\n"],"names":["ButtonToolbarButton","forwardRef","rootProps","ref","editor","useEditorRef","jsx","ToolbarButton","focusEditor","triggerFloatingButton","IconStylingWrapper","IconButton16"],"mappings":";;;;AAOO,MAAMA,IAAsBC,EAGjC,CAACC,GAAWC,MAAQ;AAClB,QAAMC,IAASC;AAGX,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,KAAAJ;AAAA,MACC,GAAGD;AAAA,MACJ,aAAa,MAAM;AACf,QAAAM,EAAYJ,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS;AAAA,MAC7E;AAAA,MACA,SAAS,MAAM;AACX,QAAAK,EAAsBL,GAAQ,EAAE,SAAS,GAAM,CAAA;AAAA,MACnD;AAAA,MAEA,UAAC,gBAAAE,EAAAI,GAAA,EAAmB,MAAM,gBAAAJ,EAACK,IAAa,CAAA,GAAI;AAAA,IAAA;AAAA,EAAA;AAGxD,CAAC;AAEDX,EAAoB,cAAc;"}
1
+ {"version":3,"file":"ButtonToolbarButton.es.js","sources":["../../../../../../src/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconButton16, IconStylingWrapper, ToolbarButton, focusEditor, useEditorRef } from '@frontify/fondue';\nimport { type ReactNode, forwardRef } from 'react';\n\nimport { triggerFloatingButton } from '../utils';\n\nexport const ButtonToolbarButton = forwardRef<\n HTMLButtonElement,\n { disabled: boolean; tooltip: ReactNode; pressed: boolean }\n>((rootProps, ref) => {\n const editor = useEditorRef();\n\n return (\n <ToolbarButton\n ref={ref}\n {...rootProps}\n onMouseDown={(event) => {\n event.preventDefault();\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n onClick={() => {\n triggerFloatingButton(editor, { focused: true });\n }}\n >\n <IconStylingWrapper icon={<IconButton16 />} />\n </ToolbarButton>\n );\n});\n\nButtonToolbarButton.displayName = 'ButtonToolbarButton';\n"],"names":["ButtonToolbarButton","forwardRef","rootProps","ref","editor","useEditorRef","jsx","ToolbarButton","event","focusEditor","triggerFloatingButton","IconStylingWrapper","IconButton16"],"mappings":";;;;AAOO,MAAMA,IAAsBC,EAGjC,CAACC,GAAWC,MAAQ;AAClB,QAAMC,IAASC;AAGX,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,KAAAJ;AAAA,MACC,GAAGD;AAAA,MACJ,aAAa,CAACM,MAAU;AACpB,QAAAA,EAAM,eAAe,GACrBC,EAAYL,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS;AAAA,MAC7E;AAAA,MACA,SAAS,MAAM;AACX,QAAAM,EAAsBN,GAAQ,EAAE,SAAS,GAAM,CAAA;AAAA,MACnD;AAAA,MAEA,UAAC,gBAAAE,EAAAK,GAAA,EAAmB,MAAM,gBAAAL,EAACM,IAAa,CAAA,GAAI;AAAA,IAAA;AAAA,EAAA;AAGxD,CAAC;AAEDZ,EAAoB,cAAc;"}
@@ -1,25 +1,25 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useEditorRef as s, useLinkToolbarButtonState as a, useLinkToolbarButton as c, ToolbarButton as u, focusEditor as l, IconStylingWrapper as p, IconLink16 as d } from "@frontify/fondue";
3
- import { forwardRef as f } from "react";
4
- const m = f(
2
+ import { useEditorRef as a, useLinkToolbarButtonState as u, useLinkToolbarButton as c, ToolbarButton as l, focusEditor as p, IconStylingWrapper as f, IconLink16 as d } from "@frontify/fondue";
3
+ import { forwardRef as m } from "react";
4
+ const b = m(
5
5
  (n, r) => {
6
- const o = s(), e = a(), { props: i } = c(e);
6
+ const o = a(), e = u(), { props: i } = c(e);
7
7
  return /* @__PURE__ */ t(
8
- u,
8
+ l,
9
9
  {
10
- onMouseDown: () => {
11
- l(o, o.selection ?? o.prevSelection ?? void 0);
10
+ onMouseDown: (s) => {
11
+ s.preventDefault(), p(o, o.selection ?? o.prevSelection ?? void 0);
12
12
  },
13
13
  ref: r,
14
14
  ...i,
15
15
  ...n,
16
- children: /* @__PURE__ */ t(p, { icon: /* @__PURE__ */ t(d, {}) })
16
+ children: /* @__PURE__ */ t(f, { icon: /* @__PURE__ */ t(d, {}) })
17
17
  }
18
18
  );
19
19
  }
20
20
  );
21
- m.displayName = "LinkToolbarButton";
21
+ b.displayName = "LinkToolbarButton";
22
22
  export {
23
- m as LinkToolbarButton
23
+ b as LinkToolbarButton
24
24
  };
25
25
  //# sourceMappingURL=LinkToolbarButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkToolbarButton.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n IconLink16,\n IconStylingWrapper,\n ToolbarButton,\n focusEditor,\n useEditorRef,\n useLinkToolbarButton,\n useLinkToolbarButtonState,\n} from '@frontify/fondue';\nimport { type ReactNode, forwardRef } from 'react';\n\nexport const LinkToolbarButton = forwardRef<HTMLButtonElement, { disabled: boolean; tooltip: ReactNode }>(\n (rootProps, ref) => {\n const editor = useEditorRef();\n const state = useLinkToolbarButtonState();\n const { props } = useLinkToolbarButton(state);\n return (\n <ToolbarButton\n onMouseDown={() => {\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n ref={ref}\n {...props}\n {...rootProps}\n >\n <IconStylingWrapper icon={<IconLink16 />} />\n </ToolbarButton>\n );\n },\n);\n\nLinkToolbarButton.displayName = 'LinkToolbarButton';\n"],"names":["LinkToolbarButton","forwardRef","rootProps","ref","editor","useEditorRef","state","useLinkToolbarButtonState","props","useLinkToolbarButton","jsx","ToolbarButton","focusEditor","IconStylingWrapper","IconLink16"],"mappings":";;;AAaO,MAAMA,IAAoBC;AAAA,EAC7B,CAACC,GAAWC,MAAQ;AAChB,UAAMC,IAASC,KACTC,IAAQC,KACR,EAAE,OAAAC,EAAA,IAAUC,EAAqBH,CAAK;AAExC,WAAA,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,aAAa,MAAM;AACf,UAAAC,EAAYR,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS;AAAA,QAC7E;AAAA,QACA,KAAAD;AAAA,QACC,GAAGK;AAAA,QACH,GAAGN;AAAA,QAEJ,UAAC,gBAAAQ,EAAAG,GAAA,EAAmB,MAAM,gBAAAH,EAACI,IAAW,CAAA,GAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAGtD;AACJ;AAEAd,EAAkB,cAAc;"}
1
+ {"version":3,"file":"LinkToolbarButton.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n IconLink16,\n IconStylingWrapper,\n ToolbarButton,\n focusEditor,\n useEditorRef,\n useLinkToolbarButton,\n useLinkToolbarButtonState,\n} from '@frontify/fondue';\nimport { type ReactNode, forwardRef } from 'react';\n\nexport const LinkToolbarButton = forwardRef<HTMLButtonElement, { disabled: boolean; tooltip: ReactNode }>(\n (rootProps, ref) => {\n const editor = useEditorRef();\n const state = useLinkToolbarButtonState();\n const { props } = useLinkToolbarButton(state);\n return (\n <ToolbarButton\n onMouseDown={(event) => {\n event.preventDefault();\n focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined);\n }}\n ref={ref}\n {...props}\n {...rootProps}\n >\n <IconStylingWrapper icon={<IconLink16 />} />\n </ToolbarButton>\n );\n },\n);\n\nLinkToolbarButton.displayName = 'LinkToolbarButton';\n"],"names":["LinkToolbarButton","forwardRef","rootProps","ref","editor","useEditorRef","state","useLinkToolbarButtonState","props","useLinkToolbarButton","jsx","ToolbarButton","event","focusEditor","IconStylingWrapper","IconLink16"],"mappings":";;;AAaO,MAAMA,IAAoBC;AAAA,EAC7B,CAACC,GAAWC,MAAQ;AAChB,UAAMC,IAASC,KACTC,IAAQC,KACR,EAAE,OAAAC,EAAA,IAAUC,EAAqBH,CAAK;AAExC,WAAA,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,aAAa,CAACC,MAAU;AACpB,UAAAA,EAAM,eAAe,GACrBC,EAAYT,GAAQA,EAAO,aAAaA,EAAO,iBAAiB,MAAS;AAAA,QAC7E;AAAA,QACA,KAAAD;AAAA,QACC,GAAGK;AAAA,QACH,GAAGN;AAAA,QAEJ,UAAC,gBAAAQ,EAAAI,GAAA,EAAmB,MAAM,gBAAAJ,EAACK,IAAW,CAAA,GAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAGtD;AACJ;AAEAf,EAAkB,cAAc;"}
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Cn=Object.defineProperty;var Sn=(e,t,n)=>t in e?Cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var B=(e,t,n)=>(Sn(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),a=require("react/jsx-runtime"),G=require("@frontify/app-bridge"),r=require("@frontify/fondue"),g=require("react"),T=require("@dnd-kit/core"),kn=require("@dnd-kit/modifiers"),de=require("@dnd-kit/sortable"),tt=require("@react-aria/focus"),Tn=require("@react-stately/overlays"),U=require("@ctrl/tinycolor"),O=e=>e.filter(Boolean).join(" "),Pn=({onDrop:e,label:t,icon:n,secondaryLabel:s,isLoading:i,fillParentContainer:o,onAssetChooseClick:l,onUploadClick:d,withMenu:c=!0,onClick:f,validFileType:h,verticalLayout:u})=>{const[x,y]=g.useState(!1),[p,v]=g.useState(),k=g.useRef(null),[P,L]=g.useState(void 0),_=S=>{if(S.preventDefault(),y(!1),!M(S.dataTransfer.files)){L("Invalid"),setTimeout(()=>{L(void 0)},1e3);return}e==null||e(S.dataTransfer.files)},M=S=>{if(!h)return!0;for(let A=0;A<S.length;A++){const R=S[A].name.split(".").pop()??"";if(!G.FileExtensionSets[h].includes(R))return!1}return!0},F=S=>{if(!k.current||i)return;const{left:A,top:R}=k.current.getBoundingClientRect(),le=S.clientX-A,ce=S.clientY-R;v([le,ce])};return a.jsxs("button",{ref:k,"data-test-id":"block-inject-button",className:O(["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",u?"[&: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",o?"tw-h-full":"tw-h-[72px]",x&&!i?"tw-border-dashed":"tw-border-solid",p&&"tw-bg-blank-state-pressed-inverse",x&&"tw-bg-blank-state-weak-inverse",P?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",i||p||x||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",(x||p)&&!P?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:e?S=>{var A;if(y(!0),h==="Images")for(const R of Array.from(S.dataTransfer.items))(A=R==null?void 0:R.type)!=null&&A.startsWith("image/")?L(void 0):L("Invalid")}:void 0,onDragLeave:e?()=>{y(!1),L(void 0)}:void 0,onDrop:e?_:void 0,onClick:S=>{c&&F(S),f==null||f()},children:[i?a.jsx(r.LoadingCircle,{}):P?a.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[a.jsx(r.IconExclamationMarkTriangle,{}),P]}):a.jsxs(a.Fragment,{children:[n&&a.jsx("div",{children:n}),(t||s)&&a.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[t&&a.jsx("div",{className:"tw-font-medium",children:t}),s&&a.jsx("div",{className:"tw-font-normal",children:s})]})]}),p&&a.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:p[0],top:p[1]},children:a.jsx(r.Flyout,{onOpenChange:S=>!S&&v(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:a.jsx("div",{}),children:a.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...d?[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{d(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconArrowCircleUp20,{})})}]:[],...l?[{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{l(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconImageStack20,{})})}]:[]]}]})})})]})},X=e=>{const t=s=>typeof s=="object"&&["red","green","blue"].every(o=>s.hasOwnProperty(o)),n=s=>{const i=typeof s.alpha=="number"?s.alpha:1;return{r:s.red,g:s.green,b:s.blue,a:i}};return t(e)?n(e):e},In=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),En=(e,t)=>{const n=In(e)?X(e):e,s=new U.TinyColor(n);return t?s.getBrightness()<t:s.isDark()||s.getAlpha()>.25&&s.getAlpha()<1},Bn=e=>new U.TinyColor(X(e)).toHex8String(),jn=e=>new U.TinyColor(X(e)).toHexString(),Ee=e=>new U.TinyColor(X(e)).toRgbString(),Nn=(e,t)=>new U.TinyColor(t).setAlpha(e).toRgbString(),Ln=e=>{const{r:t,g:n,b:s,a:i}=new U.TinyColor(e);return{red:t,green:n,blue:s,alpha:i}},Ye=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),An=(e,t)=>{const n=Ye(e)?X(e):e,s=Ye(t)?X(t):t;let i=new U.TinyColor(n);const o=new U.TinyColor(s);for(;U.readability(i,o)<4.5;)i=i.darken(1);return i.toRgbString()},Rn=(e,t,n)=>{const s=[...e],i=n<0?s.length+n:n;if(i>=0&&i<s.length){const o=s.splice(t,1)[0];s.splice(i,0,o)}return s},Mn=e=>({backgroundColor:Ee(e)}),Fn={red:241,green:241,blue:241,alpha:1},nt={red:234,green:235,blue:235,alpha:1},Dn="1px",re="24px",se="24px";var D=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(D||{});const rt={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 st={Auto:"4px",S:"10px",M:"30px",L:"50px"},On=(e=D.Solid,t="1px",n=nt)=>({borderStyle:rt[e],borderWidth:t,borderColor:Ee(n)}),Un=(e,t=!1,n)=>({borderRadius:t?n:q[e]}),at=g.createContext(!1),it=({children:e,isDragPreview:t})=>a.jsx(at.Provider,{value:t,children:e}),ie=()=>g.useContext(at),ot=g.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")}),lt=({children:e,openFlyoutIds:t,setOpenFlyoutIds:n})=>{const s=g.useMemo(()=>({openFlyoutIds:t,setOpenFlyoutIds:n}),[t,n]);return a.jsx(ot.Provider,{value:s,children:e})},ct=()=>g.useContext(ot),he=e=>{const{openFlyoutIds:t,setOpenFlyoutIds:n}=ct(),s=g.useCallback(i=>{n(o=>{const l=o.filter(d=>d!==e);return i?[...l,e]:l})},[e,n]);return{isOpen:t.includes(e),onOpenChange:s}},dt=(e,t)=>{const{blockAssets:n,addAssetIdsToKey:s,deleteAssetIdsFromKey:i,updateAssetIdsFromKey:o}=G.useBlockAssets(e),l=(n==null?void 0:n[t])||[];return{onAttachmentsAdd:async u=>{await s(t,u.map(x=>x.id))},onAttachmentDelete:async u=>{await i(t,[u.id])},onAttachmentReplace:async(u,x)=>{const y=l.map(p=>p.id===u.id?x.id:p.id);await o(t,y)},onAttachmentsSorted:async u=>{const x=u.map(y=>y.id);await o(t,x)},attachments:l,appBridge:e}},ut=g.createContext(null),gt=({appBridge:e,children:t,assetId:n})=>{const s=dt(e,n);return a.jsx(ut.Provider,{value:s,children:t})},mt=()=>{const e=g.useContext(ut);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},_n=(e,t)=>{const n=s=>a.jsx(gt,{appBridge:s.appBridge,assetId:t,children:a.jsx(e,{...s})});return n.displayName="withAttachmentsProvider",n},Hn=[T.KeyboardCode.Down,T.KeyboardCode.Right,T.KeyboardCode.Up,T.KeyboardCode.Left],ht=(e,t)=>(n,{currentCoordinates:s,context:{activeNode:i}})=>{if(n.preventDefault(),Hn.includes(n.code)){const o=(i==null?void 0:i.offsetWidth)??0,l=(i==null?void 0:i.offsetHeight)??0;switch(n.code){case T.KeyboardCode.Right:return{...s,x:s.x+o+e};case T.KeyboardCode.Left:return{...s,x:s.x-o-e};case T.KeyboardCode.Down:return{...s,y:s.y+l+t};case T.KeyboardCode.Up:return{...s,y:s.y-l-t}}}},Vn={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},zn=(e=0,t=0)=>{const n=ht(e,t);return T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor,{coordinateGetter:n,keyboardCodes:Vn}))},$n=e=>e==="IMAGE"?a.jsx(r.IconImage24,{}):e==="VIDEO"?a.jsx(r.IconPlayFrame24,{}):e==="AUDIO"?a.jsx(r.IconMusicNote24,{}):a.jsx(r.IconDocument24,{}),Be=g.forwardRef(({item:e,isEditing:t,draggableProps:n,transformStyle:s,isDragging:i,isOverlay:o,isLoading:l,onDelete:d,onReplaceWithBrowse:c,onReplaceWithUpload:f,onDownload:h},u)=>{const[x,y]=g.useState(),[p,{selectedFiles:v}]=G.useFileInput({multiple:!0,accept:"image/*"}),[k,{results:P,doneAll:L}]=G.useAssetUpload(),{focusProps:_,isFocusVisible:M}=tt.useFocusRing();g.useEffect(()=>{v&&k(v[0])},[v]),g.useEffect(()=>{L&&f(P[0])},[L,P]);const F=l||v&&!L;return a.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>h==null?void 0:h(),ref:u,style:{...s,opacity:i&&!o?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:O(["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",i?"tw-bg-box-neutral-hover":""]),children:[a.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:F?a.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small}):$n(e.objectType)}),a.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[a.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}),a.jsx("div",{className:"tw-text-text-weak",children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),t&&a.jsxs("div",{"data-test-id":"attachments-actionbar",className:O(["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",o||(x==null?void 0:x.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:[a.jsx("button",{..._,...n,"aria-label":"Drag attachment",className:O([" tw-border-button-border tw-bg-button-background active:tw-bg-button-background-pressed tw-group tw-border tw-box-box tw-relative tw-flex tw-items-center tw-justify-center tw-outline-none tw-font-medium tw-rounded tw-h-9 tw-w-9 ",i||o?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",M&&r.FOCUS_STYLE,M&&"tw-z-[2]"]),children:a.jsx(r.IconGrabHandle20,{})}),a.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:a.jsx(r.Flyout,{placement:r.FlyoutPlacement.Right,isOpen:(x==null?void 0:x.id)===e.id,fitContent:!0,legacyFooter:!1,onOpenChange:S=>y(S?e:void 0),trigger:(S,A)=>a.jsx(r.Button,{ref:A,icon:a.jsx(r.IconPen20,{}),emphasis:r.ButtonEmphasis.Default,onClick:()=>y(e)}),children:a.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{p(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconArrowCircleUp20,{})})},{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{c(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:r.MenuItemContentSize.XSmall,title:"Delete",style:r.MenuItemStyle.Danger,onClick:()=>{d(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconTrashBin20,{})})}]}]})})})]})]})});Be.displayName="AttachmentItem";const Wn=e=>{const{attributes:t,listeners:n,setNodeRef:s,transform:i,transition:o,isDragging:l}=de.useSortable({id:e.item.id}),d={transform:i?`translate(${i.x}px, ${i.y}px)`:"",transition:o,zIndex:l?2:1},c={...t,...n};return a.jsx(Be,{ref:s,isDragging:l,transformStyle:d,draggableProps:c,...e})},qn=({children:e,isFlyoutOpen:t,triggerProps:n,triggerRef:s})=>a.jsxs("button",{className:O(["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"]),...n,ref:s,"data-test-id":"attachments-button-trigger",children:[a.jsx(r.IconPaperclip16,{}),e,a.jsx(r.IconCaretDown12,{})]}),ft=({items:e=[],onDelete:t,onReplaceWithBrowse:n,onReplaceWithUpload:s,onBrowse:i,onUpload:o,onSorted:l,appBridge:d,triggerComponent:c=qn,isOpen:f,onOpenChange:h})=>{const[u,x]=g.useState(e),[y,p]=g.useState(!1),v=T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor)),[k,P]=g.useState(void 0),[L,_]=g.useState(!1),[M,F]=g.useState([]),[S,A]=g.useState(null),R=G.useEditorState(d),{openAssetChooser:le,closeAssetChooser:ce}=G.useAssetChooser(d),We=f!==void 0,be=We?f:y,Q=u==null?void 0:u.find(b=>b.id===k),[xn,{results:qe,doneAll:Ge}]=G.useAssetUpload({onUploadProgress:()=>!L&&_(!0)}),ne=b=>{const E=We?h:p;E==null||E(b)};g.useEffect(()=>{x(e)},[e]),g.useEffect(()=>{S&&(_(!0),xn(S))},[S]),g.useEffect(()=>{(async()=>{Ge&&(await o(qe),_(!1))})()},[Ge,qe]);const pn=()=>{ne(!1),le(b=>{i(b),ce(),ne(!0)},{multiSelection:!0,selectedValueIds:u.map(b=>b.id)})},Ke=b=>{ne(!1),le(async E=>{ne(!0),ce(),F([...M,b.id]),await n(b,E[0]),F(M.filter(V=>V!==b.id))},{multiSelection:!1,selectedValueIds:u.map(E=>E.id)})},Xe=async(b,E)=>{F([...M,b.id]),await s(b,E),F(M.filter(V=>V!==b.id))},wn=b=>{const{active:E}=b;P(E.id)},bn=b=>{const{active:E,over:V}=b;if(V&&E.id!==V.id&&u){const yn=u.findIndex(ye=>ye.id===E.id),vn=u.findIndex(ye=>ye.id===V.id),Qe=de.arrayMove(u,yn,vn);x(Qe),l(Qe)}P(void 0)};return R||((u==null?void 0:u.length)??0)>0?a.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Attachments",disabled:be,enterDelay:500,triggerElement:a.jsx("div",{"data-test-id":"attachments-flyout-button",children:a.jsx(r.Flyout,{placement:r.FlyoutPlacement.BottomRight,onOpenChange:b=>ne(Q?!0:b),isOpen:be,hug:!1,fitContent:!0,legacyFooter:!1,trigger:(b,E)=>a.jsx(c,{isFlyoutOpen:be,triggerProps:b,triggerRef:E,children:a.jsx("div",{children:e.length>0?e.length:"Add"})}),children:a.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[u.length>0&&a.jsxs(T.DndContext,{sensors:v,collisionDetection:T.closestCenter,onDragStart:wn,onDragEnd:bn,modifiers:[kn.restrictToWindowEdges],children:[a.jsx(de.SortableContext,{items:u,strategy:de.rectSortingStrategy,children:a.jsx("div",{className:"tw-border-b tw-border-b-line",children:u.map(b=>a.jsx(Wn,{isEditing:R,isLoading:M.includes(b.id),item:b,onDelete:()=>t(b),onReplaceWithBrowse:()=>Ke(b),onReplaceWithUpload:E=>Xe(b,E),onDownload:()=>d.dispatch({name:"downloadAsset",payload:b})},b.id))})}),a.jsx(T.DragOverlay,{children:Q&&a.jsx(Be,{isOverlay:!0,isEditing:R,item:Q,isDragging:!0,onDelete:()=>t(Q),onReplaceWithBrowse:()=>Ke(Q),onReplaceWithUpload:b=>Xe(Q,b)},k)})]}),R&&a.jsxs("div",{className:"tw-px-5 tw-py-3",children:[a.jsx("div",{className:"tw-font-body tw-font-medium tw-text-text tw-text-s tw-my-4",children:"Add attachments"}),a.jsx(r.AssetInput,{isLoading:L,size:r.AssetInputSize.Small,onUploadClick:b=>A(b),onLibraryClick:pn})]})]})})})}):null},Gn=(e,t)=>{const n=[r.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"),O(n)},oe=g.forwardRef(({onClick:e,children:t,forceActiveStyle:n,cursor:s="pointer","data-test-id":i="base-toolbar-button",...o},l)=>a.jsx("button",{onClick:e,className:Gn(s,n),"data-test-id":i,...o,ref:l,children:t}));oe.displayName="BaseToolbarButton";const Kn=({children:e,isFlyoutOpen:t,triggerProps:n,triggerRef:s})=>a.jsxs(oe,{forceActiveStyle:t,"data-test-id":"attachments-toolbar-button-trigger",...n,ref:s,children:[a.jsx(r.IconPaperclip16,{}),e,a.jsx(r.IconCaretDown12,{})]}),xt="attachments",pt=({flyoutId:e=xt})=>{const t=r.useMemoizedId(e),{appBridge:n,attachments:s,onAttachmentsAdd:i,onAttachmentDelete:o,onAttachmentReplace:l,onAttachmentsSorted:d}=mt(),{isOpen:c,onOpenChange:f}=he(t),h=ie();return a.jsx(ft,{onUpload:i,onDelete:o,onReplaceWithBrowse:l,onReplaceWithUpload:l,onSorted:d,onBrowse:i,items:s,appBridge:n,triggerComponent:Kn,isOpen:c&&!h,onOpenChange:f})},wt="Drag or press ↵ to move",bt="Move with ↑↓←→ and confirm with ↵",je=({open:e,content:t,children:n,disabled:s})=>a.jsx(r.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:e,disabled:s,position:r.TooltipPosition.Top,content:a.jsx("div",{children:t}),triggerElement:n,"data-test-id":"toolbar-button-tooltip"}),yt=({tooltip:e,icon:t,setActivatorNodeRef:n,draggableProps:s})=>{const i=ie();return a.jsx(je,{open:i,content:a.jsx("div",{children:i?bt:e??wt}),children:a.jsx(oe,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:i,cursor:"grab",...s,children:t})})},Ne=({content:e,icon:t,tooltip:n,flyoutId:s,flyoutFooter:i,flyoutHeader:o})=>{const l=r.useMemoizedId(s),{isOpen:d,onOpenChange:c}=he(l),f=ie();return a.jsx(je,{disabled:f||d,content:n,children:a.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:a.jsx(r.Flyout,{isOpen:d&&!f,legacyFooter:!1,fixedFooter:i,fixedHeader:o,fitContent:!0,hug:!1,placement:r.FlyoutPlacement.BottomRight,onOpenChange:c,trigger:(h,u)=>a.jsx(oe,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:d&&!f,...h,ref:u,children:t}),children:e})})})},vt=({items:e,flyoutId:t})=>{const{onOpenChange:n}=he(t);return a.jsx(r.ActionMenu,{menuBlocks:e.map((s,i)=>({id:i.toString(),menuItems:s.map((o,l)=>({id:i.toString()+l.toString(),size:r.MenuItemContentSize.XSmall,title:o.title,style:o.style,onClick:()=>{n(!1),o.onClick()},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:o.icon})}))}))})},Le="menu",Ct=({items:e,flyoutId:t=Le,tooltip:n="Options"})=>{const s=r.useMemoizedId(t);return a.jsx(Ne,{icon:a.jsx(r.IconDotsHorizontal16,{}),tooltip:n,flyoutId:s,content:a.jsx(vt,{items:e,flyoutId:s})})},Xn=({tooltip:e,icon:t,onClick:n})=>{const s=ie();return a.jsx(je,{disabled:s,content:e??"",children:a.jsx(oe,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:t})})},Je=({children:e})=>a.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-segment",className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),St=({items:e,attachments:t})=>a.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:[t.isEnabled&&a.jsx(Je,{children:a.jsx(pt,{})}),e.length>0&&a.jsx(Je,{children:e.map(n=>{switch(n.type){case"dragHandle":return a.jsx(yt,{...n},n.tooltip+n.type);case"menu":return a.jsx(Ct,{...n},n.tooltip+n.type);case"flyout":return a.jsx(Ne,{...n},n.tooltip+n.type);default:return a.jsx(Xn,{...n},n.tooltip+n.type)}})})]}),kt=g.memo(({children:e,toolbarItems:t,shouldHideWrapper:n,shouldHideComponent:s=!1,isDragging:i=!1,shouldFillContainer:o,outlineOffset:l=2,shouldBeShown:d=!1,showAttachments:c=!1})=>{const[f,h]=g.useState(d?[Le]:[]),u=g.useRef(null);if(n)return a.jsx(a.Fragment,{children:e});const x=t==null?void 0:t.filter(p=>p!==void 0),y=f.length>0||d;return a.jsx(it,{isDragPreview:i,children:a.jsx(lt,{openFlyoutIds:f,setOpenFlyoutIds:h,children:a.jsxs("div",{ref:u,"data-test-id":"block-item-wrapper",style:{outlineOffset:l},className:O(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",o&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",y&&"tw-outline",s&&"tw-opacity-0"]),children:[a.jsx("div",{style:{right:-1-l,bottom:`calc(100% - ${2+l}px)`},className:O(["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",y&&"tw-opacity-100"]),children:a.jsx(St,{attachments:{isEnabled:c},items:x})}),e]})})})});kt.displayName="BlockItemWrapper";const Qn=({onDownload:e})=>{const{isFocused:t,focusProps:n}=tt.useFocusRing();return a.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:a.jsx("button",{tabIndex:0,"aria-label":"Download",...n,className:O(["tw-outline-none tw-rounded",t&&r.FOCUS_STYLE]),onClick:e,onPointerDown:s=>s.preventDefault(),children:a.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:a.jsx(r.IconArrowCircleDown16,{})})})})},Yn=({ref:e,disabled:t,onChange:n})=>{g.useEffect(()=>{if(t||!e.current)return;let s=!1;const i=new IntersectionObserver(([o])=>{o.isIntersecting!==s&&(s=o.isIntersecting,n(o.isIntersecting))});return i.observe(e.current),()=>{i.disconnect()}},[e,t,n])},Jn=({value:e="",gap:t,columns:n,show:s=!0,plugins:i})=>{const[o,l]=g.useState(null);return g.useEffect(()=>{(async()=>l(await r.serializeRawToHtmlAsync(e,i,n,t)))()},[e,n,t,i]),!s||o==="<br />"?null:o!==null?a.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:o}}):a.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},Ae=r.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})),I=Ae.set,N=Ae.get,ae=()=>Ae.use,Tt=e=>{if(!e)return!1;const t=n=>n.some(s=>s.text?s.text!=="":s.children?t(s.children):!1);try{const n=JSON.parse(e);return t(n)}catch{return!1}},Zn=(e="p",t="",n)=>Tt(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),er=(e,t,n)=>e===K.Custom?t:n,tr=e=>e.map(Pt),Pt=e=>({id:e.id,title:e.name,colors:e.colors.map(rr)}),nr=e=>"revision"in e,rr=e=>{if(nr(e)){const{title:t,revision:n}=e;return{alpha:n.rgba.alpha?n.rgba.alpha/255:1,red:n.rgba.red??0,green:n.rgba.green??0,blue:n.rgba.blue??0,name:t??""}}return{alpha:e.alpha?e.alpha/255:1,red:e.red??0,green:e.green??0,blue:e.blue??0,name:e.name??""}},Re=(e,t)=>{const n=r.getAboveNode(e,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},sr=e=>Re(e,t=>{var n,s;return((s=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:s.link)||""}),ar=e=>Re(e,t=>t.url||""),Me=e=>{var t,n;return e.url||((n=(t=e.chosenLink)==null?void 0:t.searchResult)==null?void 0:n.link)||""},ir=e=>Re(e,Me),Fe=/^\/(document|r)\/\S+$/i,fe=e=>{if(Fe.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},xe=e=>{if(Fe.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==="",It=(e,{type:t})=>{const{apply:n,normalizeNode:s}=e;return e.apply=i=>{if(i.type!=="set_selection"){n(i);return}const o=i.newProperties;if(!(o!=null&&o.focus)||!o.anchor||!r.isCollapsed(o)){n(i);return}const l=r.getAboveNode(e,{at:o,match:{type:r.getPluginType(e,C)}});if(l){const[,d]=l;let c;r.isStartPoint(e,o.focus,d)&&(c=r.getPreviousNodeEndPoint(e,d)),r.isEndPoint(e,o.focus,d)&&(c=r.getNextNodeStartPoint(e,d)),c&&(i.newProperties={anchor:c,focus:c})}n(i)},e.normalizeNode=([i,o])=>{if(i.type===r.getPluginType(e,C)){const l=e.selection;if(l&&r.isCollapsed(l)&&r.isEndPoint(e,l.focus,o)){const d=r.getNextNodeStartPoint(e,o);if(d)r.select(e,d);else{const c=r.Path.next(o);r.insertNodes(e,{text:""},{at:c}),r.select(e,c)}}}s([i,o])},r.withRemoveEmptyNodes(e,r.mockPlugin({options:{types:t}}))},Et=(e,t,n)=>{r.insertNodes(e,[Lt(e,t)],n)},De=e=>{if(!e.selection)return;const{isUrl:t,forceSubmit:n}=r.getPluginOptions(e,C),s=N.url();if(!((t==null?void 0:t(s))||n))return;const o=N.text(),l=N.buttonStyle(),d=N.newTab()?void 0:"_self";return I.reset(),Bt(e,{url:s,text:o,buttonStyle:l,target:d,isUrl:c=>n||!t?!0:t(c)}),setTimeout(()=>{r.focusEditor(e,e.selection??void 0)},0),!0},te=(e,t)=>r.withoutNormalizing(e,()=>{var n,s,i,o,l,d;if(t!=null&&t.split){if(r.getAboveNode(e,{at:(n=e.selection)==null?void 0:n.anchor,match:{type:r.getPluginType(e,C)}}))return r.splitNodes(e,{at:(s=e.selection)==null?void 0:s.anchor,match:h=>r.isElement(h)&&h.type===r.getPluginType(e,C)}),te(e,{at:(i=e.selection)==null?void 0:i.anchor}),!0;if(r.getAboveNode(e,{at:(o=e.selection)==null?void 0:o.focus,match:{type:r.getPluginType(e,C)}}))return r.splitNodes(e,{at:(l=e.selection)==null?void 0:l.focus,match:h=>r.isElement(h)&&h.type===r.getPluginType(e,C)}),te(e,{at:(d=e.selection)==null?void 0:d.focus}),!0}r.unwrapNodes(e,{match:{type:r.getPluginType(e,C)},...t})}),Bt=(e,{url:t,text:n,buttonStyle:s,target:i,insertTextInButton:o,insertNodesOptions:l,isUrl:d=r.getPluginOptions(e,C).isUrl})=>{var P;const c=e.selection;if(!c)return;const f=r.getAboveNode(e,{at:c,match:{type:r.getPluginType(e,C)}});if(o&&f)return e.insertText(t),!0;if(!(d!=null&&d(t)))return;if(r.isDefined(n)&&n.length===0&&(n=t),f)return cr(t,e,f,i,s,n),!0;const h=r.findNode(e,{at:c,match:{type:r.getPluginType(e,C)}}),[u,x]=h??[],y=or(e,x,n);if(r.isExpanded(c))return lr(f,e,t,s,i,n),!0;y&&r.removeNodes(e,{at:x});const p=r.getNodeProps(u??{}),v=(P=e.selection)==null?void 0:P.focus.path;if(!v)return;const k=r.getNodeLeaf(e,v);return n!=null&&n.length||(n=t),Et(e,{...p,url:t,target:i,children:[{...k,text:n}]},l),!0};function or(e,t,n){return t&&(n==null?void 0:n.length)&&n!==r.getEditorString(e,t)}function lr(e,t,n,s,i,o){e?te(t,{at:e[1]}):te(t,{split:!0}),jt(t,{url:n,buttonStyle:s,target:i}),Oe(t,{url:n,target:i,text:o})}function cr(e,t,n,s,i,o){var l,d,c;(e!==((l=n[0])==null?void 0:l.url)||s!==((d=n[0])==null?void 0:d.target)||i!==((c=n[0])==null?void 0:c.buttonStyle))&&r.setNodes(t,{url:e,target:s,buttonStyle:i},{at:n[1]}),Oe(t,{url:e,text:o,target:s})}const Oe=(e,{text:t})=>{const n=r.getAboveNode(e,{match:{type:r.getPluginType(e,C)}});if(n){const[s,i]=n;if(t!=null&&t.length&&t!==r.getEditorString(e,i)){const o=s.children[0];r.replaceNodeChildren(e,{at:i,nodes:{...o,text:t},insertOptions:{select:!0}})}}},jt=(e,{url:t,buttonStyle:n,target:s,...i})=>{r.wrapNodes(e,{type:r.getPluginType(e,C),url:t,buttonStyle:n,target:s,children:[]},{split:!0,...i})},dr=(e,t)=>{const n=r.getAboveNode(e,{match:{type:C}});return Array.isArray(n)?t(n[0]):""},Nt=e=>dr(e,t=>t.url??""),Lt=(e,{url:t,text:n="",buttonStyle:s="primary",target:i,children:o})=>({type:r.getPluginType(e,C),url:t,target:i,buttonStyle:s,children:o??[{text:n}]}),At=(e,{focused:t}={})=>{if(N.mode()==="edit"){pe(e);return}Ue(e,{focused:t})},pe=e=>{const t=r.findNode(e,{match:{type:r.getPluginType(e,C)}});if(!t)return;const[n,s]=t;let i=r.getEditorString(e,s);I.url(n.url),I.newTab(n.target===void 0),i===n.url&&(i=""),I.text(i),I.isEditing(!0)},Ue=(e,{focused:t}={})=>{N.mode()||!t||r.isRangeAcrossBlocks(e,{at:e.selection})||r.someNode(e,{match:{type:r.getPluginType(e,C)}})||(I.text(r.getEditorString(e,e.selection)),I.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)"}}},ur=e=>{var l,d;const{attributes:t,children:n}=e,s=e.element.url||((d=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:d.link)||"",i=e.element.target||"_self",o=String(e.element.buttonStyle)||"primary";return a.jsx(gr,{attributes:t,href:s,target:i,styles:we[`button${o.charAt(0).toUpperCase()+o.slice(1)}`],children:n})},gr=({attributes:e,styles:t={hover:{}},children:n,href:s="#",target:i})=>{const[o,l]=g.useState(!1);return a.jsx("a",{...e,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),href:s,target:i,style:o?{...t,...t.hover}:t,children:n})};class mr extends r.MarkupElement{constructor(t=C,n=ur){super(t,n)}}const Rt=g.forwardRef((e,t)=>{const n=r.useEditorRef();return a.jsx(r.ToolbarButton,{ref:t,...e,onMouseDown:()=>{r.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{At(n,{focused:!0})},children:a.jsx(r.IconStylingWrapper,{icon:a.jsx(r.IconButton16,{})})})});Rt.displayName="ButtonToolbarButton";const hr=({editorId:e,id:t})=>{const n=r.useEditorState(r.useEventPlateId(e)),s=!!r.isRangeInSameBlock(n,{at:n.selection}),i=r.getPluginType(n,C),o=!!(n!=null&&n.selection)&&r.someNode(n,{match:{type:i}});return a.jsx("div",{"data-plugin-id":t,children:a.jsx(Rt,{pressed:o,disabled:!s,tooltip:r.getTooltip(s?`Button
2
- ${r.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block.")})})},fr=()=>{const e=r.useEditorRef();return a.jsx(r.FloatingModalWrapper,{padding:"16px",minWidth:"400px","data-test-id":"floating-button-edit",children:a.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[a.jsx("span",{className:"tw-pointer-events-none",children:N.url()}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("button",{onClick:()=>{pe(e)},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:a.jsx(r.IconPen16,{})}),a.jsx("button",{onClick:()=>{te(e),r.focusEditor(e,e.selection??void 0)},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:a.jsx(r.IconTrashBin16,{})})]})]})})},Mt=e=>e.filter(t=>{var n;return!!((n=t.title)!=null&&n.trim())}),Ft=()=>a.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:a.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small})}),xr=({section:e,selectedUrl:t,onSelectUrl:n})=>{const s=e.permanentLink===t;return a.jsx("button",{"data-test-id":"internal-link-selector-section-link",className:r.merge(["tw-py-2 tw-pr-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full",s?"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:a.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[a.jsx(r.IconDocumentText16,{}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Section"})]})})},pr=({page:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i})=>{const[o,l]=g.useState(e.id===s.documentId),[d,c]=g.useState([]),f=e.permanentLink===t;g.useEffect(()=>{(async()=>{const x=await i(e.id),y=Mt(x);c(y)})()},[e.id,i]),g.useEffect(()=>{e.id===s.pageId&&l(!0)},[s,e.id]);const h=d.length>0;return a.jsxs(a.Fragment,{children:[a.jsx("button",{"data-test-id":"internal-link-selector-page-link",className:r.merge(["tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full",h?"tw-pl-7":"tw-pl-12",f?"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:a.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[h&&a.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:()=>l(!o),children:a.jsx("div",{className:r.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",o?"tw-rotate-90":""])})}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},e.id)}),o&&d.length>0&&d.map(u=>a.jsx(xr,{section:u,selectedUrl:t,onSelectUrl:n},u.id))]})},wr=({documentId:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})=>{const[l,d]=g.useState([]),[c,f]=g.useState(!0),h=[...l.values()],u=!c&&h.length>0;return g.useEffect(()=>{o(e).then(x=>{const y=x.filter(v=>!!v.category).sort((v,k)=>v.category.sort===k.category.sort?v.sort-k.sort:v.category.sort-k.category.sort),p=x.filter(v=>!v.category).sort((v,k)=>v.sort-k.sort);d([...y,...p])}).finally(()=>{f(!1)})},[]),c?a.jsx(Ft,{}):u?a.jsx(a.Fragment,{children:h.map(x=>a.jsx(pr,{page:x,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i},x.id))}):a.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."})},br=({document:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})=>{const[l,d]=g.useState(e.id===s.documentId),c=e.permanentLink===t;return g.useEffect(()=>{e.id===s.documentId&&d(!0)},[s,e.id]),a.jsxs(a.Fragment,{children:[a.jsxs("button",{"data-test-id":"internal-link-selector-document-link",className:r.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:[a.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(!l),children:a.jsx("div",{className:r.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":""])})}),a.jsx(r.IconColorFan16,{}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),l&&a.jsx(wr,{documentId:e.id,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})]})},yr=({selectedUrl:e,onSelectUrl:t,getAllDocuments:n,getDocumentPagesByDocumentId:s,getDocumentSectionsByDocumentPageId:i})=>{const[o,l]=g.useState(!0),[d,c]=g.useState([]),[f,h]=g.useState({documentId:void 0,pageId:void 0});g.useEffect(()=>{e&&d.length>0&&u().then(x=>{h(x)})},[d.length]),g.useEffect(()=>{n().then(x=>{c(x)}).finally(()=>{l(!1)})},[]);const u=async()=>{const x={documentId:void 0,pageId:void 0};if(d.find(p=>p.permanentLink===e))return x;for(const p of d){const v=await s(p.id);if(!!v.find(P=>P.permanentLink===e))return x.documentId=p.id,x;for(const P of v){const L=await i(P.id);if(!!Mt(L).find(F=>F.permanentLink===e))return x.documentId=p.id,x.pageId=P.id,x}}return x};return o?a.jsx(Ft,{}):a.jsx(a.Fragment,{children:d.map(x=>a.jsx(br,{document:x,selectedUrl:e,onSelectUrl:t,itemsToExpandInitially:f,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:s},x.id))})},Dt=({url:e,onUrlChange:t,buttonSize:n=r.ButtonSize.Medium,getAllDocuments:s,getDocumentPagesByDocumentId:i,getDocumentSectionsByDocumentPageId:o})=>{const{open:l,isOpen:d,close:c}=Tn.useOverlayTriggerState({}),[f,h]=g.useState(e),u=p=>{h(p)},x=p=>{p.key==="Enter"&&y()};g.useEffect(()=>{e&&!f&&h(e)},[e,f]);const y=()=>{t==null||t(f),c()};return a.jsxs("div",{onPointerDown:p=>p.preventDefault(),"data-test-id":"internal-link-selector",onKeyDown:x,children:[a.jsx(r.Button,{icon:a.jsx(r.IconLink,{}),size:n,type:r.ButtonType.Button,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,onClick:()=>l(),children:"Internal link"}),a.jsxs(r.Modal,{zIndex:1001,onClose:()=>c(),isOpen:d,isDismissable:!0,children:[a.jsx(r.Modal.Header,{title:"Select internal link"}),a.jsx(r.Modal.Body,{children:a.jsx(yr,{selectedUrl:f,onSelectUrl:u,getAllDocuments:s,getDocumentPagesByDocumentId:i,getDocumentSectionsByDocumentPageId:o})}),a.jsx(r.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>c(),style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default},{children:"Choose",onClick:p=>{p==null||p.preventDefault(),y()},style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Strong,disabled:!f}]})]})]})},Ot=({onUrlChange:e,onToggleTab:t,isValidUrlOrEmpty:n,appBridge:s,clearable:i,placeholder:o,newTab:l,openInNewTab:d,url:c="",required:f,info:h,label:u,buttonSize:x,hideInternalLinkButton:y})=>{const p=n?n(c):ee(c),v=l??(d?r.CheckboxState.Checked:r.CheckboxState.Unchecked);return a.jsxs("div",{"data-test-id":"link-input",children:[a.jsx(r.FormControl,{label:{children:u,htmlFor:"url",required:f,tooltip:h?{content:h,position:r.TooltipPosition.Top}:void 0},children:a.jsx(r.TextInput,{id:"url",value:c,clearable:i,onChange:e,placeholder:o??"https://example.com",focusOnMount:!0})}),!p&&a.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!y&&a.jsx("div",{className:"tw-mt-3",children:a.jsx(Dt,{url:c,onUrlChange:e,buttonSize:x??r.ButtonSize.Medium,getAllDocuments:()=>s.getAllDocuments(),getDocumentPagesByDocumentId:k=>s.getDocumentPagesByDocumentId(k),getDocumentSectionsByDocumentPageId:k=>s.getDocumentSectionsByDocumentPageId(k)})}),a.jsx("div",{className:"tw-mt-3",children:a.jsx(r.Checkbox,{value:"new-tab",label:"Open in new tab",state:v,onChange:t})})]})},Ut=({state:e,onTextChange:t,onUrlChange:n,onToggleTab:s,onCancel:i,onSave:o,isValidUrlOrEmpty:l,hasValues:d,testId:c,appBridge:f,children:h})=>a.jsxs(r.FloatingModalWrapper,{"data-test-id":c,padding:"28px",minWidth:"400px",children:[a.jsx(r.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:a.jsx(r.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:t})}),h,a.jsx("div",{className:"tw-mt-5",children:a.jsx(Ot,{url:e.url,newTab:e.newTab,onUrlChange:n,onToggleTab:s,isValidUrlOrEmpty:l,appBridge:f})}),a.jsx("div",{className:"tw-mt-3",children:a.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[a.jsx(r.Button,{onClick:i,size:r.ButtonSize.Medium,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,children:"Cancel"}),a.jsx(r.Button,{onClick:o,size:r.ButtonSize.Medium,icon:a.jsx(r.IconCheckMark20,{}),disabled:!l(e==null?void 0:e.url)||!d,children:"Save"})]})})]}),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 j={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},vr=e=>{var n;const t=r.getAboveNode(e,{match:{type:C}});return Array.isArray(t)&&((n=t[0])==null?void 0:n.buttonStyle)||"primary"},Cr={url:"",text:"",buttonStyle:"primary",newTab:r.CheckboxState.Unchecked},Sr=()=>{const[e,t]=g.useReducer((n,s)=>{const{type:i,payload:o}=s;switch(i){case"NEW_TAB":return{...n,newTab:r.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:r.CheckboxState.Unchecked};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...o};default:return n}},Cr);return[e,t]},kr=()=>{const e=r.useEditorRef(),[t,n]=Sr();g.useEffect(()=>{const u=vr(e);n({type:"INIT",payload:{text:N.text(),buttonStyle:u,newTab:N.newTab()?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:N.url()}})},[n,e]);const s=u=>{n({type:"TEXT",payload:{text:u}})},i=u=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:u}})},o=u=>{n({type:"URL",payload:{url:u}})},l=u=>{n(u?{type:"NEW_TAB"}:{type:"SAME_TAB"})},d=()=>{I.reset()},c=u=>{if(!ee(t.url)||!f)return;const x=fe(t.url);I.text(t.text),I.url(x),I.buttonStyle(t.buttonStyle),I.newTab(t.newTab===r.CheckboxState.Checked),De(e)&&(u==null||u.preventDefault())},f=t.url!==""&&t.text!=="",{appBridge:h}=r.getPluginOptions(e,C);return r.useHotkeys("enter",c,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:s,onButtonStyleChange:i,onUrlChange:o,onToggleTab:l,onCancel:d,onSave:c,hasValues:f,isValidUrlOrEmpty:ee,appBridge:h}},Tr=()=>{const e=kr(),{state:t,onButtonStyleChange:n}=e;return a.jsx(Ut,{...e,testId:"floating-button-insert",children:a.jsx("div",{className:"tw-pt-5",children:a.jsxs(r.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[a.jsx(ve,{id:"primary",styles:j.buttonPrimary,isActive:t.buttonStyle==="primary",onClick:()=>n("primary"),children:t.text||"Primary Button"}),a.jsx(ve,{id:"secondary",styles:j.buttonSecondary,isActive:t.buttonStyle==="secondary",onClick:()=>n("secondary"),children:t.text||"Secondary Button"}),a.jsx(ve,{id:"tertiary",styles:j.buttonTertiary,isActive:t.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:t.text||"Tertiary Button"})]})})})},ve=({id:e,styles:t,isActive:n,onClick:s,children:i})=>{const[o,l]=g.useState(!1),d=()=>t&&t.hover&&o?{...t,...t.hover}:t;return a.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onClick:s,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:i})},Ze={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Pr=()=>{const{ref:e,...t}=Br(Ze),{ref:n,...s}=Ir(Ze),i=r.useEditorRef(),o=ae(),l=o.isOpen(i.id),d=o.isEditing(),c=o.mode(),f=a.jsx(Tr,{}),h=d?f:a.jsx(fr,{});return a.jsxs(a.Fragment,{children:[l&&c==="insert"&&a.jsx("div",{ref:e,...t,children:f}),l&&c==="edit"&&a.jsx("div",{ref:n,...s,children:h})]})},C="button",_t="button-plugin",Ht=e=>r.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:It,renderAfterEditable:Pr,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:s=>({type:n,url:s.getAttribute("href"),target:s.getAttribute("target")||"_blank"})}})})();class Vt extends r.Plugin{constructor({styles:n=we,...s}){super(_t,{button:hr,markupElement:new mr,...s});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=s==null?void 0:s.appBridge}plugins(){return[Ht(this.appBridge)]}}const Ir=e=>{const t=r.useEditorRef(),n=ae().mode(),s=ae().isOpen(t.id),i=r.useEditorVersion(),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(t,C),l=g.useCallback(()=>{const u=r.getAboveNode(t,{match:{type:r.getPluginType(t,C)}});if(u){const[,x]=u;return r.getRangeBoundingClientRect(t,{anchor:r.getStartPoint(t,x),focus:r.getEndPoint(t,x)})}return r.getDefaultBoundingClientRect()},[t]),d=s&&n==="edit",{update:c,style:f,floating:h}=$t({open:d,getBoundingClientRect:l,...e});return g.useEffect(()=>{const u=Nt(t);if(u&&I.url(u),t.selection&&r.someNode(t,{match:{type:r.getPluginType(t,C)}})){I.show("edit",t.id),c();return}N.mode()==="edit"&&I.reset()},[t,i,c]),r.useHotkeys(o,u=>{u.preventDefault(),N.mode()==="edit"&&pe(t)},{enableOnContentEditable:!0},[]),Er(),zt(),{style:{...f,zIndex:1e3},ref:r.useComposedRef(h)}},Er=()=>{const e=r.useEditorRef();r.useHotkeys("*",t=>{t.key==="Enter"&&De(e)&&t.preventDefault()},{enableOnFormTags:["INPUT"]},[])},zt=()=>{const e=r.useEditorRef();r.useHotkeys("escape",()=>{if(N.mode()==="edit"){if(N.isEditing()){I.show("edit",e.id),r.focusEditor(e,e.selection??void 0);return}I.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},Br=e=>{const t=r.useEditorRef(),n=r.useFocused(),s=ae().mode(),i=ae().isOpen(t.id),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(t,C);r.useHotkeys(o,f=>{f.preventDefault(),Ue(t,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:l,style:d,floating:c}=$t({open:i&&s==="insert",getBoundingClientRect:r.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return g.useEffect(()=>{i&&l(),I.updated(i)},[i,l]),zt(),{style:{...d,zIndex:1e3},ref:r.useComposedRef(c)}},jr=12,Nr=-22,Lr=96,$t=e=>r.useVirtualFloating({placement:"bottom-start",middleware:[r.offset({mainAxis:jr,alignmentAxis:Nr}),r.flip({padding:Lr})],...e}),Wt=g.memo(({id:e="rte",isEnabled:t,value:n,columns:s,gap:i,placeholder:o,plugins:l,onTextChange:d,showSerializedText:c})=>{const[f,h]=g.useState(!1),u=g.useCallback(p=>{p!==n&&(d==null||d(p)),h(!1)},[d,n]),x=g.useCallback(()=>h(!0),[]),y=g.useCallback(p=>{N.isOpen(p)&&I.reset()},[]);return g.useEffect(()=>{const p=v=>{v.preventDefault(),v.returnValue="Unprocessed changes"};return f&&window.addEventListener("beforeunload",p),()=>window.removeEventListener("beforeunload",p)},[f]),t?a.jsx(r.RichTextEditor,{id:e,value:n,border:!1,placeholder:o,plugins:l,onValueChanged:x,onTextChange:u,hideExternalFloatingModals:y}):a.jsx(Jn,{value:n,columns:s,gap:i,show:c,plugins:l})});Wt.displayName="InternalRichTextEditor";const Ar=e=>{const t=g.useRef(null),[n,s]=g.useState(!1),{isEditing:i,...o}=e,l=g.useCallback(d=>{d&&s(!0)},[]);return Yn({ref:t,disabled:!i,onChange:l}),g.useEffect(()=>{i||s(!1)},[i]),a.jsx("div",{className:"tw-block tw-w-full",ref:t,children:a.jsx(Wt,{...o,isEnabled:i&&n})})},Rr=({editButtonProps:e,unlinkButtonProps:t})=>{const{element:n}=r.useLinkOpenButtonState(),s=n?Me(n):"";return a.jsx(r.FloatingModalWrapper,{"data-test-id":"floating-link-edit",padding:"16px",minWidth:"400px",children:a.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[a.jsx("span",{className:"tw-pointer-events-none",children:s}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("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",...e,children:a.jsx(r.IconPen16,{})}),a.jsx("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",...t,children:a.jsx(r.IconTrashBin16,{})})]})]})})},qt=(e,t)=>{const n=r.getAboveNode(e,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},Mr=e=>qt(e,t=>{var n,s;return((s=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:s.link)||""}),Fr=e=>qt(e,t=>t.url||""),Dr={url:"",text:"",newTab:r.CheckboxState.Unchecked},Or=()=>{const[e,t]=g.useReducer((n,s)=>{const{type:i,payload:o}=s;switch(i){case"NEW_TAB":return{...n,newTab:r.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:r.CheckboxState.Unchecked};case"URL":case"TEXT":case"INIT":return{...n,...o};default:return n}},Dr);return[e,t]},Ur=()=>{const e=r.useEditorRef(),[t,n]=Or();g.useEffect(()=>{const h=Mr(e),u=Fr(e),x=r.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:r.floatingLinkSelectors.text(),newTab:x?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:h&&u===""?h:r.floatingLinkSelectors.url()}})},[n,e]);const s=h=>{n({type:"TEXT",payload:{text:h}})},i=h=>{n({type:"URL",payload:{url:h}})},o=h=>{n(h?{type:"NEW_TAB"}:{type:"SAME_TAB"})},l=()=>{r.floatingLinkActions.reset()},d=h=>{!ee(t.url)||!c||(r.floatingLinkActions.text(t.text),r.floatingLinkActions.url(fe(t.url)),r.floatingLinkActions.newTab(t.newTab===r.CheckboxState.Checked),r.submitFloatingLink(e)&&(h==null||h.preventDefault()))},c=t.url!==""&&t.text!=="",{appBridge:f}=r.getPluginOptions(e,r.ELEMENT_LINK);return r.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:s,onUrlChange:i,onToggleTab:o,onCancel:l,onSave:d,hasValues:c,isValidUrlOrEmpty:ee,appBridge:f}},_r=()=>a.jsx(Ut,{...Ur(),testId:"floating-link-insert"}),et={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Hr=()=>{const e=r.useFloatingLinkInsertState({floatingOptions:et}),{props:t,ref:n,hidden:s}=r.useFloatingLinkInsert(e),i=r.useFloatingLinkEditState({floatingOptions:et}),{props:o,ref:l,editButtonProps:d,unlinkButtonProps:c}=r.useFloatingLinkEdit(i);if(s)return null;const f=a.jsx(_r,{}),h=i.isEditing?f:a.jsx(Rr,{editButtonProps:d,unlinkButtonProps:c});return a.jsxs(a.Fragment,{children:[e.isOpen&&!i.isOpen&&a.jsx("div",{ref:n,...t,style:{...t.style,zIndex:1e3},children:f}),i.isOpen&&a.jsx("div",{ref:l,...o,style:{...o.style,zIndex:1e3},children:h})]})},Gt=g.forwardRef((e,t)=>{const n=r.useEditorRef(),s=r.useLinkToolbarButtonState(),{props:i}=r.useLinkToolbarButton(s);return a.jsx(r.ToolbarButton,{onMouseDown:()=>{r.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:t,...i,...e,children:a.jsx(r.IconStylingWrapper,{icon:a.jsx(r.IconLink16,{})})})});Gt.displayName="LinkToolbarButton";const Vr=({id:e,editorId:t})=>{const n=r.useEditorState(r.useEventPlateId(t)),s=!!r.isRangeInSameBlock(n,{at:n.selection});return a.jsx("div",{"data-plugin-id":e,children:a.jsx(Gt,{disabled:!s,tooltip:r.getTooltip(s?`Link
3
- ${r.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},zr=e=>{var l,d;const{attributes:t,children:n}=e,{styles:s}=r.useRichTextEditorContext(),i=e.element.url||((d=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:d.link)||"",o=e.element.target||"_self";return a.jsx("a",{...t,href:i,target:o,style:s[ue],children:n})};class $r extends r.MarkupElement{constructor(t=r.ELEMENT_LINK,n=zr){super(t,n)}}const Kt=e=>r.createPluginFactory({...r.createLinkPlugin(),renderAfterEditable:Hr,options:{isUrl:xe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:e}})();class Xt extends r.Plugin{constructor({styles:n=j[ue],...s}){super(ue,{button:Vr,markupElement:new $r,...s});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=s.appBridge}plugins(){return[Kt(this.appBridge)]}}const Wr="textstyle-custom1-plugin";class Qt extends r.Plugin{constructor({styles:n=j.custom1,...s}={}){super(w.custom1,{label:"Custom 1",markupElement:new qr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Gr(this.styles)]}}class qr extends r.MarkupElement{constructor(t=Wr,n=Yt){super(t,n)}}const Yt=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,style:s,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),children:n})},Gr=e=>r.createPluginFactory({key:w.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom1}]}})({component:t=>a.jsx(Yt,{...t,styles:e})}),Kr="textstyle-custom2-plugin";class Jt extends r.Plugin{constructor({styles:n=j.custom2,...s}={}){super(w.custom2,{label:"Custom 2",markupElement:new Xr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Qr(this.styles)]}}class Xr extends r.MarkupElement{constructor(t=Kr,n=Zt){super(t,n)}}const Zt=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},Qr=e=>r.createPluginFactory({key:w.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom2}]}})({component:t=>a.jsx(Zt,{...t,styles:e})}),Yr="textstyle-custom3-plugin";class en extends r.Plugin{constructor({styles:n=j.custom3,...s}={}){super(r.TextStyles.custom3,{label:"Custom 3",markupElement:new Jr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Zr(this.styles)]}}class Jr extends r.MarkupElement{constructor(t=Yr,n=tn){super(t,n)}}const tn=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},Zr=e=>r.createPluginFactory({key:r.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:r.TextStyles.custom3}]}})({component:t=>a.jsx(tn,{...t,styles:e})}),es="textstyle-heading1-plugin";class nn extends r.Plugin{constructor({styles:n=j.heading1,...s}={}){super(w.heading1,{label:"Heading 1",markupElement:new ts,...s});B(this,"styles",{});this.styles=n}plugins(){return[ns(this.styles)]}}class ts extends r.MarkupElement{constructor(t=es,n=Ce){super(t,n)}}const Ce=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h1",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ns=e=>r.createPluginFactory({key:w.heading1,isElement:!0,component:Ce,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:t=>a.jsx(Ce,{...t,styles:e})}),rs="textstyle-heading2-plugin";class rn extends r.Plugin{constructor({styles:n=j.heading2,...s}={}){super(w.heading2,{label:"Heading 2",markupElement:new ss,...s});B(this,"styles",{});this.styles=n}plugins(){return[as(this.styles)]}}class ss extends r.MarkupElement{constructor(t=rs,n=Se){super(t,n)}}const Se=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h2",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},as=e=>r.createPluginFactory({key:w.heading2,isElement:!0,component:Se,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:t=>a.jsx(Se,{...t,styles:e})}),is="textstyle-heading3-plugin";class sn extends r.Plugin{constructor({styles:n=j.heading3,...s}={}){super(w.heading3,{label:"Heading 3",markupElement:new os,...s});B(this,"styles",{});this.styles=n}plugins(){return[ls(this.styles)]}}class os extends r.MarkupElement{constructor(t=is,n=ke){super(t,n)}}const ke=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h3",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ls=e=>r.createPluginFactory({key:w.heading3,isElement:!0,component:ke,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:t=>a.jsx(ke,{...t,styles:e})}),cs="textstyle-heading4-plugin";class an extends r.Plugin{constructor({styles:n=j.heading4,...s}={}){super(w.heading4,{label:"Heading 4",markupElement:new ds,...s});B(this,"styles",{});this.styles=n}plugins(){return[us(this.styles)]}}class ds extends r.MarkupElement{constructor(t=cs,n=Te){super(t,n)}}const Te=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h4",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},us=e=>r.createPluginFactory({key:w.heading4,isElement:!0,component:Te,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:t=>a.jsx(Te,{...t,styles:e})}),gs="textstyle-imageCaption-plugin";class on extends r.Plugin{constructor({styles:n=j.imageCaption,...s}={}){super(w.imageCaption,{label:"Image Caption",markupElement:new ms,...s});B(this,"styles",{});this.styles=n}plugins(){return[hs(this.styles)]}}class ms extends r.MarkupElement{constructor(t=gs,n=Pe){super(t,n)}}const Pe=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},hs=e=>r.createPluginFactory({key:w.imageCaption,isElement:!0,component:Pe,deserializeHtml:{rules:[{validClassName:w.imageCaption}]}})({component:t=>a.jsx(Pe,{...t,styles:e})}),fs="textstyle-imageTitle-plugin";class ln extends r.Plugin{constructor({styles:n=j.imageTitle,...s}={}){super(w.imageTitle,{label:"Image Title",markupElement:new xs,...s});B(this,"styles",{});this.styles=n}plugins(){return[ps(this.styles)]}}class xs extends r.MarkupElement{constructor(t=fs,n=Ie){super(t,n)}}const Ie=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ps=e=>r.createPluginFactory({key:w.imageTitle,isElement:!0,component:Ie,deserializeHtml:{rules:[{validClassName:w.imageTitle}]}})({component:t=>a.jsx(Ie,{...t,styles:e})});class cn extends r.Plugin{constructor({styles:n=j.p,...s}={}){super(w.p,{markupElement:new un,label:"Body Text",...s});B(this,"styles",{});this.styles=n}plugins(){return[gn(this.styles)]}}const dn="tw-m-0 tw-px-0 tw-py-0",ge=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align,o=r.merge([i&&r.alignmentClassnames[i],dn,r.getColumnBreakClasses(e)]);return a.jsx("p",{...t,className:o,style:s,children:n})};class un extends r.MarkupElement{constructor(t=w.p,n=ge){super(t,n)}}const gn=e=>r.createPluginFactory({...r.createParagraphPlugin(),key:w.p,isElement:!0,component:ge})({component:t=>a.jsx(ge,{...t,styles:e})}),ws="textstyle-quote-plugin";class mn extends r.Plugin{constructor({styles:n=j.quote,...s}={}){super(w.quote,{label:"Quote",markupElement:new bs,...s});B(this,"styles",{});this.styles=n}plugins(){return[hn(this.styles)]}}class bs extends r.MarkupElement{constructor(t=ws,n=me){super(t,n)}}const me=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("blockquote",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},hn=e=>r.createPluginFactory({key:w.quote,isElement:!0,component:me,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:t=>a.jsx(me,{...t,styles:e})}),_e=[new nn,new rn,new sn,new an,new Qt,new Jt,new en,new mn,new cn],Z=[w.heading1,w.heading2,w.heading3,w.heading4,w.custom1,w.custom2,w.custom3,w.quote,w.p],ys=[..._e,new on,new ln],vs=[...Z,w.imageCaption,w.imageTitle],Cs=e=>new r.PluginComposer().setPlugin(new r.SoftBreakPlugin,new r.TextStylePlugin({textStyles:_e})).setPlugin([new r.BoldPlugin,new r.ItalicPlugin,new r.UnderlinePlugin,new r.StrikethroughPlugin,new Xt({appBridge:e}),new Vt({appBridge:e}),new r.CodePlugin],[new r.AlignLeftPlugin({validTypes:Z}),new r.AlignCenterPlugin({validTypes:Z}),new r.AlignRightPlugin({validTypes:Z}),new r.AlignJustifyPlugin({validTypes:Z}),new r.UnorderedListPlugin,new r.CheckboxListPlugin,new r.OrderedListPlugin,new r.ResetFormattingPlugin,new r.AutoformatPlugin]),Ss="--f-theme-settings-",ks=e=>{const t=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",n=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",s=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||Fn,i=e!=null&&e.label?e.label:"Background",o=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:i,type:"switch",switchLabel:o,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,defaultValue:s,type:"colorInput"}]}},Ts=e=>{const t=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",n=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",s=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",i=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",o=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",l=(e==null?void 0:e.defaultColor)||nt,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",layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:s,type:"dropdown",defaultValue:D.Solid,choices:[{value:D.Solid,label:D.Solid},{value:D.Dotted,label:D.Dotted},{value:D.Dashed,label:D.Dashed}]},{id:i,type:"input",defaultValue:Dn,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px",onChange:c=>m.appendUnit(c,i)},{id:o,type:"colorInput",defaultValue:l}]}],off:[]}},He=(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"}]}),Ps=e=>{const t=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",n=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",s=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",i=(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:o=>{var l;return e!=null&&e.dependentSettingId?!!((l=o.getBlock(e.dependentSettingId))!=null&&l.value):!0},onChange:o=>m.presetCustomValue(o,s,n,(e==null?void 0:e.radiusStyleMap)||q),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:o=>m.appendUnit(o,n)}],off:[He(s,i)]}},Is=e=>{const t=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",n=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",s=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",i=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",o=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",l=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 f;return e!=null&&e.dependentSettingId?!!((f=c.getBlock(e.dependentSettingId))!=null&&f.value):!0},onChange:c=>{m.presetCustomValue(c,s,i,q),m.presetCustomValue(c,s,o,q),m.presetCustomValue(c,s,l,q),m.presetCustomValue(c,s,d,q)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:i,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,i)},{id:o,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,o)},{id:l,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,l)},{id:d,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,d)}]}],off:[He(s,e==null?void 0:e.defaultValue)]}},Es=e=>{const t=e!=null&&e.id?e.id:"hasCustomSpacing",n=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",s=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",i=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",o=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:l=>m.presetCustomValue(l,s,i,st),show:l=>{var d;return((d=l.getBlock(n))==null?void 0:d.value)!=="1"},on:[{id:i,type:"input",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,i)}],off:[{id:s,type:"slider",defaultValue:o,choices:[{value:W.Auto,label:"Auto"},{value:W.S,label:"S"},{value:W.M,label:"M"},{value:W.L,label:"L"}]}]}},Ve=e=>({id:e,type:"segmentedControls",defaultValue:$.None,choices:[{value:$.None,label:"None"},{value:$.Small,label:"S"},{value:$.Medium,label:"M"},{value:$.Large,label:"L"}]}),Bs=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",s=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:i=>m.presetCustomValue(i,s,n,(e==null?void 0:e.marginStyleMap)||J),on:[{id:n,type:"input",placeholder:se,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:i=>m.appendUnit(i,n)}],off:[Ve(s)]}},js=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",s=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",i=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",o=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",l=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,s,i,J),m.presetCustomValue(c,s,o,J),m.presetCustomValue(c,s,l,J),m.presetCustomValue(c,s,d,J)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:i,type:"input",label:"Top",placeholder:se,onChange:c=>m.appendUnit(c,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:se,onChange:c=>m.appendUnit(c,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:se,onChange:c=>m.appendUnit(c,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Bottom",placeholder:se,onChange:c=>m.appendUnit(c,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Ve(s)]}},ze=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"}]}),Ns=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",s=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:i=>m.presetCustomValue(i,s,n,(e==null?void 0:e.paddingStyleMap)||Y),on:[{id:n,type:"input",placeholder:re,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:i=>m.appendUnit(i,n)}],off:[ze(s)]}},Ls=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",s=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",i=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",o=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",l=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,s,i,Y),m.presetCustomValue(c,s,o,Y),m.presetCustomValue(c,s,l,Y),m.presetCustomValue(c,s,d,Y)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:i,type:"input",label:"Top",placeholder:re,onChange:c=>m.appendUnit(c,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:re,onChange:c=>m.appendUnit(c,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:re,onChange:c=>m.appendUnit(c,l),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:[ze(s)]}},As=e=>{const t=$e(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var s;return((s=n.getBlock(t))==null?void 0:s.value)===K.Custom}}},$e=e=>e||"security",Rs=e=>[{id:$e(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 fn=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(fn||{});const Ms=e=>e,Fs=e=>e;exports.AllTextStylePlugins=ys;exports.AllTextStyles=vs;exports.Attachments=ft;exports.AttachmentsProvider=gt;exports.AttachmentsToolbarButton=pt;exports.BUTTON_PLUGIN=_t;exports.BlockButtonStyles=we;exports.BlockInjectButton=Pn;exports.BlockItemWrapper=kt;exports.BlockStyles=j;exports.BorderStyle=D;exports.ButtonPlugin=Vt;exports.Custom1Plugin=Qt;exports.Custom2Plugin=Jt;exports.Custom3Plugin=en;exports.DEFAULT_ATTACHMENTS_BUTTON_ID=xt;exports.DEFAULT_DRAGGING_TOOLTIP=bt;exports.DEFAULT_DRAG_TOOLTIP=wt;exports.DEFAULT_MENU_BUTTON_ID=Le;exports.DownloadButton=Qn;exports.DragHandleToolbarButton=yt;exports.DragPreviewContextProvider=it;exports.ELEMENT_BUTTON=C;exports.FlyoutToolbarButton=Ne;exports.GutterSpacing=W;exports.Heading1Plugin=nn;exports.Heading2Plugin=rn;exports.Heading3Plugin=sn;exports.Heading4Plugin=an;exports.ImageCaptionPlugin=on;exports.ImageTitlePlugin=ln;exports.LinkInput=Ot;exports.LinkPlugin=Xt;exports.LinkSelector=Dt;exports.Margin=$;exports.MenuToolbarButton=Ct;exports.MultiFlyoutContextProvider=lt;exports.PARAGRAPH_CLASSES=dn;exports.Padding=z;exports.ParagraphMarkupElement=un;exports.ParagraphMarkupElementNode=ge;exports.ParagraphPlugin=cn;exports.QuoteMarkupElementNode=me;exports.QuotePlugin=mn;exports.Radius=H;exports.RichTextEditor=Ar;exports.Sections=fn;exports.Security=K;exports.THEME_PREFIX=Ss;exports.TextStylePluginsWithoutImage=_e;exports.TextStyles=w;exports.TextStylesWithoutImage=Z;exports.Toolbar=St;exports.ToolbarFlyoutMenu=vt;exports.addHttps=fe;exports.borderStyleMap=rt;exports.convertToRteValue=Zn;exports.createButtonNode=Lt;exports.createButtonPlugin=Ht;exports.createLinkPlugin=Kt;exports.createParagraphPlugin=gn;exports.createQuotePlugin=hn;exports.customCoordinatesGetterFactory=ht;exports.defineBlock=Ms;exports.defineSettings=Fs;exports.getBackgroundColorStyles=Mn;exports.getBackgroundSettings=ks;exports.getBorderRadiusSettings=Ps;exports.getBorderRadiusSlider=He;exports.getBorderSettings=Ts;exports.getBorderStyles=On;exports.getDefaultPluginsWithLinkChooser=Cs;exports.getExtendedBorderRadiusSettings=Is;exports.getGutterSettings=Es;exports.getLegacyUrl=sr;exports.getLinkFromEditor=ir;exports.getMarginExtendedSettings=js;exports.getMarginSettings=Bs;exports.getMarginSlider=Ve;exports.getPaddingExtendedSettings=Ls;exports.getPaddingSettings=Ns;exports.getPaddingSlider=ze;exports.getRadiusStyles=Un;exports.getReadableColor=An;exports.getSecurityDownloadableSetting=As;exports.getSecurityGlobalControlId=$e;exports.getSecurityGlobalControlSetting=Rs;exports.getUrl=ar;exports.getUrlFromEditor=Nt;exports.getUrlFromLinkOrLegacyLink=Me;exports.gutterSpacingStyleMap=st;exports.hasRichTextValue=Tt;exports.insertButton=Et;exports.isDark=En;exports.isDownloadable=er;exports.isValidUrl=xe;exports.isValidUrlOrEmpty=ee;exports.joinClassNames=O;exports.mapAppBridgeColorPaletteToFonduePalette=Pt;exports.mapAppBridgeColorPalettesToFonduePalettes=tr;exports.marginStyleMap=J;exports.moveItemInArray=Rn;exports.paddingStyleMap=Y;exports.radiusStyleMap=q;exports.relativeUrlRegex=Fe;exports.setAlpha=Nn;exports.submitFloatingButton=De;exports.toColorObject=Ln;exports.toHex8String=Bn;exports.toHexString=jn;exports.toRgbaString=Ee;exports.toShortRgba=X;exports.triggerFloatingButton=At;exports.triggerFloatingButtonEdit=pe;exports.triggerFloatingButtonInsert=Ue;exports.unwrapButton=te;exports.upsertButton=Bt;exports.upsertButtonText=Oe;exports.useAttachments=dt;exports.useAttachmentsContext=mt;exports.useDndSensors=zn;exports.useDragPreviewContext=ie;exports.useMultiFlyoutContext=ct;exports.useMultiFlyoutState=he;exports.withAttachmentsProvider=_n;exports.withButton=It;exports.wrapButton=jt;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";var Cn=Object.defineProperty;var Sn=(e,t,n)=>t in e?Cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var B=(e,t,n)=>(Sn(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),a=require("react/jsx-runtime"),G=require("@frontify/app-bridge"),r=require("@frontify/fondue"),g=require("react"),T=require("@dnd-kit/core"),kn=require("@dnd-kit/modifiers"),ue=require("@dnd-kit/sortable"),tt=require("@react-aria/focus"),Tn=require("@react-stately/overlays"),U=require("@ctrl/tinycolor"),O=e=>e.filter(Boolean).join(" "),Pn=({onDrop:e,label:t,icon:n,secondaryLabel:s,isLoading:i,fillParentContainer:o,onAssetChooseClick:l,onUploadClick:u,withMenu:c=!0,onClick:f,validFileType:h,verticalLayout:d})=>{const[x,y]=g.useState(!1),[p,v]=g.useState(),k=g.useRef(null),[P,L]=g.useState(void 0),_=S=>{if(S.preventDefault(),y(!1),!M(S.dataTransfer.files)){L("Invalid"),setTimeout(()=>{L(void 0)},1e3);return}e==null||e(S.dataTransfer.files)},M=S=>{if(!h)return!0;for(let A=0;A<S.length;A++){const R=S[A].name.split(".").pop()??"";if(!G.FileExtensionSets[h].includes(R))return!1}return!0},F=S=>{if(!k.current||i)return;const{left:A,top:R}=k.current.getBoundingClientRect(),le=S.clientX-A,ce=S.clientY-R;v([le,ce])};return a.jsxs("button",{ref:k,"data-test-id":"block-inject-button",className:O(["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",d?"[&: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",o?"tw-h-full":"tw-h-[72px]",x&&!i?"tw-border-dashed":"tw-border-solid",p&&"tw-bg-blank-state-pressed-inverse",x&&"tw-bg-blank-state-weak-inverse",P?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",i||p||x||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",(x||p)&&!P?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:e?S=>{var A;if(y(!0),h==="Images")for(const R of Array.from(S.dataTransfer.items))(A=R==null?void 0:R.type)!=null&&A.startsWith("image/")?L(void 0):L("Invalid")}:void 0,onDragLeave:e?()=>{y(!1),L(void 0)}:void 0,onDrop:e?_:void 0,onClick:S=>{c&&F(S),f==null||f()},children:[i?a.jsx(r.LoadingCircle,{}):P?a.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[a.jsx(r.IconExclamationMarkTriangle,{}),P]}):a.jsxs(a.Fragment,{children:[n&&a.jsx("div",{children:n}),(t||s)&&a.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[t&&a.jsx("div",{className:"tw-font-medium",children:t}),s&&a.jsx("div",{className:"tw-font-normal",children:s})]})]}),p&&a.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:p[0],top:p[1]},children:a.jsx(r.Flyout,{onOpenChange:S=>!S&&v(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:a.jsx("div",{}),children:a.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...u?[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{u(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconArrowCircleUp20,{})})}]:[],...l?[{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{l(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconImageStack20,{})})}]:[]]}]})})})]})},X=e=>{const t=s=>typeof s=="object"&&["red","green","blue"].every(o=>s.hasOwnProperty(o)),n=s=>{const i=typeof s.alpha=="number"?s.alpha:1;return{r:s.red,g:s.green,b:s.blue,a:i}};return t(e)?n(e):e},In=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),En=(e,t)=>{const n=In(e)?X(e):e,s=new U.TinyColor(n);return t?s.getBrightness()<t:s.isDark()||s.getAlpha()>.25&&s.getAlpha()<1},Bn=e=>new U.TinyColor(X(e)).toHex8String(),jn=e=>new U.TinyColor(X(e)).toHexString(),Ee=e=>new U.TinyColor(X(e)).toRgbString(),Nn=(e,t)=>new U.TinyColor(t).setAlpha(e).toRgbString(),Ln=e=>{const{r:t,g:n,b:s,a:i}=new U.TinyColor(e);return{red:t,green:n,blue:s,alpha:i}},Ye=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),An=(e,t)=>{const n=Ye(e)?X(e):e,s=Ye(t)?X(t):t;let i=new U.TinyColor(n);const o=new U.TinyColor(s);for(;U.readability(i,o)<4.5;)i=i.darken(1);return i.toRgbString()},Rn=(e,t,n)=>{const s=[...e],i=n<0?s.length+n:n;if(i>=0&&i<s.length){const o=s.splice(t,1)[0];s.splice(i,0,o)}return s},Mn=e=>({backgroundColor:Ee(e)}),Fn={red:241,green:241,blue:241,alpha:1},nt={red:234,green:235,blue:235,alpha:1},Dn="1px",re="24px",se="24px";var D=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(D||{});const rt={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 st={Auto:"4px",S:"10px",M:"30px",L:"50px"},On=(e=D.Solid,t="1px",n=nt)=>({borderStyle:rt[e],borderWidth:t,borderColor:Ee(n)}),Un=(e,t=!1,n)=>({borderRadius:t?n:q[e]}),at=g.createContext(!1),it=({children:e,isDragPreview:t})=>a.jsx(at.Provider,{value:t,children:e}),ie=()=>g.useContext(at),ot=g.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")}),lt=({children:e,openFlyoutIds:t,setOpenFlyoutIds:n})=>{const s=g.useMemo(()=>({openFlyoutIds:t,setOpenFlyoutIds:n}),[t,n]);return a.jsx(ot.Provider,{value:s,children:e})},ct=()=>g.useContext(ot),he=e=>{const{openFlyoutIds:t,setOpenFlyoutIds:n}=ct(),s=g.useCallback(i=>{n(o=>{const l=o.filter(u=>u!==e);return i?[...l,e]:l})},[e,n]);return{isOpen:t.includes(e),onOpenChange:s}},ut=(e,t)=>{const{blockAssets:n,addAssetIdsToKey:s,deleteAssetIdsFromKey:i,updateAssetIdsFromKey:o}=G.useBlockAssets(e),l=(n==null?void 0:n[t])||[];return{onAttachmentsAdd:async d=>{await s(t,d.map(x=>x.id))},onAttachmentDelete:async d=>{await i(t,[d.id])},onAttachmentReplace:async(d,x)=>{const y=l.map(p=>p.id===d.id?x.id:p.id);await o(t,y)},onAttachmentsSorted:async d=>{const x=d.map(y=>y.id);await o(t,x)},attachments:l,appBridge:e}},dt=g.createContext(null),gt=({appBridge:e,children:t,assetId:n})=>{const s=ut(e,n);return a.jsx(dt.Provider,{value:s,children:t})},mt=()=>{const e=g.useContext(dt);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},_n=(e,t)=>{const n=s=>a.jsx(gt,{appBridge:s.appBridge,assetId:t,children:a.jsx(e,{...s})});return n.displayName="withAttachmentsProvider",n},Hn=[T.KeyboardCode.Down,T.KeyboardCode.Right,T.KeyboardCode.Up,T.KeyboardCode.Left],ht=(e,t)=>(n,{currentCoordinates:s,context:{activeNode:i}})=>{if(n.preventDefault(),Hn.includes(n.code)){const o=(i==null?void 0:i.offsetWidth)??0,l=(i==null?void 0:i.offsetHeight)??0;switch(n.code){case T.KeyboardCode.Right:return{...s,x:s.x+o+e};case T.KeyboardCode.Left:return{...s,x:s.x-o-e};case T.KeyboardCode.Down:return{...s,y:s.y+l+t};case T.KeyboardCode.Up:return{...s,y:s.y-l-t}}}},Vn={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},zn=(e=0,t=0)=>{const n=ht(e,t);return T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor,{coordinateGetter:n,keyboardCodes:Vn}))},$n=e=>e==="IMAGE"?a.jsx(r.IconImage24,{}):e==="VIDEO"?a.jsx(r.IconPlayFrame24,{}):e==="AUDIO"?a.jsx(r.IconMusicNote24,{}):a.jsx(r.IconDocument24,{}),Be=g.forwardRef(({item:e,isEditing:t,draggableProps:n,transformStyle:s,isDragging:i,isOverlay:o,isLoading:l,onDelete:u,onReplaceWithBrowse:c,onReplaceWithUpload:f,onDownload:h},d)=>{const[x,y]=g.useState(),[p,{selectedFiles:v}]=G.useFileInput({multiple:!0,accept:"image/*"}),[k,{results:P,doneAll:L}]=G.useAssetUpload(),{focusProps:_,isFocusVisible:M}=tt.useFocusRing();g.useEffect(()=>{v&&k(v[0])},[v]),g.useEffect(()=>{L&&f(P[0])},[L,P]);const F=l||v&&!L;return a.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>h==null?void 0:h(),ref:d,style:{...s,opacity:i&&!o?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:O(["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",i?"tw-bg-box-neutral-hover":""]),children:[a.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:F?a.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small}):$n(e.objectType)}),a.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[a.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}),a.jsx("div",{className:"tw-text-text-weak",children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),t&&a.jsxs("div",{"data-test-id":"attachments-actionbar",className:O(["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",o||(x==null?void 0:x.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:[a.jsx("button",{..._,...n,"aria-label":"Drag attachment",className:O([" tw-border-button-border tw-bg-button-background active:tw-bg-button-background-pressed tw-group tw-border tw-box-box tw-relative tw-flex tw-items-center tw-justify-center tw-outline-none tw-font-medium tw-rounded tw-h-9 tw-w-9 ",i||o?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",M&&r.FOCUS_STYLE,M&&"tw-z-[2]"]),children:a.jsx(r.IconGrabHandle20,{})}),a.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:a.jsx(r.Flyout,{placement:r.FlyoutPlacement.Right,isOpen:(x==null?void 0:x.id)===e.id,fitContent:!0,legacyFooter:!1,onOpenChange:S=>y(S?e:void 0),trigger:(S,A)=>a.jsx(r.Button,{ref:A,icon:a.jsx(r.IconPen20,{}),emphasis:r.ButtonEmphasis.Default,onClick:()=>y(e)}),children:a.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{p(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconArrowCircleUp20,{})})},{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{c(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:r.MenuItemContentSize.XSmall,title:"Delete",style:r.MenuItemStyle.Danger,onClick:()=>{u(),y(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(r.IconTrashBin20,{})})}]}]})})})]})]})});Be.displayName="AttachmentItem";const Wn=e=>{const{attributes:t,listeners:n,setNodeRef:s,transform:i,transition:o,isDragging:l}=ue.useSortable({id:e.item.id}),u={transform:i?`translate(${i.x}px, ${i.y}px)`:"",transition:o,zIndex:l?2:1},c={...t,...n};return a.jsx(Be,{ref:s,isDragging:l,transformStyle:u,draggableProps:c,...e})},qn=({children:e,isFlyoutOpen:t,triggerProps:n,triggerRef:s})=>a.jsxs("button",{className:O(["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"]),...n,ref:s,"data-test-id":"attachments-button-trigger",children:[a.jsx(r.IconPaperclip16,{}),e,a.jsx(r.IconCaretDown12,{})]}),ft=({items:e=[],onDelete:t,onReplaceWithBrowse:n,onReplaceWithUpload:s,onBrowse:i,onUpload:o,onSorted:l,appBridge:u,triggerComponent:c=qn,isOpen:f,onOpenChange:h})=>{const[d,x]=g.useState(e),[y,p]=g.useState(!1),v=T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor)),[k,P]=g.useState(void 0),[L,_]=g.useState(!1),[M,F]=g.useState([]),[S,A]=g.useState(null),R=G.useEditorState(u),{openAssetChooser:le,closeAssetChooser:ce}=G.useAssetChooser(u),We=f!==void 0,be=We?f:y,Q=d==null?void 0:d.find(b=>b.id===k),[xn,{results:qe,doneAll:Ge}]=G.useAssetUpload({onUploadProgress:()=>!L&&_(!0)}),ne=b=>{const E=We?h:p;E==null||E(b)};g.useEffect(()=>{x(e)},[e]),g.useEffect(()=>{S&&(_(!0),xn(S))},[S]),g.useEffect(()=>{(async()=>{Ge&&(await o(qe),_(!1))})()},[Ge,qe]);const pn=()=>{ne(!1),le(b=>{i(b),ce(),ne(!0)},{multiSelection:!0,selectedValueIds:d.map(b=>b.id)})},Ke=b=>{ne(!1),le(async E=>{ne(!0),ce(),F([...M,b.id]),await n(b,E[0]),F(M.filter(V=>V!==b.id))},{multiSelection:!1,selectedValueIds:d.map(E=>E.id)})},Xe=async(b,E)=>{F([...M,b.id]),await s(b,E),F(M.filter(V=>V!==b.id))},wn=b=>{const{active:E}=b;P(E.id)},bn=b=>{const{active:E,over:V}=b;if(V&&E.id!==V.id&&d){const yn=d.findIndex(ye=>ye.id===E.id),vn=d.findIndex(ye=>ye.id===V.id),Qe=ue.arrayMove(d,yn,vn);x(Qe),l(Qe)}P(void 0)};return R||((d==null?void 0:d.length)??0)>0?a.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Attachments",disabled:be,enterDelay:500,triggerElement:a.jsx("div",{"data-test-id":"attachments-flyout-button",children:a.jsx(r.Flyout,{placement:r.FlyoutPlacement.BottomRight,onOpenChange:b=>ne(Q?!0:b),isOpen:be,hug:!1,fitContent:!0,legacyFooter:!1,trigger:(b,E)=>a.jsx(c,{isFlyoutOpen:be,triggerProps:b,triggerRef:E,children:a.jsx("div",{children:e.length>0?e.length:"Add"})}),children:a.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[d.length>0&&a.jsxs(T.DndContext,{sensors:v,collisionDetection:T.closestCenter,onDragStart:wn,onDragEnd:bn,modifiers:[kn.restrictToWindowEdges],children:[a.jsx(ue.SortableContext,{items:d,strategy:ue.rectSortingStrategy,children:a.jsx("div",{className:"tw-border-b tw-border-b-line",children:d.map(b=>a.jsx(Wn,{isEditing:R,isLoading:M.includes(b.id),item:b,onDelete:()=>t(b),onReplaceWithBrowse:()=>Ke(b),onReplaceWithUpload:E=>Xe(b,E),onDownload:()=>u.dispatch({name:"downloadAsset",payload:b})},b.id))})}),a.jsx(T.DragOverlay,{children:Q&&a.jsx(Be,{isOverlay:!0,isEditing:R,item:Q,isDragging:!0,onDelete:()=>t(Q),onReplaceWithBrowse:()=>Ke(Q),onReplaceWithUpload:b=>Xe(Q,b)},k)})]}),R&&a.jsxs("div",{className:"tw-px-5 tw-py-3",children:[a.jsx("div",{className:"tw-font-body tw-font-medium tw-text-text tw-text-s tw-my-4",children:"Add attachments"}),a.jsx(r.AssetInput,{isLoading:L,size:r.AssetInputSize.Small,onUploadClick:b=>A(b),onLibraryClick:pn})]})]})})})}):null},Gn=(e,t)=>{const n=[r.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"),O(n)},oe=g.forwardRef(({onClick:e,children:t,forceActiveStyle:n,cursor:s="pointer","data-test-id":i="base-toolbar-button",...o},l)=>a.jsx("button",{onClick:e,className:Gn(s,n),"data-test-id":i,...o,ref:l,children:t}));oe.displayName="BaseToolbarButton";const Kn=({children:e,isFlyoutOpen:t,triggerProps:n,triggerRef:s})=>a.jsxs(oe,{forceActiveStyle:t,"data-test-id":"attachments-toolbar-button-trigger",...n,ref:s,children:[a.jsx(r.IconPaperclip16,{}),e,a.jsx(r.IconCaretDown12,{})]}),xt="attachments",pt=({flyoutId:e=xt})=>{const t=r.useMemoizedId(e),{appBridge:n,attachments:s,onAttachmentsAdd:i,onAttachmentDelete:o,onAttachmentReplace:l,onAttachmentsSorted:u}=mt(),{isOpen:c,onOpenChange:f}=he(t),h=ie();return a.jsx(ft,{onUpload:i,onDelete:o,onReplaceWithBrowse:l,onReplaceWithUpload:l,onSorted:u,onBrowse:i,items:s,appBridge:n,triggerComponent:Kn,isOpen:c&&!h,onOpenChange:f})},wt="Drag or press ↵ to move",bt="Move with ↑↓←→ and confirm with ↵",je=({open:e,content:t,children:n,disabled:s})=>a.jsx(r.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:e,disabled:s,position:r.TooltipPosition.Top,content:a.jsx("div",{children:t}),triggerElement:n,"data-test-id":"toolbar-button-tooltip"}),yt=({tooltip:e,icon:t,setActivatorNodeRef:n,draggableProps:s})=>{const i=ie();return a.jsx(je,{open:i,content:a.jsx("div",{children:i?bt:e??wt}),children:a.jsx(oe,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:i,cursor:"grab",...s,children:t})})},Ne=({content:e,icon:t,tooltip:n,flyoutId:s,flyoutFooter:i,flyoutHeader:o})=>{const l=r.useMemoizedId(s),{isOpen:u,onOpenChange:c}=he(l),f=ie();return a.jsx(je,{disabled:f||u,content:n,children:a.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:a.jsx(r.Flyout,{isOpen:u&&!f,legacyFooter:!1,fixedFooter:i,fixedHeader:o,fitContent:!0,hug:!1,placement:r.FlyoutPlacement.BottomRight,onOpenChange:c,trigger:(h,d)=>a.jsx(oe,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:u&&!f,...h,ref:d,children:t}),children:e})})})},vt=({items:e,flyoutId:t})=>{const{onOpenChange:n}=he(t);return a.jsx(r.ActionMenu,{menuBlocks:e.map((s,i)=>({id:i.toString(),menuItems:s.map((o,l)=>({id:i.toString()+l.toString(),size:r.MenuItemContentSize.XSmall,title:o.title,style:o.style,onClick:()=>{n(!1),o.onClick()},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:o.icon})}))}))})},Le="menu",Ct=({items:e,flyoutId:t=Le,tooltip:n="Options"})=>{const s=r.useMemoizedId(t);return a.jsx(Ne,{icon:a.jsx(r.IconDotsHorizontal16,{}),tooltip:n,flyoutId:s,content:a.jsx(vt,{items:e,flyoutId:s})})},Xn=({tooltip:e,icon:t,onClick:n})=>{const s=ie();return a.jsx(je,{disabled:s,content:e??"",children:a.jsx(oe,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:t})})},Je=({children:e})=>a.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-segment",className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),St=({items:e,attachments:t})=>a.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:[t.isEnabled&&a.jsx(Je,{children:a.jsx(pt,{})}),e.length>0&&a.jsx(Je,{children:e.map(n=>{switch(n.type){case"dragHandle":return a.jsx(yt,{...n},n.tooltip+n.type);case"menu":return a.jsx(Ct,{...n},n.tooltip+n.type);case"flyout":return a.jsx(Ne,{...n},n.tooltip+n.type);default:return a.jsx(Xn,{...n},n.tooltip+n.type)}})})]}),kt=g.memo(({children:e,toolbarItems:t,shouldHideWrapper:n,shouldHideComponent:s=!1,isDragging:i=!1,shouldFillContainer:o,outlineOffset:l=2,shouldBeShown:u=!1,showAttachments:c=!1})=>{const[f,h]=g.useState(u?[Le]:[]),d=g.useRef(null);if(n)return a.jsx(a.Fragment,{children:e});const x=t==null?void 0:t.filter(p=>p!==void 0),y=f.length>0||u;return a.jsx(it,{isDragPreview:i,children:a.jsx(lt,{openFlyoutIds:f,setOpenFlyoutIds:h,children:a.jsxs("div",{ref:d,"data-test-id":"block-item-wrapper",style:{outlineOffset:l},className:O(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",o&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",y&&"tw-outline",s&&"tw-opacity-0"]),children:[a.jsx("div",{style:{right:-1-l,bottom:`calc(100% - ${2+l}px)`},className:O(["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",y&&"tw-opacity-100"]),children:a.jsx(St,{attachments:{isEnabled:c},items:x})}),e]})})})});kt.displayName="BlockItemWrapper";const Qn=({onDownload:e})=>{const{isFocused:t,focusProps:n}=tt.useFocusRing();return a.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:a.jsx("button",{tabIndex:0,"aria-label":"Download",...n,className:O(["tw-outline-none tw-rounded",t&&r.FOCUS_STYLE]),onClick:e,onPointerDown:s=>s.preventDefault(),children:a.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:a.jsx(r.IconArrowCircleDown16,{})})})})},Yn=({ref:e,disabled:t,onChange:n})=>{g.useEffect(()=>{if(t||!e.current)return;let s=!1;const i=new IntersectionObserver(([o])=>{o.isIntersecting!==s&&(s=o.isIntersecting,n(o.isIntersecting))});return i.observe(e.current),()=>{i.disconnect()}},[e,t,n])},Jn=({value:e="",gap:t,columns:n,show:s=!0,plugins:i})=>{const[o,l]=g.useState(null);return g.useEffect(()=>{(async()=>l(await r.serializeRawToHtmlAsync(e,i,n,t)))()},[e,n,t,i]),!s||o==="<br />"?null:o!==null?a.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:o}}):a.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},Ae=r.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})),I=Ae.set,N=Ae.get,ae=()=>Ae.use,Tt=e=>{if(!e)return!1;const t=n=>n.some(s=>s.text?s.text!=="":s.children?t(s.children):!1);try{const n=JSON.parse(e);return t(n)}catch{return!1}},Zn=(e="p",t="",n)=>Tt(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),er=(e,t,n)=>e===K.Custom?t:n,tr=e=>e.map(Pt),Pt=e=>({id:e.id,title:e.name,colors:e.colors.map(rr)}),nr=e=>"revision"in e,rr=e=>{if(nr(e)){const{title:t,revision:n}=e;return{alpha:n.rgba.alpha?n.rgba.alpha/255:1,red:n.rgba.red??0,green:n.rgba.green??0,blue:n.rgba.blue??0,name:t??""}}return{alpha:e.alpha?e.alpha/255:1,red:e.red??0,green:e.green??0,blue:e.blue??0,name:e.name??""}},Re=(e,t)=>{const n=r.getAboveNode(e,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},sr=e=>Re(e,t=>{var n,s;return((s=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:s.link)||""}),ar=e=>Re(e,t=>t.url||""),Me=e=>{var t,n;return e.url||((n=(t=e.chosenLink)==null?void 0:t.searchResult)==null?void 0:n.link)||""},ir=e=>Re(e,Me),Fe=/^\/(document|r)\/\S+$/i,fe=e=>{if(Fe.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},xe=e=>{if(Fe.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==="",It=(e,{type:t})=>{const{apply:n,normalizeNode:s}=e;return e.apply=i=>{if(i.type!=="set_selection"){n(i);return}const o=i.newProperties;if(!(o!=null&&o.focus)||!o.anchor||!r.isCollapsed(o)){n(i);return}const l=r.getAboveNode(e,{at:o,match:{type:r.getPluginType(e,C)}});if(l){const[,u]=l;let c;r.isStartPoint(e,o.focus,u)&&(c=r.getPreviousNodeEndPoint(e,u)),r.isEndPoint(e,o.focus,u)&&(c=r.getNextNodeStartPoint(e,u)),c&&(i.newProperties={anchor:c,focus:c})}n(i)},e.normalizeNode=([i,o])=>{if(i.type===r.getPluginType(e,C)){const l=e.selection;if(l&&r.isCollapsed(l)&&r.isEndPoint(e,l.focus,o)){const u=r.getNextNodeStartPoint(e,o);if(u)r.select(e,u);else{const c=r.Path.next(o);r.insertNodes(e,{text:""},{at:c}),r.select(e,c)}}}s([i,o])},r.withRemoveEmptyNodes(e,r.mockPlugin({options:{types:t}}))},Et=(e,t,n)=>{r.insertNodes(e,[Lt(e,t)],n)},De=e=>{if(!e.selection)return;const{isUrl:t,forceSubmit:n}=r.getPluginOptions(e,C),s=N.url();if(!((t==null?void 0:t(s))||n))return;const o=N.text(),l=N.buttonStyle(),u=N.newTab()?void 0:"_self";return I.reset(),Bt(e,{url:s,text:o,buttonStyle:l,target:u,isUrl:c=>n||!t?!0:t(c)}),setTimeout(()=>{r.focusEditor(e,e.selection??void 0)},0),!0},te=(e,t)=>r.withoutNormalizing(e,()=>{var n,s,i,o,l,u;if(t!=null&&t.split){if(r.getAboveNode(e,{at:(n=e.selection)==null?void 0:n.anchor,match:{type:r.getPluginType(e,C)}}))return r.splitNodes(e,{at:(s=e.selection)==null?void 0:s.anchor,match:h=>r.isElement(h)&&h.type===r.getPluginType(e,C)}),te(e,{at:(i=e.selection)==null?void 0:i.anchor}),!0;if(r.getAboveNode(e,{at:(o=e.selection)==null?void 0:o.focus,match:{type:r.getPluginType(e,C)}}))return r.splitNodes(e,{at:(l=e.selection)==null?void 0:l.focus,match:h=>r.isElement(h)&&h.type===r.getPluginType(e,C)}),te(e,{at:(u=e.selection)==null?void 0:u.focus}),!0}r.unwrapNodes(e,{match:{type:r.getPluginType(e,C)},...t})}),Bt=(e,{url:t,text:n,buttonStyle:s,target:i,insertTextInButton:o,insertNodesOptions:l,isUrl:u=r.getPluginOptions(e,C).isUrl})=>{var P;const c=e.selection;if(!c)return;const f=r.getAboveNode(e,{at:c,match:{type:r.getPluginType(e,C)}});if(o&&f)return e.insertText(t),!0;if(!(u!=null&&u(t)))return;if(r.isDefined(n)&&n.length===0&&(n=t),f)return cr(t,e,f,i,s,n),!0;const h=r.findNode(e,{at:c,match:{type:r.getPluginType(e,C)}}),[d,x]=h??[],y=or(e,x,n);if(r.isExpanded(c))return lr(f,e,t,s,i,n),!0;y&&r.removeNodes(e,{at:x});const p=r.getNodeProps(d??{}),v=(P=e.selection)==null?void 0:P.focus.path;if(!v)return;const k=r.getNodeLeaf(e,v);return n!=null&&n.length||(n=t),Et(e,{...p,url:t,target:i,children:[{...k,text:n}]},l),!0};function or(e,t,n){return t&&(n==null?void 0:n.length)&&n!==r.getEditorString(e,t)}function lr(e,t,n,s,i,o){e?te(t,{at:e[1]}):te(t,{split:!0}),jt(t,{url:n,buttonStyle:s,target:i}),Oe(t,{url:n,target:i,text:o})}function cr(e,t,n,s,i,o){var l,u,c;(e!==((l=n[0])==null?void 0:l.url)||s!==((u=n[0])==null?void 0:u.target)||i!==((c=n[0])==null?void 0:c.buttonStyle))&&r.setNodes(t,{url:e,target:s,buttonStyle:i},{at:n[1]}),Oe(t,{url:e,text:o,target:s})}const Oe=(e,{text:t})=>{const n=r.getAboveNode(e,{match:{type:r.getPluginType(e,C)}});if(n){const[s,i]=n;if(t!=null&&t.length&&t!==r.getEditorString(e,i)){const o=s.children[0];r.replaceNodeChildren(e,{at:i,nodes:{...o,text:t},insertOptions:{select:!0}})}}},jt=(e,{url:t,buttonStyle:n,target:s,...i})=>{r.wrapNodes(e,{type:r.getPluginType(e,C),url:t,buttonStyle:n,target:s,children:[]},{split:!0,...i})},ur=(e,t)=>{const n=r.getAboveNode(e,{match:{type:C}});return Array.isArray(n)?t(n[0]):""},Nt=e=>ur(e,t=>t.url??""),Lt=(e,{url:t,text:n="",buttonStyle:s="primary",target:i,children:o})=>({type:r.getPluginType(e,C),url:t,target:i,buttonStyle:s,children:o??[{text:n}]}),At=(e,{focused:t}={})=>{if(N.mode()==="edit"){pe(e);return}Ue(e,{focused:t})},pe=e=>{const t=r.findNode(e,{match:{type:r.getPluginType(e,C)}});if(!t)return;const[n,s]=t;let i=r.getEditorString(e,s);I.url(n.url),I.newTab(n.target===void 0),i===n.url&&(i=""),I.text(i),I.isEditing(!0)},Ue=(e,{focused:t}={})=>{N.mode()||!t||r.isRangeAcrossBlocks(e,{at:e.selection})||r.someNode(e,{match:{type:r.getPluginType(e,C)}})||(I.text(r.getEditorString(e,e.selection)),I.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)"}}},dr=e=>{var l,u;const{attributes:t,children:n}=e,s=e.element.url||((u=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:u.link)||"",i=e.element.target||"_self",o=String(e.element.buttonStyle)||"primary";return a.jsx(gr,{attributes:t,href:s,target:i,styles:we[`button${o.charAt(0).toUpperCase()+o.slice(1)}`],children:n})},gr=({attributes:e,styles:t={hover:{}},children:n,href:s="#",target:i})=>{const[o,l]=g.useState(!1);return a.jsx("a",{...e,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),href:s,target:i,style:o?{...t,...t.hover}:t,children:n})};class mr extends r.MarkupElement{constructor(t=C,n=dr){super(t,n)}}const Rt=g.forwardRef((e,t)=>{const n=r.useEditorRef();return a.jsx(r.ToolbarButton,{ref:t,...e,onMouseDown:s=>{s.preventDefault(),r.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{At(n,{focused:!0})},children:a.jsx(r.IconStylingWrapper,{icon:a.jsx(r.IconButton16,{})})})});Rt.displayName="ButtonToolbarButton";const hr=({editorId:e,id:t})=>{const n=r.useEditorState(r.useEventPlateId(e)),s=!!r.isRangeInSameBlock(n,{at:n.selection}),i=r.getPluginType(n,C),o=!!(n!=null&&n.selection)&&r.someNode(n,{match:{type:i}});return a.jsx("div",{"data-plugin-id":t,children:a.jsx(Rt,{pressed:o,disabled:!s,tooltip:r.getTooltip(s?`Button
2
+ ${r.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block.")})})},fr=()=>{const e=r.useEditorRef();return a.jsx(r.FloatingModalWrapper,{padding:"16px",minWidth:"400px","data-test-id":"floating-button-edit",children:a.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[a.jsx("span",{className:"tw-pointer-events-none",children:N.url()}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("button",{onClick:()=>{pe(e)},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:a.jsx(r.IconPen16,{})}),a.jsx("button",{onClick:()=>{te(e),r.focusEditor(e,e.selection??void 0)},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:a.jsx(r.IconTrashBin16,{})})]})]})})},Mt=e=>e.filter(t=>{var n;return!!((n=t.title)!=null&&n.trim())}),Ft=()=>a.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:a.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small})}),xr=({section:e,selectedUrl:t,onSelectUrl:n})=>{const s=e.permanentLink===t;return a.jsx("button",{"data-test-id":"internal-link-selector-section-link",className:r.merge(["tw-py-2 tw-pr-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full",s?"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:a.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[a.jsx(r.IconDocumentText16,{}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Section"})]})})},pr=({page:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i})=>{const[o,l]=g.useState(e.id===s.documentId),[u,c]=g.useState([]),f=e.permanentLink===t;g.useEffect(()=>{(async()=>{const x=await i(e.id),y=Mt(x);c(y)})()},[e.id,i]),g.useEffect(()=>{e.id===s.pageId&&l(!0)},[s,e.id]);const h=u.length>0;return a.jsxs(a.Fragment,{children:[a.jsx("button",{"data-test-id":"internal-link-selector-page-link",className:r.merge(["tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full",h?"tw-pl-7":"tw-pl-12",f?"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:a.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[h&&a.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:()=>l(!o),children:a.jsx("div",{className:r.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",o?"tw-rotate-90":""])})}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},e.id)}),o&&u.length>0&&u.map(d=>a.jsx(xr,{section:d,selectedUrl:t,onSelectUrl:n},d.id))]})},wr=({documentId:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})=>{const[l,u]=g.useState([]),[c,f]=g.useState(!0),h=[...l.values()],d=!c&&h.length>0;return g.useEffect(()=>{o(e).then(x=>{const y=x.filter(v=>!!v.category).sort((v,k)=>v.category.sort===k.category.sort?v.sort-k.sort:v.category.sort-k.category.sort),p=x.filter(v=>!v.category).sort((v,k)=>v.sort-k.sort);u([...y,...p])}).finally(()=>{f(!1)})},[]),c?a.jsx(Ft,{}):d?a.jsx(a.Fragment,{children:h.map(x=>a.jsx(pr,{page:x,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i},x.id))}):a.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."})},br=({document:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})=>{const[l,u]=g.useState(e.id===s.documentId),c=e.permanentLink===t;return g.useEffect(()=>{e.id===s.documentId&&u(!0)},[s,e.id]),a.jsxs(a.Fragment,{children:[a.jsxs("button",{"data-test-id":"internal-link-selector-document-link",className:r.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:[a.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:()=>u(!l),children:a.jsx("div",{className:r.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":""])})}),a.jsx(r.IconColorFan16,{}),a.jsx("span",{className:"tw-text-s",children:e.title}),a.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),l&&a.jsx(wr,{documentId:e.id,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:s,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:o})]})},yr=({selectedUrl:e,onSelectUrl:t,getAllDocuments:n,getDocumentPagesByDocumentId:s,getDocumentSectionsByDocumentPageId:i})=>{const[o,l]=g.useState(!0),[u,c]=g.useState([]),[f,h]=g.useState({documentId:void 0,pageId:void 0});g.useEffect(()=>{e&&u.length>0&&d().then(x=>{h(x)})},[u.length]),g.useEffect(()=>{n().then(x=>{c(x)}).finally(()=>{l(!1)})},[]);const d=async()=>{const x={documentId:void 0,pageId:void 0};if(u.find(p=>p.permanentLink===e))return x;for(const p of u){const v=await s(p.id);if(!!v.find(P=>P.permanentLink===e))return x.documentId=p.id,x;for(const P of v){const L=await i(P.id);if(!!Mt(L).find(F=>F.permanentLink===e))return x.documentId=p.id,x.pageId=P.id,x}}return x};return o?a.jsx(Ft,{}):a.jsx(a.Fragment,{children:u.map(x=>a.jsx(br,{document:x,selectedUrl:e,onSelectUrl:t,itemsToExpandInitially:f,getDocumentSectionsByDocumentPageId:i,getDocumentPagesByDocumentId:s},x.id))})},Dt=({url:e,onUrlChange:t,buttonSize:n=r.ButtonSize.Medium,getAllDocuments:s,getDocumentPagesByDocumentId:i,getDocumentSectionsByDocumentPageId:o})=>{const{open:l,isOpen:u,close:c}=Tn.useOverlayTriggerState({}),[f,h]=g.useState(e),d=p=>{h(p)},x=p=>{p.key==="Enter"&&y()};g.useEffect(()=>{e&&!f&&h(e)},[e,f]);const y=()=>{t==null||t(f),c()};return a.jsxs("div",{onPointerDown:p=>p.preventDefault(),"data-test-id":"internal-link-selector",onKeyDown:x,children:[a.jsx(r.Button,{icon:a.jsx(r.IconLink,{}),size:n,type:r.ButtonType.Button,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,onClick:()=>l(),children:"Internal link"}),a.jsxs(r.Modal,{zIndex:1001,onClose:()=>c(),isOpen:u,isDismissable:!0,children:[a.jsx(r.Modal.Header,{title:"Select internal link"}),a.jsx(r.Modal.Body,{children:a.jsx(yr,{selectedUrl:f,onSelectUrl:d,getAllDocuments:s,getDocumentPagesByDocumentId:i,getDocumentSectionsByDocumentPageId:o})}),a.jsx(r.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>c(),style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default},{children:"Choose",onClick:p=>{p==null||p.preventDefault(),y()},style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Strong,disabled:!f}]})]})]})},Ot=({onUrlChange:e,onToggleTab:t,isValidUrlOrEmpty:n,appBridge:s,clearable:i,placeholder:o,newTab:l,openInNewTab:u,url:c="",required:f,info:h,label:d,buttonSize:x,hideInternalLinkButton:y})=>{const p=n?n(c):ee(c),v=l??(u?r.CheckboxState.Checked:r.CheckboxState.Unchecked);return a.jsxs("div",{"data-test-id":"link-input",children:[a.jsx(r.FormControl,{label:{children:d,htmlFor:"url",required:f,tooltip:h?{content:h,position:r.TooltipPosition.Top}:void 0},children:a.jsx(r.TextInput,{id:"url",value:c,clearable:i,onChange:e,placeholder:o??"https://example.com",focusOnMount:!0})}),!p&&a.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!y&&a.jsx("div",{className:"tw-mt-3",children:a.jsx(Dt,{url:c,onUrlChange:e,buttonSize:x??r.ButtonSize.Medium,getAllDocuments:()=>s.getAllDocuments(),getDocumentPagesByDocumentId:k=>s.getDocumentPagesByDocumentId(k),getDocumentSectionsByDocumentPageId:k=>s.getDocumentSectionsByDocumentPageId(k)})}),a.jsx("div",{className:"tw-mt-3",children:a.jsx(r.Checkbox,{value:"new-tab",label:"Open in new tab",state:v,onChange:t})})]})},Ut=({state:e,onTextChange:t,onUrlChange:n,onToggleTab:s,onCancel:i,onSave:o,isValidUrlOrEmpty:l,hasValues:u,testId:c,appBridge:f,children:h})=>a.jsxs(r.FloatingModalWrapper,{"data-test-id":c,padding:"28px",minWidth:"400px",children:[a.jsx(r.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:a.jsx(r.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:t})}),h,a.jsx("div",{className:"tw-mt-5",children:a.jsx(Ot,{url:e.url,newTab:e.newTab,onUrlChange:n,onToggleTab:s,isValidUrlOrEmpty:l,appBridge:f})}),a.jsx("div",{className:"tw-mt-3",children:a.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[a.jsx(r.Button,{onClick:i,size:r.ButtonSize.Medium,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,children:"Cancel"}),a.jsx(r.Button,{onClick:o,size:r.ButtonSize.Medium,icon:a.jsx(r.IconCheckMark20,{}),disabled:!l(e==null?void 0:e.url)||!u,children:"Save"})]})})]}),de="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 j={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)"},[de]:{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},vr=e=>{var n;const t=r.getAboveNode(e,{match:{type:C}});return Array.isArray(t)&&((n=t[0])==null?void 0:n.buttonStyle)||"primary"},Cr={url:"",text:"",buttonStyle:"primary",newTab:r.CheckboxState.Unchecked},Sr=()=>{const[e,t]=g.useReducer((n,s)=>{const{type:i,payload:o}=s;switch(i){case"NEW_TAB":return{...n,newTab:r.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:r.CheckboxState.Unchecked};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...o};default:return n}},Cr);return[e,t]},kr=()=>{const e=r.useEditorRef(),[t,n]=Sr();g.useEffect(()=>{const d=vr(e);n({type:"INIT",payload:{text:N.text(),buttonStyle:d,newTab:N.newTab()?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:N.url()}})},[n,e]);const s=d=>{n({type:"TEXT",payload:{text:d}})},i=d=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:d}})},o=d=>{n({type:"URL",payload:{url:d}})},l=d=>{n(d?{type:"NEW_TAB"}:{type:"SAME_TAB"})},u=()=>{I.reset()},c=d=>{if(!ee(t.url)||!f)return;const x=fe(t.url);I.text(t.text),I.url(x),I.buttonStyle(t.buttonStyle),I.newTab(t.newTab===r.CheckboxState.Checked),De(e)&&(d==null||d.preventDefault())},f=t.url!==""&&t.text!=="",{appBridge:h}=r.getPluginOptions(e,C);return r.useHotkeys("enter",c,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:s,onButtonStyleChange:i,onUrlChange:o,onToggleTab:l,onCancel:u,onSave:c,hasValues:f,isValidUrlOrEmpty:ee,appBridge:h}},Tr=()=>{const e=kr(),{state:t,onButtonStyleChange:n}=e;return a.jsx(Ut,{...e,testId:"floating-button-insert",children:a.jsx("div",{className:"tw-pt-5",children:a.jsxs(r.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[a.jsx(ve,{id:"primary",styles:j.buttonPrimary,isActive:t.buttonStyle==="primary",onClick:()=>n("primary"),children:t.text||"Primary Button"}),a.jsx(ve,{id:"secondary",styles:j.buttonSecondary,isActive:t.buttonStyle==="secondary",onClick:()=>n("secondary"),children:t.text||"Secondary Button"}),a.jsx(ve,{id:"tertiary",styles:j.buttonTertiary,isActive:t.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:t.text||"Tertiary Button"})]})})})},ve=({id:e,styles:t,isActive:n,onClick:s,children:i})=>{const[o,l]=g.useState(!1),u=()=>t&&t.hover&&o?{...t,...t.hover}:t;return a.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onClick:s,style:{...u(),marginTop:0,marginBottom:0},className:n?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:i})},Ze={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Pr=()=>{const{ref:e,...t}=Br(Ze),{ref:n,...s}=Ir(Ze),i=r.useEditorRef(),o=ae(),l=o.isOpen(i.id),u=o.isEditing(),c=o.mode(),f=a.jsx(Tr,{}),h=u?f:a.jsx(fr,{});return a.jsxs(a.Fragment,{children:[l&&c==="insert"&&a.jsx("div",{ref:e,...t,children:f}),l&&c==="edit"&&a.jsx("div",{ref:n,...s,children:h})]})},C="button",_t="button-plugin",Ht=e=>r.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:It,renderAfterEditable:Pr,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:s=>({type:n,url:s.getAttribute("href"),target:s.getAttribute("target")||"_blank"})}})})();class Vt extends r.Plugin{constructor({styles:n=we,...s}){super(_t,{button:hr,markupElement:new mr,...s});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=s==null?void 0:s.appBridge}plugins(){return[Ht(this.appBridge)]}}const Ir=e=>{const t=r.useEditorRef(),n=ae().mode(),s=ae().isOpen(t.id),i=r.useEditorVersion(),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(t,C),l=g.useCallback(()=>{const d=r.getAboveNode(t,{match:{type:r.getPluginType(t,C)}});if(d){const[,x]=d;return r.getRangeBoundingClientRect(t,{anchor:r.getStartPoint(t,x),focus:r.getEndPoint(t,x)})}return r.getDefaultBoundingClientRect()},[t]),u=s&&n==="edit",{update:c,style:f,floating:h}=$t({open:u,getBoundingClientRect:l,...e});return g.useEffect(()=>{const d=Nt(t);if(d&&I.url(d),t.selection&&r.someNode(t,{match:{type:r.getPluginType(t,C)}})){I.show("edit",t.id),c();return}N.mode()==="edit"&&I.reset()},[t,i,c]),r.useHotkeys(o,d=>{d.preventDefault(),N.mode()==="edit"&&pe(t)},{enableOnContentEditable:!0},[]),Er(),zt(),{style:{...f,zIndex:1e3},ref:r.useComposedRef(h)}},Er=()=>{const e=r.useEditorRef();r.useHotkeys("*",t=>{t.key==="Enter"&&De(e)&&t.preventDefault()},{enableOnFormTags:["INPUT"]},[])},zt=()=>{const e=r.useEditorRef();r.useHotkeys("escape",()=>{if(N.mode()==="edit"){if(N.isEditing()){I.show("edit",e.id),r.focusEditor(e,e.selection??void 0);return}I.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},Br=e=>{const t=r.useEditorRef(),n=r.useFocused(),s=ae().mode(),i=ae().isOpen(t.id),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(t,C);r.useHotkeys(o,f=>{f.preventDefault(),Ue(t,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:l,style:u,floating:c}=$t({open:i&&s==="insert",getBoundingClientRect:r.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return g.useEffect(()=>{i&&l(),I.updated(i)},[i,l]),zt(),{style:{...u,zIndex:1e3},ref:r.useComposedRef(c)}},jr=12,Nr=-22,Lr=96,$t=e=>r.useVirtualFloating({placement:"bottom-start",middleware:[r.offset({mainAxis:jr,alignmentAxis:Nr}),r.flip({padding:Lr})],...e}),Wt=g.memo(({id:e="rte",isEnabled:t,value:n,columns:s,gap:i,placeholder:o,plugins:l,onTextChange:u,showSerializedText:c})=>{const[f,h]=g.useState(!1),d=g.useCallback(p=>{p!==n&&(u==null||u(p)),h(!1)},[u,n]),x=g.useCallback(()=>h(!0),[]),y=g.useCallback(p=>{N.isOpen(p)&&I.reset()},[]);return g.useEffect(()=>{const p=v=>{v.preventDefault(),v.returnValue="Unprocessed changes"};return f&&window.addEventListener("beforeunload",p),()=>window.removeEventListener("beforeunload",p)},[f]),t?a.jsx(r.RichTextEditor,{id:e,value:n,border:!1,placeholder:o,plugins:l,onValueChanged:x,onTextChange:d,hideExternalFloatingModals:y}):a.jsx(Jn,{value:n,columns:s,gap:i,show:c,plugins:l})});Wt.displayName="InternalRichTextEditor";const Ar=e=>{const t=g.useRef(null),[n,s]=g.useState(!1),{isEditing:i,...o}=e,l=g.useCallback(u=>{u&&s(!0)},[]);return Yn({ref:t,disabled:!i,onChange:l}),g.useEffect(()=>{i||s(!1)},[i]),a.jsx("div",{className:"tw-block tw-w-full",ref:t,children:a.jsx(Wt,{...o,isEnabled:i&&n})})},Rr=({editButtonProps:e,unlinkButtonProps:t})=>{const{element:n}=r.useLinkOpenButtonState(),s=n?Me(n):"";return a.jsx(r.FloatingModalWrapper,{"data-test-id":"floating-link-edit",padding:"16px",minWidth:"400px",children:a.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[a.jsx("span",{className:"tw-pointer-events-none",children:s}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("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",...e,children:a.jsx(r.IconPen16,{})}),a.jsx("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",...t,children:a.jsx(r.IconTrashBin16,{})})]})]})})},qt=(e,t)=>{const n=r.getAboveNode(e,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},Mr=e=>qt(e,t=>{var n,s;return((s=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:s.link)||""}),Fr=e=>qt(e,t=>t.url||""),Dr={url:"",text:"",newTab:r.CheckboxState.Unchecked},Or=()=>{const[e,t]=g.useReducer((n,s)=>{const{type:i,payload:o}=s;switch(i){case"NEW_TAB":return{...n,newTab:r.CheckboxState.Checked};case"SAME_TAB":return{...n,newTab:r.CheckboxState.Unchecked};case"URL":case"TEXT":case"INIT":return{...n,...o};default:return n}},Dr);return[e,t]},Ur=()=>{const e=r.useEditorRef(),[t,n]=Or();g.useEffect(()=>{const h=Mr(e),d=Fr(e),x=r.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:r.floatingLinkSelectors.text(),newTab:x?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:h&&d===""?h:r.floatingLinkSelectors.url()}})},[n,e]);const s=h=>{n({type:"TEXT",payload:{text:h}})},i=h=>{n({type:"URL",payload:{url:h}})},o=h=>{n(h?{type:"NEW_TAB"}:{type:"SAME_TAB"})},l=()=>{r.floatingLinkActions.reset()},u=h=>{!ee(t.url)||!c||(r.floatingLinkActions.text(t.text),r.floatingLinkActions.url(fe(t.url)),r.floatingLinkActions.newTab(t.newTab===r.CheckboxState.Checked),r.submitFloatingLink(e)&&(h==null||h.preventDefault()))},c=t.url!==""&&t.text!=="",{appBridge:f}=r.getPluginOptions(e,r.ELEMENT_LINK);return r.useHotkeys("enter",u,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:s,onUrlChange:i,onToggleTab:o,onCancel:l,onSave:u,hasValues:c,isValidUrlOrEmpty:ee,appBridge:f}},_r=()=>a.jsx(Ut,{...Ur(),testId:"floating-link-insert"}),et={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Hr=()=>{const e=r.useFloatingLinkInsertState({floatingOptions:et}),{props:t,ref:n,hidden:s}=r.useFloatingLinkInsert(e),i=r.useFloatingLinkEditState({floatingOptions:et}),{props:o,ref:l,editButtonProps:u,unlinkButtonProps:c}=r.useFloatingLinkEdit(i);if(s)return null;const f=a.jsx(_r,{}),h=i.isEditing?f:a.jsx(Rr,{editButtonProps:u,unlinkButtonProps:c});return a.jsxs(a.Fragment,{children:[e.isOpen&&!i.isOpen&&a.jsx("div",{ref:n,...t,style:{...t.style,zIndex:1e3},children:f}),i.isOpen&&a.jsx("div",{ref:l,...o,style:{...o.style,zIndex:1e3},children:h})]})},Gt=g.forwardRef((e,t)=>{const n=r.useEditorRef(),s=r.useLinkToolbarButtonState(),{props:i}=r.useLinkToolbarButton(s);return a.jsx(r.ToolbarButton,{onMouseDown:o=>{o.preventDefault(),r.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:t,...i,...e,children:a.jsx(r.IconStylingWrapper,{icon:a.jsx(r.IconLink16,{})})})});Gt.displayName="LinkToolbarButton";const Vr=({id:e,editorId:t})=>{const n=r.useEditorState(r.useEventPlateId(t)),s=!!r.isRangeInSameBlock(n,{at:n.selection});return a.jsx("div",{"data-plugin-id":e,children:a.jsx(Gt,{disabled:!s,tooltip:r.getTooltip(s?`Link
3
+ ${r.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},zr=e=>{var l,u;const{attributes:t,children:n}=e,{styles:s}=r.useRichTextEditorContext(),i=e.element.url||((u=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:u.link)||"",o=e.element.target||"_self";return a.jsx("a",{...t,href:i,target:o,style:s[de],children:n})};class $r extends r.MarkupElement{constructor(t=r.ELEMENT_LINK,n=zr){super(t,n)}}const Kt=e=>r.createPluginFactory({...r.createLinkPlugin(),renderAfterEditable:Hr,options:{isUrl:xe,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:e}})();class Xt extends r.Plugin{constructor({styles:n=j[de],...s}){super(de,{button:Vr,markupElement:new $r,...s});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=s.appBridge}plugins(){return[Kt(this.appBridge)]}}const Wr="textstyle-custom1-plugin";class Qt extends r.Plugin{constructor({styles:n=j.custom1,...s}={}){super(w.custom1,{label:"Custom 1",markupElement:new qr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Gr(this.styles)]}}class qr extends r.MarkupElement{constructor(t=Wr,n=Yt){super(t,n)}}const Yt=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,style:s,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),children:n})},Gr=e=>r.createPluginFactory({key:w.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom1}]}})({component:t=>a.jsx(Yt,{...t,styles:e})}),Kr="textstyle-custom2-plugin";class Jt extends r.Plugin{constructor({styles:n=j.custom2,...s}={}){super(w.custom2,{label:"Custom 2",markupElement:new Xr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Qr(this.styles)]}}class Xr extends r.MarkupElement{constructor(t=Kr,n=Zt){super(t,n)}}const Zt=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},Qr=e=>r.createPluginFactory({key:w.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:w.custom2}]}})({component:t=>a.jsx(Zt,{...t,styles:e})}),Yr="textstyle-custom3-plugin";class en extends r.Plugin{constructor({styles:n=j.custom3,...s}={}){super(r.TextStyles.custom3,{label:"Custom 3",markupElement:new Jr,...s});B(this,"styles",{});this.styles=n}plugins(){return[Zr(this.styles)]}}class Jr extends r.MarkupElement{constructor(t=Yr,n=tn){super(t,n)}}const tn=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},Zr=e=>r.createPluginFactory({key:r.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:r.TextStyles.custom3}]}})({component:t=>a.jsx(tn,{...t,styles:e})}),es="textstyle-heading1-plugin";class nn extends r.Plugin{constructor({styles:n=j.heading1,...s}={}){super(w.heading1,{label:"Heading 1",markupElement:new ts,...s});B(this,"styles",{});this.styles=n}plugins(){return[ns(this.styles)]}}class ts extends r.MarkupElement{constructor(t=es,n=Ce){super(t,n)}}const Ce=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h1",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ns=e=>r.createPluginFactory({key:w.heading1,isElement:!0,component:Ce,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:t=>a.jsx(Ce,{...t,styles:e})}),rs="textstyle-heading2-plugin";class rn extends r.Plugin{constructor({styles:n=j.heading2,...s}={}){super(w.heading2,{label:"Heading 2",markupElement:new ss,...s});B(this,"styles",{});this.styles=n}plugins(){return[as(this.styles)]}}class ss extends r.MarkupElement{constructor(t=rs,n=Se){super(t,n)}}const Se=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h2",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},as=e=>r.createPluginFactory({key:w.heading2,isElement:!0,component:Se,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:t=>a.jsx(Se,{...t,styles:e})}),is="textstyle-heading3-plugin";class sn extends r.Plugin{constructor({styles:n=j.heading3,...s}={}){super(w.heading3,{label:"Heading 3",markupElement:new os,...s});B(this,"styles",{});this.styles=n}plugins(){return[ls(this.styles)]}}class os extends r.MarkupElement{constructor(t=is,n=ke){super(t,n)}}const ke=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h3",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ls=e=>r.createPluginFactory({key:w.heading3,isElement:!0,component:ke,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:t=>a.jsx(ke,{...t,styles:e})}),cs="textstyle-heading4-plugin";class an extends r.Plugin{constructor({styles:n=j.heading4,...s}={}){super(w.heading4,{label:"Heading 4",markupElement:new us,...s});B(this,"styles",{});this.styles=n}plugins(){return[ds(this.styles)]}}class us extends r.MarkupElement{constructor(t=cs,n=Te){super(t,n)}}const Te=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("h4",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ds=e=>r.createPluginFactory({key:w.heading4,isElement:!0,component:Te,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:t=>a.jsx(Te,{...t,styles:e})}),gs="textstyle-imageCaption-plugin";class on extends r.Plugin{constructor({styles:n=j.imageCaption,...s}={}){super(w.imageCaption,{label:"Image Caption",markupElement:new ms,...s});B(this,"styles",{});this.styles=n}plugins(){return[hs(this.styles)]}}class ms extends r.MarkupElement{constructor(t=gs,n=Pe){super(t,n)}}const Pe=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},hs=e=>r.createPluginFactory({key:w.imageCaption,isElement:!0,component:Pe,deserializeHtml:{rules:[{validClassName:w.imageCaption}]}})({component:t=>a.jsx(Pe,{...t,styles:e})}),fs="textstyle-imageTitle-plugin";class ln extends r.Plugin{constructor({styles:n=j.imageTitle,...s}={}){super(w.imageTitle,{label:"Image Title",markupElement:new xs,...s});B(this,"styles",{});this.styles=n}plugins(){return[ps(this.styles)]}}class xs extends r.MarkupElement{constructor(t=fs,n=Ie){super(t,n)}}const Ie=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("p",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},ps=e=>r.createPluginFactory({key:w.imageTitle,isElement:!0,component:Ie,deserializeHtml:{rules:[{validClassName:w.imageTitle}]}})({component:t=>a.jsx(Ie,{...t,styles:e})});class cn extends r.Plugin{constructor({styles:n=j.p,...s}={}){super(w.p,{markupElement:new dn,label:"Body Text",...s});B(this,"styles",{});this.styles=n}plugins(){return[gn(this.styles)]}}const un="tw-m-0 tw-px-0 tw-py-0",ge=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align,o=r.merge([i&&r.alignmentClassnames[i],un,r.getColumnBreakClasses(e)]);return a.jsx("p",{...t,className:o,style:s,children:n})};class dn extends r.MarkupElement{constructor(t=w.p,n=ge){super(t,n)}}const gn=e=>r.createPluginFactory({...r.createParagraphPlugin(),key:w.p,isElement:!0,component:ge})({component:t=>a.jsx(ge,{...t,styles:e})}),ws="textstyle-quote-plugin";class mn extends r.Plugin{constructor({styles:n=j.quote,...s}={}){super(w.quote,{label:"Quote",markupElement:new bs,...s});B(this,"styles",{});this.styles=n}plugins(){return[hn(this.styles)]}}class bs extends r.MarkupElement{constructor(t=ws,n=me){super(t,n)}}const me=({element:e,attributes:t,children:n,styles:s})=>{const i=e.align;return a.jsx("blockquote",{...t,className:r.merge([i&&r.alignmentClassnames[i],r.getColumnBreakClasses(e)]),style:s,children:n})},hn=e=>r.createPluginFactory({key:w.quote,isElement:!0,component:me,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:t=>a.jsx(me,{...t,styles:e})}),_e=[new nn,new rn,new sn,new an,new Qt,new Jt,new en,new mn,new cn],Z=[w.heading1,w.heading2,w.heading3,w.heading4,w.custom1,w.custom2,w.custom3,w.quote,w.p],ys=[..._e,new on,new ln],vs=[...Z,w.imageCaption,w.imageTitle],Cs=e=>new r.PluginComposer().setPlugin(new r.SoftBreakPlugin,new r.TextStylePlugin({textStyles:_e})).setPlugin([new r.BoldPlugin,new r.ItalicPlugin,new r.UnderlinePlugin,new r.StrikethroughPlugin,new Xt({appBridge:e}),new Vt({appBridge:e}),new r.CodePlugin],[new r.AlignLeftPlugin({validTypes:Z}),new r.AlignCenterPlugin({validTypes:Z}),new r.AlignRightPlugin({validTypes:Z}),new r.AlignJustifyPlugin({validTypes:Z}),new r.UnorderedListPlugin,new r.CheckboxListPlugin,new r.OrderedListPlugin,new r.ResetFormattingPlugin,new r.AutoformatPlugin]),Ss="--f-theme-settings-",ks=e=>{const t=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",n=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",s=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||Fn,i=e!=null&&e.label?e.label:"Background",o=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:i,type:"switch",switchLabel:o,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,defaultValue:s,type:"colorInput"}]}},Ts=e=>{const t=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",n=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",s=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",i=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",o=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",l=(e==null?void 0:e.defaultColor)||nt,u=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:"Border",type:"switch",switchLabel:u,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:s,type:"dropdown",defaultValue:D.Solid,choices:[{value:D.Solid,label:D.Solid},{value:D.Dotted,label:D.Dotted},{value:D.Dashed,label:D.Dashed}]},{id:i,type:"input",defaultValue:Dn,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px",onChange:c=>m.appendUnit(c,i)},{id:o,type:"colorInput",defaultValue:l}]}],off:[]}},He=(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"}]}),Ps=e=>{const t=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",n=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",s=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",i=(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:o=>{var l;return e!=null&&e.dependentSettingId?!!((l=o.getBlock(e.dependentSettingId))!=null&&l.value):!0},onChange:o=>m.presetCustomValue(o,s,n,(e==null?void 0:e.radiusStyleMap)||q),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:o=>m.appendUnit(o,n)}],off:[He(s,i)]}},Is=e=>{const t=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",n=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",s=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",i=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",o=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",l=e!=null&&e.id?`extendedRadiusBottomLeft_${e.id}`:"extendedRadiusBottomLeft",u=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 f;return e!=null&&e.dependentSettingId?!!((f=c.getBlock(e.dependentSettingId))!=null&&f.value):!0},onChange:c=>{m.presetCustomValue(c,s,i,q),m.presetCustomValue(c,s,o,q),m.presetCustomValue(c,s,l,q),m.presetCustomValue(c,s,u,q)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:i,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,i)},{id:o,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,o)},{id:l,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,l)},{id:u,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:c=>m.appendUnit(c,u)}]}],off:[He(s,e==null?void 0:e.defaultValue)]}},Es=e=>{const t=e!=null&&e.id?e.id:"hasCustomSpacing",n=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",s=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",i=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",o=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:l=>m.presetCustomValue(l,s,i,st),show:l=>{var u;return((u=l.getBlock(n))==null?void 0:u.value)!=="1"},on:[{id:i,type:"input",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,i)}],off:[{id:s,type:"slider",defaultValue:o,choices:[{value:W.Auto,label:"Auto"},{value:W.S,label:"S"},{value:W.M,label:"M"},{value:W.L,label:"L"}]}]}},Ve=e=>({id:e,type:"segmentedControls",defaultValue:$.None,choices:[{value:$.None,label:"None"},{value:$.Small,label:"S"},{value:$.Medium,label:"M"},{value:$.Large,label:"L"}]}),Bs=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",s=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:i=>m.presetCustomValue(i,s,n,(e==null?void 0:e.marginStyleMap)||J),on:[{id:n,type:"input",placeholder:se,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:i=>m.appendUnit(i,n)}],off:[Ve(s)]}},js=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",s=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",i=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",o=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",l=e!=null&&e.id?`extendedMarginRight_${e==null?void 0:e.id}`:"extendedMarginRight",u=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,s,i,J),m.presetCustomValue(c,s,o,J),m.presetCustomValue(c,s,l,J),m.presetCustomValue(c,s,u,J)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:i,type:"input",label:"Top",placeholder:se,onChange:c=>m.appendUnit(c,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:se,onChange:c=>m.appendUnit(c,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:se,onChange:c=>m.appendUnit(c,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Bottom",placeholder:se,onChange:c=>m.appendUnit(c,u),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Ve(s)]}},ze=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"}]}),Ns=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",s=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:i=>m.presetCustomValue(i,s,n,(e==null?void 0:e.paddingStyleMap)||Y),on:[{id:n,type:"input",placeholder:re,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:i=>m.appendUnit(i,n)}],off:[ze(s)]}},Ls=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",s=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",i=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",o=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",l=e!=null&&e.id?`extendedPaddingRight_${e==null?void 0:e.id}`:"extendedPaddingRight",u=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,s,i,Y),m.presetCustomValue(c,s,o,Y),m.presetCustomValue(c,s,l,Y),m.presetCustomValue(c,s,u,Y)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:i,type:"input",label:"Top",placeholder:re,onChange:c=>m.appendUnit(c,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:re,onChange:c=>m.appendUnit(c,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:re,onChange:c=>m.appendUnit(c,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:u,type:"input",label:"Bottom",placeholder:re,onChange:c=>m.appendUnit(c,u),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[ze(s)]}},As=e=>{const t=$e(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var s;return((s=n.getBlock(t))==null?void 0:s.value)===K.Custom}}},$e=e=>e||"security",Rs=e=>[{id:$e(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 fn=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(fn||{});const Ms=e=>e,Fs=e=>e;exports.AllTextStylePlugins=ys;exports.AllTextStyles=vs;exports.Attachments=ft;exports.AttachmentsProvider=gt;exports.AttachmentsToolbarButton=pt;exports.BUTTON_PLUGIN=_t;exports.BlockButtonStyles=we;exports.BlockInjectButton=Pn;exports.BlockItemWrapper=kt;exports.BlockStyles=j;exports.BorderStyle=D;exports.ButtonPlugin=Vt;exports.Custom1Plugin=Qt;exports.Custom2Plugin=Jt;exports.Custom3Plugin=en;exports.DEFAULT_ATTACHMENTS_BUTTON_ID=xt;exports.DEFAULT_DRAGGING_TOOLTIP=bt;exports.DEFAULT_DRAG_TOOLTIP=wt;exports.DEFAULT_MENU_BUTTON_ID=Le;exports.DownloadButton=Qn;exports.DragHandleToolbarButton=yt;exports.DragPreviewContextProvider=it;exports.ELEMENT_BUTTON=C;exports.FlyoutToolbarButton=Ne;exports.GutterSpacing=W;exports.Heading1Plugin=nn;exports.Heading2Plugin=rn;exports.Heading3Plugin=sn;exports.Heading4Plugin=an;exports.ImageCaptionPlugin=on;exports.ImageTitlePlugin=ln;exports.LinkInput=Ot;exports.LinkPlugin=Xt;exports.LinkSelector=Dt;exports.Margin=$;exports.MenuToolbarButton=Ct;exports.MultiFlyoutContextProvider=lt;exports.PARAGRAPH_CLASSES=un;exports.Padding=z;exports.ParagraphMarkupElement=dn;exports.ParagraphMarkupElementNode=ge;exports.ParagraphPlugin=cn;exports.QuoteMarkupElementNode=me;exports.QuotePlugin=mn;exports.Radius=H;exports.RichTextEditor=Ar;exports.Sections=fn;exports.Security=K;exports.THEME_PREFIX=Ss;exports.TextStylePluginsWithoutImage=_e;exports.TextStyles=w;exports.TextStylesWithoutImage=Z;exports.Toolbar=St;exports.ToolbarFlyoutMenu=vt;exports.addHttps=fe;exports.borderStyleMap=rt;exports.convertToRteValue=Zn;exports.createButtonNode=Lt;exports.createButtonPlugin=Ht;exports.createLinkPlugin=Kt;exports.createParagraphPlugin=gn;exports.createQuotePlugin=hn;exports.customCoordinatesGetterFactory=ht;exports.defineBlock=Ms;exports.defineSettings=Fs;exports.getBackgroundColorStyles=Mn;exports.getBackgroundSettings=ks;exports.getBorderRadiusSettings=Ps;exports.getBorderRadiusSlider=He;exports.getBorderSettings=Ts;exports.getBorderStyles=On;exports.getDefaultPluginsWithLinkChooser=Cs;exports.getExtendedBorderRadiusSettings=Is;exports.getGutterSettings=Es;exports.getLegacyUrl=sr;exports.getLinkFromEditor=ir;exports.getMarginExtendedSettings=js;exports.getMarginSettings=Bs;exports.getMarginSlider=Ve;exports.getPaddingExtendedSettings=Ls;exports.getPaddingSettings=Ns;exports.getPaddingSlider=ze;exports.getRadiusStyles=Un;exports.getReadableColor=An;exports.getSecurityDownloadableSetting=As;exports.getSecurityGlobalControlId=$e;exports.getSecurityGlobalControlSetting=Rs;exports.getUrl=ar;exports.getUrlFromEditor=Nt;exports.getUrlFromLinkOrLegacyLink=Me;exports.gutterSpacingStyleMap=st;exports.hasRichTextValue=Tt;exports.insertButton=Et;exports.isDark=En;exports.isDownloadable=er;exports.isValidUrl=xe;exports.isValidUrlOrEmpty=ee;exports.joinClassNames=O;exports.mapAppBridgeColorPaletteToFonduePalette=Pt;exports.mapAppBridgeColorPalettesToFonduePalettes=tr;exports.marginStyleMap=J;exports.moveItemInArray=Rn;exports.paddingStyleMap=Y;exports.radiusStyleMap=q;exports.relativeUrlRegex=Fe;exports.setAlpha=Nn;exports.submitFloatingButton=De;exports.toColorObject=Ln;exports.toHex8String=Bn;exports.toHexString=jn;exports.toRgbaString=Ee;exports.toShortRgba=X;exports.triggerFloatingButton=At;exports.triggerFloatingButtonEdit=pe;exports.triggerFloatingButtonInsert=Ue;exports.unwrapButton=te;exports.upsertButton=Bt;exports.upsertButtonText=Oe;exports.useAttachments=ut;exports.useAttachmentsContext=mt;exports.useDndSensors=zn;exports.useDragPreviewContext=ie;exports.useMultiFlyoutContext=ct;exports.useMultiFlyoutState=he;exports.withAttachmentsProvider=_n;exports.withButton=It;exports.wrapButton=jt;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