@frontify/guideline-blocks-settings 0.33.5 → 0.34.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.
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +66 -58
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/SectionLink.es.js +3 -3
- package/dist/components/Link/LinkSelector/SectionLink.es.js.map +1 -1
- package/dist/components/Link/utils/getUrl.es.js +1 -1
- package/dist/components/Link/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +24 -37
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +21 -14
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js +19 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonToolbarButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js +23 -11
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/CustomFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js +21 -16
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/EditButtonModal/EditModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +12 -13
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +31 -32
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js +2 -2
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js +21 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +14 -15
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +7 -7
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +19 -20
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +26 -13
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +31 -39
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +40 -54
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js +12 -15
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +7 -22
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js +4 -5
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js +25 -0
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.es.js.map +1 -0
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +26 -26
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +13 -0
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -0
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +12 -13
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +12 -13
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +12 -13
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +9 -10
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +9 -10
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +9 -10
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +9 -10
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +12 -13
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +17 -18
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +16 -17
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +20 -21
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
- package/dist/index.cjs.js +3 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +30 -33
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.es.js +0 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.es.js +0 -20
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.es.js +0 -26
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.es.js +0 -20
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.es.js +0 -53
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.es.js +0 -29
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.es.js.map +0 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js +0 -40
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js.map +0 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(l,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@frontify/sidebar-settings"),require("react/jsx-runtime"),require("@frontify/fondue"),require("react"),require("@frontify/app-bridge"),require("@dnd-kit/core"),require("@dnd-kit/modifiers"),require("@dnd-kit/sortable"),require("@react-aria/focus"),require("@udecode/plate"),require("slate-react"),require("@react-stately/overlays"),require("slate"),require("@ctrl/tinycolor")):typeof define=="function"&&define.amd?define(["exports","@frontify/sidebar-settings","react/jsx-runtime","@frontify/fondue","react","@frontify/app-bridge","@dnd-kit/core","@dnd-kit/modifiers","@dnd-kit/sortable","@react-aria/focus","@udecode/plate","slate-react","@react-stately/overlays","slate","@ctrl/tinycolor"],h):(l=typeof globalThis<"u"?globalThis:l||self,h(l.GuidelineBlocksSettings={},l.sidebarSettings,l.jsxRuntime,l.fondue,l.React,l.appBridge,l.core,l.modifiers,l.sortable,l.focus,l.plate,l.slateReact,l.overlays,l.slate,l.tinycolor))})(this,function(l,h,a,o,y,q,T,wn,de,Xe,i,Qe,yn,bn,z){"use strict";var Ga=Object.defineProperty;var Ka=(l,h,a)=>h in l?Ga(l,h,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[h]=a;var A=(l,h,a)=>(Ka(l,typeof h!="symbol"?h+"":h,a),a);const H=e=>e.filter(Boolean).join(" "),vn=({onDrop:e,label:n,icon:t,secondaryLabel:r,isLoading:s,fillParentContainer:c,onAssetChooseClick:d,onUploadClick:g,withMenu:u=!0,onClick:b,validFileType:f,verticalLayout:m})=>{const[w,v]=y.useState(!1),[x,p]=y.useState(),E=y.useRef(null),[L,D]=y.useState(void 0),O=S=>{if(S.preventDefault(),v(!1),!_(S.dataTransfer.files)){D("Invalid"),setTimeout(()=>{D(void 0)},1e3);return}e==null||e(S.dataTransfer.files)},_=S=>{if(!f)return!0;for(let M=0;M<S.length;M++){const U=S[M].name.split(".").pop()??"";if(!q.FileExtensionSets[f].includes(U))return!1}return!0},$=S=>{if(!E.current||s)return;const{left:M,top:U}=E.current.getBoundingClientRect(),ke=S.clientX-M,pe=S.clientY-U;p([ke,pe])};return a.jsxs("button",{ref:E,"data-test-id":"block-inject-button",className:H(["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",m?"[&: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",c?"tw-h-full":"tw-h-[72px]",w&&!s?"tw-border-dashed":"tw-border-solid",x&&"tw-bg-blank-state-pressed-inverse",w&&"tw-bg-blank-state-weak-inverse",L?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",s||x||w||L?"":"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",(w||x)&&!L?"[&>*]: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 M;if(v(!0),f==="Images")for(const U of Array.from(S.dataTransfer.items))(M=U==null?void 0:U.type)!=null&&M.startsWith("image/")?D(void 0):D("Invalid")}:void 0,onDragLeave:e?()=>{v(!1),D(void 0)}:void 0,onDrop:e?O:void 0,onClick:S=>{u&&$(S),b==null||b()},children:[s?a.jsx(o.LoadingCircle,{}):L?a.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[a.jsx(o.IconExclamationMarkTriangle,{}),L]}):a.jsxs(a.Fragment,{children:[t&&a.jsx("div",{children:t}),(n||r)&&a.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[n&&a.jsx("div",{className:"tw-font-medium",children:n}),r&&a.jsx("div",{className:"tw-font-normal",children:r})]})]}),x&&a.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:x[0],top:x[1]},children:a.jsx(o.Flyout,{onOpenChange:S=>!S&&p(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:a.jsx("div",{}),children:a.jsx(o.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...g?[{id:"upload",size:o.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{g(),p(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(o.IconArrowCircleUp20,{})})}]:[],...d?[{id:"asset",size:o.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{d(),p(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(o.IconImageStack20,{})})}]:[]]}]})})})]})},G=e=>{const n=r=>typeof r=="object"&&["red","green","blue"].every(c=>r.hasOwnProperty(c)),t=r=>{const s=typeof r.alpha=="number"?r.alpha:1;return{r:r.red,g:r.green,b:r.blue,a:s}};return n(e)?t(e):e},Cn=e=>typeof e=="object"&&["red","green","blue"].every(t=>e==null?void 0:e.hasOwnProperty(t)),kn=(e,n)=>{const t=Cn(e)?G(e):e,r=new z.TinyColor(t);return n?r.getBrightness()<n:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},pn=e=>new z.TinyColor(G(e)).toHex8String(),xn=e=>new z.TinyColor(G(e)).toHexString(),xe=e=>new z.TinyColor(G(e)).toRgbString(),Pn=(e,n)=>new z.TinyColor(n).setAlpha(e).toRgbString(),Sn=e=>{const{r:n,g:t,b:r,a:s}=new z.TinyColor(e);return{red:n,green:t,blue:r,alpha:s}},Ye=e=>typeof e=="object"&&["red","green","blue"].every(t=>e==null?void 0:e.hasOwnProperty(t)),Tn=(e,n)=>{const t=Ye(e)?G(e):e,r=Ye(n)?G(n):n;let s=new z.TinyColor(t);const c=new z.TinyColor(r);for(;z.readability(s,c)<4.5;)s=s.darken(1);return s.toRgbString()},En=(e,n,t)=>{const r=[...e],s=t<0?r.length+t:t;if(s>=0&&s<r.length){const c=r.splice(n,1)[0];r.splice(s,0,c)}return r},In=e=>({backgroundColor:xe(e)});var V=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(V||{});const Je={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var W=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(W||{});const K={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var j=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(j||{});const Z={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var X=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(X||{});const R={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var Q=(e=>(e.Global="Global",e.Custom="Custom",e))(Q||{}),Y=(e=>(e.Auto="Auto",e.S="S",e.M="M",e.L="L",e))(Y||{});const Ze={Auto:"4px",S:"10px",M:"30px",L:"50px"},Bn={red:241,green:241,blue:241,alpha:1},Re={red:234,green:235,blue:235,alpha:1},Nn="1px",se="24px",oe="24px",Ln=(e=V.Solid,n="1px",t=Re)=>({borderStyle:Je[e],borderWidth:n,borderColor:xe(t)}),An=(e,n=!1,t)=>({borderRadius:n?t:K[e]}),et=y.createContext(!1),tt=({children:e,isDragPreview:n})=>a.jsx(et.Provider,{value:n,children:e}),ie=()=>y.useContext(et),nt=y.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")}),rt=({children:e,openFlyoutIds:n,setOpenFlyoutIds:t})=>{const r=y.useMemo(()=>({openFlyoutIds:n,setOpenFlyoutIds:t}),[n,t]);return a.jsx(nt.Provider,{value:r,children:e})},at=()=>y.useContext(nt),ue=e=>{const{openFlyoutIds:n,setOpenFlyoutIds:t}=at(),r=y.useCallback(s=>{t(c=>{const d=c.filter(g=>g!==e);return s?[...d,e]:d})},[e,t]);return{isOpen:n.includes(e),onOpenChange:r}},st=({children:e})=>a.jsx("div",{className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),ot=(e,n)=>{const{blockAssets:t,addAssetIdsToKey:r,deleteAssetIdsFromKey:s,updateAssetIdsFromKey:c}=q.useBlockAssets(e),d=(t==null?void 0:t[n])||[];return{onAttachmentsAdd:async m=>{await r(n,m.map(w=>w.id))},onAttachmentDelete:async m=>{await s(n,[m.id])},onAttachmentReplace:async(m,w)=>{const v=d.map(x=>x.id===m.id?w.id:x.id);await c(n,v)},onAttachmentsSorted:async m=>{const w=m.map(v=>v.id);await c(n,w)},attachments:d,appBridge:e}},it=y.createContext(null),lt=({appBridge:e,children:n,assetId:t})=>{const r=ot(e,t);return a.jsx(it.Provider,{value:r,children:n})},ct=()=>{const e=y.useContext(it);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},Fn=(e,n)=>{const t=r=>a.jsx(lt,{appBridge:r.appBridge,assetId:n,children:a.jsx(e,{...r})});return t.displayName="withAttachmentsProvider",t},Mn=[T.KeyboardCode.Down,T.KeyboardCode.Right,T.KeyboardCode.Up,T.KeyboardCode.Left],dt=(e,n)=>(t,{currentCoordinates:r,context:{activeNode:s}})=>{if(t.preventDefault(),Mn.includes(t.code)){const c=(s==null?void 0:s.offsetWidth)??0,d=(s==null?void 0:s.offsetHeight)??0;switch(t.code){case T.KeyboardCode.Right:return{...r,x:r.x+c+e};case T.KeyboardCode.Left:return{...r,x:r.x-c-e};case T.KeyboardCode.Down:return{...r,y:r.y+d+n};case T.KeyboardCode.Up:return{...r,y:r.y-d-n}}}},Dn={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},On=(e=0,n=0)=>{const t=dt(e,n);return T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor,{coordinateGetter:t,keyboardCodes:Dn}))},Un=e=>e==="IMAGE"?a.jsx(o.IconImage24,{}):e==="VIDEO"?a.jsx(o.IconPlayFrame24,{}):e==="AUDIO"?a.jsx(o.IconMusicNote24,{}):a.jsx(o.IconDocument24,{}),Pe=y.forwardRef(({item:e,isEditing:n,draggableProps:t,transformStyle:r,isDragging:s,isOverlay:c,isLoading:d,onDelete:g,onReplaceWithBrowse:u,onReplaceWithUpload:b,onDownload:f},m)=>{const[w,v]=y.useState(),[x,{selectedFiles:p}]=q.useFileInput({multiple:!0,accept:"image/*"}),[E,{results:L,doneAll:D}]=q.useAssetUpload(),{focusProps:O,isFocusVisible:_}=Xe.useFocusRing();y.useEffect(()=>{p&&E(p[0])},[p]),y.useEffect(()=>{D&&b(L[0])},[D,L]);const $=d||p&&!D;return a.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>f==null?void 0:f(),ref:m,style:{...r,opacity:s&&!c?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:H(["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",s?"tw-bg-box-neutral-hover":""]),children:[a.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:$?a.jsx(o.LoadingCircle,{size:o.LoadingCircleSize.Small}):Un(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}`})]}),n&&a.jsxs("div",{"data-test-id":"attachments-actionbar",className:H(["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",c||(w==null?void 0:w.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:[a.jsx("button",{...O,...t,"aria-label":"Drag attachment",className:H([" 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 ",s||c?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",_&&o.FOCUS_STYLE,_&&"tw-z-[2]"]),children:a.jsx(o.IconGrabHandle20,{})}),a.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:a.jsx(o.Flyout,{placement:o.FlyoutPlacement.Right,isOpen:(w==null?void 0:w.id)===e.id,fitContent:!0,legacyFooter:!1,onOpenChange:S=>v(S?e:void 0),trigger:(S,M)=>a.jsx(o.Button,{ref:M,icon:a.jsx(o.IconPen20,{}),emphasis:o.ButtonEmphasis.Default,onClick:()=>v(e)}),children:a.jsx(o.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:o.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{x(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(o.IconArrowCircleUp20,{})})},{id:"asset",size:o.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{u(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(o.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:o.MenuItemContentSize.XSmall,title:"Delete",style:o.MenuItemStyle.Danger,onClick:()=>{g(),v(void 0)},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:a.jsx(o.IconTrashBin20,{})})}]}]})})})]})]})});Pe.displayName="AttachmentItem";const _n=e=>{const{attributes:n,listeners:t,setNodeRef:r,transform:s,transition:c,isDragging:d}=de.useSortable({id:e.item.id}),g={transform:s?`translate(${s.x}px, ${s.y}px)`:"",transition:c,zIndex:d?2:1},u={...n,...t};return a.jsx(Pe,{ref:r,isDragging:d,transformStyle:g,draggableProps:u,...e})},Hn=({children:e,isFlyoutOpen:n,triggerProps:t,triggerRef:r})=>a.jsxs("button",{className:H(["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",n?"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"]),...t,ref:r,"data-test-id":"attachments-button-trigger",children:[a.jsx(o.IconPaperclip16,{}),e,a.jsx(o.IconCaretDown12,{})]}),ut=({items:e=[],onDelete:n,onReplaceWithBrowse:t,onReplaceWithUpload:r,onBrowse:s,onUpload:c,onSorted:d,appBridge:g,triggerComponent:u=Hn,isOpen:b,onOpenChange:f})=>{const[m,w]=y.useState(e),[v,x]=y.useState(!1),p=T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor)),[E,L]=y.useState(void 0),[D,O]=y.useState(!1),[_,$]=y.useState([]),[S,M]=y.useState(null),U=q.useEditorState(g),{openAssetChooser:ke,closeAssetChooser:pe}=q.useAssetChooser(g),dn=b!==void 0,Ke=dn?b:v,ae=m==null?void 0:m.find(k=>k.id===E),[Ha,{results:un,doneAll:gn}]=q.useAssetUpload({onUploadProgress:()=>!D&&O(!0)}),ce=k=>{const B=dn?f:x;B==null||B(k)};y.useEffect(()=>{w(e)},[e]),y.useEffect(()=>{S&&(O(!0),Ha(S))},[S]),y.useEffect(()=>{(async()=>{gn&&(await c(un),O(!1))})()},[gn,un]);const Va=()=>{ce(!1),ke(k=>{s(k),pe(),ce(!0)},{multiSelection:!0,selectedValueIds:m.map(k=>k.id)})},hn=k=>{ce(!1),ke(async B=>{ce(!0),pe(),$([..._,k.id]),await t(k,B[0]),$(_.filter(J=>J!==k.id))},{multiSelection:!1,selectedValueIds:m.map(B=>B.id)})},mn=async(k,B)=>{$([..._,k.id]),await r(k,B),$(_.filter(J=>J!==k.id))},za=k=>{const{active:B}=k;L(B.id)},$a=k=>{const{active:B,over:J}=k;if(J&&B.id!==J.id&&m){const Wa=m.findIndex(je=>je.id===B.id),qa=m.findIndex(je=>je.id===J.id),fn=de.arrayMove(m,Wa,qa);w(fn),d(fn)}L(void 0)};return U||((m==null?void 0:m.length)??0)>0?a.jsx(o.LegacyTooltip,{withArrow:!0,position:o.TooltipPosition.Top,content:"Attachments",disabled:Ke,enterDelay:500,triggerElement:a.jsx("div",{"data-test-id":"attachments-flyout-button",children:a.jsx(o.Flyout,{placement:o.FlyoutPlacement.BottomRight,onOpenChange:k=>ce(ae?!0:k),isOpen:Ke,hug:!1,fitContent:!0,legacyFooter:!1,trigger:(k,B)=>a.jsx(u,{isFlyoutOpen:Ke,triggerProps:k,triggerRef:B,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:[m.length>0&&a.jsxs(T.DndContext,{sensors:p,collisionDetection:T.closestCenter,onDragStart:za,onDragEnd:$a,modifiers:[wn.restrictToWindowEdges],children:[a.jsx(de.SortableContext,{items:m,strategy:de.rectSortingStrategy,children:a.jsx("div",{className:"tw-border-b tw-border-b-line",children:m.map(k=>a.jsx(_n,{isEditing:U,isLoading:_.includes(k.id),item:k,onDelete:()=>n(k),onReplaceWithBrowse:()=>hn(k),onReplaceWithUpload:B=>mn(k,B),onDownload:()=>g.dispatch({name:"downloadAsset",payload:k})},k.id))})}),a.jsx(T.DragOverlay,{children:ae&&a.jsx(Pe,{isOverlay:!0,isEditing:U,item:ae,isDragging:!0,onDelete:()=>n(ae),onReplaceWithBrowse:()=>hn(ae),onReplaceWithUpload:k=>mn(ae,k)},E)})]}),U&&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(o.AssetInput,{isLoading:D,size:o.AssetInputSize.Small,onUploadClick:k=>M(k),onLibraryClick:Va})]})]})})})}):null},Vn=(e,n)=>{const t=[o.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 n?t.push("tw-bg-box-neutral-pressed","tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grabbing":"tw-cursor-pointer"):t.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"),H(t)},le=y.forwardRef(({onClick:e,children:n,forceActiveStyle:t,cursor:r="pointer","data-test-id":s="base-toolbar-button",...c},d)=>a.jsx("button",{onClick:e,className:Vn(r,t),"data-test-id":s,...c,ref:d,children:n}));le.displayName="BaseToolbarButton";const zn=({children:e,isFlyoutOpen:n,triggerProps:t,triggerRef:r})=>a.jsxs(le,{forceActiveStyle:n,"data-test-id":"attachments-toolbar-button-trigger",...t,ref:r,children:[a.jsx(o.IconPaperclip16,{}),e,a.jsx(o.IconCaretDown12,{})]}),gt="attachments",ht=({flyoutId:e=gt})=>{const n=o.useMemoizedId(e),{appBridge:t,attachments:r,onAttachmentsAdd:s,onAttachmentDelete:c,onAttachmentReplace:d,onAttachmentsSorted:g}=ct(),{isOpen:u,onOpenChange:b}=ue(n),f=ie();return a.jsx(ut,{onUpload:s,onDelete:c,onReplaceWithBrowse:d,onReplaceWithUpload:d,onSorted:g,onBrowse:s,items:r,appBridge:t,triggerComponent:zn,isOpen:u&&!f,onOpenChange:b})},Se=({open:e,content:n,children:t,disabled:r})=>a.jsx(o.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:e,disabled:r,position:o.TooltipPosition.Top,content:a.jsx("div",{children:n}),triggerElement:t,"data-test-id":"toolbar-button-tooltip"}),$n=({tooltip:e,icon:n,onClick:t})=>{const r=ie();return a.jsx(Se,{disabled:r,content:e??"",children:a.jsx(le,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:t,children:n})})},mt="Drag or press ↵ to move",ft="Move with ↑↓←→ and confirm with ↵",wt=({tooltip:e,icon:n,setActivatorNodeRef:t,draggableProps:r})=>{const s=ie();return a.jsx(Se,{open:s,content:a.jsx("div",{children:s?ft:e??mt}),children:a.jsx(le,{ref:t,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:s,cursor:"grab",...r,children:n})})},Te=({content:e,icon:n,tooltip:t,flyoutId:r,flyoutFooter:s,flyoutHeader:c})=>{const d=o.useMemoizedId(r),{isOpen:g,onOpenChange:u}=ue(d),b=ie();return a.jsx(Se,{disabled:b||g,content:t,children:a.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:a.jsx(o.Flyout,{isOpen:g&&!b,legacyFooter:!1,fixedFooter:s,fixedHeader:c,fitContent:!0,hug:!1,placement:o.FlyoutPlacement.BottomRight,onOpenChange:u,trigger:(f,m)=>a.jsx(le,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:g&&!b,...f,ref:m,children:n}),children:e})})})},yt=({items:e,flyoutId:n})=>{const{onOpenChange:t}=ue(n);return a.jsx(o.ActionMenu,{menuBlocks:e.map((r,s)=>({id:s.toString(),menuItems:r.map((c,d)=>({id:s.toString()+d.toString(),size:o.MenuItemContentSize.XSmall,title:c.title,style:c.style,onClick:()=>{t(!1),c.onClick()},initialValue:!0,decorator:a.jsx("div",{className:"tw-mr-2",children:c.icon})}))}))})},Ee="menu",bt=({items:e,flyoutId:n=Ee,tooltip:t="Options"})=>{const r=o.useMemoizedId(n);return a.jsx(Te,{icon:a.jsx(o.IconDotsHorizontal16,{}),tooltip:t,flyoutId:r,content:a.jsx(yt,{items:e,flyoutId:r})})},vt=({items:e,attachments:n})=>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:[n.isEnabled&&a.jsx(st,{children:a.jsx(ht,{})}),a.jsx(st,{children:e.map(t=>t.type==="dragHandle"?a.jsx(wt,{...t},t.tooltip+t.type):t.type==="menu"?a.jsx(bt,{...t},t.tooltip+t.type):t.type==="flyout"?a.jsx(Te,{...t},t.tooltip+t.type):a.jsx($n,{...t},t.tooltip+t.type))})]}),Wn=({children:e,toolbarItems:n,shouldHideWrapper:t,shouldHideComponent:r=!1,isDragging:s=!1,shouldFillContainer:c,outlineOffset:d=2,shouldBeShown:g=!1,showAttachments:u=!1})=>{const[b,f]=y.useState(g?[Ee]:[]),m=y.useRef(null);if(t)return a.jsx(a.Fragment,{children:e});const w=n==null?void 0:n.filter(x=>x!==void 0),v=b.length>0||g;return a.jsx(tt,{isDragPreview:s,children:a.jsx(rt,{openFlyoutIds:b,setOpenFlyoutIds:f,children:a.jsxs("div",{ref:m,"data-test-id":"block-item-wrapper",style:{outlineOffset:d},className:H(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",c&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",v&&"tw-outline",r&&"tw-opacity-0"]),children:[a.jsx("div",{style:{right:-1-d,bottom:`calc(100% - ${2+d}px)`},className:H(["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",v&&"tw-opacity-100"]),children:a.jsx(vt,{attachments:{isEnabled:u},items:w})}),e]})})})},qn=({onDownload:e})=>{const{isFocused:n,focusProps:t}=Xe.useFocusRing();return a.jsx(o.LegacyTooltip,{withArrow:!0,position:o.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:a.jsx("button",{tabIndex:0,"aria-label":"Download",...t,className:H(["tw-outline-none tw-rounded",n&&o.FOCUS_STYLE]),onClick:e,onPointerDown:r=>r.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(o.IconArrowCircleDown16,{})})})})},Gn=({value:e="",gap:n,columns:t,show:r=!0,plugins:s})=>{const[c,d]=y.useState(null);return y.useEffect(()=>{(async()=>d(await o.serializeRawToHtmlAsync(e,s,t,n)))()},[e,t,n,s]),!r||c==="<br />"?null:c!==null?a.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:c}}):a.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},Ct=e=>{if(!e)return!1;const n=t=>t.some(r=>r.text?r.text!=="":r.children?n(r.children):!1);try{const t=JSON.parse(e);return n(t)}catch{return!1}},Kn=(e="p",n="",t)=>Ct(n)?n:JSON.stringify([{type:e,children:[{text:n,textStyle:e}],align:t}]),jn=(e,n,t)=>e===Q.Custom?n:t,Xn=e=>e.map(kt),kt=e=>({id:e.id,title:e.name,colors:e.colors.map(Yn)}),Qn=e=>"revision"in e,Yn=e=>{if(Qn(e)){const{title:n,revision:t}=e;return{alpha:t.rgba.alpha?t.rgba.alpha/255:1,red:t.rgba.red??0,green:t.rgba.green??0,blue:t.rgba.blue??0,name:n??""}}return{alpha:e.alpha?e.alpha/255:1,red:e.red??0,green:e.green??0,blue:e.blue??0,name:e.name??""}},Ie=(e,n)=>{const t=i.getAboveNode(e,{match:{type:i.ELEMENT_LINK}});return Array.isArray(t)?n(t[0]):""},pt=e=>Ie(e,n=>{var t,r;return((r=(t=n.chosenLink)==null?void 0:t.searchResult)==null?void 0:r.link)||""}),xt=e=>Ie(e,n=>n.url||""),Pt=e=>{var n,t;return e.url||((t=(n=e.chosenLink)==null?void 0:n.searchResult)==null?void 0:t.link)||""},St=e=>Ie(e,Pt),Be=/^\/(document|r)\/\S+$/i,ge=e=>{if(Be.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},he=e=>{if(Be.test(e))return!0;try{const n=new URL(e);return["http:","https:","mailto:","tel:"].includes(n.protocol)&&n.pathname!==""}catch{return!1}},ee=e=>he(ge(e))||e==="",Tt=(e,{type:n})=>{const{apply:t,normalizeNode:r}=e;return e.apply=s=>{if(s.type!=="set_selection"){t(s);return}const c=s.newProperties;if(!(c!=null&&c.focus)||!c.anchor||!i.isCollapsed(c)){t(s);return}const d=i.getAboveNode(e,{at:c,match:{type:i.getPluginType(e,P)}});if(d){const[,g]=d;let u;i.isStartPoint(e,c.focus,g)&&(u=i.getPreviousNodeEndPoint(e,g)),i.isEndPoint(e,c.focus,g)&&(u=i.getNextNodeStartPoint(e,g)),u&&(s.newProperties={anchor:u,focus:u})}t(s)},e.normalizeNode=([s,c])=>{if(s.type===i.getPluginType(e,P)){const d=e.selection;if(d&&i.isCollapsed(d)&&i.isEndPoint(e,d.focus,c)){const g=i.getNextNodeStartPoint(e,c);if(g)i.select(e,g);else{const u=bn.Path.next(c);i.insertNodes(e,{text:""},{at:u}),i.select(e,u)}}}r([s,c])},i.withRemoveEmptyNodes(e,i.mockPlugin({options:{types:n}}))},Et=(e,n,t)=>{i.insertNodes(e,[Lt(e,n)],t)},Ne=i.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:(n,t)=>{e.mode(n),e.isEditing(!1),e.openEditorId(t)},hide:()=>{e.reset(),e.openEditorId(null)}})).extendSelectors(e=>({isOpen:n=>e.openEditorId===n})),I=Ne.set,F=Ne.get,te=()=>Ne.use,Le=e=>{if(!e.selection)return;const{isUrl:n,forceSubmit:t}=i.getPluginOptions(e,P),r=F.url();if(!((n==null?void 0:n(r))||t))return;const c=F.text(),d=F.buttonStyle(),g=F.newTab()?void 0:"_self";return I.hide(),It(e,{url:r,text:c,buttonStyle:d,target:g,isUrl:u=>t||!n?!0:n(u)}),setTimeout(()=>{i.focusEditor(e,e.selection??void 0)},0),!0},ne=(e,n)=>i.withoutNormalizing(e,()=>{var t,r,s,c,d,g;if(n!=null&&n.split){if(i.getAboveNode(e,{at:(t=e.selection)==null?void 0:t.anchor,match:{type:i.getPluginType(e,P)}}))return i.splitNodes(e,{at:(r=e.selection)==null?void 0:r.anchor,match:f=>i.isElement(f)&&f.type===i.getPluginType(e,P)}),ne(e,{at:(s=e.selection)==null?void 0:s.anchor}),!0;if(i.getAboveNode(e,{at:(c=e.selection)==null?void 0:c.focus,match:{type:i.getPluginType(e,P)}}))return i.splitNodes(e,{at:(d=e.selection)==null?void 0:d.focus,match:f=>i.isElement(f)&&f.type===i.getPluginType(e,P)}),ne(e,{at:(g=e.selection)==null?void 0:g.focus}),!0}i.unwrapNodes(e,{match:{type:i.getPluginType(e,P)},...n})}),It=(e,{url:n,text:t,buttonStyle:r,target:s,insertTextInButton:c,insertNodesOptions:d,isUrl:g=i.getPluginOptions(e,P).isUrl})=>{var L;const u=e.selection;if(!u)return;const b=i.getAboveNode(e,{at:u,match:{type:i.getPluginType(e,P)}});if(c&&b)return e.insertText(n),!0;if(!(g!=null&&g(n)))return;if(i.isDefined(t)&&t.length===0&&(t=n),b)return Rn(n,e,b,s,r,t),!0;const f=i.findNode(e,{at:u,match:{type:i.getPluginType(e,P)}}),[m,w]=f??[],v=Jn(e,w,t);if(i.isExpanded(u))return Zn(b,e,n,r,s,t),!0;v&&i.removeNodes(e,{at:w});const x=i.getNodeProps(m??{}),p=(L=e.selection)==null?void 0:L.focus.path;if(!p)return;const E=i.getNodeLeaf(e,p);return t!=null&&t.length||(t=n),Et(e,{...x,url:n,target:s,children:[{...E,text:t}]},d),!0};function Jn(e,n,t){return n&&(t==null?void 0:t.length)&&t!==i.getEditorString(e,n)}function Zn(e,n,t,r,s,c){e?ne(n,{at:e[1]}):ne(n,{split:!0}),Bt(n,{url:t,buttonStyle:r,target:s}),Ae(n,{url:t,target:s,text:c})}function Rn(e,n,t,r,s,c){var d,g,u;(e!==((d=t[0])==null?void 0:d.url)||r!==((g=t[0])==null?void 0:g.target)||s!==((u=t[0])==null?void 0:u.buttonStyle))&&i.setNodes(n,{url:e,target:r,buttonStyle:s},{at:t[1]}),Ae(n,{url:e,text:c,target:r})}const Ae=(e,{text:n})=>{const t=i.getAboveNode(e,{match:{type:i.getPluginType(e,P)}});if(t){const[r,s]=t;if(n!=null&&n.length&&n!==i.getEditorString(e,s)){const c=r.children[0];i.replaceNodeChildren(e,{at:s,nodes:{...c,text:n},insertOptions:{select:!0}})}}},Bt=(e,{url:n,buttonStyle:t,target:r,...s})=>{i.wrapNodes(e,{type:i.getPluginType(e,P),url:n,buttonStyle:t,target:r,children:[]},{split:!0,...s})},er=(e,n)=>{const t=i.getAboveNode(e,{match:{type:P}});return Array.isArray(t)?n(t[0]):""},Nt=e=>er(e,n=>n.url??""),Lt=(e,{url:n,text:t="",buttonStyle:r="primary",target:s,children:c})=>({type:i.getPluginType(e,P),url:n,target:s,buttonStyle:r,children:c??[{text:t}]}),At=(e,{focused:n}={})=>{if(F.mode()==="edit"){me(e);return}Fe(e,{focused:n})},me=e=>{const n=i.findNode(e,{match:{type:i.getPluginType(e,P)}});if(!n)return;const[t,r]=n;let s=i.getEditorString(e,r);I.url(t.url),I.newTab(t.target===void 0),s===t.url&&(s=""),I.text(s),I.isEditing(!0)},Fe=(e,{focused:n}={})=>{F.mode()||!n||i.isRangeAcrossBlocks(e,{at:e.selection})||i.someNode(e,{match:{type:i.getPluginType(e,P)}})||(I.text(i.getEditorString(e,e.selection)),I.show("insert",e.id))},fe={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)"}}},tr=e=>({...i.useElementProps({...e,elementToAttributes:t=>({url:t.href,buttonStyle:t.buttonStyle||"primary",target:t.target||"_blank"})}),onMouseOver:t=>{t.stopPropagation()}}),nr=e=>{const{href:n,target:t,buttonStyle:r}=tr(e),{attributes:s,children:c}=e;return a.jsx(rr,{attributes:s,href:n,target:t,styles:fe[`button${r.charAt(0).toUpperCase()+r.slice(1)}`],children:c})},rr=({attributes:e,styles:n={hover:{}},children:t,href:r="#",target:s})=>{const[c,d]=y.useState(!1);return a.jsx("a",{...e,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),href:r,target:s,style:c?{...n,...n.hover}:n,children:t})};class ar extends o.MarkupElement{constructor(n=P,t=nr){super(n,t)}}const sr=({type:e,...n})=>{const t=i.useEditorRef(),r=!!i.isRangeInSameBlock(t,{at:t.selection}),s=!!(t!=null&&t.selection)&&i.someNode(t,{match:{type:e}});return a.jsx(i.ToolbarButton,{tooltip:o.getTooltip(r?`Button
|
|
2
|
-
${o.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block."),classNames:o.getButtonClassNames(r),active:s,onMouseDown:async c=>{t&&(c.preventDefault(),c.stopPropagation(),i.focusEditor(t,t.selection??t.prevSelection??void 0),setTimeout(()=>{At(t,{focused:!0})},0))},...n})},or=({editor:e,id:n})=>a.jsx("div",{"data-plugin-id":n,children:a.jsx(sr,{type:i.getPluginType(e,P),icon:a.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:a.jsx(o.IconButton16,{})}),styles:o.buttonStyles})}),ir=()=>{const e=Er({});return a.jsx("div",{"data-test-id":"floating-button-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children: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:e.defaultValue}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:a.jsx(ye.EditButton,{children:a.jsx(o.IconPen16,{})})}),a.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:a.jsx(ye.UnlinkButton,{children:a.jsx(o.IconTrashBin16,{})})})]})]})})},lr=({section:e,selectedUrl:n,onSelectUrl:t})=>{const r=e.permanentLink===n;return a.jsx("button",{"data-test-id":"internal-link-selector-section-link",className:o.merge(["tw-py-2 tw-px-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full",r?"tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>t(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(o.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"})]})})},cr=({page:e,selectedUrl:n,onSelectUrl:t,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:s})=>{const[c,d]=y.useState(e.id===r.documentId),[g,u]=y.useState([]),b=e.permanentLink===n;y.useEffect(()=>{(async()=>{const v=await s(e.id);u(v)})()},[e.id,s]),y.useEffect(()=>{e.id===r.pageId&&d(!0)},[r,e.id]);const f=[...g.values()],m=f.length>0;return a.jsxs(a.Fragment,{children:[a.jsx("button",{"data-test-id":"internal-link-selector-page-link",className:o.merge(["tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full",m?"tw-pl-7":"tw-pl-12",b?"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:()=>t(e.permanentLink),children:a.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[m&&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:()=>d(!c),children:a.jsx("div",{className:o.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",c?"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)}),c&&f.length>0&&f.map(w=>a.jsx(lr,{section:w,selectedUrl:n,onSelectUrl:t},w.id))]})},Ft=()=>a.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:a.jsx(o.LoadingCircle,{size:o.LoadingCircleSize.Small})}),dr=({documentId:e,selectedUrl:n,onSelectUrl:t,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:s,getDocumentPagesByDocumentId:c})=>{const[d,g]=y.useState([]),[u,b]=y.useState(!0),f=[...d.values()],m=!u&&f.length>0;return y.useEffect(()=>{c(e).then(w=>{const v=w.filter(p=>!!p.category).sort((p,E)=>p.category.sort===E.category.sort?p.sort-E.sort:p.category.sort-E.category.sort),x=w.filter(p=>!p.category).sort((p,E)=>p.sort-E.sort);g([...v,...x])}).finally(()=>{b(!1)})},[]),u?a.jsx(Ft,{}):m?a.jsx(a.Fragment,{children:f.map(w=>a.jsx(cr,{page:w,selectedUrl:n,onSelectUrl:t,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:s},w.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."})},ur=({document:e,selectedUrl:n,onSelectUrl:t,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:s,getDocumentPagesByDocumentId:c})=>{const[d,g]=y.useState(e.id===r.documentId),u=e.permanentLink===n;return y.useEffect(()=>{e.id===r.documentId&&g(!0)},[r,e.id]),a.jsxs(a.Fragment,{children:[a.jsxs("button",{"data-test-id":"internal-link-selector-document-link",className:o.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",u?"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:()=>t(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:()=>g(!d),children:a.jsx("div",{className:o.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",d?"tw-rotate-90":""])})}),a.jsx(o.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"})]}),d&&a.jsx(dr,{documentId:e.id,selectedUrl:n,onSelectUrl:t,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:s,getDocumentPagesByDocumentId:c})]})},gr=({selectedUrl:e,onSelectUrl:n,getAllDocuments:t,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:s})=>{const[c,d]=y.useState(!0),[g,u]=y.useState([]),[b,f]=y.useState({documentId:void 0,pageId:void 0}),m=[...g.values()];y.useEffect(()=>{e&&m.length>0&&w().then(v=>{f(v)})},[m.length]),y.useEffect(()=>{t().then(v=>{u(v)}).finally(()=>{d(!1)})},[]);const w=async()=>{const v={documentId:void 0,pageId:void 0};if(m.find(p=>p.permanentLink===e))return v;for(const p of m){const L=[...(await r(p.id)).values()];if(!!L.find(O=>O.permanentLink===e))return v.documentId=p.id,v;for(const O of L)if(!![...(await s(O.id)).values()].find(M=>M.permanentLink===e))return v.documentId=p.id,v.pageId=O.id,v}return v};return c?a.jsx(Ft,{}):a.jsx(a.Fragment,{children:m.map(v=>a.jsx(ur,{document:v,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:b,getDocumentSectionsByDocumentPageId:s,getDocumentPagesByDocumentId:r},v.id))})},Mt=({url:e,onUrlChange:n,buttonSize:t=o.ButtonSize.Medium,getAllDocuments:r,getDocumentPagesByDocumentId:s,getDocumentSectionsByDocumentPageId:c})=>{const{open:d,isOpen:g,close:u}=yn.useOverlayTriggerState({}),[b,f]=y.useState(e),m=x=>{f(x)},w=x=>{x.key==="Enter"&&v()};y.useEffect(()=>{e&&!b&&f(e)},[e,b]);const v=()=>{n==null||n(b),u()};return a.jsxs("div",{"data-test-id":"internal-link-selector",onKeyDown:w,children:[a.jsx(o.Button,{icon:a.jsx(o.IconLink,{}),size:t,type:o.ButtonType.Button,style:o.ButtonStyle.Default,emphasis:o.ButtonEmphasis.Default,onClick:()=>d(),children:"Internal link"}),a.jsxs(o.Modal,{zIndex:1001,onClose:()=>u(),isOpen:g,isDismissable:!0,children:[a.jsx(o.Modal.Header,{title:"Select internal link"}),a.jsx(o.Modal.Body,{children:a.jsx(gr,{selectedUrl:b,onSelectUrl:m,getAllDocuments:r,getDocumentPagesByDocumentId:s,getDocumentSectionsByDocumentPageId:c})}),a.jsx(o.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>u(),style:o.ButtonStyle.Default,emphasis:o.ButtonEmphasis.Default},{children:"Choose",onClick:x=>{x==null||x.preventDefault(),v()},style:o.ButtonStyle.Default,emphasis:o.ButtonEmphasis.Strong,disabled:!b}]})]})]})},Dt=({onUrlChange:e,onToggleTab:n,isValidUrlOrEmpty:t,appBridge:r,clearable:s,placeholder:c,newTab:d,openInNewTab:g,url:u="",required:b,info:f,label:m,buttonSize:w,hideInternalLinkButton:v})=>{const x=t?t(u):ee(u),p=d??(g?o.CheckboxState.Checked:o.CheckboxState.Unchecked);return a.jsxs("div",{"data-test-id":"link-input",children:[a.jsx(o.FormControl,{label:{children:m,htmlFor:"url",required:b,tooltip:f?{content:f,position:o.TooltipPosition.Top}:void 0},children:a.jsx(o.TextInput,{id:"url",value:u,clearable:s,onChange:e,placeholder:c??"https://example.com",focusOnMount:!0})}),!x&&a.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!v&&a.jsx("div",{className:"tw-mt-3",children:a.jsx(Mt,{url:u,onUrlChange:e,buttonSize:w??o.ButtonSize.Medium,getAllDocuments:()=>r.getAllDocuments(),getDocumentPagesByDocumentId:E=>r.getDocumentPagesByDocumentId(E),getDocumentSectionsByDocumentPageId:E=>r.getDocumentSectionsByDocumentPageId(E)})}),a.jsx("div",{className:"tw-mt-3",children:a.jsx(o.Checkbox,{value:"new-tab",label:"Open in new tab",state:p,onChange:n})})]})},Ot=({state:e,onTextChange:n,onUrlChange:t,onToggleTab:r,onCancel:s,onSave:c,isValidUrlOrEmpty:d,hasValues:g,testId:u,appBridge:b,children:f})=>a.jsxs("div",{"data-test-id":u,className:"tw-bg-white tw-rounded tw-shadow tw-p-7 tw-min-w-[400px] tw-overflow-y-auto",children:[a.jsx(o.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:a.jsx(o.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:n})}),f,a.jsx("div",{className:"tw-mt-5",children:a.jsx(Dt,{url:e.url,newTab:e.newTab,onUrlChange:t,onToggleTab:r,isValidUrlOrEmpty:d,appBridge:b})}),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(o.Button,{onClick:s,size:o.ButtonSize.Medium,style:o.ButtonStyle.Default,emphasis:o.ButtonEmphasis.Default,children:"Cancel"}),a.jsx(o.Button,{onClick:c,size:o.ButtonSize.Medium,icon:a.jsx(o.IconCheckMark20,{}),disabled:!g||!d(e==null?void 0:e.url),children:"Save"})]})})]}),hr=e=>{var t;const n=i.getAboveNode(e,{match:{type:P}});return Array.isArray(n)&&((t=n[0])==null?void 0:t.buttonStyle)||"primary"},mr={url:"",text:"",buttonStyle:"primary",newTab:o.CheckboxState.Unchecked},fr=()=>{const[e,n]=y.useReducer((t,r)=>{const{type:s,payload:c}=r;switch(s){case"NEW_TAB":return{...t,newTab:o.CheckboxState.Checked};case"SAME_TAB":return{...t,newTab:o.CheckboxState.Unchecked};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...t,...c};default:return t}},mr);return[e,n]},wr=()=>{const e=i.useEditorRef(),[n,t]=fr();y.useEffect(()=>{const m=hr(e);t({type:"INIT",payload:{text:F.text(),buttonStyle:m,newTab:F.newTab()?o.CheckboxState.Checked:o.CheckboxState.Unchecked,url:F.url()}})},[t,e]);const r=m=>{t({type:"TEXT",payload:{text:m}})},s=m=>{t({type:"BUTTON_STYLE",payload:{buttonStyle:m}})},c=m=>{t({type:"URL",payload:{url:m}})},d=m=>{t(m?{type:"NEW_TAB"}:{type:"SAME_TAB"})},g=()=>{I.hide()},u=m=>{if(!ee(n.url)||!b)return;const w=ge(n.url);I.text(n.text),I.url(w),I.buttonStyle(n.buttonStyle),I.newTab(n.newTab===o.CheckboxState.Checked),Le(e)&&(m==null||m.preventDefault())},b=n.url!==""&&n.text!=="",{appBridge:f}=i.getPluginOptions(e,P);return i.useHotkeys("enter",u,{enableOnFormTags:["INPUT"]},[]),{state:n,onTextChange:r,onButtonStyleChange:s,onUrlChange:c,onToggleTab:d,onCancel:g,onSave:u,hasValues:b,isValidUrlOrEmpty:ee,appBridge:f}},we="link-plugin";var C=(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))(C||{});const N={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)"},[we]:{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)"},...fe},yr=()=>{const e=wr(),{state:n,onButtonStyleChange:t}=e;return a.jsx(Ot,{...e,testId:"floating-button-insert",children:a.jsx("div",{className:"tw-pt-5",children:a.jsxs(o.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[a.jsx(Me,{id:"primary",styles:N.buttonPrimary,isActive:n.buttonStyle==="primary",onClick:()=>t("primary"),children:n.text||"Primary Button"}),a.jsx(Me,{id:"secondary",styles:N.buttonSecondary,isActive:n.buttonStyle==="secondary",onClick:()=>t("secondary"),children:n.text||"Secondary Button"}),a.jsx(Me,{id:"tertiary",styles:N.buttonTertiary,isActive:n.buttonStyle==="tertiary",onClick:()=>t("tertiary"),children:n.text||"Tertiary Button"})]})})})},Me=({id:e,styles:n,isActive:t,onClick:r,children:s})=>{const[c,d]=y.useState(!1),g=()=>n&&n.hover&&c?{...n,...n.hover}:n;return a.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:r,style:{...g(),marginTop:0,marginBottom:0},className:t?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:s})},br=()=>{const e=te().isEditing(),n=a.jsx(yr,{}),t=e?n:a.jsx(ir,{});return a.jsxs(a.Fragment,{children:[a.jsx(ye.InsertRoot,{children:n}),a.jsx(ye.EditRoot,{children:t})]})},P="button",Ut="button-plugin",_t=e=>i.createPluginFactory({key:P,isElement:!0,isInline:!0,props:({element:n})=>({nodeProps:{href:n==null?void 0:n.url,target:n==null?void 0:n.target}}),withOverrides:Tt,renderAfterEditable:br,options:{isUrl:he,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:e},then:(n,{type:t})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:r=>({type:t,url:r.getAttribute("href"),target:r.getAttribute("target")||"_blank"})}})})();class Ht extends o.Plugin{constructor({styles:t=fe,...r}){super(Ut,{button:or,markupElement:new ar,...r});A(this,"styles",{});A(this,"appBridge");this.styles=t,this.appBridge=r==null?void 0:r.appBridge}plugins(){return[_t(this.appBridge)]}}const vr=({floatingOptions:e,...n})=>{const t=i.useEditorRef(),r=i.usePlateSelectors(t.id).keyEditor(),s=te().mode(),c=te().isOpen(t.id),{triggerFloatingButtonHotkeys:d}=i.getPluginOptions(t,P),g=y.useCallback(()=>{const w=i.getAboveNode(t,{match:{type:i.getPluginType(t,P)}});if(w){const[,v]=w;return i.getRangeBoundingClientRect(t,{anchor:i.getStartPoint(t,v),focus:i.getEndPoint(t,v)})}return i.getDefaultBoundingClientRect()},[t]),u=c&&s==="edit",{update:b,style:f,floating:m}=zt({open:u,getBoundingClientRect:g,...e});return y.useEffect(()=>{const w=Nt(t);if(w&&I.url(w),t.selection&&i.someNode(t,{match:{type:i.getPluginType(t,P)}})){I.show("edit",t.id),b();return}F.mode()==="edit"&&I.hide()},[t,r,b]),i.useHotkeys(d,w=>{w.preventDefault(),F.mode()==="edit"&&me(t)},{enableOnContentEditable:!0},[]),Ir(),Vt(),{style:{...f,zIndex:1e3},...n,ref:i.useComposedRef(n.ref,m)}},Cr=({floatingOptions:e,...n})=>{const t=i.useEditorRef(),r=Qe.useFocused(),s=te().mode(),c=te().isOpen(t.id),{triggerFloatingButtonHotkeys:d}=i.getPluginOptions(t,P);i.useHotkeys(d,f=>{f.preventDefault(),Fe(t,{focused:r})},{enableOnContentEditable:!0},[r]);const{update:g,style:u,floating:b}=zt({open:c&&s==="insert",getBoundingClientRect:i.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return y.useEffect(()=>{c&&g(),I.updated(c)},[c,g]),Vt(),{style:{...u,zIndex:1e3},...n,ref:i.useComposedRef(n.ref,b)}},kr=e=>{const n=i.useEditorRef();return{onClick:y.useCallback(()=>{me(n)},[n]),...e}},pr=i.createComponentAs(e=>{const n=kr(e);return i.createElementAs("button",n)}),xr=e=>{const n=i.useEditorRef();return{onClick:y.useCallback(()=>{ne(n),i.focusEditor(n,n.selection??void 0)},[n]),...e}},Pr=i.createComponentAs(e=>{const n=xr(e);return i.createElementAs(i.Button,n)}),Sr=i.createComponentAs(e=>{var t;const n=vr(e);return((t=n.style)==null?void 0:t.display)==="none"?null:i.createElementAs("div",n)}),Tr=i.createComponentAs(e=>{var t;const n=Cr(e);return((t=n.style)==null?void 0:t.display)==="none"?null:i.createElementAs("div",n)}),ye={EditRoot:Sr,InsertRoot:Tr,EditButton:pr,UnlinkButton:Pr},Er=e=>{const n=te().updated(),t=y.useRef(null);y.useEffect(()=>{t.current&&n&&setTimeout(()=>{var s;(s=t.current)==null||s.focus()},0)},[n]);const r=y.useCallback(s=>{I.url(s.target.value)},[]);return i.mergeProps({onChange:r,defaultValue:F.url()},{...e,ref:i.useComposedRef(e.ref,t)})},Ir=()=>{const e=i.useEditorRef();i.useHotkeys("*",n=>{n.key==="Enter"&&Le(e)&&n.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Vt=()=>{const e=i.useEditorRef();i.useHotkeys("escape",()=>{if(F.mode()==="edit"){if(F.isEditing()){I.show("edit",e.id),i.focusEditor(e,e.selection??void 0);return}I.hide()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},Br=12,Nr=-22,Lr=96,zt=e=>i.useVirtualFloating({placement:"bottom-start",middleware:[i.offset({mainAxis:Br,alignmentAxis:Nr}),i.flip({padding:Lr})],...e}),Ar=({id:e="rte",isEditing:n,value:t,columns:r,gap:s,placeholder:c,plugins:d,onTextChange:g,showSerializedText:u})=>{const[b,f]=y.useState(!1),m=w=>{g&&w!==t&&g(w),f(!1)};return y.useEffect(()=>{const w=v=>(v.preventDefault(),v.returnValue="Unprocessed changes");return b&&window.addEventListener("beforeunload",w),()=>window.removeEventListener("beforeunload",w)},[b]),n?a.jsx(o.RichTextEditor,{id:e,value:t,border:!1,placeholder:c,plugins:d,onValueChanged:()=>f(!0),onTextChange:m,hideExternalFloatingModals:w=>{F.isOpen(w)&&I.reset()}}):a.jsx(Gn,{value:t,columns:r,gap:s,show:u,plugins:d})},Fr=({floatingOptions:e,...n})=>{const t=i.useEditorRef(),r=Qe.useFocused(),s=i.useFloatingLinkSelectors().mode(),c=i.useFloatingLinkSelectors().isOpen(t.id),{triggerFloatingLinkHotkeys:d}=i.getPluginOptions(t,i.ELEMENT_LINK);i.useHotkeys(d,f=>{i.triggerFloatingLinkInsert(t,{focused:r})&&f.preventDefault()},{enableOnContentEditable:!0},[r]);const{update:g,style:u,floating:b}=i.useVirtualFloatingLink({editorId:t.id,open:c&&s==="insert",getBoundingClientRect:i.getSelectionBoundingClientRect,whileElementsMounted:()=>{},...e});return y.useEffect(()=>{c?(g(),i.floatingLinkActions.updated(!0)):i.floatingLinkActions.updated(!1)},[c,g]),i.useFloatingLinkEscape(),{style:{...u,zIndex:1e3},...n,ref:i.useComposedRef(n.ref,b)}},Mr=i.createComponentAs(e=>{var t;const n=Fr({...e,floatingOptions:{strategy:"absolute"}});return((t=n.style)==null?void 0:t.display)==="none"?null:i.createElementAs("div",n)}),Dr=i.createComponentAs(e=>{var t;const n=Ur({...e,floatingOptions:{strategy:"absolute"}});return((t=n.style)==null?void 0:t.display)==="none"?null:i.createElementAs("div",n)});i.FloatingLink.EditRoot=Dr,i.FloatingLink.InsertRoot=Mr;const be=i.FloatingLink,Or=()=>{const e=i.useFloatingLinkUrlInput({});return a.jsx("div",{"data-test-id":"floating-link-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children: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:e.defaultValue}),a.jsxs("span",{className:"tw-flex tw-gap-2",children:[a.jsx("span",{role:"button",tabIndex:0,"data-test-id":"edit-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:a.jsx(be.EditButton,{children:a.jsx(o.IconPen16,{})})}),a.jsx("span",{role:"button",tabIndex:0,"data-test-id":"remove-link-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:a.jsx(be.UnlinkButton,{children:a.jsx(o.IconTrashBin16,{})})})]})]})})},Ur=({floatingOptions:e,...n})=>{const t=i.useEditorRef(),r=i.usePlateSelectors().keyEditor(),s=i.useFloatingLinkSelectors().mode(),c=i.useFloatingLinkSelectors().isOpen(t.id),{triggerFloatingLinkHotkeys:d="command+k, ctrl+k"}=i.getPluginOptions(t,i.ELEMENT_LINK),g=y.useCallback(()=>{const w=i.getAboveNode(t,{match:{type:i.getPluginType(t,i.ELEMENT_LINK)}});if(w){const[,v]=w;return i.getRangeBoundingClientRect(t,{anchor:i.getStartPoint(t,v),focus:i.getEndPoint(t,v)})}return i.getDefaultBoundingClientRect()},[t]),u=c&&s==="edit",{update:b,style:f,floating:m}=i.useVirtualFloatingLink({editorId:t.id,open:u,getBoundingClientRect:g,...e});return y.useEffect(()=>{const w=St(t);if(w&&i.floatingLinkActions.url(w),t.selection&&i.someNode(t,{match:{type:i.getPluginType(t,i.ELEMENT_LINK)}})){i.floatingLinkActions.show("edit",t.id),b();return}i.floatingLinkSelectors.mode()==="edit"&&i.floatingLinkActions.hide()},[t,r,b]),i.useHotkeys(d,w=>{w.preventDefault(),i.floatingLinkSelectors.mode()==="edit"&&i.triggerFloatingLinkEdit(t)},{enableOnContentEditable:!0},[]),i.useFloatingLinkEnter(),i.useFloatingLinkEscape(),{style:{...f,zIndex:1e3},...n,ref:i.useComposedRef(n.ref,m)}},_r={url:"",text:"",newTab:o.CheckboxState.Unchecked},Hr=()=>{const[e,n]=y.useReducer((t,r)=>{const{type:s,payload:c}=r;switch(s){case"NEW_TAB":return{...t,newTab:o.CheckboxState.Checked};case"SAME_TAB":return{...t,newTab:o.CheckboxState.Unchecked};case"URL":case"TEXT":case"INIT":return{...t,...c};default:return t}},_r);return[e,n]},Vr=()=>{const e=i.useEditorRef(),[n,t]=Hr();y.useEffect(()=>{const f=pt(e),m=xt(e);t({type:"INIT",payload:{text:i.floatingLinkSelectors.text(),newTab:i.floatingLinkSelectors.newTab()?o.CheckboxState.Checked:o.CheckboxState.Unchecked,url:f&&m===""?f:i.floatingLinkSelectors.url()}})},[t,e]);const r=f=>{t({type:"TEXT",payload:{text:f}})},s=f=>{t({type:"URL",payload:{url:f}})},c=f=>{t(f?{type:"NEW_TAB"}:{type:"SAME_TAB"})},d=()=>{i.floatingLinkActions.hide()},g=f=>{if(!ee(n.url)||!u)return;const m=ge(n.url);i.floatingLinkActions.text(n.text),i.floatingLinkActions.url(m),i.floatingLinkActions.newTab(n.newTab===o.CheckboxState.Checked),i.submitFloatingLink(e)&&(f==null||f.preventDefault())},u=n.url!==""&&n.text!=="",{appBridge:b}=i.getPluginOptions(e,i.ELEMENT_LINK);return i.useHotkeys("enter",g,{enableOnFormTags:["INPUT"]},[]),{state:n,onTextChange:r,onUrlChange:s,onToggleTab:c,onCancel:d,onSave:g,hasValues:u,isValidUrlOrEmpty:ee,appBridge:b}},zr=()=>a.jsx(Ot,{...Vr(),testId:"floating-link-insert"}),$r=({readOnly:e})=>{const n=i.useFloatingLinkSelectors().isEditing();if(e)return null;const t=a.jsx(zr,{}),r=n?t:a.jsx(Or,{});return a.jsxs(a.Fragment,{children:[a.jsx(be.InsertRoot,{children:t}),a.jsx(be.EditRoot,{children:r})]})},Wr=({id:e,editorId:n})=>{const t=i.usePlateEditorState(i.useEventPlateId(n)),r=!!i.isRangeInSameBlock(t,{at:t.selection});return a.jsx("div",{"data-plugin-id":e,children:a.jsx(i.LinkToolbarButton,{tooltip:o.getTooltip(r?`Link
|
|
3
|
-
${o.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block."),icon:a.jsx("span",{className:"tw-p-2 tw-h-8 tw-justify-center tw-items-center tw-flex",children:a.jsx(o.IconLink,{size:o.IconSize.Size16})}),classNames:o.getButtonClassNames(r),styles:{root:{width:"24px",height:"24px"}},actionHandler:"onMouseDown"})})},qr=e=>({...i.useElementProps({...e,elementToAttributes:t=>{var r,s;return{href:t.url||((s=(r=t.chosenLink)==null?void 0:r.searchResult)==null?void 0:s.link)||"",target:t.target||"_self"}}}),onMouseOver:t=>{t.stopPropagation()}}),Gr=e=>{const n=qr(e),{attributes:t,children:r}=e;return a.jsx("a",{...t,href:n.href,target:n.target,style:N[we],children:r})};class Kr extends o.MarkupElement{constructor(n=i.ELEMENT_LINK,t=Gr){super(n,t)}}const $t=e=>i.createPluginFactory({...i.createLinkPlugin(),renderAfterEditable:$r,options:{isUrl:he,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"command+k, ctrl+k",appBridge:e}})();class Wt extends o.Plugin{constructor(t,r=N[we]){super(we,{button:Wr,markupElement:new Kr,...t});A(this,"appBridge");A(this,"styles",{});this.styles=r,this.appBridge=t==null?void 0:t.appBridge}plugins(){return[$t(this.appBridge)]}}const jr="textstyle-custom1-plugin";class qt extends o.Plugin{constructor({styles:t=N.custom1,...r}={}){super(C.custom1,{label:"Custom 1",markupElement:new Xr,...r});A(this,"styles",{});this.styles=t}plugins(){return[Qr(this.styles)]}}class Xr extends o.MarkupElement{constructor(n=jr,t=Gt){super(n,t)}}const Gt=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("p",{...n,style:r,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),children:t})},Qr=e=>i.createPluginFactory({key:C.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:C.custom1}]}})({component:n=>a.jsx(Gt,{...n,styles:e})}),Yr="textstyle-custom2-plugin";class Kt extends o.Plugin{constructor({styles:t=N.custom2,...r}={}){super(C.custom2,{label:"Custom 2",markupElement:new Jr,...r});A(this,"styles",{});this.styles=t}plugins(){return[Zr(this.styles)]}}class Jr extends o.MarkupElement{constructor(n=Yr,t=jt){super(n,t)}}const jt=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("p",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},Zr=e=>i.createPluginFactory({key:C.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:C.custom2}]}})({component:n=>a.jsx(jt,{...n,styles:e})}),Rr="textstyle-custom3-plugin";class Xt extends o.Plugin{constructor({styles:t=N.custom3,...r}={}){super(o.TextStyles.custom3,{label:"Custom 3",markupElement:new ea,...r});A(this,"styles",{});this.styles=t}plugins(){return[ta(this.styles)]}}class ea extends o.MarkupElement{constructor(n=Rr,t=Qt){super(n,t)}}const Qt=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("p",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},ta=e=>i.createPluginFactory({key:o.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:o.TextStyles.custom3}]}})({component:n=>a.jsx(Qt,{...n,styles:e})}),na="textstyle-heading1-plugin";class Yt extends o.Plugin{constructor({styles:t=N.heading1,...r}={}){super(C.heading1,{label:"Heading 1",markupElement:new ra,...r});A(this,"styles",{});this.styles=t}plugins(){return[aa(this.styles)]}}class ra extends o.MarkupElement{constructor(n=na,t=De){super(n,t)}}const De=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("h1",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},aa=e=>i.createPluginFactory({key:C.heading1,isElement:!0,component:De,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:n=>a.jsx(De,{...n,styles:e})}),sa="textstyle-heading2-plugin";class Jt extends o.Plugin{constructor({styles:t=N.heading2,...r}={}){super(C.heading2,{label:"Heading 2",markupElement:new oa,...r});A(this,"styles",{});this.styles=t}plugins(){return[ia(this.styles)]}}class oa extends o.MarkupElement{constructor(n=sa,t=Oe){super(n,t)}}const Oe=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("h2",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},ia=e=>i.createPluginFactory({key:C.heading2,isElement:!0,component:Oe,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:n=>a.jsx(Oe,{...n,styles:e})}),la="textstyle-heading3-plugin";class Zt extends o.Plugin{constructor({styles:t=N.heading3,...r}={}){super(C.heading3,{label:"Heading 3",markupElement:new ca,...r});A(this,"styles",{});this.styles=t}plugins(){return[da(this.styles)]}}class ca extends o.MarkupElement{constructor(n=la,t=Ue){super(n,t)}}const Ue=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("h3",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},da=e=>i.createPluginFactory({key:C.heading3,isElement:!0,component:Ue,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:n=>a.jsx(Ue,{...n,styles:e})}),ua="textstyle-heading4-plugin";class Rt extends o.Plugin{constructor({styles:t=N.heading4,...r}={}){super(C.heading4,{label:"Heading 4",markupElement:new ga,...r});A(this,"styles",{});this.styles=t}plugins(){return[ha(this.styles)]}}class ga extends o.MarkupElement{constructor(n=ua,t=_e){super(n,t)}}const _e=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("h4",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},ha=e=>i.createPluginFactory({key:C.heading4,isElement:!0,component:_e,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:n=>a.jsx(_e,{...n,styles:e})}),ma="textstyle-imageCaption-plugin";class en extends o.Plugin{constructor({styles:t=N.imageCaption,...r}={}){super(C.imageCaption,{label:"Image Caption",markupElement:new fa,...r});A(this,"styles",{});this.styles=t}plugins(){return[wa(this.styles)]}}class fa extends o.MarkupElement{constructor(n=ma,t=He){super(n,t)}}const He=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("p",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},wa=e=>i.createPluginFactory({key:C.imageCaption,isElement:!0,component:He,deserializeHtml:{rules:[{validClassName:C.imageCaption}]}})({component:n=>a.jsx(He,{...n,styles:e})}),ya="textstyle-imageTitle-plugin";class tn extends o.Plugin{constructor({styles:t=N.imageTitle,...r}={}){super(C.imageTitle,{label:"Image Title",markupElement:new ba,...r});A(this,"styles",{});this.styles=t}plugins(){return[va(this.styles)]}}class ba extends o.MarkupElement{constructor(n=ya,t=Ve){super(n,t)}}const Ve=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("p",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},va=e=>i.createPluginFactory({key:C.imageTitle,isElement:!0,component:Ve,deserializeHtml:{rules:[{validClassName:C.imageTitle}]}})({component:n=>a.jsx(Ve,{...n,styles:e})});class nn extends o.Plugin{constructor({styles:t=N.p,...r}={}){super(C.p,{markupElement:new an,label:"Body Text",...r});A(this,"styles",{});this.styles=t}plugins(){return[sn(this.styles)]}}const rn="tw-m-0 tw-px-0 tw-py-0",ve=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align,c=o.merge([s&&o.alignmentClassnames[s],rn,o.getColumnBreakClasses(e)]);return a.jsx("p",{...n,className:c,style:r,children:t})};class an extends o.MarkupElement{constructor(n=C.p,t=ve){super(n,t)}}const sn=e=>i.createPluginFactory({...i.createParagraphPlugin(),key:C.p,isElement:!0,component:ve})({component:n=>a.jsx(ve,{...n,styles:e})}),Ca="textstyle-quote-plugin";class on extends o.Plugin{constructor({styles:t=N.quote,...r}={}){super(C.quote,{label:"Quote",markupElement:new ka,...r});A(this,"styles",{});this.styles=t}plugins(){return[ln(this.styles)]}}class ka extends o.MarkupElement{constructor(n=Ca,t=Ce){super(n,t)}}const Ce=({element:e,attributes:n,children:t,styles:r})=>{const s=e.align;return a.jsx("blockquote",{...n,className:o.merge([s&&o.alignmentClassnames[s],o.getColumnBreakClasses(e)]),style:r,children:t})},ln=e=>i.createPluginFactory({key:C.quote,isElement:!0,component:Ce,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:n=>a.jsx(Ce,{...n,styles:e})}),ze=[new Yt,new Jt,new Zt,new Rt,new qt,new Kt,new Xt,new on,new nn],re=[C.heading1,C.heading2,C.heading3,C.heading4,C.custom1,C.custom2,C.custom3,C.quote,C.p],pa=[...ze,new en,new tn],xa=[...re,C.imageCaption,C.imageTitle],Pa=e=>new o.PluginComposer().setPlugin(new o.SoftBreakPlugin,new o.TextStylePlugin({textStyles:ze})).setPlugin([new o.BoldPlugin,new o.ItalicPlugin,new o.UnderlinePlugin,new o.StrikethroughPlugin,new Wt({appBridge:e}),new Ht({appBridge:e}),new o.CodePlugin],[new o.AlignLeftPlugin({validTypes:re}),new o.AlignCenterPlugin({validTypes:re}),new o.AlignRightPlugin({validTypes:re}),new o.AlignJustifyPlugin({validTypes:re}),new o.UnorderedListPlugin,new o.CheckboxListPlugin,new o.OrderedListPlugin,new o.ResetFormattingPlugin,new o.AutoformatPlugin]),Sa="--f-theme-settings-",Ta=e=>{const n=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",t=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",r=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||Bn,s=e!=null&&e.label?e.label:"Background",c=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:n,label:s,type:"switch",switchLabel:c,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:t,defaultValue:r,type:"colorInput"}]}},Ea=e=>{const n=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",t=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",r=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",s=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",c=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",d=(e==null?void 0:e.defaultColor)||Re,g=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:n,label:"Border",type:"switch",switchLabel:g,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:t,type:"multiInput",onChange:u=>h.appendUnit(u,s),layout:h.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:"dropdown",defaultValue:V.Solid,choices:[{value:V.Solid,label:V.Solid},{value:V.Dotted,label:V.Dotted},{value:V.Dashed,label:V.Dashed}]},{id:s,type:"input",defaultValue:Nn,rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px"},{id:c,type:"colorInput",defaultValue:d}]}],off:[]}},$e=(e,n=W.None)=>({id:e,type:"segmentedControls",defaultValue:n,choices:[{value:W.None,label:"None"},{value:W.Small,label:"S"},{value:W.Medium,label:"M"},{value:W.Large,label:"L"}]}),Ia=e=>{const n=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",t=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",r=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",s=(e==null?void 0:e.defaultRadius)||W.None;return{id:n,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:c=>{var d;return e!=null&&e.dependentSettingId?!!((d=c.getBlock(e.dependentSettingId))!=null&&d.value):!0},onChange:c=>h.presetCustomValue(c,r,t,(e==null?void 0:e.radiusStyleMap)||K),on:[{id:t,type:"input",placeholder:"e.g. 10px",rules:[h.numericalOrPixelRule],onChange:c=>h.appendUnit(c,t)}],off:[$e(r,s)]}},Ba=e=>{const n=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",t=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",r=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",s=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",c=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",d=e!=null&&e.id?`extendedRadiusBottomLeft_${e.id}`:"extendedRadiusBottomLeft",g=e!=null&&e.id?`extendedRadiusBottomRight_${e.id}`:"extendedRadiusBottomRight";return{id:n,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:u=>{var b;return e!=null&&e.dependentSettingId?!!((b=u.getBlock(e.dependentSettingId))!=null&&b.value):!0},onChange:u=>{h.presetCustomValue(u,r,s,K),h.presetCustomValue(u,r,c,K),h.presetCustomValue(u,r,d,K),h.presetCustomValue(u,r,g,K)},on:[{id:t,type:"multiInput",layout:h.MultiInputLayout.Columns,blocks:[{id:s,type:"input",label:"Top Left",rules:[h.numericalOrPixelRule],onChange:u=>h.appendUnit(u,s)},{id:c,type:"input",label:"Top Right",rules:[h.numericalOrPixelRule],onChange:u=>h.appendUnit(u,c)},{id:d,type:"input",label:"Bottom Left",rules:[h.numericalOrPixelRule],onChange:u=>h.appendUnit(u,d)},{id:g,type:"input",label:"Bottom Right",rules:[h.numericalOrPixelRule],onChange:u=>h.appendUnit(u,g)}]}],off:[$e(r,e==null?void 0:e.defaultValue)]}},Na=e=>{const n=e!=null&&e.id?e.id:"hasCustomSpacing",t=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",r=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",s=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",c=e!=null&&e.defaultValueChoices?e.defaultValueChoices:Y.M;return{id:n,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:d=>h.presetCustomValue(d,r,s,Ze),show:d=>{var g;return((g=d.getBlock(t))==null?void 0:g.value)!=="1"},on:[{id:s,type:"input",rules:[h.numericalOrPixelRule],onChange:d=>h.appendUnit(d,s)}],off:[{id:r,type:"slider",defaultValue:c,choices:[{value:Y.Auto,label:"Auto"},{value:Y.S,label:"S"},{value:Y.M,label:"M"},{value:Y.L,label:"L"}]}]}},We=e=>({id:e,type:"segmentedControls",defaultValue:X.None,choices:[{value:X.None,label:"None"},{value:X.Small,label:"S"},{value:X.Medium,label:"M"},{value:X.Large,label:"L"}]}),La=e=>{const n=e!=null&&e.id?`hasCustomMarginValue_${e==null?void 0:e.id}`:"hasCustomMarginValue",t=e!=null&&e.id?`marginValue_${e==null?void 0:e.id}`:"marginValue",r=e!=null&&e.id?`marginChoice_${e==null?void 0:e.id}`:"marginChoice";return{id:n,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:s=>h.presetCustomValue(s,r,t,(e==null?void 0:e.marginStyleMap)||R),on:[{id:t,type:"input",placeholder:oe,rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)],onChange:s=>h.appendUnit(s,t)}],off:[We(r)]}},Aa=e=>{const n=e!=null&&e.id?`hasExtendedCustomMargin_${e==null?void 0:e.id}`:"hasExtendedCustomMargin",t=e!=null&&e.id?`extendedMarginValues_${e==null?void 0:e.id}`:"extendedMarginValues",r=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",s=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",c=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",d=e!=null&&e.id?`extendedMarginRight_${e==null?void 0:e.id}`:"extendedMarginRight",g=e!=null&&e.id?`extendedMarginBottom_${e==null?void 0:e.id}`:"extendedMarginBottom";return{id:n,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:u=>{h.presetCustomValue(u,r,s,R),h.presetCustomValue(u,r,c,R),h.presetCustomValue(u,r,d,R),h.presetCustomValue(u,r,g,R)},on:[{id:t,type:"multiInput",layout:h.MultiInputLayout.Spider,blocks:[{id:s,type:"input",label:"Top",placeholder:oe,onChange:u=>h.appendUnit(u,s),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Left",placeholder:oe,onChange:u=>h.appendUnit(u,c),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Right",placeholder:oe,onChange:u=>h.appendUnit(u,d),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:g,type:"input",label:"Bottom",placeholder:oe,onChange:u=>h.appendUnit(u,g),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[We(r)]}},qe=e=>({id:e,type:"segmentedControls",defaultValue:j.Small,choices:[{value:j.None,label:"None"},{value:j.Small,label:"S"},{value:j.Medium,label:"M"},{value:j.Large,label:"L"}]}),Fa=e=>{const n=e!=null&&e.id?`hasCustomPaddingValue_${e==null?void 0:e.id}`:"hasCustomPaddingValue",t=e!=null&&e.id?`paddingValue_${e==null?void 0:e.id}`:"paddingValue",r=e!=null&&e.id?`paddingChoice_${e==null?void 0:e.id}`:"paddingChoice";return{id:n,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:s=>h.presetCustomValue(s,r,t,(e==null?void 0:e.paddingStyleMap)||Z),on:[{id:t,type:"input",placeholder:se,rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)],onChange:s=>h.appendUnit(s,t)}],off:[qe(r)]}},Ma=e=>{const n=e!=null&&e.id?`hasExtendedCustomPadding_${e==null?void 0:e.id}`:"hasExtendedCustomPadding",t=e!=null&&e.id?`extendedPaddingValues_${e==null?void 0:e.id}`:"extendedPaddingValues",r=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",s=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",c=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",d=e!=null&&e.id?`extendedPaddingRight_${e==null?void 0:e.id}`:"extendedPaddingRight",g=e!=null&&e.id?`extendedPaddingBottom_${e==null?void 0:e.id}`:"extendedPaddingBottom";return{id:n,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:u=>{h.presetCustomValue(u,r,s,Z),h.presetCustomValue(u,r,c,Z),h.presetCustomValue(u,r,d,Z),h.presetCustomValue(u,r,g,Z)},on:[{id:t,type:"multiInput",layout:h.MultiInputLayout.Spider,blocks:[{id:s,type:"input",label:"Top",placeholder:se,onChange:u=>h.appendUnit(u,s),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Left",placeholder:se,onChange:u=>h.appendUnit(u,c),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Right",placeholder:se,onChange:u=>h.appendUnit(u,d),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]},{id:g,type:"input",label:"Bottom",placeholder:se,onChange:u=>h.appendUnit(u,g),rules:[h.numericalOrPixelRule,h.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[qe(r)]}},Da=e=>{const n=Ge(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:t=>{var r;return((r=t.getBlock(n))==null?void 0:r.value)===Q.Custom}}},Ge=e=>e||"security",Oa=e=>[{id:Ge(e),type:"segmentedControls",defaultValue:Q.Global,choices:[{value:Q.Global,label:"Global Settings"},{value:Q.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:h.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var cn=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(cn||{});const Ua=e=>e,_a=e=>e;l.AllTextStylePlugins=pa,l.AllTextStyles=xa,l.Attachments=ut,l.AttachmentsProvider=lt,l.AttachmentsToolbarButton=ht,l.BUTTON_PLUGIN=Ut,l.BlockButtonStyles=fe,l.BlockInjectButton=vn,l.BlockItemWrapper=Wn,l.BlockStyles=N,l.BorderStyle=V,l.ButtonPlugin=Ht,l.Custom1Plugin=qt,l.Custom2Plugin=Kt,l.Custom3Plugin=Xt,l.DEFAULT_ATTACHMENTS_BUTTON_ID=gt,l.DEFAULT_DRAGGING_TOOLTIP=ft,l.DEFAULT_DRAG_TOOLTIP=mt,l.DEFAULT_MENU_BUTTON_ID=Ee,l.DownloadButton=qn,l.DragHandleToolbarButton=wt,l.DragPreviewContextProvider=tt,l.ELEMENT_BUTTON=P,l.FlyoutToolbarButton=Te,l.GutterSpacing=Y,l.Heading1Plugin=Yt,l.Heading2Plugin=Jt,l.Heading3Plugin=Zt,l.Heading4Plugin=Rt,l.ImageCaptionPlugin=en,l.ImageTitlePlugin=tn,l.LinkInput=Dt,l.LinkPlugin=Wt,l.LinkSelector=Mt,l.Margin=X,l.MenuToolbarButton=bt,l.MultiFlyoutContextProvider=rt,l.PARAGRAPH_CLASSES=rn,l.Padding=j,l.ParagraphMarkupElement=an,l.ParagraphMarkupElementNode=ve,l.ParagraphPlugin=nn,l.QuoteMarkupElementNode=Ce,l.QuotePlugin=on,l.Radius=W,l.RichTextEditor=Ar,l.Sections=cn,l.Security=Q,l.THEME_PREFIX=Sa,l.TextStylePluginsWithoutImage=ze,l.TextStyles=C,l.TextStylesWithoutImage=re,l.Toolbar=vt,l.ToolbarFlyoutMenu=yt,l.addHttps=ge,l.borderStyleMap=Je,l.convertToRteValue=Kn,l.createButtonNode=Lt,l.createButtonPlugin=_t,l.createLinkPlugin=$t,l.createParagraphPlugin=sn,l.createQuotePlugin=ln,l.customCoordinatesGetterFactory=dt,l.defineBlock=Ua,l.defineSettings=_a,l.getBackgroundColorStyles=In,l.getBackgroundSettings=Ta,l.getBorderRadiusSettings=Ia,l.getBorderRadiusSlider=$e,l.getBorderSettings=Ea,l.getBorderStyles=Ln,l.getDefaultPluginsWithLinkChooser=Pa,l.getExtendedBorderRadiusSettings=Ba,l.getGutterSettings=Na,l.getLegacyUrl=pt,l.getLinkFromEditor=St,l.getMarginExtendedSettings=Aa,l.getMarginSettings=La,l.getMarginSlider=We,l.getPaddingExtendedSettings=Ma,l.getPaddingSettings=Fa,l.getPaddingSlider=qe,l.getRadiusStyles=An,l.getReadableColor=Tn,l.getSecurityDownloadableSetting=Da,l.getSecurityGlobalControlId=Ge,l.getSecurityGlobalControlSetting=Oa,l.getUrl=xt,l.getUrlFromEditor=Nt,l.getUrlFromLinkOrLegacyLink=Pt,l.gutterSpacingStyleMap=Ze,l.hasRichTextValue=Ct,l.insertButton=Et,l.isDark=kn,l.isDownloadable=jn,l.isValidUrl=he,l.isValidUrlOrEmpty=ee,l.joinClassNames=H,l.mapAppBridgeColorPaletteToFonduePalette=kt,l.mapAppBridgeColorPalettesToFonduePalettes=Xn,l.marginStyleMap=R,l.moveItemInArray=En,l.paddingStyleMap=Z,l.radiusStyleMap=K,l.relativeUrlRegex=Be,l.setAlpha=Pn,l.submitFloatingButton=Le,l.toColorObject=Sn,l.toHex8String=pn,l.toHexString=xn,l.toRgbaString=xe,l.toShortRgba=G,l.triggerFloatingButton=At,l.triggerFloatingButtonEdit=me,l.triggerFloatingButtonInsert=Fe,l.unwrapButton=ne,l.upsertButton=It,l.upsertButtonText=Ae,l.useAttachments=ot,l.useAttachmentsContext=ct,l.useDndSensors=On,l.useDragPreviewContext=ie,l.useMultiFlyoutContext=at,l.useMultiFlyoutState=ue,l.withAttachmentsProvider=Fn,l.withButton=Tt,l.wrapButton=Bt,Object.keys(h).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(l,e)&&Object.defineProperty(l,e,{enumerable:!0,get:()=>h[e]})}),Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(i,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@frontify/sidebar-settings"),require("react/jsx-runtime"),require("@frontify/fondue"),require("react"),require("@frontify/app-bridge"),require("@dnd-kit/core"),require("@dnd-kit/modifiers"),require("@dnd-kit/sortable"),require("@react-aria/focus"),require("@react-stately/overlays"),require("@ctrl/tinycolor")):typeof define=="function"&&define.amd?define(["exports","@frontify/sidebar-settings","react/jsx-runtime","@frontify/fondue","react","@frontify/app-bridge","@dnd-kit/core","@dnd-kit/modifiers","@dnd-kit/sortable","@react-aria/focus","@react-stately/overlays","@ctrl/tinycolor"],u):(i=typeof globalThis<"u"?globalThis:i||self,u(i.GuidelineBlocksSettings={},i.sidebarSettings,i.jsxRuntime,i.fondue,i.React,i.appBridge,i.core,i.modifiers,i.sortable,i.focus,i.overlays,i.tinycolor))})(this,function(i,u,s,r,y,W,T,mn,ct,jt,wn,V){"use strict";var Ma=Object.defineProperty;var Da=(i,u,s)=>u in i?Ma(i,u,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[u]=s;var L=(i,u,s)=>(Da(i,typeof u!="symbol"?u+"":u,s),s);const _=t=>t.filter(Boolean).join(" "),yn=({onDrop:t,label:e,icon:n,secondaryLabel:a,isLoading:l,fillParentContainer:o,onAssetChooseClick:c,onUploadClick:g,withMenu:d=!0,onClick:w,validFileType:m,verticalLayout:h})=>{const[f,b]=y.useState(!1),[C,k]=y.useState(),P=y.useRef(null),[B,D]=y.useState(void 0),F=S=>{if(S.preventDefault(),b(!1),!U(S.dataTransfer.files)){D("Invalid"),setTimeout(()=>{D(void 0)},1e3);return}t==null||t(S.dataTransfer.files)},U=S=>{if(!m)return!0;for(let M=0;M<S.length;M++){const O=S[M].name.split(".").pop()??"";if(!W.FileExtensionSets[m].includes(O))return!1}return!0},z=S=>{if(!P.current||l)return;const{left:M,top:O}=P.current.getBoundingClientRect(),bt=S.clientX-M,vt=S.clientY-O;k([bt,vt])};return s.jsxs("button",{ref:P,"data-test-id":"block-inject-button",className:_(["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",h?"[&: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]",f&&!l?"tw-border-dashed":"tw-border-solid",C&&"tw-bg-blank-state-pressed-inverse",f&&"tw-bg-blank-state-weak-inverse",B?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",l||C||f||B?"":"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",(f||C)&&!B?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:t?S=>{var M;if(b(!0),m==="Images")for(const O of Array.from(S.dataTransfer.items))(M=O==null?void 0:O.type)!=null&&M.startsWith("image/")?D(void 0):D("Invalid")}:void 0,onDragLeave:t?()=>{b(!1),D(void 0)}:void 0,onDrop:t?F:void 0,onClick:S=>{d&&z(S),w==null||w()},children:[l?s.jsx(r.LoadingCircle,{}):B?s.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[s.jsx(r.IconExclamationMarkTriangle,{}),B]}):s.jsxs(s.Fragment,{children:[n&&s.jsx("div",{children:n}),(e||a)&&s.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[e&&s.jsx("div",{className:"tw-font-medium",children:e}),a&&s.jsx("div",{className:"tw-font-normal",children:a})]})]}),C&&s.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:C[0],top:C[1]},children:s.jsx(r.Flyout,{onOpenChange:S=>!S&&k(void 0),isOpen:!0,fitContent:!0,hug:!1,legacyFooter:!1,trigger:s.jsx("div",{}),children:s.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[...g?[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Upload asset",onClick:()=>{g(),k(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(r.IconArrowCircleUp20,{})})}]:[],...c?[{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Browse asset",onClick:()=>{c(),k(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(r.IconImageStack20,{})})}]:[]]}]})})})]})},q=t=>{const e=a=>typeof a=="object"&&["red","green","blue"].every(o=>a.hasOwnProperty(o)),n=a=>{const l=typeof a.alpha=="number"?a.alpha:1;return{r:a.red,g:a.green,b:a.blue,a:l}};return e(t)?n(t):t},fn=t=>typeof t=="object"&&["red","green","blue"].every(n=>t==null?void 0:t.hasOwnProperty(n)),bn=(t,e)=>{const n=fn(t)?q(t):t,a=new V.TinyColor(n);return e?a.getBrightness()<e:a.isDark()||a.getAlpha()>.25&&a.getAlpha()<1},vn=t=>new V.TinyColor(q(t)).toHex8String(),pn=t=>new V.TinyColor(q(t)).toHexString(),pt=t=>new V.TinyColor(q(t)).toRgbString(),Cn=(t,e)=>new V.TinyColor(e).setAlpha(t).toRgbString(),kn=t=>{const{r:e,g:n,b:a,a:l}=new V.TinyColor(t);return{red:e,green:n,blue:a,alpha:l}},Kt=t=>typeof t=="object"&&["red","green","blue"].every(n=>t==null?void 0:t.hasOwnProperty(n)),xn=(t,e)=>{const n=Kt(t)?q(t):t,a=Kt(e)?q(e):e;let l=new V.TinyColor(n);const o=new V.TinyColor(a);for(;V.readability(l,o)<4.5;)l=l.darken(1);return l.toRgbString()},Sn=(t,e,n)=>{const a=[...t],l=n<0?a.length+n:n;if(l>=0&&l<a.length){const o=a.splice(e,1)[0];a.splice(l,0,o)}return a},Tn=t=>({backgroundColor:pt(t)});var H=(t=>(t.Solid="Solid",t.Dashed="Dashed",t.Dotted="Dotted",t))(H||{});const Xt={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var $=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))($||{});const G={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var j=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(j||{});const J={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var K=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(K||{});const Z={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var X=(t=>(t.Global="Global",t.Custom="Custom",t))(X||{}),Q=(t=>(t.Auto="Auto",t.S="S",t.M="M",t.L="L",t))(Q||{});const Qt={Auto:"4px",S:"10px",M:"30px",L:"50px"},Pn={red:241,green:241,blue:241,alpha:1},Yt={red:234,green:235,blue:235,alpha:1},In="1px",rt="24px",at="24px",En=(t=H.Solid,e="1px",n=Yt)=>({borderStyle:Xt[t],borderWidth:e,borderColor:pt(n)}),Bn=(t,e=!1,n)=>({borderRadius:e?n:G[t]}),Jt=y.createContext(!1),Zt=({children:t,isDragPreview:e})=>s.jsx(Jt.Provider,{value:e,children:t}),st=()=>y.useContext(Jt),Rt=y.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")}),te=({children:t,openFlyoutIds:e,setOpenFlyoutIds:n})=>{const a=y.useMemo(()=>({openFlyoutIds:e,setOpenFlyoutIds:n}),[e,n]);return s.jsx(Rt.Provider,{value:a,children:t})},ee=()=>y.useContext(Rt),dt=t=>{const{openFlyoutIds:e,setOpenFlyoutIds:n}=ee(),a=y.useCallback(l=>{n(o=>{const c=o.filter(g=>g!==t);return l?[...c,t]:c})},[t,n]);return{isOpen:e.includes(t),onOpenChange:a}},ne=({children:t})=>s.jsx("div",{className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:t}),re=(t,e)=>{const{blockAssets:n,addAssetIdsToKey:a,deleteAssetIdsFromKey:l,updateAssetIdsFromKey:o}=W.useBlockAssets(t),c=(n==null?void 0:n[e])||[];return{onAttachmentsAdd:async h=>{await a(e,h.map(f=>f.id))},onAttachmentDelete:async h=>{await l(e,[h.id])},onAttachmentReplace:async(h,f)=>{const b=c.map(C=>C.id===h.id?f.id:C.id);await o(e,b)},onAttachmentsSorted:async h=>{const f=h.map(b=>b.id);await o(e,f)},attachments:c,appBridge:t}},ae=y.createContext(null),se=({appBridge:t,children:e,assetId:n})=>{const a=re(t,n);return s.jsx(ae.Provider,{value:a,children:e})},le=()=>{const t=y.useContext(ae);if(!t)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return t},Nn=(t,e)=>{const n=a=>s.jsx(se,{appBridge:a.appBridge,assetId:e,children:s.jsx(t,{...a})});return n.displayName="withAttachmentsProvider",n},Ln=[T.KeyboardCode.Down,T.KeyboardCode.Right,T.KeyboardCode.Up,T.KeyboardCode.Left],ie=(t,e)=>(n,{currentCoordinates:a,context:{activeNode:l}})=>{if(n.preventDefault(),Ln.includes(n.code)){const o=(l==null?void 0:l.offsetWidth)??0,c=(l==null?void 0:l.offsetHeight)??0;switch(n.code){case T.KeyboardCode.Right:return{...a,x:a.x+o+t};case T.KeyboardCode.Left:return{...a,x:a.x-o-t};case T.KeyboardCode.Down:return{...a,y:a.y+c+e};case T.KeyboardCode.Up:return{...a,y:a.y-c-e}}}},An={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},Mn=(t=0,e=0)=>{const n=ie(t,e);return T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor,{coordinateGetter:n,keyboardCodes:An}))},Dn=t=>t==="IMAGE"?s.jsx(r.IconImage24,{}):t==="VIDEO"?s.jsx(r.IconPlayFrame24,{}):t==="AUDIO"?s.jsx(r.IconMusicNote24,{}):s.jsx(r.IconDocument24,{}),Ct=y.forwardRef(({item:t,isEditing:e,draggableProps:n,transformStyle:a,isDragging:l,isOverlay:o,isLoading:c,onDelete:g,onReplaceWithBrowse:d,onReplaceWithUpload:w,onDownload:m},h)=>{const[f,b]=y.useState(),[C,{selectedFiles:k}]=W.useFileInput({multiple:!0,accept:"image/*"}),[P,{results:B,doneAll:D}]=W.useAssetUpload(),{focusProps:F,isFocusVisible:U}=jt.useFocusRing();y.useEffect(()=>{k&&P(k[0])},[k]),y.useEffect(()=>{D&&w(B[0])},[D,B]);const z=c||k&&!D;return s.jsxs("button",{"aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>m==null?void 0:m(),ref:h,style:{...a,opacity:l&&!o?.3:1,fontFamily:"var(-f-theme-settings-body-font-family)"},className:_(["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",l?"tw-bg-box-neutral-hover":""]),children:[s.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:z?s.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small}):Dn(t.objectType)}),s.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[s.jsx("div",{className:"tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:t.title}),s.jsx("div",{className:"tw-text-text-weak",children:`${t.fileSizeHumanReadable} - ${t.extension}`})]}),e&&s.jsxs("div",{"data-test-id":"attachments-actionbar",className:_(["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||(f==null?void 0:f.id)===t.id?"tw-opacity-100":"tw-opacity-0"]),children:[s.jsx("button",{...F,...n,"aria-label":"Drag attachment",className:_([" 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 ",l||o?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",U&&r.FOCUS_STYLE,U&&"tw-z-[2]"]),children:s.jsx(r.IconGrabHandle20,{})}),s.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:s.jsx(r.Flyout,{placement:r.FlyoutPlacement.Right,isOpen:(f==null?void 0:f.id)===t.id,fitContent:!0,legacyFooter:!1,onOpenChange:S=>b(S?t:void 0),trigger:(S,M)=>s.jsx(r.Button,{ref:M,icon:s.jsx(r.IconPen20,{}),emphasis:r.ButtonEmphasis.Default,onClick:()=>b(t)}),children:s.jsx(r.ActionMenu,{menuBlocks:[{id:"menu",menuItems:[{id:"upload",size:r.MenuItemContentSize.XSmall,title:"Replace with upload",onClick:()=>{C(),b(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(r.IconArrowCircleUp20,{})})},{id:"asset",size:r.MenuItemContentSize.XSmall,title:"Replace with asset",onClick:()=>{d(),b(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(r.IconImageStack20,{})})}]},{id:"menu-delete",menuItems:[{id:"delete",size:r.MenuItemContentSize.XSmall,title:"Delete",style:r.MenuItemStyle.Danger,onClick:()=>{g(),b(void 0)},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:s.jsx(r.IconTrashBin20,{})})}]}]})})})]})]})});Ct.displayName="AttachmentItem";const Fn=t=>{const{attributes:e,listeners:n,setNodeRef:a,transform:l,transition:o,isDragging:c}=ct.useSortable({id:t.item.id}),g={transform:l?`translate(${l.x}px, ${l.y}px)`:"",transition:o,zIndex:c?2:1},d={...e,...n};return s.jsx(Ct,{ref:a,isDragging:c,transformStyle:g,draggableProps:d,...t})},On=({children:t,isFlyoutOpen:e,triggerProps:n,triggerRef:a})=>s.jsxs("button",{className:_(["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",e?"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:a,"data-test-id":"attachments-button-trigger",children:[s.jsx(r.IconPaperclip16,{}),t,s.jsx(r.IconCaretDown12,{})]}),oe=({items:t=[],onDelete:e,onReplaceWithBrowse:n,onReplaceWithUpload:a,onBrowse:l,onUpload:o,onSorted:c,appBridge:g,triggerComponent:d=On,isOpen:w,onOpenChange:m})=>{const[h,f]=y.useState(t),[b,C]=y.useState(!1),k=T.useSensors(T.useSensor(T.PointerSensor),T.useSensor(T.KeyboardSensor)),[P,B]=y.useState(void 0),[D,F]=y.useState(!1),[U,z]=y.useState([]),[S,M]=y.useState(null),O=W.useEditorState(g),{openAssetChooser:bt,closeAssetChooser:vt}=W.useAssetChooser(g),on=w!==void 0,qt=on?w:b,nt=h==null?void 0:h.find(p=>p.id===P),[Ia,{results:cn,doneAll:dn}]=W.useAssetUpload({onUploadProgress:()=>!D&&F(!0)}),ot=p=>{const E=on?m:C;E==null||E(p)};y.useEffect(()=>{f(t)},[t]),y.useEffect(()=>{S&&(F(!0),Ia(S))},[S]),y.useEffect(()=>{(async()=>{dn&&(await o(cn),F(!1))})()},[dn,cn]);const Ea=()=>{ot(!1),bt(p=>{l(p),vt(),ot(!0)},{multiSelection:!0,selectedValueIds:h.map(p=>p.id)})},gn=p=>{ot(!1),bt(async E=>{ot(!0),vt(),z([...U,p.id]),await n(p,E[0]),z(U.filter(Y=>Y!==p.id))},{multiSelection:!1,selectedValueIds:h.map(E=>E.id)})},un=async(p,E)=>{z([...U,p.id]),await a(p,E),z(U.filter(Y=>Y!==p.id))},Ba=p=>{const{active:E}=p;B(E.id)},Na=p=>{const{active:E,over:Y}=p;if(Y&&E.id!==Y.id&&h){const La=h.findIndex(Gt=>Gt.id===E.id),Aa=h.findIndex(Gt=>Gt.id===Y.id),hn=ct.arrayMove(h,La,Aa);f(hn),c(hn)}B(void 0)};return O||((h==null?void 0:h.length)??0)>0?s.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Attachments",disabled:qt,enterDelay:500,triggerElement:s.jsx("div",{"data-test-id":"attachments-flyout-button",children:s.jsx(r.Flyout,{placement:r.FlyoutPlacement.BottomRight,onOpenChange:p=>ot(nt?!0:p),isOpen:qt,hug:!1,fitContent:!0,legacyFooter:!1,trigger:(p,E)=>s.jsx(d,{isFlyoutOpen:qt,triggerProps:p,triggerRef:E,children:s.jsx("div",{children:t.length>0?t.length:"Add"})}),children:s.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[h.length>0&&s.jsxs(T.DndContext,{sensors:k,collisionDetection:T.closestCenter,onDragStart:Ba,onDragEnd:Na,modifiers:[mn.restrictToWindowEdges],children:[s.jsx(ct.SortableContext,{items:h,strategy:ct.rectSortingStrategy,children:s.jsx("div",{className:"tw-border-b tw-border-b-line",children:h.map(p=>s.jsx(Fn,{isEditing:O,isLoading:U.includes(p.id),item:p,onDelete:()=>e(p),onReplaceWithBrowse:()=>gn(p),onReplaceWithUpload:E=>un(p,E),onDownload:()=>g.dispatch({name:"downloadAsset",payload:p})},p.id))})}),s.jsx(T.DragOverlay,{children:nt&&s.jsx(Ct,{isOverlay:!0,isEditing:O,item:nt,isDragging:!0,onDelete:()=>e(nt),onReplaceWithBrowse:()=>gn(nt),onReplaceWithUpload:p=>un(nt,p)},P)})]}),O&&s.jsxs("div",{className:"tw-px-5 tw-py-3",children:[s.jsx("div",{className:"tw-font-body tw-font-medium tw-text-text tw-text-s tw-my-4",children:"Add attachments"}),s.jsx(r.AssetInput,{isLoading:D,size:r.AssetInputSize.Small,onUploadClick:p=>M(p),onLibraryClick:Ea})]})]})})})}):null},Un=(t,e)=>{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 e?n.push("tw-bg-box-neutral-pressed","tw-text-box-neutral-inverse-pressed",t==="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",t==="grab"?"!tw-cursor-grab active:tw-cursor-grabbing":"tw-cursor-pointer"),_(n)},lt=y.forwardRef(({onClick:t,children:e,forceActiveStyle:n,cursor:a="pointer","data-test-id":l="base-toolbar-button",...o},c)=>s.jsx("button",{onClick:t,className:Un(a,n),"data-test-id":l,...o,ref:c,children:e}));lt.displayName="BaseToolbarButton";const _n=({children:t,isFlyoutOpen:e,triggerProps:n,triggerRef:a})=>s.jsxs(lt,{forceActiveStyle:e,"data-test-id":"attachments-toolbar-button-trigger",...n,ref:a,children:[s.jsx(r.IconPaperclip16,{}),t,s.jsx(r.IconCaretDown12,{})]}),ce="attachments",de=({flyoutId:t=ce})=>{const e=r.useMemoizedId(t),{appBridge:n,attachments:a,onAttachmentsAdd:l,onAttachmentDelete:o,onAttachmentReplace:c,onAttachmentsSorted:g}=le(),{isOpen:d,onOpenChange:w}=dt(e),m=st();return s.jsx(oe,{onUpload:l,onDelete:o,onReplaceWithBrowse:c,onReplaceWithUpload:c,onSorted:g,onBrowse:l,items:a,appBridge:n,triggerComponent:_n,isOpen:d&&!m,onOpenChange:w})},kt=({open:t,content:e,children:n,disabled:a})=>s.jsx(r.LegacyTooltip,{withArrow:!0,hoverDelay:0,enterDelay:300,open:t,disabled:a,position:r.TooltipPosition.Top,content:s.jsx("div",{children:e}),triggerElement:n,"data-test-id":"toolbar-button-tooltip"}),Hn=({tooltip:t,icon:e,onClick:n})=>{const a=st();return s.jsx(kt,{disabled:a,content:t??"",children:s.jsx(lt,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:e})})},ge="Drag or press ↵ to move",ue="Move with ↑↓←→ and confirm with ↵",he=({tooltip:t,icon:e,setActivatorNodeRef:n,draggableProps:a})=>{const l=st();return s.jsx(kt,{open:l,content:s.jsx("div",{children:l?ue:t??ge}),children:s.jsx(lt,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:l,cursor:"grab",...a,children:e})})},xt=({content:t,icon:e,tooltip:n,flyoutId:a,flyoutFooter:l,flyoutHeader:o})=>{const c=r.useMemoizedId(a),{isOpen:g,onOpenChange:d}=dt(c),w=st();return s.jsx(kt,{disabled:w||g,content:n,children:s.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:s.jsx(r.Flyout,{isOpen:g&&!w,legacyFooter:!1,fixedFooter:l,fixedHeader:o,fitContent:!0,hug:!1,placement:r.FlyoutPlacement.BottomRight,onOpenChange:d,trigger:(m,h)=>s.jsx(lt,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:g&&!w,...m,ref:h,children:e}),children:t})})})},me=({items:t,flyoutId:e})=>{const{onOpenChange:n}=dt(e);return s.jsx(r.ActionMenu,{menuBlocks:t.map((a,l)=>({id:l.toString(),menuItems:a.map((o,c)=>({id:l.toString()+c.toString(),size:r.MenuItemContentSize.XSmall,title:o.title,style:o.style,onClick:()=>{n(!1),o.onClick()},initialValue:!0,decorator:s.jsx("div",{className:"tw-mr-2",children:o.icon})}))}))})},St="menu",we=({items:t,flyoutId:e=St,tooltip:n="Options"})=>{const a=r.useMemoizedId(e);return s.jsx(xt,{icon:s.jsx(r.IconDotsHorizontal16,{}),tooltip:n,flyoutId:a,content:s.jsx(me,{items:t,flyoutId:a})})},ye=({items:t,attachments:e})=>s.jsxs("div",{"data-test-id":"block-item-wrapper-toolbar",className:"tw-rounded-md tw-bg-base tw-border tw-border-line-strong tw-divide-x tw-divide-line-strong tw-shadow-lg tw-flex tw-flex-none tw-items-center tw-isolate",children:[e.isEnabled&&s.jsx(ne,{children:s.jsx(de,{})}),s.jsx(ne,{children:t.map(n=>n.type==="dragHandle"?s.jsx(he,{...n},n.tooltip+n.type):n.type==="menu"?s.jsx(we,{...n},n.tooltip+n.type):n.type==="flyout"?s.jsx(xt,{...n},n.tooltip+n.type):s.jsx(Hn,{...n},n.tooltip+n.type))})]}),Vn=({children:t,toolbarItems:e,shouldHideWrapper:n,shouldHideComponent:a=!1,isDragging:l=!1,shouldFillContainer:o,outlineOffset:c=2,shouldBeShown:g=!1,showAttachments:d=!1})=>{const[w,m]=y.useState(g?[St]:[]),h=y.useRef(null);if(n)return s.jsx(s.Fragment,{children:t});const f=e==null?void 0:e.filter(C=>C!==void 0),b=w.length>0||g;return s.jsx(Zt,{isDragPreview:l,children:s.jsx(te,{openFlyoutIds:w,setOpenFlyoutIds:m,children:s.jsxs("div",{ref:h,"data-test-id":"block-item-wrapper",style:{outlineOffset:c},className:_(["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",b&&"tw-outline",a&&"tw-opacity-0"]),children:[s.jsx("div",{style:{right:-1-c,bottom:`calc(100% - ${2+c}px)`},className:_(["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",b&&"tw-opacity-100"]),children:s.jsx(ye,{attachments:{isEnabled:d},items:f})}),t]})})})},zn=({onDownload:t})=>{const{isFocused:e,focusProps:n}=jt.useFocusRing();return s.jsx(r.LegacyTooltip,{withArrow:!0,position:r.TooltipPosition.Top,content:"Download",enterDelay:500,triggerElement:s.jsx("button",{tabIndex:0,"aria-label":"Download",...n,className:_(["tw-outline-none tw-rounded",e&&r.FOCUS_STYLE]),onClick:t,onPointerDown:a=>a.preventDefault(),children:s.jsx("span",{"data-test-id":"download-button",className:"tw-flex tw-text-xs tw-font-body tw-items-center tw-gap-1 tw-rounded-full tw-bg-box-neutral-strong-inverse hover:tw-bg-box-neutral-strong-inverse-hover active:tw-bg-box-neutral-strong-inverse-pressed tw-text-box-neutral-strong tw-outline tw-outline-1 tw-outline-offset-1 tw-p-1.5 tw-outline-line",children:s.jsx(r.IconArrowCircleDown16,{})})})})},$n=({value:t="",gap:e,columns:n,show:a=!0,plugins:l})=>{const[o,c]=y.useState(null);return y.useEffect(()=>{(async()=>c(await r.serializeRawToHtmlAsync(t,l,n,e)))()},[t,n,e,l]),!a||o==="<br />"?null:o!==null?s.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:o}}):s.jsx("div",{className:"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full"})},Tt=r.createStore("floatingButton")({openEditorId:null,mouseDown:!1,updated:!1,url:"",text:"",buttonStyle:"primary",newTab:!1,mode:"",isEditing:!1}).extendActions(t=>({reset:()=>{t.url(""),t.text(""),t.buttonStyle("primary"),t.newTab(!1),t.mode(""),t.isEditing(!1)}})).extendActions(t=>({show:(e,n)=>{t.mode(e),t.isEditing(!1),t.openEditorId(n)},hide:()=>{t.reset(),t.openEditorId(null)}})).extendSelectors(t=>({isOpen:e=>t.openEditorId===e})),I=Tt.set,A=Tt.get,it=()=>Tt.use,fe=t=>{if(!t)return!1;const e=n=>n.some(a=>a.text?a.text!=="":a.children?e(a.children):!1);try{const n=JSON.parse(t);return e(n)}catch{return!1}},Wn=(t="p",e="",n)=>fe(e)?e:JSON.stringify([{type:t,children:[{text:e,textStyle:t}],align:n}]),qn=(t,e,n)=>t===X.Custom?e:n,Gn=t=>t.map(be),be=t=>({id:t.id,title:t.name,colors:t.colors.map(Kn)}),jn=t=>"revision"in t,Kn=t=>{if(jn(t)){const{title:e,revision:n}=t;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:e??""}}return{alpha:t.alpha?t.alpha/255:1,red:t.red??0,green:t.green??0,blue:t.blue??0,name:t.name??""}},Pt=(t,e)=>{const n=r.getAboveNode(t,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},Xn=t=>Pt(t,e=>{var n,a;return((a=(n=e.chosenLink)==null?void 0:n.searchResult)==null?void 0:a.link)||""}),Qn=t=>Pt(t,e=>e.url||""),It=t=>{var e,n;return t.url||((n=(e=t.chosenLink)==null?void 0:e.searchResult)==null?void 0:n.link)||""},Yn=t=>Pt(t,It),Et=/^\/(document|r)\/\S+$/i,gt=t=>{if(Et.test(t))return t;try{return new URL(t),t}catch{return`https://${t}`}},ut=t=>{if(Et.test(t))return!0;try{const e=new URL(t);return["http:","https:","mailto:","tel:"].includes(e.protocol)&&e.pathname!==""}catch{return!1}},R=t=>ut(gt(t))||t==="",ve=(t,{type:e})=>{const{apply:n,normalizeNode:a}=t;return t.apply=l=>{if(l.type!=="set_selection"){n(l);return}const o=l.newProperties;if(!(o!=null&&o.focus)||!o.anchor||!r.isCollapsed(o)){n(l);return}const c=r.getAboveNode(t,{at:o,match:{type:r.getPluginType(t,x)}});if(c){const[,g]=c;let d;r.isStartPoint(t,o.focus,g)&&(d=r.getPreviousNodeEndPoint(t,g)),r.isEndPoint(t,o.focus,g)&&(d=r.getNextNodeStartPoint(t,g)),d&&(l.newProperties={anchor:d,focus:d})}n(l)},t.normalizeNode=([l,o])=>{if(l.type===r.getPluginType(t,x)){const c=t.selection;if(c&&r.isCollapsed(c)&&r.isEndPoint(t,c.focus,o)){const g=r.getNextNodeStartPoint(t,o);if(g)r.select(t,g);else{const d=r.Path.next(o);r.insertNodes(t,{text:""},{at:d}),r.select(t,d)}}}a([l,o])},r.withRemoveEmptyNodes(t,r.mockPlugin({options:{types:e}}))},pe=(t,e,n)=>{r.insertNodes(t,[Se(t,e)],n)},Bt=t=>{if(!t.selection)return;const{isUrl:e,forceSubmit:n}=r.getPluginOptions(t,x),a=A.url();if(!((e==null?void 0:e(a))||n))return;const o=A.text(),c=A.buttonStyle(),g=A.newTab()?void 0:"_self";return I.reset(),Ce(t,{url:a,text:o,buttonStyle:c,target:g,isUrl:d=>n||!e?!0:e(d)}),setTimeout(()=>{r.focusEditor(t,t.selection??void 0)},0),!0},tt=(t,e)=>r.withoutNormalizing(t,()=>{var n,a,l,o,c,g;if(e!=null&&e.split){if(r.getAboveNode(t,{at:(n=t.selection)==null?void 0:n.anchor,match:{type:r.getPluginType(t,x)}}))return r.splitNodes(t,{at:(a=t.selection)==null?void 0:a.anchor,match:m=>r.isElement(m)&&m.type===r.getPluginType(t,x)}),tt(t,{at:(l=t.selection)==null?void 0:l.anchor}),!0;if(r.getAboveNode(t,{at:(o=t.selection)==null?void 0:o.focus,match:{type:r.getPluginType(t,x)}}))return r.splitNodes(t,{at:(c=t.selection)==null?void 0:c.focus,match:m=>r.isElement(m)&&m.type===r.getPluginType(t,x)}),tt(t,{at:(g=t.selection)==null?void 0:g.focus}),!0}r.unwrapNodes(t,{match:{type:r.getPluginType(t,x)},...e})}),Ce=(t,{url:e,text:n,buttonStyle:a,target:l,insertTextInButton:o,insertNodesOptions:c,isUrl:g=r.getPluginOptions(t,x).isUrl})=>{var B;const d=t.selection;if(!d)return;const w=r.getAboveNode(t,{at:d,match:{type:r.getPluginType(t,x)}});if(o&&w)return t.insertText(e),!0;if(!(g!=null&&g(e)))return;if(r.isDefined(n)&&n.length===0&&(n=e),w)return Rn(e,t,w,l,a,n),!0;const m=r.findNode(t,{at:d,match:{type:r.getPluginType(t,x)}}),[h,f]=m??[],b=Jn(t,f,n);if(r.isExpanded(d))return Zn(w,t,e,a,l,n),!0;b&&r.removeNodes(t,{at:f});const C=r.getNodeProps(h??{}),k=(B=t.selection)==null?void 0:B.focus.path;if(!k)return;const P=r.getNodeLeaf(t,k);return n!=null&&n.length||(n=e),pe(t,{...C,url:e,target:l,children:[{...P,text:n}]},c),!0};function Jn(t,e,n){return e&&(n==null?void 0:n.length)&&n!==r.getEditorString(t,e)}function Zn(t,e,n,a,l,o){t?tt(e,{at:t[1]}):tt(e,{split:!0}),ke(e,{url:n,buttonStyle:a,target:l}),Nt(e,{url:n,target:l,text:o})}function Rn(t,e,n,a,l,o){var c,g,d;(t!==((c=n[0])==null?void 0:c.url)||a!==((g=n[0])==null?void 0:g.target)||l!==((d=n[0])==null?void 0:d.buttonStyle))&&r.setNodes(e,{url:t,target:a,buttonStyle:l},{at:n[1]}),Nt(e,{url:t,text:o,target:a})}const Nt=(t,{text:e})=>{const n=r.getAboveNode(t,{match:{type:r.getPluginType(t,x)}});if(n){const[a,l]=n;if(e!=null&&e.length&&e!==r.getEditorString(t,l)){const o=a.children[0];r.replaceNodeChildren(t,{at:l,nodes:{...o,text:e},insertOptions:{select:!0}})}}},ke=(t,{url:e,buttonStyle:n,target:a,...l})=>{r.wrapNodes(t,{type:r.getPluginType(t,x),url:e,buttonStyle:n,target:a,children:[]},{split:!0,...l})},tr=(t,e)=>{const n=r.getAboveNode(t,{match:{type:x}});return Array.isArray(n)?e(n[0]):""},xe=t=>tr(t,e=>e.url??""),Se=(t,{url:e,text:n="",buttonStyle:a="primary",target:l,children:o})=>({type:r.getPluginType(t,x),url:e,target:l,buttonStyle:a,children:o??[{text:n}]}),Te=(t,{focused:e}={})=>{if(A.mode()==="edit"){ht(t);return}Lt(t,{focused:e})},ht=t=>{const e=r.findNode(t,{match:{type:r.getPluginType(t,x)}});if(!e)return;const[n,a]=e;let l=r.getEditorString(t,a);I.url(n.url),I.newTab(n.target===void 0),l===n.url&&(l=""),I.text(l),I.isEditing(!0)},Lt=(t,{focused:e}={})=>{A.mode()||!e||r.isRangeAcrossBlocks(t,{at:t.selection})||r.someNode(t,{match:{type:r.getPluginType(t,x)}})||(I.text(r.getEditorString(t,t.selection)),I.show("insert",t.id))},mt={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)"}}},er=t=>{var c,g;const{attributes:e,children:n}=t,a=t.element.url||((g=(c=t.element.chosenLink)==null?void 0:c.searchResult)==null?void 0:g.link)||"",l=t.element.target||"_self",o=String(t.element.buttonStyle)||"primary";return s.jsx(nr,{attributes:e,href:a,target:l,styles:mt[`button${o.charAt(0).toUpperCase()+o.slice(1)}`],children:n})},nr=({attributes:t,styles:e={hover:{}},children:n,href:a="#",target:l})=>{const[o,c]=y.useState(!1);return s.jsx("a",{...t,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),href:a,target:l,style:o?{...e,...e.hover}:e,children:n})};class rr extends r.MarkupElement{constructor(e=x,n=er){super(e,n)}}const Pe=y.forwardRef((t,e)=>{const n=r.useEditorRef();return s.jsx(r.ToolbarButton,{ref:e,...t,onMouseDown:()=>{r.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{Te(n,{focused:!0})},children:s.jsx(r.IconStylingWrapper,{icon:s.jsx(r.IconButton16,{})})})});Pe.displayName="ButtonToolbarButton";const ar=({editorId:t,id:e})=>{const n=r.useEditorState(r.useEventPlateId(t)),a=!!r.isRangeInSameBlock(n,{at:n.selection}),l=r.getPluginType(n,x),o=!!(n!=null&&n.selection)&&r.someNode(n,{match:{type:l}});return s.jsx("div",{"data-plugin-id":e,children:s.jsx(Pe,{pressed:o,disabled:!a,tooltip:r.getTooltip(a?`Button
|
|
2
|
+
${r.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block.")})})},sr=()=>{const t=r.useEditorRef();return s.jsx("div",{"data-test-id":"floating-button-edit",className:"tw-bg-white tw-text-text tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:A.url()}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("button",{onClick:()=>{ht(t)},tabIndex:0,"data-test-id":"edit-button-button",className:"tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1",children:s.jsx(r.IconPen16,{})}),s.jsx("button",{onClick:()=>{tt(t),r.focusEditor(t,t.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:s.jsx(r.IconTrashBin16,{})})]})]})})},lr=({section:t,selectedUrl:e,onSelectUrl:n})=>{const a=t.permanentLink===e;return s.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",a?"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(t.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-h-6",children:[s.jsx(r.IconDocumentText16,{}),s.jsx("span",{className:"tw-text-s",children:t.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Section"})]})})},ir=({page:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:a,getDocumentSectionsByDocumentPageId:l})=>{const[o,c]=y.useState(t.id===a.documentId),[g,d]=y.useState([]),w=t.permanentLink===e;y.useEffect(()=>{(async()=>{const b=await l(t.id);d(b)})()},[t.id,l]),y.useEffect(()=>{t.id===a.pageId&&c(!0)},[a,t.id]);const m=[...g.values()],h=m.length>0;return s.jsxs(s.Fragment,{children:[s.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",w?"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(t.permanentLink),children:s.jsxs("div",{className:"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6",children:[h&&s.jsx("button",{"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!o),children:s.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":""])})}),s.jsx("span",{className:"tw-text-s",children:t.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},t.id)}),o&&m.length>0&&m.map(f=>s.jsx(lr,{section:f,selectedUrl:e,onSelectUrl:n},f.id))]})},Ie=()=>s.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:s.jsx(r.LoadingCircle,{size:r.LoadingCircleSize.Small})}),or=({documentId:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:a,getDocumentSectionsByDocumentPageId:l,getDocumentPagesByDocumentId:o})=>{const[c,g]=y.useState([]),[d,w]=y.useState(!0),m=[...c.values()],h=!d&&m.length>0;return y.useEffect(()=>{o(t).then(f=>{const b=f.filter(k=>!!k.category).sort((k,P)=>k.category.sort===P.category.sort?k.sort-P.sort:k.category.sort-P.category.sort),C=f.filter(k=>!k.category).sort((k,P)=>k.sort-P.sort);g([...b,...C])}).finally(()=>{w(!1)})},[]),d?s.jsx(Ie,{}):h?s.jsx(s.Fragment,{children:m.map(f=>s.jsx(ir,{page:f,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:a,getDocumentSectionsByDocumentPageId:l},f.id))}):s.jsx("div",{className:"tw-h-10 tw-flex tw-items-center tw-pr-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak",children:"This document does not contain any pages."})},cr=({document:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:a,getDocumentSectionsByDocumentPageId:l,getDocumentPagesByDocumentId:o})=>{const[c,g]=y.useState(t.id===a.documentId),d=t.permanentLink===e;return y.useEffect(()=>{t.id===a.documentId&&g(!0)},[a,t.id]),s.jsxs(s.Fragment,{children:[s.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",d?"tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"]),onClick:()=>n(t.permanentLink),children:[s.jsx("button",{role:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>g(!c),children:s.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",c?"tw-rotate-90":""])})}),s.jsx(r.IconColorFan16,{}),s.jsx("span",{className:"tw-text-s",children:t.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),c&&s.jsx(or,{documentId:t.id,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:a,getDocumentSectionsByDocumentPageId:l,getDocumentPagesByDocumentId:o})]})},dr=({selectedUrl:t,onSelectUrl:e,getAllDocuments:n,getDocumentPagesByDocumentId:a,getDocumentSectionsByDocumentPageId:l})=>{const[o,c]=y.useState(!0),[g,d]=y.useState([]),[w,m]=y.useState({documentId:void 0,pageId:void 0}),h=[...g.values()];y.useEffect(()=>{t&&h.length>0&&f().then(b=>{m(b)})},[h.length]),y.useEffect(()=>{n().then(b=>{d(b)}).finally(()=>{c(!1)})},[]);const f=async()=>{const b={documentId:void 0,pageId:void 0};if(h.find(k=>k.permanentLink===t))return b;for(const k of h){const B=[...(await a(k.id)).values()];if(!!B.find(F=>F.permanentLink===t))return b.documentId=k.id,b;for(const F of B)if(!![...(await l(F.id)).values()].find(M=>M.permanentLink===t))return b.documentId=k.id,b.pageId=F.id,b}return b};return o?s.jsx(Ie,{}):s.jsx(s.Fragment,{children:h.map(b=>s.jsx(cr,{document:b,selectedUrl:t,onSelectUrl:e,itemsToExpandInitially:w,getDocumentSectionsByDocumentPageId:l,getDocumentPagesByDocumentId:a},b.id))})},Ee=({url:t,onUrlChange:e,buttonSize:n=r.ButtonSize.Medium,getAllDocuments:a,getDocumentPagesByDocumentId:l,getDocumentSectionsByDocumentPageId:o})=>{const{open:c,isOpen:g,close:d}=wn.useOverlayTriggerState({}),[w,m]=y.useState(t),h=C=>{m(C)},f=C=>{C.key==="Enter"&&b()};y.useEffect(()=>{t&&!w&&m(t)},[t,w]);const b=()=>{e==null||e(w),d()};return s.jsxs("div",{onPointerDown:C=>C.preventDefault(),"data-test-id":"internal-link-selector",onKeyDown:f,children:[s.jsx(r.Button,{icon:s.jsx(r.IconLink,{}),size:n,type:r.ButtonType.Button,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,onClick:()=>c(),children:"Internal link"}),s.jsxs(r.Modal,{zIndex:1001,onClose:()=>d(),isOpen:g,isDismissable:!0,children:[s.jsx(r.Modal.Header,{title:"Select internal link"}),s.jsx(r.Modal.Body,{children:s.jsx(dr,{selectedUrl:w,onSelectUrl:h,getAllDocuments:a,getDocumentPagesByDocumentId:l,getDocumentSectionsByDocumentPageId:o})}),s.jsx(r.Modal.Footer,{buttons:[{children:"Cancel",onClick:()=>d(),style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default},{children:"Choose",onClick:C=>{C==null||C.preventDefault(),b()},style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Strong,disabled:!w}]})]})]})},Be=({onUrlChange:t,onToggleTab:e,isValidUrlOrEmpty:n,appBridge:a,clearable:l,placeholder:o,newTab:c,openInNewTab:g,url:d="",required:w,info:m,label:h,buttonSize:f,hideInternalLinkButton:b})=>{const C=n?n(d):R(d),k=c??(g?r.CheckboxState.Checked:r.CheckboxState.Unchecked);return s.jsxs("div",{"data-test-id":"link-input",children:[s.jsx(r.FormControl,{label:{children:h,htmlFor:"url",required:w,tooltip:m?{content:m,position:r.TooltipPosition.Top}:void 0},children:s.jsx(r.TextInput,{id:"url",value:d,clearable:l,onChange:t,placeholder:o??"https://example.com",focusOnMount:!0})}),!C&&s.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!b&&s.jsx("div",{className:"tw-mt-3",children:s.jsx(Ee,{url:d,onUrlChange:t,buttonSize:f??r.ButtonSize.Medium,getAllDocuments:()=>a.getAllDocuments(),getDocumentPagesByDocumentId:P=>a.getDocumentPagesByDocumentId(P),getDocumentSectionsByDocumentPageId:P=>a.getDocumentSectionsByDocumentPageId(P)})}),s.jsx("div",{className:"tw-mt-3",children:s.jsx(r.Checkbox,{value:"new-tab",label:"Open in new tab",state:k,onChange:e})})]})},Ne=({state:t,onTextChange:e,onUrlChange:n,onToggleTab:a,onCancel:l,onSave:o,isValidUrlOrEmpty:c,hasValues:g,testId:d,appBridge:w,children:m})=>s.jsxs("div",{"data-test-id":d,className:"tw-bg-white tw-rounded tw-shadow tw-p-7 tw-min-w-[400px] tw-overflow-y-auto",children:[s.jsx(r.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:s.jsx(r.TextInput,{id:"linkText",value:t.text,placeholder:"Link Text",onChange:e})}),m,s.jsx("div",{className:"tw-mt-5",children:s.jsx(Be,{url:t.url,newTab:t.newTab,onUrlChange:n,onToggleTab:a,isValidUrlOrEmpty:c,appBridge:w})}),s.jsx("div",{className:"tw-mt-3",children:s.jsxs("div",{className:"tw-pt-5 tw-flex tw-gap-x-3 tw-justify-end tw-border-t tw-border-t-black-10",children:[s.jsx(r.Button,{onClick:l,size:r.ButtonSize.Medium,style:r.ButtonStyle.Default,emphasis:r.ButtonEmphasis.Default,children:"Cancel"}),s.jsx(r.Button,{onClick:o,size:r.ButtonSize.Medium,icon:s.jsx(r.IconCheckMark20,{}),disabled:!c(t==null?void 0:t.url)||!g,children:"Save"})]})})]}),gr=t=>{var n;const e=r.getAboveNode(t,{match:{type:x}});return Array.isArray(e)&&((n=e[0])==null?void 0:n.buttonStyle)||"primary"},ur={url:"",text:"",buttonStyle:"primary",newTab:r.CheckboxState.Unchecked},hr=()=>{const[t,e]=y.useReducer((n,a)=>{const{type:l,payload:o}=a;switch(l){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}},ur);return[t,e]},mr=()=>{const t=r.useEditorRef(),[e,n]=hr();y.useEffect(()=>{const h=gr(t);n({type:"INIT",payload:{text:A.text(),buttonStyle:h,newTab:A.newTab()?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:A.url()}})},[n,t]);const a=h=>{n({type:"TEXT",payload:{text:h}})},l=h=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:h}})},o=h=>{n({type:"URL",payload:{url:h}})},c=h=>{n(h?{type:"NEW_TAB"}:{type:"SAME_TAB"})},g=()=>{I.reset()},d=h=>{if(!R(e.url)||!w)return;const f=gt(e.url);I.text(e.text),I.url(f),I.buttonStyle(e.buttonStyle),I.newTab(e.newTab===r.CheckboxState.Checked),Bt(t)&&(h==null||h.preventDefault())},w=e.url!==""&&e.text!=="",{appBridge:m}=r.getPluginOptions(t,x);return r.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:a,onButtonStyleChange:l,onUrlChange:o,onToggleTab:c,onCancel:g,onSave:d,hasValues:w,isValidUrlOrEmpty:R,appBridge:m}},wt="link-plugin";var v=(t=>(t.heading1="heading1",t.heading2="heading2",t.heading3="heading3",t.heading4="heading4",t.custom1="custom1",t.custom2="custom2",t.custom3="custom3",t.quote="quote",t.imageCaption="imageCaption",t.imageTitle="imageTitle",t.p="p",t))(v||{});const N={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)"},[wt]:{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)"},...mt},wr=()=>{const t=mr(),{state:e,onButtonStyleChange:n}=t;return s.jsx(Ne,{...t,testId:"floating-button-insert",children:s.jsx("div",{className:"tw-pt-5",children:s.jsxs(r.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[s.jsx(At,{id:"primary",styles:N.buttonPrimary,isActive:e.buttonStyle==="primary",onClick:()=>n("primary"),children:e.text||"Primary Button"}),s.jsx(At,{id:"secondary",styles:N.buttonSecondary,isActive:e.buttonStyle==="secondary",onClick:()=>n("secondary"),children:e.text||"Secondary Button"}),s.jsx(At,{id:"tertiary",styles:N.buttonTertiary,isActive:e.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:e.text||"Tertiary Button"})]})})})},At=({id:t,styles:e,isActive:n,onClick:a,children:l})=>{const[o,c]=y.useState(!1),g=()=>e&&e.hover&&o?{...e,...e.hover}:e;return s.jsx("button",{"data-test-id":`floating-button-insert-${t}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onClick:a,style:{...g(),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:l})},Le={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},yr=()=>{const{ref:t,...e}=vr(Le),{ref:n,...a}=fr(Le),l=r.useEditorRef(),o=it(),c=o.isOpen(l.id),g=o.isEditing(),d=o.mode(),w=s.jsx(wr,{}),m=g?w:s.jsx(sr,{});return s.jsxs(s.Fragment,{children:[c&&d==="insert"&&s.jsx("div",{ref:t,...e,children:w}),c&&d==="edit"&&s.jsx("div",{ref:n,...a,children:m})]})},x="button",Ae="button-plugin",Me=t=>r.createPluginFactory({key:x,isElement:!0,isInline:!0,props:({element:e})=>({nodeProps:{href:e==null?void 0:e.url,target:e==null?void 0:e.target}}),withOverrides:ve,renderAfterEditable:yr,options:{isUrl:ut,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:t},then:(e,{type:n})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:a=>({type:n,url:a.getAttribute("href"),target:a.getAttribute("target")||"_blank"})}})})();class De extends r.Plugin{constructor({styles:n=mt,...a}){super(Ae,{button:ar,markupElement:new rr,...a});L(this,"styles",{});L(this,"appBridge");this.styles=n,this.appBridge=a==null?void 0:a.appBridge}plugins(){return[Me(this.appBridge)]}}const fr=t=>{const e=r.useEditorRef(),n=it().mode(),a=it().isOpen(e.id),l=r.useEditorVersion(),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(e,x),c=y.useCallback(()=>{const h=r.getAboveNode(e,{match:{type:r.getPluginType(e,x)}});if(h){const[,f]=h;return r.getRangeBoundingClientRect(e,{anchor:r.getStartPoint(e,f),focus:r.getEndPoint(e,f)})}return r.getDefaultBoundingClientRect()},[e]),g=a&&n==="edit",{update:d,style:w,floating:m}=Oe({open:g,getBoundingClientRect:c,...t});return y.useEffect(()=>{const h=xe(e);if(h&&I.url(h),e.selection&&r.someNode(e,{match:{type:r.getPluginType(e,x)}})){I.show("edit",e.id),d();return}A.mode()==="edit"&&I.reset()},[e,l,d]),r.useHotkeys(o,h=>{h.preventDefault(),A.mode()==="edit"&&ht(e)},{enableOnContentEditable:!0},[]),br(),Fe(),{style:{...w,zIndex:1e3},ref:r.useComposedRef(m)}},br=()=>{const t=r.useEditorRef();r.useHotkeys("*",e=>{e.key==="Enter"&&Bt(t)&&e.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Fe=()=>{const t=r.useEditorRef();r.useHotkeys("escape",()=>{if(A.mode()==="edit"){if(A.isEditing()){I.show("edit",t.id),r.focusEditor(t,t.selection??void 0);return}I.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},vr=t=>{const e=r.useEditorRef(),n=r.useFocused(),a=it().mode(),l=it().isOpen(e.id),{triggerFloatingButtonHotkeys:o}=r.getPluginOptions(e,x);r.useHotkeys(o,w=>{w.preventDefault(),Lt(e,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:c,style:g,floating:d}=Oe({open:l&&a==="insert",getBoundingClientRect:r.getSelectionBoundingClientRect,whileElementsMounted:void 0,...t});return y.useEffect(()=>{l&&c(),I.updated(l)},[l,c]),Fe(),{style:{...g,zIndex:1e3},ref:r.useComposedRef(d)}},pr=12,Cr=-22,kr=96,Oe=t=>r.useVirtualFloating({placement:"bottom-start",middleware:[r.offset({mainAxis:pr,alignmentAxis:Cr}),r.flip({padding:kr})],...t}),xr=({id:t="rte",isEditing:e,value:n,columns:a,gap:l,placeholder:o,plugins:c,onTextChange:g,showSerializedText:d})=>{const[w,m]=y.useState(!1),h=f=>{g&&f!==n&&g(f),m(!1)};return y.useEffect(()=>{const f=b=>(b.preventDefault(),b.returnValue="Unprocessed changes");return w&&window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)},[w]),e?s.jsx(r.RichTextEditor,{id:t,value:n,border:!1,placeholder:o,plugins:c,onValueChanged:()=>m(!0),onTextChange:h,hideExternalFloatingModals:f=>{A.isOpen(f)&&I.reset()}}):s.jsx($n,{value:n,columns:a,gap:l,show:d,plugins:c})},Sr=({editButtonProps:t,unlinkButtonProps:e})=>{const{element:n}=r.useLinkOpenButtonState(),a=n?It(n):"";return s.jsx("div",{"data-test-id":"floating-link-edit",className:"tw-bg-white tw-rounded tw-shadow tw-p-4 tw-min-w-[400px]",children:s.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center",children:[s.jsx("span",{className:"tw-pointer-events-none",children:a}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.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",...t,children:s.jsx(r.IconPen16,{})}),s.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",...e,children:s.jsx(r.IconTrashBin16,{})})]})]})})},Ue=(t,e)=>{const n=r.getAboveNode(t,{match:{type:r.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},Tr=t=>Ue(t,e=>{var n,a;return((a=(n=e.chosenLink)==null?void 0:n.searchResult)==null?void 0:a.link)||""}),Pr=t=>Ue(t,e=>e.url||""),Ir={url:"",text:"",newTab:r.CheckboxState.Unchecked},Er=()=>{const[t,e]=y.useReducer((n,a)=>{const{type:l,payload:o}=a;switch(l){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}},Ir);return[t,e]},Br=()=>{const t=r.useEditorRef(),[e,n]=Er();y.useEffect(()=>{const m=Tr(t),h=Pr(t),f=r.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:r.floatingLinkSelectors.text(),newTab:f?r.CheckboxState.Checked:r.CheckboxState.Unchecked,url:m&&h===""?m:r.floatingLinkSelectors.url()}})},[n,t]);const a=m=>{n({type:"TEXT",payload:{text:m}})},l=m=>{n({type:"URL",payload:{url:m}})},o=m=>{n(m?{type:"NEW_TAB"}:{type:"SAME_TAB"})},c=()=>{r.floatingLinkActions.reset()},g=m=>{!R(e.url)||!d||(r.floatingLinkActions.text(e.text),r.floatingLinkActions.url(gt(e.url)),r.floatingLinkActions.newTab(e.newTab===r.CheckboxState.Checked),r.submitFloatingLink(t)&&(m==null||m.preventDefault()))},d=e.url!==""&&e.text!=="",{appBridge:w}=r.getPluginOptions(t,r.ELEMENT_LINK);return r.useHotkeys("enter",g,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:a,onUrlChange:l,onToggleTab:o,onCancel:c,onSave:g,hasValues:d,isValidUrlOrEmpty:R,appBridge:w}},Nr=()=>s.jsx(Ne,{...Br(),testId:"floating-link-insert"}),_e={placement:"bottom-start",strategy:"absolute",middleware:[r.offset(12),r.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Lr=()=>{const t=r.useFloatingLinkInsertState({floatingOptions:_e}),{props:e,ref:n,hidden:a}=r.useFloatingLinkInsert(t),l=r.useFloatingLinkEditState({floatingOptions:_e}),{props:o,ref:c,editButtonProps:g,unlinkButtonProps:d}=r.useFloatingLinkEdit(l);if(a)return null;const w=s.jsx(Nr,{}),m=l.isEditing?w:s.jsx(Sr,{editButtonProps:g,unlinkButtonProps:d});return s.jsxs(s.Fragment,{children:[t.isOpen&&!l.isOpen&&s.jsx("div",{ref:n,...e,style:{...e.style,zIndex:1e3},children:w}),l.isOpen&&s.jsx("div",{ref:c,...o,style:{...o.style,zIndex:1e3},children:m})]})},He=y.forwardRef((t,e)=>{const n=r.useEditorRef(),a=r.useLinkToolbarButtonState(),{props:l}=r.useLinkToolbarButton(a);return s.jsx(r.ToolbarButton,{onMouseDown:()=>{r.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:e,...l,...t,children:s.jsx(r.IconStylingWrapper,{icon:s.jsx(r.IconLink16,{})})})});He.displayName="LinkToolbarButton";const Ar=({id:t,editorId:e})=>{const n=r.useEditorState(r.useEventPlateId(e)),a=!!r.isRangeInSameBlock(n,{at:n.selection});return s.jsx("div",{"data-plugin-id":t,children:s.jsx(He,{disabled:!a,tooltip:r.getTooltip(a?`Link
|
|
3
|
+
${r.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},Mr=t=>{var c,g;const{attributes:e,children:n}=t,{styles:a}=r.useRichTextEditorContext(),l=t.element.url||((g=(c=t.element.chosenLink)==null?void 0:c.searchResult)==null?void 0:g.link)||"",o=t.element.target||"_self";return s.jsx("a",{...e,href:l,target:o,style:a[wt],children:n})};class Dr extends r.MarkupElement{constructor(e=r.ELEMENT_LINK,n=Mr){super(e,n)}}const Ve=t=>r.createPluginFactory({...r.createLinkPlugin(),renderAfterEditable:Lr,options:{isUrl:ut,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:t}})();class ze extends r.Plugin{constructor({styles:n=N[wt],...a}){super(wt,{button:Ar,markupElement:new Dr,...a});L(this,"styles",{});L(this,"appBridge");this.styles=n,this.appBridge=a.appBridge}plugins(){return[Ve(this.appBridge)]}}const Fr="textstyle-custom1-plugin";class $e extends r.Plugin{constructor({styles:n=N.custom1,...a}={}){super(v.custom1,{label:"Custom 1",markupElement:new Or,...a});L(this,"styles",{});this.styles=n}plugins(){return[Ur(this.styles)]}}class Or extends r.MarkupElement{constructor(e=Fr,n=We){super(e,n)}}const We=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("p",{...e,style:a,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),children:n})},Ur=t=>r.createPluginFactory({key:v.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:v.custom1}]}})({component:e=>s.jsx(We,{...e,styles:t})}),_r="textstyle-custom2-plugin";class qe extends r.Plugin{constructor({styles:n=N.custom2,...a}={}){super(v.custom2,{label:"Custom 2",markupElement:new Hr,...a});L(this,"styles",{});this.styles=n}plugins(){return[Vr(this.styles)]}}class Hr extends r.MarkupElement{constructor(e=_r,n=Ge){super(e,n)}}const Ge=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("p",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},Vr=t=>r.createPluginFactory({key:v.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:v.custom2}]}})({component:e=>s.jsx(Ge,{...e,styles:t})}),zr="textstyle-custom3-plugin";class je extends r.Plugin{constructor({styles:n=N.custom3,...a}={}){super(r.TextStyles.custom3,{label:"Custom 3",markupElement:new $r,...a});L(this,"styles",{});this.styles=n}plugins(){return[Wr(this.styles)]}}class $r extends r.MarkupElement{constructor(e=zr,n=Ke){super(e,n)}}const Ke=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("p",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},Wr=t=>r.createPluginFactory({key:r.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:r.TextStyles.custom3}]}})({component:e=>s.jsx(Ke,{...e,styles:t})}),qr="textstyle-heading1-plugin";class Xe extends r.Plugin{constructor({styles:n=N.heading1,...a}={}){super(v.heading1,{label:"Heading 1",markupElement:new Gr,...a});L(this,"styles",{});this.styles=n}plugins(){return[jr(this.styles)]}}class Gr extends r.MarkupElement{constructor(e=qr,n=Mt){super(e,n)}}const Mt=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("h1",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},jr=t=>r.createPluginFactory({key:v.heading1,isElement:!0,component:Mt,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:e=>s.jsx(Mt,{...e,styles:t})}),Kr="textstyle-heading2-plugin";class Qe extends r.Plugin{constructor({styles:n=N.heading2,...a}={}){super(v.heading2,{label:"Heading 2",markupElement:new Xr,...a});L(this,"styles",{});this.styles=n}plugins(){return[Qr(this.styles)]}}class Xr extends r.MarkupElement{constructor(e=Kr,n=Dt){super(e,n)}}const Dt=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("h2",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},Qr=t=>r.createPluginFactory({key:v.heading2,isElement:!0,component:Dt,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:e=>s.jsx(Dt,{...e,styles:t})}),Yr="textstyle-heading3-plugin";class Ye extends r.Plugin{constructor({styles:n=N.heading3,...a}={}){super(v.heading3,{label:"Heading 3",markupElement:new Jr,...a});L(this,"styles",{});this.styles=n}plugins(){return[Zr(this.styles)]}}class Jr extends r.MarkupElement{constructor(e=Yr,n=Ft){super(e,n)}}const Ft=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("h3",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},Zr=t=>r.createPluginFactory({key:v.heading3,isElement:!0,component:Ft,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:e=>s.jsx(Ft,{...e,styles:t})}),Rr="textstyle-heading4-plugin";class Je extends r.Plugin{constructor({styles:n=N.heading4,...a}={}){super(v.heading4,{label:"Heading 4",markupElement:new ta,...a});L(this,"styles",{});this.styles=n}plugins(){return[ea(this.styles)]}}class ta extends r.MarkupElement{constructor(e=Rr,n=Ot){super(e,n)}}const Ot=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("h4",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},ea=t=>r.createPluginFactory({key:v.heading4,isElement:!0,component:Ot,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:e=>s.jsx(Ot,{...e,styles:t})}),na="textstyle-imageCaption-plugin";class Ze extends r.Plugin{constructor({styles:n=N.imageCaption,...a}={}){super(v.imageCaption,{label:"Image Caption",markupElement:new ra,...a});L(this,"styles",{});this.styles=n}plugins(){return[aa(this.styles)]}}class ra extends r.MarkupElement{constructor(e=na,n=Ut){super(e,n)}}const Ut=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("p",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},aa=t=>r.createPluginFactory({key:v.imageCaption,isElement:!0,component:Ut,deserializeHtml:{rules:[{validClassName:v.imageCaption}]}})({component:e=>s.jsx(Ut,{...e,styles:t})}),sa="textstyle-imageTitle-plugin";class Re extends r.Plugin{constructor({styles:n=N.imageTitle,...a}={}){super(v.imageTitle,{label:"Image Title",markupElement:new la,...a});L(this,"styles",{});this.styles=n}plugins(){return[ia(this.styles)]}}class la extends r.MarkupElement{constructor(e=sa,n=_t){super(e,n)}}const _t=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("p",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},ia=t=>r.createPluginFactory({key:v.imageTitle,isElement:!0,component:_t,deserializeHtml:{rules:[{validClassName:v.imageTitle}]}})({component:e=>s.jsx(_t,{...e,styles:t})});class tn extends r.Plugin{constructor({styles:n=N.p,...a}={}){super(v.p,{markupElement:new nn,label:"Body Text",...a});L(this,"styles",{});this.styles=n}plugins(){return[rn(this.styles)]}}const en="tw-m-0 tw-px-0 tw-py-0",yt=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align,o=r.merge([l&&r.alignmentClassnames[l],en,r.getColumnBreakClasses(t)]);return s.jsx("p",{...e,className:o,style:a,children:n})};class nn extends r.MarkupElement{constructor(e=v.p,n=yt){super(e,n)}}const rn=t=>r.createPluginFactory({...r.createParagraphPlugin(),key:v.p,isElement:!0,component:yt})({component:e=>s.jsx(yt,{...e,styles:t})}),oa="textstyle-quote-plugin";class an extends r.Plugin{constructor({styles:n=N.quote,...a}={}){super(v.quote,{label:"Quote",markupElement:new ca,...a});L(this,"styles",{});this.styles=n}plugins(){return[sn(this.styles)]}}class ca extends r.MarkupElement{constructor(e=oa,n=ft){super(e,n)}}const ft=({element:t,attributes:e,children:n,styles:a})=>{const l=t.align;return s.jsx("blockquote",{...e,className:r.merge([l&&r.alignmentClassnames[l],r.getColumnBreakClasses(t)]),style:a,children:n})},sn=t=>r.createPluginFactory({key:v.quote,isElement:!0,component:ft,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:e=>s.jsx(ft,{...e,styles:t})}),Ht=[new Xe,new Qe,new Ye,new Je,new $e,new qe,new je,new an,new tn],et=[v.heading1,v.heading2,v.heading3,v.heading4,v.custom1,v.custom2,v.custom3,v.quote,v.p],da=[...Ht,new Ze,new Re],ga=[...et,v.imageCaption,v.imageTitle],ua=t=>new r.PluginComposer().setPlugin(new r.SoftBreakPlugin,new r.TextStylePlugin({textStyles:Ht})).setPlugin([new r.BoldPlugin,new r.ItalicPlugin,new r.UnderlinePlugin,new r.StrikethroughPlugin,new ze({appBridge:t}),new De({appBridge:t}),new r.CodePlugin],[new r.AlignLeftPlugin({validTypes:et}),new r.AlignCenterPlugin({validTypes:et}),new r.AlignRightPlugin({validTypes:et}),new r.AlignJustifyPlugin({validTypes:et}),new r.UnorderedListPlugin,new r.CheckboxListPlugin,new r.OrderedListPlugin,new r.ResetFormattingPlugin,new r.AutoformatPlugin]),ha="--f-theme-settings-",ma=t=>{const e=t!=null&&t.id?`hasBackground${t.id}`:"hasBackground",n=t!=null&&t.id?`backgroundColor${t.id}`:"backgroundColor",a=t!=null&&t.preventDefaultColor?void 0:(t==null?void 0:t.defaultColor)||Pn,l=t!=null&&t.label?t.label:"Background",o=t!=null&&t.switchLabel?t.switchLabel:void 0;return{id:e,label:l,type:"switch",switchLabel:o,defaultValue:!!(t!=null&&t.defaultValue),on:[{id:n,defaultValue:a,type:"colorInput"}]}},wa=t=>{const e=t!=null&&t.id?`hasBorder_${t.id}`:"hasBorder",n=t!=null&&t.id?`borderSelection_${t.id}`:"borderSelection",a=t!=null&&t.id?`borderStyle_${t.id}`:"borderStyle",l=t!=null&&t.id?`borderWidth_${t.id}`:"borderWidth",o=t!=null&&t.id?`borderColor_${t.id}`:"borderColor",c=(t==null?void 0:t.defaultColor)||Yt,g=t!=null&&t.switchLabel?t.switchLabel:void 0;return{id:e,label:"Border",type:"switch",switchLabel:g,defaultValue:!!(t!=null&&t.defaultValue),on:[{id:n,type:"multiInput",onChange:d=>u.appendUnit(d,l),layout:u.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:a,type:"dropdown",defaultValue:H.Solid,choices:[{value:H.Solid,label:H.Solid},{value:H.Dotted,label:H.Dotted},{value:H.Dashed,label:H.Dashed}]},{id:l,type:"input",defaultValue:In,rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px"},{id:o,type:"colorInput",defaultValue:c}]}],off:[]}},Vt=(t,e=$.None)=>({id:t,type:"segmentedControls",defaultValue:e,choices:[{value:$.None,label:"None"},{value:$.Small,label:"S"},{value:$.Medium,label:"M"},{value:$.Large,label:"L"}]}),ya=t=>{const e=t!=null&&t.id?`hasRadius_${t.id}`:"hasRadius",n=t!=null&&t.id?`radiusValue_${t.id}`:"radiusValue",a=t!=null&&t.id?`radiusChoice_${t.id}`:"radiusChoice",l=(t==null?void 0:t.defaultRadius)||$.None;return{id:e,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:o=>{var c;return t!=null&&t.dependentSettingId?!!((c=o.getBlock(t.dependentSettingId))!=null&&c.value):!0},onChange:o=>u.presetCustomValue(o,a,n,(t==null?void 0:t.radiusStyleMap)||G),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[u.numericalOrPixelRule],onChange:o=>u.appendUnit(o,n)}],off:[Vt(a,l)]}},fa=t=>{const e=t!=null&&t.id?`hasExtendedCustomRadius_${t.id}`:"hasExtendedCustomRadius",n=t!=null&&t.id?`extendedRadiusValue_${t.id}`:"extendedRadiusValue",a=t!=null&&t.id?`extendedRadiusChoice_${t.id}`:"extendedRadiusChoice",l=t!=null&&t.id?`extendedRadiusTopLeft_${t.id}`:"extendedRadiusTopLeft",o=t!=null&&t.id?`extendedRadiusTopRight_${t.id}`:"extendedRadiusTopRight",c=t!=null&&t.id?`extendedRadiusBottomLeft_${t.id}`:"extendedRadiusBottomLeft",g=t!=null&&t.id?`extendedRadiusBottomRight_${t.id}`:"extendedRadiusBottomRight";return{id:e,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:d=>{var w;return t!=null&&t.dependentSettingId?!!((w=d.getBlock(t.dependentSettingId))!=null&&w.value):!0},onChange:d=>{u.presetCustomValue(d,a,l,G),u.presetCustomValue(d,a,o,G),u.presetCustomValue(d,a,c,G),u.presetCustomValue(d,a,g,G)},on:[{id:n,type:"multiInput",layout:u.MultiInputLayout.Columns,blocks:[{id:l,type:"input",label:"Top Left",rules:[u.numericalOrPixelRule],onChange:d=>u.appendUnit(d,l)},{id:o,type:"input",label:"Top Right",rules:[u.numericalOrPixelRule],onChange:d=>u.appendUnit(d,o)},{id:c,type:"input",label:"Bottom Left",rules:[u.numericalOrPixelRule],onChange:d=>u.appendUnit(d,c)},{id:g,type:"input",label:"Bottom Right",rules:[u.numericalOrPixelRule],onChange:d=>u.appendUnit(d,g)}]}],off:[Vt(a,t==null?void 0:t.defaultValue)]}},ba=t=>{const e=t!=null&&t.id?t.id:"hasCustomSpacing",n=t!=null&&t.dependentSettingId?t.dependentSettingId:"columns",a=t!=null&&t.spacingChoiceId?t.spacingChoiceId:"spacingChoice",l=t!=null&&t.spacingCustomId?t.spacingCustomId:"spacingCustom",o=t!=null&&t.defaultValueChoices?t.defaultValueChoices:Q.M;return{id:e,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:c=>u.presetCustomValue(c,a,l,Qt),show:c=>{var g;return((g=c.getBlock(n))==null?void 0:g.value)!=="1"},on:[{id:l,type:"input",rules:[u.numericalOrPixelRule],onChange:c=>u.appendUnit(c,l)}],off:[{id:a,type:"slider",defaultValue:o,choices:[{value:Q.Auto,label:"Auto"},{value:Q.S,label:"S"},{value:Q.M,label:"M"},{value:Q.L,label:"L"}]}]}},zt=t=>({id:t,type:"segmentedControls",defaultValue:K.None,choices:[{value:K.None,label:"None"},{value:K.Small,label:"S"},{value:K.Medium,label:"M"},{value:K.Large,label:"L"}]}),va=t=>{const e=t!=null&&t.id?`hasCustomMarginValue_${t==null?void 0:t.id}`:"hasCustomMarginValue",n=t!=null&&t.id?`marginValue_${t==null?void 0:t.id}`:"marginValue",a=t!=null&&t.id?`marginChoice_${t==null?void 0:t.id}`:"marginChoice";return{id:e,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:l=>u.presetCustomValue(l,a,n,(t==null?void 0:t.marginStyleMap)||Z),on:[{id:n,type:"input",placeholder:at,rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)],onChange:l=>u.appendUnit(l,n)}],off:[zt(a)]}},pa=t=>{const e=t!=null&&t.id?`hasExtendedCustomMargin_${t==null?void 0:t.id}`:"hasExtendedCustomMargin",n=t!=null&&t.id?`extendedMarginValues_${t==null?void 0:t.id}`:"extendedMarginValues",a=t!=null&&t.id?`extendedMarginChoice_${t==null?void 0:t.id}`:"extendedMarginChoice",l=t!=null&&t.id?`extendedMarginTop_${t==null?void 0:t.id}`:"extendedMarginTop",o=t!=null&&t.id?`extendedMarginLeft_${t==null?void 0:t.id}`:"extendedMarginLeft",c=t!=null&&t.id?`extendedMarginRight_${t==null?void 0:t.id}`:"extendedMarginRight",g=t!=null&&t.id?`extendedMarginBottom_${t==null?void 0:t.id}`:"extendedMarginBottom";return{id:e,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{u.presetCustomValue(d,a,l,Z),u.presetCustomValue(d,a,o,Z),u.presetCustomValue(d,a,c,Z),u.presetCustomValue(d,a,g,Z)},on:[{id:n,type:"multiInput",layout:u.MultiInputLayout.Spider,blocks:[{id:l,type:"input",label:"Top",placeholder:at,onChange:d=>u.appendUnit(d,l),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:at,onChange:d=>u.appendUnit(d,o),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:at,onChange:d=>u.appendUnit(d,c),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:g,type:"input",label:"Bottom",placeholder:at,onChange:d=>u.appendUnit(d,g),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[zt(a)]}},$t=t=>({id:t,type:"segmentedControls",defaultValue:j.Small,choices:[{value:j.None,label:"None"},{value:j.Small,label:"S"},{value:j.Medium,label:"M"},{value:j.Large,label:"L"}]}),Ca=t=>{const e=t!=null&&t.id?`hasCustomPaddingValue_${t==null?void 0:t.id}`:"hasCustomPaddingValue",n=t!=null&&t.id?`paddingValue_${t==null?void 0:t.id}`:"paddingValue",a=t!=null&&t.id?`paddingChoice_${t==null?void 0:t.id}`:"paddingChoice";return{id:e,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:l=>u.presetCustomValue(l,a,n,(t==null?void 0:t.paddingStyleMap)||J),on:[{id:n,type:"input",placeholder:rt,rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)],onChange:l=>u.appendUnit(l,n)}],off:[$t(a)]}},ka=t=>{const e=t!=null&&t.id?`hasExtendedCustomPadding_${t==null?void 0:t.id}`:"hasExtendedCustomPadding",n=t!=null&&t.id?`extendedPaddingValues_${t==null?void 0:t.id}`:"extendedPaddingValues",a=t!=null&&t.id?`extendedPaddingChoice_${t==null?void 0:t.id}`:"extendedPaddingChoice",l=t!=null&&t.id?`extendedPaddingTop_${t==null?void 0:t.id}`:"extendedPaddingTop",o=t!=null&&t.id?`extendedPaddingLeft_${t==null?void 0:t.id}`:"extendedPaddingLeft",c=t!=null&&t.id?`extendedPaddingRight_${t==null?void 0:t.id}`:"extendedPaddingRight",g=t!=null&&t.id?`extendedPaddingBottom_${t==null?void 0:t.id}`:"extendedPaddingBottom";return{id:e,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{u.presetCustomValue(d,a,l,J),u.presetCustomValue(d,a,o,J),u.presetCustomValue(d,a,c,J),u.presetCustomValue(d,a,g,J)},on:[{id:n,type:"multiInput",layout:u.MultiInputLayout.Spider,blocks:[{id:l,type:"input",label:"Top",placeholder:rt,onChange:d=>u.appendUnit(d,l),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:o,type:"input",label:"Left",placeholder:rt,onChange:d=>u.appendUnit(d,o),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Right",placeholder:rt,onChange:d=>u.appendUnit(d,c),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]},{id:g,type:"input",label:"Bottom",placeholder:rt,onChange:d=>u.appendUnit(d,g),rules:[u.numericalOrPixelRule,u.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[$t(a)]}},xa=t=>{const e=Wt(t==null?void 0:t.globalControlId);return{id:t!=null&&t.id?t.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var a;return((a=n.getBlock(e))==null?void 0:a.value)===X.Custom}}},Wt=t=>t||"security",Sa=t=>[{id:Wt(t),type:"segmentedControls",defaultValue:X.Global,choices:[{value:X.Global,label:"Global Settings"},{value:X.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:u.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var ln=(t=>(t.Main="main",t.Basics="basics",t.Layout="layout",t.Style="style",t.Security="security",t.Targets="targets",t))(ln||{});const Ta=t=>t,Pa=t=>t;i.AllTextStylePlugins=da,i.AllTextStyles=ga,i.Attachments=oe,i.AttachmentsProvider=se,i.AttachmentsToolbarButton=de,i.BUTTON_PLUGIN=Ae,i.BlockButtonStyles=mt,i.BlockInjectButton=yn,i.BlockItemWrapper=Vn,i.BlockStyles=N,i.BorderStyle=H,i.ButtonPlugin=De,i.Custom1Plugin=$e,i.Custom2Plugin=qe,i.Custom3Plugin=je,i.DEFAULT_ATTACHMENTS_BUTTON_ID=ce,i.DEFAULT_DRAGGING_TOOLTIP=ue,i.DEFAULT_DRAG_TOOLTIP=ge,i.DEFAULT_MENU_BUTTON_ID=St,i.DownloadButton=zn,i.DragHandleToolbarButton=he,i.DragPreviewContextProvider=Zt,i.ELEMENT_BUTTON=x,i.FlyoutToolbarButton=xt,i.GutterSpacing=Q,i.Heading1Plugin=Xe,i.Heading2Plugin=Qe,i.Heading3Plugin=Ye,i.Heading4Plugin=Je,i.ImageCaptionPlugin=Ze,i.ImageTitlePlugin=Re,i.LinkInput=Be,i.LinkPlugin=ze,i.LinkSelector=Ee,i.Margin=K,i.MenuToolbarButton=we,i.MultiFlyoutContextProvider=te,i.PARAGRAPH_CLASSES=en,i.Padding=j,i.ParagraphMarkupElement=nn,i.ParagraphMarkupElementNode=yt,i.ParagraphPlugin=tn,i.QuoteMarkupElementNode=ft,i.QuotePlugin=an,i.Radius=$,i.RichTextEditor=xr,i.Sections=ln,i.Security=X,i.THEME_PREFIX=ha,i.TextStylePluginsWithoutImage=Ht,i.TextStyles=v,i.TextStylesWithoutImage=et,i.Toolbar=ye,i.ToolbarFlyoutMenu=me,i.addHttps=gt,i.borderStyleMap=Xt,i.convertToRteValue=Wn,i.createButtonNode=Se,i.createButtonPlugin=Me,i.createLinkPlugin=Ve,i.createParagraphPlugin=rn,i.createQuotePlugin=sn,i.customCoordinatesGetterFactory=ie,i.defineBlock=Ta,i.defineSettings=Pa,i.getBackgroundColorStyles=Tn,i.getBackgroundSettings=ma,i.getBorderRadiusSettings=ya,i.getBorderRadiusSlider=Vt,i.getBorderSettings=wa,i.getBorderStyles=En,i.getDefaultPluginsWithLinkChooser=ua,i.getExtendedBorderRadiusSettings=fa,i.getGutterSettings=ba,i.getLegacyUrl=Xn,i.getLinkFromEditor=Yn,i.getMarginExtendedSettings=pa,i.getMarginSettings=va,i.getMarginSlider=zt,i.getPaddingExtendedSettings=ka,i.getPaddingSettings=Ca,i.getPaddingSlider=$t,i.getRadiusStyles=Bn,i.getReadableColor=xn,i.getSecurityDownloadableSetting=xa,i.getSecurityGlobalControlId=Wt,i.getSecurityGlobalControlSetting=Sa,i.getUrl=Qn,i.getUrlFromEditor=xe,i.getUrlFromLinkOrLegacyLink=It,i.gutterSpacingStyleMap=Qt,i.hasRichTextValue=fe,i.insertButton=pe,i.isDark=bn,i.isDownloadable=qn,i.isValidUrl=ut,i.isValidUrlOrEmpty=R,i.joinClassNames=_,i.mapAppBridgeColorPaletteToFonduePalette=be,i.mapAppBridgeColorPalettesToFonduePalettes=Gn,i.marginStyleMap=Z,i.moveItemInArray=Sn,i.paddingStyleMap=J,i.radiusStyleMap=G,i.relativeUrlRegex=Et,i.setAlpha=Cn,i.submitFloatingButton=Bt,i.toColorObject=kn,i.toHex8String=vn,i.toHexString=pn,i.toRgbaString=pt,i.toShortRgba=q,i.triggerFloatingButton=Te,i.triggerFloatingButtonEdit=ht,i.triggerFloatingButtonInsert=Lt,i.unwrapButton=tt,i.upsertButton=Ce,i.upsertButtonText=Nt,i.useAttachments=re,i.useAttachmentsContext=le,i.useDndSensors=Mn,i.useDragPreviewContext=st,i.useMultiFlyoutContext=ee,i.useMultiFlyoutState=dt,i.withAttachmentsProvider=Nn,i.withButton=ve,i.wrapButton=ke,Object.keys(u).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(i,t)&&Object.defineProperty(i,t,{enumerable:!0,get:()=>u[t]})}),Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|
|
4
4
|
//# sourceMappingURL=index.umd.js.map
|