getborg 0.0.124 → 0.0.126
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/bin.mjs +4900 -2407
- package/dist/client/.vite/manifest.json +359 -359
- package/dist/client/assets/{ArrowRight-D8u8fAtz.js → ArrowRight-sXL3WqRj.js} +2 -2
- package/dist/client/assets/{ArrowSquareOut-B_f6YUhV.js → ArrowSquareOut-BXw7kBJ2.js} +2 -2
- package/dist/client/assets/{ArrowsClockwise-DQYZ1Xbo.js → ArrowsClockwise-C2ZJkkb1.js} +2 -2
- package/dist/client/assets/{CaretLeft-CfrkuxuJ.js → CaretLeft-u94enBjz.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-Ch9PipMk.js → ChatMarkdown-PlWZFDnz.js} +5 -5
- package/dist/client/assets/{CircleNotch-BcVOnWaH.js → CircleNotch-DqcpMoTY.js} +2 -2
- package/dist/client/assets/{DesignWorkspace-CrijZIpE.js → DesignWorkspace-DmKoQxKI.js} +3 -3
- package/dist/client/assets/DiffPanel-D77xCxTK.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-B-AH2sbL.js → DiffWorkerPoolProvider-ClROlLBb.js} +2 -2
- package/dist/client/assets/{DocxPreview-HXde7oD1.js → DocxPreview-HJVaPJXL.js} +4 -4
- package/dist/client/assets/{FilePreviewPanel-DkspqFyX.js → FilePreviewPanel-CFCxGnPA.js} +9 -9
- package/dist/client/assets/{HtmlPreview-pfh_hRgS.js → HtmlPreview-CJQuCP2x.js} +2 -2
- package/dist/client/assets/{PdfPreview-VSGe6F9I.js → PdfPreview-BgV8uugr.js} +3 -3
- package/dist/client/assets/{PptxPreview-CZZ5e7rI.js → PptxPreview-BVdzk7UG.js} +3 -3
- package/dist/client/assets/PreviewPanel-C8wYTZ3K.js +2 -0
- package/dist/client/assets/PullRequestCodeTab-6b-pnSLs.js +6 -0
- package/dist/client/assets/{PullRequestReactions-BJ4eU_08.js → PullRequestReactions-kdg3iZ85.js} +4 -4
- package/dist/client/assets/{RightPanelResizeHandle-XlC9gY5e.js → RightPanelResizeHandle-kUStdA3L.js} +2 -2
- package/dist/client/assets/{VirtualizedFile-qiRlyNDc.js → VirtualizedFile-DuJYdYdq.js} +2 -2
- package/dist/client/assets/{XlsxPreview-BPtt3tW-.js → XlsxPreview-Bi4rmMAb.js} +3 -3
- package/dist/client/assets/accountData-B88fzgQo.js +16 -0
- package/dist/client/assets/assetUrls-CF9bvkMB.js +2 -0
- package/dist/client/assets/assets-CkgNlvqv.js +2 -0
- package/dist/client/assets/{browserHistoryStore-CEVJXGfr.js → browserHistoryStore-DIuEAuCl.js} +3 -3
- package/dist/client/assets/{browserRecording-BavNt16V.js → browserRecording-2dQePGOK.js} +2 -2
- package/dist/client/assets/clientAnalytics-BbUHu8ei.js +1 -0
- package/dist/client/assets/{clientPersistenceStorage-CeJLSpQl.js → clientPersistenceStorage-DsdIKJBh.js} +2 -2
- package/dist/client/assets/{combobox-CQHB5X6j.js → combobox-DVmHwJKi.js} +2 -2
- package/dist/client/assets/{composerMentionDrag-CdTT1rUK.js → composerMentionDrag-CB6wqaTe.js} +2 -2
- package/dist/client/assets/{designCanvas.logic-DduGt5E7.js → designCanvas.logic-Ce5c0YLY.js} +4 -4
- package/dist/client/assets/{designOpenFileContext-CMKir5dG.js → designOpenFileContext-B0d1oDHN.js} +2 -2
- package/dist/client/assets/{diffFileContents-CHRsIT6_.js → diffFileContents-DuZ8MpUA.js} +2 -2
- package/dist/client/assets/{empty-DUUjhkFh.js → empty-d8cb8Ewx.js} +2 -2
- package/dist/client/assets/entities-DI7lpu_V.js +2 -0
- package/dist/client/assets/{followUpQueuePersistence-C_pFQCnT.js → followUpQueuePersistence-BL42ySpK.js} +1 -1
- package/dist/client/assets/{index-DrITfTBh.js → index-e-hiL6eh.js} +3 -3
- package/dist/client/assets/{input-CyCAHFxI.js → input-DzNFHo2W.js} +2 -2
- package/dist/client/assets/{lib-BRpsbmNP.js → lib-IA-5-mGB.js} +2 -2
- package/dist/client/assets/{main-C0iNAqq8.css → main-BM6qmGP4.css} +1 -1
- package/dist/client/assets/main-U2I6YwT-.js +169 -0
- package/dist/client/assets/{pdf-C3xMIdpt.js → pdf-Bh3amywC.js} +2 -2
- package/dist/client/assets/{popover-BXSj56CI.js → popover-DZf7p2yc.js} +2 -2
- package/dist/client/assets/{pptxDocument-BnTLF4HV.js → pptxDocument-Bsm1SylK.js} +2 -2
- package/dist/client/assets/{projectFilesQueryState-Cs5skZOc.js → projectFilesQueryState-DWDFHsif.js} +2 -2
- package/dist/client/assets/queries-B-YwYiCl.js +2 -0
- package/dist/client/assets/{scroll-area-DAaT-DGF.js → scroll-area-C5ps_bkR.js} +46 -46
- package/dist/client/assets/session-BKSQ__kZ.js +68 -0
- package/dist/client/assets/{spinner-K3N_kbJr.js → spinner-BYvweYT_.js} +2 -2
- package/dist/client/assets/textarea-bjEgsW0n.js +2 -0
- package/dist/client/assets/{toggle-Sui8J_p3.js → toggle-D4wtRT7F.js} +2 -2
- package/dist/client/assets/{toggle-group-BDgfPfOF.js → toggle-group-iSglhZY5.js} +2 -2
- package/dist/client/assets/useSettings-BgyJJ6VZ.js +5 -0
- package/dist/client/assets/{useWorkspaceMutationRefresh-ApasU6PB.js → useWorkspaceMutationRefresh-C-GODI1R.js} +2 -2
- package/dist/client/assets/utils-dD8AT1Cf.js +30 -0
- package/dist/client/assets/{xlsxDocument-SRKfhPKH.js → xlsxDocument-C12kQUhH.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/service-launcher.mjs +20 -2
- package/dist/sharedChatWorker.mjs +21887 -0
- package/package.json +2 -1
- package/dist/client/assets/DiffPanel-Bbs-arXF.js +0 -2
- package/dist/client/assets/PreviewPanel-C_WqPJu_.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-DLajHhi9.js +0 -6
- package/dist/client/assets/accountData-BKyjOPQm.js +0 -16
- package/dist/client/assets/assetUrls-33nMWFnF.js +0 -2
- package/dist/client/assets/assets-1BW7ZJgz.js +0 -2
- package/dist/client/assets/clientAnalytics-ChPHl8_D.js +0 -1
- package/dist/client/assets/entities-BtD3_L53.js +0 -2
- package/dist/client/assets/main-Bi6AoLeM.js +0 -167
- package/dist/client/assets/queries-BevoHPqY.js +0 -2
- package/dist/client/assets/session-Dmu9Hk5C.js +0 -68
- package/dist/client/assets/textarea-BT0tVWKM.js +0 -2
- package/dist/client/assets/useSettings-GEQSU1F5.js +0 -5
- package/dist/client/assets/utils-ClZ5OxbV.js +0 -30
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{y as t}from"./accountData-
|
|
2
|
-
//# sourceMappingURL=CircleNotch-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{y as t}from"./accountData-B88fzgQo.js";import{Eo as n}from"./utils-dD8AT1Cf.js";var r=e(t(),1),i=new Map([[`bold`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z`}))],[`duotone`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),r.createElement(`path`,{d:`M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z`}))],[`fill`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z`}))],[`light`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z`}))],[`regular`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z`}))],[`thin`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z`}))]]),a=Object.defineProperty,o=Object.defineProperties,s=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,d=(e,t,n)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||={})l.call(t,n)&&d(e,n,t[n]);if(c)for(var n of c(t))u.call(t,n)&&d(e,n,t[n]);return e},p=(e,t)=>o(e,s(t)),m=(0,r.forwardRef)((e,t)=>r.createElement(n,p(f({ref:t},e),{weights:i})));m.displayName=`CircleNotch`;export{m as t};
|
|
2
|
+
//# sourceMappingURL=CircleNotch-DqcpMoTY.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{v as t,y as n}from"./accountData-BKyjOPQm.js";import{Eo as r,Fn as i,Ho as a,In as o,Ln as s,Nn as c,Pn as l,Rn as u,To as d,Wn as f,f as p,jn as m,pn as h,t as g,yo as _,zn as v}from"./utils-ClZ5OxbV.js";import{n as y}from"./session-Dmu9Hk5C.js";import{a as b,i as x,l as S,o as C,r as w,s as T,t as E}from"./designOpenFileContext-CMKir5dG.js";import{Nt as D,Vt as O,f as k,kt as A,l as j,o as M,ot as N,t as P,u as F}from"./textarea-BT0tVWKM.js";import{A as I,Kt as L,c as R}from"./useSettings-GEQSU1F5.js";import{t as z}from"./ArrowSquareOut-B_f6YUhV.js";import{t as ee}from"./ArrowsClockwise-DQYZ1Xbo.js";import{$ as te,B as ne,G as re,H as ie,J as ae,K as B,M as V,Q as oe,R as se,W as H,Z as ce,_ as le,at as U,b as W,c as ue,ct as de,d as fe,et as pe,f as me,h as he,it as ge,l as _e,m as ve,n as ye,nt as be,o as xe,ot as Se,p as Ce,rt as we,s as Te,st as Ee,t as De,tt as Oe,u as ke,v as Ae,w as je,z as Me}from"./designCanvas.logic-DduGt5E7.js";import{i as Ne}from"./toggle-Sui8J_p3.js";import{i as Pe,n as Fe,r as Ie,t as Le}from"./RightPanelResizeHandle-XlC9gY5e.js";import{a as Re,i as ze,n as Be,r as Ve,t as He}from"./popover-BXSj56CI.js";import{c as Ue,t as We}from"./env-71Gq9H0m.js";import{n as Ge,t as Ke}from"./toggle-group-BDgfPfOF.js";import{t as qe}from"./input-CyCAHFxI.js";import{n as Je,t as Ye}from"./assets-1BW7ZJgz.js";import{a as Xe}from"./assetUrls-33nMWFnF.js";import{c as Ze}from"./projectFilesQueryState-Cs5skZOc.js";import{_ as Qe}from"./main-Bi6AoLeM.js";var G=e(n(),1);function $e(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if(`shouldBlockFn`in e)return e;if(typeof e==`function`){let n=!!(t??!0);return{shouldBlockFn:async()=>n?await e():!1,enableBeforeUnload:n,withResolver:!1}}let n=!!(e.condition??!0),r=e.blockerFn;return{shouldBlockFn:async()=>n&&r!==void 0?await r():n,enableBeforeUnload:n,withResolver:r===void 0}}function et(e,t){let{shouldBlockFn:n,enableBeforeUnload:r=!0,disabled:i=!1,withResolver:a=!1}=$e(e,t),o=O(),{history:s}=o,[c,l]=G.useState({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return G.useEffect(()=>i?void 0:s.block({blockerFn:async e=>{function t(e){let t=o.parseLocation(e),n=o.getMatchedRoutes(t.pathname);return n.foundRoute===void 0?{routeId:`__notFound__`,fullPath:t.pathname,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}:{routeId:n.foundRoute.id,fullPath:n.foundRoute.fullPath,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}}let r=t(e.currentLocation),i=t(e.nextLocation);if(r.routeId===`__notFound__`&&i.routeId!==`__notFound__`)return!1;let s=await n({action:e.action,current:r,next:i});if(!a)return s;if(!s)return!1;let c=await new Promise(t=>{l({status:`blocked`,current:r,next:i,action:e.action,proceed:()=>t(!1),reset:()=>t(!0)})});return l({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),c},enableBeforeUnload:r}),[n,r,i,a,s,o]),c}var tt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,116h-4.72A100.21,100.21,0,0,0,140,28.72V24a12,12,0,0,0-24,0v4.72A100.21,100.21,0,0,0,28.72,116H24a12,12,0,0,0,0,24h4.72A100.21,100.21,0,0,0,116,227.28V232a12,12,0,0,0,24,0v-4.72A100.21,100.21,0,0,0,227.28,140H232a12,12,0,0,0,0-24Zm-92,87v-3a12,12,0,0,0-24,0v3a76.15,76.15,0,0,1-63-63h3a12,12,0,0,0,0-24H53a76.15,76.15,0,0,1,63-63v3a12,12,0,0,0,24,0V53a76.15,76.15,0,0,1,63,63h-3a12,12,0,0,0,0,24h3A76.15,76.15,0,0,1,140,203ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M160,128a32,32,0,1,1-32-32A32,32,0,0,1,160,128Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-32,16h7.6A80.15,80.15,0,0,1,136,207.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16Zm-32-8a40,40,0,1,1-40-40A40,40,0,0,1,168,128Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,122H221.8A94.13,94.13,0,0,0,134,34.2V24a6,6,0,0,0-12,0V34.2A94.13,94.13,0,0,0,34.2,122H24a6,6,0,0,0,0,12H34.2A94.13,94.13,0,0,0,122,221.8V232a6,6,0,0,0,12,0V221.8A94.13,94.13,0,0,0,221.8,134H232a6,6,0,0,0,0-12Zm-98,87.76V200a6,6,0,0,0-12,0v9.76A82.09,82.09,0,0,1,46.24,134H56a6,6,0,0,0,0-12H46.24A82.09,82.09,0,0,1,122,46.24V56a6,6,0,0,0,12,0V46.24A82.09,82.09,0,0,1,209.76,122H200a6,6,0,0,0,0,12h9.76A82.09,82.09,0,0,1,134,209.76ZM128,90a38,38,0,1,0,38,38A38,38,0,0,0,128,90Zm0,64a26,26,0,1,1,26-26A26,26,0,0,1,128,154Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,124H219.91A92.13,92.13,0,0,0,132,36.09V24a4,4,0,0,0-8,0V36.09A92.13,92.13,0,0,0,36.09,124H24a4,4,0,0,0,0,8H36.09A92.13,92.13,0,0,0,124,219.91V232a4,4,0,0,0,8,0V219.91A92.13,92.13,0,0,0,219.91,132H232a4,4,0,0,0,0-8ZM132,211.9V200a4,4,0,0,0-8,0v11.9A84.11,84.11,0,0,1,44.1,132H56a4,4,0,0,0,0-8H44.1A84.11,84.11,0,0,1,124,44.1V56a4,4,0,0,0,8,0V44.1A84.11,84.11,0,0,1,211.9,124H200a4,4,0,0,0,0,8h11.9A84.11,84.11,0,0,1,132,211.9ZM128,92a36,36,0,1,0,36,36A36,36,0,0,0,128,92Zm0,64a28,28,0,1,1,28-28A28,28,0,0,1,128,156Z`}))]]),nt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,12H80A28,28,0,0,0,52,40V216a28,28,0,0,0,28,28h96a28,28,0,0,0,28-28V40A28,28,0,0,0,176,12ZM76,76H180V180H76Zm4-40h96a4,4,0,0,1,4,4V52H76V40A4,4,0,0,1,80,36Zm96,184H80a4,4,0,0,1-4-4V204H180v12A4,4,0,0,1,176,220Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,56V200H64V56Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM72,64H184V192H72Zm8-32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM80,32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,18H80A22,22,0,0,0,58,40V216a22,22,0,0,0,22,22h96a22,22,0,0,0,22-22V40A22,22,0,0,0,176,18ZM70,62H186V194H70ZM80,30h96a10,10,0,0,1,10,10V50H70V40A10,10,0,0,1,80,30Zm96,196H80a10,10,0,0,1-10-10V206H186v10A10,10,0,0,1,176,226Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM72,64H184V192H72Zm8-32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,20H80A20,20,0,0,0,60,40V216a20,20,0,0,0,20,20h96a20,20,0,0,0,20-20V40A20,20,0,0,0,176,20ZM68,60H188V196H68ZM80,28h96a12,12,0,0,1,12,12V52H68V40A12,12,0,0,1,80,28Zm96,200H80a12,12,0,0,1-12-12V204H188v12A12,12,0,0,1,176,228Z`}))]]),rt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,20H64A28,28,0,0,0,36,48V208a28,28,0,0,0,28,28H192a28,28,0,0,0,28-28V48A28,28,0,0,0,192,20ZM60,84H196v88H60Zm4-40H192a4,4,0,0,1,4,4V60H60V48A4,4,0,0,1,64,44ZM192,212H64a4,4,0,0,1-4-4V196H196v12A4,4,0,0,1,192,212Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,64V192H48V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM56,72H200V184H56Zm8-32H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM64,40H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,26H64A22,22,0,0,0,42,48V208a22,22,0,0,0,22,22H192a22,22,0,0,0,22-22V48A22,22,0,0,0,192,26ZM54,70H202V186H54ZM64,38H192a10,10,0,0,1,10,10V58H54V48A10,10,0,0,1,64,38ZM192,218H64a10,10,0,0,1-10-10V198H202v10A10,10,0,0,1,192,218Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM56,72H200V184H56Zm8-32H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,28H64A20,20,0,0,0,44,48V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V48A20,20,0,0,0,192,28ZM52,68H204V188H52ZM64,36H192a12,12,0,0,1,12,12V60H52V48A12,12,0,0,1,64,36ZM192,220H64a12,12,0,0,1-12-12V196H204v12A12,12,0,0,1,192,220Z`}))]]),it=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64ZM64,92a12,12,0,0,0,0,24H192a12,12,0,0,0,0-24Zm152,40H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm-24,40H64a12,12,0,0,0,0,24H192a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V168a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM64,96a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Zm152,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-24,40H64a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM176,184H80a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm16-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16ZM72,112a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H80A8,8,0,0,1,72,112ZM192,88H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64ZM64,98a6,6,0,0,0,0,12H192a6,6,0,0,0,0-12Zm152,40H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm-24,40H64a6,6,0,0,0,0,12H192a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM64,96a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Zm152,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-24,40H64a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm28,36a4,4,0,0,0,0,8H192a4,4,0,0,0,0-8Zm152,40H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm-24,40H64a4,4,0,0,0,0,8H192a4,4,0,0,0,0-8Z`}))]]),at=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64Zm12,52H168a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Zm176,16H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm-48,40H40a12,12,0,0,0,0,24H168a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V168a16,16,0,0,1-16,16H40V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM160,184H64a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm32-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16ZM56,112a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H64A8,8,0,0,1,56,112ZM192,88H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64Zm6,46H168a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Zm176,28H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm-48,40H40a6,6,0,0,0,0,12H168a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm4,44H168a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Zm176,32H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm-48,40H40a4,4,0,0,0,0,8H168a4,4,0,0,0,0-8Z`}))]]),ot=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64ZM216,92H88a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm0,40H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm0,40H88a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V184H56a16,16,0,0,1-16-16V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM216,96H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM192,184H96a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm0-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm0-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64ZM216,98H88a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm0,40H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm0,40H88a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM216,96H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm180,36H88a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm0,40H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm0,40H88a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Z`}))]]),st=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,pt=(e,t,n)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mt=(e,t)=>{for(var n in t||={})dt.call(t,n)&&pt(e,n,t[n]);if(ut)for(var n of ut(t))ft.call(t,n)&&pt(e,n,t[n]);return e},ht=(e,t)=>ct(e,lt(t)),gt=(0,G.forwardRef)((e,t)=>G.createElement(r,ht(mt({ref:t},e),{weights:tt})));gt.displayName=`Crosshair`;var _t=Object.defineProperty,vt=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,Ct=(e,t,n)=>t in e?_t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wt=(e,t)=>{for(var n in t||={})xt.call(t,n)&&Ct(e,n,t[n]);if(bt)for(var n of bt(t))St.call(t,n)&&Ct(e,n,t[n]);return e},Tt=(e,t)=>vt(e,yt(t)),Et=(0,G.forwardRef)((e,t)=>G.createElement(r,Tt(wt({ref:t},e),{weights:nt})));Et.displayName=`DeviceMobile`;var Dt=Object.defineProperty,Ot=Object.defineProperties,kt=Object.getOwnPropertyDescriptors,At=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,Nt=(e,t,n)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pt=(e,t)=>{for(var n in t||={})jt.call(t,n)&&Nt(e,n,t[n]);if(At)for(var n of At(t))Mt.call(t,n)&&Nt(e,n,t[n]);return e},Ft=(e,t)=>Ot(e,kt(t)),It=(0,G.forwardRef)((e,t)=>G.createElement(r,Ft(Pt({ref:t},e),{weights:rt})));It.displayName=`DeviceTablet`;var Lt=Object.defineProperty,Rt=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,Bt=Object.getOwnPropertySymbols,Vt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,Ut=(e,t,n)=>t in e?Lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wt=(e,t)=>{for(var n in t||={})Vt.call(t,n)&&Ut(e,n,t[n]);if(Bt)for(var n of Bt(t))Ht.call(t,n)&&Ut(e,n,t[n]);return e},Gt=(e,t)=>Rt(e,zt(t)),Kt=(0,G.forwardRef)((e,t)=>G.createElement(r,Gt(Wt({ref:t},e),{weights:it})));Kt.displayName=`TextAlignCenter`;var qt=Object.defineProperty,Jt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,Xt=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,$t=(e,t,n)=>t in e?qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,en=(e,t)=>{for(var n in t||={})Zt.call(t,n)&&$t(e,n,t[n]);if(Xt)for(var n of Xt(t))Qt.call(t,n)&&$t(e,n,t[n]);return e},tn=(e,t)=>Jt(e,Yt(t)),nn=(0,G.forwardRef)((e,t)=>G.createElement(r,tn(en({ref:t},e),{weights:at})));nn.displayName=`TextAlignLeft`;var rn=Object.defineProperty,an=Object.defineProperties,on=Object.getOwnPropertyDescriptors,sn=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(e,t,n)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dn=(e,t)=>{for(var n in t||={})cn.call(t,n)&&un(e,n,t[n]);if(sn)for(var n of sn(t))ln.call(t,n)&&un(e,n,t[n]);return e},fn=(e,t)=>an(e,on(t)),pn=(0,G.forwardRef)((e,t)=>G.createElement(r,fn(dn({ref:t},e),{weights:ot})));pn.displayName=`TextAlignRight`;var K=t(),q=(e,t,n,r=2.4)=>({left:e,top:t,width:n,height:r,kind:`line`}),mn=(e,t,n,r)=>({left:e,top:t,width:n,height:r,kind:`block`}),J=(e,t,n,r)=>({left:e,top:t,width:n,height:r,kind:`outline`}),Y=(e,t,n,r,i=!1)=>({left:e,top:t,width:n,height:r,kind:`paint`,round:i}),hn=1.6,gn={website:[{aspect:hn,blocks:[mn(6,7,12,4),q(64,8,8,2),q(76,8,8,2),mn(6,23,44,7),mn(6,33,32,7),q(6,46,38),q(6,51,28),Y(6,60,14,7,!0),Y(56,21,38,47),J(6,77,27,15),J(36.5,77,27,15),J(67,77,27,15)]},{aspect:hn,blocks:[q(42,8,16,2.6),mn(22,22,56,7),q(30,34,40),Y(42,43,16,7,!0),Y(10,58,80,30),J(14,62,22,22),J(39,62,22,22),J(64,62,22,22)]}],app:[{aspect:.5,blocks:[q(10,4,18,1.4),mn(10,10,52,3.4),J(10,17,80,5.5),Y(10,29,14,7,!0),q(30,30,50,1.8),q(30,34,34,1.6),Y(10,42,14,7,!0),q(30,43,46,1.8),q(30,47,30,1.6),J(6,88,88,7),Y(70,74,18,9,!0)]}],slides:[{aspect:16/9,blocks:[mn(8,15,48,10),q(8,30,36,3.5),q(8,45,40,3),q(8,54,34,3),q(8,63,38,3),Y(60,15,32,64),q(8,87,14,2)]}],document:[{aspect:.77,blocks:[mn(12,9,56,4.4),q(12,16,30,1.6),q(12,24,76,1.5),q(12,28,72,1.5),q(12,32,76,1.5),q(12,36,46,1.5),q(12,43,76,1.5),q(12,47,70,1.5),q(12,51,60,1.5),Y(12,60,76,20),q(30,84,40,1.4)]}],wireframe:[{aspect:hn,blocks:[J(4,6,92,10),J(4,21,22,72),J(30,21,66,34),J(30,59,31,34),J(65,59,31,34),q(34,27,30),q(34,33,22)]}],dashboard:[{aspect:hn,blocks:[J(3,5,16,90),q(6,12,10,2),q(6,19,8,2),q(6,26,10,2),mn(23,6,22,16),mn(48.5,6,22,16),mn(74,6,22,16),Y(23,28,73,38),q(23,73,73,3),q(23,80,73,3),q(23,87,73,3)]}],type:[{aspect:hn,blocks:[Y(8,14,10,16,!0),Y(21,14,10,16,!0),Y(34,14,10,16,!0),mn(54,14,38,9),q(54,28,30,5),q(54,38,24,3),q(54,45,20,2),J(8,60,84,30),q(12,66,40,3),q(12,73,60,1.8),q(12,78,52,1.8)]}],"design-system":[{aspect:hn,blocks:[mn(8,10,34,7),q(8,21,44),mn(66,30,26,10),q(66,44,20,3),J(8,56,20,9),J(8,72,43,18),q(12,79,26,2),J(58,56,34,34),q(62,62,22,3),q(62,70,26,1.8),Y(8,30,9,14,!0),Y(19,30,9,14,!0),Y(30,30,9,14,!0),Y(41,30,9,14,!0),Y(31,56,20,9)]}]};function _n(e,t){let n=(e?gn[e]:void 0)??gn.website;return n[t%n.length]}Object.keys(gn);var vn=e=>Math.round(380+e.width*11);function yn(e){return[{type:`think`,duration:1500},...e.blocks.map((e,t)=>e.kind===`paint`?{type:`paint`,block:t,duration:900}:{type:`draw`,block:t,duration:vn(e)}),{type:`inspect`,duration:2200},{type:`rest`,duration:1800},{type:`clear`,duration:600}]}var bn={pencil:[2.8,21.2],lens:[10,10],prism:[12,12]},xn=e=>Math.round(Math.min(104,Math.max(56,e*.16)));function Sn(e,t){let n=Math.max(0,Math.min(640,e.width-64)),r=Math.max(0,e.height-120),i=Math.min(n,r*t);return{width:Math.round(i),height:Math.round(i/t)}}var X=a(),Cn=`(prefers-reduced-motion: reduce)`,wn=`cubic-bezier(.3,1.1,.4,1)`,Tn=`cubic-bezier(.45,0,.55,1)`,En=`cubic-bezier(.16,1,.3,1)`,Dn=class{animations=new Set;timer=null;paused=!1;stopped=!1;constructor(e){this.paused=e}wait(e){return new Promise(t=>{this.stopped||(this.timer={resolve:t,remaining:e,startedAt:0,id:null},this.paused||this.arm())})}arm(){let e=this.timer;e&&(e.startedAt=performance.now(),e.id=window.setTimeout(()=>{this.timer=null,e.resolve()},e.remaining))}animate(e,t,n){if(this.stopped)return;let r=e.animate(t,{fill:`forwards`,...n});this.animations.add(r),this.paused&&r.pause(),r.finished.then(()=>{this.animations.delete(r),e.isConnected&&(r.commitStyles(),r.cancel())},()=>this.animations.delete(r))}pause(){if(!(this.paused||this.stopped)){this.paused=!0;for(let e of this.animations)e.pause();this.timer?.id!=null&&(window.clearTimeout(this.timer.id),this.timer.remaining=Math.max(0,this.timer.remaining-(performance.now()-this.timer.startedAt)),this.timer.id=null)}}resume(){if(!(!this.paused||this.stopped)){this.paused=!1;for(let e of this.animations)e.play();this.arm()}}stop(){this.stopped=!0,this.timer?.id!=null&&window.clearTimeout(this.timer.id),this.timer=null;for(let e of this.animations)e.cancel();this.animations.clear()}},On=e=>`translate(${e.x}px, ${e.y}px)`;function kn(e,t){t.kind===`paint`?(e.style.opacity=`0`,e.style.transform=`scale(0.94)`):(e.style.opacity=`1`,e.style.transform=`scaleX(0)`)}function An(e){let t=(0,K.c)(40),n=(0,G.useRef)(null),r=(0,G.useRef)(null),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0];let a=(0,G.useRef)(i),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(0),[u,d]=(0,G.useState)(`thinking`),[f,p]=(0,G.useState)(0),[m,h]=(0,G.useState)(Nn),_,v,y;t[1]!==c||t[2]!==e.kind||t[3]!==o?(v=_n(e.kind,c),_=o?Sn(o,v.aspect):null,y=_?xn(_.width):0,t[1]=c,t[2]=e.kind,t[3]=o,t[4]=_,t[5]=v,t[6]=y):(_=t[4],v=t[5],y=t[6]);let b=y,x;t[7]!==_||t[8]!==b?(x={board:_,borgSize:b},t[7]=_,t[8]=b,t[9]=x):x=t[9];let S=(0,G.useRef)(x),C;t[10]!==_||t[11]!==b?(C=()=>{S.current={board:_,borgSize:b}},t[10]=_,t[11]=b,t[12]=C):C=t[12],(0,G.useLayoutEffect)(C);let w,T;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let[t]=e;if(!t)return;let{width:n,height:r}=t.contentRect;n>0&&r>0&&s({width:n,height:r})});return t.observe(e),()=>t.disconnect()},T=[],t[13]=w,t[14]=T):(w=t[13],T=t[14]),(0,G.useLayoutEffect)(w,T);let E,D;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=window.matchMedia(Cn),t=()=>h(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},D=[],t[15]=E,t[16]=D):(E=t[15],D=t[16]),(0,G.useEffect)(E,D);let O=(0,G.useRef)(null),k=(0,G.useRef)(!0),A,j;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{let e=n.current;if(!e)return;let t=!0,r=()=>{k.current=t&&!document.hidden,k.current?O.current?.resume():O.current?.pause()},i=new IntersectionObserver(e=>{let[n]=e;t=n?.isIntersecting??!1,r()});return i.observe(e),document.addEventListener(`visibilitychange`,r),()=>{i.disconnect(),document.removeEventListener(`visibilitychange`,r)}},j=[],t[17]=A,t[18]=j):(A=t[17],j=t[18]),(0,G.useEffect)(A,j);let M=_!==null,N=(0,G.useRef)(null),P;t[19]!==v||t[20]!==M||t[21]!==m?(P=()=>{let e=r.current,t=S.current;if(!M||!e||!t.board)return;let{blocks:n}=v,i=n.map((e,t)=>a.current[t]??null),o=()=>S.current.board??{width:0,height:0},s=()=>S.current.borgSize/24,c=(e,t)=>({x:t.x-e[0]*s(),y:t.y-e[1]*s()}),u=()=>{let{width:e,height:t}=o();return c(bn.prism,{x:e-S.current.borgSize*.3,y:t-S.current.borgSize*.3})};if(m){for(let e of i)e&&(e.style.opacity=`1`,e.style.transform=`none`);N.current=u(),e.style.transform=On(N.current),d(`waiting`);return}n.forEach((e,t)=>{let n=i[t];n&&kn(n,e)});let f=new Dn(!k.current);O.current=f;let h=(t,n,r)=>{let i=N.current??t;N.current=t,f.animate(e,[{transform:On(i)},{transform:On(t)}],{duration:n,easing:r})},g=e=>{let{width:t,height:n}=o();return{left:e.left/100*t,top:e.top/100*n,width:e.width/100*t,height:e.height/100*n}};return(async()=>{let t=yn(v);for(let[r,a]of t.entries()){p(Mn);let{width:s,height:m}=o();if(a.type===`think`){d(`thinking`);let t=c(bn.prism,{x:s/2,y:m/2});N.current===null?(N.current=t,e.style.transform=On(t)):h(t,480*1.4,wn),await f.wait(a.duration)}else if(a.type===`draw`){let e=n[a.block],t=i[a.block],r=g(e),o=e.kind===`outline`?r.top:r.top+r.height/2;d(`edit`),h(c(bn.pencil,{x:r.left,y:o}),480,wn),await f.wait(480),t&&f.animate(t,[{transform:`scaleX(0)`},{transform:`scaleX(1)`}],{duration:a.duration,easing:Tn}),h(c(bn.pencil,{x:r.left+r.width,y:o}),a.duration,Tn),await f.wait(a.duration)}else if(a.type===`paint`){let e=i[a.block],t=g(n[a.block]);d(`starting`);let r={x:t.left+t.width/2,y:Math.max(S.current.borgSize*.5,t.top-S.current.borgSize*.1)};h(c(bn.prism,r),480,wn),await f.wait(660),e&&f.animate(e,[{opacity:0,transform:`scale(0.94)`},{opacity:1,transform:`scale(1)`}],{duration:520,easing:En}),await f.wait(a.duration)}else if(a.type===`inspect`){d(`search`),h(c(bn.lens,{x:s*.2,y:m*.26}),480,wn),await f.wait(480);let e=a.duration-480;h(c(bn.lens,{x:s*.78,y:m*.7}),e,Tn),await f.wait(e)}else if(a.type===`rest`)d(`waiting`),h(u(),480*1.4,wn),await f.wait(a.duration);else{for(let e of i)e&&f.animate(e,[{opacity:1},{opacity:0}],{duration:a.duration,easing:En});await f.wait(a.duration),r===t.length-1&&l(jn)}}})(),()=>{f.stop(),O.current===f&&(O.current=null)}},t[19]=v,t[20]=M,t[21]=m,t[22]=P):P=t[22];let F;t[23]!==v||t[24]!==c||t[25]!==M||t[26]!==m?(F=[v,c,M,m],t[23]=v,t[24]=c,t[25]=M,t[26]=m,t[27]=F):F=t[27],(0,G.useLayoutEffect)(P,F);let I;t[28]===e.className?I=t[29]:(I=g(`relative grid h-full place-items-center`,e.className),t[28]=e.className,t[29]=I);let L;t[30]!==_||t[31]!==b||t[32]!==v||t[33]!==c||t[34]!==u||t[35]!==f?(L=_?(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,X.jsxs)(`div`,{"aria-hidden":!0,className:`relative rounded-control bg-card ring-1 ring-line`,style:{width:_.width,height:_.height},children:[v.blocks.map((e,t)=>(0,X.jsx)(`span`,{ref:e=>{a.current[t]=e},className:g(`absolute`,e.kind===`paint`?`origin-center`:`origin-left`,e.round||e.kind===`line`?`rounded-full`:`rounded-small`,e.kind===`outline`?`ring-1 ring-strong-line ring-inset`:e.kind===`paint`?`bg-brand/55`:`bg-strong-line`),style:{left:`${e.left}%`,top:`${e.top}%`,width:`${e.width}%`,height:`${e.height}%`}},`${c}:${e.left}:${e.top}`)),(0,X.jsx)(`span`,{ref:r,className:`absolute top-0 left-0 text-brand-ink will-change-transform`,children:(0,X.jsx)(`span`,{className:`block`,style:{zoom:b/24},children:(0,X.jsx)(B,{phase:u,step:String(f),seed:`design-artist`})})})]}),(0,X.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-2 text-[13px] font-[550] text-brand-ink`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`size-[5px] rounded-full bg-brand-ink`}),`Designing`]})]}):null,t[30]=_,t[31]=b,t[32]=v,t[33]=c,t[34]=u,t[35]=f,t[36]=L):L=t[36];let R;return t[37]!==I||t[38]!==L?(R=(0,X.jsx)(`div`,{ref:n,className:I,children:L}),t[37]=I,t[38]=L,t[39]=R):R=t[39],R}function jn(e){return e+1}function Mn(e){return e+1}function Nn(){return typeof window<`u`&&window.matchMedia(Cn).matches}var Pn=4e3,Fn=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Z=e=>typeof e==`number`&&Number.isFinite(e),Q=(e,t=Pn)=>typeof e==`string`?e.slice(0,t):null,In=/^(?:#[0-9a-f]{3,8}|(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color)\([^()]*\)|[a-z]+)$/i,Ln=e=>{let t=Q(e,64)?.trim();return t&&In.test(t)?t:null};function Rn(e){return!Fn(e)||!Z(e.x)||!Z(e.y)?null:{x:e.x,y:e.y}}function zn(e){if(!Fn(e))return null;let{x:t,y:n,width:r,height:i}=e;return!Z(t)||!Z(n)||!Z(r)||!Z(i)?null:{x:t,y:n,width:r,height:i}}function Bn(e){return!Fn(e)||!Z(e.node)||!Z(e.fx)||!Z(e.fy)?null:{node:Math.trunc(e.node),fx:e.fx,fy:e.fy}}function Vn(e){if(!Fn(e)||!Z(e.node))return null;let t=zn(e.rect),n=Q(e.tagName,64);return!t||!n?null:{node:Math.trunc(e.node),tagName:n,label:Q(e.label,120)??n,selector:Q(e.selector,400)??``,htmlPreview:Q(e.htmlPreview,1200)??``,text:Q(e.text,600)??``,rect:t}}function Hn(e){let t=Vn(e);if(!t||!Fn(e))return null;let n={};if(Fn(e.styles))for(let[t,r]of Object.entries(e.styles).slice(0,24)){let e=Q(r,200);e!==null&&(n[t.slice(0,64)]=e)}return{...t,editableText:Q(e.editableText),styles:n}}function Un(e,t,n){if(Array.isArray(e))return e.slice(0,n).map(t).filter(e=>e!==null)}var Wn=e=>Fn(e)&&Z(e.node)&&Z(e.depth)?{node:Math.trunc(e.node),depth:Math.max(0,Math.min(8,Math.trunc(e.depth))),tagName:Q(e.tagName,64)??``,label:Q(e.label,120)??``}:null,Gn=e=>{if(!Fn(e))return null;let t=Q(e.name,120),n=Q(e.value,400);return t?.startsWith(`--`)&&n!==null?{name:t,value:n}:null},Kn=8192,qn=(e,t)=>Z(e)&&e>=0&&e<=t,Jn=e=>{if(!Fn(e)||!qn(e.width,Kn)||!qn(e.height,Kn)||!Array.isArray(e.items))return null;let t=e.items.slice(0,600).filter(e=>Fn(e)&&Fn(e.rect)&&qn(e.rect.width,Kn)&&qn(e.rect.height,Kn));return{...e,items:t}};function Yn(e){if(!Fn(e)||e.borgDesignBridge!==1)return null;switch(e.type){case`ready`:return{type:`ready`,title:Q(e.title,300)??``,sourceHash:Q(e.sourceHash,128)??``,slideCount:Z(e.slideCount)?Math.max(0,Math.trunc(e.slideCount)):0};case`pick`:{let t=Rn(e.point),n=Bn(e.anchor),r=Vn(e.target);return t&&n&&r?{type:`pick`,point:t,anchor:n,target:r}:null}case`ink`:{let t=Rn(e.point),n=zn(e.bounds),r=Un(e.points,Rn,4e3);return!t||!n||!r?null:{type:`ink`,point:t,points:r,bounds:n,anchor:Bn(e.anchor),target:Vn(e.target)}}case`selection`:return{type:`selection`,selection:e.selection===null?null:Hn(e.selection)};case`editing`:return Z(e.node)?{type:`editing`,node:Math.trunc(e.node)}:null;case`text`:{let t=Q(e.text,2e4);return Z(e.node)&&t!==null?{type:`text`,node:Math.trunc(e.node),text:t,exact:e.exact===!0}:null}case`printed`:return{type:`printed`};case`pin`:{let t=Q(e.id,120);return t?{type:`pin`,id:t}:null}case`key`:{let t=Q(e.key,32);return t?{type:`key`,key:t}:null}case`reply`:{let t=Q(e.requestId,64);if(!t)return null;let n=Un(e.layers,Wn,400),r=Un(e.tokens,Gn,60),i=Un(e.palette,Ln,8),a=Un(e.slides,Jn,80);return{type:`reply`,requestId:t,...n?{layers:n}:{},...r?{tokens:r}:{},...i?{palette:i}:{},...a?{slides:a}:{}}}default:return null}}var Xn=class{frame=null;listeners=new Set;pending=new Map;requestCount=0;readyEvent=null;connected=!1;constructor(){this.handleMessage=this.handleMessage.bind(this)}connect(){this.connected||(this.connected=!0,window.addEventListener(`message`,this.handleMessage))}disconnect(){if(this.connected){this.connected=!1,window.removeEventListener(`message`,this.handleMessage);for(let e of this.pending.values())e(null);this.pending.clear()}}attach(e){e!==this.frame&&(this.frame=e,this.readyEvent=null)}get ready(){return this.readyEvent}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}send(e){this.frame?.contentWindow?.postMessage({[ne]:1,...e},`*`)}request(e,t=4e3){if(!this.frame?.contentWindow)return Promise.resolve(null);this.requestCount+=1;let n=`r${this.requestCount}`;return new Promise(r=>{let i=window.setTimeout(()=>{this.pending.delete(n),r(null)},t);this.pending.set(n,e=>{window.clearTimeout(i),r(e)}),this.send({type:`request`,requestId:n,what:e})})}handleMessage(e){if(!this.frame||e.source!==this.frame.contentWindow)return;let t=Yn(e.data);if(t){if(t.type===`ready`&&(this.readyEvent=t),t.type===`reply`){let e=this.pending.get(t.requestId);e&&(this.pending.delete(t.requestId),e(t));return}for(let e of this.listeners)e(t)}}};function Zn(e){let t=new URL(e);return t.searchParams.set(ie,`1`),t.toString()}function Qn(e){let t=new URL(e);return t.searchParams.delete(ie),t.toString()}function $n(e){return Array.from(Me(new TextEncoder().encode(e)),e=>e.toString(16).padStart(2,`0`)).join(``)}async function er(e){let t=await fetch(Qn(e),{credentials:`omit`,cache:`no-store`});if(!t.ok)throw Error(`The design could not be read (${t.status}).`);return t.text()}async function tr(e){try{let t=await e.readSource();if($n(t)!==e.sourceHash)return{status:`changed`};let n=H(t,e.edits.map(e=>e.edit)),r=e.edits.filter(e=>n.skipped.includes(e.edit)),i=e.edits.filter(e=>!r.includes(e));return i.length>0&&await e.write(n.html),{status:`saved`,applied:i,skipped:r}}catch(e){return{status:`failed`,message:e instanceof Error?e.message:`The design could not be saved.`}}}function nr(e){if(!e)return`transparent`;let t=e.trim();if(/^#[0-9a-f]{6}$/i.test(t))return t.toLowerCase();if(/^#[0-9a-f]{3}$/i.test(t))return`#${Array.from(t.slice(1),e=>e+e).join(``)}`.toLowerCase();if(t===`transparent`)return`transparent`;let n=/^rgba?\(([^)]+)\)$/i.exec(t)?.[1]?.split(/[\s,/]+/).filter(Boolean);return!n||n.length<3?null:n[3]!==void 0&&Number.parseFloat(n[3])===0?`transparent`:`#${n.slice(0,3).map(e=>Math.max(0,Math.min(255,Math.round(Number(e)))).toString(16).padStart(2,`0`)).join(``)}`}function rr(e,t){return{pageUrl:t,pageTitle:t,tagName:e.tagName,selector:e.selector||null,htmlPreview:e.htmlPreview,componentName:null,source:null,stack:[],styles:``,pickedAt:new Date().toISOString()}}function ir(e){return{id:p(),pageUrl:e.path,pageTitle:e.path,comment:e.comment,elements:e.target?[{id:p(),element:rr(e.target,e.path),rect:e.target.rect}]:[],regions:[],strokes:e.ink?[{id:p(),color:e.inkColor??`#7552b0`,width:3,points:e.ink.points,bounds:e.ink.bounds}]:[],styleChanges:[],screenshot:null,createdAt:new Date().toISOString()}}function ar(e){let t=e.edits.map((e,t)=>({targetId:String(t),selector:e.selector,property:`${e.target}: ${e.property}`,previousValue:e.previousValue,value:e.value})),n=e.edits.length;return{id:p(),pageUrl:e.path,pageTitle:e.path,comment:e.comment??`I edited ${e.path} directly and saved it (${n} change${n===1?``:`s`}). The file already has them; keep them when you next change the page.`,elements:[],regions:[],strokes:[],styleChanges:t,screenshot:null,createdAt:new Date().toISOString()}}var or=e(Qe(),1),sr=9525,cr=.75,lr=914400,ur=51206400,dr=`http://schemas.openxmlformats.org/drawingml/2006/main`,fr=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,pr=`http://schemas.openxmlformats.org/presentationml/2006/main`,mr=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,$=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
-
`,hr=/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g;function gr(e){return e.replace(hr,``).replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function _r(e){if(!e)return null;let t=e.trim().toLowerCase(),n=/^#([0-9a-f]{3,8})$/.exec(t)?.[1];if(n){let e=n.length<=4?n.split(``).map(e=>e+e).join(``):n,t=e.length===8?Number.parseInt(e.slice(6,8),16)/255:1;return t<=.02?null:{hex:e.slice(0,6).toUpperCase(),alpha:t}}let r=/^rgba?\(([^)]+)\)$/.exec(t)?.[1];if(!r)return null;let[i,a,o]=r.split(/[\s,/]+/).filter(Boolean).map(e=>e.endsWith(`%`)?Number.parseFloat(e)/100*255:Number(e));if(![i,a,o].every(e=>Number.isFinite(e)))return null;let s=r.split(/[\s,/]+/).filter(Boolean)[3],c=s===void 0?1:s.endsWith(`%`)?Number.parseFloat(s)/100:Number(s);if(!Number.isFinite(c)||c<=.02)return null;let l=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,`0`);return{hex:`${l(i)}${l(a)}${l(o)}`.toUpperCase(),alpha:c}}var vr=e=>Math.round(e*sr);function yr(e){return`<a:xfrm><a:off x="${vr(e.x)}" y="${vr(e.y)}"/><a:ext cx="${Math.max(1,vr(e.width))}" cy="${Math.max(1,vr(e.height))}"/></a:xfrm>`}function br(e,t=1){let n=Math.round(Math.max(0,Math.min(1,e.alpha*t))*1e5);return`<a:solidFill>${n<1e5?`<a:srgbClr val="${e.hex}"><a:alpha val="${n}"/></a:srgbClr>`:`<a:srgbClr val="${e.hex}"/>`}</a:solidFill>`}function xr(e){let t=_r(e.color),n=Math.max(100,Math.round(e.fontSize*cr*100)),r=Math.round(e.letterSpacing*cr*100),i=[`lang="en-US"`,`sz="${n}"`,e.bold?`b="1"`:``,e.italic?`i="1"`:``,e.underline?`u="sng"`:``,r===0?``:`spc="${r}"`,`dirty="0"`].filter(Boolean).join(` `),a=gr(e.fontFamily||`Arial`);return`<a:rPr ${i}>${t?br(t):``}<a:latin typeface="${a}"/><a:ea typeface="${a}"/><a:cs typeface="${a}"/></a:rPr>`}function Sr(e,t){let n={left:`l`,center:`ctr`,right:`r`,justify:`just`}[t.align],r=t.lineHeight!==null&&t.lineHeight>0?`<a:lnSpc><a:spcPts val="${Math.round(t.lineHeight*cr*100)}"/></a:lnSpc>`:``,i=``;for(let e of t.runs)e.breakBefore&&(i+=`<a:br>${xr(e)}</a:br>`),e.text!==``&&(i+=`<a:r>${xr(e)}<a:t>${gr(e.text)}</a:t></a:r>`);let a=Math.round((t.runs[0]?.fontSize??16)*cr*100);return`<p:sp><p:nvSpPr><p:cNvPr id="${e}" name="Text ${e}"/><p:cNvSpPr txBox="1"/><p:nvPr/></p:nvSpPr><p:spPr>${yr({...t.rect,width:t.rect.width*1.04})}<a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/></p:spPr><p:txBody><a:bodyPr wrap="square" lIns="0" tIns="0" rIns="0" bIns="0" rtlCol="0" anchor="t"><a:noAutofit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="${n}">${r}</a:pPr>${i}<a:endParaRPr lang="en-US" sz="${a}" dirty="0"/></a:p></p:txBody></p:sp>`}function Cr(e,t){let n=_r(t.fill),r=_r(t.borderColor),i=Math.min(t.rect.width,t.rect.height),a=Math.min(t.radius,i/2),o=a>.5&&i>0?`<a:prstGeom prst="roundRect"><a:avLst><a:gd name="adj" fmla="val ${Math.round(a/i*1e5)}"/></a:avLst></a:prstGeom>`:`<a:prstGeom prst="rect"><a:avLst/></a:prstGeom>`,s=r&&t.borderWidth>0?`<a:ln w="${vr(t.borderWidth)}">${br(r,t.opacity)}</a:ln>`:`<a:ln><a:noFill/></a:ln>`;return`<p:sp><p:nvSpPr><p:cNvPr id="${e}" name="Shape ${e}"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr>${yr(t.rect)}${o}${n?br(n,t.opacity):`<a:noFill/>`}${s}</p:spPr></p:sp>`}function wr(e,t,n){return`<p:pic><p:nvPicPr><p:cNvPr id="${e}" name="Picture ${e}"/><p:cNvPicPr><a:picLocks noChangeAspect="1"/></p:cNvPicPr><p:nvPr/></p:nvPicPr><p:blipFill><a:blip r:embed="${t}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill><p:spPr>${yr(n)}<a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr></p:pic>`}var Tr=`<p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr>`;function Er(e){return e.kind===`image`?e.src:e.kind===`svg`?`svg:${e.markup}`:null}async function Dr(e){let t=e.slides[0],n=Math.min(ur,Math.max(lr,vr(t?.width??1920))),r=Math.min(ur,Math.max(lr,vr(t?.height??1080))),i=new or.default,a=new Map,o=new Set;e.slides.forEach((t,n)=>{let r=[`<Relationship Id="rId1" Type="${mr}/slideLayout" Target="../slideLayouts/slideLayout1.xml"/>`],s=``,c=2;for(let n of t.items){let t=c;if(c+=1,n.kind===`box`){s+=Cr(t,n);continue}if(n.kind===`text`){s+=Sr(t,n);continue}let l=Er(n),u=l?e.images.get(l):void 0;if(!l||!u)continue;let d=a.get(l);d||(d=`image${a.size+1}.${u.type===`jpeg`?`jpeg`:`png`}`,a.set(l,d),o.add(u.type),i.file(`ppt/media/${d}`,u.data,{compression:`STORE`}));let f=`rId${r.length+1}`;r.push(`<Relationship Id="${f}" Type="${mr}/image" Target="../media/${d}"/>`),s+=wr(t,f,n.rect)}let l=_r(t.background)??{hex:`FFFFFF`,alpha:1};i.file(`ppt/slides/slide${n+1}.xml`,`${$}<p:sld xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:cSld><p:bg><p:bgPr>${br({...l,alpha:1})}<a:effectLst/></p:bgPr></p:bg><p:spTree>${Tr}${s}</p:spTree></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`),i.file(`ppt/slides/_rels/slide${n+1}.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${r.join(``)}</Relationships>`)});let s=e.slides.length,c=e.slides.map((e,t)=>`<Override PartName="/ppt/slides/slide${t+1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`).join(``);i.file(`[Content_Types].xml`,`${$}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/>${o.has(`png`)?`<Default Extension="png" ContentType="image/png"/>`:``}${o.has(`jpeg`)?`<Default Extension="jpeg" ContentType="image/jpeg"/>`:``}<Override PartName="/ppt/presentation.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"/><Override PartName="/ppt/slideMasters/slideMaster1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml"/><Override PartName="/ppt/slideLayouts/slideLayout1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml"/><Override PartName="/ppt/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/ppt/presProps.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presProps+xml"/><Override PartName="/ppt/viewProps.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml"/><Override PartName="/ppt/tableStyles.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>${c}</Types>`),i.file(`_rels/.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/officeDocument" Target="ppt/presentation.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="${mr}/extended-properties" Target="docProps/app.xml"/></Relationships>`);let l=new Date().toISOString().replace(/\.\d{3}Z$/,`Z`);i.file(`docProps/core.xml`,`${$}<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${gr(e.title)}</dc:title><dcterms:created xsi:type="dcterms:W3CDTF">${l}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${l}</dcterms:modified></cp:coreProperties>`),i.file(`docProps/app.xml`,`${$}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Borg</Application><Slides>${s}</Slides></Properties>`);let u=e.slides.map((e,t)=>`<p:sldId id="${256+t}" r:id="rId${t+2}"/>`).join(``);i.file(`ppt/presentation.xml`,`${$}<p:presentation xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}" saveSubsetFonts="1"><p:sldMasterIdLst><p:sldMasterId id="2147483648" r:id="rId1"/></p:sldMasterIdLst><p:sldIdLst>${u}</p:sldIdLst><p:sldSz cx="${n}" cy="${r}"/><p:notesSz cx="6858000" cy="9144000"/></p:presentation>`);let d=e.slides.map((e,t)=>`<Relationship Id="rId${t+2}" Type="${mr}/slide" Target="slides/slide${t+1}.xml"/>`).join(``);i.file(`ppt/_rels/presentation.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideMaster" Target="slideMasters/slideMaster1.xml"/>${d}<Relationship Id="rId${s+2}" Type="${mr}/presProps" Target="presProps.xml"/><Relationship Id="rId${s+3}" Type="${mr}/viewProps" Target="viewProps.xml"/><Relationship Id="rId${s+4}" Type="${mr}/theme" Target="theme/theme1.xml"/><Relationship Id="rId${s+5}" Type="${mr}/tableStyles" Target="tableStyles.xml"/></Relationships>`),i.file(`ppt/presProps.xml`,`${$}<p:presentationPr xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"/>`),i.file(`ppt/viewProps.xml`,`${$}<p:viewPr xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:normalViewPr><p:restoredLeft sz="15620"/><p:restoredTop sz="94660"/></p:normalViewPr><p:gridSpacing cx="76200" cy="76200"/></p:viewPr>`),i.file(`ppt/tableStyles.xml`,`${$}<a:tblStyleLst xmlns:a="${dr}" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`);let f=`<p:spTree>${Tr}</p:spTree>`;return i.file(`ppt/slideMasters/slideMaster1.xml`,`${$}<p:sldMaster xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:cSld><p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg>${f}</p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accenborg="accenborg" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:sldLayoutIdLst><p:sldLayoutId id="2147483649" r:id="rId1"/></p:sldLayoutIdLst><p:txStyles><p:titleStyle><a:lvl1pPr><a:defRPr sz="4400"/></a:lvl1pPr></p:titleStyle><p:bodyStyle><a:lvl1pPr><a:defRPr sz="2400"/></a:lvl1pPr></p:bodyStyle><p:otherStyle><a:lvl1pPr><a:defRPr sz="1800"/></a:lvl1pPr></p:otherStyle></p:txStyles></p:sldMaster>`),i.file(`ppt/slideMasters/_rels/slideMaster1.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideLayout" Target="../slideLayouts/slideLayout1.xml"/><Relationship Id="rId2" Type="${mr}/theme" Target="../theme/theme1.xml"/></Relationships>`),i.file(`ppt/slideLayouts/slideLayout1.xml`,`${$}<p:sldLayout xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}" type="blank" preserve="1"><p:cSld name="Blank">${f}</p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sldLayout>`),i.file(`ppt/slideLayouts/_rels/slideLayout1.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideMaster" Target="../slideMasters/slideMaster1.xml"/></Relationships>`),i.file(`ppt/theme/theme1.xml`,`${$}${Or}`),i.generateAsync({type:`blob`,mimeType:`application/vnd.openxmlformats-officedocument.presentationml.presentation`,compression:`DEFLATE`})}var Or=`<a:theme xmlns:a="${dr}" name="Borg"><a:themeElements><a:clrScheme name="Borg"><a:dk1><a:srgbClr val="111111"/></a:dk1><a:lt1><a:srgbClr val="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="1F2937"/></a:dk2><a:lt2><a:srgbClr val="F4F4F1"/></a:lt2><a:accent1><a:srgbClr val="4F46E5"/></a:accent1><a:accent2><a:srgbClr val="16A34A"/></a:accent2><a:accenborg><a:srgbClr val="D97706"/></a:accenborg><a:accent4><a:srgbClr val="DC2626"/></a:accent4><a:accent5><a:srgbClr val="0891B2"/></a:accent5><a:accent6><a:srgbClr val="7C3AED"/></a:accent6><a:hlink><a:srgbClr val="2563EB"/></a:hlink><a:folHlink><a:srgbClr val="7C3AED"/></a:folHlink></a:clrScheme><a:fontScheme name="Borg"><a:majorFont><a:latin typeface="Arial"/><a:ea typeface=""/><a:cs typeface=""/></a:majorFont><a:minorFont><a:latin typeface="Arial"/><a:ea typeface=""/><a:cs typeface=""/></a:minorFont></a:fontScheme><a:fmtScheme name="Borg"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln><a:ln w="12700"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln><a:ln w="19050"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/></a:theme>`,kr={width:1920,height:1080};function Ar(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)}function jr(e,t){return`${e.toLowerCase().replace(/\.[a-z0-9]+$/i,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,60)||`design`}.${t}`}async function Mr(e,t,n){let r=document.createElement(`iframe`);r.setAttribute(`sandbox`,`allow-scripts allow-modals`),r.setAttribute(`aria-hidden`,`true`),r.tabIndex=-1,r.style.cssText=`position:fixed;left:-${t.width+200}px;top:0;width:${t.width}px;height:${t.height}px;border:0;opacity:0;pointer-events:none;`;let i=new Xn;i.connect(),i.attach(r);try{let t=new Promise((e,t)=>{let n=window.setTimeout(()=>t(Error(`The design did not load in time.`)),2e4),r=i.subscribe(t=>{t.type===`ready`&&(window.clearTimeout(n),r(),e())})});return r.src=e,document.body.append(r),await t,await n(i)}finally{i.disconnect(),r.remove()}}async function Nr(e,t){await Mr(e,t?kr:{width:1280,height:800},async e=>{let t=new Promise(t=>{let n=window.setTimeout(t,30*6e4),r=e.subscribe(e=>{e.type===`printed`&&(window.clearTimeout(n),r(),t())})});e.send({type:`print`}),await t})}async function Pr(e){return new Uint8Array(await e.arrayBuffer())}async function Fr(e,t,n){let r=URL.createObjectURL(e);try{let e=new Image;e.decoding=`async`,e.src=r,await e.decode();let i=document.createElement(`canvas`);i.width=Math.max(1,Math.round((t||e.naturalWidth)*2)),i.height=Math.max(1,Math.round((n||e.naturalHeight)*2));let a=i.getContext(`2d`);if(!a)return null;a.drawImage(e,0,0,i.width,i.height);let o=await new Promise(e=>i.toBlob(e,`image/png`));return o?{data:await Pr(o),type:`png`}:null}catch{return null}finally{URL.revokeObjectURL(r)}}var Ir=15e3;function Lr(e,t){try{let n=new URL(e),r=new URL(t),i=r.pathname.slice(0,r.pathname.lastIndexOf(`/`)+1);return n.origin===r.origin&&n.pathname.startsWith(i)}catch{return!1}}async function Rr(e,t){let n=new Map;for(let r of e)for(let e of r.items){let r=Er(e);if(!(!r||n.has(r))){if(e.kind===`svg`){let t=await Fr(new Blob([e.markup],{type:`image/svg+xml`}),e.rect.width,e.rect.height);t&&n.set(r,t);continue}if(e.kind===`image`&&!(!e.src.startsWith(`data:image/`)&&!Lr(e.src,t)))try{let t=await fetch(e.src,{credentials:`omit`,signal:AbortSignal.timeout(Ir)});if(!t.ok)continue;let i=await t.blob(),a=i.type.toLowerCase(),o=a===`image/png`||a===`image/jpeg`?{data:await Pr(i),type:a===`image/png`?`png`:`jpeg`}:await Fr(i,e.rect.width,e.rect.height);o&&n.set(r,o)}catch{}}}return n}async function zr(e,t){return Mr(e,kr,async n=>{let r=(await n.request(`slides`,3e4))?.slides??[];if(r.length===0)throw Error(`The design has no slides to export.`);return Ar(await Dr({title:t,slides:r,images:await Rr(r,e)}),jr(t,`pptx`)),r.length})}function Br(){let e=ki(),t=W(),n=S(),r=Xe(N.readFile,{reportFailure:!1,refresh:!0}),i=(0,G.useId)(),[a,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)({status:`reading`}),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`user`),[p,m]=(0,G.useState)(!1),[g,_]=(0,G.useState)(null),{environmentId:v,threadId:y}=e.threadRef,b=ve(v,y),x=le(t.systems,b),C=Ce(e.files,e.current?.path??null),w=C.guide===null?`Borg hasn't written DESIGN.md for this design system yet.`:e.workspaceRoot===null?`This design's folder can't be read here.`:e.designing?`Borg is still working on it.`:null,T=async()=>{let t=e.workspaceRoot;if(C.guide===null||t===null)return;c({status:`reading`});let n=e=>r({environmentId:v,input:{cwd:t,relativePath:e}}).then(t=>{if(t._tag!==`Success`)throw Error(`${e} couldn't be read.`);if(t.value.truncated)throw Error(`${e} is too large to publish.`);return t.value.contents});try{let[t,r]=await Promise.all([n(C.guide),C.tokens===null?Promise.resolve(null):n(C.tokens)]),i=he({guide:t,tokens:r,fallbackName:e.title});u(x?.name??i.name),c({status:`ready`,draft:i})}catch(e){c({status:`failed`,message:e instanceof Error?e.message:`The design system couldn't be read.`})}},E=async()=>{if(s.status!==`ready`||p)return;let e=l.trim();if(!e||s.draft.tooLarge)return;m(!0),_(null);let r={name:e,body:s.draft.body,shortDescription:s.draft.summary,sourceRef:b};try{let e=x?await t.update(x.id,r):await t.create(d,r);o(!1);let i=!x||e.version!==x.version;M.add({type:`success`,title:x?i?`Updated ${e.name}`:`Saved ${e.name}`:`Published ${e.name}`,description:x?i?`Designs made in it use this version from their next turn.`:`Its guide and tokens haven't changed since the last version.`:`It's in your design systems, ready for the next design.`,actionProps:{children:`Start a design`,onClick:()=>{me.getState().setHomeDesignSystemId(V(e.id)),me.getState().setHomeTemplateId(null),n({to:`/design`})}}})}catch(e){_(e instanceof Error?e.message:`The design system couldn't be published.`)}finally{m(!1)}},D=x?`Update`:`Publish`,O=(0,X.jsx)(h,{size:`xs`,className:`gap-1.5 rounded-full`,disabled:w!==null,"aria-label":x?`Update ${x.name}`:`Publish design system`});return(0,X.jsxs)(He,{open:a,onOpenChange:e=>{o(e),e&&(_(null),T())},children:[w===null?(0,X.jsxs)(ze,{render:O,children:[(0,X.jsx)(ge,{"aria-hidden":!0}),D]}):(0,X.jsxs)(j,{children:[(0,X.jsx)(k,{render:(0,X.jsx)(`span`,{className:`inline-flex`}),children:(0,X.jsxs)(ze,{render:O,children:[(0,X.jsx)(ge,{"aria-hidden":!0}),D]})}),(0,X.jsx)(F,{side:`bottom`,children:w})]}),(0,X.jsx)(Be,{align:`end`,className:`w-80`,children:(0,X.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),E()},children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(Ve,{children:x?`Update ${x.name}`:`Publish design system`}),x?(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Version `,x.version,x.updatedAt?`, published ${Ue(x.updatedAt)}`:``,x.tier===`customer`?`. Shared with your team.`:`.`]}):null]}),s.status===`failed`?(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:s.message}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-control bg-canvas-quiet p-3`,children:[(0,X.jsx)(`span`,{className:`flex gap-1`,children:s.status===`ready`&&s.draft.specimen.colors.length>0?s.draft.specimen.colors.map(e=>(0,X.jsx)(`span`,{className:`size-5 rounded-full ring-1 ring-line ring-inset`,style:{background:e}},e)):[0,1,2,3].map(e=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`size-5 rounded-full bg-line`},e))}),(0,X.jsx)(`span`,{className:`min-h-4 truncate text-xs text-muted-foreground`,children:s.status===`ready`?s.draft.specimen.fonts.slice(0,3).join(` · `)||`No type faces named in DESIGN.md`:`Reading DESIGN.md`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(je,{htmlFor:i,children:`Name`}),(0,X.jsx)(qe,{id:i,value:l,maxLength:180,disabled:s.status!==`ready`,onChange:e=>u(e.target.value)})]}),x?null:(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(je,{children:`Who can use it`}),(0,X.jsxs)(Ge,{className:`w-fit`,variant:`segmented`,value:[d],onValueChange:e=>{let t=e[0];(t===`user`||t===`customer`)&&f(t)},children:[(0,X.jsx)(Ke,{value:`user`,children:`Only me`}),(0,X.jsx)(Ke,{value:`customer`,children:`Your team`})]})]}),s.status===`ready`&&s.draft.tooLarge?(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:`DESIGN.md and tokens.css are too long to send with every design. Ask Borg to tighten them.`}):null,g===null?null:(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:g}),(0,X.jsx)(h,{type:`submit`,className:`self-end`,disabled:s.status!==`ready`||s.draft.tooLarge||!l.trim()||p,children:p?x?`Updating`:`Publishing`:D})]})})]})}function Vr(){let e=(0,K.c)(3),t=ki(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Br,{}),e[0]=n):n=e[0];let r;return e[1]===t.threadRef.environmentId?r=e[2]:(r=(0,X.jsx)(Ae,{environmentId:t.threadRef.environmentId,children:n}),e[1]=t.threadRef.environmentId,e[2]=r),r}var Hr=[{value:`desktop`,label:`Desktop`,icon:x},{value:`tablet`,label:`Tablet`,icon:It},{value:`phone`,label:`Phone`,icon:Et}],Ur={width:1280,height:720},Wr=[{value:`fit`,label:`Fit to window`},{value:50,label:`50%`},{value:75,label:`75%`},{value:100,label:`100%`}],Gr=[{kind:`page`,label:`Pages`},{kind:`style`,label:`Styles`},{kind:`script`,label:`Scripts`},{kind:`image`,label:`Images`},{kind:`other`,label:`Other files`}];function Kr(e){return e.split(`/`).findLast(e=>e.length>0)??e}function qr(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||void 0}function Jr(e){let t=(0,K.c)(12),n;t[0]!==e.disabled||t[1]!==e.label||t[2]!==e.onClick?(n=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":e.label,disabled:e.disabled,onClick:e.onClick,className:`rounded-full`}),t[0]=e.disabled,t[1]=e.label,t[2]=e.onClick,t[3]=n):n=t[3];let r;t[4]!==e.children||t[5]!==n?(r=(0,X.jsx)(k,{render:n,children:e.children}),t[4]=e.children,t[5]=n,t[6]=r):r=t[6];let i;t[7]===e.label?i=t[8]:(i=(0,X.jsx)(F,{side:`bottom`,children:e.label}),t[7]=e.label,t[8]=i);let a;return t[9]!==r||t[10]!==i?(a=(0,X.jsxs)(j,{children:[r,i]}),t[9]=r,t[10]=i,t[11]=a):a=t[11],a}function Yr(e){let t=(0,K.c)(11),n=e.state===`designing`||e.state===`loading`,r=e.state===`failed`,i=r?`alert`:`status`,a=n?`font-[550] text-brand-ink`:r?`font-[550] text-destructive`:`text-muted-foreground`,o;t[0]===a?o=t[1]:(o=g(`inline-flex items-center gap-2 text-[13px]`,a),t[0]=a,t[1]=o);let s=n?`bg-brand-ink`:r?`bg-destructive`:`bg-muted-foreground`,c;t[2]===s?c=t[3]:(c=g(`size-[5px] rounded-full`,s),t[2]=s,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,X.jsx)(`span`,{"aria-hidden":!0,className:c}),t[4]=c,t[5]=l);let u=e.state===`designing`?`Designing`:e.state===`loading`?`Opening the design`:r?`This file could not be opened`:e.state===`tunnel`?`The canvas is not available over the Borg tunnel yet`:`No design yet`,d;return t[6]!==i||t[7]!==o||t[8]!==l||t[9]!==u?(d=(0,X.jsx)(`div`,{className:`grid h-full place-items-center rounded-control bg-card ring-1 ring-line`,children:(0,X.jsxs)(`span`,{role:i,className:o,children:[l,u]})}),t[6]=i,t[7]=o,t[8]=l,t[9]=u,t[10]=d):d=t[10],d}function Xr(e){let t=(0,K.c)(3),{threadRef:n,workspaceRoot:r}=ki(),i=Ze(n.environmentId,r??``,e.relativePath,r!==null),a;return t[0]!==i.data||t[1]!==i.error?(a=(0,X.jsx)(`div`,{className:`h-full overflow-auto rounded-control bg-card ring-1 ring-line`,children:i.data?(0,X.jsx)(`pre`,{className:`min-w-max p-5 font-mono text-xs leading-relaxed whitespace-pre text-foreground`,children:i.data.contents}):(0,X.jsx)(Yr,{state:i.error?`failed`:`loading`})}),t[0]=i.data,t[1]=i.error,t[2]=a):a=t[2],a}function Zr(e,t,n,r){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=a.left-i.left+n.x*r+14,s=a.top-i.top+n.y*r-10;return{left:Math.max(8,Math.min(o,i.width-288-8)),top:Math.max(8,Math.min(s,i.height-176-8))}}function Qr(e){let t=(0,K.c)(32),[n,r]=(0,G.useState)(``),i;t[0]===n?i=t[1]:(i=n.trim(),t[0]=n,t[1]=i);let a=i,o;t[2]!==e.note.left||t[3]!==e.note.top?(o={left:e.note.left,top:e.note.top},t[2]=e.note.left,t[3]=e.note.top,t[4]=o):o=t[4];let s;t[5]!==e||t[6]!==a?(s=t=>{t.preventDefault(),a&&(e.note.sketch?e.onSend(a):e.onComment(a))},t[5]=e,t[6]=a,t[7]=s):s=t[7];let c;t[8]===e.note.sketch?c=t[9]:(c=e.note.sketch?(0,X.jsx)(U,{"aria-hidden":!0,className:`size-3 shrink-0`}):(0,X.jsx)(gt,{"aria-hidden":!0,className:`size-3 shrink-0`}),t[8]=e.note.sketch,t[9]=c);let l;t[10]===e.note.label?l=t[11]:(l=(0,X.jsx)(`span`,{className:`truncate`,children:e.note.label}),t[10]=e.note.label,t[11]=l);let u;t[12]!==c||t[13]!==l?(u=(0,X.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 self-start truncate rounded-full bg-accent px-2 py-0.5 text-xs text-secondary-label`,children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>r(e.target.value),t[15]=d):d=t[15];let f;t[16]!==e||t[17]!==a?(f=t=>{if(t.key===`Escape`)t.preventDefault(),e.onClose();else if(t.key===`Enter`&&(t.metaKey||t.ctrlKey)){if(t.preventDefault(),!a)return;e.note.sketch?e.onSend(a):e.onComment(a)}},t[16]=e,t[17]=a,t[18]=f):f=t[18];let p=e.note.sketch?`What should change here?`:`Leave a comment`,m;t[19]!==f||t[20]!==p||t[21]!==n?(m=(0,X.jsx)(P,{unstyled:!0,autoFocus:!0,value:n,onChange:d,onKeyDown:f,placeholder:p,"aria-label":`Comment`,className:`w-full [&_textarea]:min-h-16 [&_textarea]:resize-none [&_textarea]:px-0.5 [&_textarea]:py-0`}),t[19]=f,t[20]=p,t[21]=n,t[22]=m):m=t[22];let g;t[23]!==e||t[24]!==a?(g=(0,X.jsx)(`div`,{className:`flex justify-end gap-1.5`,children:e.note.sketch?(0,X.jsx)(h,{type:`button`,size:`xs`,className:`rounded-full`,disabled:!a,onClick:()=>e.onSend(a),children:`Send to Borg`}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(h,{type:`button`,variant:`ghost`,size:`xs`,className:`rounded-full`,disabled:!a,onClick:()=>e.onSend(a),children:`Send to Borg`}),(0,X.jsx)(h,{type:`submit`,size:`xs`,className:`rounded-full`,disabled:!a,children:`Comment`})]})}),t[23]=e,t[24]=a,t[25]=g):g=t[25];let _;return t[26]!==o||t[27]!==g||t[28]!==s||t[29]!==u||t[30]!==m?(_=(0,X.jsxs)(`form`,{className:`dropdown-glass absolute z-20 flex w-72 flex-col gap-2 rounded-control p-2.5`,style:o,onSubmit:s,children:[u,m,g]}),t[26]=o,t[27]=g,t[28]=s,t[29]=u,t[30]=m,t[31]=_):_=t[31],_}function $r(e){let t=(0,K.c)(17),n=(0,G.useRef)(null),r=(0,G.useRef)(null),[i]=(0,G.useState)(ri),a=(0,G.useRef)(e.onClose),o;t[0]===e.onClose?o=t[1]:(o=()=>{a.current=e.onClose},t[0]=e.onClose,t[1]=o),(0,G.useEffect)(o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>a.current(),t[2]=s):s=t[2];let c=s,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],t[3]=l):l=t[3],(0,G.useEffect)(ni,l);let u,d;t[4]===i?(u=t[5],d=t[6]):(u=()=>{i.connect(),i.attach(r.current);let e=i.subscribe(e=>{e.type===`ready`?(i.send({type:`mode`,mode:`present`,scale:1,ink:`#000`,wash:`transparent`}),r.current?.focus()):e.type===`key`&&e.key===`Escape`&&c()});return()=>{e(),i.disconnect()}},d=[i,c],t[4]=i,t[5]=u,t[6]=d),(0,G.useEffect)(u,d);let f,p;t[7]===e.fullscreen?(f=t[8],p=t[9]):(f=()=>{let t=n.current;e.fullscreen&&t&&t.requestFullscreen?.().catch(ti);let r=e=>{e.key===`Escape`&&c()},i=()=>{e.fullscreen&&!document.fullscreenElement&&c()};return window.addEventListener(`keydown`,r),document.addEventListener(`fullscreenchange`,i),()=>{window.removeEventListener(`keydown`,r),document.removeEventListener(`fullscreenchange`,i),document.fullscreenElement&&document.exitFullscreen().catch(ei)}},p=[c,e.fullscreen],t[7]=e.fullscreen,t[8]=f,t[9]=p),(0,G.useEffect)(f,p);let m=`Presenting ${e.title}`,g;t[10]!==e.title||t[11]!==e.url?(g=(0,X.jsx)(`iframe`,{ref:r,src:e.url,sandbox:`allow-scripts`,allow:``,referrerPolicy:`no-referrer`,title:e.title,className:`size-full border-0 bg-white`}),t[10]=e.title,t[11]=e.url,t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsxs)(h,{variant:`glass`,size:`xs`,onClick:c,className:`absolute top-3.5 right-3.5 rounded-full`,children:[(0,X.jsx)(A,{"aria-hidden":!0}),`Exit`]}),t[13]=_):_=t[13];let v;return t[14]!==m||t[15]!==g?(v=(0,X.jsxs)(`div`,{ref:n,role:`dialog`,"aria-label":m,className:`fixed inset-0 z-100 flex items-center justify-center bg-black`,children:[g,_]}),t[14]=m,t[15]=g,t[16]=v):v=t[16],v}function ei(){}function ti(){}function ni(){let e=document.activeElement;return()=>{e instanceof HTMLElement&&e.isConnected&&e.focus()}}function ri(){return new Xn}var ii=(0,G.memo)(function(e){let t=ki(),{bridge:n,current:r,view:a,setView:p,setMode:y,ready:x,version:S,versions:E,showVersion:O,edits:A}=t,N=R(),P=me(e=>e.kinds[_(t.threadRef)]??null),L=(0,G.useRef)(null),ne=(0,G.useRef)(null),[re,ie]=(0,G.useState)(null),[B,V]=(0,G.useState)(null),[H,le]=(0,G.useState)(null),[W,ue]=(0,G.useState)(!1),[fe,he]=(0,G.useState)(!1),[ge,ve]=(0,G.useState)(null),[ye,xe]=(0,G.useState)(!1),Ce=re?.scale??1,Te=r?.kind===`page`,De=a.mode,ke=(0,G.useCallback)(()=>le(null),[]);(0,G.useEffect)(()=>{if(xe(!1),!ge||x)return;let e=window.setTimeout(()=>xe(!0),5e3);return()=>window.clearTimeout(e)},[ge,x]);let Ae=(0,G.useCallback)(e=>{ne.current=e,n.attach(e)},[n]);(0,G.useEffect)(()=>{x&&n.send({type:`mode`,mode:De,scale:Ce,ink:qr(`--brand-ink`)??`#7552b0`,wash:qr(`--selection`)??`rgba(117,82,176,0.18)`})},[n,De,x,Ce]);let je=(0,G.useCallback)(()=>{V(null),n.send({type:`clear-ink`})},[n]);(0,G.useEffect)(()=>{De!==`comment`&&V(null)},[De]),(0,G.useEffect)(()=>n.subscribe(e=>{let t=L.current,n=ne.current;if(e.type===`key`&&e.key===`Escape`){B?je():y(`select`);return}!t||!n||De!==`comment`||(e.type===`pick`?V({...Zr(t,n,e.point,Ce),label:e.target.label,sketch:!1,anchor:e.anchor,target:e.target}):e.type===`ink`&&V({...Zr(t,n,e.point,Ce),label:e.target?`Sketch on ${e.target.label}`:`Sketch`,sketch:!0,anchor:e.anchor,target:e.target,ink:{points:e.points,bounds:e.bounds}}))}),[n,je,De,B,Ce,y]),(0,G.useEffect)(()=>{if(De===`select`&&!B)return;let e=e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target;t instanceof HTMLElement&&(t.isContentEditable||t.closest(`input, textarea, select, [role=dialog]`))||(B?je():y(`select`))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[je,De,B,y]);let Me=r?.url&&Te?Qn(r.url):null,Fe=(x?.slideCount??0)>0,Le=async(e,n)=>{if(!W){ue(!0);try{let e=await t.freshUrl();if(!e)throw Error(`The design could not be read.`);await n(e)}catch(t){M.add({type:`error`,title:`Couldn't ${e}`,description:t instanceof Error?t.message:void 0})}finally{ue(!1)}}},ze=r?.path??`design.html`,Be=()=>Le(`download the HTML`,async e=>{let t=await er(e);Ar(new Blob([t],{type:`text/html`}),Kr(ze))}),Ve=()=>{if(W)return;let e=typeof navigator>`u`?void 0:navigator.clipboard;if(!e||typeof ClipboardItem>`u`){M.add({type:`error`,title:`Couldn't copy the HTML`,description:`The clipboard is only available to the app on a secure address.`});return}let n=t.freshUrl().then(e=>{if(!e)throw Error(`The design could not be read.`);return er(e).then(e=>new Blob([e],{type:`text/plain`}))});ue(!0),e.write([new ClipboardItem({"text/plain":n})]).then(()=>M.add({type:`success`,title:`Copied ${Kr(ze)}`})).catch(e=>M.add({type:`error`,title:`Couldn't copy the HTML`,description:e instanceof Error?e.message:void 0})).finally(()=>ue(!1))},He=()=>Le(`export a PDF`,e=>Nr(e,Fe)),We=()=>Le(`export to PowerPoint`,async e=>{let t=await zr(e,x?.title||Kr(ze));M.add({type:`success`,title:`Exported ${t} slide${t===1?``:`s`} to PowerPoint`})}),qe=()=>void Le(`open the design in a browser`,async e=>{let t=I();t&&await t.shell.openExternal(Qn(e))}),Je=e=>void Le(`present the design`,async t=>{le({fullscreen:e,url:t})}),Ye=Fe&&a.viewport===`desktop`,Xe=Ye?Ur:se[a.viewport],Ze=a.zoom===`fit`?a.viewport===`desktop`&&!Ye?`cover-width`:`contain`:{zoom:a.zoom/100},Qe=a.zoom===`fit`?`Fit · ${Math.round(Ce*100)}%`:`${a.zoom}%`,$e=A.length>0||t.saving,et=Gr.map(e=>({...e,files:t.files.filter(t=>t.kind===e.kind)})).filter(e=>e.files.length>0),tt=Te&&!S&&x!==null&&!t.saving;return(0,X.jsxs)(`section`,{"aria-label":`Canvas`,className:g(`relative flex min-h-0 flex-col bg-canvas-quiet`,e.className),"data-design-canvas":!0,children:[(0,X.jsxs)(`div`,{className:`flex h-11 min-h-11 shrink-0 items-center gap-1 border-b border-line bg-background px-2.5`,children:[(0,X.jsx)(Jr,{label:`Reload`,onClick:t.reload,disabled:!r||$e,children:(0,X.jsx)(ee,{})}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:et.length===0||$e,render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`min-w-0 gap-1.5 rounded-full font-[550]`,"aria-label":`Files in this design`}),children:[(0,X.jsx)(Se,{"aria-hidden":!0,className:`text-muted-foreground`}),(0,X.jsx)(`span`,{className:`max-w-44 truncate`,children:r?Kr(r.path):`Design`}),(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3 text-muted-foreground`})]}),(0,X.jsx)(o,{align:`start`,className:`min-w-56`,children:et.map((e,n)=>(0,X.jsxs)(c,{children:[n>0?(0,X.jsx)(v,{}):null,(0,X.jsx)(l,{children:e.label}),(0,X.jsx)(s,{value:r?.path??``,onValueChange:e=>t.openFile(e),children:e.files.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:e.path,children:(0,X.jsx)(`span`,{className:`truncate`,children:Kr(e.path)})},e.path))})]},e.kind))})]}),E.length>0?(0,X.jsxs)(m,{children:[(0,X.jsxs)(j,{children:[(0,X.jsx)(k,{render:(0,X.jsx)(f,{disabled:$e,render:(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Versions`,className:g(`rounded-full`,S&&`bg-selection text-brand-ink`)})}),children:(0,X.jsx)(Pe,{})}),(0,X.jsx)(F,{side:`bottom`,children:`Versions`})]}),(0,X.jsx)(o,{align:`start`,className:`min-w-60`,children:(0,X.jsxs)(c,{children:[(0,X.jsxs)(l,{children:[`Versions of `,r?Kr(r.path):`this page`]}),(0,X.jsxs)(s,{value:S?String(S.turnCount):`current`,onValueChange:e=>O(e===`current`?null:E.find(t=>String(t.turnCount)===e)??null),children:[(0,X.jsx)(u,{closeOnClick:!0,value:`current`,children:`Current`}),E.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:String(e.turnCount),children:(0,X.jsxs)(`span`,{className:`flex w-full items-center justify-between gap-4`,children:[(0,X.jsxs)(`span`,{children:[`After turn `,e.turnCount]}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:Ue(e.completedAt)})]})},e.turnCount))]})]})})]}):null,(0,X.jsx)(`span`,{className:`flex-1`}),Te?(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`gap-1 rounded-full text-muted-foreground tabular-nums max-sm:hidden`,"aria-label":`Zoom and width`}),children:[Qe,(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3`})]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-52`,children:[(0,X.jsxs)(c,{children:[(0,X.jsx)(l,{children:`Zoom`}),(0,X.jsx)(s,{value:String(a.zoom),onValueChange:e=>p({zoom:e===`fit`?`fit`:Number(e)}),children:Wr.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:String(e.value),children:e.label},e.label))})]}),(0,X.jsx)(v,{}),(0,X.jsxs)(c,{children:[(0,X.jsx)(l,{children:`Width`}),(0,X.jsx)(s,{value:a.viewport,onValueChange:e=>p({viewport:e}),children:Hr.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:e.value,children:(0,X.jsxs)(`span`,{className:`flex w-full items-center gap-2`,children:[(0,X.jsx)(e.icon,{"aria-hidden":!0,className:`size-4 text-muted-foreground`}),(0,X.jsx)(`span`,{className:`flex-1`,children:e.label}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:se[e.value].width})]})},e.value))})]})]})]}):null,(0,X.jsxs)(Ge,{"aria-label":`Canvas mode`,variant:`segmented`,value:[De],onValueChange:e=>{let t=e[0];y(t??`select`)},children:[(0,X.jsxs)(j,{children:[(0,X.jsx)(k,{render:(0,X.jsx)(Ke,{value:`select`,"aria-label":`Select`,className:`px-2`,disabled:!tt}),children:(0,X.jsx)(Ie,{"aria-hidden":!0,className:`size-3.5`})}),(0,X.jsx)(F,{side:`bottom`,children:`Select`})]}),(0,X.jsxs)(Ke,{value:`comment`,"aria-label":`Comment`,className:`gap-1.5 px-2`,disabled:!tt,children:[(0,X.jsx)(Ne,{"aria-hidden":!0,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`max-lg:hidden`,children:`Comment`})]}),(0,X.jsxs)(Ke,{value:`edit`,"aria-label":`Edit`,className:`gap-1.5 px-2`,disabled:!tt,children:[(0,X.jsx)(U,{"aria-hidden":!0,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`max-lg:hidden`,children:`Edit`})]})]}),(0,X.jsx)(`span`,{"aria-hidden":!0,className:`mx-1 h-4.5 w-px bg-line max-md:hidden`}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:!Me,render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`gap-1.5 rounded-full max-md:hidden`}),children:[(0,X.jsx)(Re,{"aria-hidden":!0}),`Present`,(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3 text-muted-foreground`})]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-52`,children:[(0,X.jsxs)(i,{onClick:()=>Je(!1),children:[(0,X.jsx)(Re,{"aria-hidden":!0}),`Present in this window`]}),(0,X.jsxs)(i,{onClick:()=>Je(!0),children:[(0,X.jsx)(T,{"aria-hidden":!0}),`Present full screen`]})]})]}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:!Me||W,render:(0,X.jsx)(h,{variant:t.authoring?`ghost`:`default`,size:`xs`,className:`gap-1.5 rounded-full`}),children:[(0,X.jsx)(Ee,{"aria-hidden":!0}),`Export`]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-56`,children:[(0,X.jsxs)(i,{onClick:()=>void Be(),children:[(0,X.jsx)(C,{"aria-hidden":!0}),`Download HTML`]}),(0,X.jsxs)(i,{onClick:Ve,children:[(0,X.jsx)(D,{"aria-hidden":!0}),`Copy HTML`]}),(0,X.jsxs)(i,{onClick:()=>void He(),children:[(0,X.jsx)(b,{"aria-hidden":!0}),`PDF`]}),Fe?(0,X.jsxs)(i,{onClick:()=>void We(),children:[(0,X.jsx)(w,{"aria-hidden":!0}),`PowerPoint`]}):null,(0,X.jsx)(v,{}),I()?(0,X.jsxs)(i,{onClick:qe,children:[(0,X.jsx)(z,{"aria-hidden":!0}),`Open in browser`]}):null,(0,X.jsxs)(i,{onClick:t.sendToWork,children:[(0,X.jsx)(de,{"aria-hidden":!0}),`Send to `,ae(`code`,N)]})]})]}),t.authoring?(0,X.jsx)(Vr,{}):null]}),S?(0,X.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center gap-2 border-b border-line bg-selection px-3 text-[13px] text-brand-ink`,children:[(0,X.jsx)(Pe,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-[550]`,children:[`After turn `,S.turnCount,` · `,Ue(S.completedAt)]}),(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>O(null),children:`Back to current`}),(0,X.jsx)(h,{size:`xs`,className:`rounded-full`,disabled:t.restoring||t.designing,onClick:()=>he(!0),children:t.restoring?`Restoring`:`Restore`})]}):null,ye&&Te&&!S?(0,X.jsx)(`div`,{role:`status`,className:`flex h-9 shrink-0 items-center border-b border-line bg-background px-3 text-[13px] text-muted-foreground`,children:`Comment and Edit are not available for this page.`}):null,(0,X.jsxs)(`div`,{ref:L,className:`relative min-h-0 flex-1 p-4 max-sm:p-2`,children:[r?r.failure?(0,X.jsx)(Yr,{state:r.failure===`tunnel`?`tunnel`:`failed`}):r.kind===`page`?r.url?(0,X.jsx)(_e,{src:r.url,viewport:Xe,fit:Ze,interactive:!0,title:`Design: ${Kr(r.path)}`,frameRef:Ae,onGeometry:ie,onLoad:()=>ve(r.url),frameClassName:a.viewport===`desktop`&&a.zoom===`fit`&&!Ye?`rounded-control ring-1 ring-line`:`rounded-tile shadow-card ring-1 ring-line`},r.url):(0,X.jsx)(Yr,{state:`loading`}):r.kind===`image`?(0,X.jsx)(`div`,{className:`grid h-full place-items-center overflow-auto rounded-control bg-card ring-1 ring-line`,children:r.url?(0,X.jsx)(`img`,{src:r.url,alt:Kr(r.path),className:`max-h-full max-w-full object-contain`}):null}):(0,X.jsx)(Xr,{relativePath:r.path}):t.designing?(0,X.jsx)(An,{kind:P}):(0,X.jsx)(Yr,{state:`empty`}),B?(0,X.jsx)(Qr,{note:B,onClose:je,onComment:e=>{t.addComment({text:e,label:B.label,anchor:B.anchor,target:B.target}),je()},onSend:e=>{t.sendToAgent({comment:e,target:B.target,...B.ink?{ink:B.ink}:{}}),je(),y(`select`)}},`${B.left}:${B.top}:${B.label}`):null]}),H&&Te?(0,X.jsx)($r,{url:H.url,title:t.title||Kr(ze),fullscreen:H.fullscreen,onClose:ke}):null,(0,X.jsx)(ce,{open:fe,onOpenChange:he,children:(0,X.jsxs)(be,{children:[(0,X.jsxs)(Oe,{children:[(0,X.jsxs)(we,{children:[`Restore `,Kr(ze),` to turn `,S?.turnCount,`?`]}),(0,X.jsx)(te,{children:`The page as it is now, including edits saved from the canvas, is replaced. Borg hears about it with your next message.`})]}),(0,X.jsxs)(pe,{children:[(0,X.jsx)(oe,{render:(0,X.jsx)(h,{variant:`outline`}),children:`Cancel`}),(0,X.jsx)(h,{onClick:()=>{he(!1),t.restoreVersion()},children:`Restore`})]})]})})]})}),ai=(0,G.memo)(function(e){let t=(0,K.c)(50),n=ki(),{comments:r,focusedCommentId:i,setFocusedCommentId:a}=n,[o,s]=(0,G.useState)(``),c=(0,G.useRef)(null),l,u;t[0]===i?(l=t[1],u=t[2]):(l=()=>{i&&c.current?.querySelector(`[data-comment-id="${CSS.escape(i)}"]`)?.scrollIntoView({block:`nearest`})},u=[i],t[0]=i,t[1]=l,t[2]=u),(0,G.useEffect)(l,u);let d;t[3]!==o||t[4]!==n?(d=()=>{let e=o.trim();e&&(n.addComment({text:e,label:``,anchor:null,target:null}),s(``))},t[3]=o,t[4]=n,t[5]=d):d=t[5];let f=d,p;t[6]===e.className?p=t[7]:(p=g(`flex min-h-0 flex-col bg-background`,e.className),t[6]=e.className,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(`h2`,{className:`flex-1 text-[13px] font-[550] text-foreground`,children:`Comments`}),t[8]=m):m=t[8];let _;t[9]!==r||t[10]!==a||t[11]!==n?(_=r.length>1?(0,X.jsx)(h,{variant:`outline`,size:`xs`,className:`rounded-full`,onClick:()=>{n.sendCommentsToAgent(r);for(let e of r)n.removeComment(e.id);a(null),n.setMode(`select`)},children:`Send all to Borg`}):null,t[9]=r,t[10]=a,t[11]=n,t[12]=_):_=t[12];let v;t[13]===n?v=t[14]:(v=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close comments`,className:`rounded-full`,onClick:()=>n.setMode(`select`)}),t[13]=n,t[14]=v);let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(A,{}),t[15]=y):y=t[15];let b;t[16]===v?b=t[17]:(b=(0,X.jsx)(k,{render:v,children:y}),t[16]=v,t[17]=b);let x;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,X.jsx)(F,{side:`bottom`,children:`Close comments`}),t[18]=x):x=t[18];let S;t[19]===b?S=t[20]:(S=(0,X.jsxs)(j,{children:[b,x]}),t[19]=b,t[20]=S);let C;t[21]!==S||t[22]!==_?(C=(0,X.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-line ps-4 pe-2`,children:[m,_,S]}),t[21]=S,t[22]=_,t[23]=C):C=t[23];let w;t[24]!==r||t[25]!==i||t[26]!==a||t[27]!==n?(w=(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:r.length===0?(0,X.jsx)(`p`,{className:`px-6 py-8 text-center text-[13px] leading-normal text-muted-foreground`,children:`No comments yet. Click the page to comment on an element, or drag to draw.`}):(0,X.jsx)(`ol`,{ref:c,className:`flex flex-col gap-0.5 p-2`,children:r.map((e,t)=>(0,X.jsxs)(`li`,{"data-comment-id":e.id,"aria-current":e.id===i?`true`:void 0,className:`grid grid-cols-[24px_minmax(0,1fr)] gap-x-2.5 gap-y-1 rounded-control p-2.5 aria-[current=true]:bg-accent`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`grid size-6 place-items-center rounded-[999px_999px_999px_4px] bg-brand-ink text-[11px] font-semibold text-white`,children:e.anchor?t+1:`·`}),(0,X.jsx)(`p`,{className:`text-[12px] text-muted-foreground tabular-nums`,children:Ue(e.createdAt)}),(0,X.jsx)(`p`,{className:`col-start-2 text-[13px] leading-snug text-body`,children:e.text}),e.label?(0,X.jsxs)(`span`,{className:`col-start-2 inline-flex max-w-full items-center gap-1 justify-self-start truncate rounded-full bg-accent px-2 py-0.5 text-xs text-secondary-label`,children:[(0,X.jsx)(gt,{"aria-hidden":!0,className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label})]}):null,(0,X.jsxs)(`div`,{className:`col-start-2 -ms-2 flex gap-1`,children:[(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>{n.sendToAgent({comment:e.text,target:e.target}),n.removeComment(e.id),n.setMode(`select`)},children:`Send to Borg`}),(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>{i===e.id&&a(null),n.resolveComment(e.id)},children:`Resolve`})]})]},e.id))})}),t[24]=r,t[25]=i,t[26]=a,t[27]=n,t[28]=w):w=t[28];let T;t[29]===f?T=t[30]:(T=e=>{e.preventDefault(),f()},t[29]=f,t[30]=T);let E;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>s(e.target.value),t[31]=E):E=t[31];let D;t[32]===f?D=t[33]:(D=e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())},t[32]=f,t[33]=D);let O;t[34]!==o||t[35]!==D?(O=(0,X.jsx)(P,{unstyled:!0,value:o,onChange:E,onKeyDown:D,placeholder:`Add a comment`,"aria-label":`Add a comment`,className:`w-full [&_textarea]:min-h-14 [&_textarea]:resize-none [&_textarea]:px-1 [&_textarea]:py-0.5`}),t[34]=o,t[35]=D,t[36]=O):O=t[36];let M;t[37]===o?M=t[38]:(M=o.trim(),t[37]=o,t[38]=M);let N=!M,I;t[39]===N?I=t[40]:(I=(0,X.jsx)(`div`,{className:`flex items-center justify-end gap-2 ps-1`,children:(0,X.jsx)(h,{type:`submit`,size:`xs`,className:`rounded-full`,disabled:N,children:`Comment`})}),t[39]=N,t[40]=I);let L;t[41]!==T||t[42]!==O||t[43]!==I?(L=(0,X.jsxs)(`form`,{className:`m-2.5 shrink-0 rounded-tile bg-card p-2.5 shadow-card ring-1 ring-line`,onSubmit:T,children:[O,I]}),t[41]=T,t[42]=O,t[43]=I,t[44]=L):L=t[44];let R;return t[45]!==C||t[46]!==w||t[47]!==L||t[48]!==p?(R=(0,X.jsxs)(`section`,{"aria-label":`Comments`,className:p,children:[C,w,L]}),t[45]=C,t[46]=w,t[47]=L,t[48]=p,t[49]=R):R=t[49],R}),oi=[{value:`simple`,label:`Simple`},{value:`layers`,label:`Layers`},{value:`code`,label:`Code`},{value:`tweaks`,label:`Tweaks`}],si=new Map;function ci(e){let t=si.get(e);if(t!==void 0)return t;let n=document.createElement(`span`);n.style.color=e;let r=`#000000`;if(n.style.color){document.body.append(n);let e=nr(getComputedStyle(n).color);n.remove(),r=e===null?`#000000`:e===`transparent`?`#ffffff`:e}return si.size>500&&si.clear(),si.set(e,r),r}var li=e=>/^(#|rgb|hsl|hwb|lab|lch|oklab|oklch|color\()/i.test(e.trim())||/^[a-z]+$/i.test(e.trim())&&CSS.supports(`color`,e.trim());function ui(e){let t=(0,K.c)(6),n;t[0]!==e.htmlFor||t[1]!==e.label?(n=(0,X.jsx)(`label`,{htmlFor:e.htmlFor,className:`text-xs font-[550] text-secondary-label`,children:e.label}),t[0]=e.htmlFor,t[1]=e.label,t[2]=n):n=t[2];let r;return t[3]!==e.children||t[4]!==n?(r=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[n,e.children]}),t[3]=e.children,t[4]=n,t[5]=r):r=t[5],r}function di(e){let t=(0,K.c)(18),n=(0,G.useId)(),r=e.label,i=e.min,a=e.max,o=Math.min(e.max,Math.max(e.min,e.value)),s;t[0]===e?s=t[1]:(s=t=>e.onChange(Number(t.target.value)),t[0]=e,t[1]=s);let c;t[2]!==n||t[3]!==e.max||t[4]!==e.min||t[5]!==o||t[6]!==s?(c=(0,X.jsx)(`input`,{id:n,type:`range`,min:i,max:a,value:o,onChange:s,className:`min-w-0 flex-1 accent-brand-ink`}),t[2]=n,t[3]=e.max,t[4]=e.min,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]!==n||t[9]!==e.value?(l=(0,X.jsxs)(`output`,{htmlFor:n,className:`w-11 text-right text-xs text-foreground tabular-nums`,children:[e.value,`px`]}),t[8]=n,t[9]=e.value,t[10]=l):l=t[10];let u;t[11]!==c||t[12]!==l?(u=(0,X.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[c,l]}),t[11]=c,t[12]=l,t[13]=u):u=t[13];let d;return t[14]!==n||t[15]!==e.label||t[16]!==u?(d=(0,X.jsx)(ui,{label:r,htmlFor:n,children:u}),t[14]=n,t[15]=e.label,t[16]=u,t[17]=d):d=t[17],d}function fi(e){let t=(0,K.c)(29),n=(0,G.useId)(),r;t[0]===e.value?r=t[1]:(r=nr(e.value),t[0]=e.value,t[1]=r);let i=r,a;t[2]===e.palette?a=t[3]:(a=new Set(e.palette.map(nr)),t[2]=e.palette,t[3]=a);let o;t[4]===a?o=t[5]:(o=[...a].filter(pi),t[4]=a,t[5]=o);let s=o,c=e.label,l=e.label,u;t[6]!==i||t[7]!==e?(u=e.allowNone?(0,X.jsx)(`button`,{type:`button`,"aria-label":`None`,"aria-pressed":i===`transparent`,onClick:()=>e.onChange(`transparent`),className:`size-6.5 cursor-pointer rounded-full bg-[repeating-conic-gradient(var(--line)_0_25%,transparent_0_50%)] bg-[length:10px_10px] ring-1 ring-black/12 ring-inset aria-pressed:ring-2 aria-pressed:ring-brand-ink aria-pressed:ring-offset-2 aria-pressed:ring-offset-background`}):null,t[6]=i,t[7]=e,t[8]=u):u=t[8];let d;t[9]!==i||t[10]!==e||t[11]!==s?(d=s.map(t=>(0,X.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i===t,onClick:()=>e.onChange(t),style:{background:t},className:`size-6.5 cursor-pointer rounded-full ring-1 ring-black/12 ring-inset aria-pressed:ring-2 aria-pressed:ring-brand-ink aria-pressed:ring-offset-2 aria-pressed:ring-offset-background`},t)),t[9]=i,t[10]=e,t[11]=s,t[12]=d):d=t[12];let f=`${e.label}: pick any color`,p=i===null?`#000000`:i===`transparent`?`#ffffff`:i,m;t[13]===e?m=t[14]:(m=t=>e.onChange(t.target.value),t[13]=e,t[14]=m);let h;t[15]!==n||t[16]!==f||t[17]!==p||t[18]!==m?(h=(0,X.jsx)(`input`,{id:n,type:`color`,"aria-label":f,value:p,onChange:m,className:`size-6.5 cursor-pointer rounded-full border-0 bg-transparent p-0 [&::-webkit-color-swatch]:rounded-full [&::-webkit-color-swatch]:border-0 [&::-webkit-color-swatch-wrapper]:p-0`}),t[15]=n,t[16]=f,t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;t[20]!==e.label||t[21]!==h||t[22]!==u||t[23]!==d?(g=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":l,children:[u,d,h]}),t[20]=e.label,t[21]=h,t[22]=u,t[23]=d,t[24]=g):g=t[24];let _;return t[25]!==n||t[26]!==e.label||t[27]!==g?(_=(0,X.jsx)(ui,{label:c,htmlFor:n,children:g}),t[25]=n,t[26]=e.label,t[27]=g,t[28]=_):_=t[28],_}function pi(e){return e!==null&&e!==`transparent`}function mi(e){let t=(0,K.c)(66),{bridge:n,addEdit:r}=ki(),{selection:i}=e,[a,o]=(0,G.useState)(i.editableText??``),[s]=(0,G.useState)(i.editableText??``),[c,l]=(0,G.useState)(!1),u=(0,G.useId)(),d=i.editableText,f,p;t[0]!==d||t[1]!==c?(f=()=>{!c&&d!==null&&o(d)},p=[d,c],t[0]=d,t[1]=c,t[2]=f,t[3]=p):(f=t[2],p=t[3]),(0,G.useEffect)(f,p);let m;t[4]===i.styles?m=t[5]:(m=e=>Math.round(Number.parseFloat(i.styles[e]??`0`)||0),t[4]=i.styles,t[5]=m);let h=m,g;t[6]!==r||t[7]!==n||t[8]!==i.label||t[9]!==i.node||t[10]!==i.selector||t[11]!==i.styles?(g=(e,t)=>{n.send({type:`style`,node:i.node,property:e,value:t}),r({edit:{kind:`style`,node:i.node,property:e,value:t},target:i.label,selector:i.selector,property:e,previousValue:i.styles[e]??``,value:t})},t[6]=r,t[7]=n,t[8]=i.label,t[9]=i.node,t[10]=i.selector,t[11]=i.styles,t[12]=g):g=t[12];let _=g,v=i.styles[`text-align`]===`start`?`left`:i.styles[`text-align`],y;t[13]!==r||t[14]!==n||t[15]!==s||t[16]!==i.editableText||t[17]!==i.label||t[18]!==i.node||t[19]!==i.selector||t[20]!==a||t[21]!==u?(y=i.editableText===null?null:(0,X.jsx)(ui,{label:`Text`,htmlFor:u,children:(0,X.jsx)(P,{id:u,size:`sm`,className:`[&_textarea]:resize-none`,value:a,onFocus:()=>l(!0),onBlur:()=>l(!1),onChange:e=>{o(e.target.value),n.send({type:`text`,node:i.node,text:e.target.value}),r({edit:{kind:`text`,node:i.node,text:e.target.value},target:i.label,selector:i.selector,property:`text`,previousValue:s,value:e.target.value})}})}),t[13]=r,t[14]=n,t[15]=s,t[16]=i.editableText,t[17]=i.label,t[18]=i.node,t[19]=i.selector,t[20]=a,t[21]=u,t[22]=y):y=t[22];let b;t[23]===h?b=t[24]:(b=h(`font-size`),t[23]=h,t[24]=b);let x;t[25]===_?x=t[26]:(x=e=>_(`font-size`,`${e}px`),t[25]=_,t[26]=x);let S;t[27]!==b||t[28]!==x?(S=(0,X.jsx)(di,{label:`Size`,min:8,max:160,value:b,onChange:x}),t[27]=b,t[28]=x,t[29]=S):S=t[29];let C=i.styles.color??``,w;t[30]===_?w=t[31]:(w=e=>_(`color`,e),t[30]=_,t[31]=w);let T;t[32]!==e.palette||t[33]!==C||t[34]!==w?(T=(0,X.jsx)(fi,{label:`Color`,value:C,palette:e.palette,onChange:w}),t[32]=e.palette,t[33]=C,t[34]=w,t[35]=T):T=t[35];let E=i.styles[`background-color`]??``,D;t[36]===_?D=t[37]:(D=e=>_(`background-color`,e),t[36]=_,t[37]=D);let O;t[38]!==e.palette||t[39]!==E||t[40]!==D?(O=(0,X.jsx)(fi,{label:`Fill`,value:E,palette:e.palette,allowNone:!0,onChange:D}),t[38]=e.palette,t[39]=E,t[40]=D,t[41]=O):O=t[41];let k;t[42]===v?k=t[43]:(k=v?[v]:[],t[42]=v,t[43]=k);let A;t[44]===_?A=t[45]:(A=e=>{let t=e[0];t&&_(`text-align`,t)},t[44]=_,t[45]=A);let j;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,X.jsx)(Ke,{value:`left`,"aria-label":`Left`,className:`px-2`,children:(0,X.jsx)(nn,{"aria-hidden":!0,className:`size-3.5`})}),t[46]=j):j=t[46];let M;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,X.jsx)(Ke,{value:`center`,"aria-label":`Center`,className:`px-2`,children:(0,X.jsx)(Kt,{"aria-hidden":!0,className:`size-3.5`})}),t[47]=M):M=t[47];let N;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,X.jsx)(Ke,{value:`right`,"aria-label":`Right`,className:`px-2`,children:(0,X.jsx)(pn,{"aria-hidden":!0,className:`size-3.5`})}),t[48]=N):N=t[48];let F;t[49]!==k||t[50]!==A?(F=(0,X.jsx)(ui,{label:`Align`,children:(0,X.jsxs)(Ge,{"aria-label":`Align`,variant:`segmented`,value:k,onValueChange:A,className:`self-start`,children:[j,M,N]})}),t[49]=k,t[50]=A,t[51]=F):F=t[51];let I;t[52]===h?I=t[53]:(I=h(`padding-top`),t[52]=h,t[53]=I);let L;t[54]===_?L=t[55]:(L=e=>_(`padding`,`${e}px`),t[54]=_,t[55]=L);let R;t[56]!==I||t[57]!==L?(R=(0,X.jsx)(di,{label:`Padding`,min:0,max:160,value:I,onChange:L}),t[56]=I,t[57]=L,t[58]=R):R=t[58];let z;return t[59]!==T||t[60]!==O||t[61]!==F||t[62]!==R||t[63]!==y||t[64]!==S?(z=(0,X.jsxs)(`div`,{className:`flex flex-col gap-5 p-4`,children:[y,S,T,O,F,R]}),t[59]=T,t[60]=O,t[61]=F,t[62]=R,t[63]=y,t[64]=S,t[65]=z):z=t[65],z}function hi(e){let t=(0,K.c)(6),n=e.failed?`alert`:void 0,r=e.failed?`text-destructive`:`text-muted-foreground`,i;t[0]===r?i=t[1]:(i=g(`px-6 py-8 text-center text-[13px] leading-normal`,r),t[0]=r,t[1]=i);let a;return t[2]!==e.children||t[3]!==n||t[4]!==i?(a=(0,X.jsx)(`p`,{role:n,className:i,children:e.children}),t[2]=e.children,t[3]=n,t[4]=i,t[5]=a):a=t[5],a}function gi(){let e=(0,K.c)(18),{bridge:t,ready:n,selection:r,edits:i}=ki(),[a,o]=(0,G.useState)(void 0),s;e[0]!==t||e[1]!==n?(s=()=>{if(!n)return;let e=!1;return t.request(`layers`).then(t=>{e||o(t?t.layers??[]:null)}),()=>{e=!0}},e[0]=t,e[1]=n,e[2]=s):s=e[2];let c;if(e[3]!==t||e[4]!==i.length||e[5]!==n?(c=[t,n,i.length],e[3]=t,e[4]=i.length,e[5]=n,e[6]=c):c=e[6],(0,G.useEffect)(s,c),a===void 0){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`Reading the page`}),e[7]=t):t=e[7],t}if(a===null){let t;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{failed:!0,children:`The page did not list its layers.`}),e[8]=t):t=e[8],t}let l;if(e[9]!==t||e[10]!==a||e[11]!==r?.node){let n;e[13]!==t||e[14]!==r?.node?(n=e=>(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,"aria-current":r?.node===e.node?`true`:void 0,onClick:()=>t.send({type:`select`,node:e.node}),style:{paddingInlineStart:8+e.depth*14},className:`flex h-7 w-full cursor-pointer items-center gap-2 rounded-small pe-2 text-left text-[13px] text-foreground hover:bg-accent aria-[current=true]:bg-selection aria-[current=true]:text-brand-ink`,children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),(0,X.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:e.tagName})]})},e.node),e[13]=t,e[14]=r?.node,e[15]=n):n=e[15],l=a.map(n),e[9]=t,e[10]=a,e[11]=r?.node,e[12]=l}else l=e[12];let u;return e[16]===l?u=e[17]:(u=(0,X.jsx)(`ul`,{className:`flex flex-col p-1.5`,"aria-label":`Layers`,children:l}),e[16]=l,e[17]=u),u}function _i(e){let t=(0,K.c)(32),{bridge:n,addEdit:r}=ki(),{source:i,selection:a}=e,o;t[0]!==a.node||t[1]!==i.status||t[2]!==i.text?(o=i.status===`ready`?re(i.text,a.node):null,t[0]=a.node,t[1]=i.status,t[2]=i.text,t[3]=o):o=t[3];let s=o,[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(!1),m=(0,G.useId)();if(i.status===`reading`){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(hi,{children:`Reading the source`}),t[4]=e):e=t[4],e}if(i.status===`failed`||s===null){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(hi,{failed:!0,children:`The source of this element could not be read.`}),t[5]=e):e=t[5],e}let g=c??s,_=u??g,v;t[6]!==r||t[7]!==n||t[8]!==s||t[9]!==a.label||t[10]!==a.node||t[11]!==a.selector||t[12]!==_?(v=()=>{let e=document.createElement(`template`);e.innerHTML=_;let t=Array.from(e.content.childNodes).filter(vi);if(t.length!==1||t[0]?.nodeType!==Node.ELEMENT_NODE){p(!0);return}n.send({type:`html`,node:a.node,html:_}),r({edit:{kind:`html`,node:a.node,html:_},target:a.label,selector:a.selector,property:`markup`,previousValue:s,value:_}),l(_),d(null)},t[6]=r,t[7]=n,t[8]=s,t[9]=a.label,t[10]=a.node,t[11]=a.selector,t[12]=_,t[13]=v):v=t[13];let y=v,b=`<${a.tagName}>`,x=f||void 0,S;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{d(e.target.value),p(!1)},t[14]=S):S=t[14];let C;t[15]!==m||t[16]!==x||t[17]!==_?(C=(0,X.jsx)(P,{id:m,spellCheck:!1,value:_,"aria-invalid":x,onChange:S,className:`[&_textarea]:min-h-64 [&_textarea]:font-mono [&_textarea]:text-xs [&_textarea]:leading-normal [&_textarea]:whitespace-pre`}),t[15]=m,t[16]=x,t[17]=_,t[18]=C):C=t[18];let w;t[19]!==m||t[20]!==b||t[21]!==C?(w=(0,X.jsx)(ui,{label:b,htmlFor:m,children:C}),t[19]=m,t[20]=b,t[21]=C,t[22]=w):w=t[22];let T;t[23]===f?T=t[24]:(T=f?(0,X.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive`,children:`Write exactly one element, with its content.`}):null,t[23]=f,t[24]=T);let E=u===null||u===g,D;t[25]!==y||t[26]!==E?(D=(0,X.jsx)(h,{size:`xs`,className:`self-end rounded-full`,disabled:E,onClick:y,children:`Apply`}),t[25]=y,t[26]=E,t[27]=D):D=t[27];let O;return t[28]!==w||t[29]!==T||t[30]!==D?(O=(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[w,T,D]}),t[28]=w,t[29]=T,t[30]=D,t[31]=O):O=t[31],O}function vi(e){return e.nodeType!==Node.TEXT_NODE||(e.textContent??``).trim()!==``}function yi(e){let t=(0,K.c)(27),[n,r]=(0,G.useState)(e.token.value),i;t[0]===e.token.value?i=t[1]:(i=li(e.token.value),t[0]=e.token.value,t[1]=i);let a=i,o=(0,G.useId)(),s;t[2]===e?s=t[3]:(s=t=>{t.trim()&&t!==e.token.value&&e.onChange(t.trim())},t[2]=e,t[3]=s);let c=s,l;t[4]!==o||t[5]!==e.token.name?(l=(0,X.jsx)(`label`,{htmlFor:o,className:`truncate font-mono text-[11px] text-secondary-label`,children:e.token.name}),t[4]=o,t[5]=e.token.name,t[6]=l):l=t[6];let u;t[7]!==a||t[8]!==e||t[9]!==n?(u=a?(0,X.jsx)(`input`,{type:`color`,"aria-label":`${e.token.name}: pick a color`,value:ci(n),onChange:t=>{r(t.target.value),e.onChange(t.target.value)},className:`size-7 shrink-0 cursor-pointer rounded-full border-0 bg-transparent p-0 [&::-webkit-color-swatch]:rounded-full [&::-webkit-color-swatch]:border-0 [&::-webkit-color-swatch-wrapper]:p-0`}):null,t[7]=a,t[8]=e,t[9]=n,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>r(e.target.value),t[11]=d):d=t[11];let f,p;t[12]!==c||t[13]!==n?(f=()=>c(n),p=e=>{e.key===`Enter`&&c(n)},t[12]=c,t[13]=n,t[14]=f,t[15]=p):(f=t[14],p=t[15]);let m;t[16]!==o||t[17]!==f||t[18]!==p||t[19]!==n?(m=(0,X.jsx)(qe,{id:o,size:`sm`,value:n,onChange:d,onBlur:f,onKeyDown:p,className:`font-mono`}),t[16]=o,t[17]=f,t[18]=p,t[19]=n,t[20]=m):m=t[20];let h;t[21]!==u||t[22]!==m?(h=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u,m]}),t[21]=u,t[22]=m,t[23]=h):h=t[23];let g;return t[24]!==l||t[25]!==h?(g=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[l,h]}),t[24]=l,t[25]=h,t[26]=g):g=t[26],g}function bi(){let e=(0,K.c)(18),{bridge:t,ready:n,addEdit:r}=ki(),[i,a]=(0,G.useState)(void 0),[o,s]=(0,G.useState)(0),c,l;if(e[0]!==t||e[1]!==n?(c=()=>{if(!n)return;let e=!1;return a(void 0),t.request(`tokens`).then(t=>{e||(a(t?t.tokens??[]:null),s(xi))}),()=>{e=!0}},l=[t,n],e[0]=t,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,G.useEffect)(c,l),i===void 0){let t;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`Reading the page`}),e[4]=t):t=e[4],t}if(i===null){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{failed:!0,children:`The page did not list its CSS variables.`}),e[5]=t):t=e[5],t}if(i.length===0){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`This page sets no CSS variables on :root, so there is nothing to tweak across it.`}),e[6]=t):t=e[6],t}let u;if(e[7]!==r||e[8]!==t||e[9]!==o||e[10]!==i){let n;e[12]!==r||e[13]!==t||e[14]!==o?(n=e=>(0,X.jsx)(yi,{token:e,onChange:n=>{t.send({type:`token`,name:e.name,value:n}),r({edit:{kind:`token`,name:e.name,value:n},target:e.name,selector:null,property:e.name,previousValue:e.value,value:n})}},`${o}:${e.name}`),e[12]=r,e[13]=t,e[14]=o,e[15]=n):n=e[15],u=i.map(n),e[7]=r,e[8]=t,e[9]=o,e[10]=i,e[11]=u}else u=e[11];let d;return e[16]===u?d=e[17]:(d=(0,X.jsx)(`div`,{className:`flex flex-col gap-4 p-4`,children:u}),e[16]=u,e[17]=d),d}function xi(e){return e+1}var Si=(0,G.memo)(function(e){let t=(0,K.c)(64),n=ki(),{selection:r,bridge:i,ready:a,edits:o,current:s,freshUrl:c}=n,[l,u]=(0,G.useState)(`simple`),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=[],t[0]=d):d=t[0];let[f,p]=(0,G.useState)(d),m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m={status:`reading`},t[1]=m):m=t[1];let[_,v]=(0,G.useState)(m),y=(0,G.useId)(),b,x;t[2]!==i||t[3]!==a?(b=()=>{if(!a)return;let e=!1;return i.request(`palette`).then(t=>{e||p(t?.palette??[])}),()=>{e=!0}},x=[i,a],t[2]=i,t[3]=a,t[4]=b,t[5]=x):(b=t[4],x=t[5]),(0,G.useEffect)(b,x);let S=s?.url??null,C=(0,G.useRef)(null),w,T;t[6]!==S||t[7]!==c||t[8]!==l?(w=()=>{if(l!==`code`||!S||C.current===S)return;C.current=S;let e=!1;return v({status:`reading`}),c().then(Ci).then(t=>{e||v({status:`ready`,text:t})},()=>{e||(C.current=null,v({status:`failed`}))}),()=>{e=!0}},T=[S,c,l],t[6]=S,t[7]=c,t[8]=l,t[9]=w,t[10]=T):(w=t[9],T=t[10]),(0,G.useEffect)(w,T);let E=l===`simple`||l===`code`,D=n.stale||n.conflict,O;t[11]===e.className?O=t[12]:(O=g(`flex min-h-0 flex-col bg-background`,e.className),t[11]=e.className,t[12]=O);let M;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,X.jsx)(`h2`,{className:`flex-1 text-[13px] font-[550] text-foreground`,children:`Edit`}),t[13]=M):M=t[13];let N=o.length===0||n.saving,P;t[14]!==N||t[15]!==n.discard?(P=(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,disabled:N,onClick:n.discard,children:`Discard`}),t[14]=N,t[15]=n.discard,t[16]=P):P=t[16];let I=o.length===0||n.saving||D,L;t[17]===n?L=t[18]:(L=()=>void n.save(),t[17]=n,t[18]=L);let R=n.saving?`Saving`:`Save`,z;t[19]!==I||t[20]!==L||t[21]!==R?(z=(0,X.jsx)(h,{size:`xs`,className:`rounded-full`,disabled:I,onClick:L,children:R}),t[19]=I,t[20]=L,t[21]=R,t[22]=z):z=t[22];let ee;t[23]===n?ee=t[24]:(ee=()=>n.setMode(`select`),t[23]=n,t[24]=ee);let te;t[25]!==ee||t[26]!==n.saving?(te=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close edit`,className:`rounded-full`,disabled:n.saving,onClick:ee}),t[25]=ee,t[26]=n.saving,t[27]=te):te=t[27];let ne;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,X.jsx)(A,{}),t[28]=ne):ne=t[28];let re;t[29]===te?re=t[30]:(re=(0,X.jsx)(k,{render:te,children:ne}),t[29]=te,t[30]=re);let ie;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,X.jsx)(F,{side:`bottom`,children:`Close edit`}),t[31]=ie):ie=t[31];let ae;t[32]===re?ae=t[33]:(ae=(0,X.jsxs)(j,{children:[re,ie]}),t[32]=re,t[33]=ae);let B;t[34]!==z||t[35]!==ae||t[36]!==P?(B=(0,X.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-1.5 border-b border-line ps-4 pe-2`,children:[M,P,z,ae]}),t[34]=z,t[35]=ae,t[36]=P,t[37]=B):B=t[37];let V;t[38]!==D||t[39]!==n.handEditsToAgent||t[40]!==n.stale?(V=D?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 border-b border-line bg-warning-surface px-4 py-3 text-[13px] text-warning-foreground`,children:[(0,X.jsx)(`p`,{children:n.stale?`Borg changed this page while you were editing.`:`The file changed since the canvas loaded it, so these edits could not be saved.`}),(0,X.jsx)(h,{size:`xs`,className:`self-start rounded-full`,onClick:n.handEditsToAgent,children:`Hand my edits to Borg`})]}):null,t[38]=D,t[39]=n.handEditsToAgent,t[40]=n.stale,t[41]=V):V=t[41];let oe;t[42]!==l||t[43]!==y?(oe=oi.map(e=>(0,X.jsx)(`button`,{id:`${y}-${e.value}`,type:`button`,role:`tab`,"aria-selected":l===e.value,"aria-controls":`${y}-panel`,tabIndex:l===e.value?0:-1,onClick:()=>u(e.value),className:`h-7 cursor-pointer rounded-full px-2.5 text-[13px] font-[550] text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring aria-selected:bg-accent aria-selected:text-foreground`,children:e.label},e.value)),t[42]=l,t[43]=y,t[44]=oe):oe=t[44];let se;t[45]===oe?se=t[46]:(se=(0,X.jsx)(`div`,{role:`tablist`,"aria-label":`Edit`,onKeyDown:ue,className:`flex shrink-0 gap-0.5 border-b border-line px-2.5 py-2`,children:oe}),t[45]=oe,t[46]=se);let H=`${y}-panel`,ce=`${y}-${l}`,le;t[47]!==E||t[48]!==f||t[49]!==r||t[50]!==_||t[51]!==l?(le=E&&!r?(0,X.jsx)(hi,{children:`Click any element on the canvas to edit it. Double-click text to type on the canvas.`}):l===`simple`&&r?(0,X.jsx)(mi,{selection:r,palette:f},r.node):l===`code`&&r?(0,X.jsx)(_i,{selection:r,source:_},r.node):l===`layers`?(0,X.jsx)(gi,{}):l===`tweaks`?(0,X.jsx)(bi,{}):null,t[47]=E,t[48]=f,t[49]=r,t[50]=_,t[51]=l,t[52]=le):le=t[52];let U;t[53]!==H||t[54]!==ce||t[55]!==le||t[56]!==n.saving?(U=(0,X.jsx)(`div`,{id:H,role:`tabpanel`,"aria-labelledby":ce,inert:n.saving,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:le}),t[53]=H,t[54]=ce,t[55]=le,t[56]=n.saving,t[57]=U):U=t[57];let W;return t[58]!==B||t[59]!==V||t[60]!==se||t[61]!==U||t[62]!==O?(W=(0,X.jsxs)(`section`,{"aria-label":`Edit`,className:O,children:[B,V,se,U]}),t[58]=B,t[59]=V,t[60]=se,t[61]=U,t[62]=O,t[63]=W):W=t[63],W});function Ci(e){if(!e)throw Error(`unreadable`);return er(e)}var wi=`borgcode:design-conversation-width:v1`,Ti=340,Ei=280,Di=360,Oi=(0,G.createContext)(null);function ki(){let e=(0,G.useContext)(Oi);if(!e)throw Error(`useDesignWorkspace must be used inside a design workspace`);return e}function Ai(e){let{threadRef:t,workspaceRoot:n}=e,r=(0,G.useRef)(e);(0,G.useEffect)(()=>{r.current=e});let i=fe(t),a=ke(t),o=me(e=>e.setView),s=me(e=>e.addComment),c=me(e=>e.removeComment),l=me(e=>e.setPage),u=Xe(Ye.createUrl,{reportFailure:!1,refresh:!0}),d=L(N.writeFile,{reportFailure:!1}),[f]=(0,G.useState)(()=>new Xn);(0,G.useEffect)(()=>(f.connect(),()=>f.disconnect()),[f]);let m=(0,G.useCallback)(e=>o(t,e),[o,t]),_=(i.path!==null&&e.files.some(e=>e.path===i.path)?i.path:null)??e.documents[0]?.path??null,v=_?De(_):null,b=_===null?null:e.documents.find(e=>e.path===_)?.revision??`0`;(0,G.useEffect)(()=>{_!==null&&v===`page`&&l(t,_)},[v,_,l,t]);let[x,S]=(0,G.useState)(null),[C,w]=(0,G.useState)(0),[T,D]=(0,G.useState)([]),[O,k]=(0,G.useState)(!1),[A,j]=(0,G.useState)(null),[P,F]=(0,G.useState)(null),[I,R]=(0,G.useState)(!1),[z,ee]=(0,G.useState)(!1),[ne,re]=(0,G.useState)(null),ie=_===null?null:`${_}#${b}#${x?.turnCount??`now`}`,ae=ie===null?null:`${ie}#${e.designRevision}#${C}`,B=T.length>0,[V,se]=(0,G.useState)(null);(0,G.useEffect)(()=>{se(!B||ie===null||ae===null?null:e=>e??{documentKey:ie,displayKey:ae})},[ae,ie,B]);let H=B&&V?V.displayKey:ae,le=B&&V!==null&&V.documentKey!==ie,U=(0,G.useCallback)(async(e,n,i)=>{await r.current.onWake?.();let a=i&&n===`page`?{_tag:`design-version`,threadId:t.threadId,checkpointTurnCount:i.turnCount,path:e}:{_tag:`design-preview`,threadId:t.threadId,path:e},o=await u({environmentId:t.environmentId,input:{resource:a}}),s=y(t.environmentId);if(o._tag!==`Success`||!s)return null;let c=Je(s.httpBaseUrl,o.value.relativeUrl);return c&&n===`page`?Zn(c):c},[u,t]),[W,ue]=(0,G.useState)(null);(0,G.useEffect)(()=>{if(H===null||_===null||v===null){ue(null);return}if(v!==`page`&&v!==`image`){ue({key:H,url:null});return}if(!Te(t.environmentId)){ue({key:H,url:null,tunnel:!0});return}let e=!1;return U(_,v,x).then(t=>{e||ue({key:H,url:t})}),()=>{e=!0}},[v,_,H,U,t.environmentId,x]);let de=(0,G.useMemo)(()=>{if(_===null||v===null)return null;let e=W!==null&&W.key===H,t=v===`page`||v===`image`;return{path:_,kind:v,url:W?.url??null,failure:e&&W.url===null&&t?W.tunnel?`tunnel`:`unavailable`:null}},[v,_,H,W]),he=(0,G.useCallback)(()=>_!==null&&v!==null?U(_,v,x):Promise.resolve(null),[v,_,U,x]);(0,G.useEffect)(()=>{j(null),F(null)},[de?.url??null]);let ge=(0,G.useRef)(()=>void 0),_e=(0,G.useRef)(P),ve=(0,G.useRef)(i.mode),Se=(0,G.useRef)(null);(0,G.useEffect)(()=>{_e.current=P,ve.current=i.mode},[P,i.mode]),(0,G.useEffect)(()=>f.subscribe(e=>{if(e.type===`ready`)j(e);else if(e.type===`selection`)ve.current===`edit`&&F(e.selection);else if(e.type===`pin`)re(e.id);else if(e.type===`editing`)Se.current=e.node;else if(e.type===`text`){let t=_e.current;if(ve.current!==`edit`||Se.current!==e.node||t?.node!==e.node)return;Se.current=null,ge.current({edit:{kind:`text`,node:e.node,text:e.text,exact:e.exact},target:t.label,selector:t.selector,property:`text`,previousValue:t.editableText??``,value:e.text})}}),[f]);let Ce=(0,G.useCallback)(e=>{x&&e!==`select`||I||(m({mode:e}),e!==`edit`&&F(null))},[I,m,x]),Ee=(0,G.useMemo)(()=>_&&v===`page`?xe(_,e.checkpoints,n):[],[v,_,e.checkpoints,n]),Ae=(0,G.useCallback)(()=>w(e=>e+1),[]),je=(0,G.useCallback)(()=>{D([]),k(!1),F(null),Ae()},[Ae]),Me=(0,G.useCallback)(()=>{!_||T.length===0||(r.current.onAttachAnnotation(ar({path:_,edits:T,comment:`Apply these changes to ${_}; I made them on the canvas but the file changed before I could save.`})),D([]),k(!1),Ae(),M.add({type:`info`,title:`Edits attached to your next message`}))},[_,T,Ae]),Ne=(0,G.useRef)(!1),Pe=(0,G.useCallback)(async()=>{if(Ne.current||!_||!A||T.length===0||!n)return;Ne.current=!0,R(!0);let e=_,i=await tr({readSource:async()=>{let t=await U(e,`page`,null);if(!t)throw Error(`The design could not be read.`);return er(t)},sourceHash:A.sourceHash,edits:T,write:async r=>{if((await d({environmentId:t.environmentId,input:{cwd:n,relativePath:e,contents:r}}))._tag!==`Success`)throw Error(`The file could not be written.`)}});if(Ne.current=!1,R(!1),i.status===`changed`){k(!0),M.add({type:`warning`,title:`The page changed while you edited`,description:`Hand your edits to Borg to apply them to the new version, or discard them.`});return}if(i.status===`failed`){M.add({type:`error`,title:`Couldn't save your edits`,description:i.message});return}i.applied.length>0&&r.current.onAttachAnnotation(ar({path:e,edits:i.applied})),D([]),F(null),m({mode:`select`}),Ae();let a=`Saved ${i.applied.length} edit${i.applied.length===1?``:`s`} to ${e}`;i.skipped.length>0?M.add({type:`warning`,title:i.applied.length>0?a:`Nothing was saved`,description:`${i.skipped.length} edit${i.skipped.length===1?``:`s`} no longer matched the page and ${i.skipped.length===1?`was`:`were`} left out.`}):M.add({type:`success`,title:a,description:`Borg reads them with your next message.`})},[_,T,U,A,Ae,m,t,n,d]),Ie=(0,G.useCallback)(e=>{T.length>0||(S(e),e&&m({mode:`select`}))},[T.length,m]),Re=(0,G.useCallback)(async()=>{if(!x||!_||!n||z)return;let e=x;ee(!0);try{let r=await U(_,`page`,e);if(!r)throw Error(`This version could not be read.`);let i=await er(r);if((await d({environmentId:t.environmentId,input:{cwd:n,relativePath:_,contents:i}}))._tag!==`Success`)throw Error(`The file could not be written.`)}catch(e){M.add({type:`error`,title:`Couldn't restore this version`,description:e instanceof Error?e.message:void 0});return}finally{ee(!1)}S(null),Ae(),r.current.onAttachAnnotation(ar({path:_,edits:[],comment:`I restored ${_} to its version from turn ${e.turnCount}. Build on that version from here.`})),M.add({type:`success`,title:`Restored ${_}`})},[_,U,Ae,z,t,x,n,d]),ze=(0,G.useMemo)(()=>_===null?[]:a.filter(e=>ye(e.path,n)===_),[a,_,n]),Be=(0,G.useCallback)(e=>{_&&s(t,{...e,id:p(),path:_,createdAt:new Date().toISOString()})},[_,s,t]),Ve=(0,G.useCallback)(e=>c(t,e),[c,t]),He=(0,G.useCallback)(e=>{let n=a.find(t=>t.id===e);c(t,e),n&&M.add({type:`success`,title:`Comment resolved`,actionProps:{children:`Undo`,onClick:()=>s(t,n)}})},[a,s,c,t]),Ue=(0,G.useCallback)(e=>{if(!_)return;let t=getComputedStyle(document.documentElement).getPropertyValue(`--brand-ink`).trim()||void 0;r.current.onSendAnnotations([ir({path:_,comment:e.comment,target:e.target,...e.ink?{ink:e.ink}:{},...t?{inkColor:t}:{}})]),m({pane:`chat`})},[_,m]),Ge=(0,G.useCallback)(e=>{!_||e.length===0||(r.current.onSendAnnotations(e.map(e=>ir({path:_,comment:e.text,target:e.target}))),m({pane:`chat`}))},[_,m]),Ke=(0,G.useCallback)(()=>{_&&r.current.onSendToWork(_)},[_]),qe=(0,G.useCallback)(e=>{T.length>0||(S(null),m({path:e,mode:`select`}))},[T.length,m]),Ze=(0,G.useCallback)(e=>{if(T.length>0){M.add({type:`info`,title:`Save or discard your edits first`});return}qe(ye(e,n)),m({pane:`canvas`})},[T.length,qe,m,n]),Qe=e.documents[0]?`${e.documents[0].path}#${e.documents[0].revision}`:null,$e=(0,G.useRef)(Qe);(0,G.useEffect)(()=>{$e.current!==Qe&&($e.current=Qe,i.path!==null&&T.length===0&&m({path:null}))},[T.length,Qe,m,i.path]);let tt=(0,G.useCallback)(e=>D(t=>{let n=t.at(-1),r=n!==void 0&&n.edit.kind===e.edit.kind&&n.property===e.property&&(`node`in n.edit?n.edit.node:n.edit.name)===(`node`in e.edit?e.edit.node:e.edit.name),i=r?{...e,previousValue:n.previousValue}:e,a=r?t.slice(0,-1):t;return i.edit.kind!==`html`&&i.value===i.previousValue?a:[...a,i]}),[]);(0,G.useEffect)(()=>{ge.current=tt},[tt]),(0,G.useEffect)(()=>{if(!A)return;let e=i.mode===`comment`?ze.flatMap((e,t)=>e.anchor?[{id:e.id,label:String(t+1),...e.anchor}]:[]):[];f.send({type:`pins`,pins:e})},[f,ze,A,i.mode]);let nt=(0,G.useRef)(T);(0,G.useEffect)(()=>{nt.current=T},[T]);let rt=et({shouldBlockFn:({current:e,next:t})=>nt.current.length>0&&e.pathname!==t.pathname,enableBeforeUnload:()=>!We&&nt.current.length>0,disabled:!B,withResolver:!0}),it=(0,G.useMemo)(()=>({threadRef:t,title:e.title,designing:e.designing,authoring:e.authoring,workspaceRoot:n,view:i,setView:m,setMode:Ce,documents:e.documents,files:e.files,current:de,freshUrl:he,openFile:qe,versions:Ee,version:x,showVersion:Ie,restoring:z,restoreVersion:Re,reload:Ae,bridge:f,ready:A,selection:P,edits:T,addEdit:tt,stale:le,conflict:O,saving:I,save:Pe,discard:je,handEditsToAgent:Me,comments:ze,addComment:Be,removeComment:Ve,resolveComment:He,focusedCommentId:ne,setFocusedCommentId:re,sendToAgent:Ue,sendCommentsToAgent:Ge,sendToWork:Ke}),[Be,tt,f,ze,O,de,je,T,ne,he,Me,qe,e.authoring,e.designing,e.documents,e.files,e.title,A,Ae,Ve,He,Re,z,Pe,I,P,Ge,Ue,Ke,Ce,m,Ie,le,t,x,Ee,i,n]),at=(0,G.useRef)(null),[ot,st]=(0,G.useState)(null);(0,G.useLayoutEffect)(()=>{let e=at.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&st(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let{width:ct,handlers:lt}=Fe({storageKey:wi,defaultWidth:Ti,minWidth:Ei,maxWidth:Math.max(Ei,(ot??1280)-Di),edge:`right`}),ut=i.mode===`comment`||i.mode===`edit`;return(0,X.jsx)(Oi.Provider,{value:it,children:(0,X.jsxs)(E.Provider,{value:Ze,children:[(0,X.jsxs)(`div`,{ref:at,className:`flex min-h-0 min-w-0 flex-1 border-t border-line`,style:{"--design-conversation-width":`${ct}px`},"data-design-workspace":!0,children:[(0,X.jsxs)(`div`,{className:g(`relative flex min-h-0 min-w-0 flex-1 flex-col md:w-(--design-conversation-width) md:flex-none md:border-e md:border-line`,i.pane!==`chat`&&`max-md:hidden`),"data-design-conversation":!0,children:[(0,X.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,inert:ut,children:e.conversation}),i.mode===`comment`?(0,X.jsx)(ai,{className:`absolute inset-0 z-30`}):null,i.mode===`edit`?(0,X.jsx)(Si,{className:`absolute inset-0 z-30`}):null,(0,X.jsx)(Le,{handlers:lt,className:`left-auto -right-1 z-40 max-md:hidden`})]}),(0,X.jsx)(ii,{className:g(`min-w-0 flex-1`,i.pane!==`canvas`&&`max-md:hidden`)})]}),(0,X.jsx)(ce,{open:rt.status===`blocked`,onOpenChange:e=>{e||rt.reset?.()},children:(0,X.jsxs)(be,{children:[(0,X.jsxs)(Oe,{children:[(0,X.jsx)(we,{children:`Leave without saving your edits?`}),(0,X.jsxs)(te,{children:[T.length,` edit`,T.length===1?``:`s`,` on the canvas`,` `,T.length===1?`has`:`have`,` not been saved to the file.`]})]}),(0,X.jsxs)(pe,{children:[(0,X.jsx)(oe,{render:(0,X.jsx)(h,{variant:`outline`}),children:`Keep editing`}),(0,X.jsx)(h,{variant:`destructive`,onClick:()=>rt.proceed?.(),children:`Leave`})]})]})})]})})}export{Ai as DesignWorkspace};
|
|
3
|
-
//# sourceMappingURL=DesignWorkspace-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{v as t,y as n}from"./accountData-B88fzgQo.js";import{Eo as r,Fn as i,Ho as a,In as o,Ln as s,Nn as c,Pn as l,Rn as u,To as d,Wn as f,f as p,jn as m,pn as h,t as g,yo as _,zn as v}from"./utils-dD8AT1Cf.js";import{n as y}from"./session-BKSQ__kZ.js";import{a as b,i as x,l as S,o as C,r as w,s as T,t as E}from"./designOpenFileContext-B0d1oDHN.js";import{Ft as D,Ut as O,ct as k,f as A,jt as j,l as M,o as N,t as P,u as F}from"./textarea-bjEgsW0n.js";import{A as I,c as L,qt as R}from"./useSettings-BgyJJ6VZ.js";import{t as z}from"./ArrowSquareOut-BXw7kBJ2.js";import{t as ee}from"./ArrowsClockwise-C2ZJkkb1.js";import{$ as te,B as ne,G as re,H as ie,J as ae,K as B,M as V,Q as oe,R as se,W as H,Z as ce,_ as le,at as U,b as W,c as ue,ct as de,d as fe,et as pe,f as me,h as he,it as ge,l as _e,m as ve,n as ye,nt as be,o as xe,ot as Se,p as Ce,rt as we,s as Te,st as Ee,t as De,tt as Oe,u as ke,v as Ae,w as je,z as Me}from"./designCanvas.logic-Ce5c0YLY.js";import{i as Ne}from"./toggle-D4wtRT7F.js";import{i as Pe,n as Fe,r as Ie,t as Le}from"./RightPanelResizeHandle-kUStdA3L.js";import{a as Re,i as ze,n as Be,r as Ve,t as He}from"./popover-DZf7p2yc.js";import{c as Ue,t as We}from"./env-71Gq9H0m.js";import{n as Ge,t as Ke}from"./toggle-group-iSglhZY5.js";import{t as qe}from"./input-DzNFHo2W.js";import{n as Je,t as Ye}from"./assets-CkgNlvqv.js";import{a as Xe}from"./assetUrls-CF9bvkMB.js";import{c as Ze}from"./projectFilesQueryState-DWDFHsif.js";import{_ as Qe}from"./main-U2I6YwT-.js";var G=e(n(),1);function $e(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if(`shouldBlockFn`in e)return e;if(typeof e==`function`){let n=!!(t??!0);return{shouldBlockFn:async()=>n?await e():!1,enableBeforeUnload:n,withResolver:!1}}let n=!!(e.condition??!0),r=e.blockerFn;return{shouldBlockFn:async()=>n&&r!==void 0?await r():n,enableBeforeUnload:n,withResolver:r===void 0}}function et(e,t){let{shouldBlockFn:n,enableBeforeUnload:r=!0,disabled:i=!1,withResolver:a=!1}=$e(e,t),o=O(),{history:s}=o,[c,l]=G.useState({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return G.useEffect(()=>i?void 0:s.block({blockerFn:async e=>{function t(e){let t=o.parseLocation(e),n=o.getMatchedRoutes(t.pathname);return n.foundRoute===void 0?{routeId:`__notFound__`,fullPath:t.pathname,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}:{routeId:n.foundRoute.id,fullPath:n.foundRoute.fullPath,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}}let r=t(e.currentLocation),i=t(e.nextLocation);if(r.routeId===`__notFound__`&&i.routeId!==`__notFound__`)return!1;let s=await n({action:e.action,current:r,next:i});if(!a)return s;if(!s)return!1;let c=await new Promise(t=>{l({status:`blocked`,current:r,next:i,action:e.action,proceed:()=>t(!1),reset:()=>t(!0)})});return l({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),c},enableBeforeUnload:r}),[n,r,i,a,s,o]),c}var tt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,116h-4.72A100.21,100.21,0,0,0,140,28.72V24a12,12,0,0,0-24,0v4.72A100.21,100.21,0,0,0,28.72,116H24a12,12,0,0,0,0,24h4.72A100.21,100.21,0,0,0,116,227.28V232a12,12,0,0,0,24,0v-4.72A100.21,100.21,0,0,0,227.28,140H232a12,12,0,0,0,0-24Zm-92,87v-3a12,12,0,0,0-24,0v3a76.15,76.15,0,0,1-63-63h3a12,12,0,0,0,0-24H53a76.15,76.15,0,0,1,63-63v3a12,12,0,0,0,24,0V53a76.15,76.15,0,0,1,63,63h-3a12,12,0,0,0,0,24h3A76.15,76.15,0,0,1,140,203ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M160,128a32,32,0,1,1-32-32A32,32,0,0,1,160,128Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-32,16h7.6A80.15,80.15,0,0,1,136,207.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16Zm-32-8a40,40,0,1,1-40-40A40,40,0,0,1,168,128Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,122H221.8A94.13,94.13,0,0,0,134,34.2V24a6,6,0,0,0-12,0V34.2A94.13,94.13,0,0,0,34.2,122H24a6,6,0,0,0,0,12H34.2A94.13,94.13,0,0,0,122,221.8V232a6,6,0,0,0,12,0V221.8A94.13,94.13,0,0,0,221.8,134H232a6,6,0,0,0,0-12Zm-98,87.76V200a6,6,0,0,0-12,0v9.76A82.09,82.09,0,0,1,46.24,134H56a6,6,0,0,0,0-12H46.24A82.09,82.09,0,0,1,122,46.24V56a6,6,0,0,0,12,0V46.24A82.09,82.09,0,0,1,209.76,122H200a6,6,0,0,0,0,12h9.76A82.09,82.09,0,0,1,134,209.76ZM128,90a38,38,0,1,0,38,38A38,38,0,0,0,128,90Zm0,64a26,26,0,1,1,26-26A26,26,0,0,1,128,154Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M232,124H219.91A92.13,92.13,0,0,0,132,36.09V24a4,4,0,0,0-8,0V36.09A92.13,92.13,0,0,0,36.09,124H24a4,4,0,0,0,0,8H36.09A92.13,92.13,0,0,0,124,219.91V232a4,4,0,0,0,8,0V219.91A92.13,92.13,0,0,0,219.91,132H232a4,4,0,0,0,0-8ZM132,211.9V200a4,4,0,0,0-8,0v11.9A84.11,84.11,0,0,1,44.1,132H56a4,4,0,0,0,0-8H44.1A84.11,84.11,0,0,1,124,44.1V56a4,4,0,0,0,8,0V44.1A84.11,84.11,0,0,1,211.9,124H200a4,4,0,0,0,0,8h11.9A84.11,84.11,0,0,1,132,211.9ZM128,92a36,36,0,1,0,36,36A36,36,0,0,0,128,92Zm0,64a28,28,0,1,1,28-28A28,28,0,0,1,128,156Z`}))]]),nt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,12H80A28,28,0,0,0,52,40V216a28,28,0,0,0,28,28h96a28,28,0,0,0,28-28V40A28,28,0,0,0,176,12ZM76,76H180V180H76Zm4-40h96a4,4,0,0,1,4,4V52H76V40A4,4,0,0,1,80,36Zm96,184H80a4,4,0,0,1-4-4V204H180v12A4,4,0,0,1,176,220Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,56V200H64V56Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM72,64H184V192H72Zm8-32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM80,32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,18H80A22,22,0,0,0,58,40V216a22,22,0,0,0,22,22h96a22,22,0,0,0,22-22V40A22,22,0,0,0,176,18ZM70,62H186V194H70ZM80,30h96a10,10,0,0,1,10,10V50H70V40A10,10,0,0,1,80,30Zm96,196H80a10,10,0,0,1-10-10V206H186v10A10,10,0,0,1,176,226Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,16H80A24,24,0,0,0,56,40V216a24,24,0,0,0,24,24h96a24,24,0,0,0,24-24V40A24,24,0,0,0,176,16ZM72,64H184V192H72Zm8-32h96a8,8,0,0,1,8,8v8H72V40A8,8,0,0,1,80,32Zm96,192H80a8,8,0,0,1-8-8v-8H184v8A8,8,0,0,1,176,224Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M176,20H80A20,20,0,0,0,60,40V216a20,20,0,0,0,20,20h96a20,20,0,0,0,20-20V40A20,20,0,0,0,176,20ZM68,60H188V196H68ZM80,28h96a12,12,0,0,1,12,12V52H68V40A12,12,0,0,1,80,28Zm96,200H80a12,12,0,0,1-12-12V204H188v12A12,12,0,0,1,176,228Z`}))]]),rt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,20H64A28,28,0,0,0,36,48V208a28,28,0,0,0,28,28H192a28,28,0,0,0,28-28V48A28,28,0,0,0,192,20ZM60,84H196v88H60Zm4-40H192a4,4,0,0,1,4,4V60H60V48A4,4,0,0,1,64,44ZM192,212H64a4,4,0,0,1-4-4V196H196v12A4,4,0,0,1,192,212Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,64V192H48V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM56,72H200V184H56Zm8-32H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM64,40H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,26H64A22,22,0,0,0,42,48V208a22,22,0,0,0,22,22H192a22,22,0,0,0,22-22V48A22,22,0,0,0,192,26ZM54,70H202V186H54ZM64,38H192a10,10,0,0,1,10,10V58H54V48A10,10,0,0,1,64,38ZM192,218H64a10,10,0,0,1-10-10V198H202v10A10,10,0,0,1,192,218Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,24H64A24,24,0,0,0,40,48V208a24,24,0,0,0,24,24H192a24,24,0,0,0,24-24V48A24,24,0,0,0,192,24ZM56,72H200V184H56Zm8-32H192a8,8,0,0,1,8,8v8H56V48A8,8,0,0,1,64,40ZM192,216H64a8,8,0,0,1-8-8v-8H200v8A8,8,0,0,1,192,216Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M192,28H64A20,20,0,0,0,44,48V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V48A20,20,0,0,0,192,28ZM52,68H204V188H52ZM64,36H192a12,12,0,0,1,12,12V60H52V48A12,12,0,0,1,64,36ZM192,220H64a12,12,0,0,1-12-12V196H204v12A12,12,0,0,1,192,220Z`}))]]),it=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64ZM64,92a12,12,0,0,0,0,24H192a12,12,0,0,0,0-24Zm152,40H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm-24,40H64a12,12,0,0,0,0,24H192a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V168a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM64,96a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Zm152,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-24,40H64a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM176,184H80a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm16-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16ZM72,112a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H80A8,8,0,0,1,72,112ZM192,88H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64ZM64,98a6,6,0,0,0,0,12H192a6,6,0,0,0,0-12Zm152,40H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm-24,40H64a6,6,0,0,0,0,12H192a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM64,96a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Zm152,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-24,40H64a8,8,0,0,0,0,16H192a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm28,36a4,4,0,0,0,0,8H192a4,4,0,0,0,0-8Zm152,40H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm-24,40H64a4,4,0,0,0,0,8H192a4,4,0,0,0,0-8Z`}))]]),at=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64Zm12,52H168a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Zm176,16H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm-48,40H40a12,12,0,0,0,0,24H168a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V168a16,16,0,0,1-16,16H40V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM160,184H64a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm32-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16ZM56,112a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H64A8,8,0,0,1,56,112ZM192,88H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64Zm6,46H168a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Zm176,28H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm-48,40H40a6,6,0,0,0,0,12H168a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm4,44H168a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Zm176,32H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm-48,40H40a4,4,0,0,0,0,8H168a4,4,0,0,0,0-8Z`}))]]),ot=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64ZM216,92H88a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm0,40H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm0,40H88a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,64V184H56a16,16,0,0,1-16-16V64Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM216,96H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM192,184H96a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm0-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm0-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64ZM216,98H88a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm0,40H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm0,40H88a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64ZM216,96H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,40H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm180,36H88a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm0,40H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm0,40H88a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Z`}))]]),st=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,pt=(e,t,n)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mt=(e,t)=>{for(var n in t||={})dt.call(t,n)&&pt(e,n,t[n]);if(ut)for(var n of ut(t))ft.call(t,n)&&pt(e,n,t[n]);return e},ht=(e,t)=>ct(e,lt(t)),gt=(0,G.forwardRef)((e,t)=>G.createElement(r,ht(mt({ref:t},e),{weights:tt})));gt.displayName=`Crosshair`;var _t=Object.defineProperty,vt=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,Ct=(e,t,n)=>t in e?_t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wt=(e,t)=>{for(var n in t||={})xt.call(t,n)&&Ct(e,n,t[n]);if(bt)for(var n of bt(t))St.call(t,n)&&Ct(e,n,t[n]);return e},Tt=(e,t)=>vt(e,yt(t)),Et=(0,G.forwardRef)((e,t)=>G.createElement(r,Tt(wt({ref:t},e),{weights:nt})));Et.displayName=`DeviceMobile`;var Dt=Object.defineProperty,Ot=Object.defineProperties,kt=Object.getOwnPropertyDescriptors,At=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,Nt=(e,t,n)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pt=(e,t)=>{for(var n in t||={})jt.call(t,n)&&Nt(e,n,t[n]);if(At)for(var n of At(t))Mt.call(t,n)&&Nt(e,n,t[n]);return e},Ft=(e,t)=>Ot(e,kt(t)),It=(0,G.forwardRef)((e,t)=>G.createElement(r,Ft(Pt({ref:t},e),{weights:rt})));It.displayName=`DeviceTablet`;var Lt=Object.defineProperty,Rt=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,Bt=Object.getOwnPropertySymbols,Vt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,Ut=(e,t,n)=>t in e?Lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wt=(e,t)=>{for(var n in t||={})Vt.call(t,n)&&Ut(e,n,t[n]);if(Bt)for(var n of Bt(t))Ht.call(t,n)&&Ut(e,n,t[n]);return e},Gt=(e,t)=>Rt(e,zt(t)),Kt=(0,G.forwardRef)((e,t)=>G.createElement(r,Gt(Wt({ref:t},e),{weights:it})));Kt.displayName=`TextAlignCenter`;var qt=Object.defineProperty,Jt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,Xt=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,$t=(e,t,n)=>t in e?qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,en=(e,t)=>{for(var n in t||={})Zt.call(t,n)&&$t(e,n,t[n]);if(Xt)for(var n of Xt(t))Qt.call(t,n)&&$t(e,n,t[n]);return e},tn=(e,t)=>Jt(e,Yt(t)),nn=(0,G.forwardRef)((e,t)=>G.createElement(r,tn(en({ref:t},e),{weights:at})));nn.displayName=`TextAlignLeft`;var rn=Object.defineProperty,an=Object.defineProperties,on=Object.getOwnPropertyDescriptors,sn=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(e,t,n)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dn=(e,t)=>{for(var n in t||={})cn.call(t,n)&&un(e,n,t[n]);if(sn)for(var n of sn(t))ln.call(t,n)&&un(e,n,t[n]);return e},fn=(e,t)=>an(e,on(t)),pn=(0,G.forwardRef)((e,t)=>G.createElement(r,fn(dn({ref:t},e),{weights:ot})));pn.displayName=`TextAlignRight`;var K=t(),q=(e,t,n,r=2.4)=>({left:e,top:t,width:n,height:r,kind:`line`}),mn=(e,t,n,r)=>({left:e,top:t,width:n,height:r,kind:`block`}),J=(e,t,n,r)=>({left:e,top:t,width:n,height:r,kind:`outline`}),Y=(e,t,n,r,i=!1)=>({left:e,top:t,width:n,height:r,kind:`paint`,round:i}),hn=1.6,gn={website:[{aspect:hn,blocks:[mn(6,7,12,4),q(64,8,8,2),q(76,8,8,2),mn(6,23,44,7),mn(6,33,32,7),q(6,46,38),q(6,51,28),Y(6,60,14,7,!0),Y(56,21,38,47),J(6,77,27,15),J(36.5,77,27,15),J(67,77,27,15)]},{aspect:hn,blocks:[q(42,8,16,2.6),mn(22,22,56,7),q(30,34,40),Y(42,43,16,7,!0),Y(10,58,80,30),J(14,62,22,22),J(39,62,22,22),J(64,62,22,22)]}],app:[{aspect:.5,blocks:[q(10,4,18,1.4),mn(10,10,52,3.4),J(10,17,80,5.5),Y(10,29,14,7,!0),q(30,30,50,1.8),q(30,34,34,1.6),Y(10,42,14,7,!0),q(30,43,46,1.8),q(30,47,30,1.6),J(6,88,88,7),Y(70,74,18,9,!0)]}],slides:[{aspect:16/9,blocks:[mn(8,15,48,10),q(8,30,36,3.5),q(8,45,40,3),q(8,54,34,3),q(8,63,38,3),Y(60,15,32,64),q(8,87,14,2)]}],document:[{aspect:.77,blocks:[mn(12,9,56,4.4),q(12,16,30,1.6),q(12,24,76,1.5),q(12,28,72,1.5),q(12,32,76,1.5),q(12,36,46,1.5),q(12,43,76,1.5),q(12,47,70,1.5),q(12,51,60,1.5),Y(12,60,76,20),q(30,84,40,1.4)]}],wireframe:[{aspect:hn,blocks:[J(4,6,92,10),J(4,21,22,72),J(30,21,66,34),J(30,59,31,34),J(65,59,31,34),q(34,27,30),q(34,33,22)]}],dashboard:[{aspect:hn,blocks:[J(3,5,16,90),q(6,12,10,2),q(6,19,8,2),q(6,26,10,2),mn(23,6,22,16),mn(48.5,6,22,16),mn(74,6,22,16),Y(23,28,73,38),q(23,73,73,3),q(23,80,73,3),q(23,87,73,3)]}],type:[{aspect:hn,blocks:[Y(8,14,10,16,!0),Y(21,14,10,16,!0),Y(34,14,10,16,!0),mn(54,14,38,9),q(54,28,30,5),q(54,38,24,3),q(54,45,20,2),J(8,60,84,30),q(12,66,40,3),q(12,73,60,1.8),q(12,78,52,1.8)]}],"design-system":[{aspect:hn,blocks:[mn(8,10,34,7),q(8,21,44),mn(66,30,26,10),q(66,44,20,3),J(8,56,20,9),J(8,72,43,18),q(12,79,26,2),J(58,56,34,34),q(62,62,22,3),q(62,70,26,1.8),Y(8,30,9,14,!0),Y(19,30,9,14,!0),Y(30,30,9,14,!0),Y(41,30,9,14,!0),Y(31,56,20,9)]}]};function _n(e,t){let n=(e?gn[e]:void 0)??gn.website;return n[t%n.length]}Object.keys(gn);var vn=e=>Math.round(380+e.width*11);function yn(e){return[{type:`think`,duration:1500},...e.blocks.map((e,t)=>e.kind===`paint`?{type:`paint`,block:t,duration:900}:{type:`draw`,block:t,duration:vn(e)}),{type:`inspect`,duration:2200},{type:`rest`,duration:1800},{type:`clear`,duration:600}]}var bn={pencil:[2.8,21.2],lens:[10,10],prism:[12,12]},xn=e=>Math.round(Math.min(104,Math.max(56,e*.16)));function Sn(e,t){let n=Math.max(0,Math.min(640,e.width-64)),r=Math.max(0,e.height-120),i=Math.min(n,r*t);return{width:Math.round(i),height:Math.round(i/t)}}var X=a(),Cn=`(prefers-reduced-motion: reduce)`,wn=`cubic-bezier(.3,1.1,.4,1)`,Tn=`cubic-bezier(.45,0,.55,1)`,En=`cubic-bezier(.16,1,.3,1)`,Dn=class{animations=new Set;timer=null;paused=!1;stopped=!1;constructor(e){this.paused=e}wait(e){return new Promise(t=>{this.stopped||(this.timer={resolve:t,remaining:e,startedAt:0,id:null},this.paused||this.arm())})}arm(){let e=this.timer;e&&(e.startedAt=performance.now(),e.id=window.setTimeout(()=>{this.timer=null,e.resolve()},e.remaining))}animate(e,t,n){if(this.stopped)return;let r=e.animate(t,{fill:`forwards`,...n});this.animations.add(r),this.paused&&r.pause(),r.finished.then(()=>{this.animations.delete(r),e.isConnected&&(r.commitStyles(),r.cancel())},()=>this.animations.delete(r))}pause(){if(!(this.paused||this.stopped)){this.paused=!0;for(let e of this.animations)e.pause();this.timer?.id!=null&&(window.clearTimeout(this.timer.id),this.timer.remaining=Math.max(0,this.timer.remaining-(performance.now()-this.timer.startedAt)),this.timer.id=null)}}resume(){if(!(!this.paused||this.stopped)){this.paused=!1;for(let e of this.animations)e.play();this.arm()}}stop(){this.stopped=!0,this.timer?.id!=null&&window.clearTimeout(this.timer.id),this.timer=null;for(let e of this.animations)e.cancel();this.animations.clear()}},On=e=>`translate(${e.x}px, ${e.y}px)`;function kn(e,t){t.kind===`paint`?(e.style.opacity=`0`,e.style.transform=`scale(0.94)`):(e.style.opacity=`1`,e.style.transform=`scaleX(0)`)}function An(e){let t=(0,K.c)(40),n=(0,G.useRef)(null),r=(0,G.useRef)(null),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0];let a=(0,G.useRef)(i),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(0),[u,d]=(0,G.useState)(`thinking`),[f,p]=(0,G.useState)(0),[m,h]=(0,G.useState)(Nn),_,v,y;t[1]!==c||t[2]!==e.kind||t[3]!==o?(v=_n(e.kind,c),_=o?Sn(o,v.aspect):null,y=_?xn(_.width):0,t[1]=c,t[2]=e.kind,t[3]=o,t[4]=_,t[5]=v,t[6]=y):(_=t[4],v=t[5],y=t[6]);let b=y,x;t[7]!==_||t[8]!==b?(x={board:_,borgSize:b},t[7]=_,t[8]=b,t[9]=x):x=t[9];let S=(0,G.useRef)(x),C;t[10]!==_||t[11]!==b?(C=()=>{S.current={board:_,borgSize:b}},t[10]=_,t[11]=b,t[12]=C):C=t[12],(0,G.useLayoutEffect)(C);let w,T;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let[t]=e;if(!t)return;let{width:n,height:r}=t.contentRect;n>0&&r>0&&s({width:n,height:r})});return t.observe(e),()=>t.disconnect()},T=[],t[13]=w,t[14]=T):(w=t[13],T=t[14]),(0,G.useLayoutEffect)(w,T);let E,D;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=window.matchMedia(Cn),t=()=>h(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},D=[],t[15]=E,t[16]=D):(E=t[15],D=t[16]),(0,G.useEffect)(E,D);let O=(0,G.useRef)(null),k=(0,G.useRef)(!0),A,j;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{let e=n.current;if(!e)return;let t=!0,r=()=>{k.current=t&&!document.hidden,k.current?O.current?.resume():O.current?.pause()},i=new IntersectionObserver(e=>{let[n]=e;t=n?.isIntersecting??!1,r()});return i.observe(e),document.addEventListener(`visibilitychange`,r),()=>{i.disconnect(),document.removeEventListener(`visibilitychange`,r)}},j=[],t[17]=A,t[18]=j):(A=t[17],j=t[18]),(0,G.useEffect)(A,j);let M=_!==null,N=(0,G.useRef)(null),P;t[19]!==v||t[20]!==M||t[21]!==m?(P=()=>{let e=r.current,t=S.current;if(!M||!e||!t.board)return;let{blocks:n}=v,i=n.map((e,t)=>a.current[t]??null),o=()=>S.current.board??{width:0,height:0},s=()=>S.current.borgSize/24,c=(e,t)=>({x:t.x-e[0]*s(),y:t.y-e[1]*s()}),u=()=>{let{width:e,height:t}=o();return c(bn.prism,{x:e-S.current.borgSize*.3,y:t-S.current.borgSize*.3})};if(m){for(let e of i)e&&(e.style.opacity=`1`,e.style.transform=`none`);N.current=u(),e.style.transform=On(N.current),d(`waiting`);return}n.forEach((e,t)=>{let n=i[t];n&&kn(n,e)});let f=new Dn(!k.current);O.current=f;let h=(t,n,r)=>{let i=N.current??t;N.current=t,f.animate(e,[{transform:On(i)},{transform:On(t)}],{duration:n,easing:r})},g=e=>{let{width:t,height:n}=o();return{left:e.left/100*t,top:e.top/100*n,width:e.width/100*t,height:e.height/100*n}};return(async()=>{let t=yn(v);for(let[r,a]of t.entries()){p(Mn);let{width:s,height:m}=o();if(a.type===`think`){d(`thinking`);let t=c(bn.prism,{x:s/2,y:m/2});N.current===null?(N.current=t,e.style.transform=On(t)):h(t,480*1.4,wn),await f.wait(a.duration)}else if(a.type===`draw`){let e=n[a.block],t=i[a.block],r=g(e),o=e.kind===`outline`?r.top:r.top+r.height/2;d(`edit`),h(c(bn.pencil,{x:r.left,y:o}),480,wn),await f.wait(480),t&&f.animate(t,[{transform:`scaleX(0)`},{transform:`scaleX(1)`}],{duration:a.duration,easing:Tn}),h(c(bn.pencil,{x:r.left+r.width,y:o}),a.duration,Tn),await f.wait(a.duration)}else if(a.type===`paint`){let e=i[a.block],t=g(n[a.block]);d(`starting`);let r={x:t.left+t.width/2,y:Math.max(S.current.borgSize*.5,t.top-S.current.borgSize*.1)};h(c(bn.prism,r),480,wn),await f.wait(660),e&&f.animate(e,[{opacity:0,transform:`scale(0.94)`},{opacity:1,transform:`scale(1)`}],{duration:520,easing:En}),await f.wait(a.duration)}else if(a.type===`inspect`){d(`search`),h(c(bn.lens,{x:s*.2,y:m*.26}),480,wn),await f.wait(480);let e=a.duration-480;h(c(bn.lens,{x:s*.78,y:m*.7}),e,Tn),await f.wait(e)}else if(a.type===`rest`)d(`waiting`),h(u(),480*1.4,wn),await f.wait(a.duration);else{for(let e of i)e&&f.animate(e,[{opacity:1},{opacity:0}],{duration:a.duration,easing:En});await f.wait(a.duration),r===t.length-1&&l(jn)}}})(),()=>{f.stop(),O.current===f&&(O.current=null)}},t[19]=v,t[20]=M,t[21]=m,t[22]=P):P=t[22];let F;t[23]!==v||t[24]!==c||t[25]!==M||t[26]!==m?(F=[v,c,M,m],t[23]=v,t[24]=c,t[25]=M,t[26]=m,t[27]=F):F=t[27],(0,G.useLayoutEffect)(P,F);let I;t[28]===e.className?I=t[29]:(I=g(`relative grid h-full place-items-center`,e.className),t[28]=e.className,t[29]=I);let L;t[30]!==_||t[31]!==b||t[32]!==v||t[33]!==c||t[34]!==u||t[35]!==f?(L=_?(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,X.jsxs)(`div`,{"aria-hidden":!0,className:`relative rounded-control bg-card ring-1 ring-line`,style:{width:_.width,height:_.height},children:[v.blocks.map((e,t)=>(0,X.jsx)(`span`,{ref:e=>{a.current[t]=e},className:g(`absolute`,e.kind===`paint`?`origin-center`:`origin-left`,e.round||e.kind===`line`?`rounded-full`:`rounded-small`,e.kind===`outline`?`ring-1 ring-strong-line ring-inset`:e.kind===`paint`?`bg-brand/55`:`bg-strong-line`),style:{left:`${e.left}%`,top:`${e.top}%`,width:`${e.width}%`,height:`${e.height}%`}},`${c}:${e.left}:${e.top}`)),(0,X.jsx)(`span`,{ref:r,className:`absolute top-0 left-0 text-brand-ink will-change-transform`,children:(0,X.jsx)(`span`,{className:`block`,style:{zoom:b/24},children:(0,X.jsx)(B,{phase:u,step:String(f),seed:`design-artist`})})})]}),(0,X.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-2 text-[13px] font-[550] text-brand-ink`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`size-[5px] rounded-full bg-brand-ink`}),`Designing`]})]}):null,t[30]=_,t[31]=b,t[32]=v,t[33]=c,t[34]=u,t[35]=f,t[36]=L):L=t[36];let R;return t[37]!==I||t[38]!==L?(R=(0,X.jsx)(`div`,{ref:n,className:I,children:L}),t[37]=I,t[38]=L,t[39]=R):R=t[39],R}function jn(e){return e+1}function Mn(e){return e+1}function Nn(){return typeof window<`u`&&window.matchMedia(Cn).matches}var Pn=4e3,Fn=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Z=e=>typeof e==`number`&&Number.isFinite(e),Q=(e,t=Pn)=>typeof e==`string`?e.slice(0,t):null,In=/^(?:#[0-9a-f]{3,8}|(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color)\([^()]*\)|[a-z]+)$/i,Ln=e=>{let t=Q(e,64)?.trim();return t&&In.test(t)?t:null};function Rn(e){return!Fn(e)||!Z(e.x)||!Z(e.y)?null:{x:e.x,y:e.y}}function zn(e){if(!Fn(e))return null;let{x:t,y:n,width:r,height:i}=e;return!Z(t)||!Z(n)||!Z(r)||!Z(i)?null:{x:t,y:n,width:r,height:i}}function Bn(e){return!Fn(e)||!Z(e.node)||!Z(e.fx)||!Z(e.fy)?null:{node:Math.trunc(e.node),fx:e.fx,fy:e.fy}}function Vn(e){if(!Fn(e)||!Z(e.node))return null;let t=zn(e.rect),n=Q(e.tagName,64);return!t||!n?null:{node:Math.trunc(e.node),tagName:n,label:Q(e.label,120)??n,selector:Q(e.selector,400)??``,htmlPreview:Q(e.htmlPreview,1200)??``,text:Q(e.text,600)??``,rect:t}}function Hn(e){let t=Vn(e);if(!t||!Fn(e))return null;let n={};if(Fn(e.styles))for(let[t,r]of Object.entries(e.styles).slice(0,24)){let e=Q(r,200);e!==null&&(n[t.slice(0,64)]=e)}return{...t,editableText:Q(e.editableText),styles:n}}function Un(e,t,n){if(Array.isArray(e))return e.slice(0,n).map(t).filter(e=>e!==null)}var Wn=e=>Fn(e)&&Z(e.node)&&Z(e.depth)?{node:Math.trunc(e.node),depth:Math.max(0,Math.min(8,Math.trunc(e.depth))),tagName:Q(e.tagName,64)??``,label:Q(e.label,120)??``}:null,Gn=e=>{if(!Fn(e))return null;let t=Q(e.name,120),n=Q(e.value,400);return t?.startsWith(`--`)&&n!==null?{name:t,value:n}:null},Kn=8192,qn=(e,t)=>Z(e)&&e>=0&&e<=t,Jn=e=>{if(!Fn(e)||!qn(e.width,Kn)||!qn(e.height,Kn)||!Array.isArray(e.items))return null;let t=e.items.slice(0,600).filter(e=>Fn(e)&&Fn(e.rect)&&qn(e.rect.width,Kn)&&qn(e.rect.height,Kn));return{...e,items:t}};function Yn(e){if(!Fn(e)||e.borgDesignBridge!==1)return null;switch(e.type){case`ready`:return{type:`ready`,title:Q(e.title,300)??``,sourceHash:Q(e.sourceHash,128)??``,slideCount:Z(e.slideCount)?Math.max(0,Math.trunc(e.slideCount)):0};case`pick`:{let t=Rn(e.point),n=Bn(e.anchor),r=Vn(e.target);return t&&n&&r?{type:`pick`,point:t,anchor:n,target:r}:null}case`ink`:{let t=Rn(e.point),n=zn(e.bounds),r=Un(e.points,Rn,4e3);return!t||!n||!r?null:{type:`ink`,point:t,points:r,bounds:n,anchor:Bn(e.anchor),target:Vn(e.target)}}case`selection`:return{type:`selection`,selection:e.selection===null?null:Hn(e.selection)};case`editing`:return Z(e.node)?{type:`editing`,node:Math.trunc(e.node)}:null;case`text`:{let t=Q(e.text,2e4);return Z(e.node)&&t!==null?{type:`text`,node:Math.trunc(e.node),text:t,exact:e.exact===!0}:null}case`printed`:return{type:`printed`};case`pin`:{let t=Q(e.id,120);return t?{type:`pin`,id:t}:null}case`key`:{let t=Q(e.key,32);return t?{type:`key`,key:t}:null}case`reply`:{let t=Q(e.requestId,64);if(!t)return null;let n=Un(e.layers,Wn,400),r=Un(e.tokens,Gn,60),i=Un(e.palette,Ln,8),a=Un(e.slides,Jn,80);return{type:`reply`,requestId:t,...n?{layers:n}:{},...r?{tokens:r}:{},...i?{palette:i}:{},...a?{slides:a}:{}}}default:return null}}var Xn=class{frame=null;listeners=new Set;pending=new Map;requestCount=0;readyEvent=null;connected=!1;constructor(){this.handleMessage=this.handleMessage.bind(this)}connect(){this.connected||(this.connected=!0,window.addEventListener(`message`,this.handleMessage))}disconnect(){if(this.connected){this.connected=!1,window.removeEventListener(`message`,this.handleMessage);for(let e of this.pending.values())e(null);this.pending.clear()}}attach(e){e!==this.frame&&(this.frame=e,this.readyEvent=null)}get ready(){return this.readyEvent}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}send(e){this.frame?.contentWindow?.postMessage({[ne]:1,...e},`*`)}request(e,t=4e3){if(!this.frame?.contentWindow)return Promise.resolve(null);this.requestCount+=1;let n=`r${this.requestCount}`;return new Promise(r=>{let i=window.setTimeout(()=>{this.pending.delete(n),r(null)},t);this.pending.set(n,e=>{window.clearTimeout(i),r(e)}),this.send({type:`request`,requestId:n,what:e})})}handleMessage(e){if(!this.frame||e.source!==this.frame.contentWindow)return;let t=Yn(e.data);if(t){if(t.type===`ready`&&(this.readyEvent=t),t.type===`reply`){let e=this.pending.get(t.requestId);e&&(this.pending.delete(t.requestId),e(t));return}for(let e of this.listeners)e(t)}}};function Zn(e){let t=new URL(e);return t.searchParams.set(ie,`1`),t.toString()}function Qn(e){let t=new URL(e);return t.searchParams.delete(ie),t.toString()}function $n(e){return Array.from(Me(new TextEncoder().encode(e)),e=>e.toString(16).padStart(2,`0`)).join(``)}async function er(e){let t=await fetch(Qn(e),{credentials:`omit`,cache:`no-store`});if(!t.ok)throw Error(`The design could not be read (${t.status}).`);return t.text()}async function tr(e){try{let t=await e.readSource();if($n(t)!==e.sourceHash)return{status:`changed`};let n=H(t,e.edits.map(e=>e.edit)),r=e.edits.filter(e=>n.skipped.includes(e.edit)),i=e.edits.filter(e=>!r.includes(e));return i.length>0&&await e.write(n.html),{status:`saved`,applied:i,skipped:r}}catch(e){return{status:`failed`,message:e instanceof Error?e.message:`The design could not be saved.`}}}function nr(e){if(!e)return`transparent`;let t=e.trim();if(/^#[0-9a-f]{6}$/i.test(t))return t.toLowerCase();if(/^#[0-9a-f]{3}$/i.test(t))return`#${Array.from(t.slice(1),e=>e+e).join(``)}`.toLowerCase();if(t===`transparent`)return`transparent`;let n=/^rgba?\(([^)]+)\)$/i.exec(t)?.[1]?.split(/[\s,/]+/).filter(Boolean);return!n||n.length<3?null:n[3]!==void 0&&Number.parseFloat(n[3])===0?`transparent`:`#${n.slice(0,3).map(e=>Math.max(0,Math.min(255,Math.round(Number(e)))).toString(16).padStart(2,`0`)).join(``)}`}function rr(e,t){return{pageUrl:t,pageTitle:t,tagName:e.tagName,selector:e.selector||null,htmlPreview:e.htmlPreview,componentName:null,source:null,stack:[],styles:``,pickedAt:new Date().toISOString()}}function ir(e){return{id:p(),pageUrl:e.path,pageTitle:e.path,comment:e.comment,elements:e.target?[{id:p(),element:rr(e.target,e.path),rect:e.target.rect}]:[],regions:[],strokes:e.ink?[{id:p(),color:e.inkColor??`#7552b0`,width:3,points:e.ink.points,bounds:e.ink.bounds}]:[],styleChanges:[],screenshot:null,createdAt:new Date().toISOString()}}function ar(e){let t=e.edits.map((e,t)=>({targetId:String(t),selector:e.selector,property:`${e.target}: ${e.property}`,previousValue:e.previousValue,value:e.value})),n=e.edits.length;return{id:p(),pageUrl:e.path,pageTitle:e.path,comment:e.comment??`I edited ${e.path} directly and saved it (${n} change${n===1?``:`s`}). The file already has them; keep them when you next change the page.`,elements:[],regions:[],strokes:[],styleChanges:t,screenshot:null,createdAt:new Date().toISOString()}}var or=e(Qe(),1),sr=9525,cr=.75,lr=914400,ur=51206400,dr=`http://schemas.openxmlformats.org/drawingml/2006/main`,fr=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,pr=`http://schemas.openxmlformats.org/presentationml/2006/main`,mr=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,$=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
+
`,hr=/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g;function gr(e){return e.replace(hr,``).replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function _r(e){if(!e)return null;let t=e.trim().toLowerCase(),n=/^#([0-9a-f]{3,8})$/.exec(t)?.[1];if(n){let e=n.length<=4?n.split(``).map(e=>e+e).join(``):n,t=e.length===8?Number.parseInt(e.slice(6,8),16)/255:1;return t<=.02?null:{hex:e.slice(0,6).toUpperCase(),alpha:t}}let r=/^rgba?\(([^)]+)\)$/.exec(t)?.[1];if(!r)return null;let[i,a,o]=r.split(/[\s,/]+/).filter(Boolean).map(e=>e.endsWith(`%`)?Number.parseFloat(e)/100*255:Number(e));if(![i,a,o].every(e=>Number.isFinite(e)))return null;let s=r.split(/[\s,/]+/).filter(Boolean)[3],c=s===void 0?1:s.endsWith(`%`)?Number.parseFloat(s)/100:Number(s);if(!Number.isFinite(c)||c<=.02)return null;let l=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,`0`);return{hex:`${l(i)}${l(a)}${l(o)}`.toUpperCase(),alpha:c}}var vr=e=>Math.round(e*sr);function yr(e){return`<a:xfrm><a:off x="${vr(e.x)}" y="${vr(e.y)}"/><a:ext cx="${Math.max(1,vr(e.width))}" cy="${Math.max(1,vr(e.height))}"/></a:xfrm>`}function br(e,t=1){let n=Math.round(Math.max(0,Math.min(1,e.alpha*t))*1e5);return`<a:solidFill>${n<1e5?`<a:srgbClr val="${e.hex}"><a:alpha val="${n}"/></a:srgbClr>`:`<a:srgbClr val="${e.hex}"/>`}</a:solidFill>`}function xr(e){let t=_r(e.color),n=Math.max(100,Math.round(e.fontSize*cr*100)),r=Math.round(e.letterSpacing*cr*100),i=[`lang="en-US"`,`sz="${n}"`,e.bold?`b="1"`:``,e.italic?`i="1"`:``,e.underline?`u="sng"`:``,r===0?``:`spc="${r}"`,`dirty="0"`].filter(Boolean).join(` `),a=gr(e.fontFamily||`Arial`);return`<a:rPr ${i}>${t?br(t):``}<a:latin typeface="${a}"/><a:ea typeface="${a}"/><a:cs typeface="${a}"/></a:rPr>`}function Sr(e,t){let n={left:`l`,center:`ctr`,right:`r`,justify:`just`}[t.align],r=t.lineHeight!==null&&t.lineHeight>0?`<a:lnSpc><a:spcPts val="${Math.round(t.lineHeight*cr*100)}"/></a:lnSpc>`:``,i=``;for(let e of t.runs)e.breakBefore&&(i+=`<a:br>${xr(e)}</a:br>`),e.text!==``&&(i+=`<a:r>${xr(e)}<a:t>${gr(e.text)}</a:t></a:r>`);let a=Math.round((t.runs[0]?.fontSize??16)*cr*100);return`<p:sp><p:nvSpPr><p:cNvPr id="${e}" name="Text ${e}"/><p:cNvSpPr txBox="1"/><p:nvPr/></p:nvSpPr><p:spPr>${yr({...t.rect,width:t.rect.width*1.04})}<a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/></p:spPr><p:txBody><a:bodyPr wrap="square" lIns="0" tIns="0" rIns="0" bIns="0" rtlCol="0" anchor="t"><a:noAutofit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="${n}">${r}</a:pPr>${i}<a:endParaRPr lang="en-US" sz="${a}" dirty="0"/></a:p></p:txBody></p:sp>`}function Cr(e,t){let n=_r(t.fill),r=_r(t.borderColor),i=Math.min(t.rect.width,t.rect.height),a=Math.min(t.radius,i/2),o=a>.5&&i>0?`<a:prstGeom prst="roundRect"><a:avLst><a:gd name="adj" fmla="val ${Math.round(a/i*1e5)}"/></a:avLst></a:prstGeom>`:`<a:prstGeom prst="rect"><a:avLst/></a:prstGeom>`,s=r&&t.borderWidth>0?`<a:ln w="${vr(t.borderWidth)}">${br(r,t.opacity)}</a:ln>`:`<a:ln><a:noFill/></a:ln>`;return`<p:sp><p:nvSpPr><p:cNvPr id="${e}" name="Shape ${e}"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr>${yr(t.rect)}${o}${n?br(n,t.opacity):`<a:noFill/>`}${s}</p:spPr></p:sp>`}function wr(e,t,n){return`<p:pic><p:nvPicPr><p:cNvPr id="${e}" name="Picture ${e}"/><p:cNvPicPr><a:picLocks noChangeAspect="1"/></p:cNvPicPr><p:nvPr/></p:nvPicPr><p:blipFill><a:blip r:embed="${t}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill><p:spPr>${yr(n)}<a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr></p:pic>`}var Tr=`<p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr>`;function Er(e){return e.kind===`image`?e.src:e.kind===`svg`?`svg:${e.markup}`:null}async function Dr(e){let t=e.slides[0],n=Math.min(ur,Math.max(lr,vr(t?.width??1920))),r=Math.min(ur,Math.max(lr,vr(t?.height??1080))),i=new or.default,a=new Map,o=new Set;e.slides.forEach((t,n)=>{let r=[`<Relationship Id="rId1" Type="${mr}/slideLayout" Target="../slideLayouts/slideLayout1.xml"/>`],s=``,c=2;for(let n of t.items){let t=c;if(c+=1,n.kind===`box`){s+=Cr(t,n);continue}if(n.kind===`text`){s+=Sr(t,n);continue}let l=Er(n),u=l?e.images.get(l):void 0;if(!l||!u)continue;let d=a.get(l);d||(d=`image${a.size+1}.${u.type===`jpeg`?`jpeg`:`png`}`,a.set(l,d),o.add(u.type),i.file(`ppt/media/${d}`,u.data,{compression:`STORE`}));let f=`rId${r.length+1}`;r.push(`<Relationship Id="${f}" Type="${mr}/image" Target="../media/${d}"/>`),s+=wr(t,f,n.rect)}let l=_r(t.background)??{hex:`FFFFFF`,alpha:1};i.file(`ppt/slides/slide${n+1}.xml`,`${$}<p:sld xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:cSld><p:bg><p:bgPr>${br({...l,alpha:1})}<a:effectLst/></p:bgPr></p:bg><p:spTree>${Tr}${s}</p:spTree></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`),i.file(`ppt/slides/_rels/slide${n+1}.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${r.join(``)}</Relationships>`)});let s=e.slides.length,c=e.slides.map((e,t)=>`<Override PartName="/ppt/slides/slide${t+1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`).join(``);i.file(`[Content_Types].xml`,`${$}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/>${o.has(`png`)?`<Default Extension="png" ContentType="image/png"/>`:``}${o.has(`jpeg`)?`<Default Extension="jpeg" ContentType="image/jpeg"/>`:``}<Override PartName="/ppt/presentation.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"/><Override PartName="/ppt/slideMasters/slideMaster1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml"/><Override PartName="/ppt/slideLayouts/slideLayout1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml"/><Override PartName="/ppt/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/ppt/presProps.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presProps+xml"/><Override PartName="/ppt/viewProps.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml"/><Override PartName="/ppt/tableStyles.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>${c}</Types>`),i.file(`_rels/.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/officeDocument" Target="ppt/presentation.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="${mr}/extended-properties" Target="docProps/app.xml"/></Relationships>`);let l=new Date().toISOString().replace(/\.\d{3}Z$/,`Z`);i.file(`docProps/core.xml`,`${$}<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${gr(e.title)}</dc:title><dcterms:created xsi:type="dcterms:W3CDTF">${l}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${l}</dcterms:modified></cp:coreProperties>`),i.file(`docProps/app.xml`,`${$}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Borg</Application><Slides>${s}</Slides></Properties>`);let u=e.slides.map((e,t)=>`<p:sldId id="${256+t}" r:id="rId${t+2}"/>`).join(``);i.file(`ppt/presentation.xml`,`${$}<p:presentation xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}" saveSubsetFonts="1"><p:sldMasterIdLst><p:sldMasterId id="2147483648" r:id="rId1"/></p:sldMasterIdLst><p:sldIdLst>${u}</p:sldIdLst><p:sldSz cx="${n}" cy="${r}"/><p:notesSz cx="6858000" cy="9144000"/></p:presentation>`);let d=e.slides.map((e,t)=>`<Relationship Id="rId${t+2}" Type="${mr}/slide" Target="slides/slide${t+1}.xml"/>`).join(``);i.file(`ppt/_rels/presentation.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideMaster" Target="slideMasters/slideMaster1.xml"/>${d}<Relationship Id="rId${s+2}" Type="${mr}/presProps" Target="presProps.xml"/><Relationship Id="rId${s+3}" Type="${mr}/viewProps" Target="viewProps.xml"/><Relationship Id="rId${s+4}" Type="${mr}/theme" Target="theme/theme1.xml"/><Relationship Id="rId${s+5}" Type="${mr}/tableStyles" Target="tableStyles.xml"/></Relationships>`),i.file(`ppt/presProps.xml`,`${$}<p:presentationPr xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"/>`),i.file(`ppt/viewProps.xml`,`${$}<p:viewPr xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:normalViewPr><p:restoredLeft sz="15620"/><p:restoredTop sz="94660"/></p:normalViewPr><p:gridSpacing cx="76200" cy="76200"/></p:viewPr>`),i.file(`ppt/tableStyles.xml`,`${$}<a:tblStyleLst xmlns:a="${dr}" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`);let f=`<p:spTree>${Tr}</p:spTree>`;return i.file(`ppt/slideMasters/slideMaster1.xml`,`${$}<p:sldMaster xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}"><p:cSld><p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg>${f}</p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accenborg="accenborg" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:sldLayoutIdLst><p:sldLayoutId id="2147483649" r:id="rId1"/></p:sldLayoutIdLst><p:txStyles><p:titleStyle><a:lvl1pPr><a:defRPr sz="4400"/></a:lvl1pPr></p:titleStyle><p:bodyStyle><a:lvl1pPr><a:defRPr sz="2400"/></a:lvl1pPr></p:bodyStyle><p:otherStyle><a:lvl1pPr><a:defRPr sz="1800"/></a:lvl1pPr></p:otherStyle></p:txStyles></p:sldMaster>`),i.file(`ppt/slideMasters/_rels/slideMaster1.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideLayout" Target="../slideLayouts/slideLayout1.xml"/><Relationship Id="rId2" Type="${mr}/theme" Target="../theme/theme1.xml"/></Relationships>`),i.file(`ppt/slideLayouts/slideLayout1.xml`,`${$}<p:sldLayout xmlns:a="${dr}" xmlns:r="${fr}" xmlns:p="${pr}" type="blank" preserve="1"><p:cSld name="Blank">${f}</p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sldLayout>`),i.file(`ppt/slideLayouts/_rels/slideLayout1.xml.rels`,`${$}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="${mr}/slideMaster" Target="../slideMasters/slideMaster1.xml"/></Relationships>`),i.file(`ppt/theme/theme1.xml`,`${$}${Or}`),i.generateAsync({type:`blob`,mimeType:`application/vnd.openxmlformats-officedocument.presentationml.presentation`,compression:`DEFLATE`})}var Or=`<a:theme xmlns:a="${dr}" name="Borg"><a:themeElements><a:clrScheme name="Borg"><a:dk1><a:srgbClr val="111111"/></a:dk1><a:lt1><a:srgbClr val="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="1F2937"/></a:dk2><a:lt2><a:srgbClr val="F4F4F1"/></a:lt2><a:accent1><a:srgbClr val="4F46E5"/></a:accent1><a:accent2><a:srgbClr val="16A34A"/></a:accent2><a:accenborg><a:srgbClr val="D97706"/></a:accenborg><a:accent4><a:srgbClr val="DC2626"/></a:accent4><a:accent5><a:srgbClr val="0891B2"/></a:accent5><a:accent6><a:srgbClr val="7C3AED"/></a:accent6><a:hlink><a:srgbClr val="2563EB"/></a:hlink><a:folHlink><a:srgbClr val="7C3AED"/></a:folHlink></a:clrScheme><a:fontScheme name="Borg"><a:majorFont><a:latin typeface="Arial"/><a:ea typeface=""/><a:cs typeface=""/></a:majorFont><a:minorFont><a:latin typeface="Arial"/><a:ea typeface=""/><a:cs typeface=""/></a:minorFont></a:fontScheme><a:fmtScheme name="Borg"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln><a:ln w="12700"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln><a:ln w="19050"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"/></a:solidFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/></a:theme>`,kr={width:1920,height:1080};function Ar(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)}function jr(e,t){return`${e.toLowerCase().replace(/\.[a-z0-9]+$/i,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,60)||`design`}.${t}`}async function Mr(e,t,n){let r=document.createElement(`iframe`);r.setAttribute(`sandbox`,`allow-scripts allow-modals`),r.setAttribute(`aria-hidden`,`true`),r.tabIndex=-1,r.style.cssText=`position:fixed;left:-${t.width+200}px;top:0;width:${t.width}px;height:${t.height}px;border:0;opacity:0;pointer-events:none;`;let i=new Xn;i.connect(),i.attach(r);try{let t=new Promise((e,t)=>{let n=window.setTimeout(()=>t(Error(`The design did not load in time.`)),2e4),r=i.subscribe(t=>{t.type===`ready`&&(window.clearTimeout(n),r(),e())})});return r.src=e,document.body.append(r),await t,await n(i)}finally{i.disconnect(),r.remove()}}async function Nr(e,t){await Mr(e,t?kr:{width:1280,height:800},async e=>{let t=new Promise(t=>{let n=window.setTimeout(t,30*6e4),r=e.subscribe(e=>{e.type===`printed`&&(window.clearTimeout(n),r(),t())})});e.send({type:`print`}),await t})}async function Pr(e){return new Uint8Array(await e.arrayBuffer())}async function Fr(e,t,n){let r=URL.createObjectURL(e);try{let e=new Image;e.decoding=`async`,e.src=r,await e.decode();let i=document.createElement(`canvas`);i.width=Math.max(1,Math.round((t||e.naturalWidth)*2)),i.height=Math.max(1,Math.round((n||e.naturalHeight)*2));let a=i.getContext(`2d`);if(!a)return null;a.drawImage(e,0,0,i.width,i.height);let o=await new Promise(e=>i.toBlob(e,`image/png`));return o?{data:await Pr(o),type:`png`}:null}catch{return null}finally{URL.revokeObjectURL(r)}}var Ir=15e3;function Lr(e,t){try{let n=new URL(e),r=new URL(t),i=r.pathname.slice(0,r.pathname.lastIndexOf(`/`)+1);return n.origin===r.origin&&n.pathname.startsWith(i)}catch{return!1}}async function Rr(e,t){let n=new Map;for(let r of e)for(let e of r.items){let r=Er(e);if(!(!r||n.has(r))){if(e.kind===`svg`){let t=await Fr(new Blob([e.markup],{type:`image/svg+xml`}),e.rect.width,e.rect.height);t&&n.set(r,t);continue}if(e.kind===`image`&&!(!e.src.startsWith(`data:image/`)&&!Lr(e.src,t)))try{let t=await fetch(e.src,{credentials:`omit`,signal:AbortSignal.timeout(Ir)});if(!t.ok)continue;let i=await t.blob(),a=i.type.toLowerCase(),o=a===`image/png`||a===`image/jpeg`?{data:await Pr(i),type:a===`image/png`?`png`:`jpeg`}:await Fr(i,e.rect.width,e.rect.height);o&&n.set(r,o)}catch{}}}return n}async function zr(e,t){return Mr(e,kr,async n=>{let r=(await n.request(`slides`,3e4))?.slides??[];if(r.length===0)throw Error(`The design has no slides to export.`);return Ar(await Dr({title:t,slides:r,images:await Rr(r,e)}),jr(t,`pptx`)),r.length})}function Br(){let e=ki(),t=W(),n=S(),r=Xe(k.readFile,{reportFailure:!1,refresh:!0}),i=(0,G.useId)(),[a,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)({status:`reading`}),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`user`),[p,m]=(0,G.useState)(!1),[g,_]=(0,G.useState)(null),{environmentId:v,threadId:y}=e.threadRef,b=ve(v,y),x=le(t.systems,b),C=Ce(e.files,e.current?.path??null),w=C.guide===null?`Borg hasn't written DESIGN.md for this design system yet.`:e.workspaceRoot===null?`This design's folder can't be read here.`:e.designing?`Borg is still working on it.`:null,T=async()=>{let t=e.workspaceRoot;if(C.guide===null||t===null)return;c({status:`reading`});let n=e=>r({environmentId:v,input:{cwd:t,relativePath:e}}).then(t=>{if(t._tag!==`Success`)throw Error(`${e} couldn't be read.`);if(t.value.truncated)throw Error(`${e} is too large to publish.`);return t.value.contents});try{let[t,r]=await Promise.all([n(C.guide),C.tokens===null?Promise.resolve(null):n(C.tokens)]),i=he({guide:t,tokens:r,fallbackName:e.title});u(x?.name??i.name),c({status:`ready`,draft:i})}catch(e){c({status:`failed`,message:e instanceof Error?e.message:`The design system couldn't be read.`})}},E=async()=>{if(s.status!==`ready`||p)return;let e=l.trim();if(!e||s.draft.tooLarge)return;m(!0),_(null);let r={name:e,body:s.draft.body,shortDescription:s.draft.summary,sourceRef:b};try{let e=x?await t.update(x.id,r):await t.create(d,r);o(!1);let i=!x||e.version!==x.version;N.add({type:`success`,title:x?i?`Updated ${e.name}`:`Saved ${e.name}`:`Published ${e.name}`,description:x?i?`Designs made in it use this version from their next turn.`:`Its guide and tokens haven't changed since the last version.`:`It's in your design systems, ready for the next design.`,actionProps:{children:`Start a design`,onClick:()=>{me.getState().setHomeDesignSystemId(V(e.id)),me.getState().setHomeTemplateId(null),n({to:`/design`})}}})}catch(e){_(e instanceof Error?e.message:`The design system couldn't be published.`)}finally{m(!1)}},D=x?`Update`:`Publish`,O=(0,X.jsx)(h,{size:`xs`,className:`gap-1.5 rounded-full`,disabled:w!==null,"aria-label":x?`Update ${x.name}`:`Publish design system`});return(0,X.jsxs)(He,{open:a,onOpenChange:e=>{o(e),e&&(_(null),T())},children:[w===null?(0,X.jsxs)(ze,{render:O,children:[(0,X.jsx)(ge,{"aria-hidden":!0}),D]}):(0,X.jsxs)(M,{children:[(0,X.jsx)(A,{render:(0,X.jsx)(`span`,{className:`inline-flex`}),children:(0,X.jsxs)(ze,{render:O,children:[(0,X.jsx)(ge,{"aria-hidden":!0}),D]})}),(0,X.jsx)(F,{side:`bottom`,children:w})]}),(0,X.jsx)(Be,{align:`end`,className:`w-80`,children:(0,X.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),E()},children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(Ve,{children:x?`Update ${x.name}`:`Publish design system`}),x?(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Version `,x.version,x.updatedAt?`, published ${Ue(x.updatedAt)}`:``,x.tier===`customer`?`. Shared with your team.`:`.`]}):null]}),s.status===`failed`?(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:s.message}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-control bg-canvas-quiet p-3`,children:[(0,X.jsx)(`span`,{className:`flex gap-1`,children:s.status===`ready`&&s.draft.specimen.colors.length>0?s.draft.specimen.colors.map(e=>(0,X.jsx)(`span`,{className:`size-5 rounded-full ring-1 ring-line ring-inset`,style:{background:e}},e)):[0,1,2,3].map(e=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`size-5 rounded-full bg-line`},e))}),(0,X.jsx)(`span`,{className:`min-h-4 truncate text-xs text-muted-foreground`,children:s.status===`ready`?s.draft.specimen.fonts.slice(0,3).join(` · `)||`No type faces named in DESIGN.md`:`Reading DESIGN.md`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(je,{htmlFor:i,children:`Name`}),(0,X.jsx)(qe,{id:i,value:l,maxLength:180,disabled:s.status!==`ready`,onChange:e=>u(e.target.value)})]}),x?null:(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(je,{children:`Who can use it`}),(0,X.jsxs)(Ge,{className:`w-fit`,variant:`segmented`,value:[d],onValueChange:e=>{let t=e[0];(t===`user`||t===`customer`)&&f(t)},children:[(0,X.jsx)(Ke,{value:`user`,children:`Only me`}),(0,X.jsx)(Ke,{value:`customer`,children:`Your team`})]})]}),s.status===`ready`&&s.draft.tooLarge?(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:`DESIGN.md and tokens.css are too long to send with every design. Ask Borg to tighten them.`}):null,g===null?null:(0,X.jsx)(`p`,{className:`text-[13px] text-destructive-foreground`,children:g}),(0,X.jsx)(h,{type:`submit`,className:`self-end`,disabled:s.status!==`ready`||s.draft.tooLarge||!l.trim()||p,children:p?x?`Updating`:`Publishing`:D})]})})]})}function Vr(){let e=(0,K.c)(3),t=ki(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Br,{}),e[0]=n):n=e[0];let r;return e[1]===t.threadRef.environmentId?r=e[2]:(r=(0,X.jsx)(Ae,{environmentId:t.threadRef.environmentId,children:n}),e[1]=t.threadRef.environmentId,e[2]=r),r}var Hr=[{value:`desktop`,label:`Desktop`,icon:x},{value:`tablet`,label:`Tablet`,icon:It},{value:`phone`,label:`Phone`,icon:Et}],Ur={width:1280,height:720},Wr=[{value:`fit`,label:`Fit to window`},{value:50,label:`50%`},{value:75,label:`75%`},{value:100,label:`100%`}],Gr=[{kind:`page`,label:`Pages`},{kind:`style`,label:`Styles`},{kind:`script`,label:`Scripts`},{kind:`image`,label:`Images`},{kind:`other`,label:`Other files`}];function Kr(e){return e.split(`/`).findLast(e=>e.length>0)??e}function qr(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||void 0}function Jr(e){let t=(0,K.c)(12),n;t[0]!==e.disabled||t[1]!==e.label||t[2]!==e.onClick?(n=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":e.label,disabled:e.disabled,onClick:e.onClick,className:`rounded-full`}),t[0]=e.disabled,t[1]=e.label,t[2]=e.onClick,t[3]=n):n=t[3];let r;t[4]!==e.children||t[5]!==n?(r=(0,X.jsx)(A,{render:n,children:e.children}),t[4]=e.children,t[5]=n,t[6]=r):r=t[6];let i;t[7]===e.label?i=t[8]:(i=(0,X.jsx)(F,{side:`bottom`,children:e.label}),t[7]=e.label,t[8]=i);let a;return t[9]!==r||t[10]!==i?(a=(0,X.jsxs)(M,{children:[r,i]}),t[9]=r,t[10]=i,t[11]=a):a=t[11],a}function Yr(e){let t=(0,K.c)(11),n=e.state===`designing`||e.state===`loading`,r=e.state===`failed`,i=r?`alert`:`status`,a=n?`font-[550] text-brand-ink`:r?`font-[550] text-destructive`:`text-muted-foreground`,o;t[0]===a?o=t[1]:(o=g(`inline-flex items-center gap-2 text-[13px]`,a),t[0]=a,t[1]=o);let s=n?`bg-brand-ink`:r?`bg-destructive`:`bg-muted-foreground`,c;t[2]===s?c=t[3]:(c=g(`size-[5px] rounded-full`,s),t[2]=s,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,X.jsx)(`span`,{"aria-hidden":!0,className:c}),t[4]=c,t[5]=l);let u=e.state===`designing`?`Designing`:e.state===`loading`?`Opening the design`:r?`This file could not be opened`:e.state===`tunnel`?`The canvas is not available over the Borg tunnel yet`:`No design yet`,d;return t[6]!==i||t[7]!==o||t[8]!==l||t[9]!==u?(d=(0,X.jsx)(`div`,{className:`grid h-full place-items-center rounded-control bg-card ring-1 ring-line`,children:(0,X.jsxs)(`span`,{role:i,className:o,children:[l,u]})}),t[6]=i,t[7]=o,t[8]=l,t[9]=u,t[10]=d):d=t[10],d}function Xr(e){let t=(0,K.c)(3),{threadRef:n,workspaceRoot:r}=ki(),i=Ze(n.environmentId,r??``,e.relativePath,r!==null),a;return t[0]!==i.data||t[1]!==i.error?(a=(0,X.jsx)(`div`,{className:`h-full overflow-auto rounded-control bg-card ring-1 ring-line`,children:i.data?(0,X.jsx)(`pre`,{className:`min-w-max p-5 font-mono text-xs leading-relaxed whitespace-pre text-foreground`,children:i.data.contents}):(0,X.jsx)(Yr,{state:i.error?`failed`:`loading`})}),t[0]=i.data,t[1]=i.error,t[2]=a):a=t[2],a}function Zr(e,t,n,r){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=a.left-i.left+n.x*r+14,s=a.top-i.top+n.y*r-10;return{left:Math.max(8,Math.min(o,i.width-288-8)),top:Math.max(8,Math.min(s,i.height-176-8))}}function Qr(e){let t=(0,K.c)(32),[n,r]=(0,G.useState)(``),i;t[0]===n?i=t[1]:(i=n.trim(),t[0]=n,t[1]=i);let a=i,o;t[2]!==e.note.left||t[3]!==e.note.top?(o={left:e.note.left,top:e.note.top},t[2]=e.note.left,t[3]=e.note.top,t[4]=o):o=t[4];let s;t[5]!==e||t[6]!==a?(s=t=>{t.preventDefault(),a&&(e.note.sketch?e.onSend(a):e.onComment(a))},t[5]=e,t[6]=a,t[7]=s):s=t[7];let c;t[8]===e.note.sketch?c=t[9]:(c=e.note.sketch?(0,X.jsx)(U,{"aria-hidden":!0,className:`size-3 shrink-0`}):(0,X.jsx)(gt,{"aria-hidden":!0,className:`size-3 shrink-0`}),t[8]=e.note.sketch,t[9]=c);let l;t[10]===e.note.label?l=t[11]:(l=(0,X.jsx)(`span`,{className:`truncate`,children:e.note.label}),t[10]=e.note.label,t[11]=l);let u;t[12]!==c||t[13]!==l?(u=(0,X.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 self-start truncate rounded-full bg-accent px-2 py-0.5 text-xs text-secondary-label`,children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>r(e.target.value),t[15]=d):d=t[15];let f;t[16]!==e||t[17]!==a?(f=t=>{if(t.key===`Escape`)t.preventDefault(),e.onClose();else if(t.key===`Enter`&&(t.metaKey||t.ctrlKey)){if(t.preventDefault(),!a)return;e.note.sketch?e.onSend(a):e.onComment(a)}},t[16]=e,t[17]=a,t[18]=f):f=t[18];let p=e.note.sketch?`What should change here?`:`Leave a comment`,m;t[19]!==f||t[20]!==p||t[21]!==n?(m=(0,X.jsx)(P,{unstyled:!0,autoFocus:!0,value:n,onChange:d,onKeyDown:f,placeholder:p,"aria-label":`Comment`,className:`w-full [&_textarea]:min-h-16 [&_textarea]:resize-none [&_textarea]:px-0.5 [&_textarea]:py-0`}),t[19]=f,t[20]=p,t[21]=n,t[22]=m):m=t[22];let g;t[23]!==e||t[24]!==a?(g=(0,X.jsx)(`div`,{className:`flex justify-end gap-1.5`,children:e.note.sketch?(0,X.jsx)(h,{type:`button`,size:`xs`,className:`rounded-full`,disabled:!a,onClick:()=>e.onSend(a),children:`Send to Borg`}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(h,{type:`button`,variant:`ghost`,size:`xs`,className:`rounded-full`,disabled:!a,onClick:()=>e.onSend(a),children:`Send to Borg`}),(0,X.jsx)(h,{type:`submit`,size:`xs`,className:`rounded-full`,disabled:!a,children:`Comment`})]})}),t[23]=e,t[24]=a,t[25]=g):g=t[25];let _;return t[26]!==o||t[27]!==g||t[28]!==s||t[29]!==u||t[30]!==m?(_=(0,X.jsxs)(`form`,{className:`dropdown-glass absolute z-20 flex w-72 flex-col gap-2 rounded-control p-2.5`,style:o,onSubmit:s,children:[u,m,g]}),t[26]=o,t[27]=g,t[28]=s,t[29]=u,t[30]=m,t[31]=_):_=t[31],_}function $r(e){let t=(0,K.c)(17),n=(0,G.useRef)(null),r=(0,G.useRef)(null),[i]=(0,G.useState)(ri),a=(0,G.useRef)(e.onClose),o;t[0]===e.onClose?o=t[1]:(o=()=>{a.current=e.onClose},t[0]=e.onClose,t[1]=o),(0,G.useEffect)(o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>a.current(),t[2]=s):s=t[2];let c=s,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],t[3]=l):l=t[3],(0,G.useEffect)(ni,l);let u,d;t[4]===i?(u=t[5],d=t[6]):(u=()=>{i.connect(),i.attach(r.current);let e=i.subscribe(e=>{e.type===`ready`?(i.send({type:`mode`,mode:`present`,scale:1,ink:`#000`,wash:`transparent`}),r.current?.focus()):e.type===`key`&&e.key===`Escape`&&c()});return()=>{e(),i.disconnect()}},d=[i,c],t[4]=i,t[5]=u,t[6]=d),(0,G.useEffect)(u,d);let f,p;t[7]===e.fullscreen?(f=t[8],p=t[9]):(f=()=>{let t=n.current;e.fullscreen&&t&&t.requestFullscreen?.().catch(ti);let r=e=>{e.key===`Escape`&&c()},i=()=>{e.fullscreen&&!document.fullscreenElement&&c()};return window.addEventListener(`keydown`,r),document.addEventListener(`fullscreenchange`,i),()=>{window.removeEventListener(`keydown`,r),document.removeEventListener(`fullscreenchange`,i),document.fullscreenElement&&document.exitFullscreen().catch(ei)}},p=[c,e.fullscreen],t[7]=e.fullscreen,t[8]=f,t[9]=p),(0,G.useEffect)(f,p);let m=`Presenting ${e.title}`,g;t[10]!==e.title||t[11]!==e.url?(g=(0,X.jsx)(`iframe`,{ref:r,src:e.url,sandbox:`allow-scripts`,allow:``,referrerPolicy:`no-referrer`,title:e.title,className:`size-full border-0 bg-white`}),t[10]=e.title,t[11]=e.url,t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsxs)(h,{variant:`glass`,size:`xs`,onClick:c,className:`absolute top-3.5 right-3.5 rounded-full`,children:[(0,X.jsx)(j,{"aria-hidden":!0}),`Exit`]}),t[13]=_):_=t[13];let v;return t[14]!==m||t[15]!==g?(v=(0,X.jsxs)(`div`,{ref:n,role:`dialog`,"aria-label":m,className:`fixed inset-0 z-100 flex items-center justify-center bg-black`,children:[g,_]}),t[14]=m,t[15]=g,t[16]=v):v=t[16],v}function ei(){}function ti(){}function ni(){let e=document.activeElement;return()=>{e instanceof HTMLElement&&e.isConnected&&e.focus()}}function ri(){return new Xn}var ii=(0,G.memo)(function(e){let t=ki(),{bridge:n,current:r,view:a,setView:p,setMode:y,ready:x,version:S,versions:E,showVersion:O,edits:k}=t,j=L(),P=me(e=>e.kinds[_(t.threadRef)]??null),R=(0,G.useRef)(null),ne=(0,G.useRef)(null),[re,ie]=(0,G.useState)(null),[B,V]=(0,G.useState)(null),[H,le]=(0,G.useState)(null),[W,ue]=(0,G.useState)(!1),[fe,he]=(0,G.useState)(!1),[ge,ve]=(0,G.useState)(null),[ye,xe]=(0,G.useState)(!1),Ce=re?.scale??1,Te=r?.kind===`page`,De=a.mode,ke=(0,G.useCallback)(()=>le(null),[]);(0,G.useEffect)(()=>{if(xe(!1),!ge||x)return;let e=window.setTimeout(()=>xe(!0),5e3);return()=>window.clearTimeout(e)},[ge,x]);let Ae=(0,G.useCallback)(e=>{ne.current=e,n.attach(e)},[n]);(0,G.useEffect)(()=>{x&&n.send({type:`mode`,mode:De,scale:Ce,ink:qr(`--brand-ink`)??`#7552b0`,wash:qr(`--selection`)??`rgba(117,82,176,0.18)`})},[n,De,x,Ce]);let je=(0,G.useCallback)(()=>{V(null),n.send({type:`clear-ink`})},[n]);(0,G.useEffect)(()=>{De!==`comment`&&V(null)},[De]),(0,G.useEffect)(()=>n.subscribe(e=>{let t=R.current,n=ne.current;if(e.type===`key`&&e.key===`Escape`){B?je():y(`select`);return}!t||!n||De!==`comment`||(e.type===`pick`?V({...Zr(t,n,e.point,Ce),label:e.target.label,sketch:!1,anchor:e.anchor,target:e.target}):e.type===`ink`&&V({...Zr(t,n,e.point,Ce),label:e.target?`Sketch on ${e.target.label}`:`Sketch`,sketch:!0,anchor:e.anchor,target:e.target,ink:{points:e.points,bounds:e.bounds}}))}),[n,je,De,B,Ce,y]),(0,G.useEffect)(()=>{if(De===`select`&&!B)return;let e=e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target;t instanceof HTMLElement&&(t.isContentEditable||t.closest(`input, textarea, select, [role=dialog]`))||(B?je():y(`select`))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[je,De,B,y]);let Me=r?.url&&Te?Qn(r.url):null,Fe=(x?.slideCount??0)>0,Le=async(e,n)=>{if(!W){ue(!0);try{let e=await t.freshUrl();if(!e)throw Error(`The design could not be read.`);await n(e)}catch(t){N.add({type:`error`,title:`Couldn't ${e}`,description:t instanceof Error?t.message:void 0})}finally{ue(!1)}}},ze=r?.path??`design.html`,Be=()=>Le(`download the HTML`,async e=>{let t=await er(e);Ar(new Blob([t],{type:`text/html`}),Kr(ze))}),Ve=()=>{if(W)return;let e=typeof navigator>`u`?void 0:navigator.clipboard;if(!e||typeof ClipboardItem>`u`){N.add({type:`error`,title:`Couldn't copy the HTML`,description:`The clipboard is only available to the app on a secure address.`});return}let n=t.freshUrl().then(e=>{if(!e)throw Error(`The design could not be read.`);return er(e).then(e=>new Blob([e],{type:`text/plain`}))});ue(!0),e.write([new ClipboardItem({"text/plain":n})]).then(()=>N.add({type:`success`,title:`Copied ${Kr(ze)}`})).catch(e=>N.add({type:`error`,title:`Couldn't copy the HTML`,description:e instanceof Error?e.message:void 0})).finally(()=>ue(!1))},He=()=>Le(`export a PDF`,e=>Nr(e,Fe)),We=()=>Le(`export to PowerPoint`,async e=>{let t=await zr(e,x?.title||Kr(ze));N.add({type:`success`,title:`Exported ${t} slide${t===1?``:`s`} to PowerPoint`})}),qe=()=>void Le(`open the design in a browser`,async e=>{let t=I();t&&await t.shell.openExternal(Qn(e))}),Je=e=>void Le(`present the design`,async t=>{le({fullscreen:e,url:t})}),Ye=Fe&&a.viewport===`desktop`,Xe=Ye?Ur:se[a.viewport],Ze=a.zoom===`fit`?a.viewport===`desktop`&&!Ye?`cover-width`:`contain`:{zoom:a.zoom/100},Qe=a.zoom===`fit`?`Fit · ${Math.round(Ce*100)}%`:`${a.zoom}%`,$e=k.length>0||t.saving,et=Gr.map(e=>({...e,files:t.files.filter(t=>t.kind===e.kind)})).filter(e=>e.files.length>0),tt=Te&&!S&&x!==null&&!t.saving;return(0,X.jsxs)(`section`,{"aria-label":`Canvas`,className:g(`relative flex min-h-0 flex-col bg-canvas-quiet`,e.className),"data-design-canvas":!0,children:[(0,X.jsxs)(`div`,{className:`flex h-11 min-h-11 shrink-0 items-center gap-1 border-b border-line bg-background px-2.5`,children:[(0,X.jsx)(Jr,{label:`Reload`,onClick:t.reload,disabled:!r||$e,children:(0,X.jsx)(ee,{})}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:et.length===0||$e,render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`min-w-0 gap-1.5 rounded-full font-[550]`,"aria-label":`Files in this design`}),children:[(0,X.jsx)(Se,{"aria-hidden":!0,className:`text-muted-foreground`}),(0,X.jsx)(`span`,{className:`max-w-44 truncate`,children:r?Kr(r.path):`Design`}),(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3 text-muted-foreground`})]}),(0,X.jsx)(o,{align:`start`,className:`min-w-56`,children:et.map((e,n)=>(0,X.jsxs)(c,{children:[n>0?(0,X.jsx)(v,{}):null,(0,X.jsx)(l,{children:e.label}),(0,X.jsx)(s,{value:r?.path??``,onValueChange:e=>t.openFile(e),children:e.files.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:e.path,children:(0,X.jsx)(`span`,{className:`truncate`,children:Kr(e.path)})},e.path))})]},e.kind))})]}),E.length>0?(0,X.jsxs)(m,{children:[(0,X.jsxs)(M,{children:[(0,X.jsx)(A,{render:(0,X.jsx)(f,{disabled:$e,render:(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Versions`,className:g(`rounded-full`,S&&`bg-selection text-brand-ink`)})}),children:(0,X.jsx)(Pe,{})}),(0,X.jsx)(F,{side:`bottom`,children:`Versions`})]}),(0,X.jsx)(o,{align:`start`,className:`min-w-60`,children:(0,X.jsxs)(c,{children:[(0,X.jsxs)(l,{children:[`Versions of `,r?Kr(r.path):`this page`]}),(0,X.jsxs)(s,{value:S?String(S.turnCount):`current`,onValueChange:e=>O(e===`current`?null:E.find(t=>String(t.turnCount)===e)??null),children:[(0,X.jsx)(u,{closeOnClick:!0,value:`current`,children:`Current`}),E.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:String(e.turnCount),children:(0,X.jsxs)(`span`,{className:`flex w-full items-center justify-between gap-4`,children:[(0,X.jsxs)(`span`,{children:[`After turn `,e.turnCount]}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:Ue(e.completedAt)})]})},e.turnCount))]})]})})]}):null,(0,X.jsx)(`span`,{className:`flex-1`}),Te?(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`gap-1 rounded-full text-muted-foreground tabular-nums max-sm:hidden`,"aria-label":`Zoom and width`}),children:[Qe,(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3`})]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-52`,children:[(0,X.jsxs)(c,{children:[(0,X.jsx)(l,{children:`Zoom`}),(0,X.jsx)(s,{value:String(a.zoom),onValueChange:e=>p({zoom:e===`fit`?`fit`:Number(e)}),children:Wr.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:String(e.value),children:e.label},e.label))})]}),(0,X.jsx)(v,{}),(0,X.jsxs)(c,{children:[(0,X.jsx)(l,{children:`Width`}),(0,X.jsx)(s,{value:a.viewport,onValueChange:e=>p({viewport:e}),children:Hr.map(e=>(0,X.jsx)(u,{closeOnClick:!0,value:e.value,children:(0,X.jsxs)(`span`,{className:`flex w-full items-center gap-2`,children:[(0,X.jsx)(e.icon,{"aria-hidden":!0,className:`size-4 text-muted-foreground`}),(0,X.jsx)(`span`,{className:`flex-1`,children:e.label}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:se[e.value].width})]})},e.value))})]})]})]}):null,(0,X.jsxs)(Ge,{"aria-label":`Canvas mode`,variant:`segmented`,value:[De],onValueChange:e=>{let t=e[0];y(t??`select`)},children:[(0,X.jsxs)(M,{children:[(0,X.jsx)(A,{render:(0,X.jsx)(Ke,{value:`select`,"aria-label":`Select`,className:`px-2`,disabled:!tt}),children:(0,X.jsx)(Ie,{"aria-hidden":!0,className:`size-3.5`})}),(0,X.jsx)(F,{side:`bottom`,children:`Select`})]}),(0,X.jsxs)(Ke,{value:`comment`,"aria-label":`Comment`,className:`gap-1.5 px-2`,disabled:!tt,children:[(0,X.jsx)(Ne,{"aria-hidden":!0,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`max-lg:hidden`,children:`Comment`})]}),(0,X.jsxs)(Ke,{value:`edit`,"aria-label":`Edit`,className:`gap-1.5 px-2`,disabled:!tt,children:[(0,X.jsx)(U,{"aria-hidden":!0,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`max-lg:hidden`,children:`Edit`})]})]}),(0,X.jsx)(`span`,{"aria-hidden":!0,className:`mx-1 h-4.5 w-px bg-line max-md:hidden`}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:!Me,render:(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`gap-1.5 rounded-full max-md:hidden`}),children:[(0,X.jsx)(Re,{"aria-hidden":!0}),`Present`,(0,X.jsx)(d,{"aria-hidden":!0,className:`size-3 text-muted-foreground`})]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-52`,children:[(0,X.jsxs)(i,{onClick:()=>Je(!1),children:[(0,X.jsx)(Re,{"aria-hidden":!0}),`Present in this window`]}),(0,X.jsxs)(i,{onClick:()=>Je(!0),children:[(0,X.jsx)(T,{"aria-hidden":!0}),`Present full screen`]})]})]}),(0,X.jsxs)(m,{children:[(0,X.jsxs)(f,{disabled:!Me||W,render:(0,X.jsx)(h,{variant:t.authoring?`ghost`:`default`,size:`xs`,className:`gap-1.5 rounded-full`}),children:[(0,X.jsx)(Ee,{"aria-hidden":!0}),`Export`]}),(0,X.jsxs)(o,{align:`end`,className:`min-w-56`,children:[(0,X.jsxs)(i,{onClick:()=>void Be(),children:[(0,X.jsx)(C,{"aria-hidden":!0}),`Download HTML`]}),(0,X.jsxs)(i,{onClick:Ve,children:[(0,X.jsx)(D,{"aria-hidden":!0}),`Copy HTML`]}),(0,X.jsxs)(i,{onClick:()=>void He(),children:[(0,X.jsx)(b,{"aria-hidden":!0}),`PDF`]}),Fe?(0,X.jsxs)(i,{onClick:()=>void We(),children:[(0,X.jsx)(w,{"aria-hidden":!0}),`PowerPoint`]}):null,(0,X.jsx)(v,{}),I()?(0,X.jsxs)(i,{onClick:qe,children:[(0,X.jsx)(z,{"aria-hidden":!0}),`Open in browser`]}):null,(0,X.jsxs)(i,{onClick:t.sendToWork,children:[(0,X.jsx)(de,{"aria-hidden":!0}),`Send to `,ae(`code`,j)]})]})]}),t.authoring?(0,X.jsx)(Vr,{}):null]}),S?(0,X.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center gap-2 border-b border-line bg-selection px-3 text-[13px] text-brand-ink`,children:[(0,X.jsx)(Pe,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-[550]`,children:[`After turn `,S.turnCount,` · `,Ue(S.completedAt)]}),(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>O(null),children:`Back to current`}),(0,X.jsx)(h,{size:`xs`,className:`rounded-full`,disabled:t.restoring||t.designing,onClick:()=>he(!0),children:t.restoring?`Restoring`:`Restore`})]}):null,ye&&Te&&!S?(0,X.jsx)(`div`,{role:`status`,className:`flex h-9 shrink-0 items-center border-b border-line bg-background px-3 text-[13px] text-muted-foreground`,children:`Comment and Edit are not available for this page.`}):null,(0,X.jsxs)(`div`,{ref:R,className:`relative min-h-0 flex-1 p-4 max-sm:p-2`,children:[r?r.failure?(0,X.jsx)(Yr,{state:r.failure===`tunnel`?`tunnel`:`failed`}):r.kind===`page`?r.url?(0,X.jsx)(_e,{src:r.url,viewport:Xe,fit:Ze,interactive:!0,title:`Design: ${Kr(r.path)}`,frameRef:Ae,onGeometry:ie,onLoad:()=>ve(r.url),frameClassName:a.viewport===`desktop`&&a.zoom===`fit`&&!Ye?`rounded-control ring-1 ring-line`:`rounded-tile shadow-card ring-1 ring-line`},r.url):(0,X.jsx)(Yr,{state:`loading`}):r.kind===`image`?(0,X.jsx)(`div`,{className:`grid h-full place-items-center overflow-auto rounded-control bg-card ring-1 ring-line`,children:r.url?(0,X.jsx)(`img`,{src:r.url,alt:Kr(r.path),className:`max-h-full max-w-full object-contain`}):null}):(0,X.jsx)(Xr,{relativePath:r.path}):t.designing?(0,X.jsx)(An,{kind:P}):(0,X.jsx)(Yr,{state:`empty`}),B?(0,X.jsx)(Qr,{note:B,onClose:je,onComment:e=>{t.addComment({text:e,label:B.label,anchor:B.anchor,target:B.target}),je()},onSend:e=>{t.sendToAgent({comment:e,target:B.target,...B.ink?{ink:B.ink}:{}}),je(),y(`select`)}},`${B.left}:${B.top}:${B.label}`):null]}),H&&Te?(0,X.jsx)($r,{url:H.url,title:t.title||Kr(ze),fullscreen:H.fullscreen,onClose:ke}):null,(0,X.jsx)(ce,{open:fe,onOpenChange:he,children:(0,X.jsxs)(be,{children:[(0,X.jsxs)(Oe,{children:[(0,X.jsxs)(we,{children:[`Restore `,Kr(ze),` to turn `,S?.turnCount,`?`]}),(0,X.jsx)(te,{children:`The page as it is now, including edits saved from the canvas, is replaced. Borg hears about it with your next message.`})]}),(0,X.jsxs)(pe,{children:[(0,X.jsx)(oe,{render:(0,X.jsx)(h,{variant:`outline`}),children:`Cancel`}),(0,X.jsx)(h,{onClick:()=>{he(!1),t.restoreVersion()},children:`Restore`})]})]})})]})}),ai=(0,G.memo)(function(e){let t=(0,K.c)(50),n=ki(),{comments:r,focusedCommentId:i,setFocusedCommentId:a}=n,[o,s]=(0,G.useState)(``),c=(0,G.useRef)(null),l,u;t[0]===i?(l=t[1],u=t[2]):(l=()=>{i&&c.current?.querySelector(`[data-comment-id="${CSS.escape(i)}"]`)?.scrollIntoView({block:`nearest`})},u=[i],t[0]=i,t[1]=l,t[2]=u),(0,G.useEffect)(l,u);let d;t[3]!==o||t[4]!==n?(d=()=>{let e=o.trim();e&&(n.addComment({text:e,label:``,anchor:null,target:null}),s(``))},t[3]=o,t[4]=n,t[5]=d):d=t[5];let f=d,p;t[6]===e.className?p=t[7]:(p=g(`flex min-h-0 flex-col bg-background`,e.className),t[6]=e.className,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(`h2`,{className:`flex-1 text-[13px] font-[550] text-foreground`,children:`Comments`}),t[8]=m):m=t[8];let _;t[9]!==r||t[10]!==a||t[11]!==n?(_=r.length>1?(0,X.jsx)(h,{variant:`outline`,size:`xs`,className:`rounded-full`,onClick:()=>{n.sendCommentsToAgent(r);for(let e of r)n.removeComment(e.id);a(null),n.setMode(`select`)},children:`Send all to Borg`}):null,t[9]=r,t[10]=a,t[11]=n,t[12]=_):_=t[12];let v;t[13]===n?v=t[14]:(v=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close comments`,className:`rounded-full`,onClick:()=>n.setMode(`select`)}),t[13]=n,t[14]=v);let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(j,{}),t[15]=y):y=t[15];let b;t[16]===v?b=t[17]:(b=(0,X.jsx)(A,{render:v,children:y}),t[16]=v,t[17]=b);let x;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,X.jsx)(F,{side:`bottom`,children:`Close comments`}),t[18]=x):x=t[18];let S;t[19]===b?S=t[20]:(S=(0,X.jsxs)(M,{children:[b,x]}),t[19]=b,t[20]=S);let C;t[21]!==S||t[22]!==_?(C=(0,X.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-line ps-4 pe-2`,children:[m,_,S]}),t[21]=S,t[22]=_,t[23]=C):C=t[23];let w;t[24]!==r||t[25]!==i||t[26]!==a||t[27]!==n?(w=(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:r.length===0?(0,X.jsx)(`p`,{className:`px-6 py-8 text-center text-[13px] leading-normal text-muted-foreground`,children:`No comments yet. Click the page to comment on an element, or drag to draw.`}):(0,X.jsx)(`ol`,{ref:c,className:`flex flex-col gap-0.5 p-2`,children:r.map((e,t)=>(0,X.jsxs)(`li`,{"data-comment-id":e.id,"aria-current":e.id===i?`true`:void 0,className:`grid grid-cols-[24px_minmax(0,1fr)] gap-x-2.5 gap-y-1 rounded-control p-2.5 aria-[current=true]:bg-accent`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`grid size-6 place-items-center rounded-[999px_999px_999px_4px] bg-brand-ink text-[11px] font-semibold text-white`,children:e.anchor?t+1:`·`}),(0,X.jsx)(`p`,{className:`text-[12px] text-muted-foreground tabular-nums`,children:Ue(e.createdAt)}),(0,X.jsx)(`p`,{className:`col-start-2 text-[13px] leading-snug text-body`,children:e.text}),e.label?(0,X.jsxs)(`span`,{className:`col-start-2 inline-flex max-w-full items-center gap-1 justify-self-start truncate rounded-full bg-accent px-2 py-0.5 text-xs text-secondary-label`,children:[(0,X.jsx)(gt,{"aria-hidden":!0,className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label})]}):null,(0,X.jsxs)(`div`,{className:`col-start-2 -ms-2 flex gap-1`,children:[(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>{n.sendToAgent({comment:e.text,target:e.target}),n.removeComment(e.id),n.setMode(`select`)},children:`Send to Borg`}),(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,onClick:()=>{i===e.id&&a(null),n.resolveComment(e.id)},children:`Resolve`})]})]},e.id))})}),t[24]=r,t[25]=i,t[26]=a,t[27]=n,t[28]=w):w=t[28];let T;t[29]===f?T=t[30]:(T=e=>{e.preventDefault(),f()},t[29]=f,t[30]=T);let E;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>s(e.target.value),t[31]=E):E=t[31];let D;t[32]===f?D=t[33]:(D=e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())},t[32]=f,t[33]=D);let O;t[34]!==o||t[35]!==D?(O=(0,X.jsx)(P,{unstyled:!0,value:o,onChange:E,onKeyDown:D,placeholder:`Add a comment`,"aria-label":`Add a comment`,className:`w-full [&_textarea]:min-h-14 [&_textarea]:resize-none [&_textarea]:px-1 [&_textarea]:py-0.5`}),t[34]=o,t[35]=D,t[36]=O):O=t[36];let k;t[37]===o?k=t[38]:(k=o.trim(),t[37]=o,t[38]=k);let N=!k,I;t[39]===N?I=t[40]:(I=(0,X.jsx)(`div`,{className:`flex items-center justify-end gap-2 ps-1`,children:(0,X.jsx)(h,{type:`submit`,size:`xs`,className:`rounded-full`,disabled:N,children:`Comment`})}),t[39]=N,t[40]=I);let L;t[41]!==T||t[42]!==O||t[43]!==I?(L=(0,X.jsxs)(`form`,{className:`m-2.5 shrink-0 rounded-tile bg-card p-2.5 shadow-card ring-1 ring-line`,onSubmit:T,children:[O,I]}),t[41]=T,t[42]=O,t[43]=I,t[44]=L):L=t[44];let R;return t[45]!==C||t[46]!==w||t[47]!==L||t[48]!==p?(R=(0,X.jsxs)(`section`,{"aria-label":`Comments`,className:p,children:[C,w,L]}),t[45]=C,t[46]=w,t[47]=L,t[48]=p,t[49]=R):R=t[49],R}),oi=[{value:`simple`,label:`Simple`},{value:`layers`,label:`Layers`},{value:`code`,label:`Code`},{value:`tweaks`,label:`Tweaks`}],si=new Map;function ci(e){let t=si.get(e);if(t!==void 0)return t;let n=document.createElement(`span`);n.style.color=e;let r=`#000000`;if(n.style.color){document.body.append(n);let e=nr(getComputedStyle(n).color);n.remove(),r=e===null?`#000000`:e===`transparent`?`#ffffff`:e}return si.size>500&&si.clear(),si.set(e,r),r}var li=e=>/^(#|rgb|hsl|hwb|lab|lch|oklab|oklch|color\()/i.test(e.trim())||/^[a-z]+$/i.test(e.trim())&&CSS.supports(`color`,e.trim());function ui(e){let t=(0,K.c)(6),n;t[0]!==e.htmlFor||t[1]!==e.label?(n=(0,X.jsx)(`label`,{htmlFor:e.htmlFor,className:`text-xs font-[550] text-secondary-label`,children:e.label}),t[0]=e.htmlFor,t[1]=e.label,t[2]=n):n=t[2];let r;return t[3]!==e.children||t[4]!==n?(r=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[n,e.children]}),t[3]=e.children,t[4]=n,t[5]=r):r=t[5],r}function di(e){let t=(0,K.c)(18),n=(0,G.useId)(),r=e.label,i=e.min,a=e.max,o=Math.min(e.max,Math.max(e.min,e.value)),s;t[0]===e?s=t[1]:(s=t=>e.onChange(Number(t.target.value)),t[0]=e,t[1]=s);let c;t[2]!==n||t[3]!==e.max||t[4]!==e.min||t[5]!==o||t[6]!==s?(c=(0,X.jsx)(`input`,{id:n,type:`range`,min:i,max:a,value:o,onChange:s,className:`min-w-0 flex-1 accent-brand-ink`}),t[2]=n,t[3]=e.max,t[4]=e.min,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]!==n||t[9]!==e.value?(l=(0,X.jsxs)(`output`,{htmlFor:n,className:`w-11 text-right text-xs text-foreground tabular-nums`,children:[e.value,`px`]}),t[8]=n,t[9]=e.value,t[10]=l):l=t[10];let u;t[11]!==c||t[12]!==l?(u=(0,X.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[c,l]}),t[11]=c,t[12]=l,t[13]=u):u=t[13];let d;return t[14]!==n||t[15]!==e.label||t[16]!==u?(d=(0,X.jsx)(ui,{label:r,htmlFor:n,children:u}),t[14]=n,t[15]=e.label,t[16]=u,t[17]=d):d=t[17],d}function fi(e){let t=(0,K.c)(29),n=(0,G.useId)(),r;t[0]===e.value?r=t[1]:(r=nr(e.value),t[0]=e.value,t[1]=r);let i=r,a;t[2]===e.palette?a=t[3]:(a=new Set(e.palette.map(nr)),t[2]=e.palette,t[3]=a);let o;t[4]===a?o=t[5]:(o=[...a].filter(pi),t[4]=a,t[5]=o);let s=o,c=e.label,l=e.label,u;t[6]!==i||t[7]!==e?(u=e.allowNone?(0,X.jsx)(`button`,{type:`button`,"aria-label":`None`,"aria-pressed":i===`transparent`,onClick:()=>e.onChange(`transparent`),className:`size-6.5 cursor-pointer rounded-full bg-[repeating-conic-gradient(var(--line)_0_25%,transparent_0_50%)] bg-[length:10px_10px] ring-1 ring-black/12 ring-inset aria-pressed:ring-2 aria-pressed:ring-brand-ink aria-pressed:ring-offset-2 aria-pressed:ring-offset-background`}):null,t[6]=i,t[7]=e,t[8]=u):u=t[8];let d;t[9]!==i||t[10]!==e||t[11]!==s?(d=s.map(t=>(0,X.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i===t,onClick:()=>e.onChange(t),style:{background:t},className:`size-6.5 cursor-pointer rounded-full ring-1 ring-black/12 ring-inset aria-pressed:ring-2 aria-pressed:ring-brand-ink aria-pressed:ring-offset-2 aria-pressed:ring-offset-background`},t)),t[9]=i,t[10]=e,t[11]=s,t[12]=d):d=t[12];let f=`${e.label}: pick any color`,p=i===null?`#000000`:i===`transparent`?`#ffffff`:i,m;t[13]===e?m=t[14]:(m=t=>e.onChange(t.target.value),t[13]=e,t[14]=m);let h;t[15]!==n||t[16]!==f||t[17]!==p||t[18]!==m?(h=(0,X.jsx)(`input`,{id:n,type:`color`,"aria-label":f,value:p,onChange:m,className:`size-6.5 cursor-pointer rounded-full border-0 bg-transparent p-0 [&::-webkit-color-swatch]:rounded-full [&::-webkit-color-swatch]:border-0 [&::-webkit-color-swatch-wrapper]:p-0`}),t[15]=n,t[16]=f,t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;t[20]!==e.label||t[21]!==h||t[22]!==u||t[23]!==d?(g=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":l,children:[u,d,h]}),t[20]=e.label,t[21]=h,t[22]=u,t[23]=d,t[24]=g):g=t[24];let _;return t[25]!==n||t[26]!==e.label||t[27]!==g?(_=(0,X.jsx)(ui,{label:c,htmlFor:n,children:g}),t[25]=n,t[26]=e.label,t[27]=g,t[28]=_):_=t[28],_}function pi(e){return e!==null&&e!==`transparent`}function mi(e){let t=(0,K.c)(66),{bridge:n,addEdit:r}=ki(),{selection:i}=e,[a,o]=(0,G.useState)(i.editableText??``),[s]=(0,G.useState)(i.editableText??``),[c,l]=(0,G.useState)(!1),u=(0,G.useId)(),d=i.editableText,f,p;t[0]!==d||t[1]!==c?(f=()=>{!c&&d!==null&&o(d)},p=[d,c],t[0]=d,t[1]=c,t[2]=f,t[3]=p):(f=t[2],p=t[3]),(0,G.useEffect)(f,p);let m;t[4]===i.styles?m=t[5]:(m=e=>Math.round(Number.parseFloat(i.styles[e]??`0`)||0),t[4]=i.styles,t[5]=m);let h=m,g;t[6]!==r||t[7]!==n||t[8]!==i.label||t[9]!==i.node||t[10]!==i.selector||t[11]!==i.styles?(g=(e,t)=>{n.send({type:`style`,node:i.node,property:e,value:t}),r({edit:{kind:`style`,node:i.node,property:e,value:t},target:i.label,selector:i.selector,property:e,previousValue:i.styles[e]??``,value:t})},t[6]=r,t[7]=n,t[8]=i.label,t[9]=i.node,t[10]=i.selector,t[11]=i.styles,t[12]=g):g=t[12];let _=g,v=i.styles[`text-align`]===`start`?`left`:i.styles[`text-align`],y;t[13]!==r||t[14]!==n||t[15]!==s||t[16]!==i.editableText||t[17]!==i.label||t[18]!==i.node||t[19]!==i.selector||t[20]!==a||t[21]!==u?(y=i.editableText===null?null:(0,X.jsx)(ui,{label:`Text`,htmlFor:u,children:(0,X.jsx)(P,{id:u,size:`sm`,className:`[&_textarea]:resize-none`,value:a,onFocus:()=>l(!0),onBlur:()=>l(!1),onChange:e=>{o(e.target.value),n.send({type:`text`,node:i.node,text:e.target.value}),r({edit:{kind:`text`,node:i.node,text:e.target.value},target:i.label,selector:i.selector,property:`text`,previousValue:s,value:e.target.value})}})}),t[13]=r,t[14]=n,t[15]=s,t[16]=i.editableText,t[17]=i.label,t[18]=i.node,t[19]=i.selector,t[20]=a,t[21]=u,t[22]=y):y=t[22];let b;t[23]===h?b=t[24]:(b=h(`font-size`),t[23]=h,t[24]=b);let x;t[25]===_?x=t[26]:(x=e=>_(`font-size`,`${e}px`),t[25]=_,t[26]=x);let S;t[27]!==b||t[28]!==x?(S=(0,X.jsx)(di,{label:`Size`,min:8,max:160,value:b,onChange:x}),t[27]=b,t[28]=x,t[29]=S):S=t[29];let C=i.styles.color??``,w;t[30]===_?w=t[31]:(w=e=>_(`color`,e),t[30]=_,t[31]=w);let T;t[32]!==e.palette||t[33]!==C||t[34]!==w?(T=(0,X.jsx)(fi,{label:`Color`,value:C,palette:e.palette,onChange:w}),t[32]=e.palette,t[33]=C,t[34]=w,t[35]=T):T=t[35];let E=i.styles[`background-color`]??``,D;t[36]===_?D=t[37]:(D=e=>_(`background-color`,e),t[36]=_,t[37]=D);let O;t[38]!==e.palette||t[39]!==E||t[40]!==D?(O=(0,X.jsx)(fi,{label:`Fill`,value:E,palette:e.palette,allowNone:!0,onChange:D}),t[38]=e.palette,t[39]=E,t[40]=D,t[41]=O):O=t[41];let k;t[42]===v?k=t[43]:(k=v?[v]:[],t[42]=v,t[43]=k);let A;t[44]===_?A=t[45]:(A=e=>{let t=e[0];t&&_(`text-align`,t)},t[44]=_,t[45]=A);let j;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,X.jsx)(Ke,{value:`left`,"aria-label":`Left`,className:`px-2`,children:(0,X.jsx)(nn,{"aria-hidden":!0,className:`size-3.5`})}),t[46]=j):j=t[46];let M;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,X.jsx)(Ke,{value:`center`,"aria-label":`Center`,className:`px-2`,children:(0,X.jsx)(Kt,{"aria-hidden":!0,className:`size-3.5`})}),t[47]=M):M=t[47];let N;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,X.jsx)(Ke,{value:`right`,"aria-label":`Right`,className:`px-2`,children:(0,X.jsx)(pn,{"aria-hidden":!0,className:`size-3.5`})}),t[48]=N):N=t[48];let F;t[49]!==k||t[50]!==A?(F=(0,X.jsx)(ui,{label:`Align`,children:(0,X.jsxs)(Ge,{"aria-label":`Align`,variant:`segmented`,value:k,onValueChange:A,className:`self-start`,children:[j,M,N]})}),t[49]=k,t[50]=A,t[51]=F):F=t[51];let I;t[52]===h?I=t[53]:(I=h(`padding-top`),t[52]=h,t[53]=I);let L;t[54]===_?L=t[55]:(L=e=>_(`padding`,`${e}px`),t[54]=_,t[55]=L);let R;t[56]!==I||t[57]!==L?(R=(0,X.jsx)(di,{label:`Padding`,min:0,max:160,value:I,onChange:L}),t[56]=I,t[57]=L,t[58]=R):R=t[58];let z;return t[59]!==T||t[60]!==O||t[61]!==F||t[62]!==R||t[63]!==y||t[64]!==S?(z=(0,X.jsxs)(`div`,{className:`flex flex-col gap-5 p-4`,children:[y,S,T,O,F,R]}),t[59]=T,t[60]=O,t[61]=F,t[62]=R,t[63]=y,t[64]=S,t[65]=z):z=t[65],z}function hi(e){let t=(0,K.c)(6),n=e.failed?`alert`:void 0,r=e.failed?`text-destructive`:`text-muted-foreground`,i;t[0]===r?i=t[1]:(i=g(`px-6 py-8 text-center text-[13px] leading-normal`,r),t[0]=r,t[1]=i);let a;return t[2]!==e.children||t[3]!==n||t[4]!==i?(a=(0,X.jsx)(`p`,{role:n,className:i,children:e.children}),t[2]=e.children,t[3]=n,t[4]=i,t[5]=a):a=t[5],a}function gi(){let e=(0,K.c)(18),{bridge:t,ready:n,selection:r,edits:i}=ki(),[a,o]=(0,G.useState)(void 0),s;e[0]!==t||e[1]!==n?(s=()=>{if(!n)return;let e=!1;return t.request(`layers`).then(t=>{e||o(t?t.layers??[]:null)}),()=>{e=!0}},e[0]=t,e[1]=n,e[2]=s):s=e[2];let c;if(e[3]!==t||e[4]!==i.length||e[5]!==n?(c=[t,n,i.length],e[3]=t,e[4]=i.length,e[5]=n,e[6]=c):c=e[6],(0,G.useEffect)(s,c),a===void 0){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`Reading the page`}),e[7]=t):t=e[7],t}if(a===null){let t;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{failed:!0,children:`The page did not list its layers.`}),e[8]=t):t=e[8],t}let l;if(e[9]!==t||e[10]!==a||e[11]!==r?.node){let n;e[13]!==t||e[14]!==r?.node?(n=e=>(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,"aria-current":r?.node===e.node?`true`:void 0,onClick:()=>t.send({type:`select`,node:e.node}),style:{paddingInlineStart:8+e.depth*14},className:`flex h-7 w-full cursor-pointer items-center gap-2 rounded-small pe-2 text-left text-[13px] text-foreground hover:bg-accent aria-[current=true]:bg-selection aria-[current=true]:text-brand-ink`,children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),(0,X.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:e.tagName})]})},e.node),e[13]=t,e[14]=r?.node,e[15]=n):n=e[15],l=a.map(n),e[9]=t,e[10]=a,e[11]=r?.node,e[12]=l}else l=e[12];let u;return e[16]===l?u=e[17]:(u=(0,X.jsx)(`ul`,{className:`flex flex-col p-1.5`,"aria-label":`Layers`,children:l}),e[16]=l,e[17]=u),u}function _i(e){let t=(0,K.c)(32),{bridge:n,addEdit:r}=ki(),{source:i,selection:a}=e,o;t[0]!==a.node||t[1]!==i.status||t[2]!==i.text?(o=i.status===`ready`?re(i.text,a.node):null,t[0]=a.node,t[1]=i.status,t[2]=i.text,t[3]=o):o=t[3];let s=o,[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(!1),m=(0,G.useId)();if(i.status===`reading`){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(hi,{children:`Reading the source`}),t[4]=e):e=t[4],e}if(i.status===`failed`||s===null){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(hi,{failed:!0,children:`The source of this element could not be read.`}),t[5]=e):e=t[5],e}let g=c??s,_=u??g,v;t[6]!==r||t[7]!==n||t[8]!==s||t[9]!==a.label||t[10]!==a.node||t[11]!==a.selector||t[12]!==_?(v=()=>{let e=document.createElement(`template`);e.innerHTML=_;let t=Array.from(e.content.childNodes).filter(vi);if(t.length!==1||t[0]?.nodeType!==Node.ELEMENT_NODE){p(!0);return}n.send({type:`html`,node:a.node,html:_}),r({edit:{kind:`html`,node:a.node,html:_},target:a.label,selector:a.selector,property:`markup`,previousValue:s,value:_}),l(_),d(null)},t[6]=r,t[7]=n,t[8]=s,t[9]=a.label,t[10]=a.node,t[11]=a.selector,t[12]=_,t[13]=v):v=t[13];let y=v,b=`<${a.tagName}>`,x=f||void 0,S;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{d(e.target.value),p(!1)},t[14]=S):S=t[14];let C;t[15]!==m||t[16]!==x||t[17]!==_?(C=(0,X.jsx)(P,{id:m,spellCheck:!1,value:_,"aria-invalid":x,onChange:S,className:`[&_textarea]:min-h-64 [&_textarea]:font-mono [&_textarea]:text-xs [&_textarea]:leading-normal [&_textarea]:whitespace-pre`}),t[15]=m,t[16]=x,t[17]=_,t[18]=C):C=t[18];let w;t[19]!==m||t[20]!==b||t[21]!==C?(w=(0,X.jsx)(ui,{label:b,htmlFor:m,children:C}),t[19]=m,t[20]=b,t[21]=C,t[22]=w):w=t[22];let T;t[23]===f?T=t[24]:(T=f?(0,X.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive`,children:`Write exactly one element, with its content.`}):null,t[23]=f,t[24]=T);let E=u===null||u===g,D;t[25]!==y||t[26]!==E?(D=(0,X.jsx)(h,{size:`xs`,className:`self-end rounded-full`,disabled:E,onClick:y,children:`Apply`}),t[25]=y,t[26]=E,t[27]=D):D=t[27];let O;return t[28]!==w||t[29]!==T||t[30]!==D?(O=(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[w,T,D]}),t[28]=w,t[29]=T,t[30]=D,t[31]=O):O=t[31],O}function vi(e){return e.nodeType!==Node.TEXT_NODE||(e.textContent??``).trim()!==``}function yi(e){let t=(0,K.c)(27),[n,r]=(0,G.useState)(e.token.value),i;t[0]===e.token.value?i=t[1]:(i=li(e.token.value),t[0]=e.token.value,t[1]=i);let a=i,o=(0,G.useId)(),s;t[2]===e?s=t[3]:(s=t=>{t.trim()&&t!==e.token.value&&e.onChange(t.trim())},t[2]=e,t[3]=s);let c=s,l;t[4]!==o||t[5]!==e.token.name?(l=(0,X.jsx)(`label`,{htmlFor:o,className:`truncate font-mono text-[11px] text-secondary-label`,children:e.token.name}),t[4]=o,t[5]=e.token.name,t[6]=l):l=t[6];let u;t[7]!==a||t[8]!==e||t[9]!==n?(u=a?(0,X.jsx)(`input`,{type:`color`,"aria-label":`${e.token.name}: pick a color`,value:ci(n),onChange:t=>{r(t.target.value),e.onChange(t.target.value)},className:`size-7 shrink-0 cursor-pointer rounded-full border-0 bg-transparent p-0 [&::-webkit-color-swatch]:rounded-full [&::-webkit-color-swatch]:border-0 [&::-webkit-color-swatch-wrapper]:p-0`}):null,t[7]=a,t[8]=e,t[9]=n,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>r(e.target.value),t[11]=d):d=t[11];let f,p;t[12]!==c||t[13]!==n?(f=()=>c(n),p=e=>{e.key===`Enter`&&c(n)},t[12]=c,t[13]=n,t[14]=f,t[15]=p):(f=t[14],p=t[15]);let m;t[16]!==o||t[17]!==f||t[18]!==p||t[19]!==n?(m=(0,X.jsx)(qe,{id:o,size:`sm`,value:n,onChange:d,onBlur:f,onKeyDown:p,className:`font-mono`}),t[16]=o,t[17]=f,t[18]=p,t[19]=n,t[20]=m):m=t[20];let h;t[21]!==u||t[22]!==m?(h=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u,m]}),t[21]=u,t[22]=m,t[23]=h):h=t[23];let g;return t[24]!==l||t[25]!==h?(g=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[l,h]}),t[24]=l,t[25]=h,t[26]=g):g=t[26],g}function bi(){let e=(0,K.c)(18),{bridge:t,ready:n,addEdit:r}=ki(),[i,a]=(0,G.useState)(void 0),[o,s]=(0,G.useState)(0),c,l;if(e[0]!==t||e[1]!==n?(c=()=>{if(!n)return;let e=!1;return a(void 0),t.request(`tokens`).then(t=>{e||(a(t?t.tokens??[]:null),s(xi))}),()=>{e=!0}},l=[t,n],e[0]=t,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,G.useEffect)(c,l),i===void 0){let t;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`Reading the page`}),e[4]=t):t=e[4],t}if(i===null){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{failed:!0,children:`The page did not list its CSS variables.`}),e[5]=t):t=e[5],t}if(i.length===0){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(hi,{children:`This page sets no CSS variables on :root, so there is nothing to tweak across it.`}),e[6]=t):t=e[6],t}let u;if(e[7]!==r||e[8]!==t||e[9]!==o||e[10]!==i){let n;e[12]!==r||e[13]!==t||e[14]!==o?(n=e=>(0,X.jsx)(yi,{token:e,onChange:n=>{t.send({type:`token`,name:e.name,value:n}),r({edit:{kind:`token`,name:e.name,value:n},target:e.name,selector:null,property:e.name,previousValue:e.value,value:n})}},`${o}:${e.name}`),e[12]=r,e[13]=t,e[14]=o,e[15]=n):n=e[15],u=i.map(n),e[7]=r,e[8]=t,e[9]=o,e[10]=i,e[11]=u}else u=e[11];let d;return e[16]===u?d=e[17]:(d=(0,X.jsx)(`div`,{className:`flex flex-col gap-4 p-4`,children:u}),e[16]=u,e[17]=d),d}function xi(e){return e+1}var Si=(0,G.memo)(function(e){let t=(0,K.c)(64),n=ki(),{selection:r,bridge:i,ready:a,edits:o,current:s,freshUrl:c}=n,[l,u]=(0,G.useState)(`simple`),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=[],t[0]=d):d=t[0];let[f,p]=(0,G.useState)(d),m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m={status:`reading`},t[1]=m):m=t[1];let[_,v]=(0,G.useState)(m),y=(0,G.useId)(),b,x;t[2]!==i||t[3]!==a?(b=()=>{if(!a)return;let e=!1;return i.request(`palette`).then(t=>{e||p(t?.palette??[])}),()=>{e=!0}},x=[i,a],t[2]=i,t[3]=a,t[4]=b,t[5]=x):(b=t[4],x=t[5]),(0,G.useEffect)(b,x);let S=s?.url??null,C=(0,G.useRef)(null),w,T;t[6]!==S||t[7]!==c||t[8]!==l?(w=()=>{if(l!==`code`||!S||C.current===S)return;C.current=S;let e=!1;return v({status:`reading`}),c().then(Ci).then(t=>{e||v({status:`ready`,text:t})},()=>{e||(C.current=null,v({status:`failed`}))}),()=>{e=!0}},T=[S,c,l],t[6]=S,t[7]=c,t[8]=l,t[9]=w,t[10]=T):(w=t[9],T=t[10]),(0,G.useEffect)(w,T);let E=l===`simple`||l===`code`,D=n.stale||n.conflict,O;t[11]===e.className?O=t[12]:(O=g(`flex min-h-0 flex-col bg-background`,e.className),t[11]=e.className,t[12]=O);let k;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsx)(`h2`,{className:`flex-1 text-[13px] font-[550] text-foreground`,children:`Edit`}),t[13]=k):k=t[13];let N=o.length===0||n.saving,P;t[14]!==N||t[15]!==n.discard?(P=(0,X.jsx)(h,{variant:`ghost`,size:`xs`,className:`rounded-full`,disabled:N,onClick:n.discard,children:`Discard`}),t[14]=N,t[15]=n.discard,t[16]=P):P=t[16];let I=o.length===0||n.saving||D,L;t[17]===n?L=t[18]:(L=()=>void n.save(),t[17]=n,t[18]=L);let R=n.saving?`Saving`:`Save`,z;t[19]!==I||t[20]!==L||t[21]!==R?(z=(0,X.jsx)(h,{size:`xs`,className:`rounded-full`,disabled:I,onClick:L,children:R}),t[19]=I,t[20]=L,t[21]=R,t[22]=z):z=t[22];let ee;t[23]===n?ee=t[24]:(ee=()=>n.setMode(`select`),t[23]=n,t[24]=ee);let te;t[25]!==ee||t[26]!==n.saving?(te=(0,X.jsx)(h,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close edit`,className:`rounded-full`,disabled:n.saving,onClick:ee}),t[25]=ee,t[26]=n.saving,t[27]=te):te=t[27];let ne;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,X.jsx)(j,{}),t[28]=ne):ne=t[28];let re;t[29]===te?re=t[30]:(re=(0,X.jsx)(A,{render:te,children:ne}),t[29]=te,t[30]=re);let ie;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,X.jsx)(F,{side:`bottom`,children:`Close edit`}),t[31]=ie):ie=t[31];let ae;t[32]===re?ae=t[33]:(ae=(0,X.jsxs)(M,{children:[re,ie]}),t[32]=re,t[33]=ae);let B;t[34]!==z||t[35]!==ae||t[36]!==P?(B=(0,X.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-1.5 border-b border-line ps-4 pe-2`,children:[k,P,z,ae]}),t[34]=z,t[35]=ae,t[36]=P,t[37]=B):B=t[37];let V;t[38]!==D||t[39]!==n.handEditsToAgent||t[40]!==n.stale?(V=D?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 border-b border-line bg-warning-surface px-4 py-3 text-[13px] text-warning-foreground`,children:[(0,X.jsx)(`p`,{children:n.stale?`Borg changed this page while you were editing.`:`The file changed since the canvas loaded it, so these edits could not be saved.`}),(0,X.jsx)(h,{size:`xs`,className:`self-start rounded-full`,onClick:n.handEditsToAgent,children:`Hand my edits to Borg`})]}):null,t[38]=D,t[39]=n.handEditsToAgent,t[40]=n.stale,t[41]=V):V=t[41];let oe;t[42]!==l||t[43]!==y?(oe=oi.map(e=>(0,X.jsx)(`button`,{id:`${y}-${e.value}`,type:`button`,role:`tab`,"aria-selected":l===e.value,"aria-controls":`${y}-panel`,tabIndex:l===e.value?0:-1,onClick:()=>u(e.value),className:`h-7 cursor-pointer rounded-full px-2.5 text-[13px] font-[550] text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring aria-selected:bg-accent aria-selected:text-foreground`,children:e.label},e.value)),t[42]=l,t[43]=y,t[44]=oe):oe=t[44];let se;t[45]===oe?se=t[46]:(se=(0,X.jsx)(`div`,{role:`tablist`,"aria-label":`Edit`,onKeyDown:ue,className:`flex shrink-0 gap-0.5 border-b border-line px-2.5 py-2`,children:oe}),t[45]=oe,t[46]=se);let H=`${y}-panel`,ce=`${y}-${l}`,le;t[47]!==E||t[48]!==f||t[49]!==r||t[50]!==_||t[51]!==l?(le=E&&!r?(0,X.jsx)(hi,{children:`Click any element on the canvas to edit it. Double-click text to type on the canvas.`}):l===`simple`&&r?(0,X.jsx)(mi,{selection:r,palette:f},r.node):l===`code`&&r?(0,X.jsx)(_i,{selection:r,source:_},r.node):l===`layers`?(0,X.jsx)(gi,{}):l===`tweaks`?(0,X.jsx)(bi,{}):null,t[47]=E,t[48]=f,t[49]=r,t[50]=_,t[51]=l,t[52]=le):le=t[52];let U;t[53]!==H||t[54]!==ce||t[55]!==le||t[56]!==n.saving?(U=(0,X.jsx)(`div`,{id:H,role:`tabpanel`,"aria-labelledby":ce,inert:n.saving,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:le}),t[53]=H,t[54]=ce,t[55]=le,t[56]=n.saving,t[57]=U):U=t[57];let W;return t[58]!==B||t[59]!==V||t[60]!==se||t[61]!==U||t[62]!==O?(W=(0,X.jsxs)(`section`,{"aria-label":`Edit`,className:O,children:[B,V,se,U]}),t[58]=B,t[59]=V,t[60]=se,t[61]=U,t[62]=O,t[63]=W):W=t[63],W});function Ci(e){if(!e)throw Error(`unreadable`);return er(e)}var wi=`borgcode:design-conversation-width:v1`,Ti=340,Ei=280,Di=360,Oi=(0,G.createContext)(null);function ki(){let e=(0,G.useContext)(Oi);if(!e)throw Error(`useDesignWorkspace must be used inside a design workspace`);return e}function Ai(e){let{threadRef:t,workspaceRoot:n}=e,r=(0,G.useRef)(e);(0,G.useEffect)(()=>{r.current=e});let i=fe(t),a=ke(t),o=me(e=>e.setView),s=me(e=>e.addComment),c=me(e=>e.removeComment),l=me(e=>e.setPage),u=Xe(Ye.createUrl,{reportFailure:!1,refresh:!0}),d=R(k.writeFile,{reportFailure:!1}),[f]=(0,G.useState)(()=>new Xn);(0,G.useEffect)(()=>(f.connect(),()=>f.disconnect()),[f]);let m=(0,G.useCallback)(e=>o(t,e),[o,t]),_=(i.path!==null&&e.files.some(e=>e.path===i.path)?i.path:null)??e.documents[0]?.path??null,v=_?De(_):null,b=_===null?null:e.documents.find(e=>e.path===_)?.revision??`0`;(0,G.useEffect)(()=>{_!==null&&v===`page`&&l(t,_)},[v,_,l,t]);let[x,S]=(0,G.useState)(null),[C,w]=(0,G.useState)(0),[T,D]=(0,G.useState)([]),[O,A]=(0,G.useState)(!1),[j,M]=(0,G.useState)(null),[P,F]=(0,G.useState)(null),[I,L]=(0,G.useState)(!1),[z,ee]=(0,G.useState)(!1),[ne,re]=(0,G.useState)(null),ie=_===null?null:`${_}#${b}#${x?.turnCount??`now`}`,ae=ie===null?null:`${ie}#${e.designRevision}#${C}`,B=T.length>0,[V,se]=(0,G.useState)(null);(0,G.useEffect)(()=>{se(!B||ie===null||ae===null?null:e=>e??{documentKey:ie,displayKey:ae})},[ae,ie,B]);let H=B&&V?V.displayKey:ae,le=B&&V!==null&&V.documentKey!==ie,U=(0,G.useCallback)(async(e,n,i)=>{await r.current.onWake?.();let a=i&&n===`page`?{_tag:`design-version`,threadId:t.threadId,checkpointTurnCount:i.turnCount,path:e}:{_tag:`design-preview`,threadId:t.threadId,path:e},o=await u({environmentId:t.environmentId,input:{resource:a}}),s=y(t.environmentId);if(o._tag!==`Success`||!s)return null;let c=Je(s.httpBaseUrl,o.value.relativeUrl);return c&&n===`page`?Zn(c):c},[u,t]),[W,ue]=(0,G.useState)(null);(0,G.useEffect)(()=>{if(H===null||_===null||v===null){ue(null);return}if(v!==`page`&&v!==`image`){ue({key:H,url:null});return}if(!Te(t.environmentId)){ue({key:H,url:null,tunnel:!0});return}let e=!1;return U(_,v,x).then(t=>{e||ue({key:H,url:t})}),()=>{e=!0}},[v,_,H,U,t.environmentId,x]);let de=(0,G.useMemo)(()=>{if(_===null||v===null)return null;let e=W!==null&&W.key===H,t=v===`page`||v===`image`;return{path:_,kind:v,url:W?.url??null,failure:e&&W.url===null&&t?W.tunnel?`tunnel`:`unavailable`:null}},[v,_,H,W]),he=(0,G.useCallback)(()=>_!==null&&v!==null?U(_,v,x):Promise.resolve(null),[v,_,U,x]);(0,G.useEffect)(()=>{M(null),F(null)},[de?.url??null]);let ge=(0,G.useRef)(()=>void 0),_e=(0,G.useRef)(P),ve=(0,G.useRef)(i.mode),Se=(0,G.useRef)(null);(0,G.useEffect)(()=>{_e.current=P,ve.current=i.mode},[P,i.mode]),(0,G.useEffect)(()=>f.subscribe(e=>{if(e.type===`ready`)M(e);else if(e.type===`selection`)ve.current===`edit`&&F(e.selection);else if(e.type===`pin`)re(e.id);else if(e.type===`editing`)Se.current=e.node;else if(e.type===`text`){let t=_e.current;if(ve.current!==`edit`||Se.current!==e.node||t?.node!==e.node)return;Se.current=null,ge.current({edit:{kind:`text`,node:e.node,text:e.text,exact:e.exact},target:t.label,selector:t.selector,property:`text`,previousValue:t.editableText??``,value:e.text})}}),[f]);let Ce=(0,G.useCallback)(e=>{x&&e!==`select`||I||(m({mode:e}),e!==`edit`&&F(null))},[I,m,x]),Ee=(0,G.useMemo)(()=>_&&v===`page`?xe(_,e.checkpoints,n):[],[v,_,e.checkpoints,n]),Ae=(0,G.useCallback)(()=>w(e=>e+1),[]),je=(0,G.useCallback)(()=>{D([]),A(!1),F(null),Ae()},[Ae]),Me=(0,G.useCallback)(()=>{!_||T.length===0||(r.current.onAttachAnnotation(ar({path:_,edits:T,comment:`Apply these changes to ${_}; I made them on the canvas but the file changed before I could save.`})),D([]),A(!1),Ae(),N.add({type:`info`,title:`Edits attached to your next message`}))},[_,T,Ae]),Ne=(0,G.useRef)(!1),Pe=(0,G.useCallback)(async()=>{if(Ne.current||!_||!j||T.length===0||!n)return;Ne.current=!0,L(!0);let e=_,i=await tr({readSource:async()=>{let t=await U(e,`page`,null);if(!t)throw Error(`The design could not be read.`);return er(t)},sourceHash:j.sourceHash,edits:T,write:async r=>{if((await d({environmentId:t.environmentId,input:{cwd:n,relativePath:e,contents:r}}))._tag!==`Success`)throw Error(`The file could not be written.`)}});if(Ne.current=!1,L(!1),i.status===`changed`){A(!0),N.add({type:`warning`,title:`The page changed while you edited`,description:`Hand your edits to Borg to apply them to the new version, or discard them.`});return}if(i.status===`failed`){N.add({type:`error`,title:`Couldn't save your edits`,description:i.message});return}i.applied.length>0&&r.current.onAttachAnnotation(ar({path:e,edits:i.applied})),D([]),F(null),m({mode:`select`}),Ae();let a=`Saved ${i.applied.length} edit${i.applied.length===1?``:`s`} to ${e}`;i.skipped.length>0?N.add({type:`warning`,title:i.applied.length>0?a:`Nothing was saved`,description:`${i.skipped.length} edit${i.skipped.length===1?``:`s`} no longer matched the page and ${i.skipped.length===1?`was`:`were`} left out.`}):N.add({type:`success`,title:a,description:`Borg reads them with your next message.`})},[_,T,U,j,Ae,m,t,n,d]),Ie=(0,G.useCallback)(e=>{T.length>0||(S(e),e&&m({mode:`select`}))},[T.length,m]),Re=(0,G.useCallback)(async()=>{if(!x||!_||!n||z)return;let e=x;ee(!0);try{let r=await U(_,`page`,e);if(!r)throw Error(`This version could not be read.`);let i=await er(r);if((await d({environmentId:t.environmentId,input:{cwd:n,relativePath:_,contents:i}}))._tag!==`Success`)throw Error(`The file could not be written.`)}catch(e){N.add({type:`error`,title:`Couldn't restore this version`,description:e instanceof Error?e.message:void 0});return}finally{ee(!1)}S(null),Ae(),r.current.onAttachAnnotation(ar({path:_,edits:[],comment:`I restored ${_} to its version from turn ${e.turnCount}. Build on that version from here.`})),N.add({type:`success`,title:`Restored ${_}`})},[_,U,Ae,z,t,x,n,d]),ze=(0,G.useMemo)(()=>_===null?[]:a.filter(e=>ye(e.path,n)===_),[a,_,n]),Be=(0,G.useCallback)(e=>{_&&s(t,{...e,id:p(),path:_,createdAt:new Date().toISOString()})},[_,s,t]),Ve=(0,G.useCallback)(e=>c(t,e),[c,t]),He=(0,G.useCallback)(e=>{let n=a.find(t=>t.id===e);c(t,e),n&&N.add({type:`success`,title:`Comment resolved`,actionProps:{children:`Undo`,onClick:()=>s(t,n)}})},[a,s,c,t]),Ue=(0,G.useCallback)(e=>{if(!_)return;let t=getComputedStyle(document.documentElement).getPropertyValue(`--brand-ink`).trim()||void 0;r.current.onSendAnnotations([ir({path:_,comment:e.comment,target:e.target,...e.ink?{ink:e.ink}:{},...t?{inkColor:t}:{}})]),m({pane:`chat`})},[_,m]),Ge=(0,G.useCallback)(e=>{!_||e.length===0||(r.current.onSendAnnotations(e.map(e=>ir({path:_,comment:e.text,target:e.target}))),m({pane:`chat`}))},[_,m]),Ke=(0,G.useCallback)(()=>{_&&r.current.onSendToWork(_)},[_]),qe=(0,G.useCallback)(e=>{T.length>0||(S(null),m({path:e,mode:`select`}))},[T.length,m]),Ze=(0,G.useCallback)(e=>{if(T.length>0){N.add({type:`info`,title:`Save or discard your edits first`});return}qe(ye(e,n)),m({pane:`canvas`})},[T.length,qe,m,n]),Qe=e.documents[0]?`${e.documents[0].path}#${e.documents[0].revision}`:null,$e=(0,G.useRef)(Qe);(0,G.useEffect)(()=>{$e.current!==Qe&&($e.current=Qe,i.path!==null&&T.length===0&&m({path:null}))},[T.length,Qe,m,i.path]);let tt=(0,G.useCallback)(e=>D(t=>{let n=t.at(-1),r=n!==void 0&&n.edit.kind===e.edit.kind&&n.property===e.property&&(`node`in n.edit?n.edit.node:n.edit.name)===(`node`in e.edit?e.edit.node:e.edit.name),i=r?{...e,previousValue:n.previousValue}:e,a=r?t.slice(0,-1):t;return i.edit.kind!==`html`&&i.value===i.previousValue?a:[...a,i]}),[]);(0,G.useEffect)(()=>{ge.current=tt},[tt]),(0,G.useEffect)(()=>{if(!j)return;let e=i.mode===`comment`?ze.flatMap((e,t)=>e.anchor?[{id:e.id,label:String(t+1),...e.anchor}]:[]):[];f.send({type:`pins`,pins:e})},[f,ze,j,i.mode]);let nt=(0,G.useRef)(T);(0,G.useEffect)(()=>{nt.current=T},[T]);let rt=et({shouldBlockFn:({current:e,next:t})=>nt.current.length>0&&e.pathname!==t.pathname,enableBeforeUnload:()=>!We&&nt.current.length>0,disabled:!B,withResolver:!0}),it=(0,G.useMemo)(()=>({threadRef:t,title:e.title,designing:e.designing,authoring:e.authoring,workspaceRoot:n,view:i,setView:m,setMode:Ce,documents:e.documents,files:e.files,current:de,freshUrl:he,openFile:qe,versions:Ee,version:x,showVersion:Ie,restoring:z,restoreVersion:Re,reload:Ae,bridge:f,ready:j,selection:P,edits:T,addEdit:tt,stale:le,conflict:O,saving:I,save:Pe,discard:je,handEditsToAgent:Me,comments:ze,addComment:Be,removeComment:Ve,resolveComment:He,focusedCommentId:ne,setFocusedCommentId:re,sendToAgent:Ue,sendCommentsToAgent:Ge,sendToWork:Ke}),[Be,tt,f,ze,O,de,je,T,ne,he,Me,qe,e.authoring,e.designing,e.documents,e.files,e.title,j,Ae,Ve,He,Re,z,Pe,I,P,Ge,Ue,Ke,Ce,m,Ie,le,t,x,Ee,i,n]),at=(0,G.useRef)(null),[ot,st]=(0,G.useState)(null);(0,G.useLayoutEffect)(()=>{let e=at.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&st(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let{width:ct,handlers:lt}=Fe({storageKey:wi,defaultWidth:Ti,minWidth:Ei,maxWidth:Math.max(Ei,(ot??1280)-Di),edge:`right`}),ut=i.mode===`comment`||i.mode===`edit`;return(0,X.jsx)(Oi.Provider,{value:it,children:(0,X.jsxs)(E.Provider,{value:Ze,children:[(0,X.jsxs)(`div`,{ref:at,className:`flex min-h-0 min-w-0 flex-1 border-t border-line`,style:{"--design-conversation-width":`${ct}px`},"data-design-workspace":!0,children:[(0,X.jsxs)(`div`,{className:g(`relative flex min-h-0 min-w-0 flex-1 flex-col md:w-(--design-conversation-width) md:flex-none md:border-e md:border-line`,i.pane!==`chat`&&`max-md:hidden`),"data-design-conversation":!0,children:[(0,X.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,inert:ut,children:e.conversation}),i.mode===`comment`?(0,X.jsx)(ai,{className:`absolute inset-0 z-30`}):null,i.mode===`edit`?(0,X.jsx)(Si,{className:`absolute inset-0 z-30`}):null,(0,X.jsx)(Le,{handlers:lt,className:`left-auto -right-1 z-40 max-md:hidden`})]}),(0,X.jsx)(ii,{className:g(`min-w-0 flex-1`,i.pane!==`canvas`&&`max-md:hidden`)})]}),(0,X.jsx)(ce,{open:rt.status===`blocked`,onOpenChange:e=>{e||rt.reset?.()},children:(0,X.jsxs)(be,{children:[(0,X.jsxs)(Oe,{children:[(0,X.jsx)(we,{children:`Leave without saving your edits?`}),(0,X.jsxs)(te,{children:[T.length,` edit`,T.length===1?``:`s`,` on the canvas`,` `,T.length===1?`has`:`have`,` not been saved to the file.`]})]}),(0,X.jsxs)(pe,{children:[(0,X.jsx)(oe,{render:(0,X.jsx)(h,{variant:`outline`}),children:`Keep editing`}),(0,X.jsx)(h,{variant:`destructive`,onClick:()=>rt.proceed?.(),children:`Leave`})]})]})})]})})}export{Ai as DesignWorkspace};
|
|
3
|
+
//# sourceMappingURL=DesignWorkspace-DmKoQxKI.js.map
|