@frontify/guideline-blocks-settings 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Attachments/AttachmentItem.es.js +83 -83
- package/dist/components/Attachments/AttachmentItem.es.js.map +1 -1
- package/dist/components/Attachments/Attachments.es.js +51 -54
- package/dist/components/Attachments/Attachments.es.js.map +1 -1
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js +56 -57
- package/dist/components/BlockInjectButton/BlockInjectButton.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js +25 -25
- package/dist/components/BlockItemWrapper/BlockItemWrapper.es.js.map +1 -1
- package/dist/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.es.js +3 -3
- package/dist/components/Link/LinkInput.es.js +35 -35
- package/dist/components/Link/LinkInput.es.js.map +1 -1
- package/dist/components/Link/LinkSelector/LinkSelector.es.js +31 -31
- package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -1
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js +2 -5
- package/dist/components/Link/helpers/filterDocumentSectionsWithUnreadableTitles.es.js.map +1 -1
- package/dist/components/Link/utils/getUrl.es.js +9 -15
- package/dist/components/Link/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/RichTextEditor.es.js +39 -39
- package/dist/components/RichTextEditor/RichTextEditor.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js +24 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/ButtonMarkupElement/ButtonMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/ButtonButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js +25 -25
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js +29 -33
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js +22 -23
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js +61 -63
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js +6 -6
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js +6 -7
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js +21 -21
- package/dist/components/RichTextEditor/plugins/ButtonPlugin/withButton.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js +15 -19
- package/dist/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +5 -5
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js +13 -13
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js +23 -23
- package/dist/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +7 -8
- package/dist/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js +23 -27
- package/dist/components/RichTextEditor/plugins/LinkPlugin/index.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js +6 -9
- package/dist/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +24 -28
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +25 -29
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +25 -29
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js +26 -30
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.es.js.map +1 -1
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +26 -30
- package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
- package/dist/guideline-blocks-settings.css +1 -0
- package/dist/helpers/customCoordinatesGetterFactory.es.js +18 -18
- package/dist/helpers/customCoordinatesGetterFactory.es.js.map +1 -1
- package/dist/hooks/useAttachments.es.js +6 -6
- package/dist/hooks/useAttachments.es.js.map +1 -1
- package/dist/index.cjs.js +7 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.es.js +208 -208
- package/dist/index.umd.js +7 -7
- package/dist/index.umd.js.map +1 -1
- package/dist/settings/background.es.js +4 -4
- package/dist/settings/background.es.js.map +1 -1
- package/dist/settings/border.es.js +17 -17
- package/dist/settings/border.es.js.map +1 -1
- package/dist/settings/borderRadius.es.js +12 -15
- package/dist/settings/borderRadius.es.js.map +1 -1
- package/dist/settings/borderRadiusExtended.es.js +25 -28
- package/dist/settings/borderRadiusExtended.es.js.map +1 -1
- package/dist/settings/gutter.es.js +17 -20
- package/dist/settings/gutter.es.js.map +1 -1
- package/dist/settings/margin.es.js +14 -14
- package/dist/settings/margin.es.js.map +1 -1
- package/dist/settings/marginExtended.es.js +29 -29
- package/dist/settings/marginExtended.es.js.map +1 -1
- package/dist/settings/padding.es.js +14 -14
- package/dist/settings/padding.es.js.map +1 -1
- package/dist/settings/paddingExtended.es.js +28 -28
- package/dist/settings/paddingExtended.es.js.map +1 -1
- package/dist/settings/securityDownloadable.es.js +8 -11
- package/dist/settings/securityDownloadable.es.js.map +1 -1
- package/dist/utilities/color/getReadableColor.es.js +6 -6
- package/dist/utilities/color/getReadableColor.es.js.map +1 -1
- package/dist/utilities/color/isDark.es.js +4 -4
- package/dist/utilities/color/isDark.es.js.map +1 -1
- package/package.json +16 -16
- package/dist/styles.css +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";var Rn=Object.defineProperty;var Dn=(e,t,n)=>t in e?Rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var B=(e,t,n)=>Dn(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),s=require("react/jsx-runtime"),J=require("@frontify/app-bridge"),w=require("@frontify/fondue/components"),P=require("@frontify/fondue/icons"),g=require("react"),V=require("@frontify/fondue"),I=require("@dnd-kit/core"),Mn=require("@dnd-kit/modifiers"),pe=require("@dnd-kit/sortable"),dt=require("@react-aria/focus"),a=require("@frontify/fondue/rte"),we=require("react-dom"),z=require("@ctrl/tinycolor"),H=e=>e.filter(Boolean).join(" "),Fn=({onDrop:e,label:t,icon:n,secondaryLabel:r,isLoading:o,fillParentContainer:i,onAssetChooseClick:l,onUploadClick:c,withMenu:d=!0,onClick:h,validFileType:p,verticalLayout:u})=>{const[f,v]=g.useState(!1),[x,C]=g.useState(),L=g.useRef(null),[E,D]=g.useState(void 0),$=k=>{if(k.preventDefault(),v(!1),!F(k.dataTransfer.files)){D("Invalid"),setTimeout(()=>{D(void 0)},1e3);return}e==null||e(k.dataTransfer.files)},F=k=>{if(!p)return!0;for(let M=0;M<k.length;M++){const O=k[M].name.split(".").pop()??"";if(!J.FileExtensionSets[p].includes(O))return!1}return!0},_=k=>{if(!L.current||o)return;const{clientX:M,clientY:O}=k,de=M===0&&O===0,{left:me,top:je,width:Ie,height:he}=L.current.getBoundingClientRect(),fe=de?Ie/2:M-me,W=de?he/2:O-je;C([fe,W])},S=g.useCallback(k=>{k(),C(void 0)},[]),Te=g.useMemo(()=>{const k=[];return c&&k.push({onSelect:()=>S(c),title:"Upload asset",icon:s.jsx(P.IconArrowCircleUp,{size:"20"})}),l&&k.push({onSelect:()=>S(l),title:"Browse asset",icon:s.jsx(P.IconImageStack,{size:"20"})}),k},[l,c,S]);return s.jsxs("button",{ref:L,"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",u?"[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl":"[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",i?"tw-h-full":"tw-h-[72px]",f&&!o?"tw-border-dashed":"tw-border-solid",x&&"tw-bg-blank-state-pressed-inverse",f&&"tw-bg-blank-state-weak-inverse",E?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",o||x||f||E?"":"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||x)&&!E?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:e?k=>{var M;if(v(!0),p==="Images")for(const O of Array.from(k.dataTransfer.items))(M=O==null?void 0:O.type)!=null&&M.startsWith("image/")?D(void 0):D("Invalid")}:void 0,onDragLeave:e?()=>{v(!1),D(void 0)}:void 0,onDrop:e?$:void 0,onClick:k=>{d&&!x&&_(k),h==null||h()},children:[o?s.jsx(w.LoadingCircle,{}):E?s.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[s.jsx(P.IconExclamationMarkTriangle,{size:"16"}),E]}):s.jsxs(s.Fragment,{children:[n&&s.jsx("div",{children:n}),(t||r)&&s.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[t&&s.jsx("div",{className:"tw-font-medium",children:t}),r&&s.jsx("div",{className:"tw-font-normal",children:r})]})]}),x&&s.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:x[0],top:x[1]},children:s.jsxs(w.Flyout.Root,{open:!0,onOpenChange:k=>!k&&C(void 0),children:[s.jsx(w.Flyout.Trigger,{children:s.jsx("div",{})}),s.jsx(w.Flyout.Content,{triggerOffset:"compact",children:s.jsxs(w.Dropdown.Root,{open:!0,children:[s.jsx(w.Dropdown.Trigger,{children:s.jsx("div",{})}),s.jsx(w.Dropdown.Content,{triggerOffset:"compact",children:Te.map(k=>s.jsxs(w.Dropdown.Item,{onSelect:k.onSelect,children:[k.icon,k.title]},k.title))})]})})]})})]})},ee=e=>{const t=r=>typeof r=="object"&&["red","green","blue"].every(i=>r.hasOwnProperty(i)),n=r=>{const o=typeof r.alpha=="number"?r.alpha:1;return{r:r.red,g:r.green,b:r.blue,a:o}};return t(e)?n(e):e},On=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),_n=(e,t)=>{const n=On(e)?ee(e):e,r=new z.TinyColor(n);return t?r.getBrightness()<t:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},Un=e=>new z.TinyColor(ee(e)).toHex8String(),Hn=e=>new z.TinyColor(ee(e)).toHexString(),_e=e=>new z.TinyColor(ee(e)).toRgbString(),zn=(e,t)=>new z.TinyColor(t).setAlpha(e).toRgbString(),Vn=e=>{const{r:t,g:n,b:r,a:o}=new z.TinyColor(e);return{red:t,green:n,blue:r,alpha:o}},st=e=>typeof e=="object"&&["red","green","blue"].every(n=>e==null?void 0:e.hasOwnProperty(n)),$n=(e,t)=>{const n=st(e)?ee(e):e,r=st(t)?ee(t):t;let o=new z.TinyColor(n);const i=new z.TinyColor(r);for(;z.readability(o,i)<4.5;)o=o.darken(1);return o.toRgbString()},Wn=(e,t,n)=>{const r=[...e],o=n<0?r.length+n:n;if(o>=0&&o<r.length){const i=r.splice(t,1)[0];r.splice(o,0,i)}return r},qn=e=>({backgroundColor:_e(e)}),Gn={red:241,green:241,blue:241,alpha:1},ct={red:234,green:235,blue:235,alpha:1},Kn="1px",ce="24px",ue="24px";var U=(e=>(e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted",e))(U||{});const ut={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var q=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(q||{});const Y={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var K=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(K||{});const te={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var Q=(e=>(e.None="None",e.Small="Small",e.Medium="Medium",e.Large="Large",e))(Q||{});const ne={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var Z=(e=>(e.Global="Global",e.Custom="Custom",e))(Z||{}),X=(e=>(e.Auto="Auto",e.S="S",e.M="M",e.L="L",e))(X||{});const gt={Auto:"4px",S:"10px",M:"30px",L:"50px"},Qn=(e=U.Solid,t="1px",n=ct)=>({borderStyle:ut[e],borderWidth:t,borderColor:_e(n)}),Xn=(e,t=!1,n)=>({borderRadius:t?n:Y[e]}),Ue=g.createContext(!1);Ue.displayName="DragPreviewContext";const mt=({children:e,isDragPreview:t})=>s.jsx(Ue.Provider,{value:t,children:e}),ie=()=>g.useContext(Ue),He=g.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")});He.displayName="MultiFlyoutContext";const ht=({children:e,openFlyoutIds:t,setOpenFlyoutIds:n})=>{const r=g.useMemo(()=>({openFlyoutIds:t,setOpenFlyoutIds:n}),[t,n]);return s.jsx(He.Provider,{value:r,children:e})},ft=()=>g.useContext(He),ye=e=>{const{openFlyoutIds:t,setOpenFlyoutIds:n}=ft(),r=g.useCallback(o=>{n(i=>{const l=i.filter(c=>c!==e);return o?[...l,e]:l})},[e,n]);return{isOpen:t.includes(e),onOpenChange:r}},ze=(e,t)=>{const{blockAssets:n,addAssetIdsToKey:r,deleteAssetIdsFromKey:o,updateAssetIdsFromKey:i}=t,l=(n==null?void 0:n[e])||[];return{onAttachmentsAdd:async u=>{await r(e,u.map(f=>f.id))},onAttachmentDelete:async u=>{await o(e,[u.id])},onAttachmentReplace:async(u,f)=>{const v=l.map(x=>x.id===u.id?f.id:x.id);await i(e,v)},onAttachmentsSorted:async u=>{const f=u.map(v=>v.id);await i(e,f)},attachments:l}},pt=(e,t)=>{const{onAttachmentsAdd:n,onAttachmentDelete:r,onAttachmentReplace:o,onAttachmentsSorted:i,attachments:l}=ze(t,J.useBlockAssets(e));return{onAttachmentsAdd:n,onAttachmentDelete:r,onAttachmentReplace:o,onAttachmentsSorted:i,attachments:l,appBridge:e}},ve=g.createContext(null);ve.displayName="AttachmentsContext";const wt=({appBridge:e,children:t,assetId:n})=>{const r=pt(e,n);return s.jsx(ve.Provider,{value:r,children:t})},Yn=({blockAssetBundle:e,appBridge:t,children:n,assetId:r})=>{const o=ze(r,e);return s.jsx(ve.Provider,{value:{...o,appBridge:t},children:n})},xt=()=>{const e=g.useContext(ve);if(!e)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return e},Jn=(e,t)=>{const n=r=>s.jsx(wt,{appBridge:r.appBridge,assetId:t,children:s.jsx(e,{...r})});return n.displayName="withAttachmentsProvider",n},Zn=[I.KeyboardCode.Down,I.KeyboardCode.Right,I.KeyboardCode.Up,I.KeyboardCode.Left],bt=(e,t)=>(n,{currentCoordinates:r,context:{activeNode:o}})=>{if(n.preventDefault(),Zn.includes(n.code)){const i=(o==null?void 0:o.offsetWidth)??0,l=(o==null?void 0:o.offsetHeight)??0;switch(n.code){case I.KeyboardCode.Right:return{...r,x:r.x+i+e};case I.KeyboardCode.Left:return{...r,x:r.x-i-e};case I.KeyboardCode.Down:return{...r,y:r.y+l+t};case I.KeyboardCode.Up:return{...r,y:r.y-l-t}}}},er={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},tr=(e=0,t=0)=>{const n=g.useMemo(()=>({coordinateGetter:bt(e,t),keyboardCodes:er}),[e,t]);return I.useSensors(I.useSensor(I.PointerSensor),I.useSensor(I.KeyboardSensor,n))},nr=e=>e==="IMAGE"?s.jsx(P.IconImage,{size:"24"}):e==="VIDEO"?s.jsx(P.IconPlayFrame,{size:"24"}):e==="AUDIO"?s.jsx(P.IconMusicNote,{size:"24"}):s.jsx(P.IconDocument,{size:"24"}),yt=g.forwardRef(({item:e,isEditing:t,draggableProps:n,transformStyle:r,isDragging:o,isOverlay:i,isLoading:l,onDelete:c,onReplaceWithBrowse:d,onReplaceWithUpload:h,onDownload:p},u)=>{const[f,v]=g.useState(),[x,{selectedFiles:C}]=J.useFileInput({multiple:!0,accept:"image/*"}),[L,{results:E,doneAll:D}]=J.useAssetUpload(),{focusProps:$,isFocusVisible:F}=dt.useFocusRing();g.useEffect(()=>{C&&L(C[0])},[C]),g.useEffect(()=>{D&&h(E[0])},[D,E]);const _=l||C&&!D;return s.jsxs("button",{type:"button","aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>!f&&(p==null?void 0:p()),ref:u,style:{...r,opacity:o&&!i?.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",o?"tw-bg-box-neutral-hover":""]),children:[s.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:_?s.jsx(w.LoadingCircle,{size:"small"}):nr(e.objectType)}),s.jsxs("div",{className:"tw-text-s tw-flex-1 tw-min-w-0",children:[s.jsx("div",{className:"tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis tw-font-bold tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:e.title}),s.jsx("div",{className:"tw-text-text-weak",children:`${e.fileSizeHumanReadable} - ${e.extension}`})]}),t&&s.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",i||(f==null?void 0:f.id)===e.id?"tw-opacity-100":"tw-opacity-0"]),children:[s.jsx("button",{type:"button",...$,...n,"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 ",o||i?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",F&&"tw-ring-4 tw-ring-blue tw-ring-offset-2 dark:tw-ring-offset-black tw-outline-none",F&&"tw-z-[2]"]),children:s.jsx(P.IconGrabHandle,{})}),s.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:s.jsxs(w.Dropdown.Root,{open:(f==null?void 0:f.id)===e.id,onOpenChange:S=>v(S?e:void 0),children:[s.jsx(w.Dropdown.Trigger,{children:s.jsx(w.Button,{aspect:"square",ref:u,onPress:S=>{S==null||S.stopPropagation(),S==null||S.preventDefault()},emphasis:"default",children:s.jsx(P.IconPen,{size:"20"})})}),s.jsxs(w.Dropdown.Content,{side:"right",children:[s.jsxs(w.Dropdown.Group,{children:[s.jsxs(w.Dropdown.Item,{"data-test-id":"menu-item",onSelect:S=>{S==null||S.stopPropagation(),x(),v(void 0)},children:[s.jsx(P.IconArrowCircleUp,{size:"20"}),"Replace with upload"]}),s.jsxs(w.Dropdown.Item,{onSelect:S=>{S==null||S.stopPropagation(),d(),v(void 0)},children:[s.jsx(P.IconImageStack,{size:"20"}),"Replace with asset"]})]}),s.jsx(w.Dropdown.Group,{children:s.jsxs(w.Dropdown.Item,{emphasis:"danger",onSelect:S=>{S==null||S.stopPropagation(),c(),v(void 0)},children:[s.jsx(P.IconTrashBin,{size:"20"}),"Delete"]})})]})]})})]})]})});yt.displayName="AttachmentItem";const rr=e=>{const{attributes:t,listeners:n,setNodeRef:r,transform:o,transition:i,isDragging:l}=pe.useSortable({id:e.item.id}),c={transform:o?`translate(${o.x}px, ${o.y}px)`:"",transition:i,zIndex:l?2:1},d={...t,...n};return s.jsx(yt,{ref:r,isDragging:l,transformStyle:c,draggableProps:d,...e})},vt=g.forwardRef(({children:e,isFlyoutOpen:t,...n},r)=>s.jsxs("button",{ref:r,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",t?"tw-bg-box-neutral-pressed tw-text-box-neutral-inverse-pressed":"tw-bg-base hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed tw-text-box-neutral-inverse hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed"]),"data-test-id":"attachments-button-trigger",...n,children:[s.jsx(P.IconPaperclip,{size:"16"}),e,s.jsx(P.IconCaretDown,{size:"12"})]}));vt.displayName="AttachmentsButtonTrigger";const Ct=({items:e=[],onDelete:t,onReplaceWithBrowse:n,onReplaceWithUpload:r,onBrowse:o,onUpload:i,onSorted:l,appBridge:c,triggerComponent:d=vt,isOpen:h,onOpenChange:p})=>{const[u,f]=g.useState(e),[v,x]=g.useState(!1),C=I.useSensors(I.useSensor(I.PointerSensor),I.useSensor(I.KeyboardSensor)),[L,E]=g.useState(void 0),[D,$]=g.useState(!1),[F,_]=g.useState([]),[S,Te]=g.useState(null),k=J.useEditorState(c),{openAssetChooser:M,closeAssetChooser:O}=J.useAssetChooser(c),de=h!==void 0,me=de?h:v,je=u==null?void 0:u.find(y=>y.id===L),[Ie,{results:he,doneAll:fe}]=J.useAssetUpload({onUploadProgress:()=>!D&&$(!0)}),W=y=>{const R=de?p:x;R==null||R(y)};g.useEffect(()=>{f(e)},[e]),g.useEffect(()=>{S&&($(!0),Ie(S))},[S]),g.useEffect(()=>{(async()=>{fe&&(await i(he),$(!1))})()},[fe,he]);const Tn=()=>{W(!1),M(y=>{o(y),O(),W(!0)},{multiSelection:!0,selectedValueIds:u.map(y=>y.id)})},jn=y=>{W(!1),M(async R=>{W(!0),O(),_([...F,y.id]),await n(y,R[0]),_(F.filter(G=>G!==y.id))},{multiSelection:!1,selectedValueIds:u.map(R=>R.id)})},In=async(y,R)=>{_([...F,y.id]),await r(y,R),_(F.filter(G=>G!==y.id))},En=y=>{const{active:R}=y;E(R.id)},Bn=y=>{const{active:R,over:G}=y;if(G&&R.id!==G.id&&u){const An=u.findIndex(Ee=>Ee.id===R.id),Ln=u.findIndex(Ee=>Ee.id===G.id),rt=pe.arrayMove(u,An,Ln);f(rt),l(rt)}E(void 0)},Nn={onOpenAutoFocus:y=>{y.preventDefault()},onEscapeKeyDown:y=>{y.stopPropagation(),W(!1)}};return k||((u==null?void 0:u.length)??0)>0?s.jsx("div",{"data-test-id":"attachments-flyout-button",children:s.jsx(w.Flyout.Root,{open:me,onOpenChange:y=>W(je?!0:y),children:s.jsxs(w.Tooltip.Root,{enterDelay:500,children:[s.jsx(w.Tooltip.Trigger,{asChild:!0,children:s.jsx(w.Flyout.Trigger,{asChild:!0,"data-test-id":"attachments-button-trigger",children:s.jsx(d,{isFlyoutOpen:me,children:s.jsx("div",{children:e.length>0?e.length:"Add"})})})}),s.jsx(w.Flyout.Content,{side:"bottom",align:"end",...Nn,children:s.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[u.length>0&&s.jsx(I.DndContext,{sensors:C,collisionDetection:I.closestCenter,onDragStart:En,onDragEnd:Bn,modifiers:[Mn.restrictToVerticalAxis],children:s.jsx(pe.SortableContext,{items:u,strategy:pe.rectSortingStrategy,children:s.jsx("div",{className:"tw-border-b tw-border-b-line tw-relative",children:u.map(y=>s.jsx(rr,{isEditing:k,isLoading:F.includes(y.id),item:y,onDelete:()=>t(y),onReplaceWithBrowse:()=>jn(y),onReplaceWithUpload:R=>In(y,R),onDownload:()=>c.dispatch({name:"downloadAsset",payload:y})},y.id))})})}),k&&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(V.AssetInput,{isLoading:D,size:V.AssetInputSize.Small,onUploadClick:y=>Te(y),onLibraryClick:Tn})]})]})}),s.jsx(w.Tooltip.Content,{side:"top",children:"Attachments"})]})})}):null},sr=(e,t)=>{const n=[V.FOCUS_VISIBLE_STYLE,"tw-relative tw-inline-flex tw-items-center tw-justify-center","tw-h-6 tw-p-1","tw-rounded","tw-text-xs tw-font-medium","tw-gap-0.5","focus-visible:tw-z-10"];return t?n.push("tw-bg-box-neutral-pressed","tw-text-box-neutral-inverse-pressed",e==="grab"?"tw-cursor-grabbing":"tw-cursor-pointer"):n.push("hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed","tw-text-text-weak hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed",e==="grab"?"!tw-cursor-grab active:tw-cursor-grabbing":"tw-cursor-pointer"),H(n)},le=g.forwardRef(({onClick:e,children:t,forceActiveStyle:n,cursor:r="pointer","data-test-id":o="base-toolbar-button",...i},l)=>s.jsx("button",{onClick:e,className:sr(r,n),"data-test-id":o,...i,ref:l,children:t}));le.displayName="BaseToolbarButton";const kt=g.forwardRef(({children:e,isFlyoutOpen:t,...n},r)=>s.jsxs(le,{forceActiveStyle:t,"data-test-id":"attachments-toolbar-button-trigger",ref:r,...n,children:[s.jsx(P.IconPaperclip,{size:"16"}),e,s.jsx(P.IconCaretDown,{size:"12"})]}));kt.displayName="AttachmentsToolbarButtonTrigger";const St="attachments",Pt=({flyoutId:e=St})=>{const t=V.useMemoizedId(e),{appBridge:n,attachments:r,onAttachmentsAdd:o,onAttachmentDelete:i,onAttachmentReplace:l,onAttachmentsSorted:c}=xt(),{isOpen:d,onOpenChange:h}=ye(t),p=ie();return s.jsx(Ct,{onUpload:o,onDelete:i,onReplaceWithBrowse:l,onReplaceWithUpload:l,onSorted:c,onBrowse:o,items:r,appBridge:n,triggerComponent:kt,isOpen:d&&!p,onOpenChange:h})},Tt="Drag or press ↵ to move",jt="Move with ↑↓←→ and confirm with ↵",Ve=({content:e,children:t,open:n,disabled:r})=>r?t:s.jsxs(w.Tooltip.Root,{enterDelay:300,open:n,children:[s.jsx(w.Tooltip.Trigger,{asChild:!0,children:t}),s.jsx(w.Tooltip.Content,{side:"top",children:s.jsx("div",{children:e})})]}),It=({tooltip:e,icon:t,setActivatorNodeRef:n,draggableProps:r})=>{const o=ie();return s.jsx(Ve,{...o&&{open:o},content:s.jsx("div",{children:o?jt:e??Tt}),children:s.jsx(le,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:o,cursor:"grab",...r,children:t})})},Et=({content:e,icon:t,tooltip:n,flyoutId:r,flyoutFooter:o,flyoutHeader:i})=>{const l=V.useMemoizedId(r),{isOpen:c,onOpenChange:d}=ye(l),h=ie();return s.jsx(Ve,{disabled:h||c,content:n,children:s.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:s.jsxs(w.Flyout.Root,{open:c&&!h,onOpenChange:d,children:[s.jsx(w.Flyout.Trigger,{asChild:!0,children:s.jsx(le,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:c&&!h,children:t})}),s.jsxs(w.Flyout.Content,{side:"bottom",align:"end",padding:"comfortable",children:[i?s.jsx(w.Flyout.Header,{children:i}):null,s.jsx(w.Flyout.Body,{children:e}),o?s.jsx(w.Flyout.Footer,{children:o}):null]})]})})})},$e="menu",Bt=({items:e,flyoutId:t=$e,tooltip:n="Options"})=>{const r=V.useMemoizedId(t),{isOpen:o,onOpenChange:i}=ye(r),l=ie();return s.jsx(w.Dropdown.Root,{open:o&&!l,onOpenChange:i,children:s.jsxs(w.Tooltip.Root,{children:[s.jsx(w.Tooltip.Trigger,{asChild:!0,children:s.jsx(w.Dropdown.Trigger,{asChild:!0,children:s.jsx(le,{"data-test-id":"block-item-wrapper-toolbar-flyout",children:s.jsx(P.IconDotsHorizontal,{size:"16"})})})}),s.jsx(w.Dropdown.Content,{children:e.map((c,d)=>s.jsx(w.Dropdown.Group,{children:c.map((h,p)=>s.jsxs(w.Dropdown.Item,{"data-test-id":"menu-item",onSelect:()=>{i(!1),h.onClick()},emphasis:h.style||"default",children:[s.jsx("div",{className:"tw-mr-2",children:h.icon}),s.jsx("span",{children:h.title})]},`${d}-${p}`))},d))}),s.jsx(w.Tooltip.Content,{children:n})]})})},ar=({tooltip:e,icon:t,onClick:n})=>{const r=ie();return s.jsx(Ve,{disabled:r,content:e??"",children:s.jsx(le,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:t})})},at=({children:e})=>s.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-segment",className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:e}),Nt=({items:e,attachments:t})=>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:[t.isEnabled&&s.jsx(at,{children:s.jsx(Pt,{})}),e.length>0&&s.jsx(at,{children:e.map(n=>{switch(n.type){case"dragHandle":return s.jsx(It,{...n},n.tooltip+n.type);case"menu":return s.jsx(Bt,{...n},n.tooltip+n.type);case"flyout":return s.jsx(Et,{...n},n.tooltip+n.type);default:return s.jsx(ar,{...n},n.tooltip+n.type)}})})]}),At=g.memo(({children:e,toolbarItems:t,shouldHideWrapper:n,shouldHideComponent:r=!1,isDragging:o=!1,shouldFillContainer:i,outlineOffset:l=0,shouldBeShown:c=!1,showAttachments:d=!1})=>{const[h,p]=g.useState(c?[$e]:[]),u=g.useRef(null);if(n)return s.jsx(s.Fragment,{children:e});const f=t==null?void 0:t.filter(x=>x!==void 0),v=h.length>0||c;return s.jsx(mt,{isDragPreview:o,children:s.jsx(ht,{openFlyoutIds:h,setOpenFlyoutIds:p,children:s.jsxs("div",{ref:u,"data-test-id":"block-item-wrapper",style:{outlineOffset:l},className:H(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",i&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",v&&"tw-outline",r&&"tw-opacity-0"]),children:[s.jsx("div",{style:{right:-1-l,bottom:`calc(100% - ${2+l}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:s.jsx(Nt,{attachments:{isEnabled:d},items:f})}),e]})})})});At.displayName="BlockItemWrapper";const or=({onDownload:e,ariaLabel:t})=>{const{isFocused:n,focusProps:r}=dt.useFocusRing();return s.jsxs(w.Tooltip.Root,{enterDelay:500,children:[s.jsx(w.Tooltip.Trigger,{asChild:!0,children:s.jsx("button",{type:"button",tabIndex:0,"aria-label":t??"Download",...r,className:H(["tw-outline-none tw-rounded",n&&"tw-ring-4 tw-ring-blue tw-ring-offset-2 dark:tw-ring-offset-black tw-outline-none"]),onClick:e,onPointerDown:o=>o.preventDefault(),"data-test-id":"download-button",children:s.jsx("span",{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(P.IconArrowCircleDown,{size:"16"})})})}),s.jsx(w.Tooltip.Content,{side:"top",children:"Download"})]})},ir=({ref:e,disabled:t,onChange:n})=>{g.useEffect(()=>{if(t||!e.current)return;let r=!1;const o=new IntersectionObserver(([i])=>{i.isIntersecting!==r&&(r=i.isIntersecting,n(i.isIntersecting))});return o.observe(e.current),()=>{o.disconnect()}},[e,t,n])},lr=({value:e="",gap:t,customClass:n,show:r=!0,plugins:o})=>{const[i,l]=g.useState(null);return g.useEffect(()=>{(async()=>{const d=await a.serializeRawToHtmlAsync(e,o,void 0,t,n);l(d)})().catch(console.error)},[e,t,o,n]),!r||i==="<br />"||i===null?null:s.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:i}})},We=a.createStore("floatingButton")({openEditorId:null,mouseDown:!1,updated:!1,url:"",text:"",buttonStyle:"primary",newTab:!1,mode:"",isEditing:!1}).extendActions(e=>({reset:()=>{e.url(""),e.text(""),e.buttonStyle("primary"),e.newTab(!1),e.mode(""),e.isEditing(!1)}})).extendActions(e=>({show:(t,n)=>{e.mode(t),e.isEditing(!1),e.openEditorId(n)},hide:()=>{e.reset(),e.openEditorId(null)}})).extendSelectors(e=>({isOpen:t=>e.openEditorId===t})),N=We.set,A=We.get,ge=()=>We.use,Lt=e=>{if(!e)return!1;const t=n=>n.some(r=>r.text?r.text!=="":r.children?t(r.children):!1);try{const n=JSON.parse(e);return t(n)}catch{return!1}},dr=(e="p",t="",n)=>Lt(t)?t:JSON.stringify([{type:e,children:[{text:t,textStyle:e}],align:n}]),cr=(e,t,n)=>e===Z.Custom?t:n,ur=e=>e.map(Rt),Rt=e=>({id:e.id,title:e.name,colors:e.colors.map(mr)}),gr=e=>"revision"in e,mr=e=>{if(gr(e)){const{title:t,revision:n}=e;return{alpha:n.rgba.alpha?n.rgba.alpha/255:1,red:n.rgba.red??0,green:n.rgba.green??0,blue:n.rgba.blue??0,name:t??""}}return{alpha:e.alpha?e.alpha/255:1,red:e.red??0,green:e.green??0,blue:e.blue??0,name:e.name??""}},qe=(e,t)=>{const n=a.getAboveNode(e,{match:{type:a.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},hr=e=>qe(e,t=>{var n,r;return((r=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:r.link)||""}),fr=e=>qe(e,t=>t.url||""),Ge=e=>{var t,n;return e.url||((n=(t=e.chosenLink)==null?void 0:t.searchResult)==null?void 0:n.link)||""},pr=e=>qe(e,Ge),Ke=/^\/(document|r)\/\S+$/i,Ce=e=>{if(Ke.test(e))return e;try{return new URL(e),e}catch{return`https://${e}`}},ke=e=>{if(Ke.test(e))return!0;try{const t=new URL(e);return["http:","https:","mailto:","tel:"].includes(t.protocol)&&t.pathname!==""}catch{return!1}},se=e=>ke(Ce(e))||e==="",Dt=(e,{type:t})=>{const{apply:n,normalizeNode:r}=e;return e.apply=o=>{if(o.type!=="set_selection"){n(o);return}const i=o.newProperties;if(!(i!=null&&i.focus)||!i.anchor||!a.isCollapsed(i)){n(o);return}const l=a.getAboveNode(e,{at:i,match:{type:a.getPluginType(e,T)}});if(l){const[,c]=l;let d;a.isStartPoint(e,i.focus,c)&&(d=a.getPreviousNodeEndPoint(e,c)),a.isEndPoint(e,i.focus,c)&&(d=a.getNextNodeStartPoint(e,c)),d&&(o.newProperties={anchor:d,focus:d})}n(o)},e.normalizeNode=([o,i])=>{if(o.type===a.getPluginType(e,T)){const l=e.selection;if(l&&a.isCollapsed(l)&&a.isEndPoint(e,l.focus,i)){const c=a.getNextNodeStartPoint(e,i);if(c)a.select(e,c);else{const d=a.Path.next(i);a.insertNodes(e,{text:""},{at:d}),a.select(e,d)}}}r([o,i])},a.withRemoveEmptyNodes(e,a.mockPlugin({options:{types:t}}))},Mt=(e,t,n)=>{a.insertNodes(e,[Ut(e,t)],n)},Qe=e=>{if(!e.selection)return;const{isUrl:t,forceSubmit:n}=a.getPluginOptions(e,T),r=A.url();if(!((t==null?void 0:t(r))||n))return;const i=A.text(),l=A.buttonStyle(),c=A.newTab()?void 0:"_self";return N.reset(),Ft(e,{url:r,text:i,buttonStyle:l,target:c,isUrl:d=>n||!t?!0:t(d)}),setTimeout(()=>{a.focusEditor(e,e.selection??void 0)},0),!0},ae=(e,t)=>a.withoutNormalizing(e,()=>{var n,r,o,i,l,c;if(t!=null&&t.split){if(a.getAboveNode(e,{at:(n=e.selection)==null?void 0:n.anchor,match:{type:a.getPluginType(e,T)}}))return a.splitNodes(e,{at:(r=e.selection)==null?void 0:r.anchor,match:p=>a.isElement(p)&&p.type===a.getPluginType(e,T)}),ae(e,{at:(o=e.selection)==null?void 0:o.anchor}),!0;if(a.getAboveNode(e,{at:(i=e.selection)==null?void 0:i.focus,match:{type:a.getPluginType(e,T)}}))return a.splitNodes(e,{at:(l=e.selection)==null?void 0:l.focus,match:p=>a.isElement(p)&&p.type===a.getPluginType(e,T)}),ae(e,{at:(c=e.selection)==null?void 0:c.focus}),!0}a.unwrapNodes(e,{match:{type:a.getPluginType(e,T)},...t})}),Ft=(e,{url:t,text:n,buttonStyle:r,target:o,insertTextInButton:i,insertNodesOptions:l,isUrl:c=a.getPluginOptions(e,T).isUrl})=>{var E;const d=e.selection;if(!d)return;const h=a.getAboveNode(e,{at:d,match:{type:a.getPluginType(e,T)}});if(i&&h)return e.insertText(t),!0;if(!(c!=null&&c(t)))return;if(a.isDefined(n)&&n.length===0&&(n=t),h)return br(t,e,h,o,r,n),!0;const p=a.findNode(e,{at:d,match:{type:a.getPluginType(e,T)}}),[u,f]=p??[],v=wr(e,f,n);if(a.isExpanded(d))return xr(h,e,t,r,o,n),!0;v&&a.removeNodes(e,{at:f});const x=a.getNodeProps(u??{}),C=(E=e.selection)==null?void 0:E.focus.path;if(!C)return;const L=a.getNodeLeaf(e,C);return n!=null&&n.length||(n=t),Mt(e,{...x,url:t,target:o,children:[{...L,text:n}]},l),!0};function wr(e,t,n){return t&&(n==null?void 0:n.length)&&n!==a.getEditorString(e,t)}function xr(e,t,n,r,o,i){e?ae(t,{at:e[1]}):ae(t,{split:!0}),Ot(t,{url:n,buttonStyle:r,target:o}),Xe(t,{text:i})}function br(e,t,n,r,o,i){var l,c,d;(e!==((l=n[0])==null?void 0:l.url)||r!==((c=n[0])==null?void 0:c.target)||o!==((d=n[0])==null?void 0:d.buttonStyle))&&a.setNodes(t,{url:e,target:r,buttonStyle:o},{at:n[1]}),Xe(t,{text:i})}const Xe=(e,{text:t})=>{const n=a.getAboveNode(e,{match:{type:a.getPluginType(e,T)}});if(n){const[r,o]=n;if(t!=null&&t.length&&t!==a.getEditorString(e,o)){const i=r.children[0];a.replaceNodeChildren(e,{at:o,nodes:{...i,text:t},insertOptions:{select:!0}})}}},Ot=(e,{url:t,buttonStyle:n,target:r,...o})=>{a.wrapNodes(e,{type:a.getPluginType(e,T),url:t,buttonStyle:n,target:r,children:[]},{split:!0,...o})},yr=(e,t)=>{const n=a.getAboveNode(e,{match:{type:T}});return Array.isArray(n)?t(n[0]):""},_t=e=>yr(e,t=>t.url??""),Ut=(e,{url:t,text:n="",buttonStyle:r="primary",target:o,children:i})=>({type:a.getPluginType(e,T),url:t,target:o,buttonStyle:r,children:i??[{text:n}]}),Ht=(e,{focused:t}={})=>{if(A.mode()==="edit"){Se(e);return}Ye(e,{focused:t})},Se=e=>{const t=a.findNode(e,{match:{type:a.getPluginType(e,T)}});if(!t)return;const[n,r]=t;let o=a.getEditorString(e,r);N.url(n.url),N.newTab(n.target===void 0),o===n.url&&(o=""),N.text(o),N.isEditing(!0)},Ye=(e,{focused:t}={})=>{A.mode()||!t||a.isRangeAcrossBlocks(e,{at:e.selection})||a.someNode(e,{match:{type:a.getPluginType(e,T)}})||(N.text(a.getEditorString(e,e.selection)),N.show("insert",e.id))},Be={marginTop:"10px",marginBottom:"10px",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",verticalAlign:"middle",boxSizing:"border-box",overflowWrap:"normal"},Pe={buttonPrimary:{...Be,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)",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:{...Be,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)",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:{...Be,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)",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)"}}},vr=e=>{var l,c;const{attributes:t,children:n}=e,r=e.element.url||((c=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:c.link)||"",o=e.element.target||"_self",i=String(e.element.buttonStyle)||"primary";return s.jsx(Cr,{attributes:t,href:r,target:o,styles:Pe[`button${i.charAt(0).toUpperCase()+i.slice(1)}`],children:n})},Cr=({attributes:e,styles:t={hover:{}},children:n,href:r="#",target:o})=>{const[i,l]=g.useState(!1);return s.jsx("a",{...e,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),href:r,target:o,style:i?{...t,...t.hover}:t,children:n})};class kr extends a.MarkupElement{constructor(t=T,n=vr){super(t,n)}}const zt=g.forwardRef((e,t)=>{const n=a.useEditorRef();return s.jsx(a.ToolbarButton,{ref:t,...e,onMouseDown:r=>{r.preventDefault(),a.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{Ht(n,{focused:!0})},children:s.jsx(a.IconStylingWrapper,{icon:s.jsx(P.IconButton,{size:16})})})});zt.displayName="ButtonToolbarButton";const Sr=({editorId:e,id:t})=>{const n=a.useEditorState(a.useEventPlateId(e)),r=!!a.isRangeInSameBlock(n,{at:n.selection}),o=a.getPluginType(n,T),i=!!(n!=null&&n.selection)&&a.someNode(n,{match:{type:o}});return s.jsx("div",{"data-plugin-id":t,children:s.jsx(zt,{pressed:i,disabled:!r,tooltip:a.getTooltip(r?`Button
|
|
2
|
-
${
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@frontify/sidebar-settings"),s=require("react/jsx-runtime"),o=require("@frontify/fondue/rte"),Y=require("@frontify/app-bridge"),u=require("react"),I=require("@dnd-kit/core"),Ln=require("@dnd-kit/modifiers"),pt=require("@dnd-kit/sortable"),H=require("@frontify/fondue"),h=require("@frontify/fondue/components"),S=require("@frontify/fondue/icons"),le=require("@react-aria/focus"),ft=require("react-dom"),U=require("@ctrl/tinycolor"),_=t=>t.filter(Boolean).join(" "),Rn=({onDrop:t,label:e,icon:n,secondaryLabel:r,isLoading:a,fillParentContainer:i,onAssetChooseClick:d,onUploadClick:c,withMenu:l=!0,onClick:p,validFileType:x,verticalLayout:g})=>{const[f,v]=u.useState(!1),[w,C]=u.useState(),N=u.useRef(null),[A,L]=u.useState(void 0),z=k=>{if(k.preventDefault(),v(!1),!D(k.dataTransfer.files)){L("Invalid"),setTimeout(()=>{L(void 0)},1e3);return}t?.(k.dataTransfer.files)},D=k=>{if(!x)return!0;for(let M=0;M<k.length;M++){const W=k[M].name.split(".").pop()??"";if(!Y.FileExtensionSets[x].includes(W))return!1}return!0},F=k=>{if(!N.current||a)return;const{clientX:M,clientY:W}=k,lt=M===0&&W===0,{left:gt,top:Tt,width:It,height:mt}=N.current.getBoundingClientRect(),ht=lt?It/2:M-gt,V=lt?mt/2:W-Tt;C([ht,V])},E=u.useCallback(k=>{k(),C(void 0)},[]),Pt=u.useMemo(()=>{const k=[];return c&&k.push({onSelect:()=>E(c),title:"Upload asset",icon:s.jsx(S.IconArrowCircleUp,{size:"20"})}),d&&k.push({onSelect:()=>E(d),title:"Browse asset",icon:s.jsx(S.IconImageStack,{size:"20"})}),k},[d,c,E]);return s.jsxs("button",{ref:N,"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",g?"[&:not(:first-child)]:tw-border-t-0 first:tw-rounded-tr last:tw-rounded-bl":"[&:not(:first-child)]:tw-border-l-0 first:tw-rounded-bl last:tw-rounded-tr",i?"tw-h-full":"tw-h-[72px]",f&&!a?"tw-border-dashed":"tw-border-solid",w&&"tw-bg-blank-state-pressed-inverse",f&&"tw-bg-blank-state-weak-inverse",A?"!tw-border-red-50 !tw-cursor-not-allowed":" tw-border-blank-state-line",a||w||f||A?"":"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||w)&&!A?"[&>*]:tw-pointer-events-none tw-border-blank-state-line-hover":"tw-bg-blank-state-shaded-inverse tw-text-blank-state-shaded"]),onDragEnter:t?k=>{if(v(!0),x==="Images")for(const M of Array.from(k.dataTransfer.items))M?.type?.startsWith("image/")?L(void 0):L("Invalid")}:void 0,onDragLeave:t?()=>{v(!1),L(void 0)}:void 0,onDrop:t?z:void 0,onClick:k=>{l&&!w&&F(k),p?.()},children:[a?s.jsx(h.LoadingCircle,{}):A?s.jsxs("div",{className:" tw-flex tw-items-center tw-justify-center tw-text-red-60 tw-font-medium",children:[s.jsx(S.IconExclamationMarkTriangle,{size:"16"}),A]}):s.jsxs(s.Fragment,{children:[n&&s.jsx("div",{children:n}),(e||r)&&s.jsxs("div",{className:"tw-flex tw-flex-col tw-items-start",children:[e&&s.jsx("div",{className:"tw-font-medium",children:e}),r&&s.jsx("div",{className:"tw-font-normal",children:r})]})]}),w&&s.jsx("div",{className:"tw-absolute tw-left-0 tw-top-full tw-z-20",style:{left:w[0],top:w[1]},children:s.jsxs(h.Flyout.Root,{open:!0,onOpenChange:k=>!k&&C(void 0),children:[s.jsx(h.Flyout.Trigger,{children:s.jsx("div",{})}),s.jsx(h.Flyout.Content,{triggerOffset:"compact",children:s.jsxs(h.Dropdown.Root,{open:!0,children:[s.jsx(h.Dropdown.Trigger,{children:s.jsx("div",{})}),s.jsx(h.Dropdown.Content,{triggerOffset:"compact",children:Pt.map(k=>s.jsxs(h.Dropdown.Item,{onSelect:k.onSelect,children:[k.icon,k.title]},k.title))})]})})]})})]})},Z=t=>{const e=r=>typeof r=="object"&&["red","green","blue"].every(i=>r.hasOwnProperty(i)),n=r=>{const a=typeof r.alpha=="number"?r.alpha:1;return{r:r.red,g:r.green,b:r.blue,a}};return e(t)?n(t):t},Dn=t=>typeof t=="object"&&["red","green","blue"].every(n=>t?.hasOwnProperty(n)),Mn=(t,e)=>{const n=Dn(t)?Z(t):t,r=new U.TinyColor(n);return e?r.getBrightness()<e:r.isDark()||r.getAlpha()>.25&&r.getAlpha()<1},Fn=t=>new U.TinyColor(Z(t)).toHex8String(),On=t=>new U.TinyColor(Z(t)).toHexString(),Ot=t=>new U.TinyColor(Z(t)).toRgbString(),_n=(t,e)=>new U.TinyColor(e).setAlpha(t).toRgbString(),Un=t=>{const{r:e,g:n,b:r,a}=new U.TinyColor(t);return{red:e,green:n,blue:r,alpha:a}},se=t=>typeof t=="object"&&["red","green","blue"].every(n=>t?.hasOwnProperty(n)),Hn=(t,e)=>{const n=se(t)?Z(t):t,r=se(e)?Z(e):e;let a=new U.TinyColor(n);const i=new U.TinyColor(r);for(;U.readability(a,i)<4.5;)a=a.darken(1);return a.toRgbString()},zn=(t,e,n)=>{const r=[...t],a=n<0?r.length+n:n;if(a>=0&&a<r.length){const i=r.splice(e,1)[0];r.splice(a,0,i)}return r},Vn=t=>({backgroundColor:Ot(t)}),$n={red:241,green:241,blue:241,alpha:1},de={red:234,green:235,blue:235,alpha:1},Wn="1px",dt="24px",ct="24px";var O=(t=>(t.Solid="Solid",t.Dashed="Dashed",t.Dotted="Dotted",t))(O||{});const ce={Solid:"solid",Dotted:"dotted",Dashed:"dashed"};var $=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))($||{});const X={None:"0px",Small:"2px",Medium:"4px",Large:"12px"};var G=(t=>(t.None="None",t.Small="Small",t.Medium="Medium",t.Large="Large",t))(G||{});const tt={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 et={None:"0px",Small:"24px",Medium:"36px",Large:"60px"};var J=(t=>(t.Global="Global",t.Custom="Custom",t))(J||{}),Q=(t=>(t.Auto="Auto",t.S="S",t.M="M",t.L="L",t))(Q||{});const ue={Auto:"4px",S:"10px",M:"30px",L:"50px"},qn=(t=O.Solid,e="1px",n=de)=>({borderStyle:ce[t],borderWidth:e,borderColor:Ot(n)}),Gn=(t,e=!1,n)=>({borderRadius:e?n:X[t]}),_t=u.createContext(!1);_t.displayName="DragPreviewContext";const ge=({children:t,isDragPreview:e})=>s.jsx(_t.Provider,{value:e,children:t}),at=()=>u.useContext(_t),Ut=u.createContext({openFlyoutIds:[],setOpenFlyoutIds:()=>console.error("No MultiFlyoutContext Provider found")});Ut.displayName="MultiFlyoutContext";const me=({children:t,openFlyoutIds:e,setOpenFlyoutIds:n})=>{const r=u.useMemo(()=>({openFlyoutIds:e,setOpenFlyoutIds:n}),[e,n]);return s.jsx(Ut.Provider,{value:r,children:t})},he=()=>u.useContext(Ut),bt=t=>{const{openFlyoutIds:e,setOpenFlyoutIds:n}=he(),r=u.useCallback(a=>{n(i=>{const d=i.filter(c=>c!==t);return a?[...d,t]:d})},[t,n]);return{isOpen:e.includes(t),onOpenChange:r}},Ht=(t,e)=>{const{blockAssets:n,addAssetIdsToKey:r,deleteAssetIdsFromKey:a,updateAssetIdsFromKey:i}=e,d=n?.[t]||[];return{onAttachmentsAdd:async g=>{await r(t,g.map(f=>f.id))},onAttachmentDelete:async g=>{await a(t,[g.id])},onAttachmentReplace:async(g,f)=>{const v=d.map(w=>w.id===g.id?f.id:w.id);await i(t,v)},onAttachmentsSorted:async g=>{const f=g.map(v=>v.id);await i(t,f)},attachments:d}},pe=(t,e)=>{const{onAttachmentsAdd:n,onAttachmentDelete:r,onAttachmentReplace:a,onAttachmentsSorted:i,attachments:d}=Ht(e,Y.useBlockAssets(t));return{onAttachmentsAdd:n,onAttachmentDelete:r,onAttachmentReplace:a,onAttachmentsSorted:i,attachments:d,appBridge:t}},yt=u.createContext(null);yt.displayName="AttachmentsContext";const fe=({appBridge:t,children:e,assetId:n})=>{const r=pe(t,n);return s.jsx(yt.Provider,{value:r,children:e})},Kn=({blockAssetBundle:t,appBridge:e,children:n,assetId:r})=>{const a=Ht(r,t);return s.jsx(yt.Provider,{value:{...a,appBridge:e},children:n})},xe=()=>{const t=u.useContext(yt);if(!t)throw new Error("No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC");return t},Qn=(t,e)=>{const n=r=>s.jsx(fe,{appBridge:r.appBridge,assetId:e,children:s.jsx(t,{...r})});return n.displayName="withAttachmentsProvider",n},Xn=[I.KeyboardCode.Down,I.KeyboardCode.Right,I.KeyboardCode.Up,I.KeyboardCode.Left],we=(t,e)=>(n,{currentCoordinates:r,context:{activeNode:a}})=>{if(n.preventDefault(),Xn.includes(n.code)){const i=a?.offsetWidth??0,d=a?.offsetHeight??0;switch(n.code){case I.KeyboardCode.Right:return{...r,x:r.x+i+t};case I.KeyboardCode.Left:return{...r,x:r.x-i-t};case I.KeyboardCode.Down:return{...r,y:r.y+d+e};case I.KeyboardCode.Up:return{...r,y:r.y-d-e}}}},Yn={start:["Space","Enter"],cancel:[],end:["Space","Enter","Escape"]},Jn=(t=0,e=0)=>{const n=u.useMemo(()=>({coordinateGetter:we(t,e),keyboardCodes:Yn}),[t,e]);return I.useSensors(I.useSensor(I.PointerSensor),I.useSensor(I.KeyboardSensor,n))},Zn=t=>t==="IMAGE"?s.jsx(S.IconImage,{size:"24"}):t==="VIDEO"?s.jsx(S.IconPlayFrame,{size:"24"}):t==="AUDIO"?s.jsx(S.IconMusicNote,{size:"24"}):s.jsx(S.IconDocument,{size:"24"}),be=u.forwardRef(({item:t,isEditing:e,draggableProps:n,transformStyle:r,isDragging:a,isOverlay:i,isLoading:d,onDelete:c,onReplaceWithBrowse:l,onReplaceWithUpload:p,onDownload:x},g)=>{const[f,v]=u.useState(),[w,{selectedFiles:C}]=Y.useFileInput({multiple:!0,accept:"image/*"}),[N,{results:A,doneAll:L}]=Y.useAssetUpload(),{focusProps:z,isFocusVisible:D}=le.useFocusRing();u.useEffect(()=>{C&&N(C[0])},[C]),u.useEffect(()=>{L&&p(A[0])},[L,A]);const F=d||C&&!L;return s.jsxs("button",{type:"button","aria-label":"Download attachment","data-test-id":"attachments-item",onClick:()=>!f&&x?.(),ref:g,style:{...r,opacity:a&&!i?.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",a?"tw-bg-box-neutral-hover":""]),children:[s.jsx("div",{className:"tw-text-text-weak group-hover:tw-text-box-neutral-inverse-hover",children:F?s.jsx(h.LoadingCircle,{size:"small"}):Zn(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",i||f?.id===t.id?"tw-opacity-100":"tw-opacity-0"]),children:[s.jsx("button",{type:"button",...z,...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 ",a||i?"tw-cursor-grabbing tw-bg-button-background-pressed hover:tw-bg-button-background-pressed":"tw-cursor-grab hover:tw-bg-button-background-hover",D&&"tw-ring-4 tw-ring-blue tw-ring-offset-2 dark:tw-ring-offset-black tw-outline-none",D&&"tw-z-[2]"]),children:s.jsx(S.IconGrabHandle,{})}),s.jsx("div",{"data-test-id":"attachments-actionbar-flyout",children:s.jsxs(h.Dropdown.Root,{open:f?.id===t.id,onOpenChange:E=>v(E?t:void 0),children:[s.jsx(h.Dropdown.Trigger,{children:s.jsx(h.Button,{aspect:"square",ref:g,onPress:E=>{E?.stopPropagation(),E?.preventDefault()},emphasis:"default",children:s.jsx(S.IconPen,{size:"20"})})}),s.jsxs(h.Dropdown.Content,{side:"right",children:[s.jsxs(h.Dropdown.Group,{children:[s.jsxs(h.Dropdown.Item,{"data-test-id":"menu-item",onSelect:E=>{E?.stopPropagation(),w(),v(void 0)},children:[s.jsx(S.IconArrowCircleUp,{size:"20"}),"Replace with upload"]}),s.jsxs(h.Dropdown.Item,{onSelect:E=>{E?.stopPropagation(),l(),v(void 0)},children:[s.jsx(S.IconImageStack,{size:"20"}),"Replace with asset"]})]}),s.jsx(h.Dropdown.Group,{children:s.jsxs(h.Dropdown.Item,{emphasis:"danger",onSelect:E=>{E?.stopPropagation(),c(),v(void 0)},children:[s.jsx(S.IconTrashBin,{size:"20"}),"Delete"]})})]})]})})]})]})});be.displayName="AttachmentItem";const ts=t=>{const{attributes:e,listeners:n,setNodeRef:r,transform:a,transition:i,isDragging:d}=pt.useSortable({id:t.item.id}),c={transform:a?`translate(${a.x}px, ${a.y}px)`:"",transition:i,zIndex:d?2:1},l={...e,...n};return s.jsx(be,{ref:r,isDragging:d,transformStyle:c,draggableProps:l,...t})},ye=u.forwardRef(({children:t,isFlyoutOpen:e,...n},r)=>s.jsxs("button",{ref:r,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"]),"data-test-id":"attachments-button-trigger",...n,children:[s.jsx(S.IconPaperclip,{size:"16"}),t,s.jsx(S.IconCaretDown,{size:"12"})]}));ye.displayName="AttachmentsButtonTrigger";const ve=({items:t=[],onDelete:e,onReplaceWithBrowse:n,onReplaceWithUpload:r,onBrowse:a,onUpload:i,onSorted:d,appBridge:c,triggerComponent:l=ye,isOpen:p,onOpenChange:x})=>{const[g,f]=u.useState(t),[v,w]=u.useState(!1),C=I.useSensors(I.useSensor(I.PointerSensor),I.useSensor(I.KeyboardSensor)),[N,A]=u.useState(void 0),[L,z]=u.useState(!1),[D,F]=u.useState([]),[E,Pt]=u.useState(null),k=Y.useEditorState(c),{openAssetChooser:M,closeAssetChooser:W}=Y.useAssetChooser(c),lt=p!==void 0,gt=lt?p:v,Tt=g?.find(y=>y.id===N),[It,{results:mt,doneAll:ht}]=Y.useAssetUpload({onUploadProgress:()=>!L&&z(!0)}),V=y=>{(lt?x:w)?.(y)};u.useEffect(()=>{f(t)},[t]),u.useEffect(()=>{E&&(z(!0),It(E))},[E]),u.useEffect(()=>{(async()=>ht&&(await i(mt),z(!1)))()},[ht,mt]);const Pn=()=>{V(!1),M(y=>{a(y),W(),V(!0)},{multiSelection:!0,selectedValueIds:g.map(y=>y.id)})},Tn=y=>{V(!1),M(async R=>{V(!0),W(),F([...D,y.id]),await n(y,R[0]),F(D.filter(q=>q!==y.id))},{multiSelection:!1,selectedValueIds:g.map(R=>R.id)})},In=async(y,R)=>{F([...D,y.id]),await r(y,R),F(D.filter(q=>q!==y.id))},jn=y=>{const{active:R}=y;A(R.id)},En=y=>{const{active:R,over:q}=y;if(q&&R.id!==q.id&&g){const Nn=g.findIndex(jt=>jt.id===R.id),An=g.findIndex(jt=>jt.id===q.id),ne=pt.arrayMove(g,Nn,An);f(ne),d(ne)}A(void 0)},Bn={onOpenAutoFocus:y=>{y.preventDefault()},onEscapeKeyDown:y=>{y.stopPropagation(),V(!1)}};return k||(g?.length??0)>0?s.jsx("div",{"data-test-id":"attachments-flyout-button",children:s.jsx(h.Flyout.Root,{open:gt,onOpenChange:y=>V(Tt?!0:y),children:s.jsxs(h.Tooltip.Root,{enterDelay:500,children:[s.jsx(h.Tooltip.Trigger,{asChild:!0,children:s.jsx(h.Flyout.Trigger,{asChild:!0,"data-test-id":"attachments-button-trigger",children:s.jsx(l,{isFlyoutOpen:gt,children:s.jsx("div",{children:t.length>0?t.length:"Add"})})})}),s.jsx(h.Flyout.Content,{side:"bottom",align:"end",...Bn,children:s.jsxs("div",{className:"tw-w-[300px]","data-test-id":"attachments-flyout-content",children:[g.length>0&&s.jsx(I.DndContext,{sensors:C,collisionDetection:I.closestCenter,onDragStart:jn,onDragEnd:En,modifiers:[Ln.restrictToVerticalAxis],children:s.jsx(pt.SortableContext,{items:g,strategy:pt.rectSortingStrategy,children:s.jsx("div",{className:"tw-border-b tw-border-b-line tw-relative",children:g.map(y=>s.jsx(ts,{isEditing:k,isLoading:D.includes(y.id),item:y,onDelete:()=>e(y),onReplaceWithBrowse:()=>Tn(y),onReplaceWithUpload:R=>In(y,R),onDownload:()=>c.dispatch({name:"downloadAsset",payload:y})},y.id))})})}),k&&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(H.AssetInput,{isLoading:L,size:H.AssetInputSize.Small,onUploadClick:y=>Pt(y),onLibraryClick:Pn})]})]})}),s.jsx(h.Tooltip.Content,{side:"top",children:"Attachments"})]})})}):null},es=(t,e)=>{const n=[H.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)},it=u.forwardRef(({onClick:t,children:e,forceActiveStyle:n,cursor:r="pointer","data-test-id":a="base-toolbar-button",...i},d)=>s.jsx("button",{onClick:t,className:es(r,n),"data-test-id":a,...i,ref:d,children:e}));it.displayName="BaseToolbarButton";const Ce=u.forwardRef(({children:t,isFlyoutOpen:e,...n},r)=>s.jsxs(it,{forceActiveStyle:e,"data-test-id":"attachments-toolbar-button-trigger",ref:r,...n,children:[s.jsx(S.IconPaperclip,{size:"16"}),t,s.jsx(S.IconCaretDown,{size:"12"})]}));Ce.displayName="AttachmentsToolbarButtonTrigger";const ke="attachments",Se=({flyoutId:t=ke})=>{const e=H.useMemoizedId(t),{appBridge:n,attachments:r,onAttachmentsAdd:a,onAttachmentDelete:i,onAttachmentReplace:d,onAttachmentsSorted:c}=xe(),{isOpen:l,onOpenChange:p}=bt(e),x=at();return s.jsx(ve,{onUpload:a,onDelete:i,onReplaceWithBrowse:d,onReplaceWithUpload:d,onSorted:c,onBrowse:a,items:r,appBridge:n,triggerComponent:Ce,isOpen:l&&!x,onOpenChange:p})},Pe="Drag or press ↵ to move",Te="Move with ↑↓←→ and confirm with ↵",zt=({content:t,children:e,open:n,disabled:r})=>r?e:s.jsxs(h.Tooltip.Root,{enterDelay:300,open:n,children:[s.jsx(h.Tooltip.Trigger,{asChild:!0,children:e}),s.jsx(h.Tooltip.Content,{side:"top",children:s.jsx("div",{children:t})})]}),Ie=({tooltip:t,icon:e,setActivatorNodeRef:n,draggableProps:r})=>{const a=at();return s.jsx(zt,{...a&&{open:a},content:s.jsx("div",{children:a?Te:t??Pe}),children:s.jsx(it,{ref:n,"data-test-id":"block-item-wrapper-toolbar-btn",forceActiveStyle:a,cursor:"grab",...r,children:e})})},je=({content:t,icon:e,tooltip:n,flyoutId:r,flyoutFooter:a,flyoutHeader:i})=>{const d=H.useMemoizedId(r),{isOpen:c,onOpenChange:l}=bt(d),p=at();return s.jsx(zt,{disabled:p||c,content:n,children:s.jsx("div",{className:"tw-flex tw-flex-shrink-0 tw-flex-1 tw-h-6 tw-relative",children:s.jsxs(h.Flyout.Root,{open:c&&!p,onOpenChange:l,children:[s.jsx(h.Flyout.Trigger,{asChild:!0,children:s.jsx(it,{"data-test-id":"block-item-wrapper-toolbar-flyout",forceActiveStyle:c&&!p,children:e})}),s.jsxs(h.Flyout.Content,{side:"bottom",align:"end",padding:"comfortable",children:[i?s.jsx(h.Flyout.Header,{children:i}):null,s.jsx(h.Flyout.Body,{children:t}),a?s.jsx(h.Flyout.Footer,{children:a}):null]})]})})})},Vt="menu",Ee=({items:t,flyoutId:e=Vt,tooltip:n="Options"})=>{const r=H.useMemoizedId(e),{isOpen:a,onOpenChange:i}=bt(r),d=at();return s.jsx(h.Dropdown.Root,{open:a&&!d,onOpenChange:i,children:s.jsxs(h.Tooltip.Root,{children:[s.jsx(h.Tooltip.Trigger,{asChild:!0,children:s.jsx(h.Dropdown.Trigger,{asChild:!0,children:s.jsx(it,{"data-test-id":"block-item-wrapper-toolbar-flyout",children:s.jsx(S.IconDotsHorizontal,{size:"16"})})})}),s.jsx(h.Dropdown.Content,{children:t.map((c,l)=>s.jsx(h.Dropdown.Group,{children:c.map((p,x)=>s.jsxs(h.Dropdown.Item,{"data-test-id":"menu-item",onSelect:()=>{i(!1),p.onClick()},emphasis:p.style||"default",children:[s.jsx("div",{className:"tw-mr-2",children:p.icon}),s.jsx("span",{children:p.title})]},`${l}-${x}`))},l))}),s.jsx(h.Tooltip.Content,{children:n})]})})},ns=({tooltip:t,icon:e,onClick:n})=>{const r=at();return s.jsx(zt,{disabled:r,content:t??"",children:s.jsx(it,{"data-test-id":"block-item-wrapper-toolbar-btn",onClick:n,children:e})})},oe=({children:t})=>s.jsx("div",{"data-test-id":"block-item-wrapper-toolbar-segment",className:"tw-pointer-events-auto tw-flex tw-flex-shrink-0 tw-gap-px tw-px-px tw-h-[26px] tw-items-center tw-self-start tw-leading-none",children:t}),Be=({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(oe,{children:s.jsx(Se,{})}),t.length>0&&s.jsx(oe,{children:t.map(n=>{switch(n.type){case"dragHandle":return s.jsx(Ie,{...n},n.tooltip+n.type);case"menu":return s.jsx(Ee,{...n},n.tooltip+n.type);case"flyout":return s.jsx(je,{...n},n.tooltip+n.type);default:return s.jsx(ns,{...n},n.tooltip+n.type)}})})]}),Ne=u.memo(({children:t,toolbarItems:e,shouldHideWrapper:n,shouldHideComponent:r=!1,isDragging:a=!1,shouldFillContainer:i,outlineOffset:d=0,shouldBeShown:c=!1,showAttachments:l=!1})=>{const[p,x]=u.useState(c?[Vt]:[]),g=u.useRef(null);if(n)return s.jsx(s.Fragment,{children:t});const f=e?.filter(w=>w!==void 0),v=p.length>0||c;return s.jsx(ge,{isDragPreview:a,children:s.jsx(me,{openFlyoutIds:p,setOpenFlyoutIds:x,children:s.jsxs("div",{ref:g,"data-test-id":"block-item-wrapper",style:{outlineOffset:d},className:_(["tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse",i&&"tw-flex-1 tw-h-full tw-w-full","hover:tw-outline focus-within:tw-outline",v&&"tw-outline",r&&"tw-opacity-0"]),children:[s.jsx("div",{style:{right:-1-d,bottom:`calc(100% - ${2+d}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",v&&"tw-opacity-100"]),children:s.jsx(Be,{attachments:{isEnabled:l},items:f})}),t]})})})});Ne.displayName="BlockItemWrapper";const ss=({onDownload:t,ariaLabel:e})=>{const{isFocused:n,focusProps:r}=le.useFocusRing();return s.jsxs(h.Tooltip.Root,{enterDelay:500,children:[s.jsx(h.Tooltip.Trigger,{asChild:!0,children:s.jsx("button",{type:"button",tabIndex:0,"aria-label":e??"Download",...r,className:_(["tw-outline-none tw-rounded",n&&"tw-ring-4 tw-ring-blue tw-ring-offset-2 dark:tw-ring-offset-black tw-outline-none"]),onClick:t,onPointerDown:a=>a.preventDefault(),"data-test-id":"download-button",children:s.jsx("span",{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(S.IconArrowCircleDown,{size:"16"})})})}),s.jsx(h.Tooltip.Content,{side:"top",children:"Download"})]})},os=({ref:t,disabled:e,onChange:n})=>{u.useEffect(()=>{if(e||!t.current)return;let r=!1;const a=new IntersectionObserver(([i])=>{i.isIntersecting!==r&&(r=i.isIntersecting,n(i.isIntersecting))});return a.observe(t.current),()=>{a.disconnect()}},[t,e,n])},rs=({value:t="",gap:e,customClass:n,show:r=!0,plugins:a})=>{const[i,d]=u.useState(null);return u.useEffect(()=>{(async()=>{const l=await o.serializeRawToHtmlAsync(t,a,void 0,e,n);d(l)})().catch(console.error)},[t,e,a,n]),!r||i==="<br />"||i===null?null:s.jsx("div",{className:"tw-w-full tw-whitespace-pre-wrap","data-test-id":"rte-content-html",dangerouslySetInnerHTML:{__html:i}})},$t=o.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})),j=$t.set,B=$t.get,ut=()=>$t.use,Ae=t=>{if(!t)return!1;const e=n=>n.some(r=>r.text?r.text!=="":r.children?e(r.children):!1);try{const n=JSON.parse(t);return e(n)}catch{return!1}},as=(t="p",e="",n)=>Ae(e)?e:JSON.stringify([{type:t,children:[{text:e,textStyle:t}],align:n}]),is=(t,e,n)=>t===J.Custom?e:n,ls=t=>t.map(Le),Le=t=>({id:t.id,title:t.name,colors:t.colors.map(cs)}),ds=t=>"revision"in t,cs=t=>{if(ds(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??""}},Wt=(t,e)=>{const n=o.getAboveNode(t,{match:{type:o.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},us=t=>Wt(t,e=>e.chosenLink?.searchResult?.link||""),gs=t=>Wt(t,e=>e.url||""),qt=t=>t.url||t.chosenLink?.searchResult?.link||"",ms=t=>Wt(t,qt),Gt=/^\/(document|r)\/\S+$/i,vt=t=>{if(Gt.test(t))return t;try{return new URL(t),t}catch{return`https://${t}`}},Ct=t=>{if(Gt.test(t))return!0;try{const e=new URL(t);return["http:","https:","mailto:","tel:"].includes(e.protocol)&&e.pathname!==""}catch{return!1}},st=t=>Ct(vt(t))||t==="",Re=(t,{type:e})=>{const{apply:n,normalizeNode:r}=t;return t.apply=a=>{if(a.type!=="set_selection"){n(a);return}const i=a.newProperties;if(!i?.focus||!i.anchor||!o.isCollapsed(i)){n(a);return}const d=o.getAboveNode(t,{at:i,match:{type:o.getPluginType(t,P)}});if(d){const[,c]=d;let l;o.isStartPoint(t,i.focus,c)&&(l=o.getPreviousNodeEndPoint(t,c)),o.isEndPoint(t,i.focus,c)&&(l=o.getNextNodeStartPoint(t,c)),l&&(a.newProperties={anchor:l,focus:l})}n(a)},t.normalizeNode=([a,i])=>{if(a.type===o.getPluginType(t,P)){const d=t.selection;if(d&&o.isCollapsed(d)&&o.isEndPoint(t,d.focus,i)){const c=o.getNextNodeStartPoint(t,i);if(c)o.select(t,c);else{const l=o.Path.next(i);o.insertNodes(t,{text:""},{at:l}),o.select(t,l)}}}r([a,i])},o.withRemoveEmptyNodes(t,o.mockPlugin({options:{types:e}}))},De=(t,e,n)=>{o.insertNodes(t,[_e(t,e)],n)},Kt=t=>{if(!t.selection)return;const{isUrl:e,forceSubmit:n}=o.getPluginOptions(t,P),r=B.url();if(!(e?.(r)||n))return;const i=B.text(),d=B.buttonStyle(),c=B.newTab()?void 0:"_self";return j.reset(),Me(t,{url:r,text:i,buttonStyle:d,target:c,isUrl:l=>n||!e?!0:e(l)}),setTimeout(()=>{o.focusEditor(t,t.selection??void 0)},0),!0},ot=(t,e)=>o.withoutNormalizing(t,()=>{if(e?.split){if(o.getAboveNode(t,{at:t.selection?.anchor,match:{type:o.getPluginType(t,P)}}))return o.splitNodes(t,{at:t.selection?.anchor,match:a=>o.isElement(a)&&a.type===o.getPluginType(t,P)}),ot(t,{at:t.selection?.anchor}),!0;if(o.getAboveNode(t,{at:t.selection?.focus,match:{type:o.getPluginType(t,P)}}))return o.splitNodes(t,{at:t.selection?.focus,match:a=>o.isElement(a)&&a.type===o.getPluginType(t,P)}),ot(t,{at:t.selection?.focus}),!0}o.unwrapNodes(t,{match:{type:o.getPluginType(t,P)},...e})}),Me=(t,{url:e,text:n,buttonStyle:r,target:a,insertTextInButton:i,insertNodesOptions:d,isUrl:c=o.getPluginOptions(t,P).isUrl})=>{const l=t.selection;if(!l)return;const p=o.getAboveNode(t,{at:l,match:{type:o.getPluginType(t,P)}});if(i&&p)return t.insertText(e),!0;if(!c?.(e))return;if(o.isDefined(n)&&n.length===0&&(n=e),p)return fs(e,t,p,a,r,n),!0;const x=o.findNode(t,{at:l,match:{type:o.getPluginType(t,P)}}),[g,f]=x??[],v=hs(t,f,n);if(o.isExpanded(l))return ps(p,t,e,r,a,n),!0;v&&o.removeNodes(t,{at:f});const w=o.getNodeProps(g??{}),C=t.selection?.focus.path;if(!C)return;const N=o.getNodeLeaf(t,C);return n?.length||(n=e),De(t,{...w,url:e,target:a,children:[{...N,text:n}]},d),!0};function hs(t,e,n){return e&&n?.length&&n!==o.getEditorString(t,e)}function ps(t,e,n,r,a,i){t?ot(e,{at:t[1]}):ot(e,{split:!0}),Fe(e,{url:n,buttonStyle:r,target:a}),Qt(e,{text:i})}function fs(t,e,n,r,a,i){(t!==n[0]?.url||r!==n[0]?.target||a!==n[0]?.buttonStyle)&&o.setNodes(e,{url:t,target:r,buttonStyle:a},{at:n[1]}),Qt(e,{text:i})}const Qt=(t,{text:e})=>{const n=o.getAboveNode(t,{match:{type:o.getPluginType(t,P)}});if(n){const[r,a]=n;if(e?.length&&e!==o.getEditorString(t,a)){const i=r.children[0];o.replaceNodeChildren(t,{at:a,nodes:{...i,text:e},insertOptions:{select:!0}})}}},Fe=(t,{url:e,buttonStyle:n,target:r,...a})=>{o.wrapNodes(t,{type:o.getPluginType(t,P),url:e,buttonStyle:n,target:r,children:[]},{split:!0,...a})},xs=(t,e)=>{const n=o.getAboveNode(t,{match:{type:P}});return Array.isArray(n)?e(n[0]):""},Oe=t=>xs(t,e=>e.url??""),_e=(t,{url:e,text:n="",buttonStyle:r="primary",target:a,children:i})=>({type:o.getPluginType(t,P),url:e,target:a,buttonStyle:r,children:i??[{text:n}]}),Ue=(t,{focused:e}={})=>{if(B.mode()==="edit"){kt(t);return}Xt(t,{focused:e})},kt=t=>{const e=o.findNode(t,{match:{type:o.getPluginType(t,P)}});if(!e)return;const[n,r]=e;let a=o.getEditorString(t,r);j.url(n.url),j.newTab(n.target===void 0),a===n.url&&(a=""),j.text(a),j.isEditing(!0)},Xt=(t,{focused:e}={})=>{B.mode()||!e||o.isRangeAcrossBlocks(t,{at:t.selection})||o.someNode(t,{match:{type:o.getPluginType(t,P)}})||(j.text(o.getEditorString(t,t.selection)),j.show("insert",t.id))},Et={marginTop:"10px",marginBottom:"10px",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",verticalAlign:"middle",boxSizing:"border-box",overflowWrap:"normal"},St={buttonPrimary:{...Et,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)",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:{...Et,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)",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:{...Et,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)",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)"}}},ws=t=>{const{attributes:e,children:n}=t,r=t.element.url||t.element.chosenLink?.searchResult?.link||"",a=t.element.target||"_self",i=String(t.element.buttonStyle)||"primary";return s.jsx(bs,{attributes:e,href:r,target:a,styles:St[`button${i.charAt(0).toUpperCase()+i.slice(1)}`],children:n})},bs=({attributes:t,styles:e={hover:{}},children:n,href:r="#",target:a})=>{const[i,d]=u.useState(!1);return s.jsx("a",{...t,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),href:r,target:a,style:i?{...e,...e.hover}:e,children:n})};class ys extends o.MarkupElement{constructor(e=P,n=ws){super(e,n)}}const He=u.forwardRef((t,e)=>{const n=o.useEditorRef();return s.jsx(o.ToolbarButton,{ref:e,...t,onMouseDown:r=>{r.preventDefault(),o.focusEditor(n,n.selection??n.prevSelection??void 0)},onClick:()=>{Ue(n,{focused:!0})},children:s.jsx(o.IconStylingWrapper,{icon:s.jsx(S.IconButton,{size:16})})})});He.displayName="ButtonToolbarButton";const vs=({editorId:t,id:e})=>{const n=o.useEditorState(o.useEventPlateId(t)),r=!!o.isRangeInSameBlock(n,{at:n.selection}),a=o.getPluginType(n,P),i=!!n?.selection&&o.someNode(n,{match:{type:a}});return s.jsx("div",{"data-plugin-id":e,children:s.jsx(He,{pressed:i,disabled:!r,tooltip:o.getTooltip(r?`Button
|
|
2
|
+
${o.getHotkeyByPlatform("Ctrl+Shift+K")}`:"Buttons can only be set for a single text block.")})})},rt="link-plugin";var b=(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))(b||{});const T={heading1:{fontSize:"var(--f-theme-settings-heading1-font-size)",lineHeight:"var(--f-theme-settings-heading1-line-height)",marginTop:"var(--f-theme-settings-heading1-margin-top)",marginBottom:"var(--f-theme-settings-heading1-margin-bottom)",textDecoration:"var(--f-theme-settings-heading1-text-decoration)",fontStyle:"var(--f-theme-settings-heading1-font-style)",textTransform:"var(--f-theme-settings-heading1-text-transform)",letterSpacing:"var(--f-theme-settings-heading1-letter-spacing)",fontWeight:"var(--f-theme-settings-heading1-font-weight)",fontFamily:"var(--f-theme-settings-heading1-font-family)",color:"var(--f-theme-settings-heading1-color)"},heading2:{fontSize:"var(--f-theme-settings-heading2-font-size)",lineHeight:"var(--f-theme-settings-heading2-line-height)",marginTop:"var(--f-theme-settings-heading2-margin-top)",marginBottom:"var(--f-theme-settings-heading2-margin-bottom)",textDecoration:"var(--f-theme-settings-heading2-text-decoration)",fontStyle:"var(--f-theme-settings-heading2-font-style)",textTransform:"var(--f-theme-settings-heading2-text-transform)",letterSpacing:"var(--f-theme-settings-heading2-letter-spacing)",fontWeight:"var(--f-theme-settings-heading2-font-weight)",fontFamily:"var(--f-theme-settings-heading2-font-family)",color:"var(--f-theme-settings-heading2-color)"},heading3:{fontSize:"var(--f-theme-settings-heading3-font-size)",lineHeight:"var(--f-theme-settings-heading3-line-height)",marginTop:"var(--f-theme-settings-heading3-margin-top)",marginBottom:"var(--f-theme-settings-heading3-margin-bottom)",textDecoration:"var(--f-theme-settings-heading3-text-decoration)",fontStyle:"var(--f-theme-settings-heading3-font-style)",textTransform:"var(--f-theme-settings-heading3-text-transform)",letterSpacing:"var(--f-theme-settings-heading3-letter-spacing)",fontWeight:"var(--f-theme-settings-heading3-font-weight)",fontFamily:"var(--f-theme-settings-heading3-font-family)",color:"var(--f-theme-settings-heading3-color)"},heading4:{fontSize:"var(--f-theme-settings-heading4-font-size)",lineHeight:"var(--f-theme-settings-heading4-line-height)",marginTop:"var(--f-theme-settings-heading4-margin-top)",marginBottom:"var(--f-theme-settings-heading4-margin-bottom)",textDecoration:"var(--f-theme-settings-heading4-text-decoration)",fontStyle:"var(--f-theme-settings-heading4-font-style)",textTransform:"var(--f-theme-settings-heading4-text-transform)",letterSpacing:"var(--f-theme-settings-heading4-letter-spacing)",fontWeight:"var(--f-theme-settings-heading4-font-weight)",fontFamily:"var(--f-theme-settings-heading4-font-family)",color:"var(--f-theme-settings-heading4-color)"},custom1:{fontSize:"var(--f-theme-settings-custom1-font-size)",lineHeight:"var(--f-theme-settings-custom1-line-height)",marginTop:"var(--f-theme-settings-custom1-margin-top)",marginBottom:"var(--f-theme-settings-custom1-margin-bottom)",textDecoration:"var(--f-theme-settings-custom1-text-decoration)",fontStyle:"var(--f-theme-settings-custom1-font-style)",textTransform:"var(--f-theme-settings-custom1-text-transform)",letterSpacing:"var(--f-theme-settings-custom1-letter-spacing)",fontWeight:"var(--f-theme-settings-custom1-font-weight)",fontFamily:"var(--f-theme-settings-custom1-font-family)",color:"var(--f-theme-settings-custom1-color)"},custom2:{fontSize:"var(--f-theme-settings-custom2-font-size)",lineHeight:"var(--f-theme-settings-custom2-line-height)",marginTop:"var(--f-theme-settings-custom2-margin-top)",marginBottom:"var(--f-theme-settings-custom2-margin-bottom)",textDecoration:"var(--f-theme-settings-custom2-text-decoration)",fontStyle:"var(--f-theme-settings-custom2-font-style)",textTransform:"var(--f-theme-settings-custom2-text-transform)",letterSpacing:"var(--f-theme-settings-custom2-letter-spacing)",fontWeight:"var(--f-theme-settings-custom2-font-weight)",fontFamily:"var(--f-theme-settings-custom2-font-family)",color:"var(--f-theme-settings-custom2-color)"},custom3:{fontSize:"var(--f-theme-settings-custom3-font-size)",lineHeight:"var(--f-theme-settings-custom3-line-height)",marginTop:"var(--f-theme-settings-custom3-margin-top)",marginBottom:"var(--f-theme-settings-custom3-margin-bottom)",textDecoration:"var(--f-theme-settings-custom3-text-decoration)",fontStyle:"var(--f-theme-settings-custom3-font-style)",textTransform:"var(--f-theme-settings-custom3-text-transform)",letterSpacing:"var(--f-theme-settings-custom3-letter-spacing)",fontWeight:"var(--f-theme-settings-custom3-font-weight)",fontFamily:"var(--f-theme-settings-custom3-font-family)",color:"var(--f-theme-settings-custom3-color)"},p:{fontSize:"var(--f-theme-settings-body-font-size)",lineHeight:"var(--f-theme-settings-body-line-height)",marginTop:"var(--f-theme-settings-body-margin-top)",marginBottom:"var(--f-theme-settings-body-margin-bottom)",textDecoration:"var(--f-theme-settings-body-text-decoration)",fontStyle:"var(--f-theme-settings-body-font-style)",textTransform:"var(--f-theme-settings-body-text-transform)",letterSpacing:"var(--f-theme-settings-body-letter-spacing)",fontWeight:"var(--f-theme-settings-body-font-weight)",fontFamily:"var(--f-theme-settings-body-font-family)",color:"var(--f-theme-settings-body-color)"},quote:{fontSize:"var(--f-theme-settings-quote-font-size)",lineHeight:"var(--f-theme-settings-quote-line-height)",marginTop:"var(--f-theme-settings-quote-margin-top)",marginBottom:"var(--f-theme-settings-quote-margin-bottom)",textDecoration:"var(--f-theme-settings-quote-text-decoration)",fontStyle:"var(--f-theme-settings-quote-font-style)",textTransform:"var(--f-theme-settings-quote-text-transform)",letterSpacing:"var(--f-theme-settings-quote-letter-spacing)",fontWeight:"var(--f-theme-settings-quote-font-weight)",fontFamily:"var(--f-theme-settings-quote-font-family)",color:"var(--f-theme-settings-quote-color)"},imageCaption:{fontSize:"var(--f-theme-settings-image-caption-font-size)",lineHeight:"var(--f-theme-settings-image-caption-line-height)",marginTop:"var(--f-theme-settings-image-caption-margin-top)",marginBottom:"var(--f-theme-settings-image-caption-margin-bottom)",textDecoration:"var(--f-theme-settings-image-caption-text-decoration)",fontStyle:"var(--f-theme-settings-image-caption-font-style)",textTransform:"var(--f-theme-settings-image-caption-text-transform)",letterSpacing:"var(--f-theme-settings-image-caption-letter-spacing)",fontWeight:"var(--f-theme-settings-image-caption-font-weight)",fontFamily:"var(--f-theme-settings-image-caption-font-family)",color:"var(--f-theme-settings-image-caption-color)"},imageTitle:{fontSize:"var(--f-theme-settings-image-title-font-size)",lineHeight:"var(--f-theme-settings-image-title-line-height)",marginTop:"var(--f-theme-settings-image-title-margin-top)",marginBottom:"var(--f-theme-settings-image-title-margin-bottom)",textDecoration:"var(--f-theme-settings-image-title-text-decoration)",fontStyle:"var(--f-theme-settings-image-title-font-style)",textTransform:"var(--f-theme-settings-image-title-text-transform)",letterSpacing:"var(--f-theme-settings-image-title-letter-spacing)",fontWeight:"var(--f-theme-settings-image-title-font-weight)",fontFamily:"var(--f-theme-settings-image-title-font-family)",color:"var(--f-theme-settings-image-title-color)"},[rt]:{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)"},...St},Cs=()=>{const t=o.useEditorRef();return s.jsx(o.FloatingModalWrapper,{padding:"16px",minWidth:"400px","data-test-id":"floating-button-edit",children:s.jsxs("span",{"data-test-id":"preview-button-flyout",className:"tw-flex tw-justify-between tw-items-center tw-gap-2",children:[s.jsx("a",{"data-test-id":"floating-button-edit-url",href:B.url(),target:"_blank",rel:"noopener noreferrer",style:T[rt],className:"tw-break-all",children:B.url()}),s.jsxs("span",{className:"tw-flex tw-gap-2",children:[s.jsx("button",{onClick:()=>{kt(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(S.IconPen,{size:16})}),s.jsx("button",{onClick:()=>{ot(t),o.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(S.IconTrashBin,{size:16})})]})]})})},ze=t=>t.filter(e=>!!e.title?.trim()),Ve=()=>s.jsx("div",{className:"tw-flex tw-justify-center tw-h-10 tw-items-center",children:s.jsx(h.LoadingCircle,{size:"small"})}),ks=({section:t,selectedUrl:e,onSelectUrl:n})=>{const r=t.permanentLink===e;return s.jsx("button",{"data-test-id":"internal-link-selector-section-link",type:"button","data-is-active":r,className:`
|
|
3
3
|
tw-py-2 tw-pr-2.5 tw-pl-14 tw-leading-5 tw-cursor-pointer tw-w-full
|
|
4
|
-
${r?"tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"}`,onClick:()=>n(
|
|
4
|
+
${r?"tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover":"hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover"}`,onClick:()=>n(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(S.IconDocumentText,{size:16}),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"})]})})},Ss=({page:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a})=>{const[i,d]=u.useState(t.id===r.documentId),[c,l]=u.useState([]),p=t.permanentLink===e;u.useEffect(()=>{(async()=>{const f=await a(t.id),v=ze(f);l(v)})()},[t.id,a]),u.useEffect(()=>{t.id===r.pageId&&d(!0)},[r,t.id]);const x=c.length>0;return s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button","data-test-id":"internal-link-selector-page-link",className:`
|
|
5
5
|
tw-py-2 tw-pr-2.5 tw-leading-5 tw-cursor-pointer tw-flex tw-w-full
|
|
6
|
-
${
|
|
7
|
-
${
|
|
8
|
-
${i?"tw-rotate-90 ":""}`})}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Page"})]},e.id)}),i&&c.length>0&&c.map(u=>s.jsx(Tr,{section:u,selectedUrl:t,onSelectUrl:n},u.id))]})},Ir=({documentId:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:o,getDocumentPagesByDocumentId:i})=>{const[l,c]=g.useState([]),[d,h]=g.useState(!0),p=[...l.values()],u=!d&&p.length>0;return g.useEffect(()=>{i(e).then(f=>{const v=f.filter(C=>!!C.category).sort((C,L)=>C.category.sort===L.category.sort?C.sort-L.sort:C.category.sort-L.category.sort),x=f.filter(C=>!C.category).sort((C,L)=>C.sort-L.sort);c([...v,...x])}).finally(()=>{h(!1)})},[]),d?s.jsx($t,{}):u?s.jsx(s.Fragment,{children:p.map(f=>s.jsx(jr,{page:f,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:o},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."})},Er=({document:e,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:o,getDocumentPagesByDocumentId:i})=>{const[l,c]=g.useState(e.id===r.documentId),d=e.permanentLink===t;return g.useEffect(()=>{e.id===r.documentId&&c(!0)},[r,e.id]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button","data-test-id":"internal-link-selector-document-link",className:`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(e.permanentLink),children:[s.jsx("button",{type:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!l),onKeyDown:h=>h.key==="Enter"&&h.stopPropagation(),children:s.jsx("div",{className:`tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong ${l?"tw-rotate-90":""}`})}),s.jsx(P.IconColorFan,{size:16}),s.jsx("span",{className:"tw-text-s",children:e.title}),s.jsx("span",{className:"tw-flex-auto tw-font-sans tw-text-xs tw-text-right",children:"Document"})]}),l&&s.jsx(Ir,{documentId:e.id,selectedUrl:t,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:o,getDocumentPagesByDocumentId:i})]})},Br=({selectedUrl:e,onSelectUrl:t,getAllDocuments:n,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:o})=>{const[i,l]=g.useState(!0),[c,d]=g.useState([]),[h,p]=g.useState({documentId:void 0,pageId:void 0});g.useEffect(()=>{e&&c.length>0&&u().then(f=>{p(f)})},[c.length]),g.useEffect(()=>{n().then(f=>{d(f)}).finally(()=>{l(!1)})},[]);const u=async()=>{const f={documentId:void 0,pageId:void 0};if(c.find(x=>x.permanentLink===e))return f;for(const x of c){const C=await r(x.id);if(!!C.find(E=>E.permanentLink===e))return f.documentId=x.id,f;for(const E of C){const D=await o(E.id);if(!!Vt(D).find(_=>_.permanentLink===e))return f.documentId=x.id,f.pageId=E.id,f}}return f};return i?s.jsx($t,{}):s.jsx(s.Fragment,{children:c.map(f=>s.jsx(Er,{document:f,selectedUrl:e,onSelectUrl:t,itemsToExpandInitially:h,getDocumentSectionsByDocumentPageId:o,getDocumentPagesByDocumentId:r},f.id))})},Wt=({url:e,onUrlChange:t,buttonSize:n="medium",getAllDocuments:r,getDocumentPagesByDocumentId:o,getDocumentSectionsByDocumentPageId:i})=>{const[l,c]=g.useState(!1),[d,h]=g.useState(e),p=x=>{h(x)},u=x=>{x.key==="Enter"&&(x.preventDefault(),f())};g.useEffect(()=>{e&&!d&&h(e)},[e,d]);const f=()=>{t==null||t(d),c(!1)},v={onOpenAutoFocus:()=>{},showUnderlay:!0,"data-is-underlay":!0,minWidth:"800px"};return s.jsx("div",{onPointerDownCapture:x=>{x.stopPropagation(),x.preventDefault()},onFocusCapture:x=>{x.stopPropagation(),x.preventDefault()},"data-test-id":"internal-link-selector",onKeyDown:u,children:s.jsxs(w.Dialog.Root,{modal:!0,open:l,onOpenChange:c,children:[s.jsx(w.Dialog.Trigger,{asChild:!0,children:s.jsxs(w.Button,{size:n,emphasis:"default",children:[s.jsx(P.IconLink,{size:"20"}),"Internal link"]})}),s.jsxs(w.Dialog.Content,{...v,children:[s.jsx(w.Dialog.Header,{children:s.jsx(w.Dialog.Title,{children:"Select internal link"})}),s.jsx(w.Dialog.Body,{padding:"none",children:s.jsx(w.ScrollArea,{padding:"compact",children:s.jsx(Br,{selectedUrl:d,onSelectUrl:p,getAllDocuments:r,getDocumentPagesByDocumentId:o,getDocumentSectionsByDocumentPageId:i})})}),s.jsxs(w.Dialog.Footer,{children:[s.jsx(w.Button,{size:n,emphasis:"default",onPress:()=>c(!1),children:"Cancel"}),s.jsx(w.Button,{size:n,disabled:!d,emphasis:"strong",onPress:()=>f(),children:"Choose"})]})]})]})})},qt=({onUrlChange:e,onToggleTab:t,isValidUrlOrEmpty:n,appBridge:r,placeholder:o,newTab:i,url:l="",required:c,info:d,label:h,buttonSize:p,hideInternalLinkButton:u})=>{const f=n?n(l):se(l);return s.jsxs("div",{"data-test-id":"link-input",children:[s.jsx(V.FormControl,{label:{children:h,htmlFor:"url",required:c,tooltip:d?{content:d,position:"top"}:void 0},children:s.jsx(w.TextInput,{"data-test-id":"text-input",id:"url",value:l,onChange:v=>e==null?void 0:e(v.target.value),placeholder:o??"https://example.com"})}),!f&&s.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!u&&s.jsx("div",{className:"tw-mt-3",children:s.jsx(Wt,{url:l,onUrlChange:e,buttonSize:p??"medium",getAllDocuments:()=>r.getAllDocuments(),getDocumentPagesByDocumentId:v=>r.getDocumentPagesByDocumentId(v),getDocumentSectionsByDocumentPageId:v=>r.getDocumentSectionsByDocumentPageId(v)})}),s.jsxs("div",{className:"tw-mt-3 tw-flex tw-items-center tw-gap-1.5",children:[s.jsx(w.Checkbox,{id:"new-tab",value:i,onChange:()=>t==null?void 0:t(!i)}),s.jsx(w.Label,{id:"new-tab-label",htmlFor:"new-tab",className:"tw-whitespace-nowrap",children:"Open in new tab"})]})]})},Gt=({state:e,onTextChange:t,onUrlChange:n,onToggleTab:r,onCancel:o,onSave:i,isValidUrlOrEmpty:l,hasValues:c,testId:d,appBridge:h,children:p})=>s.jsxs(a.FloatingModalWrapper,{"data-test-id":d,padding:"28px",minWidth:"400px",children:[s.jsx(V.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:s.jsx(w.TextInput,{id:"linkText",value:e.text,placeholder:"Link Text",onChange:u=>t(u.target.value)})}),p,s.jsx("div",{className:"tw-mt-5",children:s.jsx(qt,{url:e.url,newTab:e.newTab,onUrlChange:n,onToggleTab:r,isValidUrlOrEmpty:l,appBridge:h})}),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(w.Button,{"data-test-id":"button",onPress:o,size:"medium",emphasis:"default",children:"Cancel"}),s.jsxs(w.Button,{"data-test-id":"button",onPress:i,size:"medium",disabled:!l(e==null?void 0:e.url)||!c,children:[s.jsx(P.IconCheckMark,{size:"20"}),"Save"]})]})})]}),Nr=e=>{var n;const t=a.getAboveNode(e,{match:{type:T}});return Array.isArray(t)&&((n=t[0])==null?void 0:n.buttonStyle)||"primary"},Ar={url:"",text:"",buttonStyle:"primary",newTab:!1},Lr=()=>{const[e,t]=g.useReducer((n,r)=>{const{type:o,payload:i}=r;switch(o){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...i};default:return n}},Ar);return[e,t]},Rr=()=>{const e=a.useEditorRef(),[t,n]=Lr();g.useEffect(()=>{const u=Nr(e);n({type:"INIT",payload:{text:A.text()||A.url(),buttonStyle:u,newTab:!!A.newTab(),url:A.url()}})},[n,e]);const r=u=>{n({type:"TEXT",payload:{text:u}})},o=u=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:u}})},i=u=>{n({type:"URL",payload:{url:u}})},l=u=>{n(u?{type:"NEW_TAB"}:{type:"SAME_TAB"})},c=()=>{N.reset()},d=u=>{if(!se(t.url)||!h)return;const f=Ce(t.url);N.text(t.text),N.url(f),N.buttonStyle(t.buttonStyle),N.newTab(t.newTab),Qe(e)&&(u==null||u.preventDefault())},h=t.url!==""&&t.text!=="",{appBridge:p}=a.getPluginOptions(e,T);return a.useHotkeys("enter",d,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onButtonStyleChange:o,onUrlChange:i,onToggleTab:l,onCancel:c,onSave:d,hasValues:h,isValidUrlOrEmpty:se,appBridge:p}},Dr=()=>{const e=Rr(),{state:t,onButtonStyleChange:n}=e;return s.jsx(Gt,{...e,testId:"floating-button-insert",children:s.jsx("div",{className:"tw-pt-5",children:s.jsxs(V.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[s.jsx(Ne,{id:"primary",styles:j.buttonPrimary,isActive:t.buttonStyle==="primary",onClick:()=>n("primary"),children:t.text||"Primary Button"}),s.jsx(Ne,{id:"secondary",styles:j.buttonSecondary,isActive:t.buttonStyle==="secondary",onClick:()=>n("secondary"),children:t.text||"Secondary Button"}),s.jsx(Ne,{id:"tertiary",styles:j.buttonTertiary,isActive:t.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:t.text||"Tertiary Button"})]})})})},Ne=({id:e,styles:t,isActive:n,onClick:r,children:o})=>{const[i,l]=g.useState(!1),c=()=>t&&t.hover&&i?{...t,...t.hover}:t;return s.jsx("button",{"data-test-id":`floating-button-insert-${e}`,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onClick:r,style:{...c(),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:o})},ot={placement:"bottom-start",strategy:"absolute",middleware:[a.offset(12),a.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Mr=()=>{const{ref:e,...t}=_r(ot),{ref:n,...r}=Fr(ot),o=a.useEditorRef(),i=ge(),l=i.isOpen(o.id),c=i.isEditing(),d=i.mode(),h=s.jsx(Dr,{}),p=c?h:s.jsx(Pr,{});return s.jsxs(s.Fragment,{children:[l&&d==="insert"&&we.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:e,...t,style:{...t.style,...j[a.TextStyles.p]},children:h}),document.body),l&&d==="edit"&&we.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:n,...r,style:{...r.style,...j[a.TextStyles.p]},children:p}),document.body)]})},T="button",Kt="button-plugin",Qt=e=>a.createPluginFactory({key:T,isElement:!0,isInline:!0,props:({element:t})=>({nodeProps:{href:t==null?void 0:t.url,target:t==null?void 0:t.target}}),withOverrides:Dt,renderAfterEditable:Mr,options:{isUrl:ke,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingButtonHotkeys:"command+shift+k, ctrl+shift+k",appBridge:e},then:(t,{type:n})=>({deserializeHtml:{rules:[{validNodeName:"A",validClassName:"btn"}],getNode:r=>({type:n,url:r.getAttribute("href"),target:r.getAttribute("target")||"_blank"})}})})();class Xt extends a.Plugin{constructor({styles:n=Pe,...r}){super(Kt,{button:Sr,markupElement:new kr,...r});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=r==null?void 0:r.appBridge}plugins(){return[Qt(this.appBridge)]}}const Fr=e=>{const t=a.useEditorRef(),n=ge().mode(),r=ge().isOpen(t.id),o=a.useEditorVersion(),{triggerFloatingButtonHotkeys:i}=a.getPluginOptions(t,T),l=g.useCallback(()=>{const u=a.getAboveNode(t,{match:{type:a.getPluginType(t,T)}});if(u){const[,f]=u;return a.getRangeBoundingClientRect(t,{anchor:a.getStartPoint(t,f),focus:a.getEndPoint(t,f)})}return a.getDefaultBoundingClientRect()},[t]),c=r&&n==="edit",{update:d,style:h,floating:p}=Jt({open:c,getBoundingClientRect:l,...e});return g.useEffect(()=>{const u=_t(t);if(u&&N.url(u),t.selection&&a.someNode(t,{match:{type:a.getPluginType(t,T)}})){N.show("edit",t.id),d();return}A.mode()==="edit"&&N.reset()},[t,o,d]),a.useHotkeys(i,u=>{u.preventDefault(),A.mode()==="edit"&&Se(t)},{enableOnContentEditable:!0},[]),Or(),Yt(),{style:h,ref:a.useComposedRef(p)}},Or=()=>{const e=a.useEditorRef();a.useHotkeys("*",t=>{t.key==="Enter"&&Qe(e)&&t.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Yt=()=>{const e=a.useEditorRef();a.useHotkeys("escape",()=>{if(A.mode()==="edit"){if(A.isEditing()){N.show("edit",e.id),a.focusEditor(e,e.selection??void 0);return}N.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},_r=e=>{const t=a.useEditorRef(),n=a.useFocused(),r=ge().mode(),o=ge().isOpen(t.id),{triggerFloatingButtonHotkeys:i}=a.getPluginOptions(t,T);a.useHotkeys(i,h=>{h.preventDefault(),Ye(t,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:l,style:c,floating:d}=Jt({open:o&&r==="insert",getBoundingClientRect:a.getSelectionBoundingClientRect,whileElementsMounted:void 0,...e});return g.useEffect(()=>{o&&l(),N.updated(o)},[o,l]),Yt(),{style:c,ref:a.useComposedRef(d)}},Ur=12,Hr=-22,zr=96,Jt=e=>a.useVirtualFloating({placement:"bottom-start",middleware:[a.offset({mainAxis:Ur,alignmentAxis:Hr}),a.flip({padding:zr})],...e}),Ae="[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",Vr="[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",it={1:"tw-columns-1",2:`tw-columns-1 @sm:!tw-columns-2 ${Vr}`,3:`tw-columns-1 @md:!tw-columns-3 ${Ae}`,4:`tw-columns-1 @md:!tw-columns-4 ${Ae}`,5:`tw-columns-1 @md:!tw-columns-5 ${Ae}`},Zt=e=>e?it[e]||it[1]:"",$r=e=>{A.isOpen(e)&&N.reset()},en=g.memo(({isEnabled:e,value:t,columns:n,gap:r,placeholder:o,plugins:i,onTextChange:l,showSerializedText:c})=>{const d=Zt(n),[h,p]=g.useState(!1),u=g.useId(),f=g.useCallback(x=>{x!==t&&(l==null||l(x)),p(!1)},[l,t]),v=g.useCallback(()=>p(!0),[]);return g.useEffect(()=>{const x=C=>{C.preventDefault(),C.returnValue="Unprocessed changes"};return h&&window.addEventListener("beforeunload",x),()=>window.removeEventListener("beforeunload",x)},[h]),e?s.jsx(a.RichTextEditor,{id:u,value:t,border:!1,placeholder:o,plugins:i,onValueChanged:v,onTextChange:f,hideExternalFloatingModals:$r,placeholderOpacity:"high"}):s.jsx(lr,{value:t,gap:r,customClass:d,show:c,plugins:i})});en.displayName="InternalRichTextEditor";const Wr=e=>{const t=g.useRef(null),[n,r]=g.useState(!1),{isEditing:o,...i}=e,l=g.useCallback(c=>{c&&r(!0)},[]);return ir({ref:t,disabled:!o,onChange:l}),g.useEffect(()=>{o||r(!1)},[o]),s.jsx("div",{"data-test-id":"rich-text-editor-container",className:"tw-block tw-w-full tw-@container",ref:t,children:s.jsx(en,{...i,isEnabled:o&&n})})},qr=({editButtonProps:e,unlinkButtonProps:t})=>{const{element:n}=a.useLinkOpenButtonState(),r=n?Ge(n):"";return s.jsx(a.FloatingModalWrapper,{"data-test-id":"floating-link-edit",padding:"16px",minWidth:"400px",children:s.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center tw-gap-2",children:[s.jsx("a",{"data-test-id":"floating-link-edit-url",href:r,target:"_blank",rel:"noopener noreferrer",style:j[oe],className:"tw-break-all",children:r}),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",...e,children:s.jsx(P.IconPen,{size:16})}),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",...t,children:s.jsx(P.IconTrashBin,{size:16})})]})]})})},tn=(e,t)=>{const n=a.getAboveNode(e,{match:{type:a.ELEMENT_LINK}});return Array.isArray(n)?t(n[0]):""},Gr=e=>tn(e,t=>{var n,r;return((r=(n=t.chosenLink)==null?void 0:n.searchResult)==null?void 0:r.link)||""}),Kr=e=>tn(e,t=>t.url||""),Qr={url:"",text:"",newTab:!1},Xr=()=>{const[e,t]=g.useReducer((n,r)=>{const{type:o,payload:i}=r;switch(o){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"INIT":return{...n,...i};default:return n}},Qr);return[e,t]},Yr=()=>{const e=a.useEditorRef(),[t,n]=Xr();g.useEffect(()=>{const p=Gr(e),u=Kr(e),f=a.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:a.floatingLinkSelectors.text()||a.floatingLinkSelectors.url(),newTab:f,url:p&&u===""?p:a.floatingLinkSelectors.url()}})},[n,e]);const r=p=>{n({type:"TEXT",payload:{text:p}})},o=p=>{n({type:"URL",payload:{url:p}})},i=p=>{n(p?{type:"NEW_TAB"}:{type:"SAME_TAB"})},l=()=>{a.floatingLinkActions.reset()},c=p=>{!se(t.url)||!d||(a.floatingLinkActions.text(t.text),a.floatingLinkActions.url(Ce(t.url)),a.floatingLinkActions.newTab(t.newTab),a.submitFloatingLink(e)&&(p==null||p.preventDefault()))},d=t.url!==""&&t.text!=="",{appBridge:h}=a.getPluginOptions(e,a.ELEMENT_LINK);return a.useHotkeys("enter",c,{enableOnFormTags:["INPUT"]},[]),{state:t,onTextChange:r,onUrlChange:o,onToggleTab:i,onCancel:l,onSave:c,hasValues:d,isValidUrlOrEmpty:se,appBridge:h}},Jr=()=>s.jsx(Gt,{...Yr(),testId:"floating-link-insert"}),lt={placement:"bottom-start",strategy:"absolute",middleware:[a.offset(12),a.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Zr=()=>{const e=a.useFloatingLinkInsertState({floatingOptions:lt}),{props:t,ref:n,hidden:r}=a.useFloatingLinkInsert(e),o=a.useFloatingLinkEditState({floatingOptions:lt}),{props:i,ref:l,editButtonProps:c,unlinkButtonProps:d}=a.useFloatingLinkEdit(o);if(r)return null;const h=s.jsx(Jr,{}),p=o.isEditing?h:s.jsx(qr,{editButtonProps:c,unlinkButtonProps:d});return s.jsxs(s.Fragment,{children:[e.isOpen&&!o.isOpen&&we.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:n,...t,style:{...t.style,...j[b.p]},children:h}),document.body),o.isOpen&&we.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:l,...i,style:{...i.style,...j[b.p]},children:p}),document.body)]})},nn=g.forwardRef((e,t)=>{const n=a.useEditorRef(),r=a.useLinkToolbarButtonState(),{props:o}=a.useLinkToolbarButton(r);return s.jsx(a.ToolbarButton,{onMouseDown:i=>{i.preventDefault(),a.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:t,...o,...e,children:s.jsx(a.IconStylingWrapper,{icon:s.jsx(P.IconLink,{size:16})})})});nn.displayName="LinkToolbarButton";const es=({id:e,editorId:t})=>{const n=a.useEditorState(a.useEventPlateId(t)),r=!!a.isRangeInSameBlock(n,{at:n.selection});return s.jsx("div",{"data-plugin-id":e,children:s.jsx(nn,{disabled:!r,tooltip:a.getTooltip(r?`Link
|
|
9
|
-
${a.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},ts=e=>{var l,c;const{attributes:t,children:n}=e,{styles:r}=a.useRichTextEditorContext(),o=e.element.url||((c=(l=e.element.chosenLink)==null?void 0:l.searchResult)==null?void 0:c.link)||"",i=e.element.target||"_self";return s.jsx("a",{...t,href:o,target:i,style:r[oe],children:n})};class ns extends a.MarkupElement{constructor(t=a.ELEMENT_LINK,n=ts){super(t,n)}}const rn=e=>a.createPluginFactory({...a.createLinkPlugin(),renderAfterEditable:Zr,options:{isUrl:ke,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:e}})();class sn extends a.Plugin{constructor({styles:n=j[oe],...r}){super(oe,{button:es,markupElement:new ns,...r});B(this,"styles",{});B(this,"appBridge");this.styles=n,this.appBridge=r.appBridge}plugins(){return[rn(this.appBridge)]}}const rs="breakAfterColumn",an="normal";class ss extends a.Plugin{constructor(n){super("break-after-plugin",{button:a.ColumnBreakButton,...n});B(this,"columns");B(this,"gap");B(this,"customClass");this.columns=(n==null?void 0:n.columns)??1,this.gap=(n==null?void 0:n.gap)??an,this.customClass=Zt(this.columns)}plugins(){return[a.createColumnBreakPlugin(this.columns,this.gap,this.customClass)]}}const as="textstyle-custom1-plugin";class on extends a.Plugin{constructor({styles:n=j.custom1,...r}={}){super(b.custom1,{label:"Custom 1",markupElement:new os,...r});B(this,"styles",{});this.styles=n}plugins(){return[is(this.styles)]}}class os extends a.MarkupElement{constructor(t=as,n=ln){super(t,n)}}const ln=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("p",{...t,style:r,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),children:n})},is=e=>a.createPluginFactory({key:b.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom1}]}})({component:t=>s.jsx(ln,{...t,styles:e})}),ls="textstyle-custom2-plugin";class dn extends a.Plugin{constructor({styles:n=j.custom2,...r}={}){super(b.custom2,{label:"Custom 2",markupElement:new ds,...r});B(this,"styles",{});this.styles=n}plugins(){return[cs(this.styles)]}}class ds extends a.MarkupElement{constructor(t=ls,n=cn){super(t,n)}}const cn=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("p",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},cs=e=>a.createPluginFactory({key:b.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom2}]}})({component:t=>s.jsx(cn,{...t,styles:e})}),us="textstyle-custom3-plugin";class un extends a.Plugin{constructor({styles:n=j.custom3,...r}={}){super(a.TextStyles.custom3,{label:"Custom 3",markupElement:new gs,...r});B(this,"styles",{});this.styles=n}plugins(){return[ms(this.styles)]}}class gs extends a.MarkupElement{constructor(t=us,n=gn){super(t,n)}}const gn=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("p",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},ms=e=>a.createPluginFactory({key:a.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:a.TextStyles.custom3}]}})({component:t=>s.jsx(gn,{...t,styles:e})}),hs="textstyle-heading1-plugin";class mn extends a.Plugin{constructor({styles:n=j.heading1,...r}={}){super(b.heading1,{label:"Heading 1",markupElement:new fs,...r});B(this,"styles",{});this.styles=n}plugins(){return[ps(this.styles)]}}class fs extends a.MarkupElement{constructor(t=hs,n=Le){super(t,n)}}const Le=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("h1",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},ps=e=>a.createPluginFactory({key:b.heading1,isElement:!0,component:Le,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:t=>s.jsx(Le,{...t,styles:e})}),ws="textstyle-heading2-plugin";class hn extends a.Plugin{constructor({styles:n=j.heading2,...r}={}){super(b.heading2,{label:"Heading 2",markupElement:new xs,...r});B(this,"styles",{});this.styles=n}plugins(){return[bs(this.styles)]}}class xs extends a.MarkupElement{constructor(t=ws,n=Re){super(t,n)}}const Re=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("h2",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},bs=e=>a.createPluginFactory({key:b.heading2,isElement:!0,component:Re,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:t=>s.jsx(Re,{...t,styles:e})}),ys="textstyle-heading3-plugin";class fn extends a.Plugin{constructor({styles:n=j.heading3,...r}={}){super(b.heading3,{label:"Heading 3",markupElement:new vs,...r});B(this,"styles",{});this.styles=n}plugins(){return[Cs(this.styles)]}}class vs extends a.MarkupElement{constructor(t=ys,n=De){super(t,n)}}const De=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("h3",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},Cs=e=>a.createPluginFactory({key:b.heading3,isElement:!0,component:De,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:t=>s.jsx(De,{...t,styles:e})}),ks="textstyle-heading4-plugin";class pn extends a.Plugin{constructor({styles:n=j.heading4,...r}={}){super(b.heading4,{label:"Heading 4",markupElement:new Ss,...r});B(this,"styles",{});this.styles=n}plugins(){return[Ps(this.styles)]}}class Ss extends a.MarkupElement{constructor(t=ks,n=Me){super(t,n)}}const Me=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("h4",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},Ps=e=>a.createPluginFactory({key:b.heading4,isElement:!0,component:Me,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:t=>s.jsx(Me,{...t,styles:e})}),Ts="textstyle-imageCaption-plugin";class wn extends a.Plugin{constructor({styles:n=j.imageCaption,...r}={}){super(b.imageCaption,{label:"Image Caption",markupElement:new js,...r});B(this,"styles",{});this.styles=n}plugins(){return[Is(this.styles)]}}class js extends a.MarkupElement{constructor(t=Ts,n=Fe){super(t,n)}}const Fe=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("p",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},Is=e=>a.createPluginFactory({key:b.imageCaption,isElement:!0,component:Fe,deserializeHtml:{rules:[{validClassName:b.imageCaption}]}})({component:t=>s.jsx(Fe,{...t,styles:e})}),Es="textstyle-imageTitle-plugin";class xn extends a.Plugin{constructor({styles:n=j.imageTitle,...r}={}){super(b.imageTitle,{label:"Image Title",markupElement:new Bs,...r});B(this,"styles",{});this.styles=n}plugins(){return[Ns(this.styles)]}}class Bs extends a.MarkupElement{constructor(t=Es,n=Oe){super(t,n)}}const Oe=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("p",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},Ns=e=>a.createPluginFactory({key:b.imageTitle,isElement:!0,component:Oe,deserializeHtml:{rules:[{validClassName:b.imageTitle}]}})({component:t=>s.jsx(Oe,{...t,styles:e})});class bn extends a.Plugin{constructor({styles:n=j.p,...r}={}){super(b.p,{markupElement:new vn,label:"Body Text",...r});B(this,"styles",{});this.styles=n}plugins(){return[Cn(this.styles)]}}const yn="tw-m-0 tw-px-0 tw-py-0",xe=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align,i=a.merge([o&&a.alignmentClassnames[o],yn,a.getColumnBreakClasses(e)]);return s.jsx("p",{...t,className:i,style:r,children:n})};class vn extends a.MarkupElement{constructor(t=b.p,n=xe){super(t,n)}}const Cn=e=>a.createPluginFactory({...a.createParagraphPlugin(),key:b.p,isElement:!0,component:xe})({component:t=>s.jsx(xe,{...t,styles:e})}),As="textstyle-quote-plugin";class kn extends a.Plugin{constructor({styles:n=j.quote,...r}={}){super(b.quote,{label:"Quote",markupElement:new Ls,...r});B(this,"styles",{});this.styles=n}plugins(){return[Sn(this.styles)]}}class Ls extends a.MarkupElement{constructor(t=As,n=be){super(t,n)}}const be=({element:e,attributes:t,children:n,styles:r})=>{const o=e.align;return s.jsx("blockquote",{...t,className:a.merge([o&&a.alignmentClassnames[o],a.getColumnBreakClasses(e)]),style:r,children:n})},Sn=e=>a.createPluginFactory({key:b.quote,isElement:!0,component:be,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:t=>s.jsx(be,{...t,styles:e})}),Je=[new mn,new hn,new fn,new pn,new on,new dn,new un,new kn,new bn],re=[b.heading1,b.heading2,b.heading3,b.heading4,b.custom1,b.custom2,b.custom3,b.quote,b.p],Rs=[...Je,new wn,new xn],Ds=[...re,b.imageCaption,b.imageTitle],Ms=e=>new a.PluginComposer().setPlugin(new a.SoftBreakPlugin,new a.TextStylePlugin({textStyles:Je})).setPlugin([new a.BoldPlugin,new a.ItalicPlugin,new a.UnderlinePlugin,new a.StrikethroughPlugin,new sn({appBridge:e}),new Xt({appBridge:e}),new a.CodePlugin],[new a.AlignLeftPlugin({validTypes:re}),new a.AlignCenterPlugin({validTypes:re}),new a.AlignRightPlugin({validTypes:re}),new a.AlignJustifyPlugin({validTypes:re}),new a.UnorderedListPlugin,new a.CheckboxListPlugin,new a.OrderedListPlugin,new a.ResetFormattingPlugin,new a.AutoformatPlugin]),Fs="--f-theme-settings-",Os=e=>{const t=e!=null&&e.id?`hasBackground${e.id}`:"hasBackground",n=e!=null&&e.id?`backgroundColor${e.id}`:"backgroundColor",r=e!=null&&e.preventDefaultColor?void 0:(e==null?void 0:e.defaultColor)||Gn,o=e!=null&&e.label?e.label:"Background",i=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:o,type:"switch",switchLabel:i,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,defaultValue:r,type:"colorInput"}]}},_s=e=>{const t=e!=null&&e.id?`hasBorder_${e.id}`:"hasBorder",n=e!=null&&e.id?`borderSelection_${e.id}`:"borderSelection",r=e!=null&&e.id?`borderStyle_${e.id}`:"borderStyle",o=e!=null&&e.id?`borderWidth_${e.id}`:"borderWidth",i=e!=null&&e.id?`borderColor_${e.id}`:"borderColor",l=(e==null?void 0:e.defaultColor)||ct,c=e!=null&&e.switchLabel?e.switchLabel:void 0;return{id:t,label:"Border",type:"switch",switchLabel:c,defaultValue:!!(e!=null&&e.defaultValue),on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:"dropdown",defaultValue:U.Solid,choices:[{value:U.Solid,label:U.Solid},{value:U.Dotted,label:U.Dotted},{value:U.Dashed,label:U.Dashed}]},{id:o,type:"input",defaultValue:Kn,rules:[m.numericalOrPixelRule,m.minimumNumericalOrPixelRule(0),m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px",onChange:d=>m.appendUnit(d,o)},{id:i,type:"colorInput",defaultValue:l}]}],off:[]}},Ze=(e,t=q.None)=>({id:e,type:"segmentedControls",defaultValue:t,choices:[{value:q.None,label:"None"},{value:q.Small,label:"S"},{value:q.Medium,label:"M"},{value:q.Large,label:"L"}]}),Us=e=>{const t=e!=null&&e.id?`hasRadius_${e.id}`:"hasRadius",n=e!=null&&e.id?`radiusValue_${e.id}`:"radiusValue",r=e!=null&&e.id?`radiusChoice_${e.id}`:"radiusChoice",o=(e==null?void 0:e.defaultRadius)||q.None;return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:i=>{var l;return e!=null&&e.dependentSettingId?!!((l=i.getBlock(e.dependentSettingId))!=null&&l.value):!0},onChange:i=>m.presetCustomValue(i,r,n,(e==null?void 0:e.radiusStyleMap)||Y),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:i=>m.appendUnit(i,n)}],off:[Ze(r,o)]}},Hs=e=>{const t=e!=null&&e.id?`hasExtendedCustomRadius_${e.id}`:"hasExtendedCustomRadius",n=e!=null&&e.id?`extendedRadiusValue_${e.id}`:"extendedRadiusValue",r=e!=null&&e.id?`extendedRadiusChoice_${e.id}`:"extendedRadiusChoice",o=e!=null&&e.id?`extendedRadiusTopLeft_${e.id}`:"extendedRadiusTopLeft",i=e!=null&&e.id?`extendedRadiusTopRight_${e.id}`:"extendedRadiusTopRight",l=e!=null&&e.id?`extendedRadiusBottomLeft_${e.id}`:"extendedRadiusBottomLeft",c=e!=null&&e.id?`extendedRadiusBottomRight_${e.id}`:"extendedRadiusBottomRight";return{id:t,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:d=>{var h;return e!=null&&e.dependentSettingId?!!((h=d.getBlock(e.dependentSettingId))!=null&&h.value):!0},onChange:d=>{m.presetCustomValue(d,r,o,Y),m.presetCustomValue(d,r,i,Y),m.presetCustomValue(d,r,l,Y),m.presetCustomValue(d,r,c,Y)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:o,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:d=>m.appendUnit(d,o)},{id:i,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:d=>m.appendUnit(d,i)},{id:l,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:d=>m.appendUnit(d,l)},{id:c,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:d=>m.appendUnit(d,c)}]}],off:[Ze(r,e==null?void 0:e.defaultValue)]}},zs=e=>{const t=e!=null&&e.id?e.id:"hasCustomSpacing",n=e!=null&&e.dependentSettingId?e.dependentSettingId:"columns",r=e!=null&&e.spacingChoiceId?e.spacingChoiceId:"spacingChoice",o=e!=null&&e.spacingCustomId?e.spacingCustomId:"spacingCustom",i=e!=null&&e.defaultValueChoices?e.defaultValueChoices:X.M;return{id:t,type:"switch",defaultValue:!1,switchLabel:"Custom",label:"Gutter",info:"An official nerds term for ‘gap’",onChange:l=>m.presetCustomValue(l,r,o,gt),show:l=>{var c;return((c=l.getBlock(n))==null?void 0:c.value)!=="1"},on:[{id:o,type:"input",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,o)}],off:[{id:r,type:"slider",defaultValue:i,choices:[{value:X.Auto,label:"Auto"},{value:X.S,label:"S"},{value:X.M,label:"M"},{value:X.L,label:"L"}]}]}},et=e=>({id:e,type:"segmentedControls",defaultValue:Q.None,choices:[{value:Q.None,label:"None"},{value:Q.Small,label:"S"},{value:Q.Medium,label:"M"},{value:Q.Large,label:"L"}]}),Vs=e=>{const t=e!=null&&e.id?`hasCustomMarginValue_${e==null?void 0:e.id}`:"hasCustomMarginValue",n=e!=null&&e.id?`marginValue_${e==null?void 0:e.id}`:"marginValue",r=e!=null&&e.id?`marginChoice_${e==null?void 0:e.id}`:"marginChoice";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more space",onChange:o=>m.presetCustomValue(o,r,n,(e==null?void 0:e.marginStyleMap)||ne),on:[{id:n,type:"input",placeholder:ue,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:o=>m.appendUnit(o,n)}],off:[et(r)]}},$s=e=>{const t=e!=null&&e.id?`hasExtendedCustomMargin_${e==null?void 0:e.id}`:"hasExtendedCustomMargin",n=e!=null&&e.id?`extendedMarginValues_${e==null?void 0:e.id}`:"extendedMarginValues",r=e!=null&&e.id?`extendedMarginChoice_${e==null?void 0:e.id}`:"extendedMarginChoice",o=e!=null&&e.id?`extendedMarginTop_${e==null?void 0:e.id}`:"extendedMarginTop",i=e!=null&&e.id?`extendedMarginLeft_${e==null?void 0:e.id}`:"extendedMarginLeft",l=e!=null&&e.id?`extendedMarginRight_${e==null?void 0:e.id}`:"extendedMarginRight",c=e!=null&&e.id?`extendedMarginBottom_${e==null?void 0:e.id}`:"extendedMarginBottom";return{id:t,label:"Margin",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{m.presetCustomValue(d,r,o,ne),m.presetCustomValue(d,r,i,ne),m.presetCustomValue(d,r,l,ne),m.presetCustomValue(d,r,c,ne)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:o,type:"input",label:"Top",placeholder:ue,onChange:d=>m.appendUnit(d,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:i,type:"input",label:"Left",placeholder:ue,onChange:d=>m.appendUnit(d,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:ue,onChange:d=>m.appendUnit(d,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Bottom",placeholder:ue,onChange:d=>m.appendUnit(d,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[et(r)]}},tt=e=>({id:e,type:"segmentedControls",defaultValue:K.Small,choices:[{value:K.None,label:"None"},{value:K.Small,label:"S"},{value:K.Medium,label:"M"},{value:K.Large,label:"L"}]}),Ws=e=>{const t=e!=null&&e.id?`hasCustomPaddingValue_${e==null?void 0:e.id}`:"hasCustomPaddingValue",n=e!=null&&e.id?`paddingValue_${e==null?void 0:e.id}`:"paddingValue",r=e!=null&&e.id?`paddingChoice_${e==null?void 0:e.id}`:"paddingChoice";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:o=>m.presetCustomValue(o,r,n,(e==null?void 0:e.paddingStyleMap)||te),on:[{id:n,type:"input",placeholder:ce,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:o=>m.appendUnit(o,n)}],off:[tt(r)]}},qs=e=>{const t=e!=null&&e.id?`hasExtendedCustomPadding_${e==null?void 0:e.id}`:"hasExtendedCustomPadding",n=e!=null&&e.id?`extendedPaddingValues_${e==null?void 0:e.id}`:"extendedPaddingValues",r=e!=null&&e.id?`extendedPaddingChoice_${e==null?void 0:e.id}`:"extendedPaddingChoice",o=e!=null&&e.id?`extendedPaddingTop_${e==null?void 0:e.id}`:"extendedPaddingTop",i=e!=null&&e.id?`extendedPaddingLeft_${e==null?void 0:e.id}`:"extendedPaddingLeft",l=e!=null&&e.id?`extendedPaddingRight_${e==null?void 0:e.id}`:"extendedPaddingRight",c=e!=null&&e.id?`extendedPaddingBottom_${e==null?void 0:e.id}`:"extendedPaddingBottom";return{id:t,label:"Padding",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"The spacing around UI elements to create more negative space",onChange:d=>{m.presetCustomValue(d,r,o,te),m.presetCustomValue(d,r,i,te),m.presetCustomValue(d,r,l,te),m.presetCustomValue(d,r,c,te)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:o,type:"input",label:"Top",placeholder:ce,onChange:d=>m.appendUnit(d,o),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:i,type:"input",label:"Left",placeholder:ce,onChange:d=>m.appendUnit(d,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:l,type:"input",label:"Right",placeholder:ce,onChange:d=>m.appendUnit(d,l),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Bottom",placeholder:ce,onChange:d=>m.appendUnit(d,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[tt(r)]}},Gs=e=>{const t=nt(e==null?void 0:e.globalControlId);return{id:e!=null&&e.id?e.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>{var r;return((r=n.getBlock(t))==null?void 0:r.value)===Z.Custom}}},nt=e=>e||"security",Ks=e=>[{id:nt(e),type:"segmentedControls",defaultValue:Z.Global,choices:[{value:Z.Global,label:"Global Settings"},{value:Z.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:m.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var Pn=(e=>(e.Main="main",e.Basics="basics",e.Layout="layout",e.Style="style",e.Security="security",e.Targets="targets",e))(Pn||{});const Qs=e=>e,Xs=e=>e;exports.AllTextStylePlugins=Rs;exports.AllTextStyles=Ds;exports.AttachmentOperationsProvider=Yn;exports.Attachments=Ct;exports.AttachmentsProvider=wt;exports.AttachmentsToolbarButton=Pt;exports.BUTTON_PLUGIN=Kt;exports.BlockButtonStyles=Pe;exports.BlockInjectButton=Fn;exports.BlockItemWrapper=At;exports.BlockStyles=j;exports.BorderStyle=U;exports.BreakAfterPlugin=ss;exports.ButtonPlugin=Xt;exports.Custom1Plugin=on;exports.Custom2Plugin=dn;exports.Custom3Plugin=un;exports.DEFAULT_ATTACHMENTS_BUTTON_ID=St;exports.DEFAULT_DRAGGING_TOOLTIP=jt;exports.DEFAULT_DRAG_TOOLTIP=Tt;exports.DEFAULT_MENU_BUTTON_ID=$e;exports.DownloadButton=or;exports.DragHandleToolbarButton=It;exports.DragPreviewContextProvider=mt;exports.ELEMENT_BUTTON=T;exports.FlyoutToolbarButton=Et;exports.GAP_DEFAULT=an;exports.GutterSpacing=X;exports.Heading1Plugin=mn;exports.Heading2Plugin=hn;exports.Heading3Plugin=fn;exports.Heading4Plugin=pn;exports.ImageCaptionPlugin=wn;exports.ImageTitlePlugin=xn;exports.KEY_ELEMENT_BREAK_AFTER_COLUMN=rs;exports.LinkInput=qt;exports.LinkPlugin=sn;exports.LinkSelector=Wt;exports.Margin=Q;exports.MenuToolbarButton=Bt;exports.MultiFlyoutContextProvider=ht;exports.PARAGRAPH_CLASSES=yn;exports.Padding=K;exports.ParagraphMarkupElement=vn;exports.ParagraphMarkupElementNode=xe;exports.ParagraphPlugin=bn;exports.QuoteMarkupElementNode=be;exports.QuotePlugin=kn;exports.Radius=q;exports.RichTextEditor=Wr;exports.Sections=Pn;exports.Security=Z;exports.THEME_PREFIX=Fs;exports.TextStylePluginsWithoutImage=Je;exports.TextStyles=b;exports.TextStylesWithoutImage=re;exports.Toolbar=Nt;exports.addHttps=Ce;exports.borderStyleMap=ut;exports.convertToRteValue=dr;exports.createButtonNode=Ut;exports.createButtonPlugin=Qt;exports.createLinkPlugin=rn;exports.createParagraphPlugin=Cn;exports.createQuotePlugin=Sn;exports.customCoordinatesGetterFactory=bt;exports.defineBlock=Qs;exports.defineSettings=Xs;exports.getBackgroundColorStyles=qn;exports.getBackgroundSettings=Os;exports.getBorderRadiusSettings=Us;exports.getBorderRadiusSlider=Ze;exports.getBorderSettings=_s;exports.getBorderStyles=Qn;exports.getDefaultPluginsWithLinkChooser=Ms;exports.getExtendedBorderRadiusSettings=Hs;exports.getGutterSettings=zs;exports.getLegacyUrl=hr;exports.getLinkFromEditor=pr;exports.getMarginExtendedSettings=$s;exports.getMarginSettings=Vs;exports.getMarginSlider=et;exports.getPaddingExtendedSettings=qs;exports.getPaddingSettings=Ws;exports.getPaddingSlider=tt;exports.getRadiusStyles=Xn;exports.getReadableColor=$n;exports.getSecurityDownloadableSetting=Gs;exports.getSecurityGlobalControlId=nt;exports.getSecurityGlobalControlSetting=Ks;exports.getUrl=fr;exports.getUrlFromEditor=_t;exports.getUrlFromLinkOrLegacyLink=Ge;exports.gutterSpacingStyleMap=gt;exports.hasRichTextValue=Lt;exports.insertButton=Mt;exports.isDark=_n;exports.isDownloadable=cr;exports.isValidUrl=ke;exports.isValidUrlOrEmpty=se;exports.joinClassNames=H;exports.mapAppBridgeColorPaletteToFonduePalette=Rt;exports.mapAppBridgeColorPalettesToFonduePalettes=ur;exports.marginStyleMap=ne;exports.moveItemInArray=Wn;exports.paddingStyleMap=te;exports.radiusStyleMap=Y;exports.relativeUrlRegex=Ke;exports.setAlpha=zn;exports.submitFloatingButton=Qe;exports.toColorObject=Vn;exports.toHex8String=Un;exports.toHexString=Hn;exports.toRgbaString=_e;exports.toShortRgba=ee;exports.triggerFloatingButton=Ht;exports.triggerFloatingButtonEdit=Se;exports.triggerFloatingButtonInsert=Ye;exports.unwrapButton=ae;exports.upsertButton=Ft;exports.upsertButtonText=Xe;exports.useAttachmentOperations=ze;exports.useAttachments=pt;exports.useAttachmentsContext=xt;exports.useDndSensors=tr;exports.useDragPreviewContext=ie;exports.useMultiFlyoutContext=ft;exports.useMultiFlyoutState=ye;exports.withAttachmentsProvider=Jn;exports.withButton=Dt;exports.wrapButton=Ot;Object.keys(m).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>m[e]})});
|
|
6
|
+
${x?"tw-pl-7 ":"tw-pl-12 "}
|
|
7
|
+
${p?"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:[x&&s.jsx("button",{type:"button",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(!i),onKeyDown:g=>g.key==="Enter"&&g.stopPropagation(),children:s.jsx("div",{className:`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
|
|
8
|
+
${i?"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)}),i&&c.length>0&&c.map(g=>s.jsx(ks,{section:g,selectedUrl:e,onSelectUrl:n},g.id))]})},Ps=({documentId:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:i})=>{const[d,c]=u.useState([]),[l,p]=u.useState(!0),x=[...d.values()],g=!l&&x.length>0;return u.useEffect(()=>{i(t).then(f=>{const v=f.filter(C=>!!C.category).sort((C,N)=>C.category.sort===N.category.sort?C.sort-N.sort:C.category.sort-N.category.sort),w=f.filter(C=>!C.category).sort((C,N)=>C.sort-N.sort);c([...v,...w])}).finally(()=>{p(!1)})},[]),l?s.jsx(Ve,{}):g?s.jsx(s.Fragment,{children:x.map(f=>s.jsx(Ss,{page:f,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a},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."})},Ts=({document:t,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:i})=>{const[d,c]=u.useState(t.id===r.documentId),l=t.permanentLink===e;return u.useEffect(()=>{t.id===r.documentId&&c(!0)},[r,t.id]),s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button","data-test-id":"internal-link-selector-document-link",className:`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 ${l?"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",{type:"button",tabIndex:0,"data-test-id":"tree-item-toggle",className:"tw-flex tw-items-center tw-justify-center -tw-mr-2 tw-pr-3.5 tw-pt-1.5 tw-pb-1.5 tw-pl-3.5 tw-cursor-pointer",onClick:()=>c(!d),onKeyDown:p=>p.key==="Enter"&&p.stopPropagation(),children:s.jsx("div",{className:`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":""}`})}),s.jsx(S.IconColorFan,{size:16}),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"})]}),d&&s.jsx(Ps,{documentId:t.id,selectedUrl:e,onSelectUrl:n,itemsToExpandInitially:r,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:i})]})},Is=({selectedUrl:t,onSelectUrl:e,getAllDocuments:n,getDocumentPagesByDocumentId:r,getDocumentSectionsByDocumentPageId:a})=>{const[i,d]=u.useState(!0),[c,l]=u.useState([]),[p,x]=u.useState({documentId:void 0,pageId:void 0});u.useEffect(()=>{t&&c.length>0&&g().then(f=>{x(f)})},[c.length]),u.useEffect(()=>{n().then(f=>{l(f)}).finally(()=>{d(!1)})},[]);const g=async()=>{const f={documentId:void 0,pageId:void 0};if(c.find(w=>w.permanentLink===t))return f;for(const w of c){const C=await r(w.id);if(!!C.find(A=>A.permanentLink===t))return f.documentId=w.id,f;for(const A of C){const L=await a(A.id);if(!!ze(L).find(F=>F.permanentLink===t))return f.documentId=w.id,f.pageId=A.id,f}}return f};return i?s.jsx(Ve,{}):s.jsx(s.Fragment,{children:c.map(f=>s.jsx(Ts,{document:f,selectedUrl:t,onSelectUrl:e,itemsToExpandInitially:p,getDocumentSectionsByDocumentPageId:a,getDocumentPagesByDocumentId:r},f.id))})},$e=({url:t,onUrlChange:e,buttonSize:n="medium",getAllDocuments:r,getDocumentPagesByDocumentId:a,getDocumentSectionsByDocumentPageId:i})=>{const[d,c]=u.useState(!1),[l,p]=u.useState(t),x=w=>{p(w)},g=w=>{w.key==="Enter"&&(w.preventDefault(),f())};u.useEffect(()=>{t&&!l&&p(t)},[t,l]);const f=()=>{e?.(l),c(!1)},v={onOpenAutoFocus:()=>{},showUnderlay:!0,"data-is-underlay":!0,minWidth:"800px"};return s.jsx("div",{onPointerDownCapture:w=>{w.stopPropagation(),w.preventDefault()},onFocusCapture:w=>{w.stopPropagation(),w.preventDefault()},"data-test-id":"internal-link-selector",onKeyDown:g,children:s.jsxs(h.Dialog.Root,{modal:!0,open:d,onOpenChange:c,children:[s.jsx(h.Dialog.Trigger,{asChild:!0,children:s.jsxs(h.Button,{size:n,emphasis:"default",children:[s.jsx(S.IconLink,{size:"20"}),"Internal link"]})}),s.jsxs(h.Dialog.Content,{...v,children:[s.jsx(h.Dialog.Header,{children:s.jsx(h.Dialog.Title,{children:"Select internal link"})}),s.jsx(h.Dialog.Body,{padding:"none",children:s.jsx(h.ScrollArea,{padding:"compact",children:s.jsx(Is,{selectedUrl:l,onSelectUrl:x,getAllDocuments:r,getDocumentPagesByDocumentId:a,getDocumentSectionsByDocumentPageId:i})})}),s.jsxs(h.Dialog.Footer,{children:[s.jsx(h.Button,{size:n,emphasis:"default",onPress:()=>c(!1),children:"Cancel"}),s.jsx(h.Button,{size:n,disabled:!l,emphasis:"strong",onPress:()=>f(),children:"Choose"})]})]})]})})},We=({onUrlChange:t,onToggleTab:e,isValidUrlOrEmpty:n,appBridge:r,placeholder:a,newTab:i,url:d="",required:c,info:l,label:p,buttonSize:x,hideInternalLinkButton:g})=>{const f=n?n(d):st(d);return s.jsxs("div",{"data-test-id":"link-input",children:[s.jsx(H.FormControl,{label:{children:p,htmlFor:"url",required:c,tooltip:l?{content:l,position:"top"}:void 0},children:s.jsx(h.TextInput,{"data-test-id":"text-input",id:"url",value:d,onChange:v=>t?.(v.target.value),placeholder:a??"https://example.com"})}),!f&&s.jsx("div",{className:"tw-text-text-negative tw-mt-1 tw-text-s",children:"Please enter a valid URL."}),!g&&s.jsx("div",{className:"tw-mt-3",children:s.jsx($e,{url:d,onUrlChange:t,buttonSize:x??"medium",getAllDocuments:()=>r.getAllDocuments(),getDocumentPagesByDocumentId:v=>r.getDocumentPagesByDocumentId(v),getDocumentSectionsByDocumentPageId:v=>r.getDocumentSectionsByDocumentPageId(v)})}),s.jsxs("div",{className:"tw-mt-3 tw-flex tw-items-center tw-gap-1.5",children:[s.jsx(h.Checkbox,{id:"new-tab",value:i,onChange:()=>e?.(!i)}),s.jsx(h.Label,{id:"new-tab-label",htmlFor:"new-tab",className:"tw-whitespace-nowrap",children:"Open in new tab"})]})]})},qe=({state:t,onTextChange:e,onUrlChange:n,onToggleTab:r,onCancel:a,onSave:i,isValidUrlOrEmpty:d,hasValues:c,testId:l,appBridge:p,children:x})=>s.jsxs(o.FloatingModalWrapper,{"data-test-id":l,padding:"28px",minWidth:"400px",children:[s.jsx(H.FormControl,{label:{children:"Text",htmlFor:"linkText",required:!0},children:s.jsx(h.TextInput,{id:"linkText",value:t.text,placeholder:"Link Text",onChange:g=>e(g.target.value)})}),x,s.jsx("div",{className:"tw-mt-5",children:s.jsx(We,{url:t.url,newTab:t.newTab,onUrlChange:n,onToggleTab:r,isValidUrlOrEmpty:d,appBridge:p})}),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(h.Button,{"data-test-id":"button",onPress:a,size:"medium",emphasis:"default",children:"Cancel"}),s.jsxs(h.Button,{"data-test-id":"button",onPress:i,size:"medium",disabled:!d(t?.url)||!c,children:[s.jsx(S.IconCheckMark,{size:"20"}),"Save"]})]})})]}),js=t=>{const e=o.getAboveNode(t,{match:{type:P}});return Array.isArray(e)&&e[0]?.buttonStyle||"primary"},Es={url:"",text:"",buttonStyle:"primary",newTab:!1},Bs=()=>{const[t,e]=u.useReducer((n,r)=>{const{type:a,payload:i}=r;switch(a){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"BUTTON_STYLE":case"INIT":return{...n,...i};default:return n}},Es);return[t,e]},Ns=()=>{const t=o.useEditorRef(),[e,n]=Bs();u.useEffect(()=>{const g=js(t);n({type:"INIT",payload:{text:B.text()||B.url(),buttonStyle:g,newTab:!!B.newTab(),url:B.url()}})},[n,t]);const r=g=>{n({type:"TEXT",payload:{text:g}})},a=g=>{n({type:"BUTTON_STYLE",payload:{buttonStyle:g}})},i=g=>{n({type:"URL",payload:{url:g}})},d=g=>{n(g?{type:"NEW_TAB"}:{type:"SAME_TAB"})},c=()=>{j.reset()},l=g=>{if(!st(e.url)||!p)return;const f=vt(e.url);j.text(e.text),j.url(f),j.buttonStyle(e.buttonStyle),j.newTab(e.newTab),Kt(t)&&g?.preventDefault()},p=e.url!==""&&e.text!=="",{appBridge:x}=o.getPluginOptions(t,P);return o.useHotkeys("enter",l,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:r,onButtonStyleChange:a,onUrlChange:i,onToggleTab:d,onCancel:c,onSave:l,hasValues:p,isValidUrlOrEmpty:st,appBridge:x}},As=()=>{const t=Ns(),{state:e,onButtonStyleChange:n}=t;return s.jsx(qe,{...t,testId:"floating-button-insert",children:s.jsx("div",{className:"tw-pt-5",children:s.jsxs(H.FormControl,{label:{children:"Button Style",htmlFor:"buttonStyle",required:!0},children:[s.jsx(Bt,{id:"primary",styles:T.buttonPrimary,isActive:e.buttonStyle==="primary",onClick:()=>n("primary"),children:e.text||"Primary Button"}),s.jsx(Bt,{id:"secondary",styles:T.buttonSecondary,isActive:e.buttonStyle==="secondary",onClick:()=>n("secondary"),children:e.text||"Secondary Button"}),s.jsx(Bt,{id:"tertiary",styles:T.buttonTertiary,isActive:e.buttonStyle==="tertiary",onClick:()=>n("tertiary"),children:e.text||"Tertiary Button"})]})})})},Bt=({id:t,styles:e,isActive:n,onClick:r,children:a})=>{const[i,d]=u.useState(!1),c=()=>e&&e.hover&&i?{...e,...e.hover}:e;return s.jsx("button",{"data-test-id":`floating-button-insert-${t}`,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:r,style:{...c(),marginTop:0,marginBottom:0},className:n?"tw-outline tw-outline-1 tw-outline-violet-60 tw-outline-offset-2 tw-w-fit":"tw-w-fit",children:a})},re={placement:"bottom-start",strategy:"absolute",middleware:[o.offset(12),o.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Ls=()=>{const{ref:t,...e}=Ms(re),{ref:n,...r}=Rs(re),a=o.useEditorRef(),i=ut(),d=i.isOpen(a.id),c=i.isEditing(),l=i.mode(),p=s.jsx(As,{}),x=c?p:s.jsx(Cs,{});return s.jsxs(s.Fragment,{children:[d&&l==="insert"&&ft.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:t,...e,style:{...e.style,...T[o.TextStyles.p]},children:p}),document.body),d&&l==="edit"&&ft.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:n,...r,style:{...r.style,...T[o.TextStyles.p]},children:x}),document.body)]})},P="button",Ge="button-plugin",Ke=t=>o.createPluginFactory({key:P,isElement:!0,isInline:!0,props:({element:e})=>({nodeProps:{href:e?.url,target:e?.target}}),withOverrides:Re,renderAfterEditable:Ls,options:{isUrl:Ct,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:r=>({type:n,url:r.getAttribute("href"),target:r.getAttribute("target")||"_blank"})}})})();class Qe extends o.Plugin{styles={};appBridge;constructor({styles:e=St,...n}){super(Ge,{button:vs,markupElement:new ys,...n}),this.styles=e,this.appBridge=n?.appBridge}plugins(){return[Ke(this.appBridge)]}}const Rs=t=>{const e=o.useEditorRef(),n=ut().mode(),r=ut().isOpen(e.id),a=o.useEditorVersion(),{triggerFloatingButtonHotkeys:i}=o.getPluginOptions(e,P),d=u.useCallback(()=>{const g=o.getAboveNode(e,{match:{type:o.getPluginType(e,P)}});if(g){const[,f]=g;return o.getRangeBoundingClientRect(e,{anchor:o.getStartPoint(e,f),focus:o.getEndPoint(e,f)})}return o.getDefaultBoundingClientRect()},[e]),c=r&&n==="edit",{update:l,style:p,floating:x}=Ye({open:c,getBoundingClientRect:d,...t});return u.useEffect(()=>{const g=Oe(e);if(g&&j.url(g),e.selection&&o.someNode(e,{match:{type:o.getPluginType(e,P)}})){j.show("edit",e.id),l();return}B.mode()==="edit"&&j.reset()},[e,a,l]),o.useHotkeys(i,g=>{g.preventDefault(),B.mode()==="edit"&&kt(e)},{enableOnContentEditable:!0},[]),Ds(),Xe(),{style:p,ref:o.useComposedRef(x)}},Ds=()=>{const t=o.useEditorRef();o.useHotkeys("*",e=>{e.key==="Enter"&&Kt(t)&&e.preventDefault()},{enableOnFormTags:["INPUT"]},[])},Xe=()=>{const t=o.useEditorRef();o.useHotkeys("escape",()=>{if(B.mode()==="edit"){if(B.isEditing()){j.show("edit",t.id),o.focusEditor(t,t.selection??void 0);return}j.reset()}},{enableOnFormTags:["INPUT"],enableOnContentEditable:!0},[])},Ms=t=>{const e=o.useEditorRef(),n=o.useFocused(),r=ut().mode(),a=ut().isOpen(e.id),{triggerFloatingButtonHotkeys:i}=o.getPluginOptions(e,P);o.useHotkeys(i,p=>{p.preventDefault(),Xt(e,{focused:n})},{enableOnContentEditable:!0},[n]);const{update:d,style:c,floating:l}=Ye({open:a&&r==="insert",getBoundingClientRect:o.getSelectionBoundingClientRect,whileElementsMounted:void 0,...t});return u.useEffect(()=>{a&&d(),j.updated(a)},[a,d]),Xe(),{style:c,ref:o.useComposedRef(l)}},Fs=12,Os=-22,_s=96,Ye=t=>o.useVirtualFloating({placement:"bottom-start",middleware:[o.offset({mainAxis:Fs,alignmentAxis:Os}),o.flip({padding:_s})],...t}),Nt="[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @md:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @md:[&_.tw-break-after-column]:!tw-break-after-column @md:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",Us="[&_.tw-break-after-column]:tw-break-after-auto [&_.tw-break-inside-avoid-column]:tw-break-inside-auto [&_.tw-break-after-column.tw-pb-5]:tw-pb-0 @sm:[&_.tw-break-after-column.tw-pb-5]:!tw-pb-5 @sm:[&_.tw-break-after-column]:!tw-break-after-column @sm:[&_.tw-break-inside-avoid-column]:!tw-break-inside-avoid-column",ae={1:"tw-columns-1",2:`tw-columns-1 @sm:!tw-columns-2 ${Us}`,3:`tw-columns-1 @md:!tw-columns-3 ${Nt}`,4:`tw-columns-1 @md:!tw-columns-4 ${Nt}`,5:`tw-columns-1 @md:!tw-columns-5 ${Nt}`},Je=t=>t?ae[t]||ae[1]:"",Hs=t=>{B.isOpen(t)&&j.reset()},Ze=u.memo(({isEnabled:t,value:e,columns:n,gap:r,placeholder:a,plugins:i,onTextChange:d,showSerializedText:c})=>{const l=Je(n),[p,x]=u.useState(!1),g=u.useId(),f=u.useCallback(w=>{w!==e&&d?.(w),x(!1)},[d,e]),v=u.useCallback(()=>x(!0),[]);return u.useEffect(()=>{const w=C=>{C.preventDefault(),C.returnValue="Unprocessed changes"};return p&&window.addEventListener("beforeunload",w),()=>window.removeEventListener("beforeunload",w)},[p]),t?s.jsx(o.RichTextEditor,{id:g,value:e,border:!1,placeholder:a,plugins:i,onValueChanged:v,onTextChange:f,hideExternalFloatingModals:Hs,placeholderOpacity:"high"}):s.jsx(rs,{value:e,gap:r,customClass:l,show:c,plugins:i})});Ze.displayName="InternalRichTextEditor";const zs=t=>{const e=u.useRef(null),[n,r]=u.useState(!1),{isEditing:a,...i}=t,d=u.useCallback(c=>{c&&r(!0)},[]);return os({ref:e,disabled:!a,onChange:d}),u.useEffect(()=>{a||r(!1)},[a]),s.jsx("div",{"data-test-id":"rich-text-editor-container",className:"tw-block tw-w-full tw-@container",ref:e,children:s.jsx(Ze,{...i,isEnabled:a&&n})})},Vs=({editButtonProps:t,unlinkButtonProps:e})=>{const{element:n}=o.useLinkOpenButtonState(),r=n?qt(n):"";return s.jsx(o.FloatingModalWrapper,{"data-test-id":"floating-link-edit",padding:"16px",minWidth:"400px",children:s.jsxs("span",{"data-test-id":"preview-link-flyout",className:"tw-flex tw-justify-between tw-items-center tw-gap-2",children:[s.jsx("a",{"data-test-id":"floating-link-edit-url",href:r,target:"_blank",rel:"noopener noreferrer",style:T[rt],className:"tw-break-all",children:r}),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(S.IconPen,{size:16})}),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(S.IconTrashBin,{size:16})})]})]})})},tn=(t,e)=>{const n=o.getAboveNode(t,{match:{type:o.ELEMENT_LINK}});return Array.isArray(n)?e(n[0]):""},$s=t=>tn(t,e=>e.chosenLink?.searchResult?.link||""),Ws=t=>tn(t,e=>e.url||""),qs={url:"",text:"",newTab:!1},Gs=()=>{const[t,e]=u.useReducer((n,r)=>{const{type:a,payload:i}=r;switch(a){case"NEW_TAB":return{...n,newTab:!0};case"SAME_TAB":return{...n,newTab:!1};case"URL":case"TEXT":case"INIT":return{...n,...i};default:return n}},qs);return[t,e]},Ks=()=>{const t=o.useEditorRef(),[e,n]=Gs();u.useEffect(()=>{const x=$s(t),g=Ws(t),f=o.floatingLinkSelectors.newTab();n({type:"INIT",payload:{text:o.floatingLinkSelectors.text()||o.floatingLinkSelectors.url(),newTab:f,url:x&&g===""?x:o.floatingLinkSelectors.url()}})},[n,t]);const r=x=>{n({type:"TEXT",payload:{text:x}})},a=x=>{n({type:"URL",payload:{url:x}})},i=x=>{n(x?{type:"NEW_TAB"}:{type:"SAME_TAB"})},d=()=>{o.floatingLinkActions.reset()},c=x=>{!st(e.url)||!l||(o.floatingLinkActions.text(e.text),o.floatingLinkActions.url(vt(e.url)),o.floatingLinkActions.newTab(e.newTab),o.submitFloatingLink(t)&&x?.preventDefault())},l=e.url!==""&&e.text!=="",{appBridge:p}=o.getPluginOptions(t,o.ELEMENT_LINK);return o.useHotkeys("enter",c,{enableOnFormTags:["INPUT"]},[]),{state:e,onTextChange:r,onUrlChange:a,onToggleTab:i,onCancel:d,onSave:c,hasValues:l,isValidUrlOrEmpty:st,appBridge:p}},Qs=()=>s.jsx(qe,{...Ks(),testId:"floating-link-insert"}),ie={placement:"bottom-start",strategy:"absolute",middleware:[o.offset(12),o.flip({padding:12,fallbackPlacements:["bottom-end","top-start","top-end"]})]},Xs=()=>{const t=o.useFloatingLinkInsertState({floatingOptions:ie}),{props:e,ref:n,hidden:r}=o.useFloatingLinkInsert(t),a=o.useFloatingLinkEditState({floatingOptions:ie}),{props:i,ref:d,editButtonProps:c,unlinkButtonProps:l}=o.useFloatingLinkEdit(a);if(r)return null;const p=s.jsx(Qs,{}),x=a.isEditing?p:s.jsx(Vs,{editButtonProps:c,unlinkButtonProps:l});return s.jsxs(s.Fragment,{children:[t.isOpen&&!a.isOpen&&ft.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:n,...e,style:{...e.style,...T[b.p]},children:p}),document.body),a.isOpen&&ft.createPortal(s.jsx("div",{"data-is-underlay":!0,ref:d,...i,style:{...i.style,...T[b.p]},children:x}),document.body)]})},en=u.forwardRef((t,e)=>{const n=o.useEditorRef(),r=o.useLinkToolbarButtonState(),{props:a}=o.useLinkToolbarButton(r);return s.jsx(o.ToolbarButton,{onMouseDown:i=>{i.preventDefault(),o.focusEditor(n,n.selection??n.prevSelection??void 0)},ref:e,...a,...t,children:s.jsx(o.IconStylingWrapper,{icon:s.jsx(S.IconLink,{size:16})})})});en.displayName="LinkToolbarButton";const Ys=({id:t,editorId:e})=>{const n=o.useEditorState(o.useEventPlateId(e)),r=!!o.isRangeInSameBlock(n,{at:n.selection});return s.jsx("div",{"data-plugin-id":t,children:s.jsx(en,{disabled:!r,tooltip:o.getTooltip(r?`Link
|
|
9
|
+
${o.getHotkeyByPlatform("Ctrl+K")}`:"Links can only be set for a single text block.")})})},Js=t=>{const{attributes:e,children:n}=t,{styles:r}=o.useRichTextEditorContext(),a=t.element.url||t.element.chosenLink?.searchResult?.link||"",i=t.element.target||"_self";return s.jsx("a",{...e,href:a,target:i,style:r[rt],children:n})};class Zs extends o.MarkupElement{constructor(e=o.ELEMENT_LINK,n=Js){super(e,n)}}const nn=t=>o.createPluginFactory({...o.createLinkPlugin(),renderAfterEditable:Xs,options:{isUrl:Ct,rangeBeforeOptions:{matchString:" ",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:"meta+k, ctrl+k",keepSelectedTextOnPaste:!0,appBridge:t}})();class sn extends o.Plugin{styles={};appBridge;constructor({styles:e=T[rt],...n}){super(rt,{button:Ys,markupElement:new Zs,...n}),this.styles=e,this.appBridge=n.appBridge}plugins(){return[nn(this.appBridge)]}}const to="breakAfterColumn",on="normal";class eo extends o.Plugin{columns;gap;customClass;constructor(e){super("break-after-plugin",{button:o.ColumnBreakButton,...e}),this.columns=e?.columns??1,this.gap=e?.gap??on,this.customClass=Je(this.columns)}plugins(){return[o.createColumnBreakPlugin(this.columns,this.gap,this.customClass)]}}const no="textstyle-custom1-plugin";class rn extends o.Plugin{styles={};constructor({styles:e=T.custom1,...n}={}){super(b.custom1,{label:"Custom 1",markupElement:new so,...n}),this.styles=e}plugins(){return[oo(this.styles)]}}class so extends o.MarkupElement{constructor(e=no,n=an){super(e,n)}}const an=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("p",{...e,style:r,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),children:n})},oo=t=>o.createPluginFactory({key:b.custom1,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom1}]}})({component:e=>s.jsx(an,{...e,styles:t})}),ro="textstyle-custom2-plugin";class ln extends o.Plugin{styles={};constructor({styles:e=T.custom2,...n}={}){super(b.custom2,{label:"Custom 2",markupElement:new ao,...n}),this.styles=e}plugins(){return[io(this.styles)]}}class ao extends o.MarkupElement{constructor(e=ro,n=dn){super(e,n)}}const dn=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("p",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},io=t=>o.createPluginFactory({key:b.custom2,isElement:!0,deserializeHtml:{rules:[{validClassName:b.custom2}]}})({component:e=>s.jsx(dn,{...e,styles:t})}),lo="textstyle-custom3-plugin";class cn extends o.Plugin{styles={};constructor({styles:e=T.custom3,...n}={}){super(o.TextStyles.custom3,{label:"Custom 3",markupElement:new co,...n}),this.styles=e}plugins(){return[uo(this.styles)]}}class co extends o.MarkupElement{constructor(e=lo,n=un){super(e,n)}}const un=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("p",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},uo=t=>o.createPluginFactory({key:o.TextStyles.custom3,isElement:!0,deserializeHtml:{rules:[{validClassName:o.TextStyles.custom3}]}})({component:e=>s.jsx(un,{...e,styles:t})}),go="textstyle-heading1-plugin";class gn extends o.Plugin{styles={};constructor({styles:e=T.heading1,...n}={}){super(b.heading1,{label:"Heading 1",markupElement:new mo,...n}),this.styles=e}plugins(){return[ho(this.styles)]}}class mo extends o.MarkupElement{constructor(e=go,n=At){super(e,n)}}const At=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("h1",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},ho=t=>o.createPluginFactory({key:b.heading1,isElement:!0,component:At,deserializeHtml:{rules:[{validNodeName:["h1","H1"]}]}})({component:e=>s.jsx(At,{...e,styles:t})}),po="textstyle-heading2-plugin";class mn extends o.Plugin{styles={};constructor({styles:e=T.heading2,...n}={}){super(b.heading2,{label:"Heading 2",markupElement:new fo,...n}),this.styles=e}plugins(){return[xo(this.styles)]}}class fo extends o.MarkupElement{constructor(e=po,n=Lt){super(e,n)}}const Lt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("h2",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},xo=t=>o.createPluginFactory({key:b.heading2,isElement:!0,component:Lt,deserializeHtml:{rules:[{validNodeName:["h2","H2"]}]}})({component:e=>s.jsx(Lt,{...e,styles:t})}),wo="textstyle-heading3-plugin";class hn extends o.Plugin{styles={};constructor({styles:e=T.heading3,...n}={}){super(b.heading3,{label:"Heading 3",markupElement:new bo,...n}),this.styles=e}plugins(){return[yo(this.styles)]}}class bo extends o.MarkupElement{constructor(e=wo,n=Rt){super(e,n)}}const Rt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("h3",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},yo=t=>o.createPluginFactory({key:b.heading3,isElement:!0,component:Rt,deserializeHtml:{rules:[{validNodeName:["h3","H3"]}]}})({component:e=>s.jsx(Rt,{...e,styles:t})}),vo="textstyle-heading4-plugin";class pn extends o.Plugin{styles={};constructor({styles:e=T.heading4,...n}={}){super(b.heading4,{label:"Heading 4",markupElement:new Co,...n}),this.styles=e}plugins(){return[ko(this.styles)]}}class Co extends o.MarkupElement{constructor(e=vo,n=Dt){super(e,n)}}const Dt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("h4",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},ko=t=>o.createPluginFactory({key:b.heading4,isElement:!0,component:Dt,deserializeHtml:{rules:[{validNodeName:["h4","H4"]}]}})({component:e=>s.jsx(Dt,{...e,styles:t})}),So="textstyle-imageCaption-plugin";class fn extends o.Plugin{styles={};constructor({styles:e=T.imageCaption,...n}={}){super(b.imageCaption,{label:"Image Caption",markupElement:new Po,...n}),this.styles=e}plugins(){return[To(this.styles)]}}class Po extends o.MarkupElement{constructor(e=So,n=Mt){super(e,n)}}const Mt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("p",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},To=t=>o.createPluginFactory({key:b.imageCaption,isElement:!0,component:Mt,deserializeHtml:{rules:[{validClassName:b.imageCaption}]}})({component:e=>s.jsx(Mt,{...e,styles:t})}),Io="textstyle-imageTitle-plugin";class xn extends o.Plugin{styles={};constructor({styles:e=T.imageTitle,...n}={}){super(b.imageTitle,{label:"Image Title",markupElement:new jo,...n}),this.styles=e}plugins(){return[Eo(this.styles)]}}class jo extends o.MarkupElement{constructor(e=Io,n=Ft){super(e,n)}}const Ft=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("p",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},Eo=t=>o.createPluginFactory({key:b.imageTitle,isElement:!0,component:Ft,deserializeHtml:{rules:[{validClassName:b.imageTitle}]}})({component:e=>s.jsx(Ft,{...e,styles:t})});class wn extends o.Plugin{styles={};constructor({styles:e=T.p,...n}={}){super(b.p,{markupElement:new yn,label:"Body Text",...n}),this.styles=e}plugins(){return[vn(this.styles)]}}const bn="tw-m-0 tw-px-0 tw-py-0",xt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align,i=o.merge([a&&o.alignmentClassnames[a],bn,o.getColumnBreakClasses(t)]);return s.jsx("p",{...e,className:i,style:r,children:n})};class yn extends o.MarkupElement{constructor(e=b.p,n=xt){super(e,n)}}const vn=t=>o.createPluginFactory({...o.createParagraphPlugin(),key:b.p,isElement:!0,component:xt})({component:e=>s.jsx(xt,{...e,styles:t})}),Bo="textstyle-quote-plugin";class Cn extends o.Plugin{styles={};constructor({styles:e=T.quote,...n}={}){super(b.quote,{label:"Quote",markupElement:new No,...n}),this.styles=e}plugins(){return[kn(this.styles)]}}class No extends o.MarkupElement{constructor(e=Bo,n=wt){super(e,n)}}const wt=({element:t,attributes:e,children:n,styles:r})=>{const a=t.align;return s.jsx("blockquote",{...e,className:o.merge([a&&o.alignmentClassnames[a],o.getColumnBreakClasses(t)]),style:r,children:n})},kn=t=>o.createPluginFactory({key:b.quote,isElement:!0,component:wt,deserializeHtml:{rules:[{validNodeName:["blockquote","BLOCKQUOTE"]}]}})({component:e=>s.jsx(wt,{...e,styles:t})}),Yt=[new gn,new mn,new hn,new pn,new rn,new ln,new cn,new Cn,new wn],nt=[b.heading1,b.heading2,b.heading3,b.heading4,b.custom1,b.custom2,b.custom3,b.quote,b.p],Ao=[...Yt,new fn,new xn],Lo=[...nt,b.imageCaption,b.imageTitle],Ro=t=>new o.PluginComposer().setPlugin(new o.SoftBreakPlugin,new o.TextStylePlugin({textStyles:Yt})).setPlugin([new o.BoldPlugin,new o.ItalicPlugin,new o.UnderlinePlugin,new o.StrikethroughPlugin,new sn({appBridge:t}),new Qe({appBridge:t}),new o.CodePlugin],[new o.AlignLeftPlugin({validTypes:nt}),new o.AlignCenterPlugin({validTypes:nt}),new o.AlignRightPlugin({validTypes:nt}),new o.AlignJustifyPlugin({validTypes:nt}),new o.UnorderedListPlugin,new o.CheckboxListPlugin,new o.OrderedListPlugin,new o.ResetFormattingPlugin,new o.AutoformatPlugin]),Do="--f-theme-settings-",Mo=t=>{const e=t?.id?`hasBackground${t.id}`:"hasBackground",n=t?.id?`backgroundColor${t.id}`:"backgroundColor",r=t?.preventDefaultColor?void 0:t?.defaultColor||$n,a=t?.label?t.label:"Background",i=t?.switchLabel?t.switchLabel:void 0;return{id:e,label:a,type:"switch",switchLabel:i,defaultValue:!!t?.defaultValue,on:[{id:n,defaultValue:r,type:"colorInput"}]}},Fo=t=>{const e=t?.id?`hasBorder_${t.id}`:"hasBorder",n=t?.id?`borderSelection_${t.id}`:"borderSelection",r=t?.id?`borderStyle_${t.id}`:"borderStyle",a=t?.id?`borderWidth_${t.id}`:"borderWidth",i=t?.id?`borderColor_${t.id}`:"borderColor",d=t?.defaultColor||de,c=t?.switchLabel?t.switchLabel:void 0;return{id:e,label:"Border",type:"switch",switchLabel:c,defaultValue:!!t?.defaultValue,on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,lastItemFullWidth:!0,blocks:[{id:r,type:"dropdown",defaultValue:O.Solid,choices:[{value:O.Solid,label:O.Solid},{value:O.Dotted,label:O.Dotted},{value:O.Dashed,label:O.Dashed}]},{id:a,type:"input",defaultValue:Wn,rules:[m.numericalOrPixelRule,m.minimumNumericalOrPixelRule(0),m.maximumNumericalOrPixelOrAutoRule(500)],placeholder:"e.g. 3px",onChange:l=>m.appendUnit(l,a)},{id:i,type:"colorInput",defaultValue:d}]}],off:[]}},Jt=(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"}]}),Oo=t=>{const e=t?.id?`hasRadius_${t.id}`:"hasRadius",n=t?.id?`radiusValue_${t.id}`:"radiusValue",r=t?.id?`radiusChoice_${t.id}`:"radiusChoice",a=t?.defaultRadius||$.None;return{id:e,label:"Corner radius",type:"switch",switchLabel:"Custom",defaultValue:!1,info:"Determining how rounded the corners are.",show:i=>t?.dependentSettingId?!!i.getBlock(t.dependentSettingId)?.value:!0,onChange:i=>m.presetCustomValue(i,r,n,t?.radiusStyleMap||X),on:[{id:n,type:"input",placeholder:"e.g. 10px",rules:[m.numericalOrPixelRule],onChange:i=>m.appendUnit(i,n)}],off:[Jt(r,a)]}},_o=t=>{const e=t?.id?`hasExtendedCustomRadius_${t.id}`:"hasExtendedCustomRadius",n=t?.id?`extendedRadiusValue_${t.id}`:"extendedRadiusValue",r=t?.id?`extendedRadiusChoice_${t.id}`:"extendedRadiusChoice",a=t?.id?`extendedRadiusTopLeft_${t.id}`:"extendedRadiusTopLeft",i=t?.id?`extendedRadiusTopRight_${t.id}`:"extendedRadiusTopRight",d=t?.id?`extendedRadiusBottomLeft_${t.id}`:"extendedRadiusBottomLeft",c=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:l=>t?.dependentSettingId?!!l.getBlock(t.dependentSettingId)?.value:!0,onChange:l=>{m.presetCustomValue(l,r,a,X),m.presetCustomValue(l,r,i,X),m.presetCustomValue(l,r,d,X),m.presetCustomValue(l,r,c,X)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Columns,blocks:[{id:a,type:"input",label:"Top Left",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,a)},{id:i,type:"input",label:"Top Right",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,i)},{id:d,type:"input",label:"Bottom Left",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,d)},{id:c,type:"input",label:"Bottom Right",rules:[m.numericalOrPixelRule],onChange:l=>m.appendUnit(l,c)}]}],off:[Jt(r,t?.defaultValue)]}},Uo=t=>{const e=t?.id?t.id:"hasCustomSpacing",n=t?.dependentSettingId?t.dependentSettingId:"columns",r=t?.spacingChoiceId?t.spacingChoiceId:"spacingChoice",a=t?.spacingCustomId?t.spacingCustomId:"spacingCustom",i=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:d=>m.presetCustomValue(d,r,a,ue),show:d=>d.getBlock(n)?.value!=="1",on:[{id:a,type:"input",rules:[m.numericalOrPixelRule],onChange:d=>m.appendUnit(d,a)}],off:[{id:r,type:"slider",defaultValue:i,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"}]}),Ho=t=>{const e=t?.id?`hasCustomMarginValue_${t?.id}`:"hasCustomMarginValue",n=t?.id?`marginValue_${t?.id}`:"marginValue",r=t?.id?`marginChoice_${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:a=>m.presetCustomValue(a,r,n,t?.marginStyleMap||et),on:[{id:n,type:"input",placeholder:ct,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[Zt(r)]}},zo=t=>{const e=t?.id?`hasExtendedCustomMargin_${t?.id}`:"hasExtendedCustomMargin",n=t?.id?`extendedMarginValues_${t?.id}`:"extendedMarginValues",r=t?.id?`extendedMarginChoice_${t?.id}`:"extendedMarginChoice",a=t?.id?`extendedMarginTop_${t?.id}`:"extendedMarginTop",i=t?.id?`extendedMarginLeft_${t?.id}`:"extendedMarginLeft",d=t?.id?`extendedMarginRight_${t?.id}`:"extendedMarginRight",c=t?.id?`extendedMarginBottom_${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:l=>{m.presetCustomValue(l,r,a,et),m.presetCustomValue(l,r,i,et),m.presetCustomValue(l,r,d,et),m.presetCustomValue(l,r,c,et)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:ct,onChange:l=>m.appendUnit(l,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:i,type:"input",label:"Left",placeholder:ct,onChange:l=>m.appendUnit(l,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Right",placeholder:ct,onChange:l=>m.appendUnit(l,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Bottom",placeholder:ct,onChange:l=>m.appendUnit(l,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[Zt(r)]}},te=t=>({id:t,type:"segmentedControls",defaultValue:G.Small,choices:[{value:G.None,label:"None"},{value:G.Small,label:"S"},{value:G.Medium,label:"M"},{value:G.Large,label:"L"}]}),Vo=t=>{const e=t?.id?`hasCustomPaddingValue_${t?.id}`:"hasCustomPaddingValue",n=t?.id?`paddingValue_${t?.id}`:"paddingValue",r=t?.id?`paddingChoice_${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:a=>m.presetCustomValue(a,r,n,t?.paddingStyleMap||tt),on:[{id:n,type:"input",placeholder:dt,rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)],onChange:a=>m.appendUnit(a,n)}],off:[te(r)]}},$o=t=>{const e=t?.id?`hasExtendedCustomPadding_${t?.id}`:"hasExtendedCustomPadding",n=t?.id?`extendedPaddingValues_${t?.id}`:"extendedPaddingValues",r=t?.id?`extendedPaddingChoice_${t?.id}`:"extendedPaddingChoice",a=t?.id?`extendedPaddingTop_${t?.id}`:"extendedPaddingTop",i=t?.id?`extendedPaddingLeft_${t?.id}`:"extendedPaddingLeft",d=t?.id?`extendedPaddingRight_${t?.id}`:"extendedPaddingRight",c=t?.id?`extendedPaddingBottom_${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:l=>{m.presetCustomValue(l,r,a,tt),m.presetCustomValue(l,r,i,tt),m.presetCustomValue(l,r,d,tt),m.presetCustomValue(l,r,c,tt)},on:[{id:n,type:"multiInput",layout:m.MultiInputLayout.Spider,blocks:[{id:a,type:"input",label:"Top",placeholder:dt,onChange:l=>m.appendUnit(l,a),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:i,type:"input",label:"Left",placeholder:dt,onChange:l=>m.appendUnit(l,i),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:d,type:"input",label:"Right",placeholder:dt,onChange:l=>m.appendUnit(l,d),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]},{id:c,type:"input",label:"Bottom",placeholder:dt,onChange:l=>m.appendUnit(l,c),rules:[m.numericalOrPixelRule,m.maximumNumericalOrPixelOrAutoRule(500)]}]}],off:[te(r)]}},Wo=t=>{const e=ee(t?.globalControlId);return{id:t?.id?t.id:"downloadable",type:"switch",defaultValue:!1,label:"Downloadable",show:n=>n.getBlock(e)?.value===J.Custom}},ee=t=>t||"security",qo=t=>[{id:ee(t),type:"segmentedControls",defaultValue:J.Global,choices:[{value:J.Global,label:"Global Settings"},{value:J.Custom,label:"Custom"}]},{id:"globalSettingsInfo",type:"notification",footer:m.createFooter({label:"Change global settings [here].",replace:{here:{event:"general-settings.open"}}})}];var Sn=(t=>(t.Main="main",t.Basics="basics",t.Layout="layout",t.Style="style",t.Security="security",t.Targets="targets",t))(Sn||{});const Go=t=>t,Ko=t=>t;exports.AllTextStylePlugins=Ao;exports.AllTextStyles=Lo;exports.AttachmentOperationsProvider=Kn;exports.Attachments=ve;exports.AttachmentsProvider=fe;exports.AttachmentsToolbarButton=Se;exports.BUTTON_PLUGIN=Ge;exports.BlockButtonStyles=St;exports.BlockInjectButton=Rn;exports.BlockItemWrapper=Ne;exports.BlockStyles=T;exports.BorderStyle=O;exports.BreakAfterPlugin=eo;exports.ButtonPlugin=Qe;exports.Custom1Plugin=rn;exports.Custom2Plugin=ln;exports.Custom3Plugin=cn;exports.DEFAULT_ATTACHMENTS_BUTTON_ID=ke;exports.DEFAULT_DRAGGING_TOOLTIP=Te;exports.DEFAULT_DRAG_TOOLTIP=Pe;exports.DEFAULT_MENU_BUTTON_ID=Vt;exports.DownloadButton=ss;exports.DragHandleToolbarButton=Ie;exports.DragPreviewContextProvider=ge;exports.ELEMENT_BUTTON=P;exports.FlyoutToolbarButton=je;exports.GAP_DEFAULT=on;exports.GutterSpacing=Q;exports.Heading1Plugin=gn;exports.Heading2Plugin=mn;exports.Heading3Plugin=hn;exports.Heading4Plugin=pn;exports.ImageCaptionPlugin=fn;exports.ImageTitlePlugin=xn;exports.KEY_ELEMENT_BREAK_AFTER_COLUMN=to;exports.LinkInput=We;exports.LinkPlugin=sn;exports.LinkSelector=$e;exports.Margin=K;exports.MenuToolbarButton=Ee;exports.MultiFlyoutContextProvider=me;exports.PARAGRAPH_CLASSES=bn;exports.Padding=G;exports.ParagraphMarkupElement=yn;exports.ParagraphMarkupElementNode=xt;exports.ParagraphPlugin=wn;exports.QuoteMarkupElementNode=wt;exports.QuotePlugin=Cn;exports.Radius=$;exports.RichTextEditor=zs;exports.Sections=Sn;exports.Security=J;exports.THEME_PREFIX=Do;exports.TextStylePluginsWithoutImage=Yt;exports.TextStyles=b;exports.TextStylesWithoutImage=nt;exports.Toolbar=Be;exports.addHttps=vt;exports.borderStyleMap=ce;exports.convertToRteValue=as;exports.createButtonNode=_e;exports.createButtonPlugin=Ke;exports.createLinkPlugin=nn;exports.createParagraphPlugin=vn;exports.createQuotePlugin=kn;exports.customCoordinatesGetterFactory=we;exports.defineBlock=Go;exports.defineSettings=Ko;exports.getBackgroundColorStyles=Vn;exports.getBackgroundSettings=Mo;exports.getBorderRadiusSettings=Oo;exports.getBorderRadiusSlider=Jt;exports.getBorderSettings=Fo;exports.getBorderStyles=qn;exports.getDefaultPluginsWithLinkChooser=Ro;exports.getExtendedBorderRadiusSettings=_o;exports.getGutterSettings=Uo;exports.getLegacyUrl=us;exports.getLinkFromEditor=ms;exports.getMarginExtendedSettings=zo;exports.getMarginSettings=Ho;exports.getMarginSlider=Zt;exports.getPaddingExtendedSettings=$o;exports.getPaddingSettings=Vo;exports.getPaddingSlider=te;exports.getRadiusStyles=Gn;exports.getReadableColor=Hn;exports.getSecurityDownloadableSetting=Wo;exports.getSecurityGlobalControlId=ee;exports.getSecurityGlobalControlSetting=qo;exports.getUrl=gs;exports.getUrlFromEditor=Oe;exports.getUrlFromLinkOrLegacyLink=qt;exports.gutterSpacingStyleMap=ue;exports.hasRichTextValue=Ae;exports.insertButton=De;exports.isDark=Mn;exports.isDownloadable=is;exports.isValidUrl=Ct;exports.isValidUrlOrEmpty=st;exports.joinClassNames=_;exports.mapAppBridgeColorPaletteToFonduePalette=Le;exports.mapAppBridgeColorPalettesToFonduePalettes=ls;exports.marginStyleMap=et;exports.moveItemInArray=zn;exports.paddingStyleMap=tt;exports.radiusStyleMap=X;exports.relativeUrlRegex=Gt;exports.setAlpha=_n;exports.submitFloatingButton=Kt;exports.toColorObject=Un;exports.toHex8String=Fn;exports.toHexString=On;exports.toRgbaString=Ot;exports.toShortRgba=Z;exports.triggerFloatingButton=Ue;exports.triggerFloatingButtonEdit=kt;exports.triggerFloatingButtonInsert=Xt;exports.unwrapButton=ot;exports.upsertButton=Me;exports.upsertButtonText=Qt;exports.useAttachmentOperations=Ht;exports.useAttachments=pe;exports.useAttachmentsContext=xe;exports.useDndSensors=Jn;exports.useDragPreviewContext=at;exports.useMultiFlyoutContext=he;exports.useMultiFlyoutState=bt;exports.withAttachmentsProvider=Qn;exports.withButton=Re;exports.wrapButton=Fe;Object.keys(m).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>m[t]})});
|
|
10
10
|
//# sourceMappingURL=index.cjs.js.map
|