1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2897],{2897:(e,s,t)=>{t.r(s),t.d(s,{PreviewEditorUI:()=>N});var n=t(2490),a=t(5341),i=t(2517),l=t(8160),r=t(4892),d=t(3649),o=t(5011);let c=(0,n.Ro)('flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*="w-"])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2',{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"[&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none flex-col"}},defaultVariants:{orientation:"horizontal"}});function u({className:e,orientation:s,...t}){return(0,r.jsx)("div",{role:"group","data-slot":"button-group","data-orientation":s,className:(0,n.zo)(c({orientation:s}),e),...t})}let h=l.forwardRef(({children:e,menuItems:s,menuAriaLabel:t,groupAriaLabel:a,menuAlign:i="end",menuDisabled:l=!1,menuButtonClassName:d,variant:o="default",size:c="default",type:h="button",...m},p)=>(0,r.jsxs)(u,{"aria-label":a,children:[(0,r.jsx)(n.Lo,{...m,ref:p,type:h,variant:o,size:c,children:e}),(0,r.jsxs)(n.oo,{children:[(0,r.jsx)(n.do,{asChild:!0,children:(0,r.jsxs)(n.Lo,{type:"button",variant:o,size:c,disabled:l||0===s.length,className:(0,n.zo)("px-2",d),children:[(0,r.jsx)(n.Fo,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:t})]})}),(0,r.jsx)(n.so,{align:i,children:s.map((e,s)=>(0,r.jsx)(n.co,{disabled:e.disabled,tone:e.tone,onSelect:()=>e.onSelect(),children:e.label},e.key??s))})]})]}));h.displayName="SplitButton";let m=({placement:e="floating"})=>{let{isEditingMode:s,toggleEditingMode:t}=(0,n.Gt)(),a=s?n.jo:n.wo,i=s?"Switch to preview mode":"Switch to edit mode";return(0,r.jsxs)(n.ja,{children:[(0,r.jsx)(n.Na,{asChild:!0,children:(0,r.jsxs)(n.Lo,{type:"button",size:"icon",variant:"default",onClick:t,className:"toolbar"===e?"h-10 w-10 cursor-pointer rounded-full shadow-lg backdrop-blur-sm transition-all hover:scale-105":"fixed bottom-6 right-6 z-50 h-10 w-10 cursor-pointer rounded-full shadow-lg backdrop-blur-sm transition-all hover:scale-105",children:[(0,r.jsx)(a,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:i})]})}),(0,r.jsx)(n.Ma,{side:"left",sideOffset:8,children:i})]})};function p(e){return"published"===e?"Published":"scheduled"===e?"Scheduled":"Draft"}function x({status:e,lastSavedAt:s,toolbar:t,draftSyncState:a="baseline",onPublish:d,publishMenuItems:o,actionsSlot:c,toggleSlot:u,messageOverride:m,messageVariant:b="default",actionButtonSize:f="default",hasFailedSaves:g=!1,onRetryFailedSaves:v,historyControls:j,secondaryMessage:w,menuItems:N,mobileMenuItems:k}){let y="saving"===e,S="failed"===a||g||!1,C="error"===e&&!S,U=function(e){if(!e)return null;let s=new Date(e);return Number.isNaN(s.getTime())?null:s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}(s),M=!!t?.hasUnpublishedChanges,P=t?.currentStatus??null,R=t?.publishLabel??"Publish changes",z=S&&!!v&&!y,L=N??[],D=k??[],I=L.length>0,A=D.length>0,O=!!j,E=I||A||O,T=o&&o.length>0,H=(0,l.useMemo)(()=>{if(m)return m;if(S)return"Save failed â retry";if(C)return"Save failed â some changes may not be saved.";if(y)return"Savingâ¦";if("manual-save"===b)return"pending"===a?"Unsaved changes":U?`Saved at ${U}`:"No changes";if(t?.publishedMessage&&!M)return t.publishedMessage;let e=[];return e.push(p(P)),("published"===P||"scheduled"===P)&&M&&e.push("Unpublished changes"),U&&e.push(`Last saved ${U}`),w&&e.push(w),e.join(" \xb7 ")},[m,S,C,y,t?.publishedMessage,P,M,U,w]),$=(0,l.useMemo)(()=>m||S||C||y||"manual-save"===b?H:w||(("published"===P||"scheduled"===P)&&M?"Changes pending":t?.publishedMessage&&!M?t.publishedMessage:p(P)),[m,S,C,y,b,H,w,P,M,t?.publishedMessage]),F=y||t?.disablePublish||!M&&"draft"!==P,_=S||C?"text-destructive":"text-slate-600";return(0,r.jsx)(i.w,{variant:"light",children:(0,r.jsxs)("div",{className:`relative flex flex-nowrap items-center gap-2 text-sm text-slate-900 sm:flex-wrap sm:gap-3 ${I||u?"pr-12 sm:pr-14":O?"pr-12 sm:pr-0":""}`,children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-nowrap items-center gap-2 sm:flex-wrap sm:gap-3",children:[j?(0,r.jsxs)("div",{className:"hidden items-center rounded-md border border-slate-200 bg-white/70 p-0.5 sm:inline-flex",role:"toolbar","aria-label":"History controls",children:[(0,r.jsxs)(n.ja,{
1children:[(0,r.jsx)(n.Na,{asChild:!0,children:(0,r.jsx)(n.Lo,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-600",onClick:j.onUndo,disabled:!j.canUndo,"aria-label":"Undo",title:"Undo",children:(0,r.jsx)(n.ho,{className:"h-4 w-4"})})}),(0,r.jsx)(n.Ma,{children:"Undo"})]}),(0,r.jsx)("div",{className:"mx-0.5 h-5 w-px bg-slate-200","aria-hidden":"true"}),(0,r.jsxs)(n.ja,{children:[(0,r.jsx)(n.Na,{asChild:!0,children:(0,r.jsx)(n.Lo,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-600",onClick:j.onRedo,disabled:!j.canRedo,"aria-label":"Redo",title:"Redo",children:(0,r.jsx)(n.So,{className:"h-4 w-4"})})}),(0,r.jsx)(n.Ma,{children:"Redo"})]})]}):null,(0,r.jsx)("div",{className:`flex min-w-0 items-center gap-2 ${_}`,children:S&&!y?(0,r.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2",children:[(0,r.jsx)(n.go,{className:"h-4 w-4 shrink-0"}),(0,r.jsx)("span",{className:"hidden min-w-0 truncate sm:block",children:H}),(0,r.jsx)("span",{className:"block min-w-0 truncate sm:hidden",children:$})]}):y?(0,r.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2",children:[(0,r.jsx)(n.Oo,{className:"h-4 w-4 shrink-0 animate-spin"}),(0,r.jsx)("span",{className:"hidden min-w-0 truncate sm:block",children:H}),(0,r.jsx)("span",{className:"block min-w-0 truncate sm:hidden",children:$})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"hidden min-w-0 truncate sm:block",children:H}),(0,r.jsx)("span",{className:"block min-w-0 truncate sm:hidden",children:$})]})})]}),(0,r.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-1.5 sm:gap-2",children:[z?(0,r.jsx)(n.Lo,{type:"button",variant:"outline",size:f,onClick:()=>v(),disabled:y,children:"Retry save"}):null,c,d?T?(0,r.jsx)(h,{type:"button",size:f,disabled:F,menuDisabled:y,groupAriaLabel:"Publish actions",menuAriaLabel:"More publish actions",menuItems:o.map(e=>({key:e.label,label:e.label,onSelect:e.onClick,tone:"destructive"===e.variant?"destructive":"default"})),onClick:()=>d(),children:y?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.Oo,{className:"mr-2 h-4 w-4 animate-spin"}),R]}):R}):(0,r.jsx)(n.Lo,{type:"button",variant:"default",size:f,onClick:()=>d(),disabled:F,children:y?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.Oo,{className:"mr-2 h-4 w-4 animate-spin"}),R]}):R}):null]}),E||u?(0,r.jsxs)("div",{className:`absolute right-1 top-1/2 flex -translate-y-1/2 items-center gap-2 sm:right-3 ${!I&&!u?"sm:hidden":""}`,children:[u,E?(0,r.jsxs)(n.oo,{children:[(0,r.jsx)(n.do,{asChild:!0,children:(0,r.jsxs)(n.Lo,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8",children:[(0,r.jsx)(n.Mo,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"More actions"})]})}),(0,r.jsxs)(n.so,{align:"end",children:[j?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.co,{className:"sm:hidden",onClick:j.onUndo,disabled:!j.canUndo,children:[(0,r.jsx)(n.ho,{className:"h-4 w-4"}),"Undo"]}),(0,r.jsxs)(n.co,{className:"sm:hidden",onClick:j.onRedo,disabled:!j.canRedo,children:[(0,r.jsx)(n.So,{className:"h-4 w-4"}),"Redo"]})]}):null,D.map(e=>(0,r.jsx)(n.co,{onClick:e.onClick,disabled:e.disabled,className:`sm:hidden ${"destructive"===e.variant?"text-destructive focus:text-destructive":""}`,children:e.label},e.label)),L.map(e=>(0,r.jsx)(n.co,{onClick:e.onClick,disabled:e.disabled,className:"destructive"===e.variant?"text-destructive focus:text-destructive":"",children:e.label},e.label))]})]}):null]}):null]})})}function b({toolbarOverrides:e,onPublish:s,onDiscard:t,publishMenuItems:a,actionsSlot:i,messageOverride:d,messageVariant:o="default",actionButtonSize:c="default",showStatusBar:u=!0,showToggle:h=!0,menuItems:p,mobileMenuItems:f,status:g="idle",lastSavedAt:v=null,draftSyncState:j="baseline",hasFailedSaves:w=!1,onRetryFailedSaves:N,historyControls:k}){let{isEditingMode:y,toggleEditingMode:S}=(0,n.Gt)(),C=(0,l.useMemo)(()=>{let s;return{publishLabel:"Publish changes",disablePublish:!(s=!!e?.hasUnpublishedChanges||"baseline"!==j),disableDiscard:!s,currentStatus:void 0,publishedMessage:void 0,...Object.fromEntries(Object.entries(e??{}).filter(([,e])=>null!=e)),hasUnpublishedChanges:s}},[j,e]),U=(0,l.useMemo)(()=>{var e;return p??[...(e={onDiscard:t,disableDiscard:C.disableDiscard,leaveEditMode:S}).onDiscard?[{label:"Discard draft",onClick:e.onDiscard,variant:"destructive",disabled:e.disableDiscard}]:[],{label:"Leave edit mode",onClick:e.leaveEditMode}]},[p,t,S,C.disableDiscard]);return(0,r.jsxs)(r.Fragment,{children:[u&&y?(0,r.jsx)(x,{status:g,lastSavedAt:v,draftSyncState:j,toolbar:C,onPublish:s,publishMenuItems:a,actionsSlot:i,menuItems:U,mobileMenuItems:f,messageOverride:d,messageVariant:o,actionButtonSize:c,hasFailedSaves:w,onRetryFailedSaves:N,historyControl
1s:k}):null,!y&&h?(0,r.jsx)(m,{}):null]})}function f(){let e=(0,n.Un)(),s=(0,n.Hn)(e=>e.drawerOpen),t=(0,n.Hn)(e=>e.previewSidebarTab),a=(0,l.useCallback)(n=>{s&&t===n?e.getState().setDrawerOpen(!1):(e.getState().setPreviewSidebarTab(n),e.getState().setDrawerOpen(!0))},[t,s,e]);return{assistantActive:s&&"assistant"===t,editorActive:s&&"editor"===t,toggleSidebar:a}}function g(){let{assistantActive:e,editorActive:s,toggleSidebar:t}=f();return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(n.Lo,{variant:s?"default":"outline",size:"icon",onClick:()=>t("editor"),"aria-label":s?"Close editor":"Open editor","aria-pressed":s,title:s?"Close editor":"Open editor",children:(0,r.jsx)(n.Co,{className:"size-4"})}),(0,r.jsx)(n.Lo,{variant:e?"default":"outline",size:"icon",className:"hidden sm:inline-flex",onClick:()=>t("assistant"),"aria-label":e?"Close AI assistant":"Open AI assistant","aria-pressed":e,title:e?"Close AI assistant":"Open AI assistant",children:(0,r.jsx)(n.vo,{className:"size-4"})})]})}function v({dashboardBaseUrl:e,siteId:s}){return e?(0,r.jsxs)("a",{href:`${e.replace(/\/$/,"")}/dashboard/sites/${s}/settings/maintenance`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 rounded-md border border-orange-500/20 bg-orange-500/10 px-3 py-1.5 transition-colors hover:border-orange-500/30 hover:bg-orange-500/20",children:[(0,r.jsx)(n.go,{className:"h-4 w-4 text-orange-500"}),(0,r.jsx)("span",{className:"text-xs font-medium text-orange-500",children:"Maintenance Mode Active"})]}):null}function j({apiClient:e,siteId:s,surfaceId:t,isSiteLaunched:d,className:c}){let{authMode:u}=(0,a.a)(),[h,m]=(0,l.useState)({kind:"idle"}),[p,x]=(0,l.useState)(null),[b,f]=(0,l.useState)(!1),[g,v]=(0,l.useTransition)(),w=(0,o.useRouter)(),N="macadamia"===t&&!d&&("onboardingGrant"===u||"userSession"===u);(0,l.useEffect)(()=>{if(!N){m({kind:"idle"}),x(null);return}let t=!1;return m({kind:"loading"}),(async()=>{try{let n=(0,a.p)(await e({endpoint:"listOnboardingPreviewThemes",params:{siteId:s,stage:"preview"}}));if(t)return;m({kind:"ready",data:n})}catch(e){if(t)return;m({kind:"error",message:e instanceof Error?e.message:"Unable to load generated themes for this preview."})}})(),()=>{t=!0}},[e,N,s]);let k="ready"===h.kind?h.data:null;(0,l.useEffect)(()=>{k&&x(e=>{if(e&&k.themes.some(s=>s.id===e))return e;let s=function(){if("u"<typeof document)return null;let e=document.cookie.split("; ").find(e=>e.startsWith(`${i.u}=`));if(!e)return null;let[,s=""]=e.split("=",2);return s?decodeURIComponent(s):null}();return s&&k.themes.some(e=>e.id===s)?s:k.currentThemeId??k.themes[0]?.id??null})},[k]);let y=(0,l.useMemo)(()=>k?k.themes.find(e=>e.id===p)??k.themes[0]??null:null,[k,p]),S=e=>{let s=k?.currentThemeId??null;!function(e){if("u">typeof document){if(!e){document.cookie=`${i.u}=; path=/; max-age=0; SameSite=Lax`;return}document.cookie=`${i.u}=${encodeURIComponent(e)}; path=/; SameSite=Lax`}}(e&&e!==s?e:null),x(e??s),v(()=>{w.refresh()})};return!N||"ready"===h.kind&&h.data.themes.length<=1?null:(0,r.jsx)("div",{className:(0,n.zo)("builder-dashboard-chrome-theme",c),children:(0,r.jsxs)(n.Xa,{open:b,onOpenChange:f,children:[(0,r.jsxs)(n.Lo,{type:"button",variant:"outline",size:"sm",className:"gap-2",onClick:()=>f(!0),children:[(0,r.jsx)(n.To,{className:"h-4 w-4"}),"Themes"]}),(0,r.jsxs)(n.Za,{className:"max-h-[min(85vh,48rem)] overflow-y-auto sm:max-w-2xl",children:[(0,r.jsxs)(n.eo,{children:[(0,r.jsx)(n.to,{children:"Theme Preview"}),(0,r.jsx)(n.Qa,{children:"Compare the generated themes for this onboarding site without changing the saved theme. Selecting one re-renders the preview with that theme."})]}),"loading"===h.kind?(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading theme options..."}):null,"error"===h.kind?(0,r.jsx)("p",{className:"text-sm text-destructive",children:h.message}):null,k?(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"grid gap-2 md:grid-cols-3",children:k.themes.map(e=>(0,r.jsx)(n.Lo,{type:"button",variant:e.id===p?"default":"secondary",size:"sm",className:"h-auto justify-start px-3 py-3 text-left",disabled:g,onClick:()=>S(e.id),children:(0,r.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold uppercase tracking-[0.14em] opacity-70",children:["Theme ",e.themeIndex+1]}),e.isCurrent?(0,r.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] opacity-70",children:"Saved"}):null]}),(0,r.jsx)("span",{className:"truncate text-sm font-medium",children:e.name})]})},e.id))}),y?(0,r.jsxs)("div",{className:"rounded-lg border border-border/70 bg-muted/40 p-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsx)("p",{className:"text-sm font-semibold text-foreground",children:y.name}),(0,r.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-muted-foreground",children:y.id===k.currentThemeId?"Saved current theme":"Preview only"})]}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:y.description}),(0,r.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:y.rationale}),g?(0,r.jsx)("p",{className:"mt-3 text-xs text-muted-foreground",children:"Updating preview..."}):null,y.id!==k.currentThemeId?(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(n.Lo,{type:"button",variant:"outline",size:"sm",disabled:g,onClick:()=>S(k.currentThemeId),children:"Show saved theme"})}):null]}):null]}):null]})]})})}function w(e,s,t){let n=e=>"pending"!==e.status&&"stale"!==e.status&&("undo"===s?e.canUndo:e.canRedo);if("shortcut"===t.kind&&"native"===t.owner)return null;let a=e.find(e=>
1n(e)&&"focused"===e.ownership.kind&&("chrome"===t.kind||e.ownership.owner===t.owner));return a||(e.find(e=>n(e)&&"available"===e.ownership.kind)??e.find(e=>n(e)&&"fallback"===e.ownership.kind)??null)}function N({dashboardBaseUrl:e=null,inMaintenanceMode:s=!1,siteId:t,surfaceId:c,isSiteLaunched:u=!1,apiClient:h}){var m,p;let x=(0,n.ut)(),{canEdit:C}=(0,a.a)(),[U,M]=(0,l.useState)(null),P=(0,n.ft)(),R=(0,l.useMemo)(()=>(0,i.l)(c),[c]),z=(0,n.Hn)(e=>e.getDraftSyncState()),L=(0,n.Hn)(e=>e.history.canUndo()),D=(0,n.Hn)(e=>e.history.canRedo()),I=(0,n.Hn)(e=>e.getUnpublishedState().hasUnpublishedChanges),A=(0,n.Hn)(e=>(0,n.Gn)(e.getUnpublishedState())),O=(0,n.Hn)(e=>e.history.undo),E=(0,n.Hn)(e=>e.history.redo),T=(0,i.a)(),H=(0,n.i)(),$=(0,n.n)(),F=$?.siteStyleHistory??null,_=$?.quickControlHistory??null,G=function(){let{assistantActive:e,toggleSidebar:s}=f();return(0,l.useMemo)(()=>[{label:e?"Close AI assistant":"Open AI assistant",onClick:()=>s("assistant")}],[e,s])}(),q=P.lastSavedAt,B=(0,l.useMemo)(()=>{let e=x.toolbar??{};return{...e,hasUnpublishedChanges:I,disablePublish:e.disablePublish??!I,disableDiscard:!!e.disableDiscard||!A}},[I,A,x.toolbar]),Q=x.actions,V=(0,o.useRouter)(),W=async()=>{try{await Q.publish()}catch(e){console.error("Preview publish error",e)}},X=async()=>{try{await Q.discardDraft(),V.refresh()}catch(e){console.error("Preview discard error",e)}},Z=(0,l.useMemo)(()=>({"site-style-design":F,"site-chrome-quick-controls":_,"theme-customize":T}),[T,_,F]),J=(0,l.useMemo)(()=>({"site-style-design":y(F),"site-chrome-quick-controls":y(_),"theme-customize":y(T)}),[T,_,F]),K=(0,l.useCallback)(e=>{let s=(0,n.o)(H.state,e,J);if(!s)return;let t=Z[s],a="undo"===e?t?.undo:t?.redo;a&&Promise.resolve(a()).then(t=>{var n;null!==(n=t)&&"object"==typeof n&&"kind"in n&&"saved"===n.kind&&("undo"===e?H.confirmUndo(s):H.confirmRedo(s))})},[J,Z,H]),Y=!!F?.hasActiveStagedPreview||S(H.state,"undo",J)||S(H.state,"redo",J),ee=(0,l.useMemo)(()=>{var e;let s,t,a;return[(e={orderState:H.state,capabilities:J,hasActiveStagedPreview:F?.hasActiveStagedPreview??!1,runCommand:K},s=!!(0,n.o)(e.orderState,"undo",e.capabilities),t=!!(0,n.o)(e.orderState,"redo",e.capabilities),{id:"preview-design-history",ownership:e.orderState.past.length>0||e.orderState.future.length>0||e.hasActiveStagedPreview||s||t?{kind:"focused",owner:"preview-customize"}:{kind:"available"},canUndo:s,canRedo:t,status:(a=Object.values(e.capabilities)).some(e=>e.isPending)?"pending":a.some(e=>e.isStale)?"stale":"idle",undo:()=>{e.runCommand("undo")},redo:()=>{e.runCommand("redo")}}),{id:"content",ownership:{kind:"fallback"},canUndo:L,canRedo:D,status:"idle",undo:O,redo:E}]},[D,L,J,H.state,E,K,F?.hasActiveStagedPreview,O]),es=(0,l.useMemo)(()=>{var e;return Y?k:{canUndo:!!w(ee,"undo",e={kind:"chrome"}),canRedo:!!w(ee,"redo",e),onUndo:()=>{w(ee,"undo",e)?.undo()},onRedo:()=>{w(ee,"redo",e)?.redo()}}},[Y,ee]);return((0,l.useEffect)(()=>{let e=e=>{var s;let t=(0,n.dt)(e,e.target);if(!t)return;let a=(s=e.target)instanceof HTMLElement&&s.closest('[data-preview-undo-owner="content"]')?"content":"preview-customize";if(Y&&"preview-customize"===a)return void e.preventDefault();let i=w(ee,t,{kind:"shortcut",owner:a});i&&"fallback"!==i.ownership.kind&&(e.preventDefault(),"undo"===t?i.undo():i.redo())};return document.addEventListener("keydown",e,!0),()=>{document.removeEventListener("keydown",e,!0)}},[Y,ee]),(0,l.useEffect)(()=>{if(!C)return void M(null);let e=document.getElementById("builder-editor-chrome-root"),s=!1;return e||((e=document.createElement("div")).id="builder-editor-chrome-root",e.className=`${i.o} ${i.s}`,document.body.appendChild(e),s=!0),M(e),()=>{s&&e?.parentNode&&e.parentNode.removeChild(e)}},[C]),(0,l.useEffect)(()=>{U&&(0,i.c)(U,R,{includePortalClass:!0})},[U,R]),U&&C)?(m=(0,r.jsx)(b,{toolbarOverrides:B,onPublish:W,onDiscard:X,actionsSlot:(0,r.jsxs)(r.Fragment,{children:[t&&c&&h?(0,r.jsx)(j,{apiClient:h,siteId:t,surfaceId:c,isSiteLaunched:u}):null,s&&t?(0,r.jsx)(v,{dashboardBaseUrl:e,siteId:t}):null,(0,r.jsx)(g,{})]}),mobileMenuItems:G,status:P.status,lastSavedAt:q,draftSyncState:z,hasFailedSaves:P.hasFailedSaves,historyControl
1s:{canUndo:es.canUndo,canRedo:es.canRedo,onUndo:es.onUndo,onRedo:es.onRedo}}),p=U,(0,d.createPortal)((0,r.jsx)(n.xt,{children:m}),p)):null}let k={canUndo:!1,canRedo:!1,onUndo:()=>{},onRedo:()=>{}};function y(e){return{canUndo:e?.canUndo??!1,canRedo:e?.canRedo??!1,isPending:!!(e?.isHistoryPending||e?.hasActiveStagedPreview),isStale:e?.isHistoryStale??!1}}function S(e,s,t){return!!(0,n.a)(e,s)&&!(0,n.o)(e,s,t)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.