foss-design 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.js +2883 -2371
- package/dist/runtime/index.js +33 -6
- package/dist/viewer/assets/index-BL2Cxj98.css +2 -0
- package/dist/viewer/assets/{index-CUXYA4jJ.js → index-D6sHcSw6.js} +48 -48
- package/dist/viewer/index.html +2 -2
- package/dist/viewer-lib/index.js +117 -20
- package/dist/viewer-lib/styles.css +4 -0
- package/dist/viewer-lib/types/src/shared/routes.d.ts +37 -0
- package/dist/viewer-lib/types/src/shared/types.d.ts +6 -0
- package/dist/viewer-lib/types/viewer/src/lib/frames.d.ts +6 -4
- package/package.json +1 -1
- package/dist/viewer/assets/index-DG4Nv6cf.css +0 -2
|
@@ -54,15 +54,15 @@ Error generating stack: `+e.message+`
|
|
|
54
54
|
`},wh=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Th=function(){v.useEffect(function(){return document.body.setAttribute(Sh,(wh()+1).toString()),function(){var e=wh()-1;e<=0?document.body.removeAttribute(Sh):document.body.setAttribute(Sh,e.toString())}},[])},Eh=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Th();var a=v.useMemo(function(){return bh(i)},[i]);return v.createElement(xh,{styles:Ch(a,!t,i,n?``:`!important`)})},Dh=!1;if(typeof window<`u`)try{var Oh=Object.defineProperty({},"passive",{get:function(){return Dh=!0,!0}});window.addEventListener(`test`,Oh,Oh),window.removeEventListener(`test`,Oh,Oh)}catch{Dh=!1}var kh=Dh?{passive:!1}:!1,Ah=function(e){return e.tagName===`TEXTAREA`},jh=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Ah(e)&&n[t]===`visible`)},Mh=function(e){return jh(e,`overflowY`)},Nh=function(e){return jh(e,`overflowX`)},Ph=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Lh(e,r)){var i=Rh(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Fh=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Ih=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Lh=function(e,t){return e===`v`?Mh(t):Nh(t)},Rh=function(e,t){return e===`v`?Fh(t):Ih(t)},zh=function(e,t){return e===`h`&&t===`rtl`?-1:1},Bh=function(e,t,n,r,i){var a=zh(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Rh(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Lh(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Vh=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Hh=function(e){return[e.deltaX,e.deltaY]},Uh=function(e){return e&&`current`in e?e.current:e},Wh=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Gh=function(e){return`
|
|
55
55
|
.block-interactivity-${e} {pointer-events: none;}
|
|
56
56
|
.allow-interactivity-${e} {pointer-events: all;}
|
|
57
|
-
`},Kh=0,qh=[];function Jh(e){var t=v.useRef([]),n=v.useRef([0,0]),r=v.useRef(),i=v.useState(Kh++)[0],a=v.useState(gh)[0],o=v.useRef(e);v.useEffect(function(){o.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Km([e.lockRef.current],(e.shards||[]).map(Uh),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=v.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Vh(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ph(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ph(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Bh(h,t,e,h===`h`?s:c,!0)},[]),c=v.useCallback(function(e){var n=e;if(qh.length&&qh[qh.length-1]===a){var r=`deltaY`in n?Hh(n):Vh(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Wh(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Uh).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=v.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Yh(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=v.useCallback(function(e){n.current=Vh(e),r.current=void 0},[]),d=v.useCallback(function(t){l(t.type,Hh(t),t.target,s(t,e.lockRef.current))},[]),f=v.useCallback(function(t){l(t.type,Vh(t),t.target,s(t,e.lockRef.current))},[]);v.useEffect(function(){return qh.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,kh),document.addEventListener(`touchmove`,c,kh),document.addEventListener(`touchstart`,u,kh),function(){qh=qh.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,kh),document.removeEventListener(`touchmove`,c,kh),document.removeEventListener(`touchstart`,u,kh)}},[]);var p=e.removeScrollBar,m=e.inert;return v.createElement(v.Fragment,null,m?v.createElement(a,{styles:Gh(i)}):null,p?v.createElement(Eh,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Yh(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Xh=oh(sh,Jh),Zh=v.forwardRef(function(e,t){return v.createElement(lh,Wm({},e,{ref:t,sideCar:Xh}))});Zh.classNames=lh.classNames;var Qh=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$h=new WeakMap,eg=new WeakMap,tg={},ng=0,rg=function(e){return e&&(e.host||rg(e.parentNode))},ig=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=rg(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ag=function(e,t,n,r){var i=ig(t,Array.isArray(e)?e:[e]);tg[n]||(tg[n]=new WeakMap);var a=tg[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($h.get(e)||0)+1,l=(a.get(e)||0)+1;$h.set(e,c),a.set(e,l),o.push(e),c===1&&i&&eg.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),ng++,function(){o.forEach(function(e){var t=$h.get(e)-1,i=a.get(e)-1;$h.set(e,t),a.set(e,i),t||(eg.has(e)||e.removeAttribute(r),eg.delete(e)),i||e.removeAttribute(n)}),ng--,ng||($h=new WeakMap,$h=new WeakMap,eg=new WeakMap,tg={})}},og=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Qh(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ag(r,i,n,`aria-hidden`)):function(){return null}},sg=Object.defineProperty,cg=(e,t)=>sg(e,`name`,{value:t,configurable:!0}),lg=`Dialog`,[ug,dg]=ap(lg),[fg,pg]=ug(lg),mg=cg(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,u]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:lg}),[d,f]=v.useState(0),[p,m]=v.useState(0);return(0,R.jsx)(fg,{scope:t,triggerRef:s,contentRef:c,contentId:fp(),titleId:fp(),descriptionId:fp(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:v.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),hg=`DialogPortal`,[gg,_g]=ug(hg,{forceMount:void 0}),vg=cg(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=pg(hg,t);return(0,R.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),yg=`DialogOverlay`,bg=v.forwardRef(cg(function(e,t){let n=_g(yg,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pg(yg,e.__scopeDialog);return a.modal?(0,R.jsx)(jm,{present:r||a.open,children:(0,R.jsx)(Sg,{...i,ref:t})}):null},`DialogOverlay`)),xg=kp(`DialogOverlay.RemoveScroll`),Sg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(yg,n),a=tp(t,rm());return(0,R.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,R.jsx)(Wp.div,{"data-state":Mg(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),Cg=`DialogContent`,wg=v.forwardRef(cg(function(e,t){let n=_g(Cg,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pg(Cg,e.__scopeDialog);return(0,R.jsx)(jm,{present:r||a.open,children:a.modal?(0,R.jsx)(Tg,{...i,ref:t}):(0,R.jsx)(Eg,{...i,ref:t})})},`DialogContent`)),Tg=v.forwardRef(cg(function(e,t){let n=pg(Cg,e.__scopeDialog),r=v.useRef(null),i=tp(t,n.contentRef,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Dg,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Y(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Eg=v.forwardRef(cg(function(e,t){let n=pg(Cg,e.__scopeDialog),r=v.useRef(!1),i=v.useRef(!1);return(0,R.jsx)(Dg,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),Dg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=pg(Cg,n);return Hm(),(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(nm,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":Mg(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),Og=`DialogTitle`,kg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(Og,n),{setTitleCount:a}=i;return sp(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(Wp.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),Ag=`DialogClose`,jg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(Ag,n);return(0,R.jsx)(Wp.button,{type:`button`,...r,ref:t,onClick:Y(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function Mg(e){return e?`open`:`closed`}cg(Mg,`getState`);var Ng=window.__DESIGN_STATIC__===!0,Pg=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function Fg(e,t){let n=await fetch(e,{cache:t});if(!n.ok){let e=`${n.status} ${n.statusText}`;try{let t=await n.json();t.error&&(e=t.error)}catch{}throw new Pg(n.status,e)}return await n.json()}async function Ig(e){try{return await e}catch(e){if(e instanceof Pg&&e.status===404)return null;throw e}}var Lg=``;function Rg(e){return Lg!==e.version&&(Lg=e.version,console.info(`foss-design ${e.version}${Ng?` (static build)`:``}`)),e}var zg={live:!0,project:()=>Fg(`/api/project`,`no-store`).then(Rg),canvas:async e=>({doc:await Fg(`/api/canvas/${encodeURIComponent(e)}`,`no-store`),base:``}),system:async()=>{let e=await Ig(Fg(`/api/system`,`no-store`));return e?{doc:e,base:``}:null},async source(e){let t=await fetch(`/api/source?path=${encodeURIComponent(e)}`,{cache:`no-store`});if(!t.ok)throw new Pg(t.status,`Could not read ${e}`);return t.text()}},Bg=null,Vg={live:!1,project:()=>Fg(`api/project.json`,`default`).then(Rg),canvas:async e=>({doc:await Fg(`api/canvas/${encodeURIComponent(e)}.json`,`default`),base:``}),system:async()=>{let e=await Ig(Fg(`api/system.json`,`default`));return e?{doc:e,base:``}:null},async source(e){Bg??=Fg(`api/sources.json`,`default`).catch(()=>({}));let t=(await Bg)[e];if(t===void 0)throw new Pg(404,`${e} is not in this build`);return t}};function Hg(e,t){if(!t)return e;try{let n=new URL(t.endsWith(`/`)?t:`${t}/`,document.baseURI);return new URL(e,n).href}catch{return e}}function Ug(e,t){if(!t)return e;let n=e=>Hg(e,t);return{...e,pages:e.pages.map(e=>({...e,sections:e.sections.map(e=>({...e,items:e.items.map(e=>{if(e.kind===`screen`){let t=e=>e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t&&n(t)])):void 0;return{...e,url:n(e.url),snapshots:t(e.snapshots),thumbs:t(e.thumbs)}}return e.kind===`image`?{...e,url:n(e.url)}:e})}))}))}}function Wg(e,t){if(!t)return e;let n=e=>Hg(e,t);return{...e,components:e.components.map(e=>({...e,url:n(e.url)})),assets:e.assets.map(e=>({...e,url:n(e.url)})),typographyUrl:e.typographyUrl&&n(e.typographyUrl)}}function Gg(e){return{all:[`design`,e],project:[`design`,e,`project`],canvas:t=>[`design`,e,`canvas`,t],system:[`design`,e,`system`],sources:[`design`,e,`source`],source:(t,n)=>[`design`,e,`source`,t,n]}}var Kg=new WeakMap,qg=0;function Jg(e){let t=Kg.get(e);return t||(qg+=1,t=String(qg),Kg.set(e,t)),t}var Yg=(0,v.createContext)(null);function Xg(){let e=(0,v.useContext)(Yg);if(!e)throw Error(`foss-design: this component renders inside <DesignViewer>`);return e}function Zg(e,t){if(e===t)return!0;try{return decodeURIComponent(e)===t}catch{return!1}}function Qg(e){return new zt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function $g(){let{source:e,keys:t,scope:n}=Xg();return Zt({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function e_(e,t=!0){let{source:n,keys:r}=Xg();return Zt({queryKey:r.canvas(e),queryFn:async()=>{let{doc:t,base:r}=await n.canvas(e);return Ug(t,r)},placeholderData:e=>e,enabled:t})}function t_(e=!0){let{source:t,keys:n}=Xg();return Zt({queryKey:n.system,queryFn:async()=>{let e=await t.system();return e?Wg(e.doc,e.base):null},enabled:e})}function n_(e,t=`system`){let{source:n,keys:r}=Xg();return Zt({queryKey:r.source(t,e??``),queryFn:()=>n.source(e,t),enabled:!!e})}function r_(e,t){let n=null,r=!1;return n=new EventSource(`/api/events`),n.onopen=()=>{r&&(r=!1,e.invalidateQueries({queryKey:t.all}))},n.onerror=()=>{r=!0},n.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}if(r.type===`project`)e.invalidateQueries({queryKey:t.project});else if(r.type===`system`)e.invalidateQueries({queryKey:t.system}),e.invalidateQueries({queryKey:t.sources});else if(r.type===`canvas`||r.type===`snapshot`){let n=r.type===`canvas`?r.id:r.canvas;e.invalidateQueries({queryKey:t.canvas(n)}),r.type===`snapshot`&&e.invalidateQueries({queryKey:t.project})}},()=>n?.close()}function X(...e){return e.filter(Boolean).join(` `)}var i_=null;function a_(e,t){i_={canvas:e,item:t},window.dispatchEvent(new CustomEvent(`design:focus`,{detail:i_}))}function o_(e){if(!i_||i_.canvas!==e)return null;let t=i_.item;return i_=null,t}var s_=class{value;listeners=new Set;constructor(e){this.value=e}get=()=>this.value;set=e=>{let t=typeof e==`function`?e(this.value):e;if(!Object.is(t,this.value)){this.value=t;for(let e of this.listeners)e()}};subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)})};function c_(e,t=e=>e){return(0,v.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var l_=`foss-design.theme`;function u_(){try{let e=localStorage.getItem(l_);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var d_=new s_(u_()),f_=window.matchMedia(`(prefers-color-scheme: dark)`);function p_(e){return e===`system`?f_.matches?`dark`:`light`:e}function m_(){document.documentElement.dataset.theme=p_(d_.get())}f_.addEventListener(`change`,m_),d_.subscribe(m_),m_();function h_(e){try{localStorage.setItem(l_,e)}catch{}d_.set(e)}function g_(){return c_(d_)}function __(){let e=c_(d_),t=(0,v.useSyncExternalStore)(e=>(f_.addEventListener(`change`,e),()=>f_.removeEventListener(`change`,e)),()=>f_.matches);return e===`system`?t?`dark`:`light`:e}var v_={plus:`<path d="M5 12h14"/><path d="M12 5v14"/>`,check:`<path d="M20 6 9 17l-5-5"/>`,x:`<path d="M18 6 6 18"/><path d="m6 6 12 12"/>`,"chevron-down":`<path d="m6 9 6 6 6-6"/>`,"chevron-up":`<path d="m18 15-6-6-6 6"/>`,"chevron-right":`<path d="m9 18 6-6-6-6"/>`,"arrow-right":`<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>`,chevrons:`<path d="m7 15 5 5 5-5"/><path d="m7 9 5-5 5 5"/>`,copy:`<rect width="14" height="14" x="8" y="8" rx="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`,search:`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/>`,bell:`<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>`,refresh:`<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>`,"up-right":`<path d="M7 7h10v10"/><path d="M7 17 17 7"/>`,"down-left":`<path d="M17 7 7 17"/><path d="M17 17H7V7"/>`,external:`<path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>`,"user-plus":`<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M19 8v6"/><path d="M22 11h-6"/>`,user:`<circle cx="12" cy="8" r="5"/><path d="M20 21a8 8 0 0 0-16 0"/>`,trash:`<path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/>`,more:`<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>`,alert:`<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>`,info:`<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>`,upload:`<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m17 8-5-5-5 5"/><path d="M12 3v12"/>`,download:`<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/><path d="M12 15V3"/>`,shield:`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>`,logout:`<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><path d="m16 17 5-5-5-5"/><path d="M21 12H9"/>`,loader:`<path d="M21 12a9 9 0 1 1-6.219-8.56"/>`,"circle-check":`<circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/>`,"circle-dashed":`<circle cx="12" cy="12" r="9" stroke-dasharray="3 3"/>`,clock:`<circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/>`,mail:`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>`,send:`<path d="m22 2-7 20-4-9-9-4Z"/><path d="M22 2 11 13"/>`,chat:`<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/>`,wallet:`<path d="M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"/><path d="M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"/>`,"file-code":`<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="m10 13-2 2 2 2"/><path d="m14 17 2-2-2-2"/>`,ban:`<circle cx="12" cy="12" r="10"/><path d="m4.9 4.9 14.2 14.2"/>`,code:`<path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/>`,"chevron-left":`<path d="m15 18-6-6 6-6"/>`,bluetooth:`<path d="m7 7 10 10-5 5V2l5 5L7 17"/>`,face:`<path d="M3 7V5a2 2 0 0 1 2-2h2"/><path d="M17 3h2a2 2 0 0 1 2 2v2"/><path d="M21 17v2a2 2 0 0 1-2 2h-2"/><path d="M7 21H5a2 2 0 0 1-2-2v-2"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><path d="M9 9h.01"/><path d="M15 9h.01"/>`,eye:`<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>`,clipboard:`<rect width="8" height="4" x="8" y="2" rx="1" ry="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>`,grip:`<circle cx="9" cy="5" r="1"/><circle cx="9" cy="12" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="19" r="1"/>`,list:`<path d="M3 12h.01"/><path d="M3 18h.01"/><path d="M3 6h.01"/><path d="M8 12h13"/><path d="M8 18h13"/><path d="M8 6h13"/>`,lock:`<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>`,hw:`<rect width="20" height="10" x="2" y="7" rx="2"/><path d="M15 7v10"/><circle cx="8" cy="12" r="1.5"/>`,link:`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>`,signal:`<path d="M2 20h.01"/><path d="M7 20v-4"/><path d="M12 20v-8"/><path d="M17 20V8"/>`,grid:`<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>`,coins:`<circle cx="8" cy="8" r="6"/><path d="M18.09 10.37A6 6 0 1 1 10.34 18"/><path d="M7 6h1v4"/><path d="m16.71 13.88.7.71-2.82 2.82"/>`,arrows:`<path d="M8 3 4 7l4 4"/><path d="M4 7h16"/><path d="m16 21 4-4-4-4"/><path d="M20 17H4"/>`,key:`<path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"/><path d="m21 2-9.6 9.6"/><circle cx="7.5" cy="15.5" r="5.5"/>`,blocks:`<rect width="7" height="7" x="14" y="3" rx="1"/><path d="M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"/>`,settings:`<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>`,qr:`<rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/>`,edit:`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/>`,star:`<path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"/>`,home:`<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>`,moon:`<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>`,sun:`<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>`,languages:`<path d="m5 8 6 6"/><path d="m4 14 6-6 2-3"/><path d="M2 5h12"/><path d="M7 2h1"/><path d="m22 22-5-10-5 10"/><path d="M14 18h6"/>`,"arrow-left":`<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>`,play:`<polygon points="6 3 20 12 6 21 6 3"/>`,"zoom-in":`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/><path d="M11 8v6"/><path d="M8 11h6"/>`,"zoom-out":`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/><path d="M8 11h6"/>`,fit:`<path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/>`,"panel-left":`<rect width="18" height="18" x="3" y="3" rx="2"/><path d="M9 3v18"/>`,layers:`<path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/>`,file:`<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/>`,palette:`<circle cx="13.5" cy="6.5" r="1"/><circle cx="17.5" cy="10.5" r="1"/><circle cx="8.5" cy="7.5" r="1"/><circle cx="6.5" cy="12.5" r="1"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.55-2.5 5.55-5.55C21.96 6.01 17.46 2 12 2z"/>`,type:`<path d="M4 7V4h16v3"/><path d="M9 20h6"/><path d="M12 4v16"/>`,shape:`<path d="M5 3a2 2 0 0 0-2 2"/><path d="M19 3a2 2 0 0 1 2 2"/><path d="M21 19a2 2 0 0 1-2 2"/><path d="M5 21a2 2 0 0 1-2-2"/><path d="M9 3h1"/><path d="M9 21h1"/><path d="M14 3h1"/><path d="M14 21h1"/><path d="M3 9v1"/><path d="M21 9v1"/><path d="M3 14v1"/><path d="M21 14v1"/>`,motion:`<path d="M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/><path d="M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/><path d="M2 6c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>`,book:`<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>`,image:`<rect width="18" height="18" x="3" y="3" rx="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21"/>`,monitor:`<rect width="20" height="14" x="2" y="3" rx="2"/><path d="M8 21h8"/><path d="M12 17v4"/>`,smartphone:`<rect width="14" height="20" x="5" y="2" rx="2"/><path d="M12 18h.01"/>`,tablet:`<rect width="16" height="20" x="4" y="2" rx="2"/><path d="M12 18h.01"/>`,note:`<path d="M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z"/><path d="M15 3v4a2 2 0 0 0 2 2h4"/>`,globe:`<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>`,pointer:`<path d="M4.04 4.69a.5.5 0 0 1 .65-.65l16 6.5a.5.5 0 0 1-.06.95l-6.12 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.12a.5.5 0 0 1-.95.06z"/>`,component:`<path d="M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z"/><path d="m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z"/><path d="M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z"/><path d="m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z"/>`,keyboard:`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="M6 8h.01"/><path d="M10 8h.01"/><path d="M14 8h.01"/><path d="M18 8h.01"/><path d="M8 12h.01"/><path d="M12 12h.01"/><path d="M16 12h.01"/><path d="M7 16h10"/>`,folder:`<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/>`,canvas:`<rect width="7" height="9" x="3" y="3" rx="1"/><rect width="7" height="5" x="14" y="3" rx="1"/><rect width="7" height="9" x="14" y="12" rx="1"/><rect width="7" height="5" x="3" y="16" rx="1"/>`};function Z({name:e,size:t=16,strokeWidth:n=1.75,className:r}){return(0,R.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`shrink-0 ${e===`loader`?`animate-spin`:``} ${r??``}`,dangerouslySetInnerHTML:{__html:v_[e]}})}function Q({children:e,size:t=12.5,className:n,title:r,wrap:i}){return(0,R.jsx)(`span`,{title:r,className:X(i?`break-all`:`whitespace-nowrap`,`font-mono`,n),style:{fontSize:t},children:e})}function y_({children:e}){return(0,R.jsx)(`kbd`,{className:`rounded-[4px] border border-rule bg-surface px-[5px] py-px font-mono text-[11px] text-ink2`,children:e})}function b_({top:e,bottom:t,weight:n=500}){return(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,R.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,R.jsx)(`span`,{className:`flex min-w-0 items-center gap-2.5 overflow-hidden whitespace-nowrap text-[12.5px] leading-[1.35] text-muted`,children:t}):null]})}var x_={canvas:`This canvas`,canvases:`Canvases`,system:`Design system`,actions:`Actions`};function S_(e){let t=/^\/c\/([^/]+)/.exec(e);return t?decodeURIComponent(t[1]):null}function C_({onClose:e}){let[t,n]=F(),r=Xg().scope,i=$g().data,a=r?.canvas??S_(t),o=e_(a??``,!!a).data,s=t_(!!i?.system).data,[c,l]=(0,v.useState)(``),[u,d]=(0,v.useState)(0),f=t=>()=>{e(),t()},p=[];if(o)for(let e of o.pages){p.push({id:`page:${e.id}`,group:`canvas`,label:e.title,icon:`file`,hint:`Page`,run:f(()=>n(`/c/${encodeURIComponent(o.id)}/p/${encodeURIComponent(e.id)}`))});for(let t of e.sections)for(let r of t.items)(r.kind===`screen`||r.kind===`url`)&&p.push({id:`item:${e.id}:${r.id}`,group:`canvas`,label:r.title,icon:r.kind===`url`?`globe`:`monitor`,hint:t.title?`${e.title} · ${t.title}`:e.title,keywords:`${r.id} ${t.title??``}`,searchOnly:!0,run:f(()=>{n(`/c/${encodeURIComponent(o.id)}/p/${encodeURIComponent(e.id)}`),a_(o.id,r.id)})})}for(let e of i?.canvases??[])e.id!==a&&p.push({id:`canvas:${e.id}`,group:`canvases`,label:e.title,icon:`canvas`,hint:`${e.screens} screens`,keywords:e.id,run:f(()=>n(`/c/${encodeURIComponent(e.id)}`))});if(i?.system){for(let[e,t,r]of[[`Overview`,`/system`,`book`],[`Colors`,`/system/colors`,`palette`],[`Typography`,`/system/typography`,`type`],[`Spacing & shape`,`/system/shape`,`shape`]])p.push({id:`sys:${t}`,group:`system`,label:e,icon:r,run:f(()=>n(t))});for(let e of s?.components??[])p.push({id:`component:${e.id}`,group:`system`,label:e.title,icon:`component`,hint:e.group,searchOnly:!0,run:f(()=>n(`/system/components/${encodeURIComponent(e.id)}`))});for(let e of s?.guidelines??[])p.push({id:`guide:${e.slug}`,group:`system`,label:e.title,icon:`book`,hint:`Guideline`,searchOnly:!0,run:f(()=>n(`/system/guidelines/${encodeURIComponent(e.slug)}`))})}r||p.push({id:`home`,group:`actions`,label:`All canvases`,icon:`home`,run:f(()=>n(`/`))}),p.push({id:`light`,group:`actions`,label:`Light appearance`,icon:`sun`,searchOnly:!0,run:f(()=>h_(`light`))},{id:`dark`,group:`actions`,label:`Dark appearance`,icon:`moon`,searchOnly:!0,run:f(()=>h_(`dark`))},{id:`system-theme`,group:`actions`,label:`System appearance`,icon:`monitor`,searchOnly:!0,run:f(()=>h_(`system`))});let m=c.trim().toLowerCase(),h=p.filter(e=>m?`${e.label} ${e.keywords??``} ${typeof e.hint==`string`?e.hint:``}`.toLowerCase().includes(m):!e.searchOnly),g=[`canvas`,`canvases`,`system`,`actions`].map(e=>({group:e,items:h.filter(t=>t.group===e)})).filter(e=>e.items.length),_=g.flatMap(e=>e.items),y=Math.min(u,Math.max(_.length-1,0)),b=-1;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,R.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,R.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,R.jsx)(`input`,{value:c,onChange:e=>{l(e.target.value),d(0)},onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),d((y+1)%Math.max(_.length,1))):e.key===`ArrowUp`?(e.preventDefault(),d((y-1+_.length)%Math.max(_.length,1))):e.key===`Enter`&&(e.preventDefault(),_[y]?.run())},placeholder:`Canvases, screens, components…`,"aria-label":`Search and jump`,role:`combobox`,"aria-expanded":`true`,"aria-controls":`palette-list`,autoComplete:`off`,spellCheck:!1,className:`h-full min-w-0 grow border-0 bg-transparent text-[15px] text-ink outline-none placeholder:text-muted`}),(0,R.jsx)(y_,{children:`esc`})]}),(0,R.jsx)(`div`,{id:`palette-list`,role:`listbox`,className:`min-h-0 grow overflow-y-auto py-1.5`,children:g.length?g.map(({group:e,items:t})=>(0,R.jsxs)(`div`,{role:`presentation`,children:[(0,R.jsx)(`div`,{className:`px-4 pt-2.5 pb-1 text-[12px] text-muted`,children:x_[e]}),t.map(e=>{b+=1;let t=b,n=t===y;return(0,R.jsxs)(`button`,{type:`button`,role:`option`,tabIndex:-1,"aria-selected":n,ref:n?e=>e?.scrollIntoView({block:`nearest`}):void 0,onMouseMove:()=>n?void 0:d(t),onClick:e.run,className:X(`flex h-10 w-full cursor-pointer items-center gap-3 border-0 px-4 text-left text-[13.5px] text-ink`,n?`bg-soft`:`bg-transparent`),children:[(0,R.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,R.jsx)(Z,{name:e.icon,size:16})}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,R.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,R.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-4 border-t border-rule bg-soft px-4 text-[12px] text-muted`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(y_,{children:`↑`}),(0,R.jsx)(y_,{children:`↓`}),`move`]}),(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(y_,{children:`↵`}),`open`]})]})]})}function w_(){let[e,t]=(0,v.useState)(!1);return(0,v.useEffect)(()=>{let e=()=>t(e=>!e),n=t=>{(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===`k`&&(t.preventDefault(),e())};return window.addEventListener(`keydown`,n),window.addEventListener(`design:palette`,e),()=>{window.removeEventListener(`keydown`,n),window.removeEventListener(`design:palette`,e)}},[]),(0,R.jsx)(mg,{open:e,onOpenChange:t,children:(0,R.jsx)($u,{children:e?(0,R.jsx)(vg,{forceMount:!0,children:(0,R.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.14},className:`fixed inset-0 z-50 flex items-start justify-center bg-overlay p-6 pt-[12vh]`,children:(0,R.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0,scale:.98,y:-6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,transition:{duration:.1}},transition:{type:`spring`,stiffness:560,damping:40},className:`flex max-h-[min(560px,76vh)] w-[560px] max-w-full flex-col overflow-hidden rounded-[12px] border border-rule bg-surface shadow-pop outline-none`,children:(0,R.jsx)(C_,{onClose:()=>t(!1)})})})})})}):null})})}var T_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`;function E_(){window.dispatchEvent(new CustomEvent(`design:palette`))}function D_({width:e=240,label:t=`Search and jump`}){return(0,R.jsxs)(`button`,{type:`button`,onClick:E_,style:{width:e},"aria-label":t,className:`flex h-ctrl min-w-0 shrink cursor-pointer items-center gap-2 rounded-[6px] border border-rule bg-soft pr-1.5 pl-3 text-ctrl text-muted transition-colors hover:border-rule-strong max-lg:w-auto! max-md:w-ctrl! max-md:justify-center max-md:border-0! max-md:bg-transparent! max-md:p-0!`,children:[(0,R.jsx)(Z,{name:`search`,size:15}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate text-left max-lg:hidden`,children:t}),(0,R.jsx)(`span`,{className:`flex max-md:hidden`,children:(0,R.jsx)(y_,{children:T_===`⌘`?`⌘K`:`Ctrl K`})})]})}var O_={primary:`border border-primary bg-primary text-primary-ink hover:opacity-90`,secondary:`border border-rule-strong bg-surface text-ink hover:bg-soft`,ghost:`border border-transparent bg-transparent text-ink2 hover:bg-soft2`,dashed:`border border-dashed border-rule-strong bg-transparent text-ink2 hover:bg-soft`,danger:`border border-danger bg-danger text-on-danger hover:opacity-90`},k_=(e=`secondary`,t)=>X(`inline-flex h-ctrl shrink-0 cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap rounded-[6px] px-ctrl text-ctrl font-medium leading-none no-underline transition-[background-color,opacity] duration-100`,`disabled:cursor-not-allowed disabled:opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45`,O_[e],t),A_=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,R.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:k_(e,i),...s,children:[n?(0,R.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,R.jsx)(Z,{name:t,size:15}):null,a]})}),j_={ghost:`border border-transparent bg-transparent text-muted hover:bg-soft2 hover:text-ink2`,secondary:`border border-rule-strong bg-surface text-ink2 hover:bg-soft`},M_=(e=`ghost`,t)=>X(`inline-flex h-ctrl w-ctrl shrink-0 cursor-pointer items-center justify-center rounded-[6px] p-0 transition-colors duration-100 disabled:cursor-not-allowed disabled:opacity-45`,j_[e],t),N_=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,R.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:M_(n,i),...o,children:(0,R.jsx)(Z,{name:e,size:r})})});function P_({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,R.jsxs)(ye,{href:e,className:k_(t,r),children:[n?(0,R.jsx)(Z,{name:n,size:15}):null,i]})}function F_({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,R.jsxs)(`a`,{className:k_(e,n),...i,children:[t?(0,R.jsx)(Z,{name:t,size:15}):null,r]})}var I_=Object.defineProperty,L_=(e,t)=>I_(e,`name`,{value:t,configurable:!0});function R_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=L_(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,R.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=kp(s),l=v.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=tp(t,a(s,n).collectionRef);return(0,R.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=kp(u),p=v.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=v.useRef(null),s=tp(t,o),c=a(u,n);return v.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,R.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return v.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return L_(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}L_(R_,`createCollection`);var z_=new WeakMap,B_=class e extends Map{static{L_(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],z_.set(this,!0)}set(e,t){return z_.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=U_(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=V_(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=V_(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return V_(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function V_(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=H_(e,t);return n===-1?void 0:e[n]}L_(V_,`at`);function H_(e,t){let n=e.length,r=U_(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}L_(H_,`toSafeIndex`);function U_(e){return e!==e||e===0?0:Math.trunc(e)}L_(U_,`toSafeInteger`);function W_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new B_,setItemMap:L_(()=>void 0,`setItemMap`)}),o=L_(({state:e,...t})=>e?(0,R.jsx)(c,{...t,state:e}):(0,R.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=L_(e=>{let t=h();return(0,R.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=L_(e=>{let{scope:t,children:n,state:r}=e,a=v.useRef(null),[o,s]=v.useState(null),c=tp(a,s),[l,u]=r;return v.useEffect(()=>{if(!o)return;let e=J_(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,R.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=kp(l),d=v.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=tp(t,a(l,n).collectionRef);return(0,R.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=kp(f),m=v.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=v.useRef(null),[s,c]=v.useState(null),l=tp(t,o,c),{setItemMap:u}=a(f,n),d=v.useRef(i);G_(d.current,i)||(d.current=i);let m=d.current;return v.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(q_):(t.set(s,{...e,element:s}),t.toSorted(q_)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new B_(e)))}},[s,m,u]),(0,R.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new B_)}L_(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return L_(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}L_(W_,`createCollection`);function G_(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}L_(G_,`shallowEqual`);function K_(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}L_(K_,`isElementPreceding`);function q_(e,t){return!e[1].element||!t[1].element?0:K_(e[1].element,t[1].element)?-1:1}L_(q_,`sortByDocumentPosition`);function J_(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}L_(J_,`getChildListObserver`);var Y_=Object.defineProperty,X_=(e,t)=>Y_(e,`name`,{value:t,configurable:!0}),Z_=v.createContext(void 0);function Q_(e){let t=v.useContext(Z_);return e||t||`ltr`}X_(Q_,`useDirection`);var $_=[`top`,`right`,`bottom`,`left`],ev=Math.min,tv=Math.max,nv=Math.round,rv=Math.floor,iv=e=>({x:e,y:e}),av={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ov(e,t,n){return tv(e,ev(t,n))}function sv(e,t){return typeof e==`function`?e(t):e}function cv(e){return e.split(`-`)[0]}function lv(e){return e.split(`-`)[1]}function uv(e){return e===`x`?`y`:`x`}function dv(e){return e===`y`?`height`:`width`}function fv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function pv(e){return uv(fv(e))}function mv(e,t,n){n===void 0&&(n=!1);let r=lv(e),i=pv(e),a=dv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Cv(o)),[o,Cv(o)]}function hv(e){let t=Cv(e);return[gv(e),t,gv(t)]}function gv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var _v=[`left`,`right`],vv=[`right`,`left`],yv=[`top`,`bottom`],bv=[`bottom`,`top`];function xv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?vv:_v:t?_v:vv;case`left`:case`right`:return t?yv:bv;default:return[]}}function Sv(e,t,n,r){let i=lv(e),a=xv(cv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(gv)))),a}function Cv(e){let t=cv(e);return av[t]+e.slice(t.length)}function wv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Tv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:wv(e)}function Ev(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Dv(e,t,n){let{reference:r,floating:i}=e,a=fv(t),o=pv(t),s=dv(o),c=cv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=lv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ov(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=sv(t,e),p=Tv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ev(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ev(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var kv=50,Av=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ov},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Dv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<kv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Dv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},jv=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=sv(e,t)||{};if(l==null)return{};let d=Tv(u),f={x:n,y:r},p=pv(i),m=dv(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ev(d[_],T),D=ev(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=ov(E,k,O),j=!c.arrow&&lv(i)!=null&&k!==A&&a.reference[m]/2-(k<E?E:D)-h[m]/2<0,ee=j?k<E?k-E:k-O:0;return{[p]:f[p]+ee,data:{[p]:A,centerOffset:k-A-ee,...j&&{alignmentOffset:ee}},reset:j}}}),Mv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=sv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=cv(r),_=fv(o),v=cv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Cv(o)]:hv(o)),x=p!==`none`;!d&&x&&b.push(...Sv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=mv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===fv(t)||T.every(e=>fv(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=fv(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function Nv(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Pv(e){return $_.some(t=>e[t]>=0)}var Fv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=sv(e,t);switch(i){case`referenceHidden`:{let e=Nv(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Pv(e)}}}case`escaped`:{let e=Nv(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Pv(e)}}}default:return{}}}}},Iv=new Set([`left`,`top`]);async function Lv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=cv(n),s=lv(n),c=fv(n)===`y`,l=Iv.has(o)?-1:1,u=a&&c?-1:1,d=sv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Rv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Lv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},zv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=sv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=fv(i),p=uv(f),m=u[p],h=u[f],g=(e,t)=>ov(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Bv=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=sv(e,t),u={x:n,y:r},d=fv(i),f=uv(d),p=u[f],m=u[d],h=sv(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Iv.has(cv(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Vv=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=sv(e,t),c=await i.detectOverflow(t,s),l=cv(n),u=lv(n),d=fv(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=ev(p-c[m],g),y=ev(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*tv(c.left,c.right):S=p-2*tv(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function Hv(){return typeof window<`u`}function Uv(e){return Kv(e)?(e.nodeName||``).toLowerCase():`#document`}function Wv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gv(e){return((Kv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Kv(e){return Hv()?e instanceof Node||e instanceof Wv(e).Node:!1}function qv(e){return Hv()?e instanceof Element||e instanceof Wv(e).Element:!1}function Jv(e){return Hv()?e instanceof HTMLElement||e instanceof Wv(e).HTMLElement:!1}function Yv(e){return!Hv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Wv(e).ShadowRoot}function Xv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=sy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Zv(e){return/^(table|td|th)$/.test(Uv(e))}function Qv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var $v=/transform|translate|scale|rotate|perspective|filter/,ey=/paint|layout|strict|content/,ty=e=>!!e&&e!==`none`,ny;function ry(e){let t=qv(e)?sy(e):e;return ty(t.transform)||ty(t.translate)||ty(t.scale)||ty(t.rotate)||ty(t.perspective)||!ay()&&(ty(t.backdropFilter)||ty(t.filter))||$v.test(t.willChange||``)||ey.test(t.contain||``)}function iy(e){let t=ly(e);for(;Jv(t)&&!oy(t);){if(ry(t))return t;if(Qv(t))return null;t=ly(t)}return null}function ay(){return ny??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ny}function oy(e){return/^(html|body|#document)$/.test(Uv(e))}function sy(e){return Wv(e).getComputedStyle(e)}function cy(e){return qv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ly(e){if(Uv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Yv(e)&&e.host||Gv(e);return Yv(t)?t.host:t}function uy(e){let t=ly(e);return oy(t)?(e.ownerDocument||e).body:Jv(t)&&Xv(t)?t:uy(t)}function dy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=uy(e),i=r===e.ownerDocument?.body,a=Wv(r);if(i){let e=fy(a);return t.concat(a,a.visualViewport||[],Xv(r)?r:[],e&&n?dy(e):[])}return t.concat(r,dy(r,[],n))}function fy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function py(e){let t=sy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Jv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=nv(n)!==a||nv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function my(e){return qv(e)?e:e.contextElement}function hy(e){let t=my(e);if(!Jv(t))return iv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=py(t),o=(a?nv(n.width):n.width)/r,s=(a?nv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var gy=iv(0);function _y(e){let t=Wv(e);return!ay()||!t.visualViewport?gy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Wv(e)}function yy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=my(e),o=iv(1);t&&(r?qv(r)&&(o=hy(r)):o=hy(e));let s=vy(a,n,r)?_y(a):iv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Wv(a),t=qv(r)?Wv(r):r,n=e,i=fy(n);for(;i&&t!==n;){let e=hy(i),t=i.getBoundingClientRect(),r=sy(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Wv(i),i=fy(n)}}return Ev({width:u,height:d,x:c,y:l})}function by(e,t){let n=cy(e).scrollLeft;return t?t.left+n:yy(Gv(e)).left+n}function xy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-by(e,n),y:n.top+t.scrollTop}}function Sy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Gv(r),s=t?Qv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=iv(1),u=iv(0),d=Jv(r);if((d||!a)&&((Uv(r)!==`body`||Xv(o))&&(c=cy(r)),d)){let e=yy(r);l=hy(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?xy(o,c):iv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Cy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function wy(e){let t=cy(e),n=e.ownerDocument.body,r=tv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=tv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+by(e),o=-t.scrollTop;return sy(n).direction===`rtl`&&(a+=tv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ty=25;function Ey(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Wv(e),a=Gv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ay()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(by(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ty&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Dy(e,t){let n=yy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=hy(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Oy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ey(e,n,t);else if(t===`document`)r=wy(Gv(e));else if(qv(t))r=Dy(t,n);else{let n=_y(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ev(r)}function ky(e,t){let n=t.get(e);if(n)return n;let r=dy(e,[],!1).filter(e=>qv(e)&&Uv(e)!==`body`),i=null,a=sy(e).position===`fixed`,o=a?ly(e):e;for(;qv(o)&&!oy(o);){let e=sy(o),t=ry(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=ly(o)}return t.set(e,r),r}function Ay(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Qv(t)?[]:ky(t,this._c):[].concat(n),r],o=Oy(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Oy(t,a[e],i);s=tv(n.top,s),c=ev(n.right,c),l=ev(n.bottom,l),u=tv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jy(e){let{width:t,height:n}=py(e);return{width:t,height:n}}function My(e,t,n){let r=Jv(t),i=Gv(t),a=n===`fixed`,o=yy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=iv(0);if((r||!a)&&((Uv(t)!==`body`||Xv(i))&&(s=cy(t)),r)){let e=yy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=by(i));let l=i&&!r&&!a?xy(i,s):iv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ny(e){return sy(e).position===`static`}function Py(e,t){if(!Jv(e)||sy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Gv(e)===n&&(n=n.ownerDocument.body),n}function Fy(e,t){let n=Wv(e);if(Qv(e))return n;if(!Jv(e)){let t=ly(e);for(;t&&!oy(t);){if(qv(t)&&!Ny(t))return t;t=ly(t)}return n}let r=Py(e,t);for(;r&&Zv(r)&&Ny(r);)r=Py(r,t);return r&&oy(r)&&Ny(r)&&!ry(r)?n:r||iy(e)||n}var Iy=async function(e){let t=this.getOffsetParent||Fy,n=this.getDimensions,r=await n(e.floating);return{reference:My(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Ly(e){return sy(e).direction===`rtl`}var Ry={convertOffsetParentRelativeRectToViewportRelativeRect:Sy,getDocumentElement:Gv,getClippingRect:Ay,getOffsetParent:Fy,getElementRects:Iy,getClientRects:Cy,getDimensions:jy,getScale:hy,isElement:qv,isRTL:Ly};function zy(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function By(e,t,n){let r=null,i,a=Gv(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=rv(d),h=rv(a.clientWidth-(u+f)),g=rv(a.clientHeight-(d+p)),_=rv(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:tv(0,ev(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!zy(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=Wv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function Vy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=my(e),u=i||a?[...l?dy(l):[],...t?dy(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?By(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?yy(e):null;c&&g();function g(){let t=yy(e);h&&!zy(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Hy=Rv,Uy=zv,Wy=Mv,Gy=Vv,Ky=Fv,qy=jv,Jy=Bv,Yy=(e,t,n)=>{let r=new Map,i=n??{},a={...Ry,...i.platform,_c:r};return Av(e,t,{...i,platform:a})},Xy=typeof document<`u`?v.useLayoutEffect:function(){};function Zy(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Zy(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Zy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Qy(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function $y(e,t){let n=Qy(e);return Math.round(t*n)/n}function eb(e){let t=v.useRef(e);return Xy(()=>{t.current=e}),t}function tb(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=v.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=v.useState(r);Zy(f,r)||p(r);let[m,h]=v.useState(null),[g,_]=v.useState(null),y=v.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=v.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=a||m,S=o||g,C=v.useRef(null),w=v.useRef(null),T=v.useRef(u),E=c!=null,D=eb(c),O=eb(i),k=eb(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Yy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!Zy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Xy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Xy(()=>(j.current=!0,()=>{j.current=!1}),[]),Xy(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let ee=v.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),te=v.useMemo(()=>({reference:x,floating:S}),[x,S]),M=v.useMemo(()=>{let e={position:n,left:0,top:0};if(!te.floating)return e;let t=$y(te.floating,u.x),r=$y(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Qy(te.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,te.floating,u.x,u.y]);return v.useMemo(()=>({...u,update:A,refs:ee,elements:te,floatingStyles:M}),[u,A,ee,te,M])}var nb=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:qy({element:r.current,padding:i}).fn(n):r?qy({element:r,padding:i}).fn(n):{}}}},rb=(e,t)=>{let n=Hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ib=(e,t)=>{let n=Uy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ab=(e,t)=>({fn:Jy(e).fn,options:[e,t]}),ob=(e,t)=>{let n=Wy(e);return{name:n.name,fn:n.fn,options:[e,t]}},sb=(e,t)=>{let n=Gy(e);return{name:n.name,fn:n.fn,options:[e,t]}},cb=(e,t)=>{let n=Ky(e);return{name:n.name,fn:n.fn,options:[e,t]}},lb=(e,t)=>{let n=nb(e);return{name:n.name,fn:n.fn,options:[e,t]}},ub=Object.defineProperty,db=(e,t)=>ub(e,`name`,{value:t,configurable:!0});function fb(e){let[t,n]=v.useState(void 0);return sp(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}db(fb,`useSize`);var pb=Object.defineProperty,mb=(e,t)=>pb(e,`name`,{value:t,configurable:!0}),hb=`Popper`,[gb,_b]=ap(hb),[vb,yb]=gb(hb),bb=mb(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,R.jsx)(vb,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),xb=`PopperAnchor`,Sb=v.forwardRef(mb(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=yb(xb,n),o=v.useRef(null),s=a.onAnchorChange,c=tp(t,v.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=v.useRef(null);v.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&kb(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,R.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Cb=`PopperContent`,[wb,Tb]=gb(Cb),Eb=v.forwardRef(mb(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=yb(Cb,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=fb(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(Db),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:M,middlewareData:N}=tb({strategy:`fixed`,placement:E,whileElementsMounted:mb((...e)=>Vy(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[rb({mainAxis:i+T,alignmentAxis:o}),c&&ib({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?ab():void 0,...A}),c&&ob({...A}),sb({...A,apply:mb(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),x&&lb({element:x,padding:s}),Ob({arrowWidth:w,arrowHeight:T}),f&&cb({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),ne=g.setPlacementState;sp(()=>(ne(te),()=>{ne(void 0)}),[te,ne]);let[re,P]=kb(te),ie=Jp(m);sp(()=>{M&&ie?.()},[M,ie]);let ae=N.arrow?.x,oe=N.arrow?.y,se=N.arrow?.centerOffset!==0,[ce,le]=v.useState();return sp(()=>{_&&le(window.getComputedStyle(_).zIndex)},[_]),(0,R.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:M?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[N.transformOrigin?.x,N.transformOrigin?.y].join(` `),...N.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,R.jsx)(wb,{scope:n,placedSide:re,placedAlign:P,onArrowChange:S,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,R.jsx)(Wp.div,{"data-side":re,"data-align":P,...h,ref:b,style:{...h.style,animation:M?h.style?.animation:`none`}})})})},`PopperContent`));function Db(e){return e!==null}mb(Db,`isNotNull`);var Ob=mb(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=kb(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function kb(e){let[t,n=`center`]=e.split(`-`);return[t,n]}mb(kb,`getSideAndAlignFromPlacement`);var Ab=bb,jb=Sb,Mb=Eb,Nb=Object.defineProperty,Pb=(e,t)=>Nb(e,`name`,{value:t,configurable:!0}),Fb=!1;function Ib(){let[e,t]=v.useState(Fb);return v.useEffect(()=>{Fb||(Fb=!0,t(!0))},[]),e}Pb(Ib,`useIsHydrated`);var Lb=v.useSyncExternalStore;function Rb(){return()=>{}}Pb(Rb,`subscribe`);function zb(){return Lb(Rb,()=>!0,()=>!1)}Pb(zb,`useIsHydratedModern`);var Bb=typeof Lb==`function`?zb:Ib,Vb=Object.defineProperty,Hb=(e,t)=>Vb(e,`name`,{value:t,configurable:!0}),Ub=`rovingFocusGroup.onEntryFocus`,Wb={bubbles:!1,cancelable:!0},Gb=`RovingFocusGroup`,[Kb,qb,Jb]=R_(Gb),[Yb,Xb]=ap(Gb,[Jb]),[Zb,Qb]=Yb(Gb),$b=v.forwardRef(Hb(function(e,t){return(0,R.jsx)(Kb.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(Kb.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(ex,{...e,ref:t})})})},`RovingFocusGroup`)),ex=v.forwardRef(Hb(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=v.useRef(null),p=tp(t,f),m=Q_(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Gb}),[_,y]=v.useState(!1),b=Jp(l),x=qb(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Ub,b),()=>e.removeEventListener(Ub,b)},[b]),(0,R.jsx)(Zb,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:v.useCallback(e=>g(e),[g]),onItemShiftTab:v.useCallback(()=>y(!0),[]),onFocusableItemAdd:v.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:v.useCallback(()=>w(e=>e-1),[]),children:(0,R.jsx)(Wp.div,{tabIndex:_||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:Y(e.onMouseDown,()=>{S.current=!0}),onFocus:Y(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Ub,Wb);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ox([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:Y(e.onBlur,()=>y(!1))})})},`RovingFocusGroupImpl`)),tx=`RovingFocusGroupItem`,nx=v.forwardRef(Hb(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Qb(tx,n),d=u.currentTabStopId===l,f=qb(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Bb();return sp(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),v.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,R.jsx)(Kb.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,R.jsx)(Wp.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:Y(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:Y(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Y(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=ax(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?sx(n,r+1):n.slice(r+1)}setTimeout(()=>ox(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),rx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function ix(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Hb(ix,`getDirectionAwareKey`);function ax(e,t,n){let r=ix(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return rx[r]}Hb(ax,`getFocusIntent`);function ox(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Hb(ox,`focusFirst`);function sx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Hb(sx,`wrapArray`);var cx=$b,lx=nx,ux=Object.defineProperty,dx=(e,t)=>ux(e,`name`,{value:t,configurable:!0}),fx=[`Enter`,` `],px=[`ArrowDown`,`PageUp`,`Home`],mx=[`ArrowUp`,`PageDown`,`End`],hx=[...px,...mx];[...fx],[...fx];var gx=`Menu`,[_x,vx,yx]=R_(gx),[bx,xx]=ap(gx,[yx,_b,Xb]),Sx=_b(),Cx=Xb(),[wx,Tx]=bx(gx),[Ex,Dx]=bx(gx),Ox=dx(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Sx(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=Q_(i);return v.useEffect(()=>{let e=dx(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=dx(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),v.useEffect(()=>{if(!n)return;let e=dx(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,R.jsx)(Ab,{...s,children:(0,R.jsx)(wx,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,R.jsx)(Ex,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),kx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e,i=Sx(n);return(0,R.jsx)(jb,{...i,...r,ref:t})},`MenuAnchor`)),Ax=`MenuPortal`,[jx,Mx]=bx(Ax,{forceMount:void 0}),Nx=dx(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Tx(Ax,t);return(0,R.jsx)(jx,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Px=`MenuContent`,[Fx,Ix]=bx(Px),Lx=v.forwardRef(dx(function(e,t){let n=Mx(Px,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Tx(Px,e.__scopeMenu),o=Dx(Px,e.__scopeMenu);return(0,R.jsx)(_x.Provider,{scope:e.__scopeMenu,children:(0,R.jsx)(jm,{present:r||a.open,children:(0,R.jsx)(_x.Slot,{scope:e.__scopeMenu,children:o.modal?(0,R.jsx)(Rx,{...i,ref:t}):(0,R.jsx)(zx,{...i,ref:t})})})})},`MenuContent`)),Rx=v.forwardRef(dx(function(e,t){let n=Tx(Px,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Vx,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),zx=v.forwardRef(dx(function(e,t){let n=Tx(Px,e.__scopeMenu);return(0,R.jsx)(Vx,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Bx=kp(`MenuContent.ScrollLock`),Vx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=Tx(Px,n),_=Dx(Px,n),y=Sx(n),b=Cx(n),x=vx(n),[S,C]=v.useState(null),w=v.useRef(null),T=tp(t,w,g.onContentChange),E=v.useRef(0),D=v.useRef(``),O=v.useRef(0),k=v.useRef(null),A=v.useRef(`right`),j=v.useRef(0),ee=m?Zh:v.Fragment,te=m?{as:Bx,allowPinchZoom:!0}:void 0,M=dx(e=>{let t=D.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=aS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;dx((function e(t){D.current=t,window.clearTimeout(E.current),t!==``&&(E.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);v.useEffect(()=>()=>window.clearTimeout(E.current),[]),Hm();let N=v.useCallback(e=>A.current===k.current?.side&&sS(e,k.current?.area),[]);return(0,R.jsx)(Fx,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{N(e)&&e.preventDefault()},[N]),onItemLeave:v.useCallback(e=>{N(e)||(w.current?.focus(),C(null))},[N]),onTriggerLeave:v.useCallback(e=>{N(e)&&e.preventDefault()},[N]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,R.jsx)(ee,{...te,children:(0,R.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,R.jsx)(cx,{asChild:!0,...b,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:S,onCurrentTabStopIdChange:C,onEntryFocus:Y(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,R.jsx)(Mb,{role:`menu`,"aria-orientation":`vertical`,"data-state":eS(g.open),"data-radix-menu-content":``,dir:_.dir,...y,...h,ref:T,style:{outline:`none`,...h.style},onKeyDown:Y(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&M(e.key));let i=w.current;if(e.target!==i||!hx.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);mx.includes(e.key)&&a.reverse(),rS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,cS(e=>{let t=e.target,n=j.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>j.current?`right`:`left`;A.current=t,j.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),Hx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,R.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),Ux=`MenuItem`,Wx=`menu.itemSelect`,Gx=v.forwardRef(dx(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=Dx(Ux,e.__scopeMenu),s=Ix(Ux,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=dx(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Wx,{bubbles:!0,cancelable:!0});e.addEventListener(Wx,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,R.jsx)(Kx,{...i,ref:c,disabled:n,onClick:Y(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:Y(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:Y(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&fx.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Kx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Ix(Ux,n),s=Cx(n),c=v.useRef(null),l=tp(t,c),[u,d]=v.useState(!1),[f,p]=v.useState(``);return v.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,R.jsx)(_x.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,R.jsx)(lx,{asChild:!0,...s,focusable:!r,children:(0,R.jsx)(Wp.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:Y(e.onPointerMove,cS(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,cS(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[qx,Jx]=bx(`MenuRadioGroup`,{value:void 0,onValueChange:dx(()=>{},`onValueChange`)}),[Yx,Xx]=bx(`MenuItemIndicator`,{checked:!1}),Zx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,R.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Qx,$x]=bx(`MenuSub`);function eS(e){return e?`open`:`closed`}dx(eS,`getOpenState`);function tS(e){return e===`indeterminate`}dx(tS,`isIndeterminate`);function nS(e){return tS(e)?`indeterminate`:e?`checked`:`unchecked`}dx(nS,`getCheckedState`);function rS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}dx(rS,`focusFirst`);function iS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}dx(iS,`wrapArray`);function aS(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=iS(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}dx(aS,`getNextMatch`);function oS(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}dx(oS,`isPointInPolygon`);function sS(e,t){return t?oS({x:e.clientX,y:e.clientY},t):!1}dx(sS,`isPointerInGraceArea`);function cS(e){return t=>t.pointerType===`mouse`?e(t):void 0}dx(cS,`whenMouse`);var lS=Ox,uS=kx,dS=Nx,fS=Lx,pS=Hx,mS=Gx,hS=Zx,gS=Object.defineProperty,_S=(e,t)=>gS(e,`name`,{value:t,configurable:!0}),vS=`DropdownMenu`,[yS,bS]=ap(vS,[xx]),xS=xx(),[SS,CS]=yS(vS),wS=_S(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=xS(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:vS});return(0,R.jsx)(SS,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,R.jsx)(lS,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),TS=`DropdownMenuTrigger`,ES=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=CS(TS,n),o=xS(n),s=tp(t,a.triggerRef);return(0,R.jsx)(uS,{asChild:!0,...o,children:(0,R.jsx)(Wp.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:Y(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:Y(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),DS=_S(e=>{let{__scopeDropdownMenu:t,...n}=e,r=xS(t);return(0,R.jsx)(dS,{...r,...n})},`DropdownMenuPortal`),OS=`DropdownMenuContent`,kS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=CS(OS,n),a=xS(n),o=v.useRef(!1);return(0,R.jsx)(fS,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:Y(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),AS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(pS,{...i,...r,ref:t})},`DropdownMenuLabel`)),jS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(mS,{...i,...r,ref:t})},`DropdownMenuItem`)),MS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(hS,{...i,...r,ref:t})},`DropdownMenuSeparator`)),NS=wS,PS=ES,FS=DS,IS=kS,LS=AS,RS=jS,zS=MS,BS=`z-50 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-pop outline-none py-1 data-[state=open]:animate-[q-pop_120ms_ease-out] data-[state=closed]:animate-[q-pop-out_100ms_ease-in_forwards]`;function VS({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,R.jsxs)(NS,{open:o,onOpenChange:s,modal:!1,children:[(0,R.jsx)(PS,{asChild:!0,children:e}),(0,R.jsx)(FS,{children:(0,R.jsx)(IS,{align:r,side:i,sideOffset:a,collisionPadding:12,className:BS,style:{width:n,maxWidth:`calc(100vw - 24px)`},children:t})})]})}var HS=(e,t)=>X(`flex min-h-9 w-full cursor-pointer items-center gap-2.5 border-0 px-3 py-1.5 text-left text-[13.5px] outline-none select-none`,`data-[highlighted]:bg-soft data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,t?`bg-soft`:`bg-transparent`,e?`text-danger-text`:`text-ink`);function US({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,R.jsxs)(RS,{disabled:i,onSelect:t,className:X(HS(n,r),o),children:[e,a?(0,R.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function WS(){return(0,R.jsx)(zS,{className:`my-1 h-px bg-rule`})}function GS({children:e}){return(0,R.jsx)(LS,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var KS=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function qS(){let e=g_(),t=__();return(0,R.jsxs)(VS,{align:`end`,width:180,trigger:(0,R.jsx)(N_,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,R.jsx)(GS,{children:`Appearance`}),KS.map(t=>(0,R.jsxs)(US,{active:e===t.value,onSelect:()=>h_(t.value),children:[(0,R.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,R.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function JS({size:e=24}){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,R.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,R.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,R.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,R.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,R.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function YS({name:e,version:t}){return(0,R.jsxs)(ye,{href:`/`,title:t?`foss-design ${t}`:void 0,className:`flex min-w-0 items-center gap-2 text-[14px] font-semibold text-ink no-underline`,children:[(0,R.jsx)(JS,{}),(0,R.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function XS({children:e,className:t}){return(0,R.jsx)(`header`,{className:X(`sticky top-0 z-30 flex h-[52px] shrink-0 items-center gap-3 border-b border-rule bg-surface px-4`,t),children:e})}var ZS=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function QS({location:e}){let t=(0,v.useRef)(null),n=ZS.findIndex(t=>t.match(e)),[r,i]=(0,v.useState)(null);return(0,v.useLayoutEffect)(()=>{let e=t.current;if(!e)return;let r=()=>{let t=e.children[n];if(!t?.offsetWidth){i(null);return}let r=t.offsetLeft+10,a=t.offsetWidth-20;i(e=>e?.tab===n&&e.x===r&&e.width===a?e:{tab:n,x:r,width:a,slide:e!==null&&e.tab!==n})};r();let a=new ResizeObserver(r);return a.observe(e),()=>a.disconnect()},[n]),(0,R.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[ZS.map((e,t)=>(0,R.jsx)(ye,{href:e.to,"aria-current":t===n?`page`:void 0,className:X(`flex items-center px-2.5 text-[14px] no-underline transition-colors`,t===n?`font-medium text-ink`:`text-ink2 hover:text-ink`),children:e.label},e.to)),r?(0,R.jsx)(Wf.span,{"aria-hidden":!0,className:`pointer-events-none absolute bottom-0 left-0 h-[2px] bg-action`,initial:!1,animate:{x:r.x,width:r.width},transition:r.slide?{type:`spring`,stiffness:520,damping:42}:{duration:0}}):null]})}function $S(){let e=$g().data,{slots:t}=Xg(),[n]=F();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(XS,{children:[t.barStart,(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,R.jsx)(YS,{name:e?.name,version:e?.version}),(0,R.jsx)(QS,{location:n})]}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,R.jsx)(D_,{}),(0,R.jsx)(`span`,{className:X(`flex`,t.barEnd?`max-md:hidden`:void 0),children:(0,R.jsx)(qS,{})}),t.barEnd]})]}),(0,R.jsx)(eC,{location:n}),t.belowBar]})}function eC({location:e}){return(0,R.jsx)(`nav`,{className:`sticky top-[52px] z-30 hidden h-10 shrink-0 items-stretch border-b border-rule bg-surface px-2 max-md:flex`,children:ZS.map(t=>{let n=t.match(e);return(0,R.jsxs)(ye,{href:t.to,"aria-current":n?`page`:void 0,className:X(`relative flex grow items-center justify-center text-[13.5px] no-underline`,n?`font-medium text-ink`:`text-ink2`),children:[t.label,n?(0,R.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-x-6 bottom-0 h-[2px] rounded-full bg-action`}):null]},t.to)})})}var tC=window.matchMedia(`(max-width: 767px)`),nC=e=>(tC.addEventListener(`change`,e),()=>tC.removeEventListener(`change`,e));function rC(){return(0,v.useSyncExternalStore)(nC,()=>tC.matches)}var iC=Object.defineProperty,aC=(e,t)=>iC(e,`name`,{value:t,configurable:!0}),oC=`Popover`,[sC,cC]=ap(oC,[_b]),lC=_b(),[uC,dC]=sC(oC),fC=aC(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=lC(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:oC});return(0,R.jsx)(Ab,{...s,children:(0,R.jsx)(uC,{scope:t,contentId:fp(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:v.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:v.useCallback(()=>u(!0),[]),onCustomAnchorRemove:v.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),pC=`PopoverTrigger`,mC=v.forwardRef(aC(function(e,t){let{__scopePopover:n,...r}=e,i=dC(pC,n),a=lC(n),o=tp(t,i.triggerRef),s=(0,R.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":TC(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,R.jsx)(jb,{asChild:!0,...a,children:s})},`PopoverTrigger`)),hC=`PopoverPortal`,[gC,_C]=sC(hC,{forceMount:void 0}),vC=aC(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=dC(hC,t);return(0,R.jsx)(gC,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),yC=`PopoverContent`,bC=v.forwardRef(aC(function(e,t){let n=_C(yC,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=dC(yC,e.__scopePopover);return(0,R.jsx)(jm,{present:r||a.open,children:a.modal?(0,R.jsx)(SC,{...i,ref:t}):(0,R.jsx)(CC,{...i,ref:t})})},`PopoverContent`)),xC=kp(`PopoverContent.RemoveScroll`),SC=v.forwardRef(aC(function(e,t){let n=dC(yC,e.__scopePopover),r=v.useRef(null),i=tp(t,r),a=v.useRef(!1);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Zh,{as:xC,allowPinchZoom:!0,children:(0,R.jsx)(wC,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Y(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),CC=v.forwardRef(aC(function(e,t){let n=dC(yC,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,R.jsx)(wC,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),wC=v.forwardRef(aC(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=dC(yC,n),p=lC(n);return Hm(),(0,R.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,R.jsx)(Mb,{"data-state":TC(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function TC(e){return e?`open`:`closed`}aC(TC,`getState`);var EC=fC,DC=mC,OC=vC,kC=bC,AC=new s_([]),jC=1;function MC(e,t,n=`ok`){let r=jC++;AC.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>AC.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var NC=new s_([]),PC=1;function FC(){let[e]=(0,v.useState)(()=>PC++);(0,v.useEffect)(()=>(NC.set(t=>[...t,e]),()=>NC.set(t=>t.filter(t=>t!==e))),[e]);let t=c_(NC,t=>t[0]===e),n=c_(AC);return t?(0,R.jsx)(`div`,{className:`pointer-events-none fixed bottom-5 left-1/2 z-[60] flex -translate-x-1/2 flex-col items-center gap-2`,children:(0,R.jsx)($u,{mode:`popLayout`,children:n.map(e=>(0,R.jsxs)(Wf.div,{layout:!0,initial:{opacity:0,y:8,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:4,transition:{duration:.12}},transition:{type:`spring`,stiffness:520,damping:40},className:`flex max-w-[min(420px,calc(100vw-32px))] min-w-0 items-center gap-2.5 rounded-[8px] border border-rule bg-surface px-3 py-2 text-[13px] text-ink shadow-pop`,children:[e.tone===`error`?(0,R.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):e.tone===`info`?(0,R.jsx)(Z,{name:`info`,size:15,className:`text-muted`}):(0,R.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,R.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function IC(e,t=`Copied`){try{await navigator.clipboard.writeText(e),MC(t,e.length>64?void 0:e)}catch{MC(`Could not copy`,`The browser blocked clipboard access`,`error`)}}var LC=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of LC.get(e.source)??[])n(t)});function RC(e,t){let n=null,r=()=>{if(!n)return;let e=LC.get(n);e?.delete(t),e?.size||LC.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=LC.get(n)??new Set;i.add(t),LC.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function zC(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function BC(e){zC(e,{type:`canvas`})}function VC(e,t){zC(e,{type:`theme`,theme:t})}function HC(e){e&&(e.src=e.src)}var UC=(()=>{if(Ng)return``;let{protocol:e,hostname:t,port:n}=window.location,r=t===`localhost`?`127.0.0.1`:t===`127.0.0.1`?`localhost`:null;return r?`${e}//${r}${n?`:${n}`:``}`:``})();function WC(e,t,n){let[r=``,i=``]=e.split(`?`),a=new URLSearchParams(i);a.set(`theme`,t);for(let[e,t]of Object.entries(n??{}))a.set(e,t);return`${r.startsWith(`/`)?UC:``}${r}?${a.toString()}`}function GC(e){return new URL(e,document.baseURI).toString()}function KC(e,t,n){if(e.form){MC(`Forms are not sent from a screen`,void 0,`info`);return}if(e.path===null){let t=window.open(e.href,`_blank`);t?t.opener=null:MC(`Link to another site`,e.href,`info`);return}let r=e.path.split(/[?#]/)[0].replace(/\/+$/,``),i=r.slice(r.lastIndexOf(`/`)+1).replace(/\.html?$/,``);try{i=decodeURIComponent(i)}catch{}let a=new Set(t.pages.flatMap(e=>e.sections.flatMap(e=>e.items.filter(e=>e.kind===`screen`||e.kind===`url`).map(e=>e.id))));i&&a.has(i)?n(i):MC(`Not a screen on this canvas`,e.path,`info`)}function qC(e,t,n){let r=$g().data,i=t_(!!r?.system).data?.tokens,[a,o]=(0,v.useState)(null),s=(0,v.useRef)({enabled:t,tokens:i});s.current={enabled:t,tokens:i};let c=(0,v.useRef)(n.onEscape);c.current=n.onEscape;let l=(0,v.useRef)(e);l.current=e;let u=(0,v.useRef)(new Map),d=(e,t=!1)=>{let{enabled:n,tokens:r}=s.current,i=u.current.get(e);(t||i?.on!==n||i.tokens!==r)&&(u.current.set(e,{on:n,tokens:r}),zC(e,{type:`inspect`,on:n,tokens:n?r??[]:void 0}))};(0,v.useEffect)(()=>{for(let t of e)d(t);for(let t of u.current.keys())e.includes(t)||u.current.delete(t)},[e,t,i]),(0,v.useEffect)(()=>{let t=e.map(e=>RC(e,t=>{if(t.type===`ready`)s.current.enabled?d(e,!0):u.current.set(e,{on:!1});else if(t.type===`inspect`){if(t.info){for(let t of l.current)t!==e&&zC(t,{type:`inspect-select`,ref:null});o({info:t.info,frame:e})}else o(t=>t?.frame===e?null:t)}else t.type===`inspect-escape`&&c.current()}));return()=>{for(let e of t)e()}},[e]);let f=a&&e.includes(a.frame)?a.frame:null;return{info:f?a.info:null,frame:f,select(e){if(e===null){for(let e of l.current)zC(e,{type:`inspect-select`,ref:null});o(null)}else a&&zC(a.frame,{type:`inspect-select`,ref:e})}}}function JC(e){let[t,n]=(0,v.useState)(!1);return(0,v.useEffect)(()=>{let t=e=>e===`Meta`||e===`Control`,r=!1,i=!1,a,o=()=>{r=!1,clearTimeout(a),n(!1)},s=e=>{if(t(e)){if(r)return;r=!0,i=!1,a=setTimeout(()=>{r&&!i&&n(!0)},150)}else r&&(i=!0,clearTimeout(a),n(!1))},c=e=>s(e.key),l=e=>{t(e.key)&&o()};window.addEventListener(`keydown`,c,!0),window.addEventListener(`keyup`,l,!0),window.addEventListener(`blur`,o);let u=e.map(e=>RC(e,e=>{e.type===`key`?e.down?s(e.name):t(e.name)&&o():e.type===`blur`&&o()}));return()=>{window.removeEventListener(`keydown`,c,!0),window.removeEventListener(`keyup`,l,!0),window.removeEventListener(`blur`,o);for(let e of u)e();clearTimeout(a)}},[e]),t}function YC({title:e,children:t,right:n}){return(0,R.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,R.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function XC({label:e,children:t}){return(0,R.jsxs)(`div`,{className:`grid min-h-7 grid-cols-[92px_minmax(0,1fr)] items-center gap-x-3 px-4 py-0.5 text-[12.5px]`,children:[(0,R.jsx)(`span`,{className:`text-muted`,children:e}),(0,R.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function ZC({name:e}){return e?(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(`var(${e})`,`Token copied`),title:`Copy var()`,className:`shrink-0 cursor-pointer truncate rounded-[4px] border-0 bg-action-soft px-1.5 py-px font-mono text-[11px] text-action`,children:e}):null}function QC({children:e,title:t}){return(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function $C({label:e,color:t}){return(0,R.jsxs)(XC,{label:e,children:[(0,R.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-[3px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.12)]`,style:{background:t.css}}),(0,R.jsx)(QC,{title:t.css,children:t.value}),(0,R.jsx)(ZC,{name:t.token})]})}var ew=e=>e?String(e):`–`;function tw({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,R.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,R.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,R.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:ew(i)}),(0,R.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:ew(s)}),(0,R.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,R.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:ew(a)}),(0,R.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:ew(o)})]})}function nw({info:e}){let t={w:Math.max(0,e.rect.w-e.border[1]-e.border[3]-e.padding[1]-e.padding[3]),h:Math.max(0,e.rect.h-e.border[0]-e.border[2]-e.padding[0]-e.padding[2])};return(0,R.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,R.jsx)(tw,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,R.jsx)(tw,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,R.jsx)(tw,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,R.jsxs)(`div`,{className:`flex h-8 items-center justify-center rounded-[3px] border border-rule-strong bg-[#6fa8dc]/25 text-ink`,children:[Math.round(t.w*100)/100,` × `,Math.round(t.h*100)/100]})})})})})}function rw({info:e,onSelect:t}){return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,R.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>t(e.ref),className:`cursor-pointer rounded-[4px] border-0 bg-soft2 px-1.5 py-0.5 font-mono text-[11px] text-ink2 hover:text-ink`,children:e.label}),(0,R.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,R.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function iw({info:e,onSelect:t,onClose:n,active:r}){return(0,R.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,R.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,R.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,R.jsx)(N_,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,R.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,R.jsxs)(YC,{title:`Element`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,R.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,R.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,R.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,R.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(e.component.file,`Path copied`),className:`w-fit max-w-full cursor-pointer truncate border-0 bg-transparent p-0 text-left font-mono text-[11.5px] text-muted hover:text-ink2`,title:`Copy path`,children:e.component.file}):null,e.text?(0,R.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,R.jsx)(rw,{info:e,onSelect:t})]}),(0,R.jsxs)(YC,{title:`Box`,children:[(0,R.jsx)(nw,{info:e}),(0,R.jsx)(XC,{label:`Size`,children:(0,R.jsxs)(QC,{children:[e.rect.w,` × `,e.rect.h]})}),(0,R.jsx)(XC,{label:`Position`,children:(0,R.jsxs)(QC,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,R.jsx)(YC,{title:`Layout`,children:e.layout.map(([e,t])=>(0,R.jsx)(XC,{label:e,children:(0,R.jsx)(QC,{title:t,children:t})},e))}):null,e.typography?(0,R.jsxs)(YC,{title:`Typography`,children:[(0,R.jsxs)(XC,{label:`Font`,children:[(0,R.jsx)(QC,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,R.jsx)(ZC,{name:e.typography.familyToken})]}),(0,R.jsxs)(XC,{label:`Size`,children:[(0,R.jsxs)(QC,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,R.jsx)(ZC,{name:e.typography.sizeToken})]}),(0,R.jsx)(XC,{label:`Weight`,children:(0,R.jsx)(QC,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,R.jsx)(XC,{label:`Tracking`,children:(0,R.jsx)(QC,{children:e.typography.letterSpacing})}),(0,R.jsx)($C,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,R.jsx)(XC,{label:`Align`,children:(0,R.jsx)(QC,{children:e.typography.align})}),e.typography.transform?(0,R.jsx)(XC,{label:`Transform`,children:(0,R.jsx)(QC,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,R.jsxs)(YC,{title:`Appearance`,children:[e.appearance.background?(0,R.jsx)($C,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,R.jsx)(XC,{label:`Image`,children:(0,R.jsx)(QC,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,R.jsxs)(XC,{label:`Border`,children:[(0,R.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-[3px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.12)]`,style:{background:e.appearance.border.color.css}}),(0,R.jsxs)(QC,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,R.jsx)(ZC,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,R.jsxs)(XC,{label:`Radius`,children:[(0,R.jsx)(QC,{children:e.appearance.radius.value}),(0,R.jsx)(ZC,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,R.jsxs)(XC,{label:`Shadow`,children:[(0,R.jsx)(QC,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,R.jsx)(ZC,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,R.jsx)(XC,{label:`Opacity`,children:(0,R.jsx)(QC,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,R.jsx)(YC,{title:`Classes`,right:(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,R.jsx)(`span`,{className:`rounded-[4px] bg-soft2 px-1.5 py-0.5 font-mono text-[11px] text-ink2`,children:e},e))})}):null,e.attributes.length?(0,R.jsx)(YC,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,R.jsx)(XC,{label:e,children:(0,R.jsx)(QC,{title:t,children:t})},e))}):null,e.children.length?(0,R.jsx)(YC,{title:`Children · ${e.children.length}`,children:(0,R.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>t(e.ref),className:`flex h-7 cursor-pointer items-center gap-2 rounded-[6px] border-0 bg-transparent px-2 text-left font-mono text-[12px] text-ink2 hover:bg-soft2`,children:[(0,R.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,R.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${T_} to highlight, click to inspect.`}),(0,R.jsx)(`span`,{className:`text-[12.5px] leading-[1.5] text-muted`,children:`Hover shows margin, padding and content. Clicks go to the inspector, not the screen.`}),(0,R.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,R.jsx)(y_,{children:`I`}),` toggle · hold `,(0,R.jsx)(y_,{children:T_}),` · `,(0,R.jsx)(y_,{children:`esc`}),` clear`]})]}),e?(0,R.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,R.jsx)(A_,{icon:`copy`,onClick:()=>void IC(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var aw={neutral:`bg-soft2 text-ink2`,action:`bg-action-soft text-action`,ok:`bg-ok-soft text-ok-text`,danger:`bg-danger-soft text-danger-text`};function ow({tone:e=`neutral`,children:t,className:n}){return(0,R.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,aw[e],n),children:t})}function sw({value:e,tone:t=`neutral`}){return(0,R.jsx)(`span`,{className:X(`inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-[4px] px-[5px] text-[11.5px] font-semibold tabular`,t===`action`?`bg-action-soft text-action`:t===`danger`?`bg-danger-soft text-danger-text`:`bg-soft2 text-ink2`),children:e})}function cw({children:e,className:t,style:n}){return(0,R.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function lw({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,R.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,R.jsxs)(i,{className:`m-0 flex min-w-0 items-center gap-2 whitespace-nowrap text-[14px] font-semibold`,children:[e,t===void 0?null:(0,R.jsx)(sw,{value:t}),n?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,R.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function uw({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,R.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,R.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,R.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,onClick:()=>n(e.value),className:X(`relative flex h-[46px] cursor-pointer items-center gap-1.5 border-0 bg-transparent px-0.5 text-[14px] transition-colors`,r?`font-semibold text-ink`:`font-medium text-ink2 hover:text-ink`),children:[e.label,e.count===void 0?null:(0,R.jsx)(sw,{value:e.count}),r?(0,R.jsx)(Wf.span,{layoutId:i,className:`absolute inset-x-0 bottom-0 h-[2px] bg-ink`,transition:{type:`spring`,stiffness:520,damping:42}}):null]},e.value)})}),r?(0,R.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function dw({align:e,children:t}){return(0,R.jsx)(`div`,{className:X(`flex min-w-0 items-center gap-2`,e===`r`&&`justify-end text-right`,e===`c`&&`justify-center`),children:t})}function fw(e,t){return v.Children.toArray(e).map((e,n)=>(0,R.jsx)(dw,{align:t?.[n]??`l`,children:e},n))}function pw({cols:e,align:t,labels:n}){return(0,R.jsx)(`div`,{className:`grid h-8 items-center gap-x-4 border-t border-rule bg-soft px-4 text-[12.5px] text-muted`,style:{gridTemplateColumns:e},children:n.map((e,n)=>(0,R.jsx)(dw,{align:t?.[n]??`l`,children:(0,R.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var mw=(e,t,n)=>X(`grid items-center gap-x-4 border-rule`,!e&&`border-t`,t&&`cursor-pointer transition-colors hover:bg-soft`,n);function hw({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,R.jsx)(`div`,{className:mw(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:fw(i,t)})}function gw({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,R.jsx)(ye,{href:e,className:X(mw(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:fw(s,n)})}function _w({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,R.jsxs)(`div`,{className:`grid content-center items-baseline gap-x-4 border-t border-rule px-4 py-2`,style:{gridTemplateColumns:`min(${n}px, 42%) minmax(0, 1fr)`,minHeight:r},children:[(0,R.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,R.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function vw({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,R.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function yw({issues:e,className:t}){return(0,R.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,R.jsxs)(`div`,{className:`flex items-start gap-2.5 border-t border-rule px-4 py-2.5 text-[13px] first:border-t-0`,children:[(0,R.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,R.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function bw({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,R.jsxs)(cw,{className:n?`border-danger/40`:void 0,children:[(0,R.jsx)(lw,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:(0,R.jsx)(yw,{issues:e})})]})}var xw=[.2,.7,.2,1];function Sw({open:e,side:t,width:n,children:r}){return(0,R.jsx)($u,{initial:!1,children:e?(0,R.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:xw},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,R.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function Cw({children:e,className:t,gap:n=20,wide:r=!1}){return(0,R.jsx)(`main`,{className:X(`mx-auto flex w-full min-h-0 grow flex-col px-8 pt-6 pb-7 animate-[q-fade-in_160ms_ease-out] max-md:px-4 max-md:pt-4`,r?`max-w-[1440px]`:`max-w-[1200px]`,t),style:{gap:n},children:e})}function ww({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,R.jsxs)(`div`,{className:`flex shrink-0 items-end justify-between gap-6 max-md:flex-col max-md:items-stretch max-md:gap-3`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,R.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,R.jsx)(`div`,{className:`text-[13px] [overflow-wrap:anywhere] text-muted`,children:t}):null]}),n?(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function Tw({items:e,label:t}){return(0,R.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>(0,R.jsxs)(ye,{href:e.to,className:e=>X(`flex h-8 items-center gap-2 whitespace-nowrap rounded-[6px] px-3 text-[13.5px] no-underline transition-colors focus-visible:outline-offset-[-2px]`,e?`bg-soft2 font-medium text-ink`:`text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to))})}function Ew({children:e}){return(0,R.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function Dw({title:e,text:t,action:n}){return(0,R.jsxs)(cw,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,R.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,R.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,R.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function Ow(e){return(0,R.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,R.jsx)(Dw,{...e})})}function kw({title:e=`Nothing here`,text:t}){let n=!!Xg().scope;return(0,R.jsx)(Ow,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,R.jsx)(P_,{to:`/`,children:`All canvases`})})}var Aw=.1,jw=(e,t=Aw)=>Math.min(8,Math.max(t,e)),Mw=class{camera={x:0,y:0,z:1};minZoom=Aw;listeners=new Set;animation=0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}set(e){this.camera={x:e.x,y:e.y,z:jw(e.z,this.minZoom)};for(let e of this.listeners)e(this.camera)}interrupt(){cancelAnimationFrame(this.animation),this.animation=0}panBy(e,t){this.interrupt();let{x:n,y:r,z:i}=this.camera;this.set({x:n+e,y:r+t,z:i})}zoomAt(e,t,n){this.interrupt();let{x:r,y:i,z:a}=this.camera,o=jw(a*n,this.minZoom),s=(e-r)/a,c=(t-i)/a;this.set({x:e-s*o,y:t-c*o,z:o})}animateTo(e,t=320){this.interrupt();let n={...this.camera},r={...e,z:jw(e.z,this.minZoom)};if(t<=0||matchMedia(`(prefers-reduced-motion: reduce)`).matches){this.set(r);return}let i=performance.now(),a=e=>{let o=Math.min(1,(e-i)/t),s=1-(1-o)**3,c=n.z*(r.z/n.z)**s,l=n.z===r.z?s:(c-n.z)/(r.z-n.z);this.set({x:n.x+(r.x-n.x)*l,y:n.y+(r.y-n.y)*l,z:c}),this.animation=o<1?requestAnimationFrame(a):0};this.animation=requestAnimationFrame(a)}toWorld(e,t){let{x:n,y:r,z:i}=this.camera;return{x:(e-n)/i,y:(t-r)/i}}};function Nw(e,t,n,r=72,i=1,a=Aw){let o=jw(Math.min((t-r*2)/Math.max(e.w,1),(n-r*2)/Math.max(e.h,1),i),a),s=(e,t,n)=>t*o<=n-r*2?n/2-(e+t/2)*o:r-e*o;return{z:o,x:s(e.x,e.w,t),y:s(e.y,e.h,n)}}function Pw(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}function Fw({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,R.jsx)(`div`,{role:`group`,"aria-label":r,className:X(`shrink-0 items-center gap-0.5 rounded-[6px] bg-track p-[3px]`,a===`ctrl`?`h-ctrl`:`h-7`,i?`flex`:`inline-flex`),children:e.map(e=>{let r=e.value===t;return(0,R.jsxs)(`button`,{type:`button`,"aria-pressed":r,title:e.title,onClick:()=>n(e.value),className:X(`relative flex h-full cursor-pointer items-center justify-center whitespace-nowrap rounded-[4px] border-0 bg-transparent font-medium transition-colors`,a===`ctrl`?`px-2.5 text-ctrl`:`px-2 text-[12.5px]`,i&&`flex-1`,r?`text-ink`:`text-muted hover:text-ink2`),children:[r?(0,R.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,R.jsx)(`span`,{className:`relative flex items-center gap-1.5`,children:e.label})]},e.value)})})}var Iw=Object.defineProperty,Lw=(e,t)=>Iw(e,`name`,{value:t,configurable:!0}),Rw=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),zw=v.forwardRef(Lw(function(e,t){return(0,R.jsx)(Wp.span,{...e,ref:t,style:{...Rw,...e.style}})},`VisuallyHidden`)),Bw=Object.defineProperty,Vw=(e,t)=>Bw(e,`name`,{value:t,configurable:!0}),[Hw,Uw]=ap(`Tooltip`,[_b]),Ww=_b(),Gw=`TooltipProvider`,Kw=700,qw=`tooltip.open`,[Jw,Yw]=Hw(Gw),Xw=Vw(e=>{let{__scopeTooltip:t,delayDuration:n=Kw,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=v.useRef(!0),s=v.useRef(!1),c=v.useRef(0);return v.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,R.jsx)(Jw,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:v.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:v.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:v.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),Zw=`Tooltip`,[Qw,$w]=Hw(Zw),eT=Vw(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Yw(Zw,e.__scopeTooltip),l=Ww(t),[u,d]=v.useState(null),[f,p]=v.useState(void 0),m=fp(),h=v.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,y=v.useRef(!1),[b,x]=xp({prop:r,defaultProp:i??!1,onChange:Vw(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(qw))):c.onClose(),a?.(e)},`onChange`),caller:Zw}),S=v.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),C=v.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,x(!0)},[x]),w=v.useCallback(()=>{window.clearTimeout(h.current),h.current=0,x(!1)},[x]),T=v.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,x(!0),h.current=0},_)},[_,x]);v.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let E=f??m;return(0,R.jsx)(Ab,{...l,children:(0,R.jsx)(Qw,{scope:t,contentId:E,setContentId:p,open:b,stateAttribute:S,trigger:u,onTriggerChange:d,onTriggerEnter:v.useCallback(()=>{c.isOpenDelayedRef.current?T():C()},[c.isOpenDelayedRef,T,C]),onTriggerLeave:v.useCallback(()=>{g?w():(window.clearTimeout(h.current),h.current=0)},[w,g]),onOpen:C,onClose:w,disableHoverableContent:g,children:n})})},`Tooltip`),tT=`TooltipTrigger`,nT=v.forwardRef(Vw(function(e,t){let{__scopeTooltip:n,...r}=e,i=$w(tT,n),a=Yw(tT,n),o=Ww(n),s=tp(t,v.useRef(null),i.onTriggerChange),c=v.useRef(!1),l=v.useRef(!1),u=v.useCallback(()=>c.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,R.jsx)(jb,{asChild:!0,...o,children:(0,R.jsx)(Wp.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:Y(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:Y(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:Y(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:Y(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Y(e.onBlur,i.onClose),onClick:Y(e.onClick,i.onClose)})})},`TooltipTrigger`)),rT=`TooltipPortal`,[iT,aT]=Hw(rT,{forceMount:void 0}),oT=Vw(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=$w(rT,t);return(0,R.jsx)(iT,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),sT=`TooltipContent`,cT=v.forwardRef(Vw(function(e,t){let n=aT(sT,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=$w(sT,e.__scopeTooltip);return(0,R.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,R.jsx)(dT,{side:i,...a,ref:t}):(0,R.jsx)(lT,{side:i,...a,ref:t})})},`TooltipContent`)),lT=v.forwardRef(Vw(function(e,t){let n=$w(sT,e.__scopeTooltip),r=Yw(sT,e.__scopeTooltip),i=v.useRef(null),a=tp(t,i),[o,s]=v.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=v.useCallback(()=>{s(null),d(!1)},[d]),p=v.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=pT(r,fT(r,n.getBoundingClientRect())),a=mT(t.getBoundingClientRect()),o=gT([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=Vw(e=>p(e,u),`handleTriggerLeave`),t=Vw(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),v.useEffect(()=>{if(o){let e=Vw(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!hT(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,R.jsx)(dT,{...e,ref:a})},`TooltipContentHoverable`)),uT=jp(`TooltipContent`),dT=v.forwardRef(Vw(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=$w(sT,n),u=Ww(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener(qw,d),()=>document.removeEventListener(qw,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=Vw(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:f}=l;return sp(()=>(f(a),()=>{f(void 0)}),[a,f]),(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,R.jsxs)(Mb,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,R.jsx)(uT,{children:r}),i?(0,R.jsx)(zw,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function fT(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}Vw(fT,`getExitSideFromRect`);function pT(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}Vw(pT,`getPaddedExitPoints`);function mT(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}Vw(mT,`getPointsFromRect`);function hT(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}Vw(hT,`isPointInPolygon`);function gT(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),_T(t)}Vw(gT,`getHull`);function _T(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}Vw(_T,`getHullPresorted`);var vT=Xw,yT=eT,bT=nT,xT=oT,ST=cT;function CT({children:e}){return(0,R.jsx)(vT,{delayDuration:250,children:e})}var wT=`z-50 max-w-[280px] rounded-[8px] border border-rule bg-surface px-[10px] py-[7px] text-[12.5px] leading-[1.35] text-ink shadow-pop outline-none data-[state=delayed-open]:animate-[q-pop_120ms_ease-out] data-[state=closed]:animate-[q-pop-out_100ms_ease-in_forwards]`;function TT({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,R.jsxs)(yT,{children:[(0,R.jsx)(bT,{asChild:!0,children:t}),(0,R.jsx)(xT,{children:(0,R.jsx)(ST,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(wT,i),children:e})})]})}var ET=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function DT(e,t,n){let{frameSandbox:r}=Xg(),{base:i}=ue();return t?t.kind===`url`?t.url:GC(r?`${i}${ET(e,t.id,t.theme??n)}`:WC(t.url,t.theme??n)):null}function OT({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e),[,a]=F(),{frameSandbox:o}=Xg(),s=__(),c=(0,v.useRef)(null),l=new URLSearchParams(window.location.search).get(`theme`),u=n?n.pages.flatMap(e=>e.sections.flatMap(e=>e.items.filter(e=>e.kind===`screen`||e.kind===`url`))):[],d=u.find(e=>e.id===t),f=(d?.kind===`screen`?d.theme:void 0)??(l===`light`||l===`dark`?l:n?.theme??s),p=d?d.kind===`screen`?WC(d.url,f):d.url:``,m=`/c/${encodeURIComponent(e)}`;return(0,v.useEffect)(()=>{d&&(document.title=`${d.title} · ${n?.title??``}`)},[d,n?.title]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&a(m)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,m]),(0,v.useEffect)(()=>{let t=c.current;if(t&&d?.kind===`screen`)return RC(t,t=>{if(t.type===`keydown`&&t.code===`Escape`)a(m);else if(t.type===`go`){let n=t.target.includes(`/`)?t.target.split(`/`)[1]:t.target;u.some(e=>e.id===n)&&a(ET(e,n,f),{replace:!0})}else t.type===`link`&&n&&KC(t,n,t=>a(ET(e,t,f),{replace:!0}))})},[p,d?.kind]),r?(0,R.jsx)(kw,{title:`Canvas not found`,text:r.message}):i||!n?(0,R.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,R.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,R.jsx)(`iframe`,{ref:c,src:p,title:d.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:o,className:`block h-full w-full border-0`,style:{colorScheme:f},onLoad:()=>d.kind===`screen`&&VC(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-0 flex justify-end p-3 opacity-0 transition-opacity duration-200 group-hover:opacity-100 focus-within:opacity-100`,children:(0,R.jsxs)(ye,{href:m,className:`pointer-events-auto flex h-8 items-center gap-2 rounded-[8px] border border-rule bg-surface px-3 text-[12.5px] text-ink2 no-underline shadow-pop hover:text-ink`,children:[(0,R.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,R.jsx)(y_,{children:`esc`})]})})]}):(0,R.jsx)(kw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function kT(e){return e.kind===`note`?`note`:e.kind===`image`?`image`:e.kind===`url`?`globe`:e.frame.width<600?`smartphone`:e.frame.width<1100?`tablet`:`monitor`}function AT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function jT({canvas:e,page:t,store:n,onPick:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.frames);return(0,R.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,R.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,R.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,R.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,R.jsx)(`nav`,{className:`flex flex-col gap-0.5 px-2`,children:e.pages.map(n=>{let r=n.sections.reduce((e,t)=>e+t.items.filter(e=>e.kind===`screen`||e.kind===`url`).length,0);return(0,R.jsxs)(ye,{href:AT(e,n),className:X(`flex h-8 items-center gap-2 rounded-[6px] px-2.5 text-[13.5px] no-underline transition-colors focus-visible:outline-offset-[-2px]`,n.id===t.id?`bg-soft2 font-medium text-ink`:`text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,R.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,R.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,R.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,R.jsx)(`span`,{className:`truncate`,children:e.title}),(0,R.jsx)(sw,{value:e.items.length})]}):null,e.items.map(t=>{let n=(a[t.id]?.errors.length??0)>0||t.kind===`screen`&&t.missing;return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r(t.id),className:X(`flex h-8 w-full cursor-pointer items-center gap-2 rounded-[6px] border-0 px-2.5 text-left text-[13px] transition-colors focus-visible:outline-offset-[-2px]`,e.title&&`pl-4`,i===t.id?`bg-action-soft text-ink`:`bg-transparent text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(Z,{name:kT(t),size:15,className:`text-muted`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,R.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function MT({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=F(),{slots:d,scope:f}=Xg();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(XS,{children:[d.barStart,d.brand?d.brand:f?(0,R.jsx)(JS,{}):(0,R.jsx)(TT,{content:`All canvases`,children:(0,R.jsx)(ye,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,R.jsx)(JS,{})})}),(0,R.jsx)(N_,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,R.jsx)(`span`,{className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,R.jsxs)(VS,{width:240,trigger:(0,R.jsxs)(`button`,{type:`button`,className:`flex h-ctrl cursor-pointer items-center gap-1 rounded-[6px] border-0 bg-transparent px-2 text-[14px] text-ink2 hover:bg-soft2`,children:[(0,R.jsx)(`span`,{className:`truncate`,children:t.title}),(0,R.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,R.jsx)(GS,{children:`Pages`}),e.pages.map(n=>(0,R.jsxs)(US,{active:n.id===t.id,onSelect:()=>u(AT(e,n)),children:[(0,R.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,R.jsx)(Fw,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,R.jsx)(PT,{on:c,onChange:l}),(0,R.jsx)(A_,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,children:`Play`}),(0,R.jsx)(D_,{width:200,label:`Search`}),(0,R.jsx)(qS,{}),d.barEnd]})]}),d.belowBar]})}function NT({canvas:e,store:t,layoutItems:n,theme:r,onPlay:i,inspect:a}){let o=c_(t,e=>e.selected),s=c_(t,e=>e.active),c=c_(t,e=>o?e.frames[o]:void 0),l=n.find(e=>e.id===o),u=DT(e.id,l?.kind===`screen`||l?.kind===`url`?l:void 0,r);if(!l)return null;let d=l.kind===`screen`||l.kind===`url`,f=()=>HC(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,R.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,R.jsxs)(`div`,{className:`pointer-events-auto flex max-w-full flex-col overflow-hidden rounded-[10px] border border-rule bg-surface shadow-pop animate-[q-pop_120ms_ease-out]`,children:[p.length?(0,R.jsxs)(`div`,{className:`flex max-h-40 items-start gap-2 overflow-y-auto border-b border-rule bg-danger-soft px-3.5 py-2 font-mono text-[12px] whitespace-pre-wrap text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,R.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
58
|
-
`)})]}):null,(0,R.jsxs)(`div`,{className:`flex h-[44px] items-center gap-1 pr-1.5 pl-3.5`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-2`,children:[(0,R.jsx)(`span`,{className:`truncate text-[13.5px] font-medium`,children:l.title||l.id}),d&&s===l.id?(0,R.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[12px] text-muted`,children:[(0,R.jsx)(Z,{name:`pointer`,size:13}),` `,a?`Inspecting`:`Interacting`,` `,(0,R.jsx)(y_,{children:`esc`})]}):d?(0,R.jsx)(`span`,{className:`shrink-0 text-[12px] text-muted`,children:a?`Click an element to inspect it`:`Click the screen to interact`}):null]}),d?(0,R.jsx)(TT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,R.jsx)(y_,{children:`↵`})]}),children:(0,R.jsx)(N_,{icon:`play`,label:`Play`,onClick:()=>i(l.id)})}):null,u?(0,R.jsx)(TT,{content:`Open in a new tab`,children:(0,R.jsx)(`a`,{href:u,target:`_blank`,rel:`noreferrer`,"aria-label":`Open in a new tab`,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,children:(0,R.jsx)(Z,{name:`external`,size:16})})}):null,d?(0,R.jsx)(TT,{content:`Reload`,children:(0,R.jsx)(N_,{icon:`refresh`,label:`Reload`,onClick:f})}):null,l.kind===`screen`?(0,R.jsx)(TT,{content:`Copy source path`,children:(0,R.jsx)(N_,{icon:`copy`,label:`Copy source path`,onClick:()=>void IC(l.file,`Path copied`)})}):null,(0,R.jsx)(TT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Zoom to `,(0,R.jsx)(y_,{children:`⇧2`})]}),children:(0,R.jsx)(N_,{icon:`fit`,label:`Zoom to`,onClick:()=>window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:l.id}}))})})]})]})})}function PT({on:e,onChange:t}){return(0,R.jsx)(TT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Inspect elements `,(0,R.jsx)(y_,{children:`I`})]}),children:(0,R.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:()=>t(!e),className:e?`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-action-line bg-action-soft px-ctrl text-ctrl font-medium text-action`:`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-rule-strong bg-surface px-ctrl text-ctrl font-medium text-ink hover:bg-soft`,children:[(0,R.jsx)(Z,{name:`pointer`,size:15}),`Inspect`]})})}var FT=280,IT=96,LT=150,RT=110,zT=720,BT=e=>e.kind===`screen`||e.kind===`url`;function VT(e,t){let n=t[e.id];if(e.kind===`screen`||e.kind===`url`){let t=e.frame.width;if(e.frame.height!==`auto`)return{w:t,h:e.frame.height};let r=e.kind===`screen`?e.measuredHeight:void 0;return{w:t,h:n?.h??r??900}}if(e.kind===`note`)return{w:e.width,h:n?.h??Math.max(80,Math.ceil(e.text.length/38)*26+40)};let r=e.width??n?.w??480;return{w:r,h:n?.w?n.h/n.w*r:n?.h??r*.62}}function HT(e,t){return!e.title&&!e.description?0:t[`section:${e.id}`]?.h??(e.title?56:0)+(e.description?60:0)}function UT(e,t){let n=[],r=[];if(e.layout===`free`){let r=0;for(let i of e.sections)for(let e of i.items){let{w:a,h:o}=VT(e,t),s=e.x??r,c=e.y??0;r=Math.max(r,s+a+IT),n.push({item:e,section:i,x:s,y:c,w:a,h:o})}}else{let i=0;for(let a of e.sections){let e=HT(a,t),o=i,s=i+(e?e+RT:0),c=0,l=0,u=0,d=0;for(let e of a.items){a.columns&&d===a.columns&&(s+=l+LT,c=0,l=0,d=0);let{w:r,h:i}=VT(e,t);n.push({item:e,section:a,x:c,y:s,w:r,h:i}),c+=r+IT,u=Math.max(u,c-IT),l=Math.max(l,i),d++}let f=s+l;r.push({section:a,x:0,y:o,w:Math.max(u,e?zT:0),h:f-o,header:e}),i=f+FT}}let i=0,a=0,o=0,s=0,c=[...n,...r];return c.length&&(i=Math.min(...c.map(e=>e.x)),a=Math.min(...c.map(e=>e.y)),o=Math.max(...c.map(e=>e.x+e.w)),s=Math.max(...c.map(e=>e.y+e.h))),{items:n,sections:r,bounds:{x:i,y:a,w:o-i,h:s-a}}}function WT(e){return e.items.filter(e=>BT(e.item))}function GT(){return new s_({selected:null,active:null,hovered:null,sizes:{},frames:{},live:[],panning:!1,zoomTiny:!1,frameEls:{},inspecting:!1})}function KT(e,t,n){e.set(e=>{let r=e.sizes[t];return r&&Math.abs(r.h-n.h)<1&&r.w===n.w?e:{...e,sizes:{...e.sizes,[t]:n}}})}function qT(e,t,n){e.set(e=>{let r=e.frames[t]??{ready:!1,errors:[]};return{...e,frames:{...e.frames,[t]:{...r,...n}}}})}function JT(e,t,n){e.set(e=>e.frameEls[t]===n?e:{...e,frameEls:{...e.frameEls,[t]:n}})}function YT(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var XT=YT();function ZT(e){XT=e}var QT={exec:()=>null};function $T(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function $(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(tE.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var eE=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),tE={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:$T(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:$T(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:$T(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:$T(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:$T(e=>RegExp(`^ {0,${e}}(?:</?(?:${gE})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:$T(e=>RegExp(`^ {0,${e}}>`))},nE=/^(?:[ \t]*(?:\n|$))+/,rE=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,iE=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,aE=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,oE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,sE=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,cE=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,lE=$(cE).replace(/bull/g,sE).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),uE=$(cE).replace(/bull/g,sE).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),dE=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,fE=/^[^\n]+/,pE=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,mE=$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,pE).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),hE=$(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,sE).getRegex(),gE=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,_E=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,vE=$(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,_E).replace(`tag`,gE).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yE=e=>$(dE).replace(`hr`,aE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,gE).getRegex(),bE=yE(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),xE=yE(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),SE={blockquote:$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,xE).getRegex(),code:rE,def:mE,fences:iE,heading:oE,hr:aE,html:vE,lheading:lE,list:hE,newline:nE,paragraph:bE,table:QT,text:fE},CE=$(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,aE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,gE).getRegex(),wE={...SE,lheading:uE,table:CE,paragraph:$(dE).replace(`hr`,aE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,CE).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,gE).getRegex()},TE={...SE,html:$(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,_E).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:QT,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:$(dE).replace(`hr`,aE).replace(`heading`,` *#{1,6} *[^
|
|
59
|
-
]`).replace(`lheading`,
|
|
60
|
-
`),n=t.length-1;for(;n>=0&&
|
|
61
|
-
`)}function
|
|
57
|
+
`},Kh=0,qh=[];function Jh(e){var t=v.useRef([]),n=v.useRef([0,0]),r=v.useRef(),i=v.useState(Kh++)[0],a=v.useState(gh)[0],o=v.useRef(e);v.useEffect(function(){o.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Km([e.lockRef.current],(e.shards||[]).map(Uh),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=v.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Vh(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ph(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ph(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Bh(h,t,e,h===`h`?s:c,!0)},[]),c=v.useCallback(function(e){var n=e;if(qh.length&&qh[qh.length-1]===a){var r=`deltaY`in n?Hh(n):Vh(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Wh(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Uh).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=v.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Yh(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=v.useCallback(function(e){n.current=Vh(e),r.current=void 0},[]),d=v.useCallback(function(t){l(t.type,Hh(t),t.target,s(t,e.lockRef.current))},[]),f=v.useCallback(function(t){l(t.type,Vh(t),t.target,s(t,e.lockRef.current))},[]);v.useEffect(function(){return qh.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,kh),document.addEventListener(`touchmove`,c,kh),document.addEventListener(`touchstart`,u,kh),function(){qh=qh.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,kh),document.removeEventListener(`touchmove`,c,kh),document.removeEventListener(`touchstart`,u,kh)}},[]);var p=e.removeScrollBar,m=e.inert;return v.createElement(v.Fragment,null,m?v.createElement(a,{styles:Gh(i)}):null,p?v.createElement(Eh,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Yh(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Xh=oh(sh,Jh),Zh=v.forwardRef(function(e,t){return v.createElement(lh,Wm({},e,{ref:t,sideCar:Xh}))});Zh.classNames=lh.classNames;var Qh=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$h=new WeakMap,eg=new WeakMap,tg={},ng=0,rg=function(e){return e&&(e.host||rg(e.parentNode))},ig=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=rg(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ag=function(e,t,n,r){var i=ig(t,Array.isArray(e)?e:[e]);tg[n]||(tg[n]=new WeakMap);var a=tg[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($h.get(e)||0)+1,l=(a.get(e)||0)+1;$h.set(e,c),a.set(e,l),o.push(e),c===1&&i&&eg.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),ng++,function(){o.forEach(function(e){var t=$h.get(e)-1,i=a.get(e)-1;$h.set(e,t),a.set(e,i),t||(eg.has(e)||e.removeAttribute(r),eg.delete(e)),i||e.removeAttribute(n)}),ng--,ng||($h=new WeakMap,$h=new WeakMap,eg=new WeakMap,tg={})}},og=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Qh(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ag(r,i,n,`aria-hidden`)):function(){return null}},sg=Object.defineProperty,cg=(e,t)=>sg(e,`name`,{value:t,configurable:!0}),lg=`Dialog`,[ug,dg]=ap(lg),[fg,pg]=ug(lg),mg=cg(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,u]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:lg}),[d,f]=v.useState(0),[p,m]=v.useState(0);return(0,R.jsx)(fg,{scope:t,triggerRef:s,contentRef:c,contentId:fp(),titleId:fp(),descriptionId:fp(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:v.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),hg=`DialogPortal`,[gg,_g]=ug(hg,{forceMount:void 0}),vg=cg(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=pg(hg,t);return(0,R.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),yg=`DialogOverlay`,bg=v.forwardRef(cg(function(e,t){let n=_g(yg,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pg(yg,e.__scopeDialog);return a.modal?(0,R.jsx)(jm,{present:r||a.open,children:(0,R.jsx)(Sg,{...i,ref:t})}):null},`DialogOverlay`)),xg=kp(`DialogOverlay.RemoveScroll`),Sg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(yg,n),a=tp(t,rm());return(0,R.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,R.jsx)(Wp.div,{"data-state":Mg(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),Cg=`DialogContent`,wg=v.forwardRef(cg(function(e,t){let n=_g(Cg,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pg(Cg,e.__scopeDialog);return(0,R.jsx)(jm,{present:r||a.open,children:a.modal?(0,R.jsx)(Tg,{...i,ref:t}):(0,R.jsx)(Eg,{...i,ref:t})})},`DialogContent`)),Tg=v.forwardRef(cg(function(e,t){let n=pg(Cg,e.__scopeDialog),r=v.useRef(null),i=tp(t,n.contentRef,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Dg,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Y(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Eg=v.forwardRef(cg(function(e,t){let n=pg(Cg,e.__scopeDialog),r=v.useRef(!1),i=v.useRef(!1);return(0,R.jsx)(Dg,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),Dg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=pg(Cg,n);return Hm(),(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(nm,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":Mg(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),Og=`DialogTitle`,kg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(Og,n),{setTitleCount:a}=i;return sp(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(Wp.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),Ag=`DialogClose`,jg=v.forwardRef(cg(function(e,t){let{__scopeDialog:n,...r}=e,i=pg(Ag,n);return(0,R.jsx)(Wp.button,{type:`button`,...r,ref:t,onClick:Y(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function Mg(e){return e?`open`:`closed`}cg(Mg,`getState`);var Ng=window.__DESIGN_STATIC__===!0,Pg=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function Fg(e,t){let n=await fetch(e,{cache:t});if(!n.ok){let e=`${n.status} ${n.statusText}`;try{let t=await n.json();t.error&&(e=t.error)}catch{}throw new Pg(n.status,e)}return await n.json()}async function Ig(e){try{return await e}catch(e){if(e instanceof Pg&&e.status===404)return null;throw e}}var Lg=``;function Rg(e){return Lg!==e.version&&(Lg=e.version,console.info(`foss-design ${e.version}${Ng?` (static build)`:``}`)),e}var zg={live:!0,project:()=>Fg(`/api/project`,`no-store`).then(Rg),canvas:async e=>({doc:await Fg(`/api/canvas/${encodeURIComponent(e)}`,`no-store`),base:``}),system:async()=>{let e=await Ig(Fg(`/api/system`,`no-store`));return e?{doc:e,base:``}:null},async source(e){let t=await fetch(`/api/source?path=${encodeURIComponent(e)}`,{cache:`no-store`});if(!t.ok)throw new Pg(t.status,`Could not read ${e}`);return t.text()}},Bg=null,Vg={live:!1,project:()=>Fg(`api/project.json`,`default`).then(Rg),canvas:async e=>({doc:await Fg(`api/canvas/${encodeURIComponent(e)}.json`,`default`),base:``}),system:async()=>{let e=await Ig(Fg(`api/system.json`,`default`));return e?{doc:e,base:``}:null},async source(e){Bg??=Fg(`api/sources.json`,`default`).catch(()=>({}));let t=(await Bg)[e];if(t===void 0)throw new Pg(404,`${e} is not in this build`);return t}};function Hg(e,t){if(!t)return e;try{let n=new URL(t.endsWith(`/`)?t:`${t}/`,document.baseURI);return new URL(e,n).href}catch{return e}}function Ug(e,t){if(!t)return e;let n=e=>Hg(e,t);return{...e,pages:e.pages.map(e=>({...e,sections:e.sections.map(e=>({...e,items:e.items.map(e=>{if(e.kind===`screen`){let t=e=>e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t&&n(t)])):void 0;return{...e,url:n(e.url),snapshots:t(e.snapshots),thumbs:t(e.thumbs)}}return e.kind===`image`?{...e,url:n(e.url)}:e})}))}))}}function Wg(e,t){if(!t)return e;let n=e=>Hg(e,t);return{...e,components:e.components.map(e=>({...e,url:n(e.url)})),assets:e.assets.map(e=>({...e,url:n(e.url)})),typographyUrl:e.typographyUrl&&n(e.typographyUrl)}}function Gg(e){return{all:[`design`,e],project:[`design`,e,`project`],canvas:t=>[`design`,e,`canvas`,t],system:[`design`,e,`system`],sources:[`design`,e,`source`],source:(t,n)=>[`design`,e,`source`,t,n]}}var Kg=new WeakMap,qg=0;function Jg(e){let t=Kg.get(e);return t||(qg+=1,t=String(qg),Kg.set(e,t)),t}var Yg=(0,v.createContext)(null);function Xg(){let e=(0,v.useContext)(Yg);if(!e)throw Error(`foss-design: this component renders inside <DesignViewer>`);return e}function Zg(e,t){if(e===t)return!0;try{return decodeURIComponent(e)===t}catch{return!1}}function Qg(e){return new zt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function $g(){let{source:e,keys:t,scope:n}=Xg();return Zt({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function e_(e,t=!0){let{source:n,keys:r}=Xg();return Zt({queryKey:r.canvas(e),queryFn:async()=>{let{doc:t,base:r}=await n.canvas(e);return Ug(t,r)},placeholderData:e=>e,enabled:t})}function t_(e=!0){let{source:t,keys:n}=Xg();return Zt({queryKey:n.system,queryFn:async()=>{let e=await t.system();return e?Wg(e.doc,e.base):null},enabled:e})}function n_(e,t=`system`){let{source:n,keys:r}=Xg();return Zt({queryKey:r.source(t,e??``),queryFn:()=>n.source(e,t),enabled:!!e})}function r_(e,t){let n=null,r=!1;return n=new EventSource(`/api/events`),n.onopen=()=>{r&&(r=!1,e.invalidateQueries({queryKey:t.all}))},n.onerror=()=>{r=!0},n.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}if(r.type===`project`)e.invalidateQueries({queryKey:t.project});else if(r.type===`system`)e.invalidateQueries({queryKey:t.system}),e.invalidateQueries({queryKey:t.sources});else if(r.type===`canvas`||r.type===`snapshot`){let n=r.type===`canvas`?r.id:r.canvas;e.invalidateQueries({queryKey:t.canvas(n)}),r.type===`snapshot`&&e.invalidateQueries({queryKey:t.project})}},()=>n?.close()}function X(...e){return e.filter(Boolean).join(` `)}var i_=null;function a_(e,t){i_={canvas:e,item:t},window.dispatchEvent(new CustomEvent(`design:focus`,{detail:i_}))}function o_(e){if(!i_||i_.canvas!==e)return null;let t=i_.item;return i_=null,t}var s_=class{value;listeners=new Set;constructor(e){this.value=e}get=()=>this.value;set=e=>{let t=typeof e==`function`?e(this.value):e;if(!Object.is(t,this.value)){this.value=t;for(let e of this.listeners)e()}};subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)})};function c_(e,t=e=>e){return(0,v.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var l_=`foss-design.theme`;function u_(){try{let e=localStorage.getItem(l_);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var d_=new s_(u_()),f_=window.matchMedia(`(prefers-color-scheme: dark)`);function p_(e){return e===`system`?f_.matches?`dark`:`light`:e}function m_(){document.documentElement.dataset.theme=p_(d_.get())}f_.addEventListener(`change`,m_),d_.subscribe(m_),m_();function h_(e){try{localStorage.setItem(l_,e)}catch{}d_.set(e)}function g_(){return c_(d_)}function __(){let e=c_(d_),t=(0,v.useSyncExternalStore)(e=>(f_.addEventListener(`change`,e),()=>f_.removeEventListener(`change`,e)),()=>f_.matches);return e===`system`?t?`dark`:`light`:e}var v_={plus:`<path d="M5 12h14"/><path d="M12 5v14"/>`,check:`<path d="M20 6 9 17l-5-5"/>`,x:`<path d="M18 6 6 18"/><path d="m6 6 12 12"/>`,"chevron-down":`<path d="m6 9 6 6 6-6"/>`,"chevron-up":`<path d="m18 15-6-6-6 6"/>`,"chevron-right":`<path d="m9 18 6-6-6-6"/>`,"arrow-right":`<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>`,chevrons:`<path d="m7 15 5 5 5-5"/><path d="m7 9 5-5 5 5"/>`,copy:`<rect width="14" height="14" x="8" y="8" rx="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`,search:`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/>`,bell:`<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>`,refresh:`<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>`,"up-right":`<path d="M7 7h10v10"/><path d="M7 17 17 7"/>`,"down-left":`<path d="M17 7 7 17"/><path d="M17 17H7V7"/>`,external:`<path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>`,"user-plus":`<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M19 8v6"/><path d="M22 11h-6"/>`,user:`<circle cx="12" cy="8" r="5"/><path d="M20 21a8 8 0 0 0-16 0"/>`,trash:`<path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/>`,more:`<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>`,alert:`<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>`,info:`<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>`,upload:`<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m17 8-5-5-5 5"/><path d="M12 3v12"/>`,download:`<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/><path d="M12 15V3"/>`,shield:`<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>`,logout:`<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><path d="m16 17 5-5-5-5"/><path d="M21 12H9"/>`,loader:`<path d="M21 12a9 9 0 1 1-6.219-8.56"/>`,"circle-check":`<circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/>`,"circle-dashed":`<circle cx="12" cy="12" r="9" stroke-dasharray="3 3"/>`,clock:`<circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/>`,mail:`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>`,send:`<path d="m22 2-7 20-4-9-9-4Z"/><path d="M22 2 11 13"/>`,chat:`<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/>`,wallet:`<path d="M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"/><path d="M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"/>`,"file-code":`<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="m10 13-2 2 2 2"/><path d="m14 17 2-2-2-2"/>`,ban:`<circle cx="12" cy="12" r="10"/><path d="m4.9 4.9 14.2 14.2"/>`,code:`<path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/>`,"chevron-left":`<path d="m15 18-6-6 6-6"/>`,bluetooth:`<path d="m7 7 10 10-5 5V2l5 5L7 17"/>`,face:`<path d="M3 7V5a2 2 0 0 1 2-2h2"/><path d="M17 3h2a2 2 0 0 1 2 2v2"/><path d="M21 17v2a2 2 0 0 1-2 2h-2"/><path d="M7 21H5a2 2 0 0 1-2-2v-2"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><path d="M9 9h.01"/><path d="M15 9h.01"/>`,eye:`<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>`,clipboard:`<rect width="8" height="4" x="8" y="2" rx="1" ry="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>`,grip:`<circle cx="9" cy="5" r="1"/><circle cx="9" cy="12" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="19" r="1"/>`,list:`<path d="M3 12h.01"/><path d="M3 18h.01"/><path d="M3 6h.01"/><path d="M8 12h13"/><path d="M8 18h13"/><path d="M8 6h13"/>`,lock:`<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>`,hw:`<rect width="20" height="10" x="2" y="7" rx="2"/><path d="M15 7v10"/><circle cx="8" cy="12" r="1.5"/>`,link:`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>`,signal:`<path d="M2 20h.01"/><path d="M7 20v-4"/><path d="M12 20v-8"/><path d="M17 20V8"/>`,grid:`<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>`,coins:`<circle cx="8" cy="8" r="6"/><path d="M18.09 10.37A6 6 0 1 1 10.34 18"/><path d="M7 6h1v4"/><path d="m16.71 13.88.7.71-2.82 2.82"/>`,arrows:`<path d="M8 3 4 7l4 4"/><path d="M4 7h16"/><path d="m16 21 4-4-4-4"/><path d="M20 17H4"/>`,key:`<path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"/><path d="m21 2-9.6 9.6"/><circle cx="7.5" cy="15.5" r="5.5"/>`,blocks:`<rect width="7" height="7" x="14" y="3" rx="1"/><path d="M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"/>`,settings:`<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>`,qr:`<rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/>`,edit:`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/>`,star:`<path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"/>`,home:`<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>`,moon:`<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>`,sun:`<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>`,languages:`<path d="m5 8 6 6"/><path d="m4 14 6-6 2-3"/><path d="M2 5h12"/><path d="M7 2h1"/><path d="m22 22-5-10-5 10"/><path d="M14 18h6"/>`,"arrow-left":`<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>`,play:`<polygon points="6 3 20 12 6 21 6 3"/>`,"zoom-in":`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/><path d="M11 8v6"/><path d="M8 11h6"/>`,"zoom-out":`<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/><path d="M8 11h6"/>`,fit:`<path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/>`,"panel-left":`<rect width="18" height="18" x="3" y="3" rx="2"/><path d="M9 3v18"/>`,layers:`<path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/>`,file:`<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/>`,palette:`<circle cx="13.5" cy="6.5" r="1"/><circle cx="17.5" cy="10.5" r="1"/><circle cx="8.5" cy="7.5" r="1"/><circle cx="6.5" cy="12.5" r="1"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.55-2.5 5.55-5.55C21.96 6.01 17.46 2 12 2z"/>`,type:`<path d="M4 7V4h16v3"/><path d="M9 20h6"/><path d="M12 4v16"/>`,shape:`<path d="M5 3a2 2 0 0 0-2 2"/><path d="M19 3a2 2 0 0 1 2 2"/><path d="M21 19a2 2 0 0 1-2 2"/><path d="M5 21a2 2 0 0 1-2-2"/><path d="M9 3h1"/><path d="M9 21h1"/><path d="M14 3h1"/><path d="M14 21h1"/><path d="M3 9v1"/><path d="M21 9v1"/><path d="M3 14v1"/><path d="M21 14v1"/>`,motion:`<path d="M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/><path d="M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/><path d="M2 6c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>`,book:`<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>`,image:`<rect width="18" height="18" x="3" y="3" rx="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21"/>`,monitor:`<rect width="20" height="14" x="2" y="3" rx="2"/><path d="M8 21h8"/><path d="M12 17v4"/>`,smartphone:`<rect width="14" height="20" x="5" y="2" rx="2"/><path d="M12 18h.01"/>`,tablet:`<rect width="16" height="20" x="4" y="2" rx="2"/><path d="M12 18h.01"/>`,note:`<path d="M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z"/><path d="M15 3v4a2 2 0 0 0 2 2h4"/>`,globe:`<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>`,pointer:`<path d="M4.04 4.69a.5.5 0 0 1 .65-.65l16 6.5a.5.5 0 0 1-.06.95l-6.12 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.12a.5.5 0 0 1-.95.06z"/>`,component:`<path d="M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z"/><path d="m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z"/><path d="M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z"/><path d="m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z"/>`,keyboard:`<rect width="20" height="16" x="2" y="4" rx="2"/><path d="M6 8h.01"/><path d="M10 8h.01"/><path d="M14 8h.01"/><path d="M18 8h.01"/><path d="M8 12h.01"/><path d="M12 12h.01"/><path d="M16 12h.01"/><path d="M7 16h10"/>`,folder:`<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/>`,canvas:`<rect width="7" height="9" x="3" y="3" rx="1"/><rect width="7" height="5" x="14" y="3" rx="1"/><rect width="7" height="9" x="14" y="12" rx="1"/><rect width="7" height="5" x="3" y="16" rx="1"/>`};function Z({name:e,size:t=16,strokeWidth:n=1.75,className:r}){return(0,R.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`shrink-0 ${e===`loader`?`animate-spin`:``} ${r??``}`,dangerouslySetInnerHTML:{__html:v_[e]}})}function Q({children:e,size:t=12.5,className:n,title:r,wrap:i}){return(0,R.jsx)(`span`,{title:r,className:X(i?`break-all`:`whitespace-nowrap`,`font-mono`,n),style:{fontSize:t},children:e})}function y_({children:e}){return(0,R.jsx)(`kbd`,{className:`rounded-[4px] border border-rule bg-surface px-[5px] py-px font-mono text-[11px] text-ink2`,children:e})}function b_({top:e,bottom:t,weight:n=500}){return(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,R.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,R.jsx)(`span`,{className:`flex min-w-0 items-center gap-2.5 overflow-hidden whitespace-nowrap text-[12.5px] leading-[1.35] text-muted`,children:t}):null]})}var x_={canvas:`This canvas`,canvases:`Canvases`,system:`Design system`,actions:`Actions`};function S_(e){let t=/^\/c\/([^/]+)/.exec(e);return t?decodeURIComponent(t[1]):null}function C_({onClose:e}){let[t,n]=F(),r=Xg().scope,i=$g().data,a=r?.canvas??S_(t),o=e_(a??``,!!a).data,s=t_(!!i?.system).data,[c,l]=(0,v.useState)(``),[u,d]=(0,v.useState)(0),f=t=>()=>{e(),t()},p=[];if(o)for(let e of o.pages){p.push({id:`page:${e.id}`,group:`canvas`,label:e.title,icon:`file`,hint:`Page`,run:f(()=>n(`/c/${encodeURIComponent(o.id)}/p/${encodeURIComponent(e.id)}`))});for(let t of e.sections)for(let r of t.items)(r.kind===`screen`||r.kind===`url`)&&p.push({id:`item:${e.id}:${r.id}`,group:`canvas`,label:r.title,icon:r.kind===`url`?`globe`:`monitor`,hint:t.title?`${e.title} · ${t.title}`:e.title,keywords:`${r.id} ${t.title??``}`,searchOnly:!0,run:f(()=>{n(`/c/${encodeURIComponent(o.id)}/p/${encodeURIComponent(e.id)}`),a_(o.id,r.id)})})}for(let e of i?.canvases??[])e.id!==a&&p.push({id:`canvas:${e.id}`,group:`canvases`,label:e.title,icon:`canvas`,hint:`${e.screens} screens`,keywords:e.id,run:f(()=>n(`/c/${encodeURIComponent(e.id)}`))});if(i?.system){for(let[e,t,r]of[[`Overview`,`/system`,`book`],[`Colors`,`/system/colors`,`palette`],[`Typography`,`/system/typography`,`type`],[`Spacing & shape`,`/system/shape`,`shape`]])p.push({id:`sys:${t}`,group:`system`,label:e,icon:r,run:f(()=>n(t))});for(let e of s?.components??[])p.push({id:`component:${e.id}`,group:`system`,label:e.title,icon:`component`,hint:e.group,searchOnly:!0,run:f(()=>n(`/system/components/${encodeURIComponent(e.id)}`))});for(let e of s?.guidelines??[])p.push({id:`guide:${e.slug}`,group:`system`,label:e.title,icon:`book`,hint:`Guideline`,searchOnly:!0,run:f(()=>n(`/system/guidelines/${encodeURIComponent(e.slug)}`))})}r||p.push({id:`home`,group:`actions`,label:`All canvases`,icon:`home`,run:f(()=>n(`/`))}),p.push({id:`light`,group:`actions`,label:`Light appearance`,icon:`sun`,searchOnly:!0,run:f(()=>h_(`light`))},{id:`dark`,group:`actions`,label:`Dark appearance`,icon:`moon`,searchOnly:!0,run:f(()=>h_(`dark`))},{id:`system-theme`,group:`actions`,label:`System appearance`,icon:`monitor`,searchOnly:!0,run:f(()=>h_(`system`))});let m=c.trim().toLowerCase(),h=p.filter(e=>m?`${e.label} ${e.keywords??``} ${typeof e.hint==`string`?e.hint:``}`.toLowerCase().includes(m):!e.searchOnly),g=[`canvas`,`canvases`,`system`,`actions`].map(e=>({group:e,items:h.filter(t=>t.group===e)})).filter(e=>e.items.length),_=g.flatMap(e=>e.items),y=Math.min(u,Math.max(_.length-1,0)),b=-1;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,R.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,R.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,R.jsx)(`input`,{value:c,onChange:e=>{l(e.target.value),d(0)},onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),d((y+1)%Math.max(_.length,1))):e.key===`ArrowUp`?(e.preventDefault(),d((y-1+_.length)%Math.max(_.length,1))):e.key===`Enter`&&(e.preventDefault(),_[y]?.run())},placeholder:`Canvases, screens, components…`,"aria-label":`Search and jump`,role:`combobox`,"aria-expanded":`true`,"aria-controls":`palette-list`,autoComplete:`off`,spellCheck:!1,className:`h-full min-w-0 grow border-0 bg-transparent text-[15px] text-ink outline-none placeholder:text-muted`}),(0,R.jsx)(y_,{children:`esc`})]}),(0,R.jsx)(`div`,{id:`palette-list`,role:`listbox`,className:`min-h-0 grow overflow-y-auto py-1.5`,children:g.length?g.map(({group:e,items:t})=>(0,R.jsxs)(`div`,{role:`presentation`,children:[(0,R.jsx)(`div`,{className:`px-4 pt-2.5 pb-1 text-[12px] text-muted`,children:x_[e]}),t.map(e=>{b+=1;let t=b,n=t===y;return(0,R.jsxs)(`button`,{type:`button`,role:`option`,tabIndex:-1,"aria-selected":n,ref:n?e=>e?.scrollIntoView({block:`nearest`}):void 0,onMouseMove:()=>n?void 0:d(t),onClick:e.run,className:X(`flex h-10 w-full cursor-pointer items-center gap-3 border-0 px-4 text-left text-[13.5px] text-ink`,n?`bg-soft`:`bg-transparent`),children:[(0,R.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,R.jsx)(Z,{name:e.icon,size:16})}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,R.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,R.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-4 border-t border-rule bg-soft px-4 text-[12px] text-muted`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(y_,{children:`↑`}),(0,R.jsx)(y_,{children:`↓`}),`move`]}),(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(y_,{children:`↵`}),`open`]})]})]})}function w_(){let[e,t]=(0,v.useState)(!1);return(0,v.useEffect)(()=>{let e=()=>t(e=>!e),n=t=>{(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===`k`&&(t.preventDefault(),e())};return window.addEventListener(`keydown`,n),window.addEventListener(`design:palette`,e),()=>{window.removeEventListener(`keydown`,n),window.removeEventListener(`design:palette`,e)}},[]),(0,R.jsx)(mg,{open:e,onOpenChange:t,children:(0,R.jsx)($u,{children:e?(0,R.jsx)(vg,{forceMount:!0,children:(0,R.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.14},className:`fixed inset-0 z-50 flex items-start justify-center bg-overlay p-6 pt-[12vh]`,children:(0,R.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0,scale:.98,y:-6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,transition:{duration:.1}},transition:{type:`spring`,stiffness:560,damping:40},className:`flex max-h-[min(560px,76vh)] w-[560px] max-w-full flex-col overflow-hidden rounded-[12px] border border-rule bg-surface shadow-pop outline-none`,children:(0,R.jsx)(C_,{onClose:()=>t(!1)})})})})})}):null})})}var T_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`;function E_(){window.dispatchEvent(new CustomEvent(`design:palette`))}function D_({width:e=240,label:t=`Search and jump`}){return(0,R.jsxs)(`button`,{type:`button`,onClick:E_,style:{width:e},"aria-label":t,className:`flex h-ctrl min-w-0 shrink cursor-pointer items-center gap-2 rounded-[6px] border border-rule bg-soft pr-1.5 pl-3 text-ctrl text-muted transition-colors hover:border-rule-strong max-lg:w-auto! max-md:w-ctrl! max-md:justify-center max-md:border-0! max-md:bg-transparent! max-md:p-0!`,children:[(0,R.jsx)(Z,{name:`search`,size:15}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate text-left max-lg:hidden`,children:t}),(0,R.jsx)(`span`,{className:`flex max-md:hidden`,children:(0,R.jsx)(y_,{children:T_===`⌘`?`⌘K`:`Ctrl K`})})]})}var O_={primary:`border border-primary bg-primary text-primary-ink hover:opacity-90`,secondary:`border border-rule-strong bg-surface text-ink hover:bg-soft`,ghost:`border border-transparent bg-transparent text-ink2 hover:bg-soft2`,dashed:`border border-dashed border-rule-strong bg-transparent text-ink2 hover:bg-soft`,danger:`border border-danger bg-danger text-on-danger hover:opacity-90`},k_=(e=`secondary`,t)=>X(`inline-flex h-ctrl shrink-0 cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap rounded-[6px] px-ctrl text-ctrl font-medium leading-none no-underline transition-[background-color,opacity] duration-100`,`disabled:cursor-not-allowed disabled:opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45`,O_[e],t),A_=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,R.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:k_(e,i),...s,children:[n?(0,R.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,R.jsx)(Z,{name:t,size:15}):null,a]})}),j_={ghost:`border border-transparent bg-transparent text-muted hover:bg-soft2 hover:text-ink2`,secondary:`border border-rule-strong bg-surface text-ink2 hover:bg-soft`},M_=(e=`ghost`,t)=>X(`inline-flex h-ctrl w-ctrl shrink-0 cursor-pointer items-center justify-center rounded-[6px] p-0 transition-colors duration-100 disabled:cursor-not-allowed disabled:opacity-45`,j_[e],t),N_=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,R.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:M_(n,i),...o,children:(0,R.jsx)(Z,{name:e,size:r})})});function P_({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,R.jsxs)(ye,{href:e,className:k_(t,r),children:[n?(0,R.jsx)(Z,{name:n,size:15}):null,i]})}function F_({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,R.jsxs)(`a`,{className:k_(e,n),...i,children:[t?(0,R.jsx)(Z,{name:t,size:15}):null,r]})}var I_=Object.defineProperty,L_=(e,t)=>I_(e,`name`,{value:t,configurable:!0});function R_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=L_(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,R.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=kp(s),l=v.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=tp(t,a(s,n).collectionRef);return(0,R.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=kp(u),p=v.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=v.useRef(null),s=tp(t,o),c=a(u,n);return v.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,R.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return v.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return L_(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}L_(R_,`createCollection`);var z_=new WeakMap,B_=class e extends Map{static{L_(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],z_.set(this,!0)}set(e,t){return z_.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=U_(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=V_(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=V_(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return V_(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function V_(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=H_(e,t);return n===-1?void 0:e[n]}L_(V_,`at`);function H_(e,t){let n=e.length,r=U_(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}L_(H_,`toSafeIndex`);function U_(e){return e!==e||e===0?0:Math.trunc(e)}L_(U_,`toSafeInteger`);function W_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new B_,setItemMap:L_(()=>void 0,`setItemMap`)}),o=L_(({state:e,...t})=>e?(0,R.jsx)(c,{...t,state:e}):(0,R.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=L_(e=>{let t=h();return(0,R.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=L_(e=>{let{scope:t,children:n,state:r}=e,a=v.useRef(null),[o,s]=v.useState(null),c=tp(a,s),[l,u]=r;return v.useEffect(()=>{if(!o)return;let e=J_(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,R.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=kp(l),d=v.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=tp(t,a(l,n).collectionRef);return(0,R.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=kp(f),m=v.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=v.useRef(null),[s,c]=v.useState(null),l=tp(t,o,c),{setItemMap:u}=a(f,n),d=v.useRef(i);G_(d.current,i)||(d.current=i);let m=d.current;return v.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(q_):(t.set(s,{...e,element:s}),t.toSorted(q_)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new B_(e)))}},[s,m,u]),(0,R.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new B_)}L_(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return L_(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}L_(W_,`createCollection`);function G_(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}L_(G_,`shallowEqual`);function K_(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}L_(K_,`isElementPreceding`);function q_(e,t){return!e[1].element||!t[1].element?0:K_(e[1].element,t[1].element)?-1:1}L_(q_,`sortByDocumentPosition`);function J_(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}L_(J_,`getChildListObserver`);var Y_=Object.defineProperty,X_=(e,t)=>Y_(e,`name`,{value:t,configurable:!0}),Z_=v.createContext(void 0);function Q_(e){let t=v.useContext(Z_);return e||t||`ltr`}X_(Q_,`useDirection`);var $_=[`top`,`right`,`bottom`,`left`],ev=Math.min,tv=Math.max,nv=Math.round,rv=Math.floor,iv=e=>({x:e,y:e}),av={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ov(e,t,n){return tv(e,ev(t,n))}function sv(e,t){return typeof e==`function`?e(t):e}function cv(e){return e.split(`-`)[0]}function lv(e){return e.split(`-`)[1]}function uv(e){return e===`x`?`y`:`x`}function dv(e){return e===`y`?`height`:`width`}function fv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function pv(e){return uv(fv(e))}function mv(e,t,n){n===void 0&&(n=!1);let r=lv(e),i=pv(e),a=dv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Cv(o)),[o,Cv(o)]}function hv(e){let t=Cv(e);return[gv(e),t,gv(t)]}function gv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var _v=[`left`,`right`],vv=[`right`,`left`],yv=[`top`,`bottom`],bv=[`bottom`,`top`];function xv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?vv:_v:t?_v:vv;case`left`:case`right`:return t?yv:bv;default:return[]}}function Sv(e,t,n,r){let i=lv(e),a=xv(cv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(gv)))),a}function Cv(e){let t=cv(e);return av[t]+e.slice(t.length)}function wv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Tv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:wv(e)}function Ev(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Dv(e,t,n){let{reference:r,floating:i}=e,a=fv(t),o=pv(t),s=dv(o),c=cv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=lv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ov(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=sv(t,e),p=Tv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ev(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ev(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var kv=50,Av=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ov},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Dv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<kv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Dv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},jv=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=sv(e,t)||{};if(l==null)return{};let d=Tv(u),f={x:n,y:r},p=pv(i),m=dv(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ev(d[_],T),D=ev(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=ov(E,k,O),j=!c.arrow&&lv(i)!=null&&k!==A&&a.reference[m]/2-(k<E?E:D)-h[m]/2<0,ee=j?k<E?k-E:k-O:0;return{[p]:f[p]+ee,data:{[p]:A,centerOffset:k-A-ee,...j&&{alignmentOffset:ee}},reset:j}}}),Mv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=sv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=cv(r),_=fv(o),v=cv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Cv(o)]:hv(o)),x=p!==`none`;!d&&x&&b.push(...Sv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=mv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===fv(t)||T.every(e=>fv(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=fv(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function Nv(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Pv(e){return $_.some(t=>e[t]>=0)}var Fv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=sv(e,t);switch(i){case`referenceHidden`:{let e=Nv(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Pv(e)}}}case`escaped`:{let e=Nv(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Pv(e)}}}default:return{}}}}},Iv=new Set([`left`,`top`]);async function Lv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=cv(n),s=lv(n),c=fv(n)===`y`,l=Iv.has(o)?-1:1,u=a&&c?-1:1,d=sv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Rv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Lv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},zv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=sv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=fv(i),p=uv(f),m=u[p],h=u[f],g=(e,t)=>ov(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Bv=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=sv(e,t),u={x:n,y:r},d=fv(i),f=uv(d),p=u[f],m=u[d],h=sv(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Iv.has(cv(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Vv=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=sv(e,t),c=await i.detectOverflow(t,s),l=cv(n),u=lv(n),d=fv(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=ev(p-c[m],g),y=ev(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*tv(c.left,c.right):S=p-2*tv(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function Hv(){return typeof window<`u`}function Uv(e){return Kv(e)?(e.nodeName||``).toLowerCase():`#document`}function Wv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gv(e){return((Kv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Kv(e){return Hv()?e instanceof Node||e instanceof Wv(e).Node:!1}function qv(e){return Hv()?e instanceof Element||e instanceof Wv(e).Element:!1}function Jv(e){return Hv()?e instanceof HTMLElement||e instanceof Wv(e).HTMLElement:!1}function Yv(e){return!Hv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Wv(e).ShadowRoot}function Xv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=sy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Zv(e){return/^(table|td|th)$/.test(Uv(e))}function Qv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var $v=/transform|translate|scale|rotate|perspective|filter/,ey=/paint|layout|strict|content/,ty=e=>!!e&&e!==`none`,ny;function ry(e){let t=qv(e)?sy(e):e;return ty(t.transform)||ty(t.translate)||ty(t.scale)||ty(t.rotate)||ty(t.perspective)||!ay()&&(ty(t.backdropFilter)||ty(t.filter))||$v.test(t.willChange||``)||ey.test(t.contain||``)}function iy(e){let t=ly(e);for(;Jv(t)&&!oy(t);){if(ry(t))return t;if(Qv(t))return null;t=ly(t)}return null}function ay(){return ny??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ny}function oy(e){return/^(html|body|#document)$/.test(Uv(e))}function sy(e){return Wv(e).getComputedStyle(e)}function cy(e){return qv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ly(e){if(Uv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Yv(e)&&e.host||Gv(e);return Yv(t)?t.host:t}function uy(e){let t=ly(e);return oy(t)?(e.ownerDocument||e).body:Jv(t)&&Xv(t)?t:uy(t)}function dy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=uy(e),i=r===e.ownerDocument?.body,a=Wv(r);if(i){let e=fy(a);return t.concat(a,a.visualViewport||[],Xv(r)?r:[],e&&n?dy(e):[])}return t.concat(r,dy(r,[],n))}function fy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function py(e){let t=sy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Jv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=nv(n)!==a||nv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function my(e){return qv(e)?e:e.contextElement}function hy(e){let t=my(e);if(!Jv(t))return iv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=py(t),o=(a?nv(n.width):n.width)/r,s=(a?nv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var gy=iv(0);function _y(e){let t=Wv(e);return!ay()||!t.visualViewport?gy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Wv(e)}function yy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=my(e),o=iv(1);t&&(r?qv(r)&&(o=hy(r)):o=hy(e));let s=vy(a,n,r)?_y(a):iv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Wv(a),t=qv(r)?Wv(r):r,n=e,i=fy(n);for(;i&&t!==n;){let e=hy(i),t=i.getBoundingClientRect(),r=sy(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Wv(i),i=fy(n)}}return Ev({width:u,height:d,x:c,y:l})}function by(e,t){let n=cy(e).scrollLeft;return t?t.left+n:yy(Gv(e)).left+n}function xy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-by(e,n),y:n.top+t.scrollTop}}function Sy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Gv(r),s=t?Qv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=iv(1),u=iv(0),d=Jv(r);if((d||!a)&&((Uv(r)!==`body`||Xv(o))&&(c=cy(r)),d)){let e=yy(r);l=hy(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?xy(o,c):iv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Cy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function wy(e){let t=cy(e),n=e.ownerDocument.body,r=tv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=tv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+by(e),o=-t.scrollTop;return sy(n).direction===`rtl`&&(a+=tv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ty=25;function Ey(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Wv(e),a=Gv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ay()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(by(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ty&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Dy(e,t){let n=yy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=hy(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Oy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ey(e,n,t);else if(t===`document`)r=wy(Gv(e));else if(qv(t))r=Dy(t,n);else{let n=_y(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ev(r)}function ky(e,t){let n=t.get(e);if(n)return n;let r=dy(e,[],!1).filter(e=>qv(e)&&Uv(e)!==`body`),i=null,a=sy(e).position===`fixed`,o=a?ly(e):e;for(;qv(o)&&!oy(o);){let e=sy(o),t=ry(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=ly(o)}return t.set(e,r),r}function Ay(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Qv(t)?[]:ky(t,this._c):[].concat(n),r],o=Oy(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Oy(t,a[e],i);s=tv(n.top,s),c=ev(n.right,c),l=ev(n.bottom,l),u=tv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jy(e){let{width:t,height:n}=py(e);return{width:t,height:n}}function My(e,t,n){let r=Jv(t),i=Gv(t),a=n===`fixed`,o=yy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=iv(0);if((r||!a)&&((Uv(t)!==`body`||Xv(i))&&(s=cy(t)),r)){let e=yy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=by(i));let l=i&&!r&&!a?xy(i,s):iv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ny(e){return sy(e).position===`static`}function Py(e,t){if(!Jv(e)||sy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Gv(e)===n&&(n=n.ownerDocument.body),n}function Fy(e,t){let n=Wv(e);if(Qv(e))return n;if(!Jv(e)){let t=ly(e);for(;t&&!oy(t);){if(qv(t)&&!Ny(t))return t;t=ly(t)}return n}let r=Py(e,t);for(;r&&Zv(r)&&Ny(r);)r=Py(r,t);return r&&oy(r)&&Ny(r)&&!ry(r)?n:r||iy(e)||n}var Iy=async function(e){let t=this.getOffsetParent||Fy,n=this.getDimensions,r=await n(e.floating);return{reference:My(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Ly(e){return sy(e).direction===`rtl`}var Ry={convertOffsetParentRelativeRectToViewportRelativeRect:Sy,getDocumentElement:Gv,getClippingRect:Ay,getOffsetParent:Fy,getElementRects:Iy,getClientRects:Cy,getDimensions:jy,getScale:hy,isElement:qv,isRTL:Ly};function zy(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function By(e,t,n){let r=null,i,a=Gv(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=rv(d),h=rv(a.clientWidth-(u+f)),g=rv(a.clientHeight-(d+p)),_=rv(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:tv(0,ev(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!zy(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=Wv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function Vy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=my(e),u=i||a?[...l?dy(l):[],...t?dy(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?By(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?yy(e):null;c&&g();function g(){let t=yy(e);h&&!zy(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Hy=Rv,Uy=zv,Wy=Mv,Gy=Vv,Ky=Fv,qy=jv,Jy=Bv,Yy=(e,t,n)=>{let r=new Map,i=n??{},a={...Ry,...i.platform,_c:r};return Av(e,t,{...i,platform:a})},Xy=typeof document<`u`?v.useLayoutEffect:function(){};function Zy(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Zy(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Zy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Qy(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function $y(e,t){let n=Qy(e);return Math.round(t*n)/n}function eb(e){let t=v.useRef(e);return Xy(()=>{t.current=e}),t}function tb(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=v.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=v.useState(r);Zy(f,r)||p(r);let[m,h]=v.useState(null),[g,_]=v.useState(null),y=v.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=v.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=a||m,S=o||g,C=v.useRef(null),w=v.useRef(null),T=v.useRef(u),E=c!=null,D=eb(c),O=eb(i),k=eb(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Yy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!Zy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Xy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Xy(()=>(j.current=!0,()=>{j.current=!1}),[]),Xy(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let ee=v.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),te=v.useMemo(()=>({reference:x,floating:S}),[x,S]),M=v.useMemo(()=>{let e={position:n,left:0,top:0};if(!te.floating)return e;let t=$y(te.floating,u.x),r=$y(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Qy(te.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,te.floating,u.x,u.y]);return v.useMemo(()=>({...u,update:A,refs:ee,elements:te,floatingStyles:M}),[u,A,ee,te,M])}var nb=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:qy({element:r.current,padding:i}).fn(n):r?qy({element:r,padding:i}).fn(n):{}}}},rb=(e,t)=>{let n=Hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ib=(e,t)=>{let n=Uy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ab=(e,t)=>({fn:Jy(e).fn,options:[e,t]}),ob=(e,t)=>{let n=Wy(e);return{name:n.name,fn:n.fn,options:[e,t]}},sb=(e,t)=>{let n=Gy(e);return{name:n.name,fn:n.fn,options:[e,t]}},cb=(e,t)=>{let n=Ky(e);return{name:n.name,fn:n.fn,options:[e,t]}},lb=(e,t)=>{let n=nb(e);return{name:n.name,fn:n.fn,options:[e,t]}},ub=Object.defineProperty,db=(e,t)=>ub(e,`name`,{value:t,configurable:!0});function fb(e){let[t,n]=v.useState(void 0);return sp(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}db(fb,`useSize`);var pb=Object.defineProperty,mb=(e,t)=>pb(e,`name`,{value:t,configurable:!0}),hb=`Popper`,[gb,_b]=ap(hb),[vb,yb]=gb(hb),bb=mb(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,R.jsx)(vb,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),xb=`PopperAnchor`,Sb=v.forwardRef(mb(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=yb(xb,n),o=v.useRef(null),s=a.onAnchorChange,c=tp(t,v.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=v.useRef(null);v.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&kb(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,R.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Cb=`PopperContent`,[wb,Tb]=gb(Cb),Eb=v.forwardRef(mb(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=yb(Cb,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=fb(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(Db),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:M,middlewareData:N}=tb({strategy:`fixed`,placement:E,whileElementsMounted:mb((...e)=>Vy(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[rb({mainAxis:i+T,alignmentAxis:o}),c&&ib({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?ab():void 0,...A}),c&&ob({...A}),sb({...A,apply:mb(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),x&&lb({element:x,padding:s}),Ob({arrowWidth:w,arrowHeight:T}),f&&cb({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),ne=g.setPlacementState;sp(()=>(ne(te),()=>{ne(void 0)}),[te,ne]);let[re,P]=kb(te),ie=Jp(m);sp(()=>{M&&ie?.()},[M,ie]);let ae=N.arrow?.x,oe=N.arrow?.y,se=N.arrow?.centerOffset!==0,[ce,le]=v.useState();return sp(()=>{_&&le(window.getComputedStyle(_).zIndex)},[_]),(0,R.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:M?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[N.transformOrigin?.x,N.transformOrigin?.y].join(` `),...N.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,R.jsx)(wb,{scope:n,placedSide:re,placedAlign:P,onArrowChange:S,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,R.jsx)(Wp.div,{"data-side":re,"data-align":P,...h,ref:b,style:{...h.style,animation:M?h.style?.animation:`none`}})})})},`PopperContent`));function Db(e){return e!==null}mb(Db,`isNotNull`);var Ob=mb(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=kb(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function kb(e){let[t,n=`center`]=e.split(`-`);return[t,n]}mb(kb,`getSideAndAlignFromPlacement`);var Ab=bb,jb=Sb,Mb=Eb,Nb=Object.defineProperty,Pb=(e,t)=>Nb(e,`name`,{value:t,configurable:!0}),Fb=!1;function Ib(){let[e,t]=v.useState(Fb);return v.useEffect(()=>{Fb||(Fb=!0,t(!0))},[]),e}Pb(Ib,`useIsHydrated`);var Lb=v.useSyncExternalStore;function Rb(){return()=>{}}Pb(Rb,`subscribe`);function zb(){return Lb(Rb,()=>!0,()=>!1)}Pb(zb,`useIsHydratedModern`);var Bb=typeof Lb==`function`?zb:Ib,Vb=Object.defineProperty,Hb=(e,t)=>Vb(e,`name`,{value:t,configurable:!0}),Ub=`rovingFocusGroup.onEntryFocus`,Wb={bubbles:!1,cancelable:!0},Gb=`RovingFocusGroup`,[Kb,qb,Jb]=R_(Gb),[Yb,Xb]=ap(Gb,[Jb]),[Zb,Qb]=Yb(Gb),$b=v.forwardRef(Hb(function(e,t){return(0,R.jsx)(Kb.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(Kb.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(ex,{...e,ref:t})})})},`RovingFocusGroup`)),ex=v.forwardRef(Hb(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=v.useRef(null),p=tp(t,f),m=Q_(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Gb}),[_,y]=v.useState(!1),b=Jp(l),x=qb(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Ub,b),()=>e.removeEventListener(Ub,b)},[b]),(0,R.jsx)(Zb,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:v.useCallback(e=>g(e),[g]),onItemShiftTab:v.useCallback(()=>y(!0),[]),onFocusableItemAdd:v.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:v.useCallback(()=>w(e=>e-1),[]),children:(0,R.jsx)(Wp.div,{tabIndex:_||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:Y(e.onMouseDown,()=>{S.current=!0}),onFocus:Y(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Ub,Wb);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ox([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:Y(e.onBlur,()=>y(!1))})})},`RovingFocusGroupImpl`)),tx=`RovingFocusGroupItem`,nx=v.forwardRef(Hb(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Qb(tx,n),d=u.currentTabStopId===l,f=qb(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Bb();return sp(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),v.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,R.jsx)(Kb.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,R.jsx)(Wp.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:Y(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:Y(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Y(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=ax(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?sx(n,r+1):n.slice(r+1)}setTimeout(()=>ox(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),rx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function ix(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Hb(ix,`getDirectionAwareKey`);function ax(e,t,n){let r=ix(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return rx[r]}Hb(ax,`getFocusIntent`);function ox(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Hb(ox,`focusFirst`);function sx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Hb(sx,`wrapArray`);var cx=$b,lx=nx,ux=Object.defineProperty,dx=(e,t)=>ux(e,`name`,{value:t,configurable:!0}),fx=[`Enter`,` `],px=[`ArrowDown`,`PageUp`,`Home`],mx=[`ArrowUp`,`PageDown`,`End`],hx=[...px,...mx];[...fx],[...fx];var gx=`Menu`,[_x,vx,yx]=R_(gx),[bx,xx]=ap(gx,[yx,_b,Xb]),Sx=_b(),Cx=Xb(),[wx,Tx]=bx(gx),[Ex,Dx]=bx(gx),Ox=dx(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Sx(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=Q_(i);return v.useEffect(()=>{let e=dx(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=dx(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),v.useEffect(()=>{if(!n)return;let e=dx(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,R.jsx)(Ab,{...s,children:(0,R.jsx)(wx,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,R.jsx)(Ex,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),kx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e,i=Sx(n);return(0,R.jsx)(jb,{...i,...r,ref:t})},`MenuAnchor`)),Ax=`MenuPortal`,[jx,Mx]=bx(Ax,{forceMount:void 0}),Nx=dx(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Tx(Ax,t);return(0,R.jsx)(jx,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Px=`MenuContent`,[Fx,Ix]=bx(Px),Lx=v.forwardRef(dx(function(e,t){let n=Mx(Px,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Tx(Px,e.__scopeMenu),o=Dx(Px,e.__scopeMenu);return(0,R.jsx)(_x.Provider,{scope:e.__scopeMenu,children:(0,R.jsx)(jm,{present:r||a.open,children:(0,R.jsx)(_x.Slot,{scope:e.__scopeMenu,children:o.modal?(0,R.jsx)(Rx,{...i,ref:t}):(0,R.jsx)(zx,{...i,ref:t})})})})},`MenuContent`)),Rx=v.forwardRef(dx(function(e,t){let n=Tx(Px,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Vx,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),zx=v.forwardRef(dx(function(e,t){let n=Tx(Px,e.__scopeMenu);return(0,R.jsx)(Vx,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Bx=kp(`MenuContent.ScrollLock`),Vx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=Tx(Px,n),_=Dx(Px,n),y=Sx(n),b=Cx(n),x=vx(n),[S,C]=v.useState(null),w=v.useRef(null),T=tp(t,w,g.onContentChange),E=v.useRef(0),D=v.useRef(``),O=v.useRef(0),k=v.useRef(null),A=v.useRef(`right`),j=v.useRef(0),ee=m?Zh:v.Fragment,te=m?{as:Bx,allowPinchZoom:!0}:void 0,M=dx(e=>{let t=D.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=aS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;dx((function e(t){D.current=t,window.clearTimeout(E.current),t!==``&&(E.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);v.useEffect(()=>()=>window.clearTimeout(E.current),[]),Hm();let N=v.useCallback(e=>A.current===k.current?.side&&sS(e,k.current?.area),[]);return(0,R.jsx)(Fx,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{N(e)&&e.preventDefault()},[N]),onItemLeave:v.useCallback(e=>{N(e)||(w.current?.focus(),C(null))},[N]),onTriggerLeave:v.useCallback(e=>{N(e)&&e.preventDefault()},[N]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,R.jsx)(ee,{...te,children:(0,R.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,R.jsx)(cx,{asChild:!0,...b,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:S,onCurrentTabStopIdChange:C,onEntryFocus:Y(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,R.jsx)(Mb,{role:`menu`,"aria-orientation":`vertical`,"data-state":eS(g.open),"data-radix-menu-content":``,dir:_.dir,...y,...h,ref:T,style:{outline:`none`,...h.style},onKeyDown:Y(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&M(e.key));let i=w.current;if(e.target!==i||!hx.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);mx.includes(e.key)&&a.reverse(),rS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,cS(e=>{let t=e.target,n=j.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>j.current?`right`:`left`;A.current=t,j.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),Hx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,R.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),Ux=`MenuItem`,Wx=`menu.itemSelect`,Gx=v.forwardRef(dx(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=Dx(Ux,e.__scopeMenu),s=Ix(Ux,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=dx(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Wx,{bubbles:!0,cancelable:!0});e.addEventListener(Wx,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,R.jsx)(Kx,{...i,ref:c,disabled:n,onClick:Y(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:Y(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:Y(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&fx.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Kx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Ix(Ux,n),s=Cx(n),c=v.useRef(null),l=tp(t,c),[u,d]=v.useState(!1),[f,p]=v.useState(``);return v.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,R.jsx)(_x.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,R.jsx)(lx,{asChild:!0,...s,focusable:!r,children:(0,R.jsx)(Wp.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:Y(e.onPointerMove,cS(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,cS(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[qx,Jx]=bx(`MenuRadioGroup`,{value:void 0,onValueChange:dx(()=>{},`onValueChange`)}),[Yx,Xx]=bx(`MenuItemIndicator`,{checked:!1}),Zx=v.forwardRef(dx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,R.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Qx,$x]=bx(`MenuSub`);function eS(e){return e?`open`:`closed`}dx(eS,`getOpenState`);function tS(e){return e===`indeterminate`}dx(tS,`isIndeterminate`);function nS(e){return tS(e)?`indeterminate`:e?`checked`:`unchecked`}dx(nS,`getCheckedState`);function rS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}dx(rS,`focusFirst`);function iS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}dx(iS,`wrapArray`);function aS(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=iS(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}dx(aS,`getNextMatch`);function oS(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}dx(oS,`isPointInPolygon`);function sS(e,t){return t?oS({x:e.clientX,y:e.clientY},t):!1}dx(sS,`isPointerInGraceArea`);function cS(e){return t=>t.pointerType===`mouse`?e(t):void 0}dx(cS,`whenMouse`);var lS=Ox,uS=kx,dS=Nx,fS=Lx,pS=Hx,mS=Gx,hS=Zx,gS=Object.defineProperty,_S=(e,t)=>gS(e,`name`,{value:t,configurable:!0}),vS=`DropdownMenu`,[yS,bS]=ap(vS,[xx]),xS=xx(),[SS,CS]=yS(vS),wS=_S(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=xS(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:vS});return(0,R.jsx)(SS,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,R.jsx)(lS,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),TS=`DropdownMenuTrigger`,ES=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=CS(TS,n),o=xS(n),s=tp(t,a.triggerRef);return(0,R.jsx)(uS,{asChild:!0,...o,children:(0,R.jsx)(Wp.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:Y(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:Y(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),DS=_S(e=>{let{__scopeDropdownMenu:t,...n}=e,r=xS(t);return(0,R.jsx)(dS,{...r,...n})},`DropdownMenuPortal`),OS=`DropdownMenuContent`,kS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=CS(OS,n),a=xS(n),o=v.useRef(!1);return(0,R.jsx)(fS,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:Y(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),AS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(pS,{...i,...r,ref:t})},`DropdownMenuLabel`)),jS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(mS,{...i,...r,ref:t})},`DropdownMenuItem`)),MS=v.forwardRef(_S(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(n);return(0,R.jsx)(hS,{...i,...r,ref:t})},`DropdownMenuSeparator`)),NS=wS,PS=ES,FS=DS,IS=kS,LS=AS,RS=jS,zS=MS,BS=`z-50 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-pop outline-none py-1 data-[state=open]:animate-[q-pop_120ms_ease-out] data-[state=closed]:animate-[q-pop-out_100ms_ease-in_forwards]`;function VS({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,R.jsxs)(NS,{open:o,onOpenChange:s,modal:!1,children:[(0,R.jsx)(PS,{asChild:!0,children:e}),(0,R.jsx)(FS,{children:(0,R.jsx)(IS,{align:r,side:i,sideOffset:a,collisionPadding:12,className:BS,style:{width:n,maxWidth:`calc(100vw - 24px)`},children:t})})]})}var HS=(e,t)=>X(`flex min-h-9 w-full cursor-pointer items-center gap-2.5 border-0 px-3 py-1.5 text-left text-[13.5px] outline-none select-none`,`data-[highlighted]:bg-soft data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,t?`bg-soft`:`bg-transparent`,e?`text-danger-text`:`text-ink`);function US({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,R.jsxs)(RS,{disabled:i,onSelect:t,className:X(HS(n,r),o),children:[e,a?(0,R.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function WS(){return(0,R.jsx)(zS,{className:`my-1 h-px bg-rule`})}function GS({children:e}){return(0,R.jsx)(LS,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var KS=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function qS(){let e=g_(),t=__();return(0,R.jsxs)(VS,{align:`end`,width:180,trigger:(0,R.jsx)(N_,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,R.jsx)(GS,{children:`Appearance`}),KS.map(t=>(0,R.jsxs)(US,{active:e===t.value,onSelect:()=>h_(t.value),children:[(0,R.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,R.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function JS({size:e=24}){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,R.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,R.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,R.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,R.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,R.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function YS({name:e,version:t}){return(0,R.jsxs)(ye,{href:`/`,title:t?`foss-design ${t}`:void 0,className:`flex min-w-0 items-center gap-2 text-[14px] font-semibold text-ink no-underline`,children:[(0,R.jsx)(JS,{}),(0,R.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function XS({children:e,className:t}){return(0,R.jsx)(`header`,{className:X(`sticky top-0 z-30 flex h-[52px] shrink-0 items-center gap-3 border-b border-rule bg-surface px-4`,t),children:e})}var ZS=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function QS({location:e}){let t=(0,v.useRef)(null),n=ZS.findIndex(t=>t.match(e)),[r,i]=(0,v.useState)(null);return(0,v.useLayoutEffect)(()=>{let e=t.current;if(!e)return;let r=()=>{let t=e.children[n];if(!t?.offsetWidth){i(null);return}let r=t.offsetLeft+10,a=t.offsetWidth-20;i(e=>e?.tab===n&&e.x===r&&e.width===a?e:{tab:n,x:r,width:a,slide:e!==null&&e.tab!==n})};r();let a=new ResizeObserver(r);return a.observe(e),()=>a.disconnect()},[n]),(0,R.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[ZS.map((e,t)=>(0,R.jsx)(ye,{href:e.to,"aria-current":t===n?`page`:void 0,className:X(`flex items-center px-2.5 text-[14px] no-underline transition-colors`,t===n?`font-medium text-ink`:`text-ink2 hover:text-ink`),children:e.label},e.to)),r?(0,R.jsx)(Wf.span,{"aria-hidden":!0,className:`pointer-events-none absolute bottom-0 left-0 h-[2px] bg-action`,initial:!1,animate:{x:r.x,width:r.width},transition:r.slide?{type:`spring`,stiffness:520,damping:42}:{duration:0}}):null]})}function $S(){let e=$g().data,{slots:t}=Xg(),[n]=F();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(XS,{children:[t.barStart,(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,R.jsx)(YS,{name:e?.name,version:e?.version}),(0,R.jsx)(QS,{location:n})]}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,R.jsx)(D_,{}),(0,R.jsx)(`span`,{className:X(`flex`,t.barEnd?`max-md:hidden`:void 0),children:(0,R.jsx)(qS,{})}),t.barEnd]})]}),(0,R.jsx)(eC,{location:n}),t.belowBar?(0,R.jsx)(`div`,{className:`shrink-0`,children:t.belowBar}):null]})}function eC({location:e}){return(0,R.jsx)(`nav`,{className:`sticky top-[52px] z-30 hidden h-10 shrink-0 items-stretch border-b border-rule bg-surface px-2 max-md:flex`,children:ZS.map(t=>{let n=t.match(e);return(0,R.jsxs)(ye,{href:t.to,"aria-current":n?`page`:void 0,className:X(`relative flex grow items-center justify-center text-[13.5px] no-underline`,n?`font-medium text-ink`:`text-ink2`),children:[t.label,n?(0,R.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-x-6 bottom-0 h-[2px] rounded-full bg-action`}):null]},t.to)})})}var tC=window.matchMedia(`(max-width: 767px)`),nC=e=>(tC.addEventListener(`change`,e),()=>tC.removeEventListener(`change`,e));function rC(){return(0,v.useSyncExternalStore)(nC,()=>tC.matches)}var iC=Object.defineProperty,aC=(e,t)=>iC(e,`name`,{value:t,configurable:!0}),oC=`Popover`,[sC,cC]=ap(oC,[_b]),lC=_b(),[uC,dC]=sC(oC),fC=aC(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=lC(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:oC});return(0,R.jsx)(Ab,{...s,children:(0,R.jsx)(uC,{scope:t,contentId:fp(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:v.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:v.useCallback(()=>u(!0),[]),onCustomAnchorRemove:v.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),pC=`PopoverTrigger`,mC=v.forwardRef(aC(function(e,t){let{__scopePopover:n,...r}=e,i=dC(pC,n),a=lC(n),o=tp(t,i.triggerRef),s=(0,R.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":TC(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,R.jsx)(jb,{asChild:!0,...a,children:s})},`PopoverTrigger`)),hC=`PopoverPortal`,[gC,_C]=sC(hC,{forceMount:void 0}),vC=aC(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=dC(hC,t);return(0,R.jsx)(gC,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),yC=`PopoverContent`,bC=v.forwardRef(aC(function(e,t){let n=_C(yC,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=dC(yC,e.__scopePopover);return(0,R.jsx)(jm,{present:r||a.open,children:a.modal?(0,R.jsx)(SC,{...i,ref:t}):(0,R.jsx)(CC,{...i,ref:t})})},`PopoverContent`)),xC=kp(`PopoverContent.RemoveScroll`),SC=v.forwardRef(aC(function(e,t){let n=dC(yC,e.__scopePopover),r=v.useRef(null),i=tp(t,r),a=v.useRef(!1);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,R.jsx)(Zh,{as:xC,allowPinchZoom:!0,children:(0,R.jsx)(wC,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Y(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Y(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Y(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),CC=v.forwardRef(aC(function(e,t){let n=dC(yC,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,R.jsx)(wC,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),wC=v.forwardRef(aC(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=dC(yC,n),p=lC(n);return Hm(),(0,R.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,R.jsx)(Mb,{"data-state":TC(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function TC(e){return e?`open`:`closed`}aC(TC,`getState`);var EC=fC,DC=mC,OC=vC,kC=bC,AC=new s_([]),jC=1;function MC(e,t,n=`ok`){let r=jC++;AC.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>AC.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var NC=new s_([]),PC=1;function FC(){let[e]=(0,v.useState)(()=>PC++);(0,v.useEffect)(()=>(NC.set(t=>[...t,e]),()=>NC.set(t=>t.filter(t=>t!==e))),[e]);let t=c_(NC,t=>t[0]===e),n=c_(AC);return t?(0,R.jsx)(`div`,{className:`pointer-events-none fixed bottom-5 left-1/2 z-[60] flex -translate-x-1/2 flex-col items-center gap-2`,children:(0,R.jsx)($u,{mode:`popLayout`,children:n.map(e=>(0,R.jsxs)(Wf.div,{layout:!0,initial:{opacity:0,y:8,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:4,transition:{duration:.12}},transition:{type:`spring`,stiffness:520,damping:40},className:`flex max-w-[min(420px,calc(100vw-32px))] min-w-0 items-center gap-2.5 rounded-[8px] border border-rule bg-surface px-3 py-2 text-[13px] text-ink shadow-pop`,children:[e.tone===`error`?(0,R.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):e.tone===`info`?(0,R.jsx)(Z,{name:`info`,size:15,className:`text-muted`}):(0,R.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,R.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function IC(e,t=`Copied`){try{await navigator.clipboard.writeText(e),MC(t,e.length>64?void 0:e)}catch{MC(`Could not copy`,`The browser blocked clipboard access`,`error`)}}function LC(e){return e.split(`/`).filter(Boolean)}function RC(e){return{pattern:e,segments:LC(e).map(e=>e===`*`?{kind:`splat`}:e.startsWith(`:`)?{kind:`param`,optional:e.endsWith(`?`)}:{kind:`static`,value:e})}}function zC(e){try{return decodeURIComponent(e)}catch{return e}}function BC(e,t){let n=LC(t.split(/[?#]/)[0]??``).map(zC),r=(t,i)=>{if(t===e.segments.length)return i===n.length?0:null;let a=e.segments[t];if(a.kind===`splat`)return 0;if(a.kind===`static`){if(n[i]!==a.value)return null;let e=r(t+1,i+1);return e===null?null:e+4}if(i<n.length){let e=r(t+1,i+1);if(e!==null)return e+2}return a.optional?r(t+1,i):null};return r(0,0)}function VC(e,t){let n=null;for(let r of e)for(let e of r.routes){let i=BC(e,t);i!==null&&(!n||i>n.score)&&(n={score:i,value:r.value})}return n?.value??null}function HC(e,t=`/`){let n=e.trim();if(!n||n.startsWith(`#`)||/^[a-z][a-z0-9+.-]*:/i.test(n)||n.startsWith(`//`))return null;let r=new URL(n,`http://app.invalid${t.replace(/\/:[^/]+\??|\/\*$/g,`/x`)}`);return r.pathname+r.search+r.hash}var UC=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of UC.get(e.source)??[])n(t)});function WC(e,t){let n=null,r=()=>{if(!n)return;let e=UC.get(n);e?.delete(t),e?.size||UC.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=UC.get(n)??new Set;i.add(t),UC.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function GC(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function KC(e){GC(e,{type:`canvas`})}function qC(e,t){GC(e,{type:`theme`,theme:t})}function JC(e){e&&(e.src=e.src)}var YC=(()=>{if(Ng)return``;let{protocol:e,hostname:t,port:n}=window.location,r=t===`localhost`?`127.0.0.1`:t===`127.0.0.1`?`localhost`:null;return r?`${e}//${r}${n?`:${n}`:``}`:``})();function XC(e,t,n){let[r=``,i=``]=e.split(`?`),a=new URLSearchParams(i);a.set(`theme`,t);for(let[e,t]of Object.entries(n??{}))a.set(e,t);return`${r.startsWith(`/`)?YC:``}${r}?${a.toString()}`}function ZC(e){return new URL(e,document.baseURI).toString()}function QC(e,t,n,r){if(e.form){MC(`Forms are not sent from a screen`,void 0,`info`);return}if(e.path===null){let t=window.open(e.href,`_blank`);t?t.opener=null:MC(`Link to another site`,e.href,`info`);return}let i=t.pages.flatMap(e=>e.sections.flatMap(e=>e.items.filter(e=>e.kind===`screen`||e.kind===`url`))),a=i.find(e=>e.id===r),o=e.raw===void 0?e.path:HC(e.raw,a?.routes?.[0]);if(o===null)return;let s=VC(i.map(e=>({routes:(e.routes??[]).map(RC),value:e.id})),o);if(s){s!==r&&n(s);return}let c=o.split(/[?#]/)[0].replace(/\/+$/,``),l=c.slice(c.lastIndexOf(`/`)+1).replace(/\.html?$/,``);try{l=decodeURIComponent(l)}catch{}l&&l!==r&&i.some(e=>e.id===l)?n(l):e.pushed||MC(`No screen for this link`,o,`info`)}function $C(e,t,n){let r=$g().data,i=t_(!!r?.system).data?.tokens,[a,o]=(0,v.useState)(null),s=(0,v.useRef)({enabled:t,tokens:i});s.current={enabled:t,tokens:i};let c=(0,v.useRef)(n.onEscape);c.current=n.onEscape;let l=(0,v.useRef)(e);l.current=e;let u=(0,v.useRef)(new Map),d=(e,t=!1)=>{let{enabled:n,tokens:r}=s.current,i=u.current.get(e);(t||i?.on!==n||i.tokens!==r)&&(u.current.set(e,{on:n,tokens:r}),GC(e,{type:`inspect`,on:n,tokens:n?r??[]:void 0}))};(0,v.useEffect)(()=>{for(let t of e)d(t);for(let t of u.current.keys())e.includes(t)||u.current.delete(t)},[e,t,i]),(0,v.useEffect)(()=>{let t=e.map(e=>WC(e,t=>{if(t.type===`ready`)s.current.enabled?d(e,!0):u.current.set(e,{on:!1});else if(t.type===`inspect`){if(t.info){for(let t of l.current)t!==e&&GC(t,{type:`inspect-select`,ref:null});o({info:t.info,frame:e})}else o(t=>t?.frame===e?null:t)}else t.type===`inspect-escape`&&c.current()}));return()=>{for(let e of t)e()}},[e]);let f=a&&e.includes(a.frame)?a.frame:null;return{info:f?a.info:null,frame:f,select(e){if(e===null){for(let e of l.current)GC(e,{type:`inspect-select`,ref:null});o(null)}else a&&GC(a.frame,{type:`inspect-select`,ref:e})}}}function ew(e){let[t,n]=(0,v.useState)(!1);return(0,v.useEffect)(()=>{let t=e=>e===`Meta`||e===`Control`,r=!1,i=!1,a,o=()=>{r=!1,clearTimeout(a),n(!1)},s=e=>{if(t(e)){if(r)return;r=!0,i=!1,a=setTimeout(()=>{r&&!i&&n(!0)},150)}else r&&(i=!0,clearTimeout(a),n(!1))},c=e=>s(e.key),l=e=>{t(e.key)&&o()};window.addEventListener(`keydown`,c,!0),window.addEventListener(`keyup`,l,!0),window.addEventListener(`blur`,o);let u=e.map(e=>WC(e,e=>{e.type===`key`?e.down?s(e.name):t(e.name)&&o():e.type===`blur`&&o()}));return()=>{window.removeEventListener(`keydown`,c,!0),window.removeEventListener(`keyup`,l,!0),window.removeEventListener(`blur`,o);for(let e of u)e();clearTimeout(a)}},[e]),t}function tw({title:e,children:t,right:n}){return(0,R.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,R.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function nw({label:e,children:t}){return(0,R.jsxs)(`div`,{className:`grid min-h-7 grid-cols-[92px_minmax(0,1fr)] items-center gap-x-3 px-4 py-0.5 text-[12.5px]`,children:[(0,R.jsx)(`span`,{className:`text-muted`,children:e}),(0,R.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function rw({name:e}){return e?(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(`var(${e})`,`Token copied`),title:`Copy var()`,className:`shrink-0 cursor-pointer truncate rounded-[4px] border-0 bg-action-soft px-1.5 py-px font-mono text-[11px] text-action`,children:e}):null}function iw({children:e,title:t}){return(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function aw({label:e,color:t}){return(0,R.jsxs)(nw,{label:e,children:[(0,R.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-[3px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.12)]`,style:{background:t.css}}),(0,R.jsx)(iw,{title:t.css,children:t.value}),(0,R.jsx)(rw,{name:t.token})]})}var ow=e=>e?String(e):`–`;function sw({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,R.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,R.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,R.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:ow(i)}),(0,R.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:ow(s)}),(0,R.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,R.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:ow(a)}),(0,R.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:ow(o)})]})}function cw({info:e}){let t={w:Math.max(0,e.rect.w-e.border[1]-e.border[3]-e.padding[1]-e.padding[3]),h:Math.max(0,e.rect.h-e.border[0]-e.border[2]-e.padding[0]-e.padding[2])};return(0,R.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,R.jsx)(sw,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,R.jsx)(sw,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,R.jsx)(sw,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,R.jsxs)(`div`,{className:`flex h-8 items-center justify-center rounded-[3px] border border-rule-strong bg-[#6fa8dc]/25 text-ink`,children:[Math.round(t.w*100)/100,` × `,Math.round(t.h*100)/100]})})})})})}function lw({info:e,onSelect:t}){return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,R.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>t(e.ref),className:`cursor-pointer rounded-[4px] border-0 bg-soft2 px-1.5 py-0.5 font-mono text-[11px] text-ink2 hover:text-ink`,children:e.label}),(0,R.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,R.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function uw({info:e,onSelect:t,onClose:n,active:r}){return(0,R.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,R.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,R.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,R.jsx)(N_,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,R.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,R.jsxs)(tw,{title:`Element`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,R.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,R.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,R.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,R.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(e.component.file,`Path copied`),className:`w-fit max-w-full cursor-pointer truncate border-0 bg-transparent p-0 text-left font-mono text-[11.5px] text-muted hover:text-ink2`,title:`Copy path`,children:e.component.file}):null,e.text?(0,R.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,R.jsx)(lw,{info:e,onSelect:t})]}),(0,R.jsxs)(tw,{title:`Box`,children:[(0,R.jsx)(cw,{info:e}),(0,R.jsx)(nw,{label:`Size`,children:(0,R.jsxs)(iw,{children:[e.rect.w,` × `,e.rect.h]})}),(0,R.jsx)(nw,{label:`Position`,children:(0,R.jsxs)(iw,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,R.jsx)(tw,{title:`Layout`,children:e.layout.map(([e,t])=>(0,R.jsx)(nw,{label:e,children:(0,R.jsx)(iw,{title:t,children:t})},e))}):null,e.typography?(0,R.jsxs)(tw,{title:`Typography`,children:[(0,R.jsxs)(nw,{label:`Font`,children:[(0,R.jsx)(iw,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,R.jsx)(rw,{name:e.typography.familyToken})]}),(0,R.jsxs)(nw,{label:`Size`,children:[(0,R.jsxs)(iw,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,R.jsx)(rw,{name:e.typography.sizeToken})]}),(0,R.jsx)(nw,{label:`Weight`,children:(0,R.jsx)(iw,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,R.jsx)(nw,{label:`Tracking`,children:(0,R.jsx)(iw,{children:e.typography.letterSpacing})}),(0,R.jsx)(aw,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,R.jsx)(nw,{label:`Align`,children:(0,R.jsx)(iw,{children:e.typography.align})}),e.typography.transform?(0,R.jsx)(nw,{label:`Transform`,children:(0,R.jsx)(iw,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,R.jsxs)(tw,{title:`Appearance`,children:[e.appearance.background?(0,R.jsx)(aw,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,R.jsx)(nw,{label:`Image`,children:(0,R.jsx)(iw,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,R.jsxs)(nw,{label:`Border`,children:[(0,R.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-[3px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.12)]`,style:{background:e.appearance.border.color.css}}),(0,R.jsxs)(iw,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,R.jsx)(rw,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,R.jsxs)(nw,{label:`Radius`,children:[(0,R.jsx)(iw,{children:e.appearance.radius.value}),(0,R.jsx)(rw,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,R.jsxs)(nw,{label:`Shadow`,children:[(0,R.jsx)(iw,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,R.jsx)(rw,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,R.jsx)(nw,{label:`Opacity`,children:(0,R.jsx)(iw,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,R.jsx)(tw,{title:`Classes`,right:(0,R.jsx)(`button`,{type:`button`,onClick:()=>void IC(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,R.jsx)(`span`,{className:`rounded-[4px] bg-soft2 px-1.5 py-0.5 font-mono text-[11px] text-ink2`,children:e},e))})}):null,e.attributes.length?(0,R.jsx)(tw,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,R.jsx)(nw,{label:e,children:(0,R.jsx)(iw,{title:t,children:t})},e))}):null,e.children.length?(0,R.jsx)(tw,{title:`Children · ${e.children.length}`,children:(0,R.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>t(e.ref),className:`flex h-7 cursor-pointer items-center gap-2 rounded-[6px] border-0 bg-transparent px-2 text-left font-mono text-[12px] text-ink2 hover:bg-soft2`,children:[(0,R.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,R.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${T_} to highlight, click to inspect.`}),(0,R.jsx)(`span`,{className:`text-[12.5px] leading-[1.5] text-muted`,children:`Hover shows margin, padding and content. Clicks go to the inspector, not the screen.`}),(0,R.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,R.jsx)(y_,{children:`I`}),` toggle · hold `,(0,R.jsx)(y_,{children:T_}),` · `,(0,R.jsx)(y_,{children:`esc`}),` clear`]})]}),e?(0,R.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,R.jsx)(A_,{icon:`copy`,onClick:()=>void IC(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var dw={neutral:`bg-soft2 text-ink2`,action:`bg-action-soft text-action`,ok:`bg-ok-soft text-ok-text`,danger:`bg-danger-soft text-danger-text`};function fw({tone:e=`neutral`,children:t,className:n}){return(0,R.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,dw[e],n),children:t})}function pw({value:e,tone:t=`neutral`}){return(0,R.jsx)(`span`,{className:X(`inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-[4px] px-[5px] text-[11.5px] font-semibold tabular`,t===`action`?`bg-action-soft text-action`:t===`danger`?`bg-danger-soft text-danger-text`:`bg-soft2 text-ink2`),children:e})}function mw({children:e,className:t,style:n}){return(0,R.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function hw({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,R.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,R.jsxs)(i,{className:`m-0 flex min-w-0 items-center gap-2 whitespace-nowrap text-[14px] font-semibold`,children:[e,t===void 0?null:(0,R.jsx)(pw,{value:t}),n?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,R.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function gw({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,R.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,R.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,R.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,onClick:()=>n(e.value),className:X(`relative flex h-[46px] cursor-pointer items-center gap-1.5 border-0 bg-transparent px-0.5 text-[14px] transition-colors`,r?`font-semibold text-ink`:`font-medium text-ink2 hover:text-ink`),children:[e.label,e.count===void 0?null:(0,R.jsx)(pw,{value:e.count}),r?(0,R.jsx)(Wf.span,{layoutId:i,className:`absolute inset-x-0 bottom-0 h-[2px] bg-ink`,transition:{type:`spring`,stiffness:520,damping:42}}):null]},e.value)})}),r?(0,R.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function _w({align:e,children:t}){return(0,R.jsx)(`div`,{className:X(`flex min-w-0 items-center gap-2`,e===`r`&&`justify-end text-right`,e===`c`&&`justify-center`),children:t})}function vw(e,t){return v.Children.toArray(e).map((e,n)=>(0,R.jsx)(_w,{align:t?.[n]??`l`,children:e},n))}function yw({cols:e,align:t,labels:n}){return(0,R.jsx)(`div`,{className:`grid h-8 items-center gap-x-4 border-t border-rule bg-soft px-4 text-[12.5px] text-muted`,style:{gridTemplateColumns:e},children:n.map((e,n)=>(0,R.jsx)(_w,{align:t?.[n]??`l`,children:(0,R.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var bw=(e,t,n)=>X(`grid items-center gap-x-4 border-rule`,!e&&`border-t`,t&&`cursor-pointer transition-colors hover:bg-soft`,n);function xw({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,R.jsx)(`div`,{className:bw(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:vw(i,t)})}function Sw({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,R.jsx)(ye,{href:e,className:X(bw(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:vw(s,n)})}function Cw({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,R.jsxs)(`div`,{className:`grid content-center items-baseline gap-x-4 border-t border-rule px-4 py-2`,style:{gridTemplateColumns:`min(${n}px, 42%) minmax(0, 1fr)`,minHeight:r},children:[(0,R.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,R.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function ww({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,R.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function Tw({issues:e,className:t}){return(0,R.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,R.jsxs)(`div`,{className:`flex items-start gap-2.5 border-t border-rule px-4 py-2.5 text-[13px] first:border-t-0`,children:[(0,R.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,R.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function Ew({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,R.jsxs)(mw,{className:n?`border-danger/40`:void 0,children:[(0,R.jsx)(hw,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:(0,R.jsx)(Tw,{issues:e})})]})}var Dw=[.2,.7,.2,1];function Ow({open:e,side:t,width:n,children:r}){return(0,R.jsx)($u,{initial:!1,children:e?(0,R.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:Dw},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,R.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function kw({children:e,className:t,gap:n=20,wide:r=!1}){return(0,R.jsx)(`main`,{className:X(`mx-auto flex w-full min-h-0 grow flex-col px-8 pt-6 pb-7 animate-[q-fade-in_160ms_ease-out] max-md:px-4 max-md:pt-4`,r?`max-w-[1440px]`:`max-w-[1200px]`,t),style:{gap:n},children:e})}function Aw({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,R.jsxs)(`div`,{className:`flex shrink-0 items-end justify-between gap-6 max-md:flex-col max-md:items-stretch max-md:gap-3`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,R.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,R.jsx)(`div`,{className:`text-[13px] [overflow-wrap:anywhere] text-muted`,children:t}):null]}),n?(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function jw({items:e,label:t}){return(0,R.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>(0,R.jsxs)(ye,{href:e.to,className:e=>X(`flex h-8 items-center gap-2 whitespace-nowrap rounded-[6px] px-3 text-[13.5px] no-underline transition-colors focus-visible:outline-offset-[-2px]`,e?`bg-soft2 font-medium text-ink`:`text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to))})}function Mw({children:e}){return(0,R.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function Nw({title:e,text:t,action:n}){return(0,R.jsxs)(mw,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,R.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,R.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,R.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function Pw(e){return(0,R.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,R.jsx)(Nw,{...e})})}function Fw({title:e=`Nothing here`,text:t}){let n=!!Xg().scope;return(0,R.jsx)(Pw,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,R.jsx)(P_,{to:`/`,children:`All canvases`})})}var Iw=.1,Lw=(e,t=Iw)=>Math.min(8,Math.max(t,e)),Rw=class{camera={x:0,y:0,z:1};minZoom=Iw;listeners=new Set;animation=0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}set(e){this.camera={x:e.x,y:e.y,z:Lw(e.z,this.minZoom)};for(let e of this.listeners)e(this.camera)}interrupt(){cancelAnimationFrame(this.animation),this.animation=0}panBy(e,t){this.interrupt();let{x:n,y:r,z:i}=this.camera;this.set({x:n+e,y:r+t,z:i})}zoomAt(e,t,n){this.interrupt();let{x:r,y:i,z:a}=this.camera,o=Lw(a*n,this.minZoom),s=(e-r)/a,c=(t-i)/a;this.set({x:e-s*o,y:t-c*o,z:o})}animateTo(e,t=320){this.interrupt();let n={...this.camera},r={...e,z:Lw(e.z,this.minZoom)};if(t<=0||matchMedia(`(prefers-reduced-motion: reduce)`).matches){this.set(r);return}let i=performance.now(),a=e=>{let o=Math.min(1,(e-i)/t),s=1-(1-o)**3,c=n.z*(r.z/n.z)**s,l=n.z===r.z?s:(c-n.z)/(r.z-n.z);this.set({x:n.x+(r.x-n.x)*l,y:n.y+(r.y-n.y)*l,z:c}),this.animation=o<1?requestAnimationFrame(a):0};this.animation=requestAnimationFrame(a)}toWorld(e,t){let{x:n,y:r,z:i}=this.camera;return{x:(e-n)/i,y:(t-r)/i}}};function zw(e,t,n,r=72,i=1,a=Iw){let o=Lw(Math.min((t-r*2)/Math.max(e.w,1),(n-r*2)/Math.max(e.h,1),i),a),s=(e,t,n)=>t*o<=n-r*2?n/2-(e+t/2)*o:r-e*o;return{z:o,x:s(e.x,e.w,t),y:s(e.y,e.h,n)}}function Bw(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}function Vw({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,R.jsx)(`div`,{role:`group`,"aria-label":r,className:X(`shrink-0 items-center gap-0.5 rounded-[6px] bg-track p-[3px]`,a===`ctrl`?`h-ctrl`:`h-7`,i?`flex`:`inline-flex`),children:e.map(e=>{let r=e.value===t;return(0,R.jsxs)(`button`,{type:`button`,"aria-pressed":r,title:e.title,onClick:()=>n(e.value),className:X(`relative flex h-full cursor-pointer items-center justify-center whitespace-nowrap rounded-[4px] border-0 bg-transparent font-medium transition-colors`,a===`ctrl`?`px-2.5 text-ctrl`:`px-2 text-[12.5px]`,i&&`flex-1`,r?`text-ink`:`text-muted hover:text-ink2`),children:[r?(0,R.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,R.jsx)(`span`,{className:`relative flex items-center gap-1.5`,children:e.label})]},e.value)})})}var Hw=Object.defineProperty,Uw=(e,t)=>Hw(e,`name`,{value:t,configurable:!0}),Ww=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Gw=v.forwardRef(Uw(function(e,t){return(0,R.jsx)(Wp.span,{...e,ref:t,style:{...Ww,...e.style}})},`VisuallyHidden`)),Kw=Object.defineProperty,qw=(e,t)=>Kw(e,`name`,{value:t,configurable:!0}),[Jw,Yw]=ap(`Tooltip`,[_b]),Xw=_b(),Zw=`TooltipProvider`,Qw=700,$w=`tooltip.open`,[eT,tT]=Jw(Zw),nT=qw(e=>{let{__scopeTooltip:t,delayDuration:n=Qw,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=v.useRef(!0),s=v.useRef(!1),c=v.useRef(0);return v.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,R.jsx)(eT,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:v.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:v.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:v.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),rT=`Tooltip`,[iT,aT]=Jw(rT),oT=qw(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=tT(rT,e.__scopeTooltip),l=Xw(t),[u,d]=v.useState(null),[f,p]=v.useState(void 0),m=fp(),h=v.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,y=v.useRef(!1),[b,x]=xp({prop:r,defaultProp:i??!1,onChange:qw(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent($w))):c.onClose(),a?.(e)},`onChange`),caller:rT}),S=v.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),C=v.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,x(!0)},[x]),w=v.useCallback(()=>{window.clearTimeout(h.current),h.current=0,x(!1)},[x]),T=v.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,x(!0),h.current=0},_)},[_,x]);v.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let E=f??m;return(0,R.jsx)(Ab,{...l,children:(0,R.jsx)(iT,{scope:t,contentId:E,setContentId:p,open:b,stateAttribute:S,trigger:u,onTriggerChange:d,onTriggerEnter:v.useCallback(()=>{c.isOpenDelayedRef.current?T():C()},[c.isOpenDelayedRef,T,C]),onTriggerLeave:v.useCallback(()=>{g?w():(window.clearTimeout(h.current),h.current=0)},[w,g]),onOpen:C,onClose:w,disableHoverableContent:g,children:n})})},`Tooltip`),sT=`TooltipTrigger`,cT=v.forwardRef(qw(function(e,t){let{__scopeTooltip:n,...r}=e,i=aT(sT,n),a=tT(sT,n),o=Xw(n),s=tp(t,v.useRef(null),i.onTriggerChange),c=v.useRef(!1),l=v.useRef(!1),u=v.useCallback(()=>c.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,R.jsx)(jb,{asChild:!0,...o,children:(0,R.jsx)(Wp.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:Y(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:Y(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:Y(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:Y(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Y(e.onBlur,i.onClose),onClick:Y(e.onClick,i.onClose)})})},`TooltipTrigger`)),lT=`TooltipPortal`,[uT,dT]=Jw(lT,{forceMount:void 0}),fT=qw(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=aT(lT,t);return(0,R.jsx)(uT,{scope:t,forceMount:n,children:(0,R.jsx)(jm,{present:n||a.open,children:(0,R.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),pT=`TooltipContent`,mT=v.forwardRef(qw(function(e,t){let n=dT(pT,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=aT(pT,e.__scopeTooltip);return(0,R.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,R.jsx)(_T,{side:i,...a,ref:t}):(0,R.jsx)(hT,{side:i,...a,ref:t})})},`TooltipContent`)),hT=v.forwardRef(qw(function(e,t){let n=aT(pT,e.__scopeTooltip),r=tT(pT,e.__scopeTooltip),i=v.useRef(null),a=tp(t,i),[o,s]=v.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=v.useCallback(()=>{s(null),d(!1)},[d]),p=v.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=yT(r,vT(r,n.getBoundingClientRect())),a=bT(t.getBoundingClientRect()),o=ST([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=qw(e=>p(e,u),`handleTriggerLeave`),t=qw(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),v.useEffect(()=>{if(o){let e=qw(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!xT(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,R.jsx)(_T,{...e,ref:a})},`TooltipContentHoverable`)),gT=jp(`TooltipContent`),_T=v.forwardRef(qw(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=aT(pT,n),u=Xw(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener($w,d),()=>document.removeEventListener($w,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=qw(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:f}=l;return sp(()=>(f(a),()=>{f(void 0)}),[a,f]),(0,R.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,R.jsxs)(Mb,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,R.jsx)(gT,{children:r}),i?(0,R.jsx)(Gw,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function vT(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}qw(vT,`getExitSideFromRect`);function yT(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}qw(yT,`getPaddedExitPoints`);function bT(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}qw(bT,`getPointsFromRect`);function xT(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}qw(xT,`isPointInPolygon`);function ST(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),CT(t)}qw(ST,`getHull`);function CT(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}qw(CT,`getHullPresorted`);var wT=nT,TT=oT,ET=cT,DT=fT,OT=mT;function kT({children:e}){return(0,R.jsx)(wT,{delayDuration:250,children:e})}var AT=`z-50 max-w-[280px] rounded-[8px] border border-rule bg-surface px-[10px] py-[7px] text-[12.5px] leading-[1.35] text-ink shadow-pop outline-none data-[state=delayed-open]:animate-[q-pop_120ms_ease-out] data-[state=closed]:animate-[q-pop-out_100ms_ease-in_forwards]`;function jT({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,R.jsxs)(TT,{children:[(0,R.jsx)(ET,{asChild:!0,children:t}),(0,R.jsx)(DT,{children:(0,R.jsx)(OT,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(AT,i),children:e})})]})}var MT=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function NT(e,t,n){let{frameSandbox:r}=Xg(),{base:i}=ue();return t?t.kind===`url`?t.url:ZC(r?`${i}${MT(e,t.id,t.theme??n)}`:XC(t.url,t.theme??n)):null}function PT({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e),[,a]=F(),{frameSandbox:o}=Xg(),s=__(),c=(0,v.useRef)(null),l=new URLSearchParams(window.location.search).get(`theme`),u=n?n.pages.flatMap(e=>e.sections.flatMap(e=>e.items.filter(e=>e.kind===`screen`||e.kind===`url`))):[],d=u.find(e=>e.id===t),f=(d?.kind===`screen`?d.theme:void 0)??(l===`light`||l===`dark`?l:n?.theme??s),p=d?d.kind===`screen`?XC(d.url,f):d.url:``,m=`/c/${encodeURIComponent(e)}`;return(0,v.useEffect)(()=>{d&&(document.title=`${d.title} · ${n?.title??``}`)},[d,n?.title]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&a(m)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,m]),(0,v.useEffect)(()=>{let r=c.current;if(r&&d?.kind===`screen`)return WC(r,r=>{if(r.type===`keydown`&&r.code===`Escape`)a(m);else if(r.type===`go`){let t=r.target.includes(`/`)?r.target.split(`/`)[1]:r.target;u.some(e=>e.id===t)&&a(MT(e,t,f),{replace:!0})}else r.type===`link`&&n&&QC(r,n,t=>a(MT(e,t,f),{replace:!0}),t)})},[p,d?.kind]),r?(0,R.jsx)(Fw,{title:`Canvas not found`,text:r.message}):i||!n?(0,R.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,R.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,R.jsx)(`iframe`,{ref:c,src:p,title:d.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:o,className:`block h-full w-full border-0`,style:{colorScheme:f},onLoad:()=>d.kind===`screen`&&qC(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-0 flex justify-end p-3 opacity-0 transition-opacity duration-200 group-hover:opacity-100 focus-within:opacity-100`,children:(0,R.jsxs)(ye,{href:m,className:`pointer-events-auto flex h-8 items-center gap-2 rounded-[8px] border border-rule bg-surface px-3 text-[12.5px] text-ink2 no-underline shadow-pop hover:text-ink`,children:[(0,R.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,R.jsx)(y_,{children:`esc`})]})})]}):(0,R.jsx)(Fw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function FT(e){return e.kind===`note`?`note`:e.kind===`image`?`image`:e.kind===`url`?`globe`:e.frame.width<600?`smartphone`:e.frame.width<1100?`tablet`:`monitor`}function IT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function LT({canvas:e,page:t,store:n,onPick:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.frames);return(0,R.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,R.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,R.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,R.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,R.jsx)(`nav`,{className:`flex flex-col gap-0.5 px-2`,children:e.pages.map(n=>{let r=n.sections.reduce((e,t)=>e+t.items.filter(e=>e.kind===`screen`||e.kind===`url`).length,0);return(0,R.jsxs)(ye,{href:IT(e,n),className:X(`flex h-8 items-center gap-2 rounded-[6px] px-2.5 text-[13.5px] no-underline transition-colors focus-visible:outline-offset-[-2px]`,n.id===t.id?`bg-soft2 font-medium text-ink`:`text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,R.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,R.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,R.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,R.jsx)(`span`,{className:`truncate`,children:e.title}),(0,R.jsx)(pw,{value:e.items.length})]}):null,e.items.map(t=>{let n=(a[t.id]?.errors.length??0)>0||t.kind===`screen`&&t.missing;return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r(t.id),className:X(`flex h-8 w-full cursor-pointer items-center gap-2 rounded-[6px] border-0 px-2.5 text-left text-[13px] transition-colors focus-visible:outline-offset-[-2px]`,e.title&&`pl-4`,i===t.id?`bg-action-soft text-ink`:`bg-transparent text-ink2 hover:bg-soft2`),children:[(0,R.jsx)(Z,{name:FT(t),size:15,className:`text-muted`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,R.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function RT({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=F(),{slots:d,scope:f}=Xg();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(XS,{children:[d.barStart,d.brand?d.brand:f?(0,R.jsx)(JS,{}):(0,R.jsx)(jT,{content:`All canvases`,children:(0,R.jsx)(ye,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,R.jsx)(JS,{})})}),(0,R.jsx)(N_,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,R.jsx)(`span`,{className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,R.jsxs)(VS,{width:240,trigger:(0,R.jsxs)(`button`,{type:`button`,className:`flex h-ctrl cursor-pointer items-center gap-1 rounded-[6px] border-0 bg-transparent px-2 text-[14px] text-ink2 hover:bg-soft2`,children:[(0,R.jsx)(`span`,{className:`truncate`,children:t.title}),(0,R.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,R.jsx)(GS,{children:`Pages`}),e.pages.map(n=>(0,R.jsxs)(US,{active:n.id===t.id,onSelect:()=>u(IT(e,n)),children:[(0,R.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,R.jsx)(Vw,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,R.jsx)(BT,{on:c,onChange:l}),(0,R.jsx)(A_,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,children:`Play`}),(0,R.jsx)(D_,{width:200,label:`Search`}),(0,R.jsx)(qS,{}),d.barEnd]})]}),d.belowBar?(0,R.jsx)(`div`,{className:`shrink-0`,children:d.belowBar}):null]})}function zT({canvas:e,store:t,layoutItems:n,theme:r,onPlay:i,inspect:a}){let o=c_(t,e=>e.selected),s=c_(t,e=>e.active),c=c_(t,e=>o?e.frames[o]:void 0),l=n.find(e=>e.id===o),u=NT(e.id,l?.kind===`screen`||l?.kind===`url`?l:void 0,r);if(!l)return null;let d=l.kind===`screen`||l.kind===`url`,f=()=>JC(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,R.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,R.jsxs)(`div`,{className:`pointer-events-auto flex max-w-full flex-col overflow-hidden rounded-[10px] border border-rule bg-surface shadow-pop animate-[q-pop_120ms_ease-out]`,children:[p.length?(0,R.jsxs)(`div`,{className:`flex max-h-40 items-start gap-2 overflow-y-auto border-b border-rule bg-danger-soft px-3.5 py-2 font-mono text-[12px] whitespace-pre-wrap text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,R.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
58
|
+
`)})]}):null,(0,R.jsxs)(`div`,{className:`flex h-[44px] items-center gap-1 pr-1.5 pl-3.5`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-2`,children:[(0,R.jsx)(`span`,{className:`truncate text-[13.5px] font-medium`,children:l.title||l.id}),d&&s===l.id?(0,R.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[12px] text-muted`,children:[(0,R.jsx)(Z,{name:`pointer`,size:13}),` `,a?`Inspecting`:`Interacting`,` `,(0,R.jsx)(y_,{children:`esc`})]}):d?(0,R.jsx)(`span`,{className:`shrink-0 text-[12px] text-muted`,children:a?`Click an element to inspect it`:`Click the screen to interact`}):null]}),d?(0,R.jsx)(jT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,R.jsx)(y_,{children:`↵`})]}),children:(0,R.jsx)(N_,{icon:`play`,label:`Play`,onClick:()=>i(l.id)})}):null,u?(0,R.jsx)(jT,{content:`Open in a new tab`,children:(0,R.jsx)(`a`,{href:u,target:`_blank`,rel:`noreferrer`,"aria-label":`Open in a new tab`,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,children:(0,R.jsx)(Z,{name:`external`,size:16})})}):null,d?(0,R.jsx)(jT,{content:`Reload`,children:(0,R.jsx)(N_,{icon:`refresh`,label:`Reload`,onClick:f})}):null,l.kind===`screen`?(0,R.jsx)(jT,{content:`Copy source path`,children:(0,R.jsx)(N_,{icon:`copy`,label:`Copy source path`,onClick:()=>void IC(l.file,`Path copied`)})}):null,(0,R.jsx)(jT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Zoom to `,(0,R.jsx)(y_,{children:`⇧2`})]}),children:(0,R.jsx)(N_,{icon:`fit`,label:`Zoom to`,onClick:()=>window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:l.id}}))})})]})]})})}function BT({on:e,onChange:t}){return(0,R.jsx)(jT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Inspect elements `,(0,R.jsx)(y_,{children:`I`})]}),children:(0,R.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:()=>t(!e),className:e?`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-action-line bg-action-soft px-ctrl text-ctrl font-medium text-action`:`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-rule-strong bg-surface px-ctrl text-ctrl font-medium text-ink hover:bg-soft`,children:[(0,R.jsx)(Z,{name:`pointer`,size:15}),`Inspect`]})})}var VT=280,HT=96,UT=150,WT=110,GT=720,KT=e=>e.kind===`screen`||e.kind===`url`;function qT(e,t){let n=t[e.id];if(e.kind===`screen`||e.kind===`url`){let t=e.frame.width;if(e.frame.height!==`auto`)return{w:t,h:e.frame.height};let r=e.kind===`screen`?e.measuredHeight:void 0;return{w:t,h:n?.h??r??900}}if(e.kind===`note`)return{w:e.width,h:n?.h??Math.max(80,Math.ceil(e.text.length/38)*26+40)};let r=e.width??n?.w??480;return{w:r,h:n?.w?n.h/n.w*r:n?.h??r*.62}}function JT(e,t){return!e.title&&!e.description?0:t[`section:${e.id}`]?.h??(e.title?56:0)+(e.description?60:0)}function YT(e,t){let n=[],r=[];if(e.layout===`free`){let r=0;for(let i of e.sections)for(let e of i.items){let{w:a,h:o}=qT(e,t),s=e.x??r,c=e.y??0;r=Math.max(r,s+a+HT),n.push({item:e,section:i,x:s,y:c,w:a,h:o})}}else{let i=0;for(let a of e.sections){let e=JT(a,t),o=i,s=i+(e?e+WT:0),c=0,l=0,u=0,d=0;for(let e of a.items){a.columns&&d===a.columns&&(s+=l+UT,c=0,l=0,d=0);let{w:r,h:i}=qT(e,t);n.push({item:e,section:a,x:c,y:s,w:r,h:i}),c+=r+HT,u=Math.max(u,c-HT),l=Math.max(l,i),d++}let f=s+l;r.push({section:a,x:0,y:o,w:Math.max(u,e?GT:0),h:f-o,header:e}),i=f+VT}}let i=0,a=0,o=0,s=0,c=[...n,...r];return c.length&&(i=Math.min(...c.map(e=>e.x)),a=Math.min(...c.map(e=>e.y)),o=Math.max(...c.map(e=>e.x+e.w)),s=Math.max(...c.map(e=>e.y+e.h))),{items:n,sections:r,bounds:{x:i,y:a,w:o-i,h:s-a}}}function XT(e){return e.items.filter(e=>KT(e.item))}function ZT(){return new s_({selected:null,active:null,hovered:null,sizes:{},frames:{},live:[],panning:!1,zoomTiny:!1,frameEls:{},inspecting:!1})}function QT(e,t,n){e.set(e=>{let r=e.sizes[t];return r&&Math.abs(r.h-n.h)<1&&r.w===n.w?e:{...e,sizes:{...e.sizes,[t]:n}}})}function $T(e,t,n){e.set(e=>{let r=e.frames[t]??{ready:!1,errors:[]};return{...e,frames:{...e.frames,[t]:{...r,...n}}}})}function eE(e,t,n){e.set(e=>e.frameEls[t]===n?e:{...e,frameEls:{...e.frameEls,[t]:n}})}function tE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var nE=tE();function rE(e){nE=e}var iE={exec:()=>null};function aE(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function $(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(sE.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var oE=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),sE={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:aE(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:aE(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:aE(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:aE(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:aE(e=>RegExp(`^ {0,${e}}(?:</?(?:${SE})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:aE(e=>RegExp(`^ {0,${e}}>`))},cE=/^(?:[ \t]*(?:\n|$))+/,lE=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,uE=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,dE=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pE=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,mE=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,hE=$(mE).replace(/bull/g,pE).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),gE=$(mE).replace(/bull/g,pE).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),_E=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,vE=/^[^\n]+/,yE=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,bE=$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,yE).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),xE=$(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,pE).getRegex(),SE=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,CE=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,wE=$(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,CE).replace(`tag`,SE).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),TE=e=>$(_E).replace(`hr`,dE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,SE).getRegex(),EE=TE(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),DE=TE(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),OE={blockquote:$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,DE).getRegex(),code:lE,def:bE,fences:uE,heading:fE,hr:dE,html:wE,lheading:hE,list:xE,newline:cE,paragraph:EE,table:iE,text:vE},kE=$(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,dE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,SE).getRegex(),AE={...OE,lheading:gE,table:kE,paragraph:$(_E).replace(`hr`,dE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,kE).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,SE).getRegex()},jE={...OE,html:$(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,CE).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:iE,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:$(_E).replace(`hr`,dE).replace(`heading`,` *#{1,6} *[^
|
|
59
|
+
]`).replace(`lheading`,hE).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},ME=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,NE=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,PE=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,FE=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,IE=/[\p{P}\p{S}]/u,LE=/[\s\p{P}\p{S}]/u,RE=/[^\s\p{P}\p{S}]/u,zE=$(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,LE).getRegex(),BE=/[\p{Pi}\p{Ps}"']/u,VE=/(?!~)[\p{P}\p{S}]/u,HE=/(?!~)[\s\p{P}\p{S}]/u,UE=/(?:[^\s\p{P}\p{S}]|~)/u,WE=$(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,oE?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),GE=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,KE=$(GE,`u`).replace(/punct/g,IE).getRegex(),qE=$(GE,`u`).replace(/punct/g,VE).getRegex(),JE=$(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,BE).replace(/punct/g,IE).getRegex(),YE=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,XE=$(YE,`gu`).replace(/notPunctSpace/g,RE).replace(/punctSpace/g,LE).replace(/punct/g,IE).getRegex(),ZE=$(YE,`gu`).replace(/notPunctSpace/g,UE).replace(/punctSpace/g,HE).replace(/punct/g,VE).getRegex(),QE=$(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,RE).replace(/punctSpace/g,LE).replace(/punct/g,IE).getRegex(),$E=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,RE).replace(/punctSpace/g,LE).replace(/punct/g,IE).getRegex(),eD=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,RE).replace(/punctSpace/g,LE).replace(/punct/g,IE).getRegex(),tD=$(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,IE).getRegex(),nD=$(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,RE).replace(/punctSpace/g,LE).replace(/punct/g,IE).getRegex(),rD=$(/\\(punct)/,`gu`).replace(/punct/g,IE).getRegex(),iD=$(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),aD=$(CE).replace(`(?:-->|$)`,`-->`).getRegex(),oD=$(`^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,aD).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),sD=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,cD=$(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace(`brackets`,sD).getRegex(),lD=$(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,cD).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),uD=$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,cD).replace(`ref`,yE).getRegex(),dD=$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,yE).getRegex(),fD=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,pD=$(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace(`brackets`,sD).getRegex(),mD=$(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,pD).replace(`ref`,fD).getRegex()).replace(`nolink`,$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,fD).getRegex()).getRegex(),hD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,gD=$(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_D={_backpedal:iE,anyPunctuation:rD,autolink:iD,blockSkip:WE,br:PE,code:NE,del:iE,delLDelim:iE,delRDelim:iE,emStrongLDelim:KE,emStrongRDelimAst:XE,emStrongRDelimUnd:$E,escape:ME,link:lD,nolink:dD,punctuation:zE,reflink:uD,reflinkSearch:mD,tag:oD,text:FE,url:iE},vD={..._D,emStrongLDelim:JE,emStrongRDelimAst:QE,emStrongRDelimUnd:eD,link:$(/^!?\[(label)\]\((.*?)\)/).replace(`label`,cD).getRegex(),reflink:$(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,cD).getRegex()},yD={..._D,emStrongRDelimAst:ZE,emStrongLDelim:qE,delLDelim:tD,delRDelim:nD,url:$(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`emailProtocol`,gD).replace(`protocol`,hD).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:$(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace(`protocol`,hD).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},bD={...yD,br:$(PE).replace(`{2,}`,`*`).getRegex(),text:$(yD.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},xD={normal:OE,gfm:AE,pedantic:jE},SD={normal:_D,gfm:yD,breaks:bD,pedantic:vD},CD={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},wD=e=>CD[e];function TD(e,t){if(t){if(sE.escapeTest.test(e))return e.replace(sE.escapeReplace,wD)}else if(sE.escapeTestNoEncode.test(e))return e.replace(sE.escapeReplaceNoEncode,wD);return e}function ED(e){return e.replace(sE.numericCharacterReference,(e,t,n)=>{let r=t===void 0?Number.parseInt(n,16):Number.parseInt(t,10);return r===0||r>1114111||r>=55296&&r<=57343?`�`:String.fromCodePoint(r)})}function DD(e){try{e=encodeURI(e).replace(sE.percentDecode,`%`)}catch{return null}return e}function OD(e,t){let n=e.replace(sE.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(sE.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(sE.slashPipe,`|`);return n}function kD(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function AD(e){let t=e.split(`
|
|
60
|
+
`),n=t.length-1;for(;n>=0&&sE.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
61
|
+
`)}function jD(e){return e.trim().toLowerCase().toUpperCase().toLowerCase()}function MD(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function ND(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function PD(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`),c=e[0].charAt(0)===`!`;r.state.inLink=!0;let l=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let d=r.inlineTokens(s),f=r.state.linkEmitted;if(r.state.linkEmitted=l,r.state.inLink=!1,!c){if(f){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:c?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:d}}function FD(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
62
62
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return e.slice(Math.min(r.length,i.length))}).join(`
|
|
63
|
-
`)}function
|
|
64
|
-
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:
|
|
65
|
-
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=
|
|
63
|
+
`)}function ID(e,t,n,r){if(!t.includes(`<`))return!1;for(let i=0;i<t.length;i++){if(t[i]===`\\`){i++;continue}if(t[i]==="`"){let e=r.inline.code.exec(t.slice(i));if(e){i+=e[0].length-1;continue}}if(t[i]!==`<`)continue;let a=e.slice(n+i),o=r.inline.tag.exec(a)||r.inline.autolink.exec(a);if(o){if(o[0].length>t.length-i)return!0;i+=o[0].length-1}}return!1}var LD=class{options;rules;lexer;constructor(e){this.options=e||nE}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:AD(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=FD(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=kD(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceTabChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:kD(t[0],`
|
|
64
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:kD(t[0],`
|
|
65
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=kD(t[0],`
|
|
66
66
|
`).split(`
|
|
67
67
|
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o=0;for(;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
68
68
|
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -77,19 +77,19 @@ ${d.join(`
|
|
|
77
77
|
`+e.join(`
|
|
78
78
|
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
79
79
|
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=t[2].split(`
|
|
80
|
-
`,1)[0],l=t[1].length,u=this.options.pedantic?
|
|
80
|
+
`,1)[0],l=t[1].length,u=this.options.pedantic?ND(c,l):c.replace(this.rules.other.leadingSpaceTab,e=>ND(e,l)),d=e.split(`
|
|
81
81
|
`,1)[0],f=!u.trim(),p=0;if(this.options.pedantic?(p=2,s=u.trimStart()):f?p=l+1:(p=u.search(this.rules.other.nonSpaceChar),p=p>4?1:p,s=u.slice(p),p+=l),f&&this.rules.other.blankLine.test(d)&&(r+=d+`
|
|
82
82
|
`,e=e.substring(d.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),i=this.rules.other.fencesBeginRegex(p),a=this.rules.other.headingBeginRegex(p),o=this.rules.other.htmlBeginRegex(p),c=this.rules.other.blockquoteBeginRegex(p);for(;e;){let l=e.split(`
|
|
83
83
|
`,1)[0],m;if(d=l,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting,` `),m=d):m=d.replace(this.rules.other.leadingSpaceTab,e=>e.replace(this.rules.other.tabCharGlobal,` `)),i.test(d)||a.test(d)||o.test(d)||c.test(d)||t.test(d)||n.test(d))break;if(m.search(this.rules.other.nonSpaceChar)>=p||!d.trim())s+=`
|
|
84
84
|
`+m.slice(p);else{if(f||u.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(u)||a.test(u)||n.test(u))break;s+=`
|
|
85
85
|
`+d}f=!d.trim(),r+=l+`
|
|
86
|
-
`,e=e.substring(l.length+1),u=m.slice(p)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=
|
|
87
|
-
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=
|
|
88
|
-
`):[],a={type:`table`,raw:
|
|
89
|
-
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(
|
|
86
|
+
`,e=e.substring(l.length+1),u=m.slice(p)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=AD(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=jD(t[1]).replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:kD(t[0],`
|
|
87
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=OD(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
88
|
+
`):[],a={type:`table`,raw:kD(t[0],`
|
|
89
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(OD(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:kD(t[0],`
|
|
90
90
|
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
91
|
-
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&
|
|
92
|
-
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(
|
|
91
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&ID(e,t[1],n,this.rules))return;let r=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let e=kD(r.slice(0,-1),`\\`);if((r.length-e.length)%2==0)return}else{let e=MD(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let i=t[2],a=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(i);e&&(i=e[1],a=e[3])}else a=t[3]?t[3].slice(1,-1):``;return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(i=this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?i.slice(1):i.slice(1,-1)),PD(t,{href:i&&i.replace(this.rules.inline.anyPunctuation,`$1`),title:a&&a.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=n[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&ID(e,n[1],r,this.rules))return;let i=t[jD((n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `))];if(!i){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return PD(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,a,o,s=i,c=0,l=r[0][0],u=n===l,d=l===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(r=d.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){s+=o;continue}if(r[5]||r[6]){if(i%3&&!((i+o)%3)){c+=o;continue}if(u)break}if(s-=o,s>0)continue;o=Math.min(o,o+s+c);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+o);if(Math.min(i,o)%2){let e=n.slice(1,-1);return{type:`em`,raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let l=n.slice(2,-2);return{type:`strong`,raw:n,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:e?t[0]:ED(t[0]),escaped:e}}}},RD=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||nE,this.options.tokenizer=this.options.tokenizer||new LD,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:sE,block:xD.normal,inline:SD.normal};this.options.pedantic?(t.block=xD.pedantic,t.inline=SD.pedantic):this.options.gfm&&(t.block=xD.gfm,t.inline=this.options.breaks?SD.breaks:SD.gfm),this.tokenizer.rules=t}static get rules(){return{block:xD,inline:SD}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(sE.carriageReturn,`
|
|
92
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(sE.tabCharGlobal,` `).replace(sE.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
|
|
93
93
|
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
94
94
|
`)?``:`
|
|
95
95
|
`)+i.raw,n.text+=`
|
|
@@ -102,9 +102,9 @@ ${d.join(`
|
|
|
102
102
|
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
103
103
|
`)?``:`
|
|
104
104
|
`)+i.raw,n.text+=`
|
|
105
|
-
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,
|
|
106
|
-
`:``;return r?`<pre><code class="language-`+
|
|
107
|
-
`:`<pre><code>`+(n?i:
|
|
105
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,jD(e.slice(n+1,-1)))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes(`[`)){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,jD(n.slice(r+1,-1))))return n;if(r>1&&n.charAt(0)!==`!`){let i=n.slice(1,r-1);if(this.linkInText(i))return`[`+i.replace(e,t)+`][`+`a`.repeat(n.length-r-2)+`]`}return`[`+`a`.repeat(n.length-2)+`]`};n=n.replace(e,t)}n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>`+`.repeat(e.length)),n=n.replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+`[`+`a`.repeat(e.length-r-2)+`]`}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i=``,a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=``),r=!1;let o;if(this.options.extensions?.inline?.some(n=>(o=n.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let n=t.at(-1);o.type===`text`&&n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),o.raw.slice(-1)!==`_`&&(i=o.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},zD=class{options;parser;constructor(e){this.options=e||nE}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(sE.notSpaceStart)?.[0],i=e?e.replace(sE.endingNewline,``)+`
|
|
106
|
+
`:``;return r?`<pre><code class="language-`+TD(r)+`">`+(n?i:TD(i,!0))+`</code></pre>
|
|
107
|
+
`:`<pre><code>`+(n?i:TD(i,!0))+`</code></pre>
|
|
108
108
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
109
109
|
${this.parser.parse(e)}</blockquote>
|
|
110
110
|
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
@@ -120,39 +120,39 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
120
120
|
`}tablerow({text:e}){return`<tr>
|
|
121
121
|
${e}</tr>
|
|
122
122
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
123
|
-
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${
|
|
124
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+yD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},RD=new LD;function zD(e,t){return RD.parse(e,t)}zD.options=zD.setOptions=function(e){return RD.setOptions(e),zD.defaults=RD.defaults,ZT(zD.defaults),zD},zD.getDefaults=YT,zD.defaults=XT;function BD(...e){return RD.use(...e),zD.defaults=RD.defaults,ZT(zD.defaults),zD}zD.use=BD,zD.walkTokens=function(e,t){return RD.walkTokens(e,t)},zD.parseInline=RD.parseInline,zD.Parser=FD,zD.parser=FD.parse,zD.Renderer=ND,zD.TextRenderer=PD,zD.Lexer=MD,zD.lexer=MD.lex,zD.Tokenizer=jD,zD.Hooks=ID,zD.parse=zD,zD.options,zD.setOptions,zD.walkTokens,zD.parseInline,FD.parse,MD.lex;var VD=new Set([`http:`,`https:`,`mailto:`]);function HD(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||VD.has(`${n.toLowerCase()}:`)}function UD(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var WD=new LD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>UD(e),link(e){return!HD(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!HD(e.href)&&UD(e.text)}}});function GD(e){return WD.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function KD({text:e,className:t}){let n=(0,v.useMemo)(()=>GD(e),[e]);return(0,R.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function qD(e,t,n=!0){let r=(0,v.useRef)(null);return(0,v.useLayoutEffect)(()=>{let i=r.current;if(!i||!n)return;let a=new ResizeObserver(()=>KT(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function JD(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var YD=(0,v.memo)(function({placed:e,mode:t,thumb:n,theme:r,store:i,events:a,capture:o}){let{item:s,x:c,y:l,w:u,h:d}=e,f=(0,v.useRef)(null),{frameSandbox:p}=Xg(),m=(0,v.useCallback)(e=>{f.current=e,JT(i,s.id,e)},[i,s.id]),h=c_(i,e=>e.frames[s.id]),g=c_(i,e=>e.active===s.id),_=c_(i,e=>e.inspecting&&s.kind===`screen`),y=s.frame.height===`auto`,b=s.kind===`screen`?s.theme??r:r,x=s.kind===`screen`?s.rev:s.url,[S]=(0,v.useState)(b),C=s.kind===`screen`?WC(s.url,S,o?{capture:`1`}:void 0):s.url,w=!!h?.ready,T=t===`off`,E=!T&&!(s.kind===`screen`&&s.missing);(0,v.useEffect)(()=>{T&&qT(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return RC(e,t=>{switch(t.type){case`ready`:qT(i,s.id,{ready:!0}),BC(e);break;case`size`:y&&KT(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||qT(i,s.id,{errors:[...e,t.message]});break}case`updated`:qT(i,s.id,{errors:[]});break;case`go`:a.onGo(s.id,t.target);break;case`link`:a.onLink(s.id,t);break;case`wheel`:a.onWheel(e,t);break;case`keydown`:t.code===`Escape`&&a.onEscape()}})},[T,s.id,s.kind,y,i,a,C,x]),(0,v.useEffect)(()=>{s.kind===`screen`&&VC(f.current,b)},[b,s.kind]);let D=b===`dark`?`light`:`dark`,O=e=>e?.[b]??e?.[D],k=s.kind===`screen`?O(s.snapshots):void 0,A=n&&s.kind===`screen`?O(s.thumbs)??k:k,j=t===`asleep`&&w&&!!A;return(0,R.jsxs)(`div`,{"data-item":s.id,className:`absolute overflow-hidden bg-surface`,style:{left:c,top:l,width:u,height:d,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:[(!w||j)&&A?(0,R.jsx)(`img`,{src:A,alt:``,draggable:!1,loading:`lazy`,decoding:`async`,className:`absolute inset-0 h-full w-full object-cover object-top select-none`}):null,!w&&!A?(0,R.jsx)(XD,{item:s,loading:E}):null,E?(0,R.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,R.jsx)(`iframe`,{ref:m,src:C,title:s.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:p,className:X(`absolute top-0 left-0 block border-0 transition-opacity duration-200`,w?`opacity-100`:`opacity-0`),style:{width:u,height:d,colorScheme:b},onLoad:()=>{s.kind===`url`?qT(i,s.id,{ready:!0}):(VC(f.current,b),BC(f.current))}},x)}):null,g||_?null:(0,R.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function XD({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,R.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,R.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:JD(e.frame.width),size:Math.max(24,Math.min(96,e.frame.width/12)),strokeWidth:1.25,className:n?`text-danger-text`:void 0}),(0,R.jsx)(`div`,{className:`max-w-[80%] truncate text-center`,style:{fontSize:Math.max(14,e.frame.width/40)},children:n?`Missing file: ${e.kind===`screen`?e.src:``}`:t?`Loading…`:e.title})]})}var ZD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=qD(t,n.id),s=n.tone===`plain`;return(0,R.jsxs)(`div`,{ref:o,"data-item":n.id,className:X(`absolute`,s?``:`rounded-[10px] border border-note-line bg-note px-6 py-5 shadow-frame`),style:{left:r,top:i,width:a},children:[n.title?(0,R.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,R.jsx)(KD,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),QD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,R.jsx)(`div`,{"data-item":n.id,className:`absolute overflow-hidden rounded-[6px] bg-surface`,style:{left:r,top:i,width:a,height:o,boxShadow:`0 0 0 1px var(--rule)`},children:n.missing?(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,R.jsx)(`img`,{src:n.url,alt:n.title,draggable:!1,className:`block h-full w-full object-contain select-none`,onLoad:e=>{let r=e.currentTarget;KT(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),$D=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=qD(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,R.jsxs)(`div`,{ref:a,className:`canvas-section absolute`,style:{left:t,top:n,width:Math.min(Math.max(r,720),1400)},children:[e.title?(0,R.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,R.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,R.jsx)(KD,{text:e.description,className:`prose-plain`})}):null]})}),eO={phone:{width:390,height:844,label:`Phone`},"phone-sm":{width:375,height:667,label:`Phone S`},"phone-lg":{width:430,height:932,label:`Phone L`},tablet:{width:834,height:1194,label:`Tablet`},"tablet-landscape":{width:1194,height:834,label:`Tablet landscape`},laptop:{width:1280,height:800,label:`Laptop`},desktop:{width:1440,height:900,label:`Desktop`},wide:{width:1920,height:1080,label:`Wide`}};Object.keys(eO);var tO=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function nO(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?eO[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var rO=(0,v.memo)(function({placed:e,store:t}){let n=e.item.id,r=c_(t,e=>e.selected===n),i=c_(t,e=>e.frames[n]?.errors.length??0);return(0,R.jsxs)(`div`,{"data-at":``,"data-label":n,style:tO(e),className:X(`frame-label pointer-events-auto flex cursor-default items-center gap-1.5 overflow-hidden pb-1.5 text-[12.5px] leading-none whitespace-nowrap select-none`,r?`text-ink`:`text-muted hover:text-ink2`),children:[i?(0,R.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,R.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,R.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:nO(e)})]})});function iO({placed:e,kind:t}){return(0,R.jsx)(`div`,{"data-at":``,style:tO(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function aO({layout:e,view:t,store:n,overlayRef:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.active),o=c_(n,e=>e.hovered),s=c_(n,e=>e.zoomTiny),c=(0,v.useMemo)(()=>e.items.filter(e=>BT(e.item)),[e]),l=(0,v.useMemo)(()=>{if(!t||s)return[];let{x:e,y:n,z:r,w:i,h:a}=t,o={x:-e/r-i/r,y:-n/r-a/r,w:i/r*3,h:a/r*3};return c.filter(e=>Pw(e,o))},[c,t,s]),u=t=>t?e.items.find(e=>e.item.id===t):void 0,d=u(i),f=o&&o!==i?u(o):void 0;return(0,R.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,R.jsx)(rO,{placed:e,store:n},e.item.id)),f?(0,R.jsx)(iO,{placed:f,kind:`hover`}):null,d?(0,R.jsx)(iO,{placed:d,kind:a===i?`active`:`selected`}):null]})}var oO=12,sO=20,cO=110,lO=.2,uO=400,dO=.2,fO=3,pO=8e3,mO=14,hO=96;function gO({layout:e,theme:t,store:n,camera:r,events:i,capture:a,apiRef:o,onPlay:s,onSelect:c}){let l=(0,v.useRef)(null),u=(0,v.useRef)(null),d=(0,v.useRef)(null),f=(0,v.useRef)(null),[p,m]=(0,v.useState)(null),h=c_(n,e=>e.panning),g=c_(n,e=>e.selected),_=c_(n,e=>e.active),y=(0,v.useMemo)(()=>e.items.filter(e=>BT(e.item)),[e]);(0,v.useLayoutEffect)(()=>{let e=l.current,t=u.current,i=d.current,a,o,s=!1,c=0,p=()=>m({...r.camera,w:e.clientWidth,h:e.clientHeight,moving:s}),h=e=>{t.style.transform=`translate3d(${e.x}px, ${e.y}px, 0) scale(${e.z})`,s||(s=!0,t.classList.add(`moving`)),clearTimeout(a),a=setTimeout(()=>{s=!1,t.classList.remove(`moving`),p()},160);let r=f.current;r&&(r.style.setProperty(`--tx`,String(e.x)),r.style.setProperty(`--ty`,String(e.y)),r.style.setProperty(`--z`,String(e.z)));let l=24*e.z;for(;l<mO;)l*=4;for(;l>hO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+hO)%l+l)%l-l;i.style.transform=`translate3d(${u(e.x)}px, ${u(e.y)}px, 0)`;let d=e.z<.09;n.get().zoomTiny!==d&&n.set(e=>({...e,zoomTiny:d})),t.classList.toggle(`far`,e.z<.15),o??=setTimeout(()=>{o=void 0,p()},90)};h(r.camera),p();let g=r.subscribe(h),_=e.getBoundingClientRect().left,v=new ResizeObserver(()=>{let t=e.getBoundingClientRect().left;if(t!==_){let e=r.camera;r.set({...e,x:e.x-(t-_)}),_=t}p()});return v.observe(e),()=>{g(),v.disconnect(),clearTimeout(a),clearTimeout(o)}},[r,n]),(0,v.useEffect)(()=>{let t=l.current,n=()=>{let{w:n,h:i}={w:t.clientWidth,h:t.clientHeight},o=e.bounds,s=o.w&&n?Math.min((n-160)/o.w,(i-160)/Math.max(o.h,1)):1;r.minZoom=a?.01:Math.min(.25,Math.max(Aw,s*.5))};n();let i=new ResizeObserver(n);return i.observe(t),()=>i.disconnect()},[r,e.bounds,a]),(0,v.useEffect)(()=>{let t=l.current,n=()=>({w:t.clientWidth,h:t.clientHeight});o.current={size:n,openView(){let{w:t,h:i}=n(),a=e.bounds;if(!a.w)return;if(Math.min((t-160)/a.w,(i-160)/Math.max(a.h,1))>=dO)return this.fitAll(!1);let o=e.sections[0]??a,s=Math.min(.5,Math.max(.25,(t-160)/Math.max(o.w,1)));r.set({z:s,x:80-a.x*s,y:80-a.y*s})},fitAll(t=!0){let{w:i,h:a}=n();if(!e.bounds.w)return;let o=Nw(e.bounds,i,a,80,1,r.minZoom);t?r.animateTo(o):r.set(o)},fitItem(t,i=!0){let a=e.items.find(e=>e.item.id===t);if(!a)return;let{w:o,h:s}=n(),c=Nw(a,o,s,64,1,r.minZoom);i?r.animateTo(c):r.set(c)},zoomBy(e){let{w:t,h:i}=n(),a=r.camera,o=a.z*e,s=(t/2-a.x)/a.z,c=(i/2-a.y)/a.z;r.animateTo({z:o,x:t/2-s*o,y:i/2-c*o},180)},zoomTo(e){let{w:t,h:i}=n(),a=r.camera,o=(t/2-a.x)/a.z,s=(i/2-a.y)/a.z;r.animateTo({z:e,x:t/2-o*e,y:i/2-s*e},220)}}},[o,r,e]);let b=(0,v.useRef)([]),x=(0,v.useRef)(new Map),[S,C]=(0,v.useState)(0),w=c_(n,e=>_O(e.frames)),T=(0,v.useMemo)(()=>{let e=new Map;if(a){for(let t of y)e.set(t.item.id,`live`);return e}if(!p)return e;let{x:t,y:n,z:r,w:i,h:o}=p,s={x:-t/r,y:-n/r,w:i/r,h:o/r},c={x:s.x-s.w*.25,y:s.y-s.h*.25,w:s.w*1.5,h:s.h*1.5},l=s.x+s.w/2,u=s.y+s.h/2,d=e=>Math.max(0,Math.min(e.x+e.w,s.x+s.w)-Math.max(e.x,s.x))*Math.max(0,Math.min(e.y+e.h,s.y+s.h)-Math.max(e.y,s.y)),f=e=>Math.hypot(e.x+e.w/2-l,e.y+e.h/2-u),m=y.filter(e=>r>=lO&&Pw(e,c)&&e.w*r>=cO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,oO).map(e=>e.item.id),h=[_,g].filter(e=>!!e),v=new Set(y.map(e=>e.item.id)),S=new Set(w.split(`
|
|
125
|
-
`)),C=new Set(b.current),T=performance.now(),E=e=>!S.has(e)&&T-(x.current.get(e)??0)<
|
|
126
|
-
`)),n=[...x.current].filter(([e])=>!t.has(e)).map(([,t])=>t+
|
|
127
|
-
`)}function vO(e){let t=e;return!!t&&(t.isContentEditable||/^(input|textarea|select)$/i.test(t.tagName))}var yO=new URLSearchParams(window.location.search),bO=yO.has(`capture`),xO=(e,t)=>`foss-design.camera.${e}.${t}`;function SO(e){try{let t=JSON.parse(sessionStorage.getItem(e)??`null`);if(t&&Number.isFinite(t.x)&&Number.isFinite(t.y)&&Number.isFinite(t.z))return t}catch{}return null}function CO(e){let t=__(),n=yO.get(`theme`),[r,i]=(0,v.useState)(n===`dark`||n===`light`?n:null);return[r??e?.theme??t,i]}function wO({canvasId:e,pageId:t}){let{data:n,error:r,isLoading:i}=e_(e);if(r)return(0,R.jsx)(kw,{title:`Canvas not found`,text:r.message});if(i||!n)return(0,R.jsx)(`div`,{className:`canvas-dots grow`});let a=t??yO.get(`page`)??void 0,o=n.pages.find(e=>e.id===a)??n.pages[0];return(0,R.jsx)(TO,{canvas:n,page:o},`${n.id}/${o?.id??``}`)}function TO({canvas:e,page:t}){let[,n]=F(),r=(0,v.useMemo)(()=>GT(),[]),i=(0,v.useMemo)(()=>new Mw,[]),a=(0,v.useRef)(null),[o,s]=CO(e),[c,l]=(0,v.useState)(()=>!bO&&window.innerWidth>900),[u,d]=(0,v.useState)(!1),f=c_(r,e=>e.sizes),p=(0,v.useMemo)(()=>t?UT(t,f):{items:[],sections:[],bounds:{x:0,y:0,w:0,h:0}},[t,f]),m=kO(c_(r,e=>e.frameEls),p),h=JC(m),g=u||h;(0,v.useEffect)(()=>{r.set(e=>e.inspecting===g?e:{...e,inspecting:g,active:null})},[g,r]);let _=qC(m,g,{onEscape:()=>d(!1)}),y=!!_.info;(0,v.useEffect)(()=>{y&&d(!0)},[y]),(0,v.useEffect)(()=>{let e=_.frame;if(!e)return;let t=Object.entries(r.get().frameEls).find(([,t])=>t===e)?.[0];t&&r.get().selected!==t&&r.set(e=>({...e,selected:t}))},[_.frame,r]);let b=(0,v.useMemo)(()=>WT(p),[p]),x=xO(e.id,t?.id??``),S=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(S.current||!p.bounds.w)return;S.current=!0;let t=o_(e.id),n=bO?null:SO(x);t?(r.set(e=>({...e,selected:t})),requestAnimationFrame(()=>a.current?.fitItem(t,!1))):n&&n.z>=i.minZoom?i.set(n):requestAnimationFrame(()=>bO?a.current?.fitAll(!1):a.current?.openView())},[p,i,x,e.id,r]),(0,v.useEffect)(()=>{if(bO)return;let e,t=i.subscribe(t=>{clearTimeout(e),e=setTimeout(()=>sessionStorage.setItem(x,JSON.stringify(t)),250)});return()=>{t(),clearTimeout(e)}},[i,x]);let C=(0,v.useCallback)(e=>{let t=e?p.items.find(t=>t.item.id===e)?.item:void 0;r.set(e=>({...e,selected:t?t.id:null,active:t&&BT(t)?t.id:null,hovered:null}))},[p,r]),w=(0,v.useCallback)(e=>{C(e),a.current?.fitItem(e)},[C]),T=(0,v.useCallback)(r=>n(`/c/${encodeURIComponent(e.id)}/play/${encodeURIComponent(r)}${t?`?page=${encodeURIComponent(t.id)}`:``}`),[e.id,t,n]);(0,v.useEffect)(()=>{let t=t=>{let n=t.detail;n.canvas===e.id&&p.items.some(e=>e.item.id===n.item)&&(o_(e.id),w(n.item))};return window.addEventListener(`design:focus`,t),()=>window.removeEventListener(`design:focus`,t)},[e.id,p,w]);let E=(0,v.useMemo)(()=>({onGo(r,i){let[a,o]=i.includes(`/`)?i.split(`/`):[null,i],s=a?e.pages.filter(e=>e.id===a):[t,...e.pages.filter(e=>e!==t)];for(let r of s)if(r&&r.sections.some(e=>e.items.some(e=>e.id===o))){r===t?w(o):(n(AT(e,r)),window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:o}})));return}console.warn(`[design] go("${i}"): no such screen`)},onLink(t,n){KC(n,e,e=>this.onGo(t,e))},onWheel(e,t){let n=e.closest(`.canvas-root`);if(!n)return;let r=n.getBoundingClientRect(),a=e.getBoundingClientRect(),o=i.camera.z;if(t.zoom){let e=Math.abs(t.deltaY)<40?.012:.0025;i.zoomAt(a.left-r.left+t.x*o,a.top-r.top+t.y*o,Math.exp(-t.deltaY*e))}else i.panBy(-t.deltaX,-t.deltaY)},onEscape(){r.set(e=>({...e,active:null}))}}),[e,t,i,r,w,n]);return(0,v.useEffect)(()=>{if(!bO)return;let e=Date.now(),t=setInterval(()=>{let n=r.get().frames;(b.every(e=>n[e.item.id]?.ready||e.item.kind===`screen`&&e.item.missing)||Date.now()-e>6e4)&&(clearInterval(t),a.current?.fitAll(!1),requestAnimationFrame(()=>requestAnimationFrame(()=>window.__DESIGN_CANVAS_READY__=!0)))},250);return()=>clearInterval(t)},[b,r]),(0,v.useEffect)(()=>{let i=i=>{if(vO(i.target)||document.querySelector(`[role="dialog"]`))return;let o=a.current,s=r.get(),c=i.metaKey||i.ctrlKey;if(i.key===`Escape`)_.info?_.select(null):u?d(!1):s.active?r.set(e=>({...e,active:null})):s.selected&&r.set(e=>({...e,selected:null}));else if(i.key===`i`&&!c&&!i.altKey)d(e=>!e);else if(i.shiftKey&&i.code===`Digit1`)o?.fitAll();else if(i.shiftKey&&i.code===`Digit2`&&s.selected)o?.fitItem(s.selected);else if(i.shiftKey&&i.code===`Digit0`)o?.zoomTo(1);else if((i.key===`=`||i.key===`+`)&&!i.altKey)i.preventDefault(),o?.zoomBy(1.4);else if(i.key===`-`&&!i.altKey)i.preventDefault(),o?.zoomBy(1/1.4);else if(c&&i.key===`0`)i.preventDefault(),o?.zoomTo(1);else if(c&&i.key===`\\`)i.preventDefault(),l(e=>!e);else if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`].includes(i.key)&&b.length){i.preventDefault();let e=b.findIndex(e=>e.item.id===s.selected),t=i.key===`ArrowRight`||i.key===`ArrowDown`?1:-1,n=b[e===-1?0:(e+t+b.length)%b.length];r.set(e=>({...e,selected:n.item.id,active:null})),o?.fitItem(n.item.id)}else if(i.key===`Enter`&&s.selected){let e=p.items.find(e=>e.item.id===s.selected)?.item;e&&BT(e)&&T(e.id)}else if(i.key===`]`||i.key===`[`){let r=t?e.pages.indexOf(t):-1,a=e.pages[r+(i.key===`]`?1:-1)];a&&n(AT(e,a))}};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[r,b,p,T,e,t,n,u,_]),bO?(0,R.jsx)(`div`,{className:`flex h-dvh`,children:(0,R.jsx)(gO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!0,apiRef:a,onPlay:()=>{},onSelect:()=>{}})}):(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsx)(MT,{canvas:e,page:t,theme:o,onTheme:s,sidebar:c,onSidebar:l,inspect:u,onInspect:d,onPlay:()=>{let e=r.get().selected,t=e&&b.find(t=>t.item.id===e)||b[0];t&&T(t.item.id)},canPlay:b.length>0}),(0,R.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,R.jsx)(Sw,{open:c&&!!t,side:`left`,width:264,children:t?(0,R.jsx)(jT,{canvas:e,page:t,store:r,onPick:w}):null}),(0,R.jsxs)(`div`,{className:`relative min-w-0 grow`,children:[t&&p.items.length?(0,R.jsx)(gO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!1,apiRef:a,onPlay:T,onSelect:C}):(0,R.jsx)(`div`,{className:`canvas-dots flex h-full`,children:(0,R.jsx)(Ow,{title:t?`This page is empty`:`This canvas has no pages`,text:(0,R.jsxs)(R.Fragment,{children:[`Add sections and screens to`,` `,(0,R.jsxs)(`code`,{className:`font-mono text-[13px]`,children:[`.design/canvas/`,e.id,`/canvas.json`]}),`.`]})})}),(0,R.jsx)(NT,{canvas:e,store:r,layoutItems:p.items.map(e=>e.item),theme:o,onPlay:T,inspect:g}),(0,R.jsx)(DO,{camera:i,apiRef:a}),e.issues.length?(0,R.jsx)(OO,{canvas:e}):null]}),(0,R.jsx)(Sw,{open:u,side:`right`,width:320,children:(0,R.jsx)(iw,{info:_.info,active:!0,onSelect:e=>_.select(e),onClose:()=>{d(!1),_.select(null)}})})]})]})}function EO({camera:e}){let[t,n]=(0,v.useState)(e.camera.z);return(0,v.useEffect)(()=>{let t=0;return e.subscribe(e=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>n(e.z))})},[e]),(0,R.jsxs)(R.Fragment,{children:[Math.round(t*100),`%`]})}function DO({camera:e,apiRef:t}){return(0,R.jsxs)(`div`,{"data-ui":!0,className:`absolute right-4 bottom-5 z-20 flex h-[46px] items-center gap-0.5 rounded-[10px] border border-rule bg-surface px-1.5 shadow-pop`,children:[(0,R.jsx)(N_,{icon:`zoom-out`,label:`Zoom out (−)`,onClick:()=>t.current?.zoomBy(1/1.4)}),(0,R.jsxs)(VS,{side:`top`,align:`end`,width:210,trigger:(0,R.jsx)(`button`,{type:`button`,className:`h-ctrl min-w-[56px] cursor-pointer rounded-[6px] border-0 bg-transparent px-1.5 text-[12.5px] font-medium text-ink2 tabular hover:bg-soft2`,children:(0,R.jsx)(EO,{camera:e})}),children:[(0,R.jsx)(US,{onSelect:()=>t.current?.fitAll(),hint:`⇧1`,children:`Zoom to fit`}),(0,R.jsx)(US,{onSelect:()=>t.current?.zoomTo(1),hint:`⇧0`,children:`100%`}),(0,R.jsx)(WS,{}),[.25,.5,2].map(e=>(0,R.jsxs)(US,{onSelect:()=>t.current?.zoomTo(e),children:[e*100,`%`]},e))]}),(0,R.jsx)(N_,{icon:`zoom-in`,label:`Zoom in (+)`,onClick:()=>t.current?.zoomBy(1.4)}),(0,R.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-rule`}),(0,R.jsx)(N_,{icon:`fit`,label:`Zoom to fit (⇧1)`,onClick:()=>t.current?.fitAll()})]})}function OO({canvas:e}){let t=e.issues.filter(e=>e.severity===`error`).length;return(0,R.jsxs)(EC,{children:[(0,R.jsx)(DC,{asChild:!0,children:(0,R.jsxs)(`button`,{type:`button`,"data-ui":!0,className:`absolute bottom-5 left-4 z-20 flex h-[46px] cursor-pointer items-center gap-2 rounded-[10px] border border-rule bg-surface px-3.5 text-[13px] font-medium shadow-pop hover:bg-soft`,children:[(0,R.jsx)(Z,{name:`alert`,size:15,className:t?`text-danger-text`:`text-action`}),e.issues.length,` `,e.issues.length===1?`problem`:`problems`,` in canvas.json`]})}),(0,R.jsx)(OC,{children:(0,R.jsx)(kC,{side:`top`,align:`start`,sideOffset:8,collisionPadding:12,className:`z-50 max-h-[50vh] w-[460px] max-w-[calc(100vw-24px)] overflow-y-auto rounded-[10px] border border-rule bg-surface shadow-pop outline-none data-[state=open]:animate-[q-pop_120ms_ease-out]`,children:(0,R.jsx)(yw,{issues:e.issues})})})]})}function kO(e,t){let n=(0,v.useRef)([]);return(0,v.useMemo)(()=>{let r=new Set(t.items.filter(e=>e.item.kind===`screen`).map(e=>e.item.id)),i=Object.entries(e).filter(e=>!!e[1]&&r.has(e[0])).map(([,e])=>e);return i.length===n.current.length&&i.every((e,t)=>e===n.current[t])||(n.current=i),n.current},[e,t])}function AO({open:e,onOpenChange:t,title:n,children:r}){return(0,R.jsx)(mg,{open:e,onOpenChange:t,children:(0,R.jsx)($u,{children:e?(0,R.jsxs)(vg,{forceMount:!0,children:[(0,R.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},className:`fixed inset-0 z-50 bg-overlay`})}),(0,R.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,R.jsxs)(Wf.div,{initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.18,ease:`easeIn`}},transition:{type:`spring`,stiffness:420,damping:40},className:`fixed inset-x-0 bottom-0 z-50 flex max-h-[82dvh] flex-col rounded-t-[14px] border-t border-rule bg-surface pb-[env(safe-area-inset-bottom)] shadow-pop outline-none`,children:[(0,R.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,R.jsx)(`span`,{"aria-hidden":!0,className:`h-1 w-9 rounded-full bg-rule-strong`})}),(0,R.jsxs)(`div`,{className:`flex min-h-[48px] items-center justify-between gap-3 pr-2 pl-4`,children:[(0,R.jsx)(kg,{className:`m-0 truncate text-[15px] font-semibold`,children:n}),(0,R.jsx)(jg,{asChild:!0,children:(0,R.jsx)(N_,{icon:`x`,label:`Close`})})]}),(0,R.jsx)(`div`,{className:`min-h-0 overflow-y-auto overscroll-contain border-t border-rule`,children:r})]})})]}):null})})}function jO(e,t){return(t?e.pages.filter(e=>e.id===t):e.pages).flatMap(t=>t.sections.flatMap(n=>n.items.filter(e=>e.kind===`screen`||e.kind===`url`).map(r=>({item:r,pageId:t.id,where:[e.pages.length>1?t.title:null,n.title].filter(Boolean).join(` · `)}))))}var MO=(e,t,n)=>`/c/${encodeURIComponent(e)}/play/${encodeURIComponent(t)}?page=${encodeURIComponent(n)}`;function NO({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e);return r?(0,R.jsx)(kw,{title:`Canvas not found`,text:r.message}):i||!n?null:(0,R.jsx)(PO,{canvas:n,itemId:t})}function PO({canvas:e,itemId:t}){let[,n]=F(),{frameSandbox:r,slots:i}=Xg(),a=new URLSearchParams(window.location.search).get(`page`)??(window.location.hash.split(`?`)[1]?new URLSearchParams(window.location.hash.split(`?`)[1]).get(`page`):null),o=(0,v.useMemo)(()=>jO(e,null),[e]),s=o.find(e=>e.item.id===t),c=a??s?.pageId??null,l=(0,v.useMemo)(()=>c?jO(e,c):o,[e,c,o]),u=l.findIndex(e=>e.item.id===t),d=__(),[f,p]=(0,v.useState)(e.theme??d),[m,h]=(0,v.useState)(`fit`),g=(0,v.useRef)(null),_=(0,v.useRef)(null),[y,b]=(0,v.useState)(null),x=(0,v.useCallback)(e=>{_.current=e,b(e)},[]),[S,C]=(0,v.useState)(!1),[w,T]=(0,v.useState)({w:0,h:0}),[E,D]=(0,v.useState)([]),O=c?`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(c)}`:`/c/${encodeURIComponent(e.id)}`,k=t=>{if(!l.length)return;let r=l[(u+t+l.length)%l.length];n(MO(e.id,r.item.id,r.pageId),{replace:!0})};(0,v.useLayoutEffect)(()=>{let e=g.current;if(!e)return;let t=new ResizeObserver(()=>T({w:e.clientWidth,h:e.clientHeight}));return t.observe(e),()=>t.disconnect()},[]),(0,v.useEffect)(()=>{let e=e=>{vO(e.target)||document.querySelector(`[role="dialog"]`)||(e.key===`ArrowRight`?k(1):e.key===`ArrowLeft`?k(-1):e.key===`i`&&!e.metaKey&&!e.ctrlKey&&!e.altKey?C(e=>!e):e.key===`Escape`&&(P.info?P.select(null):S?C(!1):n(O)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)});let A=l[u],j=A?.item,ee=j?.kind===`screen`?j.theme??f:f,te=DT(e.id,j,ee),[M]=(0,v.useState)(ee),N=j?j.kind===`screen`?WC(j.url,M):j.url:``,ne=(0,v.useMemo)(()=>y&&j?.kind===`screen`?[y]:[],[y,j?.kind]),re=JC(ne),P=qC(ne,S||re,{onEscape:()=>C(!1)}),ie=!!P.info;if((0,v.useEffect)(()=>{ie&&C(!0)},[ie]),(0,v.useEffect)(()=>{let t=_.current;if(t&&j?.kind===`screen`)return D([]),RC(t,t=>{if(t.type===`error`)D(e=>e.includes(t.message)?e:[...e,t.message]);else if(t.type===`updated`)D([]);else if(t.type===`keydown`&&t.code===`Escape`)n(O);else if(t.type===`go`){let[r,i]=t.target.includes(`/`)?t.target.split(`/`):[null,t.target],a=o.find(e=>e.item.id===i&&(!r||e.pageId===r));a&&n(MO(e.id,a.item.id,a.pageId))}else t.type===`link`&&KC(t,e,t=>{let r=o.find(e=>e.item.id===t);r&&n(MO(e.id,r.item.id,r.pageId))})})},[j,N,o,e.id,n,O]),(0,v.useEffect)(()=>{j?.kind===`screen`&&VC(_.current,ee)},[ee,j]),!j)return(0,R.jsx)(kw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`});let ae=j.frame.width,oe=j.frame.height===`auto`?Math.max(w.h-48,400):j.frame.height,se=m===`fit`?Math.min(1,(w.w-48)/ae,(w.h-48)/oe):1,ce=ae<=w.w-48&&oe<=w.h-48;return(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsxs)(XS,{children:[i.barStart,(0,R.jsx)(TT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Back to canvas `,(0,R.jsx)(y_,{children:`esc`})]}),children:(0,R.jsx)(ye,{href:O,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,"aria-label":`Back to canvas`,children:(0,R.jsx)(Z,{name:`arrow-left`,size:16})})}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[(0,R.jsx)(`span`,{className:`truncate text-[14px] font-semibold`,children:j.title}),(0,R.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:[e.title,A.where].filter(Boolean).join(` · `)})]}),(0,R.jsxs)(`div`,{className:`mx-auto flex items-center gap-1`,children:[(0,R.jsx)(N_,{icon:`chevron-left`,label:`Previous screen (←)`,onClick:()=>k(-1),disabled:l.length<2}),(0,R.jsxs)(`span`,{className:`min-w-[52px] text-center text-[12.5px] text-muted tabular`,children:[u+1,` / `,l.length]}),(0,R.jsx)(N_,{icon:`chevron-right`,label:`Next screen (→)`,onClick:()=>k(1),disabled:l.length<2})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ce?null:(0,R.jsx)(Fw,{label:`Scale`,value:m,onChange:h,items:[{value:`fit`,label:`Fit`},{value:`actual`,label:`100%`}]}),j.kind===`screen`&&!j.theme?(0,R.jsx)(Fw,{label:`Screen theme`,value:f,onChange:p,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:15}),title:`Light`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:15}),title:`Dark`}]}):null,j.kind===`screen`?(0,R.jsx)(PT,{on:S,onChange:C}):null,(0,R.jsx)(N_,{icon:`refresh`,label:`Reload`,onClick:()=>HC(_.current)}),te?(0,R.jsx)(`a`,{href:te,target:`_blank`,rel:`noreferrer`,title:`Open in a new tab`,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,children:(0,R.jsx)(Z,{name:`external`,size:16})}):null,(0,R.jsx)(qS,{}),i.barEnd]})]}),i.belowBar,(0,R.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,R.jsxs)(`div`,{ref:g,className:`canvas-dots relative min-w-0 grow ${m===`actual`?`overflow-auto`:`overflow-hidden`}`,children:[E.length?(0,R.jsxs)(`div`,{className:`absolute inset-x-0 top-0 z-10 flex items-start gap-2 border-b border-rule bg-danger-soft px-4 py-2 font-mono text-[12px] whitespace-pre-wrap text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),E.join(`
|
|
128
|
-
`)]}):null,(0,R.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?ae+48:void 0},children:(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden bg-surface`,style:{width:ae*se,height:oe*se,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,R.jsx)(`iframe`,{ref:x,src:N,title:j.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:r,className:`block border-0`,style:{width:ae,height:oe,transform:`scale(${se})`,transformOrigin:`0 0`,colorScheme:ee},onLoad:()=>j.kind===`screen`&&
|
|
129
|
-
`)})]}):null,(0,R.jsx)($u,{initial:!1,mode:`popLayout`,custom:C,children:(0,R.jsx)(Wf.div,{custom:C,initial:{opacity:0,x:C*40},animate:{opacity:1,x:0},exit:{opacity:0,x:C*-40,transition:{duration:.12}},transition:{type:`spring`,stiffness:420,damping:38},className:X(`flex`,le&&T?`w-max`:`justify-center`),style:{padding:FO},children:ue?(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[6px] bg-surface`,style:{width:se*ue,height:de*ue,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,R.jsx)(`iframe`,{ref:j,src:re,title:d.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:i,className:`block border-0`,style:{width:se,height:de,transform:`scale(${ue})`,transformOrigin:`0 0`,colorScheme:N},onLoad:()=>d.kind===`screen`&&VC(O.current,N)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`)}):null},d.id)})]}),(0,R.jsxs)(`nav`,{"aria-label":`Screens`,className:`flex shrink-0 items-center gap-1 border-t border-rule bg-surface px-2 pt-1.5 pb-[max(6px,env(safe-area-inset-bottom))]`,children:[(0,R.jsx)(N_,{icon:`chevron-left`,label:`Previous screen`,onClick:()=>te(-1),disabled:c.length<2}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>h(!0),className:`flex h-10 min-w-0 grow cursor-pointer items-center justify-center gap-2 rounded-[8px] border-0 bg-transparent px-3 text-[13.5px] text-ink active:bg-soft2`,children:[(0,R.jsx)(Z,{name:`list`,size:15,className:`shrink-0 text-muted`}),(0,R.jsxs)(`span`,{className:`tabular shrink-0 text-muted`,children:[l+1,` / `,c.length]}),(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:d.title||d.id})]}),(0,R.jsx)(N_,{icon:`chevron-right`,label:`Next screen`,onClick:()=>te(1),disabled:c.length<2})]}),(0,R.jsx)(AO,{open:m,onOpenChange:h,title:e.title,children:(0,R.jsx)(VO,{canvas:e,current:d.id,onPick:e=>{h(!1),M(e)}})})]})}function RO({value:e,current:t,onPick:n}){return(0,R.jsxs)(US,{active:t===e,onSelect:()=>n(e),children:[(0,R.jsx)(Z,{name:e===`dark`?`moon`:`sun`,size:15,className:`text-ink2`}),e===`dark`?`Dark`:`Light`,t===e?(0,R.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]})}function zO({canvas:e,title:t,sub:n,back:r,end:i}){let{slots:a}=Xg();return(0,R.jsxs)(`header`,{className:`flex h-[52px] shrink-0 items-center gap-2 border-b border-rule bg-surface pr-2 pl-2 pt-[env(safe-area-inset-top)]`,children:[a.barStart,r?(0,R.jsx)(ye,{href:r,"aria-label":`All canvases, leaving ${e.title}`,className:`inline-flex size-10 shrink-0 items-center justify-center rounded-[8px] text-ink2 active:bg-soft2`,children:(0,R.jsx)(Z,{name:`arrow-left`,size:18})}):(0,R.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center`,children:(0,R.jsx)(JS,{})}),(0,R.jsxs)(`div`,{className:`flex min-w-0 grow flex-col leading-tight`,children:[(0,R.jsx)(`span`,{className:`truncate text-[14.5px] font-semibold`,children:t}),n?(0,R.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:n}):null]}),(0,R.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:i})]})}var BO=e=>e.item.kind===`url`?`globe`:e.item.frame.device===`phone`?`smartphone`:e.item.frame.device===`tablet`?`tablet`:`monitor`;function VO({canvas:e,current:t,onPick:n}){let r=(0,v.useRef)(null);(0,v.useEffect)(()=>{r.current?.scrollIntoView({block:`center`})},[]);let i=e.pages.length>1;return(0,R.jsx)(`div`,{className:`flex flex-col pb-2`,children:e.pages.map(a=>{let o=jO(e,a.id);return o.length?(0,R.jsxs)(`section`,{className:`flex flex-col`,children:[i?(0,R.jsx)(`h3`,{className:`sticky top-0 z-[1] m-0 border-b border-rule bg-soft px-4 py-2 text-[12px] font-semibold text-ink2`,children:a.title}):null,a.sections.map(e=>{let i=o.filter(t=>e.items.includes(t.item));return i.length?(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.title}):null,i.map(e=>{let i=e.item.id===t;return(0,R.jsxs)(`button`,{ref:i?r:void 0,type:`button`,"aria-current":i?`true`:void 0,onClick:()=>n(e.item.id),className:X(`flex min-h-[48px] cursor-pointer items-center gap-3 border-0 bg-transparent px-4 text-left text-[14px] active:bg-soft2`,i?`font-medium text-ink`:`text-ink2`),children:[(0,R.jsx)(`span`,{className:X(`flex size-8 shrink-0 items-center justify-center rounded-[8px]`,i?`bg-action-soft text-action`:`bg-soft2 text-muted`),children:(0,R.jsx)(Z,{name:BO(e),size:15})}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.item.title||e.item.id}),i?(0,R.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.item.id)})]},e.id):null})]},a.id):null})})}var HO=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],UO=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function WO(e){if(!e)return``;let t=(e-Date.now())/1e3;for(let[e,n]of HO)if(Math.abs(t)>=n)return UO.format(Math.round(t/n),e);return`just now`}function GO(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KB`:`${(e/1024/1024).toFixed(1)} MB`}function KO(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function qO({className:e,style:t}){return(0,R.jsx)(`span`,{"aria-hidden":`true`,className:X(`block animate-pulse rounded-[6px] bg-soft2`,e),style:t})}function JO({rows:e=3,lead:t=28,minH:n=56}){return(0,R.jsx)(`div`,{role:`status`,"aria-label":`Loading`,children:Array.from({length:e},(e,r)=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-rule px-4`,style:{minHeight:n,opacity:1-r*.18},children:[t?(0,R.jsx)(qO,{style:{width:t,height:Math.min(t,n-20)}}):null,(0,R.jsxs)(`span`,{className:`flex min-w-0 grow flex-col gap-1.5`,children:[(0,R.jsx)(qO,{className:`h-3 w-[38%]`}),(0,R.jsx)(qO,{className:`h-2.5 w-[62%]`})]}),(0,R.jsx)(qO,{className:`h-3 w-14`})]},r))})}function YO({canvas:e}){return(0,R.jsx)(`div`,{className:`flex h-[54px] w-[86px] shrink-0 items-center justify-center overflow-hidden rounded-[6px] border border-rule bg-soft`,children:e.cover?(0,R.jsx)(`img`,{src:e.cover,alt:``,className:`h-full w-full object-cover object-top`}):(0,R.jsx)(Z,{name:`canvas`,size:18,className:`text-muted`})})}function XO({actions:e,children:t}){return e?(0,R.jsxs)(`div`,{className:`grid items-center border-t border-rule transition-colors hover:bg-soft`,style:{gridTemplateColumns:`minmax(0,1fr) auto`},children:[t,(0,R.jsx)(`div`,{className:`flex items-center gap-2 pr-4`,children:e})]}):t}function ZO({children:e}){return e?(0,R.jsx)(`div`,{className:`flex items-center gap-2.5 border-t border-rule bg-soft px-4 py-3 text-[12.5px] text-muted`,children:e}):null}function QO({project:e}){let{canvasRowActions:t,canvasesFoot:n}=Xg().slots,r=rC();return e.canvases.length?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Canvases`,count:e.canvases.length}),e.canvases.map(e=>{let n=t?.(e.id);return(0,R.jsx)(XO,{actions:n,children:r?(0,R.jsxs)(gw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr)`,align:`ll`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,R.jsx)(YO,{canvas:e}),(0,R.jsx)(b_,{top:e.title,bottom:(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[e.issues?(0,R.jsx)(ow,{tone:`danger`,children:KO(e.issues,`problem`)}):null,(0,R.jsxs)(`span`,{className:`truncate`,children:[KO(e.screens,`screen`),` · `,WO(e.updatedAt)]})]})})]}):(0,R.jsxs)(gw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr) auto auto`,align:`llrr`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,R.jsx)(YO,{canvas:e}),(0,R.jsx)(b_,{top:e.title,bottom:(0,R.jsx)(`span`,{className:`truncate`,children:e.description??e.id})}),(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[12.5px] whitespace-nowrap text-muted`,children:[e.issues?(0,R.jsx)(ow,{tone:`danger`,children:KO(e.issues,`problem`)}):null,KO(e.screens,`screen`),` · `,KO(e.pages,`page`)]}),(0,R.jsx)(`span`,{className:`w-[92px] text-[12.5px] whitespace-nowrap text-muted`,children:WO(e.updatedAt)})]})},e.id)}),(0,R.jsx)(ZO,{children:n})]}):(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Canvases`,count:0}),(0,R.jsx)(vw,{children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 py-6 text-center`,children:[(0,R.jsx)(`span`,{className:`text-[14px] text-ink2`,children:`No canvases yet.`}),(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`Ask your agent to design something, or run `,(0,R.jsx)(Q,{children:`design new <name>`}),` in the project.`]})]})}),(0,R.jsx)(ZO,{children:n})]})}function $O({project:e}){let t=e.system;return t?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Design system`,right:(0,R.jsx)(P_,{to:`/system`,children:`Open`})}),(0,R.jsxs)(vw,{gap:6,children:[(0,R.jsx)(`span`,{className:`text-[15px] font-semibold`,children:t.name}),t.description?(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:t.description}):null]}),(0,R.jsx)(_w,{label:`Tokens`,labelWidth:120,end:!0,children:(0,R.jsx)(sw,{value:t.tokens})}),(0,R.jsx)(_w,{label:`Components`,labelWidth:120,end:!0,children:(0,R.jsx)(sw,{value:t.components})}),(0,R.jsx)(_w,{label:`Guidelines`,labelWidth:120,end:!0,children:(0,R.jsx)(sw,{value:t.guidelines})}),t.issues?(0,R.jsx)(_w,{label:`Problems`,labelWidth:120,end:!0,children:(0,R.jsx)(ow,{tone:`danger`,children:t.issues})}):null]}):(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Design system`}),(0,R.jsx)(vw,{children:(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`No design system yet. Ask your agent to build one from the codebase, or run `,(0,R.jsx)(Q,{children:`design system init`}),`.`]})})]})}function ek(){return(0,R.jsxs)(Cw,{children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2.5 pt-1 pb-1`,children:[(0,R.jsx)(qO,{className:`h-6 w-[220px]`}),(0,R.jsx)(qO,{className:`h-3.5 w-[300px]`})]}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Canvases`}),(0,R.jsx)(JO,{rows:3,lead:86,minH:74})]}),(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Design system`}),(0,R.jsx)(JO,{rows:3,lead:0,minH:40})]})]})]})}function tk(){let{data:e,error:t,isLoading:n}=$g(),{slots:r}=Xg(),i=rC();return t?(0,R.jsx)(Ow,{title:`Could not load the project`,text:t.message}):n||!e?(0,R.jsx)(ek,{}):(0,R.jsxs)(Cw,{children:[(0,R.jsx)(ww,{title:e.name,right:i?void 0:r.homeActions,badge:i&&r.homeActions?(0,R.jsx)(`span`,{className:`ml-auto flex`,children:r.homeActions}):void 0,sub:r.homeSub?r.homeSub:e.static?`Snapshot built with foss-design ${e.version}`:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(Q,{size:12.5,wrap:!0,children:[e.root,`/.design`]}),` `,`· foss-design `,e.version]})}),(0,R.jsx)(bw,{issues:e.issues,title:`Problems in design.json`}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,R.jsx)(QO,{project:e}),(0,R.jsx)($O,{project:e})]}),r.homeAfter]})}function nk(e){let t=e.utility;if(t===void 0)return[];let n=t?`-${t}`:``;switch(e.kind){case`color`:return[`bg${n}`,`text${n}`,`border${n}`];case`font`:return[`font${n}`];case`text`:return[`text${n}`];case`weight`:return[`font${n}`];case`leading`:return[`leading${n}`];case`tracking`:return[`tracking${n}`];case`spacing`:return t?[`p${n}`,`gap${n}`]:[`p-1`,`gap-4`,`m-2`];case`radius`:return[`rounded${n}`];case`shadow`:return e.name.startsWith(`--inset-shadow-`)?[`inset-shadow${n}`]:e.name.startsWith(`--drop-shadow-`)?[`drop-shadow${n}`]:e.name.startsWith(`--text-shadow-`)?[`text-shadow${n}`]:[`shadow${n}`];case`blur`:return[`blur${n}`,`backdrop-blur${n}`];case`ease`:return[`ease${n}`];case`animation`:return[`animate${n}`];case`breakpoint`:return e.name.startsWith(`--container-`)?[`@${t}:`,`max-w${n}`]:[`${t}:`];default:return[]}}function rk(e,...t){return e.filter(e=>t.includes(e.kind))}function ik(e){let t=new Map;for(let n of e){let e=t.get(n.group)??[];e.push(n),t.set(n.group,e)}return[...t].map(([e,t])=>({group:e,tokens:t}))}function ak(e){let t=/^(-?[\d.]+)(px|rem|em)?$/.exec(e.trim());if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?t[2]===`rem`||t[2]===`em`?n*16:n:null}function ok(e,t){return(t===`dark`?e.dark?.value:void 0)??e.light?.value}function sk(){let e=__(),[t,n]=(0,v.useState)(null);return[t??e,n]}function ck({value:e,onChange:t}){return(0,R.jsx)(Fw,{label:`Theme`,size:`sm`,value:e,onChange:t,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:14}),title:`Light`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:14}),title:`Dark`}]})}function lk({items:e}){return e.length?(0,R.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 gap-y-0.5`,children:e.map(e=>(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e},e))}):null}function uk({title:e,children:t}){return(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:e}),(0,R.jsx)(vw,{children:(0,R.jsx)(`div`,{className:`py-4 text-[13px] text-muted`,children:t})})]})}var dk=`.design/system/tokens.css`;function fk({children:e,className:t}){return(0,R.jsx)(`span`,{className:`font-mono text-[12px] text-muted [overflow-wrap:anywhere] ${t??``}`,children:e})}function pk({asset:e,index:t}){if(e.kind===`image`)return(0,R.jsx)(`span`,{className:`checker flex h-[132px] items-center justify-center overflow-hidden border-b border-rule`,children:(0,R.jsx)(`img`,{src:e.url,alt:``,className:`max-h-[96px] max-w-[80%] object-contain`})});if(e.kind===`font`){let n=`design-asset-font-${t}`;return(0,R.jsxs)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft`,children:[(0,R.jsx)(`style`,{children:`@font-face{font-family:"${n}";src:url("${e.url.replace(/"/g,`%22`)}")}`}),(0,R.jsx)(`span`,{className:`text-[52px] leading-none text-ink`,style:{fontFamily:`"${n}", var(--font-sans)`},children:`Aa`})]})}return(0,R.jsx)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft text-muted`,children:(0,R.jsx)(Z,{name:`file`,size:28})})}function mk({system:e}){return e.assets.length?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Assets`,sub:`Click an asset to copy its import path.`}),(0,R.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(210px, 1fr))`},children:e.assets.map((e,t)=>(0,R.jsx)(`button`,{type:`button`,title:`Copy the import path`,onClick:()=>IC(`@system/${e.path}`),className:`block cursor-pointer border-0 bg-transparent p-0 text-left`,children:(0,R.jsxs)(cw,{className:`transition-colors hover:border-rule-strong`,children:[(0,R.jsx)(pk,{asset:e,index:t}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-3.5 py-2.5`,children:[(0,R.jsx)(`span`,{className:`truncate text-[13.5px] font-medium text-ink`,children:e.name}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[12.5px] text-muted`,children:[(0,R.jsx)(`span`,{className:`shrink-0`,children:GO(e.size)}),(0,R.jsx)(Q,{size:12,className:`truncate`,children:e.path})]})]})]})},e.path))})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Assets`}),(0,R.jsxs)(uk,{title:`No assets`,children:[`Put logos, icons, images and font files in `,(0,R.jsx)(Q,{children:`.design/system/assets`}),`; screens import them as`,` `,(0,R.jsx)(Q,{children:`@system/assets/…`}),`.`]})]})}function hk({color:e,label:t,className:n}){return e?(0,R.jsx)(`span`,{title:`${t}: ${e}`,className:X(`checker relative h-[30px] w-[44px] shrink-0 overflow-hidden rounded-[6px]`,n),children:(0,R.jsx)(`span`,{className:`absolute inset-0 rounded-[6px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.12)]`,style:{background:e}})}):(0,R.jsx)(`span`,{className:X(`h-[30px] w-[44px] shrink-0`,n)})}function gk({tokens:e}){let t=e.some(e=>e.dark),n=t=>(0,R.jsxs)(`div`,{className:`relative flex h-9 min-w-0 grow overflow-hidden rounded-[6px]`,children:[(0,R.jsx)(`span`,{className:`pointer-events-none absolute inset-0 z-10 rounded-[6px] shadow-[inset_0_0_0_1px_var(--rule-strong)] opacity-60`}),e.map(e=>{let n=t===`dark`?e.dark?.value??e.light?.value:e.light?.value;return(0,R.jsx)(`button`,{type:`button`,title:`${e.name}: ${n}`,onClick:()=>IC(`var(${e.name})`),className:`h-full min-w-0 flex-1 cursor-pointer border-0 p-0 transition-[flex-grow] duration-150 hover:grow-[1.6]`,style:{background:n}},e.name)})]});return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-rule px-4 py-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[t?(0,R.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Light`}):null,n(`light`)]}),t?(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Dark`}),n(`dark`)]}):null]})}function _k({token:e}){return(0,R.jsxs)(hw,{cols:`100px minmax(170px, 0.9fr) minmax(0, 1.4fr)`,minH:56,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(hk,{color:e.light?.value,label:`Light`}),e.dark?(0,R.jsx)(hk,{color:e.dark.value,label:`Dark`}):null]}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(lk,{items:nk(e).slice(0,2)})]}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-wrap gap-x-3`,children:[(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),e.dark?(0,R.jsxs)(Q,{size:12,className:`text-muted`,children:[`dark `,e.dark.value]}):null]}),e.description?(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description}):null]})]})}function vk({system:e}){let t=rk(e.tokens,`color`),n=ik(t);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Colors`,sub:t.length?`${t.length} tokens · click a color to copy its variable`:void 0}),n.length?n.map(({group:e,tokens:t})=>(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:e,count:t.length}),(0,R.jsx)(gk,{tokens:t}),t.map(e=>(0,R.jsx)(_k,{token:e},e.name))]},e)):(0,R.jsxs)(uk,{title:`No color tokens`,children:[`Add them to `,(0,R.jsx)(Q,{children:dk}),`: light values in `,(0,R.jsx)(Q,{children:`:root`}),`, dark ones in`,` `,(0,R.jsx)(Q,{children:`:root[data-theme="dark"]`}),`, and map them to Tailwind with `,(0,R.jsx)(Q,{children:`--color-*`}),` in`,` `,(0,R.jsx)(Q,{children:`@theme inline`}),`.`]})]})}function yk({src:e,theme:t,title:n,minHeight:r=120,width:i,className:a}){let o=(0,v.useRef)(null),{frameSandbox:s}=Xg(),[c]=(0,v.useState)(()=>({src:e,theme:t})),l=WC(e,c.src===e?c.theme:t),[u,d]=(0,v.useState)(r),[f,p]=(0,v.useState)(!1),[m,h]=(0,v.useState)([]);return(0,v.useEffect)(()=>{let e=o.current;if(e)return p(!1),h([]),RC(e,e=>{e.type===`size`?d(Math.max(r,e.height)):e.type===`ready`?p(!0):e.type===`error`?h(t=>t.includes(e.message)?t:[...t,e.message]):e.type===`updated`&&h([])})},[r,l]),(0,v.useEffect)(()=>{VC(o.current,t)},[t]),(0,R.jsxs)(`div`,{className:X(`relative`,a),style:{width:i},children:[m.length?(0,R.jsxs)(`div`,{className:`flex items-start gap-2 border-b border-rule bg-danger-soft px-4 py-2.5 text-[12.5px] text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:15,className:`mt-px`}),(0,R.jsx)(`div`,{className:`min-w-0 font-mono break-words`,children:m.join(`
|
|
130
|
-
`)})]}):null,(0,R.jsx)(`iframe`,{ref:o,src:l,title:n,sandbox:s,className:X(`block w-full border-0 transition-opacity duration-150`,f?`opacity-100`:`opacity-0`),style:{height:u,colorScheme:t},onLoad:()=>
|
|
123
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${TD(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:n,tokens:r,autolink:i}){let a=i?TD(n,!0):this.parser.parseInline(r),o=DD(e);if(o===null)return a;e=TD(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+TD(t)+`"`),s+=`>`+a+`</a>`,s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=DD(e);if(i===null)return TD(n);e=i;let a=`<img src="${TD(e)}" alt="${TD(n)}"`;return t&&(a+=` title="${TD(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:TD(e.text)}},BD=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},VD=class e{options;renderer;textRenderer;constructor(e){this.options=e||nE,this.options.renderer=this.options.renderer||new zD,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new BD}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},HD=class{options;block;constructor(e){this.options=e||nE}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?RD.lex:RD.lexInline}provideParser(e=this.block){return e?VD.parse:VD.parseInline}},UD=class{defaults=tE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=VD;Renderer=zD;TextRenderer=BD;Lexer=RD;Tokenizer=LD;Hooks=HD;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new zD(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new LD(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new HD;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=HD.passThroughHooks.has(n)?e=>{if(this.defaults.async&&HD.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return RD.lex(e,t??this.defaults)}parser(e,t){return VD.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?RD.lex:RD.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?VD.parse:VD.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?RD.lex:RD.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?VD.parse:VD.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
124
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+TD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},WD=new UD;function GD(e,t){return WD.parse(e,t)}GD.options=GD.setOptions=function(e){return WD.setOptions(e),GD.defaults=WD.defaults,rE(GD.defaults),GD},GD.getDefaults=tE,GD.defaults=nE;function KD(...e){return WD.use(...e),GD.defaults=WD.defaults,rE(GD.defaults),GD}GD.use=KD,GD.walkTokens=function(e,t){return WD.walkTokens(e,t)},GD.parseInline=WD.parseInline,GD.Parser=VD,GD.parser=VD.parse,GD.Renderer=zD,GD.TextRenderer=BD,GD.Lexer=RD,GD.lexer=RD.lex,GD.Tokenizer=LD,GD.Hooks=HD,GD.parse=GD,GD.options,GD.setOptions,GD.walkTokens,GD.parseInline,VD.parse,RD.lex;var qD=new Set([`http:`,`https:`,`mailto:`]);function JD(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||qD.has(`${n.toLowerCase()}:`)}function YD(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var XD=new UD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>YD(e),link(e){return!JD(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!JD(e.href)&&YD(e.text)}}});function ZD(e){return XD.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function QD({text:e,className:t}){let n=(0,v.useMemo)(()=>ZD(e),[e]);return(0,R.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function $D(e,t,n=!0){let r=(0,v.useRef)(null);return(0,v.useLayoutEffect)(()=>{let i=r.current;if(!i||!n)return;let a=new ResizeObserver(()=>QT(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function eO(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var tO=(0,v.memo)(function({placed:e,mode:t,thumb:n,theme:r,store:i,events:a,capture:o}){let{item:s,x:c,y:l,w:u,h:d}=e,f=(0,v.useRef)(null),{frameSandbox:p}=Xg(),m=(0,v.useCallback)(e=>{f.current=e,eE(i,s.id,e)},[i,s.id]),h=c_(i,e=>e.frames[s.id]),g=c_(i,e=>e.active===s.id),_=c_(i,e=>e.inspecting&&s.kind===`screen`),y=s.frame.height===`auto`,b=s.kind===`screen`?s.theme??r:r,x=s.kind===`screen`?s.rev:s.url,[S]=(0,v.useState)(b),C=s.kind===`screen`?XC(s.url,S,o?{capture:`1`}:void 0):s.url,w=!!h?.ready,T=t===`off`,E=!T&&!(s.kind===`screen`&&s.missing);(0,v.useEffect)(()=>{T&&$T(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return WC(e,t=>{switch(t.type){case`ready`:$T(i,s.id,{ready:!0}),KC(e);break;case`size`:y&&QT(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||$T(i,s.id,{errors:[...e,t.message]});break}case`updated`:$T(i,s.id,{errors:[]});break;case`go`:a.onGo(s.id,t.target);break;case`link`:a.onLink(s.id,t);break;case`wheel`:a.onWheel(e,t);break;case`keydown`:t.code===`Escape`&&a.onEscape()}})},[T,s.id,s.kind,y,i,a,C,x]),(0,v.useEffect)(()=>{s.kind===`screen`&&qC(f.current,b)},[b,s.kind]);let D=b===`dark`?`light`:`dark`,O=e=>e?.[b]??e?.[D],k=s.kind===`screen`?O(s.snapshots):void 0,A=n&&s.kind===`screen`?O(s.thumbs)??k:k,j=t===`asleep`&&w&&!!A;return(0,R.jsxs)(`div`,{"data-item":s.id,className:`absolute overflow-hidden bg-surface`,style:{left:c,top:l,width:u,height:d,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:[(!w||j)&&A?(0,R.jsx)(`img`,{src:A,alt:``,draggable:!1,loading:`lazy`,decoding:`async`,className:`absolute inset-0 h-full w-full object-cover object-top select-none`}):null,!w&&!A?(0,R.jsx)(nO,{item:s,loading:E}):null,E?(0,R.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,R.jsx)(`iframe`,{ref:m,src:C,title:s.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:p,className:X(`absolute top-0 left-0 block border-0 transition-opacity duration-200`,w?`opacity-100`:`opacity-0`),style:{width:u,height:d,colorScheme:b},onLoad:()=>{s.kind===`url`?$T(i,s.id,{ready:!0}):(qC(f.current,b),KC(f.current))}},x)}):null,g||_?null:(0,R.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function nO({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,R.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,R.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:eO(e.frame.width),size:Math.max(24,Math.min(96,e.frame.width/12)),strokeWidth:1.25,className:n?`text-danger-text`:void 0}),(0,R.jsx)(`div`,{className:`max-w-[80%] truncate text-center`,style:{fontSize:Math.max(14,e.frame.width/40)},children:n?`Missing file: ${e.kind===`screen`?e.src:``}`:t?`Loading…`:e.title})]})}var rO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=$D(t,n.id),s=n.tone===`plain`;return(0,R.jsxs)(`div`,{ref:o,"data-item":n.id,className:X(`absolute`,s?``:`rounded-[10px] border border-note-line bg-note px-6 py-5 shadow-frame`),style:{left:r,top:i,width:a},children:[n.title?(0,R.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,R.jsx)(QD,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),iO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,R.jsx)(`div`,{"data-item":n.id,className:`absolute overflow-hidden rounded-[6px] bg-surface`,style:{left:r,top:i,width:a,height:o,boxShadow:`0 0 0 1px var(--rule)`},children:n.missing?(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,R.jsx)(`img`,{src:n.url,alt:n.title,draggable:!1,className:`block h-full w-full object-contain select-none`,onLoad:e=>{let r=e.currentTarget;QT(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),aO=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=$D(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,R.jsxs)(`div`,{ref:a,className:`canvas-section absolute`,style:{left:t,top:n,width:Math.min(Math.max(r,720),1400)},children:[e.title?(0,R.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,R.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,R.jsx)(QD,{text:e.description,className:`prose-plain`})}):null]})}),oO={phone:{width:390,height:844,label:`Phone`},"phone-sm":{width:375,height:667,label:`Phone S`},"phone-lg":{width:430,height:932,label:`Phone L`},tablet:{width:834,height:1194,label:`Tablet`},"tablet-landscape":{width:1194,height:834,label:`Tablet landscape`},laptop:{width:1280,height:800,label:`Laptop`},desktop:{width:1440,height:900,label:`Desktop`},wide:{width:1920,height:1080,label:`Wide`}};Object.keys(oO);var sO=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function cO(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?oO[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var lO=(0,v.memo)(function({placed:e,store:t}){let n=e.item.id,r=c_(t,e=>e.selected===n),i=c_(t,e=>e.frames[n]?.errors.length??0);return(0,R.jsxs)(`div`,{"data-at":``,"data-label":n,style:sO(e),className:X(`frame-label pointer-events-auto flex cursor-default items-center gap-1.5 overflow-hidden pb-1.5 text-[12.5px] leading-none whitespace-nowrap select-none`,r?`text-ink`:`text-muted hover:text-ink2`),children:[i?(0,R.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,R.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,R.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:cO(e)})]})});function uO({placed:e,kind:t}){return(0,R.jsx)(`div`,{"data-at":``,style:sO(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function dO({layout:e,view:t,store:n,overlayRef:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.active),o=c_(n,e=>e.hovered),s=c_(n,e=>e.zoomTiny),c=(0,v.useMemo)(()=>e.items.filter(e=>KT(e.item)),[e]),l=(0,v.useMemo)(()=>{if(!t||s)return[];let{x:e,y:n,z:r,w:i,h:a}=t,o={x:-e/r-i/r,y:-n/r-a/r,w:i/r*3,h:a/r*3};return c.filter(e=>Bw(e,o))},[c,t,s]),u=t=>t?e.items.find(e=>e.item.id===t):void 0,d=u(i),f=o&&o!==i?u(o):void 0;return(0,R.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,R.jsx)(lO,{placed:e,store:n},e.item.id)),f?(0,R.jsx)(uO,{placed:f,kind:`hover`}):null,d?(0,R.jsx)(uO,{placed:d,kind:a===i?`active`:`selected`}):null]})}var fO=12,pO=20,mO=110,hO=.2,gO=400,_O=.2,vO=3,yO=8e3,bO=14,xO=96;function SO({layout:e,theme:t,store:n,camera:r,events:i,capture:a,apiRef:o,onPlay:s,onSelect:c}){let l=(0,v.useRef)(null),u=(0,v.useRef)(null),d=(0,v.useRef)(null),f=(0,v.useRef)(null),[p,m]=(0,v.useState)(null),h=c_(n,e=>e.panning),g=c_(n,e=>e.selected),_=c_(n,e=>e.active),y=(0,v.useMemo)(()=>e.items.filter(e=>KT(e.item)),[e]);(0,v.useLayoutEffect)(()=>{let e=l.current,t=u.current,i=d.current,a,o,s=!1,c=0,p=()=>m({...r.camera,w:e.clientWidth,h:e.clientHeight,moving:s}),h=e=>{t.style.transform=`translate3d(${e.x}px, ${e.y}px, 0) scale(${e.z})`,s||(s=!0,t.classList.add(`moving`)),clearTimeout(a),a=setTimeout(()=>{s=!1,t.classList.remove(`moving`),p()},160);let r=f.current;r&&(r.style.setProperty(`--tx`,String(e.x)),r.style.setProperty(`--ty`,String(e.y)),r.style.setProperty(`--z`,String(e.z)));let l=24*e.z;for(;l<bO;)l*=4;for(;l>xO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+xO)%l+l)%l-l;i.style.transform=`translate3d(${u(e.x)}px, ${u(e.y)}px, 0)`;let d=e.z<.09;n.get().zoomTiny!==d&&n.set(e=>({...e,zoomTiny:d})),t.classList.toggle(`far`,e.z<.15),o??=setTimeout(()=>{o=void 0,p()},90)};h(r.camera),p();let g=r.subscribe(h),_=e.getBoundingClientRect().left,v=new ResizeObserver(()=>{let t=e.getBoundingClientRect().left;if(t!==_){let e=r.camera;r.set({...e,x:e.x-(t-_)}),_=t}p()});return v.observe(e),()=>{g(),v.disconnect(),clearTimeout(a),clearTimeout(o)}},[r,n]),(0,v.useEffect)(()=>{let t=l.current,n=()=>{let{w:n,h:i}={w:t.clientWidth,h:t.clientHeight},o=e.bounds,s=o.w&&n?Math.min((n-160)/o.w,(i-160)/Math.max(o.h,1)):1;r.minZoom=a?.01:Math.min(.25,Math.max(Iw,s*.5))};n();let i=new ResizeObserver(n);return i.observe(t),()=>i.disconnect()},[r,e.bounds,a]),(0,v.useEffect)(()=>{let t=l.current,n=()=>({w:t.clientWidth,h:t.clientHeight});o.current={size:n,openView(){let{w:t,h:i}=n(),a=e.bounds;if(!a.w)return;if(Math.min((t-160)/a.w,(i-160)/Math.max(a.h,1))>=_O)return this.fitAll(!1);let o=e.sections[0]??a,s=Math.min(.5,Math.max(.25,(t-160)/Math.max(o.w,1)));r.set({z:s,x:80-a.x*s,y:80-a.y*s})},fitAll(t=!0){let{w:i,h:a}=n();if(!e.bounds.w)return;let o=zw(e.bounds,i,a,80,1,r.minZoom);t?r.animateTo(o):r.set(o)},fitItem(t,i=!0){let a=e.items.find(e=>e.item.id===t);if(!a)return;let{w:o,h:s}=n(),c=zw(a,o,s,64,1,r.minZoom);i?r.animateTo(c):r.set(c)},zoomBy(e){let{w:t,h:i}=n(),a=r.camera,o=a.z*e,s=(t/2-a.x)/a.z,c=(i/2-a.y)/a.z;r.animateTo({z:o,x:t/2-s*o,y:i/2-c*o},180)},zoomTo(e){let{w:t,h:i}=n(),a=r.camera,o=(t/2-a.x)/a.z,s=(i/2-a.y)/a.z;r.animateTo({z:e,x:t/2-o*e,y:i/2-s*e},220)}}},[o,r,e]);let b=(0,v.useRef)([]),x=(0,v.useRef)(new Map),[S,C]=(0,v.useState)(0),w=c_(n,e=>CO(e.frames)),T=(0,v.useMemo)(()=>{let e=new Map;if(a){for(let t of y)e.set(t.item.id,`live`);return e}if(!p)return e;let{x:t,y:n,z:r,w:i,h:o}=p,s={x:-t/r,y:-n/r,w:i/r,h:o/r},c={x:s.x-s.w*.25,y:s.y-s.h*.25,w:s.w*1.5,h:s.h*1.5},l=s.x+s.w/2,u=s.y+s.h/2,d=e=>Math.max(0,Math.min(e.x+e.w,s.x+s.w)-Math.max(e.x,s.x))*Math.max(0,Math.min(e.y+e.h,s.y+s.h)-Math.max(e.y,s.y)),f=e=>Math.hypot(e.x+e.w/2-l,e.y+e.h/2-u),m=y.filter(e=>r>=hO&&Bw(e,c)&&e.w*r>=mO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,fO).map(e=>e.item.id),h=[_,g].filter(e=>!!e),v=new Set(y.map(e=>e.item.id)),S=new Set(w.split(`
|
|
125
|
+
`)),C=new Set(b.current),T=performance.now(),E=e=>!S.has(e)&&T-(x.current.get(e)??0)<yO,D=vO-[...C].filter(E).length,O=[];for(let e of new Set([...h,...m]))v.has(e)&&(C.has(e)?O.push(e):(h.includes(e)||!p.moving&&D>0)&&(O.push(e),x.current.set(e,T),D--));let k=[...new Set([...O,...b.current])].filter(e=>v.has(e)).slice(0,pO);b.current=k;for(let e of x.current.keys())k.includes(e)||x.current.delete(e);for(let t of k)e.set(t,O.includes(t)?`live`:`asleep`);return e},[p,y,_,g,a,w,S]);(0,v.useEffect)(()=>{let e=performance.now(),t=new Set(w.split(`
|
|
126
|
+
`)),n=[...x.current].filter(([e])=>!t.has(e)).map(([,t])=>t+yO-e).filter(e=>e>0);if(!n.length)return;let r=setTimeout(()=>C(e=>e+1),Math.min(...n)+20);return()=>clearTimeout(r)},[T,w]);let E=(0,v.useRef)(null),D=(0,v.useRef)(new Map),O=(0,v.useRef)(null),k=(0,v.useRef)(!1),A=e=>{n.get().panning!==e&&n.set(t=>({...t,panning:e}))};(0,v.useEffect)(()=>{let e=e=>{e.code===`Space`&&!wO(e.target)&&(k.current=!0,l.current?.classList.add(`cursor-grab`),e.preventDefault())},t=e=>{e.code===`Space`&&(k.current=!1,l.current?.classList.remove(`cursor-grab`))};return window.addEventListener(`keydown`,e),window.addEventListener(`keyup`,t),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,t)}},[]);let j=e=>{let t=e;return(t?.closest(`[data-shield]`))?.dataset.shield??(t?.closest(`[data-label]`))?.dataset.label??(t?.closest(`[data-item]`))?.dataset.item??null},ee=e=>{if(e.target.closest(`[data-ui]`)||e.button!==0&&e.button!==1)return;if(l.current.setPointerCapture(e.pointerId),D.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),r.interrupt(),D.current.size===2){let[e,t]=[...D.current.values()];O.current={dist:Math.hypot(e.x-t.x,e.y-t.y),midX:(e.x+t.x)/2,midY:(e.y+t.y)/2},E.current=null,A(!0);return}let t=e.button===1||k.current;E.current={id:t?null:j(e.target),startX:e.clientX,startY:e.clientY,lastX:e.clientX,lastY:e.clientY,moved:t},t&&A(!0)},te=e=>{if(D.current.has(e.pointerId)&&D.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),O.current&&D.current.size===2){let[e,t]=[...D.current.values()],n=Math.hypot(e.x-t.x,e.y-t.y),i=(e.x+t.x)/2,a=(e.y+t.y)/2,o=l.current.getBoundingClientRect();r.panBy(i-O.current.midX,a-O.current.midY),r.zoomAt(i-o.left,a-o.top,n/Math.max(O.current.dist,1)),O.current={dist:n,midX:i,midY:a};return}let t=E.current;if(!t){if(!n.get().panning){let t=j(e.target);n.get().hovered!==t&&n.set(e=>({...e,hovered:t}))}return}!t.moved&&Math.hypot(e.clientX-t.startX,e.clientY-t.startY)>3&&(t.moved=!0,A(!0)),t.moved&&r.panBy(e.clientX-t.lastX,e.clientY-t.lastY),t.lastX=e.clientX,t.lastY=e.clientY},M=e=>{D.current.delete(e.pointerId),D.current.size<2&&(O.current=null);let t=E.current;E.current=null,t&&!t.moved&&c(t.id,{x:e.clientX,y:e.clientY}),D.current.size||A(!1)};(0,v.useEffect)(()=>{let e=l.current,t=t=>{if(t.target.closest(`[data-ui]`))return;t.preventDefault();let n=e.getBoundingClientRect(),i=t.deltaMode===1?16:t.deltaMode===2?n.height:1;if(t.ctrlKey||t.metaKey){let e=t.deltaY*i,a=Math.abs(e)<40?.012:.0025;r.zoomAt(t.clientX-n.left,t.clientY-n.top,Math.exp(-e*a))}else r.panBy(-t.deltaX*i,-t.deltaY*i)};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[r]);let N=e.sections;return(0,R.jsxs)(`div`,{ref:l,className:X(`canvas-root relative h-full w-full touch-none overflow-hidden select-none`,h&&`canvas-panning cursor-grabbing`),onPointerDown:ee,onPointerMove:te,onPointerUp:M,onPointerCancel:M,onPointerLeave:()=>n.get().hovered&&n.set(e=>({...e,hovered:null})),onDoubleClick:t=>{let n=j(t.target),r=n?e.items.find(e=>e.item.id===n):void 0;r&&KT(r.item)&&s(r.item.id)},children:[(0,R.jsx)(`div`,{ref:d,className:`canvas-grid`}),(0,R.jsxs)(`div`,{ref:u,className:`canvas-world`,children:[N.map(e=>(0,R.jsx)(aO,{section:e.section,x:e.x,y:e.y,w:e.w,store:n},`section:${e.section.id}`)),e.items.map(e=>{let{item:r}=e;return r.kind===`screen`||r.kind===`url`?(0,R.jsx)(tO,{placed:e,mode:T.get(r.id)??`off`,thumb:!a&&!!p&&e.w*p.z*devicePixelRatio<=gO,theme:t,store:n,events:i,capture:a},r.id):r.kind===`note`?(0,R.jsx)(rO,{placed:e,store:n},r.id):(0,R.jsx)(iO,{placed:e,store:n},r.id)})]}),(0,R.jsx)(dO,{layout:e,view:p,store:n,overlayRef:f})]})}function CO(e){return Object.keys(e).filter(t=>e[t].ready).sort().join(`
|
|
127
|
+
`)}function wO(e){let t=e;return!!t&&(t.isContentEditable||/^(input|textarea|select)$/i.test(t.tagName))}var TO=new URLSearchParams(window.location.search),EO=TO.has(`capture`),DO=(e,t)=>`foss-design.camera.${e}.${t}`;function OO(e){try{let t=JSON.parse(sessionStorage.getItem(e)??`null`);if(t&&Number.isFinite(t.x)&&Number.isFinite(t.y)&&Number.isFinite(t.z))return t}catch{}return null}function kO(e){let t=__(),n=TO.get(`theme`),[r,i]=(0,v.useState)(n===`dark`||n===`light`?n:null);return[r??e?.theme??t,i]}function AO({canvasId:e,pageId:t}){let{data:n,error:r,isLoading:i}=e_(e);if(r)return(0,R.jsx)(Fw,{title:`Canvas not found`,text:r.message});if(i||!n)return(0,R.jsx)(`div`,{className:`canvas-dots grow`});let a=t??TO.get(`page`)??void 0,o=n.pages.find(e=>e.id===a)??n.pages[0];return(0,R.jsx)(jO,{canvas:n,page:o},`${n.id}/${o?.id??``}`)}function jO({canvas:e,page:t}){let[,n]=F(),r=(0,v.useMemo)(()=>ZT(),[]),i=(0,v.useMemo)(()=>new Rw,[]),a=(0,v.useRef)(null),[o,s]=kO(e),[c,l]=(0,v.useState)(()=>!EO&&window.innerWidth>900),[u,d]=(0,v.useState)(!1),f=c_(r,e=>e.sizes),p=(0,v.useMemo)(()=>t?YT(t,f):{items:[],sections:[],bounds:{x:0,y:0,w:0,h:0}},[t,f]),m=FO(c_(r,e=>e.frameEls),p),h=ew(m),g=u||h;(0,v.useEffect)(()=>{r.set(e=>e.inspecting===g?e:{...e,inspecting:g,active:null})},[g,r]);let _=$C(m,g,{onEscape:()=>d(!1)}),y=!!_.info;(0,v.useEffect)(()=>{y&&d(!0)},[y]),(0,v.useEffect)(()=>{let e=_.frame;if(!e)return;let t=Object.entries(r.get().frameEls).find(([,t])=>t===e)?.[0];t&&r.get().selected!==t&&r.set(e=>({...e,selected:t}))},[_.frame,r]);let b=(0,v.useMemo)(()=>XT(p),[p]),x=DO(e.id,t?.id??``),S=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(S.current||!p.bounds.w)return;S.current=!0;let t=o_(e.id),n=EO?null:OO(x);t?(r.set(e=>({...e,selected:t})),requestAnimationFrame(()=>a.current?.fitItem(t,!1))):n&&n.z>=i.minZoom?i.set(n):requestAnimationFrame(()=>EO?a.current?.fitAll(!1):a.current?.openView())},[p,i,x,e.id,r]),(0,v.useEffect)(()=>{if(EO)return;let e,t=i.subscribe(t=>{clearTimeout(e),e=setTimeout(()=>sessionStorage.setItem(x,JSON.stringify(t)),250)});return()=>{t(),clearTimeout(e)}},[i,x]);let C=(0,v.useCallback)(e=>{let t=e?p.items.find(t=>t.item.id===e)?.item:void 0;r.set(e=>({...e,selected:t?t.id:null,active:t&&KT(t)?t.id:null,hovered:null}))},[p,r]),w=(0,v.useCallback)(e=>{C(e),a.current?.fitItem(e)},[C]),T=(0,v.useCallback)(r=>n(`/c/${encodeURIComponent(e.id)}/play/${encodeURIComponent(r)}${t?`?page=${encodeURIComponent(t.id)}`:``}`),[e.id,t,n]);(0,v.useEffect)(()=>{let t=t=>{let n=t.detail;n.canvas===e.id&&p.items.some(e=>e.item.id===n.item)&&(o_(e.id),w(n.item))};return window.addEventListener(`design:focus`,t),()=>window.removeEventListener(`design:focus`,t)},[e.id,p,w]);let E=(0,v.useMemo)(()=>({onGo(r,i){let[a,o]=i.includes(`/`)?i.split(`/`):[null,i],s=a?e.pages.filter(e=>e.id===a):[t,...e.pages.filter(e=>e!==t)];for(let r of s)if(r&&r.sections.some(e=>e.items.some(e=>e.id===o))){r===t?w(o):(n(IT(e,r)),window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:o}})));return}console.warn(`[design] go("${i}"): no such screen`)},onLink(t,n){QC(n,e,e=>this.onGo(t,e),t)},onWheel(e,t){let n=e.closest(`.canvas-root`);if(!n)return;let r=n.getBoundingClientRect(),a=e.getBoundingClientRect(),o=i.camera.z;if(t.zoom){let e=Math.abs(t.deltaY)<40?.012:.0025;i.zoomAt(a.left-r.left+t.x*o,a.top-r.top+t.y*o,Math.exp(-t.deltaY*e))}else i.panBy(-t.deltaX,-t.deltaY)},onEscape(){r.set(e=>({...e,active:null}))}}),[e,t,i,r,w,n]);return(0,v.useEffect)(()=>{if(!EO)return;let e=Date.now(),t=setInterval(()=>{let n=r.get().frames;(b.every(e=>n[e.item.id]?.ready||e.item.kind===`screen`&&e.item.missing)||Date.now()-e>6e4)&&(clearInterval(t),a.current?.fitAll(!1),requestAnimationFrame(()=>requestAnimationFrame(()=>window.__DESIGN_CANVAS_READY__=!0)))},250);return()=>clearInterval(t)},[b,r]),(0,v.useEffect)(()=>{let i=i=>{if(wO(i.target)||document.querySelector(`[role="dialog"]`))return;let o=a.current,s=r.get(),c=i.metaKey||i.ctrlKey;if(i.key===`Escape`)_.info?_.select(null):u?d(!1):s.active?r.set(e=>({...e,active:null})):s.selected&&r.set(e=>({...e,selected:null}));else if(i.key===`i`&&!c&&!i.altKey)d(e=>!e);else if(i.shiftKey&&i.code===`Digit1`)o?.fitAll();else if(i.shiftKey&&i.code===`Digit2`&&s.selected)o?.fitItem(s.selected);else if(i.shiftKey&&i.code===`Digit0`)o?.zoomTo(1);else if((i.key===`=`||i.key===`+`)&&!i.altKey)i.preventDefault(),o?.zoomBy(1.4);else if(i.key===`-`&&!i.altKey)i.preventDefault(),o?.zoomBy(1/1.4);else if(c&&i.key===`0`)i.preventDefault(),o?.zoomTo(1);else if(c&&i.key===`\\`)i.preventDefault(),l(e=>!e);else if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`].includes(i.key)&&b.length){i.preventDefault();let e=b.findIndex(e=>e.item.id===s.selected),t=i.key===`ArrowRight`||i.key===`ArrowDown`?1:-1,n=b[e===-1?0:(e+t+b.length)%b.length];r.set(e=>({...e,selected:n.item.id,active:null})),o?.fitItem(n.item.id)}else if(i.key===`Enter`&&s.selected){let e=p.items.find(e=>e.item.id===s.selected)?.item;e&&KT(e)&&T(e.id)}else if(i.key===`]`||i.key===`[`){let r=t?e.pages.indexOf(t):-1,a=e.pages[r+(i.key===`]`?1:-1)];a&&n(IT(e,a))}};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[r,b,p,T,e,t,n,u,_]),EO?(0,R.jsx)(`div`,{className:`flex h-dvh`,children:(0,R.jsx)(SO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!0,apiRef:a,onPlay:()=>{},onSelect:()=>{}})}):(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsx)(RT,{canvas:e,page:t,theme:o,onTheme:s,sidebar:c,onSidebar:l,inspect:u,onInspect:d,onPlay:()=>{let e=r.get().selected,t=e&&b.find(t=>t.item.id===e)||b[0];t&&T(t.item.id)},canPlay:b.length>0}),(0,R.jsxs)(`div`,{className:`flex min-h-0 grow basis-0`,children:[(0,R.jsx)(Ow,{open:c&&!!t,side:`left`,width:264,children:t?(0,R.jsx)(LT,{canvas:e,page:t,store:r,onPick:w}):null}),(0,R.jsxs)(`div`,{className:`relative min-w-0 grow`,children:[t&&p.items.length?(0,R.jsx)(SO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!1,apiRef:a,onPlay:T,onSelect:C}):(0,R.jsx)(`div`,{className:`canvas-dots flex h-full`,children:(0,R.jsx)(Pw,{title:t?`This page is empty`:`This canvas has no pages`,text:(0,R.jsxs)(R.Fragment,{children:[`Add sections and screens to`,` `,(0,R.jsxs)(`code`,{className:`font-mono text-[13px]`,children:[`.design/canvas/`,e.id,`/canvas.json`]}),`.`]})})}),(0,R.jsx)(zT,{canvas:e,store:r,layoutItems:p.items.map(e=>e.item),theme:o,onPlay:T,inspect:g}),(0,R.jsx)(NO,{camera:i,apiRef:a}),e.issues.length?(0,R.jsx)(PO,{canvas:e}):null]}),(0,R.jsx)(Ow,{open:u,side:`right`,width:320,children:(0,R.jsx)(uw,{info:_.info,active:!0,onSelect:e=>_.select(e),onClose:()=>{d(!1),_.select(null)}})})]})]})}function MO({camera:e}){let[t,n]=(0,v.useState)(e.camera.z);return(0,v.useEffect)(()=>{let t=0;return e.subscribe(e=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>n(e.z))})},[e]),(0,R.jsxs)(R.Fragment,{children:[Math.round(t*100),`%`]})}function NO({camera:e,apiRef:t}){return(0,R.jsxs)(`div`,{"data-ui":!0,className:`absolute right-4 bottom-5 z-20 flex h-[46px] items-center gap-0.5 rounded-[10px] border border-rule bg-surface px-1.5 shadow-pop`,children:[(0,R.jsx)(N_,{icon:`zoom-out`,label:`Zoom out (−)`,onClick:()=>t.current?.zoomBy(1/1.4)}),(0,R.jsxs)(VS,{side:`top`,align:`end`,width:210,trigger:(0,R.jsx)(`button`,{type:`button`,className:`h-ctrl min-w-[56px] cursor-pointer rounded-[6px] border-0 bg-transparent px-1.5 text-[12.5px] font-medium text-ink2 tabular hover:bg-soft2`,children:(0,R.jsx)(MO,{camera:e})}),children:[(0,R.jsx)(US,{onSelect:()=>t.current?.fitAll(),hint:`⇧1`,children:`Zoom to fit`}),(0,R.jsx)(US,{onSelect:()=>t.current?.zoomTo(1),hint:`⇧0`,children:`100%`}),(0,R.jsx)(WS,{}),[.25,.5,2].map(e=>(0,R.jsxs)(US,{onSelect:()=>t.current?.zoomTo(e),children:[e*100,`%`]},e))]}),(0,R.jsx)(N_,{icon:`zoom-in`,label:`Zoom in (+)`,onClick:()=>t.current?.zoomBy(1.4)}),(0,R.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-rule`}),(0,R.jsx)(N_,{icon:`fit`,label:`Zoom to fit (⇧1)`,onClick:()=>t.current?.fitAll()})]})}function PO({canvas:e}){let t=e.issues.filter(e=>e.severity===`error`).length;return(0,R.jsxs)(EC,{children:[(0,R.jsx)(DC,{asChild:!0,children:(0,R.jsxs)(`button`,{type:`button`,"data-ui":!0,className:`absolute bottom-5 left-4 z-20 flex h-[46px] cursor-pointer items-center gap-2 rounded-[10px] border border-rule bg-surface px-3.5 text-[13px] font-medium shadow-pop hover:bg-soft`,children:[(0,R.jsx)(Z,{name:`alert`,size:15,className:t?`text-danger-text`:`text-action`}),e.issues.length,` `,e.issues.length===1?`problem`:`problems`,` in canvas.json`]})}),(0,R.jsx)(OC,{children:(0,R.jsx)(kC,{side:`top`,align:`start`,sideOffset:8,collisionPadding:12,className:`z-50 max-h-[50vh] w-[460px] max-w-[calc(100vw-24px)] overflow-y-auto rounded-[10px] border border-rule bg-surface shadow-pop outline-none data-[state=open]:animate-[q-pop_120ms_ease-out]`,children:(0,R.jsx)(Tw,{issues:e.issues})})})]})}function FO(e,t){let n=(0,v.useRef)([]);return(0,v.useMemo)(()=>{let r=new Set(t.items.filter(e=>e.item.kind===`screen`).map(e=>e.item.id)),i=Object.entries(e).filter(e=>!!e[1]&&r.has(e[0])).map(([,e])=>e);return i.length===n.current.length&&i.every((e,t)=>e===n.current[t])||(n.current=i),n.current},[e,t])}function IO({open:e,onOpenChange:t,title:n,children:r}){return(0,R.jsx)(mg,{open:e,onOpenChange:t,children:(0,R.jsx)($u,{children:e?(0,R.jsxs)(vg,{forceMount:!0,children:[(0,R.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,R.jsx)(Wf.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},className:`fixed inset-0 z-50 bg-overlay`})}),(0,R.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,R.jsxs)(Wf.div,{initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.18,ease:`easeIn`}},transition:{type:`spring`,stiffness:420,damping:40},className:`fixed inset-x-0 bottom-0 z-50 flex max-h-[82dvh] flex-col rounded-t-[14px] border-t border-rule bg-surface pb-[env(safe-area-inset-bottom)] shadow-pop outline-none`,children:[(0,R.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,R.jsx)(`span`,{"aria-hidden":!0,className:`h-1 w-9 rounded-full bg-rule-strong`})}),(0,R.jsxs)(`div`,{className:`flex min-h-[48px] items-center justify-between gap-3 pr-2 pl-4`,children:[(0,R.jsx)(kg,{className:`m-0 truncate text-[15px] font-semibold`,children:n}),(0,R.jsx)(jg,{asChild:!0,children:(0,R.jsx)(N_,{icon:`x`,label:`Close`})})]}),(0,R.jsx)(`div`,{className:`min-h-0 overflow-y-auto overscroll-contain border-t border-rule`,children:r})]})})]}):null})})}function LO(e,t){return(t?e.pages.filter(e=>e.id===t):e.pages).flatMap(t=>t.sections.flatMap(n=>n.items.filter(e=>e.kind===`screen`||e.kind===`url`).map(r=>({item:r,pageId:t.id,where:[e.pages.length>1?t.title:null,n.title].filter(Boolean).join(` · `)}))))}var RO=(e,t,n)=>`/c/${encodeURIComponent(e)}/play/${encodeURIComponent(t)}?page=${encodeURIComponent(n)}`;function zO({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e);return r?(0,R.jsx)(Fw,{title:`Canvas not found`,text:r.message}):i||!n?null:(0,R.jsx)(BO,{canvas:n,itemId:t})}function BO({canvas:e,itemId:t}){let[,n]=F(),{frameSandbox:r,slots:i}=Xg(),a=new URLSearchParams(window.location.search).get(`page`)??(window.location.hash.split(`?`)[1]?new URLSearchParams(window.location.hash.split(`?`)[1]).get(`page`):null),o=(0,v.useMemo)(()=>LO(e,null),[e]),s=o.find(e=>e.item.id===t),c=a??s?.pageId??null,l=(0,v.useMemo)(()=>c?LO(e,c):o,[e,c,o]),u=l.findIndex(e=>e.item.id===t),d=__(),[f,p]=(0,v.useState)(e.theme??d),[m,h]=(0,v.useState)(`fit`),g=(0,v.useRef)(null),_=(0,v.useRef)(null),[y,b]=(0,v.useState)(null),x=(0,v.useCallback)(e=>{_.current=e,b(e)},[]),[S,C]=(0,v.useState)(!1),[w,T]=(0,v.useState)({w:0,h:0}),[E,D]=(0,v.useState)([]),O=c?`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(c)}`:`/c/${encodeURIComponent(e.id)}`,k=t=>{if(!l.length)return;let r=l[(u+t+l.length)%l.length];n(RO(e.id,r.item.id,r.pageId),{replace:!0})};(0,v.useLayoutEffect)(()=>{let e=g.current;if(!e)return;let t=new ResizeObserver(()=>T({w:e.clientWidth,h:e.clientHeight}));return t.observe(e),()=>t.disconnect()},[]),(0,v.useEffect)(()=>{let e=e=>{wO(e.target)||document.querySelector(`[role="dialog"]`)||(e.key===`ArrowRight`?k(1):e.key===`ArrowLeft`?k(-1):e.key===`i`&&!e.metaKey&&!e.ctrlKey&&!e.altKey?C(e=>!e):e.key===`Escape`&&(P.info?P.select(null):S?C(!1):n(O)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)});let A=l[u],j=A?.item,ee=j?.kind===`screen`?j.theme??f:f,te=NT(e.id,j,ee),[M]=(0,v.useState)(ee),N=j?j.kind===`screen`?XC(j.url,M):j.url:``,ne=(0,v.useMemo)(()=>y&&j?.kind===`screen`?[y]:[],[y,j?.kind]),re=ew(ne),P=$C(ne,S||re,{onEscape:()=>C(!1)}),ie=!!P.info;if((0,v.useEffect)(()=>{ie&&C(!0)},[ie]),(0,v.useEffect)(()=>{let t=_.current;if(t&&j?.kind===`screen`)return D([]),WC(t,t=>{if(t.type===`error`)D(e=>e.includes(t.message)?e:[...e,t.message]);else if(t.type===`updated`)D([]);else if(t.type===`keydown`&&t.code===`Escape`)n(O);else if(t.type===`go`){let[r,i]=t.target.includes(`/`)?t.target.split(`/`):[null,t.target],a=o.find(e=>e.item.id===i&&(!r||e.pageId===r));a&&n(RO(e.id,a.item.id,a.pageId))}else t.type===`link`&&QC(t,e,t=>{let r=o.find(e=>e.item.id===t);r&&n(RO(e.id,r.item.id,r.pageId))},j?.id)})},[j,N,o,e.id,n,O]),(0,v.useEffect)(()=>{j?.kind===`screen`&&qC(_.current,ee)},[ee,j]),!j)return(0,R.jsx)(Fw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`});let ae=j.frame.width,oe=j.frame.height===`auto`?Math.max(w.h-48,400):j.frame.height,se=m===`fit`?Math.min(1,(w.w-48)/ae,(w.h-48)/oe):1,ce=ae<=w.w-48&&oe<=w.h-48;return(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsxs)(XS,{children:[i.barStart,(0,R.jsx)(jT,{content:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Back to canvas `,(0,R.jsx)(y_,{children:`esc`})]}),children:(0,R.jsx)(ye,{href:O,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,"aria-label":`Back to canvas`,children:(0,R.jsx)(Z,{name:`arrow-left`,size:16})})}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[(0,R.jsx)(`span`,{className:`truncate text-[14px] font-semibold`,children:j.title}),(0,R.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:[e.title,A.where].filter(Boolean).join(` · `)})]}),(0,R.jsxs)(`div`,{className:`mx-auto flex items-center gap-1`,children:[(0,R.jsx)(N_,{icon:`chevron-left`,label:`Previous screen (←)`,onClick:()=>k(-1),disabled:l.length<2}),(0,R.jsxs)(`span`,{className:`min-w-[52px] text-center text-[12.5px] text-muted tabular`,children:[u+1,` / `,l.length]}),(0,R.jsx)(N_,{icon:`chevron-right`,label:`Next screen (→)`,onClick:()=>k(1),disabled:l.length<2})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ce?null:(0,R.jsx)(Vw,{label:`Scale`,value:m,onChange:h,items:[{value:`fit`,label:`Fit`},{value:`actual`,label:`100%`}]}),j.kind===`screen`&&!j.theme?(0,R.jsx)(Vw,{label:`Screen theme`,value:f,onChange:p,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:15}),title:`Light`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:15}),title:`Dark`}]}):null,j.kind===`screen`?(0,R.jsx)(BT,{on:S,onChange:C}):null,(0,R.jsx)(N_,{icon:`refresh`,label:`Reload`,onClick:()=>JC(_.current)}),te?(0,R.jsx)(`a`,{href:te,target:`_blank`,rel:`noreferrer`,title:`Open in a new tab`,className:`inline-flex h-ctrl w-ctrl items-center justify-center rounded-[6px] text-muted hover:bg-soft2 hover:text-ink2`,children:(0,R.jsx)(Z,{name:`external`,size:16})}):null,(0,R.jsx)(qS,{}),i.barEnd]})]}),i.belowBar?(0,R.jsx)(`div`,{className:`shrink-0`,children:i.belowBar}):null,(0,R.jsxs)(`div`,{className:`flex min-h-0 grow basis-0`,children:[(0,R.jsxs)(`div`,{ref:g,className:`canvas-dots relative min-w-0 grow ${m===`actual`?`overflow-auto`:`overflow-hidden`}`,children:[E.length?(0,R.jsxs)(`div`,{className:`absolute inset-x-0 top-0 z-10 flex items-start gap-2 border-b border-rule bg-danger-soft px-4 py-2 font-mono text-[12px] whitespace-pre-wrap text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),E.join(`
|
|
128
|
+
`)]}):null,(0,R.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?ae+48:void 0},children:(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden bg-surface`,style:{width:ae*se,height:oe*se,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,R.jsx)(`iframe`,{ref:x,src:N,title:j.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:r,className:`block border-0`,style:{width:ae,height:oe,transform:`scale(${se})`,transformOrigin:`0 0`,colorScheme:ee},onLoad:()=>j.kind===`screen`&&qC(_.current,ee)},`${j.id}:${j.kind===`screen`?j.rev:j.url}`)})})]}),(0,R.jsx)(Ow,{open:S,side:`right`,width:320,children:(0,R.jsx)(uw,{info:P.info,active:!0,onSelect:e=>P.select(e),onClose:()=>{C(!1),P.select(null)}})})]})]})}var VO=12;function HO({canvasId:e,pageId:t,itemId:n}){let{data:r,error:i,isLoading:a}=e_(e);return i?(0,R.jsx)(Fw,{title:`Canvas not found`,text:i.message}):a||!r?(0,R.jsx)(`div`,{className:`canvas-dots h-dvh`}):(0,R.jsx)(UO,{canvas:r,pageId:t,itemId:n})}function UO({canvas:e,pageId:t,itemId:n}){let[,r]=F(),{frameSandbox:i,slots:a,scope:o}=Xg(),s=__(),c=(0,v.useMemo)(()=>LO(e,null),[e]),l=Math.max(0,n?c.findIndex(e=>e.item.id===n):t?c.findIndex(e=>e.pageId===t):0),u=c[l],d=u?.item,[f,p]=(0,v.useState)(e.theme??s),[m,h]=(0,v.useState)(!1),[g,_]=(0,v.useState)([]),[y,b]=(0,v.useState)(0),[x,S]=(0,v.useState)(null),[C,w]=(0,v.useState)(0),[T,E]=(0,v.useState)(!1),D=(0,v.useRef)(null),O=(0,v.useRef)(null),[k,A]=(0,v.useState)(null),j=(0,v.useCallback)(e=>{e&&(O.current=e,A(e))},[]),ee=(0,v.useCallback)((t,n=0)=>{w(n),r(RO(e.id,t.item.id,t.pageId),{replace:!0})},[e.id,r]),te=e=>{c.length<2||ee(c[(l+e+c.length)%c.length],e)},M=e=>{let t=c.find(t=>t.item.id===e);t&&ee(t,c.indexOf(t)>l?1:-1)};(0,v.useLayoutEffect)(()=>{let e=D.current;if(!e)return;let t=new ResizeObserver(()=>b(e.clientWidth));return t.observe(e),()=>t.disconnect()},[]);let N=d?.kind===`screen`?d.theme??f:f,[ne]=(0,v.useState)(N),re=d?d.kind===`screen`?XC(d.url,ne):d.url:``,P=NT(e.id,d,N);(0,v.useEffect)(()=>{_([]),S(d?.kind===`screen`?d.measuredHeight??null:null),D.current?.scrollTo({top:0});let t=O.current;if(t&&d?.kind===`screen`)return WC(t,t=>{t.type===`size`?S(t.height):t.type===`error`?_(e=>e.includes(t.message)?e:[...e,t.message]):t.type===`updated`?_([]):t.type===`go`?M(t.target.includes(`/`)?t.target.split(`/`)[1]:t.target):t.type===`link`&&QC(t,e,M,d.id)})},[k,re]),(0,v.useEffect)(()=>{d?.kind===`screen`&&qC(O.current,N)},[N,d]),(0,v.useEffect)(()=>{let e=e=>{document.querySelector(`[role="dialog"]`)||(e.key===`ArrowRight`?te(1):e.key===`ArrowLeft`&&te(-1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)});let ie=(0,v.useRef)(null),ae=e=>{let t=e.touches[0];ie.current=t?{x:t.clientX,y:t.clientY}:null},oe=e=>{let t=ie.current,n=e.changedTouches[0];if(ie.current=null,!t||!n)return;let r=n.clientX-t.x,i=n.clientY-t.y;Math.abs(r)>56&&Math.abs(r)>Math.abs(i)*1.5&&te(r<0?1:-1)};if(!d||!u)return(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsx)(GO,{canvas:e,title:e.title,sub:null}),(0,R.jsx)(Fw,{title:`No screens here`,text:`This canvas has no screens to show yet.`})]});let se=d.frame.width,ce=y?Math.min(1,(y-24)/se):0,le=ce>0&&ce<.8,ue=le&&T?1:ce,de=d.frame.height===`auto`?Math.max(x??0,480):d.frame.height,fe=d.kind===`screen`&&!d.theme;return(0,R.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,R.jsx)(GO,{canvas:e,title:d.title||d.id,sub:[e.title,u.where].filter(Boolean).join(` · `),back:o?void 0:`/`,end:(0,R.jsxs)(R.Fragment,{children:[le?(0,R.jsx)(N_,{icon:T?`zoom-out`:`zoom-in`,label:T?`Fit to width`:`Actual size`,onClick:()=>E(e=>!e)}):null,(0,R.jsxs)(VS,{align:`end`,width:220,trigger:(0,R.jsx)(N_,{icon:`more`,label:`Screen options`}),children:[fe?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(GS,{children:`Screen theme`}),(0,R.jsx)(WO,{value:`light`,current:f,onPick:p}),(0,R.jsx)(WO,{value:`dark`,current:f,onPick:p}),(0,R.jsx)(WS,{})]}):null,(0,R.jsxs)(US,{onSelect:()=>JC(O.current),children:[(0,R.jsx)(Z,{name:`refresh`,size:15,className:`text-ink2`}),`Reload screen`]}),P?(0,R.jsxs)(US,{onSelect:()=>window.open(P,`_blank`,`noopener`),children:[(0,R.jsx)(Z,{name:`external`,size:15,className:`text-ink2`}),`Open in a new tab`]}):null,(0,R.jsxs)(US,{onSelect:()=>h_(s===`dark`?`light`:`dark`),children:[(0,R.jsx)(Z,{name:s===`dark`?`sun`:`moon`,size:15,className:`text-ink2`}),s===`dark`?`Light appearance`:`Dark appearance`]})]}),a.barEnd]})}),a.belowBar?(0,R.jsx)(`div`,{className:`shrink-0`,children:a.belowBar}):null,(0,R.jsxs)(`div`,{ref:D,onTouchStart:ae,onTouchEnd:oe,className:X(`canvas-dots relative min-h-0 grow overflow-y-auto overscroll-contain`,le&&T?`overflow-x-auto`:`overflow-x-hidden`),children:[g.length?(0,R.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-start gap-2 border-b border-rule bg-danger-soft px-4 py-2 font-mono text-[12px] whitespace-pre-wrap text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:14,className:`mt-px shrink-0`}),(0,R.jsx)(`span`,{className:`min-w-0 break-words`,children:g.join(`
|
|
129
|
+
`)})]}):null,(0,R.jsx)($u,{initial:!1,mode:`popLayout`,custom:C,children:(0,R.jsx)(Wf.div,{custom:C,initial:{opacity:0,x:C*40},animate:{opacity:1,x:0},exit:{opacity:0,x:C*-40,transition:{duration:.12}},transition:{type:`spring`,stiffness:420,damping:38},className:X(`flex`,le&&T?`w-max`:`justify-center`),style:{padding:VO},children:ue?(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[6px] bg-surface`,style:{width:se*ue,height:de*ue,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,R.jsx)(`iframe`,{ref:j,src:re,title:d.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:i,className:`block border-0`,style:{width:se,height:de,transform:`scale(${ue})`,transformOrigin:`0 0`,colorScheme:N},onLoad:()=>d.kind===`screen`&&qC(O.current,N)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`)}):null},d.id)})]}),(0,R.jsxs)(`nav`,{"aria-label":`Screens`,className:`flex shrink-0 items-center gap-1 border-t border-rule bg-surface px-2 pt-1.5 pb-[max(6px,env(safe-area-inset-bottom))]`,children:[(0,R.jsx)(N_,{icon:`chevron-left`,label:`Previous screen`,onClick:()=>te(-1),disabled:c.length<2}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>h(!0),className:`flex h-10 min-w-0 grow cursor-pointer items-center justify-center gap-2 rounded-[8px] border-0 bg-transparent px-3 text-[13.5px] text-ink active:bg-soft2`,children:[(0,R.jsx)(Z,{name:`list`,size:15,className:`shrink-0 text-muted`}),(0,R.jsxs)(`span`,{className:`tabular shrink-0 text-muted`,children:[l+1,` / `,c.length]}),(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:d.title||d.id})]}),(0,R.jsx)(N_,{icon:`chevron-right`,label:`Next screen`,onClick:()=>te(1),disabled:c.length<2})]}),(0,R.jsx)(IO,{open:m,onOpenChange:h,title:e.title,children:(0,R.jsx)(qO,{canvas:e,current:d.id,onPick:e=>{h(!1),M(e)}})})]})}function WO({value:e,current:t,onPick:n}){return(0,R.jsxs)(US,{active:t===e,onSelect:()=>n(e),children:[(0,R.jsx)(Z,{name:e===`dark`?`moon`:`sun`,size:15,className:`text-ink2`}),e===`dark`?`Dark`:`Light`,t===e?(0,R.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]})}function GO({canvas:e,title:t,sub:n,back:r,end:i}){let{slots:a}=Xg();return(0,R.jsxs)(`header`,{className:`flex h-[52px] shrink-0 items-center gap-2 border-b border-rule bg-surface pr-2 pl-2 pt-[env(safe-area-inset-top)]`,children:[a.barStart,r?(0,R.jsx)(ye,{href:r,"aria-label":`All canvases, leaving ${e.title}`,className:`inline-flex size-10 shrink-0 items-center justify-center rounded-[8px] text-ink2 active:bg-soft2`,children:(0,R.jsx)(Z,{name:`arrow-left`,size:18})}):(0,R.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center`,children:(0,R.jsx)(JS,{})}),(0,R.jsxs)(`div`,{className:`flex min-w-0 grow flex-col leading-tight`,children:[(0,R.jsx)(`span`,{className:`truncate text-[14.5px] font-semibold`,children:t}),n?(0,R.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:n}):null]}),(0,R.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:i})]})}var KO=e=>e.item.kind===`url`?`globe`:e.item.frame.device===`phone`?`smartphone`:e.item.frame.device===`tablet`?`tablet`:`monitor`;function qO({canvas:e,current:t,onPick:n}){let r=(0,v.useRef)(null);(0,v.useEffect)(()=>{r.current?.scrollIntoView({block:`center`})},[]);let i=e.pages.length>1;return(0,R.jsx)(`div`,{className:`flex flex-col pb-2`,children:e.pages.map(a=>{let o=LO(e,a.id);return o.length?(0,R.jsxs)(`section`,{className:`flex flex-col`,children:[i?(0,R.jsx)(`h3`,{className:`sticky top-0 z-[1] m-0 border-b border-rule bg-soft px-4 py-2 text-[12px] font-semibold text-ink2`,children:a.title}):null,a.sections.map(e=>{let i=o.filter(t=>e.items.includes(t.item));return i.length?(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.title}):null,i.map(e=>{let i=e.item.id===t;return(0,R.jsxs)(`button`,{ref:i?r:void 0,type:`button`,"aria-current":i?`true`:void 0,onClick:()=>n(e.item.id),className:X(`flex min-h-[48px] cursor-pointer items-center gap-3 border-0 bg-transparent px-4 text-left text-[14px] active:bg-soft2`,i?`font-medium text-ink`:`text-ink2`),children:[(0,R.jsx)(`span`,{className:X(`flex size-8 shrink-0 items-center justify-center rounded-[8px]`,i?`bg-action-soft text-action`:`bg-soft2 text-muted`),children:(0,R.jsx)(Z,{name:KO(e),size:15})}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.item.title||e.item.id}),i?(0,R.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.item.id)})]},e.id):null})]},a.id):null})})}var JO=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],YO=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function XO(e){if(!e)return``;let t=(e-Date.now())/1e3;for(let[e,n]of JO)if(Math.abs(t)>=n)return YO.format(Math.round(t/n),e);return`just now`}function ZO(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KB`:`${(e/1024/1024).toFixed(1)} MB`}function QO(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function $O({className:e,style:t}){return(0,R.jsx)(`span`,{"aria-hidden":`true`,className:X(`block animate-pulse rounded-[6px] bg-soft2`,e),style:t})}function ek({rows:e=3,lead:t=28,minH:n=56}){return(0,R.jsx)(`div`,{role:`status`,"aria-label":`Loading`,children:Array.from({length:e},(e,r)=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-rule px-4`,style:{minHeight:n,opacity:1-r*.18},children:[t?(0,R.jsx)($O,{style:{width:t,height:Math.min(t,n-20)}}):null,(0,R.jsxs)(`span`,{className:`flex min-w-0 grow flex-col gap-1.5`,children:[(0,R.jsx)($O,{className:`h-3 w-[38%]`}),(0,R.jsx)($O,{className:`h-2.5 w-[62%]`})]}),(0,R.jsx)($O,{className:`h-3 w-14`})]},r))})}function tk({canvas:e}){return(0,R.jsx)(`div`,{className:`flex h-[54px] w-[86px] shrink-0 items-center justify-center overflow-hidden rounded-[6px] border border-rule bg-soft`,children:e.cover?(0,R.jsx)(`img`,{src:e.cover,alt:``,className:`h-full w-full object-cover object-top`}):(0,R.jsx)(Z,{name:`canvas`,size:18,className:`text-muted`})})}function nk({actions:e,children:t}){return e?(0,R.jsxs)(`div`,{className:`grid items-center border-t border-rule transition-colors hover:bg-soft`,style:{gridTemplateColumns:`minmax(0,1fr) auto`},children:[t,(0,R.jsx)(`div`,{className:`flex items-center gap-2 pr-4`,children:e})]}):t}function rk({children:e}){return e?(0,R.jsx)(`div`,{className:`flex items-center gap-2.5 border-t border-rule bg-soft px-4 py-3 text-[12.5px] text-muted`,children:e}):null}function ik({project:e}){let{canvasRowActions:t,canvasesFoot:n}=Xg().slots,r=rC();return e.canvases.length?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Canvases`,count:e.canvases.length}),e.canvases.map(e=>{let n=t?.(e.id);return(0,R.jsx)(nk,{actions:n,children:r?(0,R.jsxs)(Sw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr)`,align:`ll`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,R.jsx)(tk,{canvas:e}),(0,R.jsx)(b_,{top:e.title,bottom:(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[e.issues?(0,R.jsx)(fw,{tone:`danger`,children:QO(e.issues,`problem`)}):null,(0,R.jsxs)(`span`,{className:`truncate`,children:[QO(e.screens,`screen`),` · `,XO(e.updatedAt)]})]})})]}):(0,R.jsxs)(Sw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr) auto auto`,align:`llrr`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,R.jsx)(tk,{canvas:e}),(0,R.jsx)(b_,{top:e.title,bottom:(0,R.jsx)(`span`,{className:`truncate`,children:e.description??e.id})}),(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[12.5px] whitespace-nowrap text-muted`,children:[e.issues?(0,R.jsx)(fw,{tone:`danger`,children:QO(e.issues,`problem`)}):null,QO(e.screens,`screen`),` · `,QO(e.pages,`page`)]}),(0,R.jsx)(`span`,{className:`w-[92px] text-[12.5px] whitespace-nowrap text-muted`,children:XO(e.updatedAt)})]})},e.id)}),(0,R.jsx)(rk,{children:n})]}):(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Canvases`,count:0}),(0,R.jsx)(ww,{children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 py-6 text-center`,children:[(0,R.jsx)(`span`,{className:`text-[14px] text-ink2`,children:`No canvases yet.`}),(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`Ask your agent to design something, or run `,(0,R.jsx)(Q,{children:`design new <name>`}),` in the project.`]})]})}),(0,R.jsx)(rk,{children:n})]})}function ak({project:e}){let t=e.system;return t?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Design system`,right:(0,R.jsx)(P_,{to:`/system`,children:`Open`})}),(0,R.jsxs)(ww,{gap:6,children:[(0,R.jsx)(`span`,{className:`text-[15px] font-semibold`,children:t.name}),t.description?(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:t.description}):null]}),(0,R.jsx)(Cw,{label:`Tokens`,labelWidth:120,end:!0,children:(0,R.jsx)(pw,{value:t.tokens})}),(0,R.jsx)(Cw,{label:`Components`,labelWidth:120,end:!0,children:(0,R.jsx)(pw,{value:t.components})}),(0,R.jsx)(Cw,{label:`Guidelines`,labelWidth:120,end:!0,children:(0,R.jsx)(pw,{value:t.guidelines})}),t.issues?(0,R.jsx)(Cw,{label:`Problems`,labelWidth:120,end:!0,children:(0,R.jsx)(fw,{tone:`danger`,children:t.issues})}):null]}):(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Design system`}),(0,R.jsx)(ww,{children:(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`No design system yet. Ask your agent to build one from the codebase, or run `,(0,R.jsx)(Q,{children:`design system init`}),`.`]})})]})}function ok(){return(0,R.jsxs)(kw,{children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2.5 pt-1 pb-1`,children:[(0,R.jsx)($O,{className:`h-6 w-[220px]`}),(0,R.jsx)($O,{className:`h-3.5 w-[300px]`})]}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Canvases`}),(0,R.jsx)(ek,{rows:3,lead:86,minH:74})]}),(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Design system`}),(0,R.jsx)(ek,{rows:3,lead:0,minH:40})]})]})]})}function sk(){let{data:e,error:t,isLoading:n}=$g(),{slots:r}=Xg(),i=rC();return t?(0,R.jsx)(Pw,{title:`Could not load the project`,text:t.message}):n||!e?(0,R.jsx)(ok,{}):(0,R.jsxs)(kw,{children:[(0,R.jsx)(Aw,{title:e.name,right:i?void 0:r.homeActions,badge:i&&r.homeActions?(0,R.jsx)(`span`,{className:`ml-auto flex`,children:r.homeActions}):void 0,sub:r.homeSub?r.homeSub:e.static?`Snapshot built with foss-design ${e.version}`:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(Q,{size:12.5,wrap:!0,children:[e.root,`/.design`]}),` `,`· foss-design `,e.version]})}),(0,R.jsx)(Ew,{issues:e.issues,title:`Problems in design.json`}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,R.jsx)(ik,{project:e}),(0,R.jsx)(ak,{project:e})]}),r.homeAfter]})}function ck(e){let t=e.utility;if(t===void 0)return[];let n=t?`-${t}`:``;switch(e.kind){case`color`:return[`bg${n}`,`text${n}`,`border${n}`];case`font`:return[`font${n}`];case`text`:return[`text${n}`];case`weight`:return[`font${n}`];case`leading`:return[`leading${n}`];case`tracking`:return[`tracking${n}`];case`spacing`:return t?[`p${n}`,`gap${n}`]:[`p-1`,`gap-4`,`m-2`];case`radius`:return[`rounded${n}`];case`shadow`:return e.name.startsWith(`--inset-shadow-`)?[`inset-shadow${n}`]:e.name.startsWith(`--drop-shadow-`)?[`drop-shadow${n}`]:e.name.startsWith(`--text-shadow-`)?[`text-shadow${n}`]:[`shadow${n}`];case`blur`:return[`blur${n}`,`backdrop-blur${n}`];case`ease`:return[`ease${n}`];case`animation`:return[`animate${n}`];case`breakpoint`:return e.name.startsWith(`--container-`)?[`@${t}:`,`max-w${n}`]:[`${t}:`];default:return[]}}function lk(e,...t){return e.filter(e=>t.includes(e.kind))}function uk(e){let t=new Map;for(let n of e){let e=t.get(n.group)??[];e.push(n),t.set(n.group,e)}return[...t].map(([e,t])=>({group:e,tokens:t}))}function dk(e){let t=/^(-?[\d.]+)(px|rem|em)?$/.exec(e.trim());if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?t[2]===`rem`||t[2]===`em`?n*16:n:null}function fk(e,t){return(t===`dark`?e.dark?.value:void 0)??e.light?.value}function pk(){let e=__(),[t,n]=(0,v.useState)(null);return[t??e,n]}function mk({value:e,onChange:t}){return(0,R.jsx)(Vw,{label:`Theme`,size:`sm`,value:e,onChange:t,items:[{value:`light`,label:(0,R.jsx)(Z,{name:`sun`,size:14}),title:`Light`},{value:`dark`,label:(0,R.jsx)(Z,{name:`moon`,size:14}),title:`Dark`}]})}function hk({items:e}){return e.length?(0,R.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 gap-y-0.5`,children:e.map(e=>(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e},e))}):null}function gk({title:e,children:t}){return(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:e}),(0,R.jsx)(ww,{children:(0,R.jsx)(`div`,{className:`py-4 text-[13px] text-muted`,children:t})})]})}var _k=`.design/system/tokens.css`;function vk({children:e,className:t}){return(0,R.jsx)(`span`,{className:`font-mono text-[12px] text-muted [overflow-wrap:anywhere] ${t??``}`,children:e})}function yk({asset:e,index:t}){if(e.kind===`image`)return(0,R.jsx)(`span`,{className:`checker flex h-[132px] items-center justify-center overflow-hidden border-b border-rule`,children:(0,R.jsx)(`img`,{src:e.url,alt:``,className:`max-h-[96px] max-w-[80%] object-contain`})});if(e.kind===`font`){let n=`design-asset-font-${t}`;return(0,R.jsxs)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft`,children:[(0,R.jsx)(`style`,{children:`@font-face{font-family:"${n}";src:url("${e.url.replace(/"/g,`%22`)}")}`}),(0,R.jsx)(`span`,{className:`text-[52px] leading-none text-ink`,style:{fontFamily:`"${n}", var(--font-sans)`},children:`Aa`})]})}return(0,R.jsx)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft text-muted`,children:(0,R.jsx)(Z,{name:`file`,size:28})})}function bk({system:e}){return e.assets.length?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Assets`,sub:`Click an asset to copy its import path.`}),(0,R.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(210px, 1fr))`},children:e.assets.map((e,t)=>(0,R.jsx)(`button`,{type:`button`,title:`Copy the import path`,onClick:()=>IC(`@system/${e.path}`),className:`block cursor-pointer border-0 bg-transparent p-0 text-left`,children:(0,R.jsxs)(mw,{className:`transition-colors hover:border-rule-strong`,children:[(0,R.jsx)(yk,{asset:e,index:t}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-3.5 py-2.5`,children:[(0,R.jsx)(`span`,{className:`truncate text-[13.5px] font-medium text-ink`,children:e.name}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[12.5px] text-muted`,children:[(0,R.jsx)(`span`,{className:`shrink-0`,children:ZO(e.size)}),(0,R.jsx)(Q,{size:12,className:`truncate`,children:e.path})]})]})]})},e.path))})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Assets`}),(0,R.jsxs)(gk,{title:`No assets`,children:[`Put logos, icons, images and font files in `,(0,R.jsx)(Q,{children:`.design/system/assets`}),`; screens import them as`,` `,(0,R.jsx)(Q,{children:`@system/assets/…`}),`.`]})]})}function xk({color:e,label:t,className:n}){return e?(0,R.jsx)(`span`,{title:`${t}: ${e}`,className:X(`checker relative h-[30px] w-[44px] shrink-0 overflow-hidden rounded-[6px]`,n),children:(0,R.jsx)(`span`,{className:`absolute inset-0 rounded-[6px] shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.12)]`,style:{background:e}})}):(0,R.jsx)(`span`,{className:X(`h-[30px] w-[44px] shrink-0`,n)})}function Sk({tokens:e}){let t=e.some(e=>e.dark),n=t=>(0,R.jsxs)(`div`,{className:`relative flex h-9 min-w-0 grow overflow-hidden rounded-[6px]`,children:[(0,R.jsx)(`span`,{className:`pointer-events-none absolute inset-0 z-10 rounded-[6px] shadow-[inset_0_0_0_1px_var(--rule-strong)] opacity-60`}),e.map(e=>{let n=t===`dark`?e.dark?.value??e.light?.value:e.light?.value;return(0,R.jsx)(`button`,{type:`button`,title:`${e.name}: ${n}`,onClick:()=>IC(`var(${e.name})`),className:`h-full min-w-0 flex-1 cursor-pointer border-0 p-0 transition-[flex-grow] duration-150 hover:grow-[1.6]`,style:{background:n}},e.name)})]});return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-rule px-4 py-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[t?(0,R.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Light`}):null,n(`light`)]}),t?(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Dark`}),n(`dark`)]}):null]})}function Ck({token:e}){return(0,R.jsxs)(xw,{cols:`100px minmax(170px, 0.9fr) minmax(0, 1.4fr)`,minH:56,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(xk,{color:e.light?.value,label:`Light`}),e.dark?(0,R.jsx)(xk,{color:e.dark.value,label:`Dark`}):null]}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(hk,{items:ck(e).slice(0,2)})]}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-wrap gap-x-3`,children:[(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),e.dark?(0,R.jsxs)(Q,{size:12,className:`text-muted`,children:[`dark `,e.dark.value]}):null]}),e.description?(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description}):null]})]})}function wk({system:e}){let t=lk(e.tokens,`color`),n=uk(t);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Colors`,sub:t.length?`${t.length} tokens · click a color to copy its variable`:void 0}),n.length?n.map(({group:e,tokens:t})=>(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:e,count:t.length}),(0,R.jsx)(Sk,{tokens:t}),t.map(e=>(0,R.jsx)(Ck,{token:e},e.name))]},e)):(0,R.jsxs)(gk,{title:`No color tokens`,children:[`Add them to `,(0,R.jsx)(Q,{children:_k}),`: light values in `,(0,R.jsx)(Q,{children:`:root`}),`, dark ones in`,` `,(0,R.jsx)(Q,{children:`:root[data-theme="dark"]`}),`, and map them to Tailwind with `,(0,R.jsx)(Q,{children:`--color-*`}),` in`,` `,(0,R.jsx)(Q,{children:`@theme inline`}),`.`]})]})}function Tk({src:e,theme:t,title:n,minHeight:r=120,width:i,className:a}){let o=(0,v.useRef)(null),{frameSandbox:s}=Xg(),[c]=(0,v.useState)(()=>({src:e,theme:t})),l=XC(e,c.src===e?c.theme:t),[u,d]=(0,v.useState)(r),[f,p]=(0,v.useState)(!1),[m,h]=(0,v.useState)([]);return(0,v.useEffect)(()=>{let e=o.current;if(e)return p(!1),h([]),WC(e,e=>{e.type===`size`?d(Math.max(r,e.height)):e.type===`ready`?p(!0):e.type===`error`?h(t=>t.includes(e.message)?t:[...t,e.message]):e.type===`updated`&&h([])})},[r,l]),(0,v.useEffect)(()=>{qC(o.current,t)},[t]),(0,R.jsxs)(`div`,{className:X(`relative`,a),style:{width:i},children:[m.length?(0,R.jsxs)(`div`,{className:`flex items-start gap-2 border-b border-rule bg-danger-soft px-4 py-2.5 text-[12.5px] text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:15,className:`mt-px`}),(0,R.jsx)(`div`,{className:`min-w-0 font-mono break-words`,children:m.join(`
|
|
130
|
+
`)})]}):null,(0,R.jsx)(`iframe`,{ref:o,src:l,title:n,sandbox:s,className:X(`block w-full border-0 transition-opacity duration-150`,f?`opacity-100`:`opacity-0`),style:{height:u,colorScheme:t},onLoad:()=>qC(o.current,t)},l),f?null:(0,R.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted`,children:(0,R.jsx)(Z,{name:`loader`,size:18})})]})}var Ek=`identifier keyword string class property entity jsxliterals sign comment break space`.split(` `),[Dk,Ok,kk,Ak,jk,Mk,Nk,Pk,Fk,Ik,Lk]=Ek.map((e,t)=>t);new Map(Ek.map((e,t)=>[e,t]));function Rk(e,t){let n=[],r=0,i=[],a=!1;function o(e){n.push({index:r++,value:e.map(([,e])=>e).join(``),tokens:e.map(([e,t])=>({type:Ek[e],value:t})),annotations:[]})}for(let e=0;e<t.length;e++){let n=t[e],[r,s]=n;if(r!==Ik){if(s.includes(`
|
|
131
131
|
`)){let e=s.split(`
|
|
132
|
-
`);for(let t=0;t<e.length;t++)i.push([r,e[t]]),t<e.length-1&&(o(i),i.length=0)}else i.push(n);a=!1}else a?o([]):(o(i),i.length=0),e===t.length-1&&o([]),a=!0}return i.length&&o(i),{value:e,lines:n}}function
|
|
133
|
-
`):e.lines.map(e=>{let t=
|
|
134
|
-
`)}var
|
|
135
|
-
`){l(
|
|
136
|
-
`?1:e+t===`*/`?2:0
|
|
137
|
-
`),
|
|
138
|
-
`?1:e+t===`*/`?2:0,
|
|
139
|
-
`)}function
|
|
140
|
-
`;if(T()){if(ee())return
|
|
132
|
+
`);for(let t=0;t<e.length;t++)i.push([r,e[t]]),t<e.length-1&&(o(i),i.length=0)}else i.push(n);a=!1}else a?o([]):(o(i),i.length=0),e===t.length-1&&o([]),a=!0}return i.length&&o(i),{value:e,lines:n}}function zk(e,t){let n={index:e.index,value:e.value,tokens:e.tokens,annotations:e.annotations,className:`sh__line${e.annotations.map(e=>` sh__line--${e}`).join(``)}`,style:{},properties:{}};return t?.(n),n}function Bk({type:e,value:t},n,r){let i=n?.[e],a={type:e,value:t,className:`sh__token--${e}${i?` ${i}`:``}`,style:{color:`var(--sh-${e})`},properties:{}};return r?.(a),a}function Vk(e,t){let n=t?.cx,r=t?.mark,i=t?.markLine;return!n&&!r&&!i?e.lines.map(e=>{let t=`sh__line${e.annotations.map(e=>` sh__line--${e}`).join(``)}`,n=e.tokens.map(({type:e,value:t})=>`<span class="sh__token--${e}" style="color:var(--sh-${e})">${Uk(t)}</span>`).join(``);return`<span class="${Uk(t)}">${n}</span>`}).join(`
|
|
133
|
+
`):e.lines.map(e=>{let t=zk(e,i),a=e.tokens.map(e=>{let t=Bk(e,n,r);return`<span ${Wk({...t.properties,className:t.className,style:t.style})}>${Uk(t.value)}</span>`}).join(``);return`<span ${Wk({...t.properties,className:t.className,style:t.style})}>${a}</span>`}).join(`
|
|
134
|
+
`)}var Hk={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Uk=e=>e.replace(/[&<>"']/g,e=>Hk[e]);function Wk(e){let t=Object.entries(e.style||{}).map(([e,t])=>`${e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}:${t}`).join(`;`),n=Object.entries(e).filter(([e,t])=>/^[\w:-]+$/.test(e)&&e!==`className`&&e!==`style`&&t!==!1&&t!=null).map(([e,t])=>t===!0?e:`${e}="${Uk(String(t))}"`).join(` `);return`class="${Uk(e.className||``)}"${t?` style="${Uk(t)}"`:``}${n?` ${n}`:``}`}var Gk=new Set(`+-*/%=!&|^~?:.,;()[]{}<>#@\\`.split(``)),Kk=()=>0,qk=e=>e===`_`||e===`$`||/[\p{L}\p{N}]/u.test(e);function Jk(e,t){for(;t<e.length&&/\s/.test(e[t]);)t++;return e[t]===`:`}function Yk(e,t){if(typeof t?.tokenize==`function`)return t.tokenize(e,t);let n=t?.keywords||new Set,r=t?.typeKeywords||new Set,i=t?.onCommentStart||Kk,a=t?.onCommentEnd||Kk,o=t?.caseInsensitive?e=>e.toLowerCase():e=>e,s=[],c=``;function l(e,t){t&&(s.push([e,t]),e!==Lk&&e!==Ik&&(c=t))}for(let s=0;s<e.length;){let u=e[s],d=e[s+1],f=i(u,d,s,e);if(f){let t=s++;for(;s<e.length;){if(a(e[s-1],e[s],s,e,t)==f){s++;break}s++}l(Fk,e.slice(t,s));continue}let p=t?.onLiteral?.(u,s,e);if(p){l(kk,e.slice(s,s+p)),s+=p;continue}if(typeof t?.onQuote==`function`&&u===`'`){let n=t.onQuote(u,s,e);if(typeof n==`number`&&n>=1){l(Dk,e.slice(s,s+n)),s+=n;continue}}if(u===`"`||u===`'`||t?.templateStrings&&u==="`"){let n=u,r=s++;for(;s<e.length;){if(e[s]===`\\`)s++;else if(e[s]===n){s++;break}s++}let i=e.slice(r,s);l(t?.quotedKeys&&Jk(e,s)?jk:kk,i);continue}if(u===`
|
|
135
|
+
`){l(Ik,u),s++;continue}if(/[^\S\r\n]/.test(u)){let t=s++;for(;s<e.length&&/[^\S\r\n]/.test(e[s]);)s++;l(Lk,e.slice(t,s));continue}if(qk(u)){let t=s++;for(;s<e.length&&qk(e[s]);)s++;if(/^\d/.test(u)&&e[s]===`.`&&/\d/.test(e[s+1]||``))for(s++;s<e.length&&qk(e[s]);)s++;let i=e.slice(t,s),a=o(i);l(r.has(a)?Ak:n.has(a)?Ok:c===`.`?jk:/^\d/.test(i)||i===`null`||/^\p{Lu}/u.test(i)?Ak:Dk,i);continue}if(Gk.has(u)){l(Pk,u),s++;continue}l(kk,u),s++}return s}function Xk(e,t){let n=Rk(e,Yk(e,t));if(t?.annotateLine)for(let e of n.lines)t.annotateLine(e);return n}var Zk=(e,t)=>{let n=e+t;return n===`//`?1:n===`/*`?2:0},Qk=(e,t)=>t===`
|
|
136
|
+
`?1:e+t===`*/`?2:0,$k=s({keywords:()=>tA,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>eA}),eA=new Set([`void`,`char`,`short`,`int`,`long`,`float`,`double`,`signed`,`unsigned`,`_Bool`,`_Complex`,`_Imaginary`]),tA=new Set(`auto.break.case.const.continue.default.do.else.enum.extern.for.goto.if.inline.register.restrict.return.sizeof.static.struct.switch.typedef.union.volatile.while._Alignas._Alignof._Atomic._Generic._Noreturn._Static_assert._Thread_local`.split(`.`)),nA=s({keywords:()=>rA,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>iA}),rA=new Set(`alignas.alignof.and.and_eq.asm.auto.bitand.bitor.break.case.catch.class.compl.concept.const.consteval.constexpr.constinit.const_cast.continue.co_await.co_return.co_yield.decltype.default.delete.do.dynamic_cast.else.enum.explicit.export.extern.false.for.friend.goto.if.inline.mutable.namespace.new.noexcept.not.not_eq.nullptr.operator.or.or_eq.private.protected.public.register.reinterpret_cast.requires.return.sizeof.static.static_assert.static_cast.struct.switch.template.this.thread_local.throw.true.try.typedef.typeid.typename.union.using.virtual.volatile.while.xor.xor_eq`.split(`.`)),iA=new Set([`bool`,`char`,`char8_t`,`char16_t`,`char32_t`,`double`,`float`,`int`,`long`,`short`,`signed`,`unsigned`,`void`,`wchar_t`]),aA=s({keywords:()=>oA,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>sA}),oA=new Set(`abstract.as.async.await.base.break.case.catch.checked.class.const.continue.default.delegate.do.else.enum.event.explicit.extern.false.finally.fixed.for.foreach.from.get.global.goto.if.implicit.in.init.interface.internal.into.is.join.let.lock.namespace.new.null.on.operator.orderby.out.override.params.partial.private.protected.public.readonly.record.ref.remove.required.return.sealed.select.set.sizeof.stackalloc.static.struct.switch.this.throw.true.try.typeof.unchecked.unsafe.using.value.virtual.volatile.when.where.while.with.yield`.split(`.`)),sA=new Set([`bool`,`byte`,`char`,`decimal`,`double`,`dynamic`,`float`,`int`,`long`,`nint`,`nuint`,`object`,`sbyte`,`short`,`string`,`uint`,`ulong`,`ushort`,`void`]),cA=s({keywords:()=>lA,onCommentEnd:()=>dA,onCommentStart:()=>uA,onLiteral:()=>fA,tokenize:()=>bA}),lA=new Set([`@media`,`@import`,`@keyframes`,`@font-face`,`@supports`,`@page`,`@counter-style`,`@font-feature-values`,`@viewport`,`@counter-style`,`@font-feature-values`,`@document`]),uA=(e,t)=>+(e+t===`/*`),dA=(e,t)=>+(e+t===`*/`),fA=(e,t,n)=>e===`#`&&n.slice(t).match(/^#(?:[\da-f]{8}|[\da-f]{6}|[\da-f]{4}|[\da-f]{3})(?![\w-])/i)?.[0].length||0,pA=e=>e===Lk||e===Ik||e===Fk,mA=([e,t])=>e===Dk||e===Ak||e===Pk&&t===`-`,hA=([e])=>e===Dk||e===Ak||e===jk,gA=e=>hA(e)&&!/^\d/.test(e[1]),_A=([e,t])=>e===Pk&&t===`-`,vA=e=>{for(let t=0;t<e.length;t++){let n=t,r=t;if(_A(e[r])){for(;e[r]&&_A(e[r]);)r++;if(!e[r]||!gA(e[r]))continue;n=r++}else if(gA(e[r]))r++;else continue;let i=n>t;for(;e[r]&&_A(e[r]);){let t=r;for(;e[r]&&_A(e[r]);)r++;if(!e[r]||!hA(e[r])){r=t;break}i=!0,r++}if(!i)continue;let a=e.slice(t,r).map(([,e])=>e).join(``);e.splice(t,r-t,[e[n][0],a])}},yA=(e,t)=>{let n=0,r=0;for(let i=t;i<e.length;i++){let[t,a]=e[i];if(t===Pk){if(a===`(`)n++;else if(a===`)`)n--;else if(a===`[`)r++;else if(a===`]`)r--;else if(!n&&!r&&a===`{`)return!0;else if(!n&&!r&&(a===`;`||a===`}`))return!1}}return!1},bA=(e,t)=>{let n=Yk(e,{...t,tokenize:void 0});vA(n);let r=0,i=!1;for(let e=0;e<n.length;e++){let[t,a]=n[e];if(t===Pk&&a===`{`){r++,i=!0;continue}if(t===Pk&&a===`}`){r--,i=!1;continue}if(t===Pk&&a===`;`){i=r>0;continue}if(!i||pA(t))continue;let o=e,s=e;for(;s<n.length&&mA(n[s]);)s++;let c=s;for(;c<n.length&&pA(n[c][0]);)c++;if(s>o&&n[c]?.[0]===Pk&&n[c][1]===`:`&&!yA(n,c+1)){let e=n.slice(o,s).map(([,e])=>e).join(``);n.splice(o,s-o,[jk,e])}i=!1}return n},xA=s({annotateLine:()=>CA,keywords:()=>SA}),SA=new Set([]),CA=e=>{let t=``;if(e.value.startsWith(`+`)&&!e.value.startsWith(`+++`))t=`diff-add`;else if(e.value.startsWith(`-`)&&!e.value.startsWith(`---`))t=`diff-remove`;else if(e.value.startsWith(`@@`))t=`diff-hunk`;else if(/^(diff --git|index |--- |\+\+\+ )/.test(e.value)){t=`diff-meta`;for(let t of e.tokens)t.type===`property`&&(t.type=`identifier`)}t&&e.annotations.push(t)},wA=e=>+(e===`#`),TA=(e,t)=>+(t===`
|
|
137
|
+
`),EA=s({caseInsensitive:()=>!0,keywords:()=>DA,onCommentEnd:()=>TA,onCommentStart:()=>wA}),DA=new Set([`add`,`arg`,`cmd`,`copy`,`entrypoint`,`env`,`expose`,`from`,`healthcheck`,`label`,`maintainer`,`onbuild`,`run`,`shell`,`stopsignal`,`user`,`volume`,`workdir`]),OA=s({keywords:()=>AA,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>kA}),kA=new Set([`bool`,`byte`,`complex64`,`complex128`,`error`,`float32`,`float64`,`int`,`int8`,`int16`,`int32`,`int64`,`rune`,`string`,`uint`,`uint8`,`uint16`,`uint32`,`uint64`,`uintptr`]),AA=new Set([`break`,`case`,`chan`,`const`,`continue`,`default`,`defer`,`else`,`fallthrough`,`for`,`func`,`go`,`goto`,`if`,`import`,`interface`,`map`,`package`,`range`,`return`,`select`,`struct`,`switch`,`type`,`var`]),jA=s({keywords:()=>MA,onCommentEnd:()=>TA,onCommentStart:()=>wA,typeKeywords:()=>NA}),MA=new Set([`directive`,`enum`,`extend`,`fragment`,`implements`,`input`,`interface`,`mutation`,`on`,`query`,`repeatable`,`scalar`,`schema`,`subscription`,`type`,`union`]),NA=new Set([`Boolean`,`Float`,`ID`,`Int`,`String`]),PA=s({keywords:()=>FA,onCommentEnd:()=>LA,onCommentStart:()=>IA}),FA=new Set([`false`,`for`,`if`,`in`,`null`,`true`]),IA=(e,t)=>e===`#`||e+t===`//`?1:e+t===`/*`?2:0,LA=(e,t)=>t===`
|
|
138
|
+
`?1:e+t===`*/`?2:0,RA=new Set([`<`,`>`,`{`,`}`,`[`,`]`]),zA=new Set(`for.do.while.if.else.return.function.var.let.const.true.false.undefined.this.new.delete.typeof.in.instanceof.void.break.continue.switch.case.default.throw.try.catch.finally.debugger.with.yield.async.await.class.extends.super.import.export.from.static`.split(`.`)),BA=new Set([...zA,`type`,`interface`,`enum`,`implements`,`readonly`,`abstract`,`declare`,`namespace`,`module`,`private`,`protected`,`public`,`override`,`keyof`,`infer`,`is`,`asserts`,`satisfies`,`as`,`unknown`,`never`,`any`,`number`,`string`,`boolean`,`bigint`,`symbol`,`object`]),VA=new Set([`+`,`-`,`*`,`/`,`%`,`=`,`!`,`&`,`|`,`^`,`~`,`!`,`?`,`:`,`.`,`,`,`;`,`'`,`"`,`.`,`(`,`)`,`[`,`]`,`#`,`@`,`\\`,...RA]),HA={keywords:zA,onCommentStart:tj,onCommentEnd:nj,jsx:!0,regex:!0,templateStrings:!0};function UA(e){return{...HA,...e}}function WA(e){let t=0;return/\binterface\s+[A-Za-z_$][\w$]*/.test(e)&&(t+=2),/\btype\s+[A-Za-z_$][\w$]*\s*=/.test(e)&&(t+=2),/\benum\s+[A-Za-z_$][\w$]*/.test(e)&&(t+=2),/\b(?:implements|readonly|declare|namespace|satisfies|infer|keyof|asserts)\b/.test(e)&&(t+=2),/:\s*[A-Za-z_$][\w$]*(?:<[^>\n]+>)?(?:\[\])?(?=\s*[,)=;{])/m.test(e)&&(t+=1),/\b(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*:\s*/.test(e)&&(t+=1),/\)\s*:\s*[A-Za-z_$][\w$]*(?:<[^>\n]+>)?(?:\[\])?\s*(?:=>|\{)/.test(e)&&(t+=1),t>=2}function GA(e,t){if(e[t]!==`<`)return!1;let n=0,r=!1;for(let i=t;i<e.length;i++){let t=e[i];if(t===`<`){n++;continue}if(t===`>`){if(n--,n===0){let t=i+1;for(;t<e.length&&/\s/.test(e[t]);)t++;if(!(r&&e[t]===`(`))return!1;let n=e.slice(t,t+320);return/\)\s*(?::[\s\S]{0,120}?)?=>/.test(n)}continue}if(n!==0){if(/[$A-Za-z_]/.test(t)){r=!0;continue}if(!/[\s,\.\=\?\:\|\&\[\]]/.test(t))return!1}}return!1}function KA(e){return/^[^\S\r\n]+$/g.test(e)}function qA(e){return VA.has(e)}function JA(e){return/^[\w$\u0080-\uffff]+$/.test(e||``)}function YA(e){return/^[0-9A-Z\p{Lu}]/u.test(e)||e===`null`}function XA(e){return/^[a-zA-Z]$/.test(e)}function ZA(e){return/^[$_A-Za-z\u0080-\uffff]$/.test(e||``)}function QA(e){return ZA(e[0])&&JA(e)}function $A(e){return e==="`"}function ej(e){return e===`"`||e===`'`}function tj(e,t){let n=e+t;return n===`/*`?2:+(n===`//`)}function nj(e,t){return e+t===`*/`?2:+(t===`
|
|
139
|
+
`)}function rj(e){return e[0]===`/`&&!tj(e[0],e[1])}function ij(e,t){let n=t+1;for(;n<e.length&&/\s/.test(e[n]);)n++;return e[n]===`:`}function aj(e,t){let n=UA(t),r=n.keywords!==HA.keywords,i=typeof n.typescript==`boolean`?n.typescript:WA(e),a=r?n.keywords:i?BA:zA,{onCommentStart:o,onCommentEnd:s}=n,c=n.typeKeywords instanceof Set?n.typeKeywords:null,l=n.jsx!==!1,u=n.regex!==!1,d=n.templateStrings!==!1,f=n.caseInsensitive?e=>e.toLowerCase():e=>e,p=e=>d&&$A(e),m=``,h=-1,g=[-1,``],_=[-2,``],v=[],y=!1,b=0,x=0,S=0,C=0,w=()=>y&&!x&&!b,T=()=>b,E=()=>w()&&C,D=null,O=0,k=!1,A=0,j=0,ee=()=>D!==null,te=()=>k,M=()=>j>A,N=()=>j>0&&j===A,ne=()=>ee()||M();function re(e){let t=e===`
|
|
140
|
+
`;if(T()){if(ee())return kk;let[,t]=g;if(QA(e)){if(t===`<`||t===`</`)return Mk;if(!S&&/^\s+$/.test(v[v.length-1]?.[1]||``))return jk}}if(E())return Nk;if(ee()||M())return kk;if(c&&c.has(f(e)))return g[1]===`.`?Dk:Ak;if(a.has(f(e)))return g[1]===`.`?Dk:Ok;if(t)return Ik;if(KA(e))return Lk;if(e.split(``).every(qA))return Pk;if(YA(e))return T()&&!S?Dk:Ak;if(QA(e)){let e=g[1]===`.`&&QA(_[1]);if(!ne()&&!e)return Dk;if(e)return jk}return kk}let P=(e,t)=>{if(t&&(m=t),m){h=typeof e==`number`?e:re(m);let t=[h,m];h!==Lk&&h!==Ik&&(_=g,g=t),T()&&h===Pk&&(m===`{`&&S++,m===`}`&&S--),v.push(t)}m=``};for(let t=0;t<e.length;t++){let r=e[t],i=e[t-1],c=e[t+1],d=i+r,f=r+c;if(typeof n.onQuote==`function`&&r===`'`&&!ee()&&!E()&&!M()){let i=n.onQuote(r,t,e);if(typeof i==`number`&&i>=1&&!Number.isNaN(i)){let n=Math.min(i,e.length-t),r=t+n;P(),m=e.slice(t,r),P(Dk),t=r-1;continue}}if(ej(r)&&!E()&&!M()){P();let i=!1;if(D&&r===D?(D=null,i=!0):D||(D=r,O=v.length),P(kk,r),n.quotedKeys&&i&&ij(e,t))for(let e=O;e<v.length;e++)v[e][0]=jk;continue}if(p(r)){P(),j+=M()?-1:1,P(kk,r);continue}if(M()&&f==="${"){A++,P(kk),P(Pk,f),t++;continue}if(N()&&r===`}`){P(),A--,P(Pk,r);continue}if(w()&&r===`{`){P(),P(Pk,r),x=1;continue}if(y){if(!b&&r===`<`){P(),c===`/`?(b=2,m=f,t++):(b=1,m=r),P(Pk);continue}if(b){if(r===`>`&&!`/=`.includes(i)){P(),b===1?(b=0,C++):(b=0,y=!1),P(Pk,r);continue}if(f===`/>`||f===`</`){m!==`<`&&m!==`/`&&P(),f===`/>`?b=0:C--,C||(y=!1),m=f,t++,P(Pk);continue}if(r===`<`){P(),m=r,P(Pk);continue}if(r===`-`&&m&&!ne()&&!E()){let n=t+1;for(;n<e.length&&/[$\w-]/.test(e[n]);)n++;P(jk,m+e.slice(t,n)),t=n-1;continue}if(c===`=`&&!ne()&&!KA(r)){KA(m)&&P();let e=m+r;if(QA(e)){P(jk,e);continue}}}}if(l&&!b&&(r===`<`&&ZA(c)||f===`</`)){let n=t-1;for(;n>=0&&/\s/.test(e[n]);)n--;let i=n>=0?e[n]:``,[o,s]=g,l=!1,u=!1;if(m&&!KA(m)){let e=m;YA(e)||e===`true`||e===`false`?l=!0:a.has(e)&&QA(e)?u=!0:QA(e)&&(l=!0)}let d=r===`<`&&/[$\w\]\)]/.test(i)&&(l||!u&&(o===Dk||o===Ak||o===Pk&&(s===`)`||s===`]`))),f=r===`<`&&GA(e,t);!d&&!f&&(b=c===`/`?2:1),r===`<`&&(c===`/`||XA(c))&&!d&&!f&&!ne()&&!E()&&!te()&&(y=!0)}let h=ej(r)||p(r),_=M(),S=u&&!y&&rj(f),T=E();if(h||_||ej(D))m+=r,r===`\\`&&(m+=e[++t]||``);else if(S){P();let[n,i]=g;if(S&&n!==-1&&!(n===Pk&&i!==`)`||n===Fk)){m=r,P();continue}k=!0;let a=t++,o=!1,s=!1;for(;t<e.length&&e[t]!==`
|
|
141
141
|
`;t++){let n=e[t];if(n===`\\`){if(e[t+1]===`
|
|
142
|
-
`)break;t++;continue}if(n===`[`&&(s=!0),n===`]`&&(s=!1),n===`/`&&!s){for(o=!0;/^[a-z]$/.test(e[t+1]);)t++;break}}k=!1,a!==t&&o?(m=e.slice(a,t+1),P(
|
|
143
|
-
`){if(r===` `&&(
|
|
144
|
-
`)return 1;if(t!==`]`)return 0;let a=r.slice(i).match(/^--\[(=*)\[/);if(!a)return 0;let o=`]${a[1]}]`;return r.slice(n-o.length+1,n+1)===o?2:0}function
|
|
142
|
+
`)break;t++;continue}if(n===`[`&&(s=!0),n===`]`&&(s=!1),n===`/`&&!s){for(o=!0;/^[a-z]$/.test(e[t+1]);)t++;break}}k=!1,a!==t&&o?(m=e.slice(a,t+1),P(kk)):(m=r,P(),t=a)}else if(o(r,c,t,e)){P();let n=t,i=o(r,c,t,e);if(i)for(;t<e.length&&s(e[t-1],e[t],t,e)!=i;t++);m=e.slice(n,t+1),P(Fk)}else if(r===` `||r===`
|
|
143
|
+
`){if(r===` `&&(KA(m)||!m||T)){let n=t+1;for(;e[n]===` `;)n++;m+=e.slice(t,n),t=n-1,e[n]===`<`&&P()}else P(),m=r,P()}else x&&r===`}`?(P(),m=r,P(),x--):T&&!RA.has(r)||M()||(JA(r)===JA(m[m.length-1])||w())&&!VA.has(r)?m+=r:(d===`</`&&(m=d),P(),d!==`</`&&(m=r),f===`</`||f===`/>`?(m=f,P(),t++):RA.has(r)&&P()),x&&r===`{`&&x++}return P(),v}var oj=s({tokenize:()=>sj}),sj=aj,cj={keywords:new Set,jsx:!0,regex:!1,templateStrings:!1,onCommentStart:(e,t,n,r)=>r.startsWith(`<!--`,n)?2:0,onCommentEnd:(e,t,n,r)=>r.slice(n-2,n+1)===`-->`?2:0},lj=e=>sj(e,cj),uj=/^<\s*(script|style)\b/i,dj=e=>RegExp(`</\\s*${e}\\s*>`,`ig`);function fj(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(n)t===n&&(n=``);else if(t===`"`||t===`'`)n=t;else if(t===`>`)return r+1}return-1}function pj(e){let t=[],n=0;for(;n<e.length;){if(e.startsWith(`<!--`,n)){let t=e.indexOf(`-->`,n+4);n=t===-1?e.length:t+3;continue}if(e[n]!==`<`){n++;continue}let r=fj(e,n);if(r===-1)break;let i=e.slice(n,r).match(uj);if(!i){n=r;continue}let a=i[1].toLowerCase(),o=dj(a);o.lastIndex=r;let s=o.exec(e);if(!s){n=r;continue}t.push({start:n,openEnd:r,closeStart:s.index,end:o.lastIndex,tag:a}),n=o.lastIndex}return t}function mj(e){let t=[],n=0;for(let r of pj(e)){let{start:i,openEnd:a,closeStart:o,end:s,tag:c}=r;t.push(...lj(e.slice(n,i))),t.push(...lj(e.slice(i,a))),t.push(...c===`style`?bA(e.slice(a,o)):sj(e.slice(a,o),{jsx:!1})),t.push(...lj(e.slice(o,s))),n=s}return t.push(...lj(e.slice(n))),t}var hj=s({jsx:()=>!0,keywords:()=>gj,onCommentEnd:()=>yj,onCommentStart:()=>vj,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>_j}),gj=new Set([]),_j=mj,vj=(e,t,n,r)=>r.startsWith(`<!--`,n)?2:0,yj=(e,t,n,r)=>r.slice(n-2,n+1)===`-->`?2:0,bj=s({keywords:()=>Sj,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>xj}),xj=new Set([`boolean`,`byte`,`char`,`double`,`float`,`int`,`long`,`short`,`void`]),Sj=new Set(`abstract.assert.break.case.catch.class.const.continue.default.do.else.enum.extends.final.finally.for.goto.if.implements.import.instanceof.interface.native.new.package.private.protected.public.return.static.strictfp.super.switch.synchronized.this.throw.throws.transient.try.volatile.while`.split(`.`)),Cj=s({keywords:()=>wj,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,quotedKeys:()=>!0}),wj=new Set([`true`,`false`,`null`]),Tj=s({keywords:()=>Ej,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>Dj}),Ej=new Set(`as.break.by.catch.class.companion.const.constructor.continue.data.do.else.enum.false.finally.for.fun.get.if.import.in.infix.init.interface.internal.is.lateinit.noinline.null.object.open.operator.out.override.package.private.protected.public.reified.return.sealed.set.suspend.tailrec.this.throw.true.try.typealias.val.var.vararg.when.where.while`.split(`.`)),Dj=new Set([`Any`,`Boolean`,`Byte`,`Char`,`Double`,`Float`,`Int`,`Long`,`Nothing`,`Short`,`String`,`Unit`]),Oj=s({keywords:()=>kj,onCommentEnd:()=>jj,onCommentStart:()=>Aj,onLiteral:()=>Mj}),kj=new Set([`and`,`break`,`do`,`else`,`elseif`,`end`,`false`,`for`,`function`,`goto`,`if`,`in`,`local`,`nil`,`not`,`or`,`repeat`,`return`,`then`,`true`,`until`,`while`]);function Aj(e,t,n,r){return e===`#`&&n===0&&t===`!`?1:e+t===`--`?/^--\[=*\[/.test(r.slice(n))?2:1:0}function jj(e,t,n,r,i){if(t===`
|
|
144
|
+
`)return 1;if(t!==`]`)return 0;let a=r.slice(i).match(/^--\[(=*)\[/);if(!a)return 0;let o=`]${a[1]}]`;return r.slice(n-o.length+1,n+1)===o?2:0}function Mj(e,t,n){if(e!==`[`)return 0;let r=n.slice(t).match(/^\[(=*)\[/);if(!r)return 0;let i=`]${r[1]}]`,a=n.indexOf(i,t+r[0].length);return a===-1?n.length-t:a+i.length-t}var Nj=()=>0,Pj=()=>0,Fj=s({annotateLine:()=>Rj,keywords:()=>Ij,onCommentEnd:()=>Pj,onCommentStart:()=>Nj,tokenize:()=>Lj}),Ij=new Set([]),Lj=e=>{let t=[],n=``,r=!1,i=(e,n)=>{if(!n)return;let r=t[t.length-1];r?.[0]===e?r[1]+=n:t.push([e,n])};for(let t of e.match(/[^\n]*(?:\n|$)/g)||[]){if(!t)continue;let e=t.endsWith(`
|
|
145
145
|
`)?`
|
|
146
|
-
`:``,a=e?t.slice(0,-1):t,o=[],s=a.match(/^(?: {0,3}>[ \t]?)*/)?.[0]||``;if(!n||r)for(let e of s.matchAll(/>/g))o.push([e.index,e.index+1]);let c=s.length,l=0;for(;l<3&&a[c]===` `;)c++,l++;let u=a.slice(c).match(/^(`{3,}|~{3,})/)?.[1];if(n)u?.[0]===n[0]&&u.length>=n.length&&/^\s*$/.test(a.slice(c+u.length))&&(o.push([c,c+u.length]),n=``,r=!1);else if(u)o.push([c,c+u.length]),n=u,r=s.includes(`>`);else{let e=a.slice(c).match(/^(#{1,6}(?=\s)|(?:[-+*]|\d+[.)])(?=\s)|(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$)/)?.[1];e&&o.push([c,c+e.length]);for(let e of a.matchAll(/(`+)(.*?)\1|(\*{1,3}|_{1,3}|~{2})(?=\S)(.*?\S)\3/g)){let t=e[1]||e[3];a[e.index-1]===`\\`||t[0]===`_`&&/\w/.test(a[e.index-1]||``)||o.push([e.index,e.index+t.length],[e.index+e[0].length-t.length,e.index+e[0].length])}}let d=0;for(let[e,t]of o.sort((e,t)=>e[0]-t[0]))e<d||(i(
|
|
147
|
-
`?1:e+t===`*/`?2:0,
|
|
148
|
-
`?1:e+t===`#>`?2:0,
|
|
149
|
-
`),
|
|
150
|
-
`?!1:/^=begin(?:\s|$)/.test(t.slice(e))}function
|
|
146
|
+
`:``,a=e?t.slice(0,-1):t,o=[],s=a.match(/^(?: {0,3}>[ \t]?)*/)?.[0]||``;if(!n||r)for(let e of s.matchAll(/>/g))o.push([e.index,e.index+1]);let c=s.length,l=0;for(;l<3&&a[c]===` `;)c++,l++;let u=a.slice(c).match(/^(`{3,}|~{3,})/)?.[1];if(n)u?.[0]===n[0]&&u.length>=n.length&&/^\s*$/.test(a.slice(c+u.length))&&(o.push([c,c+u.length]),n=``,r=!1);else if(u)o.push([c,c+u.length]),n=u,r=s.includes(`>`);else{let e=a.slice(c).match(/^(#{1,6}(?=\s)|(?:[-+*]|\d+[.)])(?=\s)|(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$)/)?.[1];e&&o.push([c,c+e.length]);for(let e of a.matchAll(/(`+)(.*?)\1|(\*{1,3}|_{1,3}|~{2})(?=\S)(.*?\S)\3/g)){let t=e[1]||e[3];a[e.index-1]===`\\`||t[0]===`_`&&/\w/.test(a[e.index-1]||``)||o.push([e.index,e.index+t.length],[e.index+e[0].length-t.length,e.index+e[0].length])}}let d=0;for(let[e,t]of o.sort((e,t)=>e[0]-t[0]))e<d||(i(Dk,a.slice(d,e)),i(Pk,a.slice(e,t)),d=t);i(Dk,a.slice(d)+e)}return t},Rj=e=>{let t=``;/^#{1,6}\s/.test(e.value)?t=`markdown-heading`:/^\s*>/.test(e.value)?t=`markdown-quote`:/^\s*(?:[-*+] |\d+[.)] )/.test(e.value)?t=`markdown-list`:/^\s*```/.test(e.value)&&(t=`markdown-fence`),t&&e.annotations.push(t)},zj=s({keywords:()=>Bj,onCommentEnd:()=>Uj,onCommentStart:()=>Hj,typeKeywords:()=>Vj}),Bj=new Set(`abstract.and.array.as.break.callable.case.catch.class.clone.const.continue.declare.default.do.echo.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.exit.extends.false.final.finally.fn.for.foreach.from.function.global.goto.if.implements.include.include_once.instanceof.insteadof.interface.isset.list.match.namespace.new.null.or.print.private.protected.public.readonly.require.require_once.return.static.switch.throw.trait.true.try.unset.use.var.while.xor.yield`.split(`.`)),Vj=new Set([`bool`,`float`,`int`,`iterable`,`mixed`,`never`,`object`,`string`,`void`]),Hj=(e,t)=>e===`#`||e+t===`//`?1:e+t===`/*`?2:0,Uj=(e,t)=>t===`
|
|
147
|
+
`?1:e+t===`*/`?2:0,Wj=s({tokenize:()=>Gj}),Gj=e=>[[Dk,e]],Kj=s({caseInsensitive:()=>!0,keywords:()=>qj,onCommentEnd:()=>Yj,onCommentStart:()=>Jj}),qj=new Set(`begin.break.catch.class.continue.data.define.do.dynamicparam.else.elseif.end.enum.exit.filter.finally.for.foreach.from.function.if.in.param.process.return.switch.throw.trap.try.until.using.while`.split(`.`)),Jj=(e,t)=>e===`#`?1:e+t===`<#`?2:0,Yj=(e,t)=>t===`
|
|
148
|
+
`?1:e+t===`#>`?2:0,Xj=s({keywords:()=>Zj,onCommentEnd:()=>$j,onCommentStart:()=>Qj}),Zj=new Set(`and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`)),Qj=(e,t)=>+(e===`#`),$j=(e,t)=>+(t===`
|
|
149
|
+
`),eM=s({keywords:()=>tM,onCommentEnd:()=>iM,onCommentStart:()=>rM}),tM=new Set(`BEGIN.END.__ENCODING__.__FILE__.__LINE__.alias.and.begin.break.case.class.def.defined.do.else.elsif.end.ensure.false.for.if.in.module.next.nil.not.or.redo.rescue.retry.return.self.super.then.true.undef.unless.until.when.while.yield`.split(`.`));function nM(e,t){return e>0&&t[e-1]!==`
|
|
150
|
+
`?!1:/^=begin(?:\s|$)/.test(t.slice(e))}function rM(e,t,n,r){return e===`#`?1:e===`=`&&nM(n,r)?2:0}function iM(e,t,n,r){if(t!==`
|
|
151
151
|
`)return 0;let i=r.lastIndexOf(`
|
|
152
|
-
`,n-1)+1,a=r.slice(i,n);return/^=end(?:\s|$)/.test(a)?2:1}var
|
|
153
|
-
`?1:e+t===`*/`?2:0,
|
|
154
|
-
`);function
|
|
152
|
+
`,n-1)+1,a=r.slice(i,n);return/^=end(?:\s|$)/.test(a)?2:1}var aM=s({keywords:()=>oM,onQuote:()=>sM}),oM=new Set(`as.break.const.continue.crate.else.enum.extern.false.fn.for.if.impl.in.let.loop.match.mod.move.mut.pub.ref.return.self.Self.static.struct.super.trait.true.type.unsafe.use.where.while.async.await.dyn.abstract.become.box.do.final.macro.override.priv.typeof.unsized.virtual.yield.try`.split(`.`));function sM(e,t,n){if(e!==`'`||t+1>=n.length)return 1;let r=n[t+1];if(r===`\\`){let e=t+2;for(;e<n.length;){if(n[e]===`\\`){e+=2;continue}if(n[e]===`'`)return e-t+1;e++}return n.length-t}if(r===`_`)return 2;if(/[a-zA-Z]/.test(r)){let e=t+2;for(;e<n.length&&/[a-zA-Z0-9_]/.test(n[e]);)e++;return e<n.length&&n[e]===`'`?e-t+1:e-t}return 1}var cM=s({keywords:()=>lM,onCommentEnd:()=>TA,onCommentStart:()=>wA}),lM=new Set([`case`,`coproc`,`do`,`done`,`elif`,`else`,`esac`,`export`,`fi`,`for`,`function`,`if`,`in`,`local`,`readonly`,`return`,`select`,`then`,`time`,`until`,`while`]),uM=s({caseInsensitive:()=>!0,keywords:()=>dM,onCommentEnd:()=>mM,onCommentStart:()=>pM,typeKeywords:()=>fM}),dM=new Set(`add.all.alter.and.as.asc.between.by.case.check.column.constraint.create.cross.database.default.delete.desc.distinct.drop.else.end.exists.foreign.from.full.group.having.in.index.inner.insert.into.is.join.key.left.like.limit.not.null.offset.on.or.order.outer.primary.references.right.select.set.table.then.union.unique.update.values.view.when.where.with`.split(`.`)),fM=new Set([`bigint`,`binary`,`bit`,`blob`,`boolean`,`char`,`date`,`datetime`,`decimal`,`double`,`float`,`int`,`integer`,`interval`,`json`,`numeric`,`real`,`smallint`,`text`,`time`,`timestamp`,`uuid`,`varchar`]),pM=(e,t)=>{let n=e+t;return n===`--`?1:n===`/*`?2:0},mM=(e,t)=>t===`
|
|
153
|
+
`?1:e+t===`*/`?2:0,hM=s({keywords:()=>gM,onCommentEnd:()=>Qk,onCommentStart:()=>Zk,typeKeywords:()=>_M}),gM=new Set(`as.associatedtype.break.case.catch.class.continue.convenience.default.defer.deinit.didSet.do.dynamic.else.enum.extension.fallthrough.false.fileprivate.final.for.func.get.guard.if.import.in.indirect.infix.init.inout.internal.is.lazy.let.mutating.nil.nonmutating.open.operator.override.precedencegroup.private.protocol.public.repeat.required.rethrows.return.self.set.some.static.struct.subscript.super.switch.throw.throws.true.try.typealias.unowned.var.weak.where.while.willSet`.split(`.`)),_M=new Set([`Any`,`Bool`,`Character`,`Double`,`Float`,`Int`,`Never`,`String`,`UInt`,`Void`]),vM=s({keywords:()=>yM,onCommentEnd:()=>TA,onCommentStart:()=>wA,quotedKeys:()=>!0}),yM=new Set([`false`,`true`]),bM=s({tokenize:()=>xM}),xM=(e,t)=>aj(e,{...t,typescript:!0}),SM=s({jsx:()=>!0,keywords:()=>gj,onCommentEnd:()=>yj,onCommentStart:()=>vj,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>mj}),CM=s({jsx:()=>!0,keywords:()=>gj,onCommentEnd:()=>yj,onCommentStart:()=>vj,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>mj}),wM=s({keywords:()=>TM,onCommentEnd:()=>TA,onCommentStart:()=>wA,quotedKeys:()=>!0}),TM=new Set([`false`,`False`,`FALSE`,`no`,`No`,`NO`,`null`,`Null`,`NULL`,`off`,`Off`,`OFF`,`on`,`On`,`ON`,`true`,`True`,`TRUE`,`yes`,`Yes`,`YES`]),EM=s({keywords:()=>DM,onCommentEnd:()=>AM,onCommentStart:()=>kM,onLiteral:()=>jM,typeKeywords:()=>OM}),DM=new Set(`addrspace.align.allowzero.and.anyframe.anytype.asm.async.await.break.callconv.catch.comptime.const.continue.defer.else.enum.errdefer.error.export.extern.false.fn.for.if.inline.linksection.noalias.noinline.nosuspend.null.opaque.or.orelse.packed.pub.resume.return.struct.suspend.switch.test.threadlocal.true.try.undefined.union.unreachable.usingnamespace.var.volatile.while`.split(`.`)),OM=new Set(`anyerror.anyopaque.bool.c_char.c_int.c_long.c_longdouble.c_longlong.c_short.c_uint.c_ulong.c_ulonglong.c_ushort.comptime_float.comptime_int.f16.f32.f64.f80.f128.i8.i16.i32.i64.i128.isize.noreturn.type.u8.u16.u32.u64.u128.usize.void`.split(`.`)),kM=(e,t)=>+(e+t===`//`),AM=(e,t)=>+(t===`
|
|
154
|
+
`);function jM(e,t,n){if(e!==`\\`||n[t+1]!==`\\`)return 0;let r=n.lastIndexOf(`
|
|
155
155
|
`,t-1)+1;if(n.slice(r,t).trim())return 0;let i=n.indexOf(`
|
|
156
|
-
`,t+2);return(i===-1?n.length:i)-t}function
|
|
156
|
+
`,t+2);return(i===-1?n.length:i)-t}function MM(e){return{...e,jsx:!1,regex:!1,templateStrings:!1}}function NM(){return{javascript:oj,typescript:bM,css:MM(cA),python:MM(Xj),c:MM($k),go:MM(OA),java:MM(bj),rust:MM(aM),json:MM(Cj),diff:MM(xA),shell:MM(cM),cpp:MM(nA),csharp:MM(aA),sql:MM(uM),html:hj,vue:CM,svelte:SM,yaml:MM(wM),markdown:MM(Fj),plaintext:MM(Wj),ruby:MM(eM),kotlin:MM(Tj),swift:MM(hM),php:MM(zj),toml:MM(vM),powershell:MM(Kj),dockerfile:MM(EA),graphql:MM(jA),hcl:MM(PA),zig:MM(EM),lua:MM(Oj)}}var PM=NM();function FM(e){return PM[e||`javascript`]}function IM(e,t){let{lang:n,cx:r,mark:i,markLine:a}=t||{};return Vk(Xk(e,FM(n)),{cx:r,mark:i,markLine:a})}function LM({code:e,path:t,className:n}){let r=e.replace(/\n$/,``),i=(0,v.useMemo)(()=>IM(r),[r]),a=r.split(`
|
|
157
157
|
`).length;return(0,R.jsxs)(`div`,{className:X(`flex min-w-0 flex-col`,n),children:[t?(0,R.jsxs)(`div`,{className:`flex h-10 items-center justify-between gap-3 border-b border-rule bg-soft pr-1.5 pl-4`,children:[(0,R.jsx)(Q,{size:12,className:`truncate text-muted`,title:t,children:t}),(0,R.jsx)(N_,{icon:`copy`,label:`Copy file`,size:15,onClick:()=>IC(e,`Copied the file`)})]}):null,(0,R.jsxs)(`div`,{className:`flex max-h-[640px] min-w-0 overflow-auto font-mono text-[12.5px] leading-[1.6]`,children:[(0,R.jsx)(`pre`,{"aria-hidden":`true`,className:`sticky left-0 m-0 shrink-0 select-none border-r border-rule bg-surface py-3 pr-3 pl-4 text-right text-muted`,children:Array.from({length:a},(e,t)=>t+1).join(`
|
|
158
|
-
`)}),(0,R.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,R.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var MM={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},NM=`.design/system/components/`;function PM(e){return e.startsWith(NM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function FM(e){let t=new Set;for(let n of e.matchAll(/export\s+(?:async\s+)?(?:function|const|class|let)\s+([A-Za-z_$][\w$]*)/g))t.add(n[1]);for(let n of e.matchAll(/export\s*\{([^}]+)\}/g))for(let e of n[1].split(`,`)){let n=e.trim().split(/\s+as\s+/).pop()?.trim();n&&n!=="default"&&t.add(n)}return[...t].filter(e=>/^[A-Z]/.test(e))}function IM({path:e}){let t=PM(e),n=n_(t?e:null).data;if(!t)return null;let r=n?FM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,R.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,R.jsx)(N_,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>IC(i)})]})}function LM({component:e,theme:t,width:n}){return n===`fill`?(0,R.jsx)(yk,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,R.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,R.jsx)(yk,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function RM({component:e}){let t=[...e.sources,e.specimen],[n,r]=(0,v.useState)(t[0]),i=t.includes(n)?n:t[0],{data:a,error:o,isLoading:s}=n_(i);return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,R.jsx)(Fw,{label:`File`,size:`sm`,value:i,onChange:r,items:t.map(t=>({value:t,label:t===e.specimen?`${zM(t)} · specimen`:zM(t),title:t}))})}):null,PM(i)?(0,R.jsx)(IM,{path:i}):null,o?(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,R.jsx)(Z,{name:`loader`,size:18})}):(0,R.jsx)(jM,{code:a,path:i})]})}function zM(e){return e.split(`/`).pop()??e}function BM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=sk(),[s,c]=(0,v.useState)(`fill`),l=!Xg().frameSandbox;if(!n)return(0,R.jsx)(kw,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:n.title,badge:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(ow,{children:n.group}),u?(0,R.jsx)(ow,{tone:MM[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,R.jsxs)(cw,{children:[(0,R.jsx)(uw,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Fw,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,R.jsx)(ck,{value:a,onChange:o}),l?(0,R.jsx)(F_,{icon:`external`,href:GC(WC(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,R.jsx)(LM,{component:n,theme:a,width:s}):(0,R.jsx)(RM,{component:n})})]})]})}function VM(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function HM({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,R.jsx)(kw,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=VM(n.markdown,n.title).trim();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:n.title,sub:`Guideline`}),(0,R.jsx)(cw,{children:(0,R.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,R.jsx)(KD,{text:r,className:`max-w-[760px]`}):(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,R.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var UM={linear:[0,0,1,1],ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]};function WM(e){let t=e.trim();if(UM[t])return UM[t];let n=/^cubic-bezier\(\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*\)$/.exec(t);if(!n)return null;let r=n.slice(1).map(Number);return r.every(Number.isFinite)?r:null}function GM(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var KM=132,qM=22;function JM({bezier:e}){let[t,n,r,i]=e,a=Math.min(0,n,i),o=Math.max(1,n,i),s=88/(o-a),c=e=>qM+e*88,l=e=>qM+(o-e)*s;return(0,R.jsxs)(`svg`,{width:KM,height:KM,viewBox:`0 0 ${KM} ${KM}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,R.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,R.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,R.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,R.jsx)(`path`,{d:`M ${c(0)} ${l(0)} C ${c(t)} ${l(n)}, ${c(r)} ${l(i)}, ${c(1)} ${l(1)}`,className:`fill-none stroke-ink`,strokeWidth:2,strokeLinecap:`round`}),(0,R.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,R.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function YM({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=WM(i);return(0,R.jsxs)(`button`,{type:`button`,title:`Hover to play; click to copy the variable`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onFocus:()=>r(!0),onBlur:()=>r(!1),onClick:()=>IC(`var(${e.name})`),className:`flex min-w-0 cursor-pointer flex-col gap-3 rounded-[8px] border border-transparent bg-transparent p-3 text-left transition-colors hover:border-rule hover:bg-soft`,children:[(0,R.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,R.jsx)(JM,{bezier:a}):(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,R.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,R.jsx)(`span`,{className:`absolute top-1/2 size-3.5 -translate-y-1/2 rounded-full bg-ink`,style:{left:n?`calc(100% - 14px)`:`0px`,transition:`left ${t}ms ${i||`ease`}`}})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(lk,{items:nk(e)}),(0,R.jsx)(fk,{children:i}),e.description?(0,R.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function XM({system:e}){let t=rk(e.tokens,`ease`),n=rk(e.tokens,`duration`),r=rk(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,R.jsxs)(uk,{title:`No motion tokens`,children:[`Add `,(0,R.jsx)(Q,{children:`--ease-*`}),` and `,(0,R.jsx)(Q,{children:`--animate-*`}),` to the `,(0,R.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,R.jsx)(Q,{children:`--duration-*`}),`, in `,(0,R.jsx)(Q,{children:dk}),`.`]}):null,t.length?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Easing`,count:t.length}),(0,R.jsx)(`div`,{className:`grid gap-2 border-t border-rule p-3`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(190px, 1fr))`},children:t.map(e=>(0,R.jsx)(YM,{token:e,duration:900},e.name))})]}):null,n.length?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Durations`,count:n.length}),(0,R.jsx)(pw,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?GM(e.light.value):null;return(0,R.jsxs)(hw,{cols:i,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,R.jsx)(`span`,{}):(0,R.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(t/2,480))}})]},e.name)})]}):null,r.length?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,R.jsx)(pw,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,R.jsxs)(hw,{cols:a,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(lk,{items:nk(e)}),(0,R.jsx)(fk,{children:e.light?.value})]},e.name))]}):null]})}function ZM({system:e}){let t=rC(),n=new Set(e.tokens.map(e=>e.kind)),r=[{to:`/system/colors`,label:`Colors`,hint:QM(e,`color`)},{to:`/system/typography`,label:`Typography`},{to:`/system/shape`,label:`Spacing & shape`}];(n.has(`ease`)||n.has(`duration`)||n.has(`animation`))&&r.push({to:`/system/motion`,label:`Motion`}),n.has(`other`)&&r.push({to:`/system/tokens`,label:`Other tokens`,hint:QM(e,`other`)}),e.assets.length&&r.push({to:`/system/assets`,label:`Assets`,hint:e.assets.length});let i=new Map;for(let t of e.components){let e=i.get(t.group)??[];e.push({to:`/system/components/${encodeURIComponent(t.id)}`,label:t.title,hint:t.status}),i.set(t.group,e)}let a=e.guidelines.filter(e=>e.slug!==`overview`);if(t){let e=[{label:``,items:[{to:`/system`,label:`Overview`}]},{label:`Foundations`,items:r},{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))},...[...i].map(([e,t])=>({label:e,items:t}))];return(0,R.jsx)($M,{sections:e.filter(e=>e.items.length)})}return(0,R.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,R.jsx)(Tw,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,R.jsx)(Ew,{children:`Foundations`}),(0,R.jsx)(Tw,{label:`Foundations`,items:r}),a.length?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ew,{children:`Guidelines`}),(0,R.jsx)(Tw,{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...i].map(([e,t])=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[(0,R.jsx)(Ew,{children:e}),(0,R.jsx)(Tw,{label:e,items:t})]},e))]})}function QM(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function $M({sections:e}){let[t]=F(),[n,r]=(0,v.useState)(!1),i=e.flatMap(e=>e.items).find(e=>e.to===t);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r(!0),className:`flex h-11 w-full cursor-pointer items-center gap-2 rounded-[8px] border border-rule bg-surface px-3.5 text-left text-[14px] text-ink`,children:[(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`Section`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate font-medium`,children:i?.label??`Overview`}),(0,R.jsx)(Z,{name:`chevron-down`,size:16,className:`shrink-0 text-muted`})]}),(0,R.jsx)(AO,{open:n,onOpenChange:r,title:`Design system`,children:(0,R.jsx)(`nav`,{"aria-label":`Design system`,className:`flex flex-col pb-2`,children:e.map(e=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.label?(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.label}):null,e.items.map(e=>{let n=e.to===t;return(0,R.jsxs)(ye,{href:e.to,onClick:()=>r(!1),"aria-current":n?`page`:void 0,className:X(`flex min-h-[46px] items-center gap-2 px-4 text-[14px] no-underline active:bg-soft2`,n?`font-medium text-ink`:`text-ink2`),children:[(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:e.hint}):null,n?(0,R.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.to)})]},e.label||`overview`))})})]})}function eN({system:e}){let t=rk(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?ik(t).map(({group:e,tokens:t})=>(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:e,count:t.length}),(0,R.jsx)(pw,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,R.jsxs)(hw,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(fk,{children:e.light?.value}),(0,R.jsx)(fk,{children:e.dark?.value??`—`}),(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,R.jsxs)(uk,{title:`No other tokens`,children:[`Variables in `,(0,R.jsx)(Q,{children:`:root`}),` of `,(0,R.jsx)(Q,{children:dk}),` that are not colors or lengths show here.`]})]})}function tN(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function nN(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:KO(tN(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${KO(tN(e,`font`),`family`,`families`)} · ${KO(tN(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:KO(tN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=tN(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:KO(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:KO(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:KO(e.components.length,`component`)}),t}function rN({system:e}){return(0,R.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:nN(e).map(e=>(0,R.jsxs)(ye,{href:e.to,className:`flex items-center gap-3 rounded-[10px] border border-rule bg-surface px-4 py-3.5 text-inherit no-underline transition-colors hover:border-rule-strong hover:bg-soft`,children:[(0,R.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,R.jsx)(Z,{name:e.icon,size:17})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,R.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function iN({system:e}){let[,t]=F(),n=[{label:`Color tokens`,value:tN(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:tN(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:tN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:tN(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:tN(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,R.jsxs)(hw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,R.jsx)(sw,{value:e.value})]},e.label)),e.fonts.length?(0,R.jsxs)(hw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,R.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,R.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:aN(e)},e))})]}):null]})}function aN(e){try{let t=new URL(e),n=t.searchParams.getAll(`family`).map(e=>e.split(`:`)[0].replace(/\+/g,` `));return n.length?n.join(`, `):t.host}catch{return e}}function oN({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:e.name,sub:e.description}),(0,R.jsx)(bw,{issues:e.issues,title:`Problems in the design system`}),(0,R.jsx)(rN,{system:e}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,R.jsx)(cw,{children:(0,R.jsx)(`div`,{className:`px-6 py-5`,children:(0,R.jsx)(KD,{text:t.markdown})})}):(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Overview`}),(0,R.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,R.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,R.jsx)(iN,{system:e})]})]})}var sN=[1,2,3,4,6,8,12,16],cN=480;function lN({px:e}){return e===null?(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,R.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,R.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,cN))},title:`${e}px`}),e>cN?(0,R.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function uN({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?ak(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,R.jsx)(pw,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?sN.map(e=>(0,R.jsxs)(hw,{cols:i,minH:36,pad:`6px 16px`,children:[(0,R.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,R.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,R.jsx)(lN,{px:r*e})]},e)):null,n.map(e=>(0,R.jsxs)(hw,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,R.jsx)(lN,{px:e.light?ak(e.light.value):null})]},e.name))]})}function dN({token:e,children:t}){return(0,R.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),className:`flex min-w-0 cursor-pointer flex-col items-stretch gap-2.5 rounded-[8px] border border-transparent bg-transparent p-2 text-left transition-colors hover:border-rule hover:bg-soft`,children:[t,(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(lk,{items:nk(e)}),(0,R.jsx)(fk,{children:e.light?.value}),e.description?(0,R.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function fN({title:e,tokens:t,min:n=170,children:r}){return(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:e,count:t.length}),(0,R.jsx)(`div`,{className:`grid gap-2 border-t border-rule p-3`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr))`},children:t.map(e=>(0,R.jsx)(dN,{token:e,children:r(e)},e.name))})]})}function pN({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Breakpoints`,count:e.length}),(0,R.jsx)(pw,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?ak(e.light.value):null;return(0,R.jsxs)(hw,{cols:t,align:`lllr`,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(lk,{items:nk(e)}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function mN({system:e}){let t=__(),n=rk(e.tokens,`spacing`),r=rk(e.tokens,`radius`),i=rk(e.tokens,`shadow`),a=rk(e.tokens,`blur`),o=rk(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,R.jsxs)(uk,{title:`No spacing or shape tokens`,children:[`Add `,(0,R.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,R.jsx)(Q,{children:`--spacing-*`}),`, `,(0,R.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,R.jsx)(Q,{children:`--shadow-*`}),` and `,(0,R.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,R.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,R.jsx)(Q,{children:dk}),`.`]}):null,n.length?(0,R.jsx)(uN,{tokens:n}):null,r.length?(0,R.jsx)(fN,{title:`Radii`,tokens:r,children:e=>(0,R.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,R.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,R.jsx)(fN,{title:`Shadows`,tokens:i,min:200,children:e=>(0,R.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,R.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:ok(e,t)}})})}):null,a.length?(0,R.jsx)(fN,{title:`Blur`,tokens:a,children:e=>(0,R.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,R.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,R.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,R.jsx)(`span`,{className:`absolute inset-x-6 inset-y-5 rounded-[6px] bg-surface/40`,style:{backdropFilter:`blur(${e.light?.value})`}})]})}):null,o.length?(0,R.jsx)(pN,{tokens:o}):null]})}var hN={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function gN(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function _N({system:e}){let[t,n]=sk(),r=rk(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ww,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Specimen`,right:(0,R.jsx)(ck,{value:t,onChange:n})}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:(0,R.jsx)(yk,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,R.jsxs)(cw,{children:[(0,R.jsx)(lw,{title:`Tokens`,count:r.length}),(0,R.jsx)(pw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,R.jsxs)(hw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:hN[e.kind]}),(0,R.jsx)(lk,{items:nk(e)}),(0,R.jsx)(fk,{children:gN(e)})]},e.name))]}):(0,R.jsxs)(uk,{title:`No type tokens`,children:[`Add font families (`,(0,R.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,R.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,R.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,R.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,R.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,R.jsx)(Q,{children:dk}),`. Web fonts go in `,(0,R.jsx)(Q,{children:`system.json`}),` `,(0,R.jsx)(Q,{children:`fonts`}),`.`]})]})}function vN({system:e}){return(0,R.jsx)(`main`,{className:`mx-auto flex w-full max-w-[1440px] grow animate-[q-fade-in_160ms_ease-out] px-8 max-md:px-4`,children:(0,R.jsxs)(`div`,{className:`grid w-full items-start gap-6 max-lg:grid-cols-1! max-lg:gap-0`,style:{gridTemplateColumns:`232px minmax(0, 1fr)`},children:[(0,R.jsx)(`aside`,{className:`sticky top-[52px] flex max-h-[calc(100dvh-52px)] flex-col overflow-y-auto pt-6 pb-4 max-lg:static max-lg:max-h-none max-lg:overflow-visible max-lg:pb-0 max-md:pt-4`,children:(0,R.jsx)(ZM,{system:e})}),(0,R.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pt-6 pb-7`,children:(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/system`,children:(0,R.jsx)(oN,{system:e})}),(0,R.jsx)(L,{path:`/system/colors`,children:(0,R.jsx)(vk,{system:e})}),(0,R.jsx)(L,{path:`/system/typography`,children:(0,R.jsx)(_N,{system:e})}),(0,R.jsx)(L,{path:`/system/shape`,children:(0,R.jsx)(mN,{system:e})}),(0,R.jsx)(L,{path:`/system/motion`,children:(0,R.jsx)(XM,{system:e})}),(0,R.jsx)(L,{path:`/system/tokens`,children:(0,R.jsx)(eN,{system:e})}),(0,R.jsx)(L,{path:`/system/assets`,children:(0,R.jsx)(mk,{system:e})}),(0,R.jsx)(L,{path:`/system/guidelines/:slug`,children:t=>(0,R.jsx)(HM,{system:e,slug:decodeURIComponent(t.slug)})}),(0,R.jsx)(L,{path:`/system/components/:id`,children:t=>(0,R.jsx)(BM,{system:e,id:decodeURIComponent(t.id)})}),(0,R.jsx)(L,{children:(0,R.jsx)(kw,{title:`No such page`,text:`This page is not part of the design system.`})})]})})]})})}function yN(){return(0,R.jsx)(Ow,{title:`No design system yet`,text:(0,R.jsxs)(R.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,R.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,R.jsx)(Q,{children:`.design/system`}),`.`]})})}function bN(){let e=$g().data,t=e?e.system!==null:void 0,{data:n,error:r,isLoading:i}=t_(t===!0);return t===!1||n===null||r instanceof Pg&&r.status===404?(0,R.jsx)(yN,{}):r?(0,R.jsx)(Ow,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,R.jsx)(vN,{system:n})}function xN(){let e=$g().data?.name;return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),null}var SN=new URLSearchParams(window.location.search).has(`capture`);function CN(){let e=rC()&&!SN;return{play:(t,n)=>e?(0,R.jsx)(IO,{canvasId:t,itemId:n}):(0,R.jsx)(NO,{canvasId:t,itemId:n}),canvas:(t,n)=>e?(0,R.jsx)(IO,{canvasId:t,pageId:n}):(0,R.jsx)(wO,{canvasId:t,pageId:n})}}function wN(){let e=CN();return(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/c/:canvas/full/:item`,children:e=>(0,R.jsx)(OT,{canvasId:e.canvas,itemId:e.item})}),(0,R.jsx)(L,{path:`/c/:canvas/play/:item`,children:t=>e.play(t.canvas,t.item)}),(0,R.jsx)(L,{path:`/c/:canvas/p/:page`,children:t=>e.canvas(t.canvas,t.page)}),(0,R.jsx)(L,{path:`/c/:canvas`,children:t=>e.canvas(t.canvas)}),(0,R.jsxs)(L,{path:`/system/*?`,children:[(0,R.jsx)($S,{}),(0,R.jsx)(bN,{})]}),(0,R.jsxs)(L,{path:`/`,children:[(0,R.jsx)($S,{}),(0,R.jsx)(tk,{})]}),(0,R.jsxs)(L,{children:[(0,R.jsx)($S,{}),(0,R.jsx)(kw,{})]})]})}function TN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Zg(n,e)?r:(0,R.jsx)(Se,{to:t,replace:!0}),r=CN();return(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,R.jsx)(OT,{canvasId:e,itemId:t.item}))}),(0,R.jsx)(L,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,r.play(e,t.item))}),(0,R.jsx)(L,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,r.canvas(e,t.page))}),(0,R.jsx)(L,{path:`/c/:canvas`,children:t=>n(t.canvas,r.canvas(e))}),(0,R.jsx)(L,{children:(0,R.jsx)(Se,{to:t,replace:!0})})]})}function EN({source:e,base:t=``,frameSandbox:n,slots:r,scope:i,queryClient:a}){let[o]=(0,v.useState)(()=>a??Qg(e.live)),s=a??o,c=(0,v.useMemo)(()=>Gg(Jg(e)),[e]),l=i?.canvas,u=(0,v.useMemo)(()=>({source:e,keys:c,frameSandbox:n,slots:r??{},scope:l===void 0?null:{canvas:l}}),[e,c,n,r,l]);return(0,v.useEffect)(()=>e.live?r_(s,c):void 0,[e,s,c]),(0,R.jsx)(Ne,{client:s,children:(0,R.jsx)(Yg.Provider,{value:u,children:(0,R.jsx)(rd,{reducedMotion:`user`,children:(0,R.jsxs)(CT,{children:[(0,R.jsx)(xN,{}),(0,R.jsxs)(ge,{base:t,children:[u.scope?(0,R.jsx)(TN,{canvas:u.scope.canvas}):(0,R.jsx)(wN,{}),(0,R.jsx)(w_,{})]}),(0,R.jsx)(FC,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,R.jsx)(v.StrictMode,{children:Ng?(0,R.jsx)(ge,{hook:ke,hrefs:e=>`#${e}`,children:(0,R.jsx)(EN,{source:Vg})}):(0,R.jsx)(EN,{source:zg})}));
|
|
158
|
+
`)}),(0,R.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,R.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var RM={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},zM=`.design/system/components/`;function BM(e){return e.startsWith(zM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function VM(e){let t=new Set;for(let n of e.matchAll(/export\s+(?:async\s+)?(?:function|const|class|let)\s+([A-Za-z_$][\w$]*)/g))t.add(n[1]);for(let n of e.matchAll(/export\s*\{([^}]+)\}/g))for(let e of n[1].split(`,`)){let n=e.trim().split(/\s+as\s+/).pop()?.trim();n&&n!=="default"&&t.add(n)}return[...t].filter(e=>/^[A-Z]/.test(e))}function HM({path:e}){let t=BM(e),n=n_(t?e:null).data;if(!t)return null;let r=n?VM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,R.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,R.jsx)(N_,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>IC(i)})]})}function UM({component:e,theme:t,width:n}){return n===`fill`?(0,R.jsx)(Tk,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,R.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,R.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,R.jsx)(Tk,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function WM({component:e}){let t=[...e.sources,e.specimen],[n,r]=(0,v.useState)(t[0]),i=t.includes(n)?n:t[0],{data:a,error:o,isLoading:s}=n_(i);return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,R.jsx)(Vw,{label:`File`,size:`sm`,value:i,onChange:r,items:t.map(t=>({value:t,label:t===e.specimen?`${GM(t)} · specimen`:GM(t),title:t}))})}):null,BM(i)?(0,R.jsx)(HM,{path:i}):null,o?(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,R.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,R.jsx)(Z,{name:`loader`,size:18})}):(0,R.jsx)(LM,{code:a,path:i})]})}function GM(e){return e.split(`/`).pop()??e}function KM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=pk(),[s,c]=(0,v.useState)(`fill`),l=!Xg().frameSandbox;if(!n)return(0,R.jsx)(Fw,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:n.title,badge:(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(fw,{children:n.group}),u?(0,R.jsx)(fw,{tone:RM[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,R.jsxs)(mw,{children:[(0,R.jsx)(gw,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Vw,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,R.jsx)(mk,{value:a,onChange:o}),l?(0,R.jsx)(F_,{icon:`external`,href:ZC(XC(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,R.jsx)(UM,{component:n,theme:a,width:s}):(0,R.jsx)(WM,{component:n})})]})]})}function qM(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function JM({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,R.jsx)(Fw,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=qM(n.markdown,n.title).trim();return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:n.title,sub:`Guideline`}),(0,R.jsx)(mw,{children:(0,R.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,R.jsx)(QD,{text:r,className:`max-w-[760px]`}):(0,R.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,R.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var YM={linear:[0,0,1,1],ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]};function XM(e){let t=e.trim();if(YM[t])return YM[t];let n=/^cubic-bezier\(\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*\)$/.exec(t);if(!n)return null;let r=n.slice(1).map(Number);return r.every(Number.isFinite)?r:null}function ZM(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var QM=132,$M=22;function eN({bezier:e}){let[t,n,r,i]=e,a=Math.min(0,n,i),o=Math.max(1,n,i),s=88/(o-a),c=e=>$M+e*88,l=e=>$M+(o-e)*s;return(0,R.jsxs)(`svg`,{width:QM,height:QM,viewBox:`0 0 ${QM} ${QM}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,R.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,R.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,R.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,R.jsx)(`path`,{d:`M ${c(0)} ${l(0)} C ${c(t)} ${l(n)}, ${c(r)} ${l(i)}, ${c(1)} ${l(1)}`,className:`fill-none stroke-ink`,strokeWidth:2,strokeLinecap:`round`}),(0,R.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,R.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function tN({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=XM(i);return(0,R.jsxs)(`button`,{type:`button`,title:`Hover to play; click to copy the variable`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onFocus:()=>r(!0),onBlur:()=>r(!1),onClick:()=>IC(`var(${e.name})`),className:`flex min-w-0 cursor-pointer flex-col gap-3 rounded-[8px] border border-transparent bg-transparent p-3 text-left transition-colors hover:border-rule hover:bg-soft`,children:[(0,R.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,R.jsx)(eN,{bezier:a}):(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,R.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,R.jsx)(`span`,{className:`absolute top-1/2 size-3.5 -translate-y-1/2 rounded-full bg-ink`,style:{left:n?`calc(100% - 14px)`:`0px`,transition:`left ${t}ms ${i||`ease`}`}})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(hk,{items:ck(e)}),(0,R.jsx)(vk,{children:i}),e.description?(0,R.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function nN({system:e}){let t=lk(e.tokens,`ease`),n=lk(e.tokens,`duration`),r=lk(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,R.jsxs)(gk,{title:`No motion tokens`,children:[`Add `,(0,R.jsx)(Q,{children:`--ease-*`}),` and `,(0,R.jsx)(Q,{children:`--animate-*`}),` to the `,(0,R.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,R.jsx)(Q,{children:`--duration-*`}),`, in `,(0,R.jsx)(Q,{children:_k}),`.`]}):null,t.length?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Easing`,count:t.length}),(0,R.jsx)(`div`,{className:`grid gap-2 border-t border-rule p-3`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(190px, 1fr))`},children:t.map(e=>(0,R.jsx)(tN,{token:e,duration:900},e.name))})]}):null,n.length?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Durations`,count:n.length}),(0,R.jsx)(yw,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?ZM(e.light.value):null;return(0,R.jsxs)(xw,{cols:i,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,R.jsx)(`span`,{}):(0,R.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(t/2,480))}})]},e.name)})]}):null,r.length?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,R.jsx)(yw,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,R.jsxs)(xw,{cols:a,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(hk,{items:ck(e)}),(0,R.jsx)(vk,{children:e.light?.value})]},e.name))]}):null]})}function rN({system:e}){let t=rC(),n=new Set(e.tokens.map(e=>e.kind)),r=[{to:`/system/colors`,label:`Colors`,hint:iN(e,`color`)},{to:`/system/typography`,label:`Typography`},{to:`/system/shape`,label:`Spacing & shape`}];(n.has(`ease`)||n.has(`duration`)||n.has(`animation`))&&r.push({to:`/system/motion`,label:`Motion`}),n.has(`other`)&&r.push({to:`/system/tokens`,label:`Other tokens`,hint:iN(e,`other`)}),e.assets.length&&r.push({to:`/system/assets`,label:`Assets`,hint:e.assets.length});let i=new Map;for(let t of e.components){let e=i.get(t.group)??[];e.push({to:`/system/components/${encodeURIComponent(t.id)}`,label:t.title,hint:t.status}),i.set(t.group,e)}let a=e.guidelines.filter(e=>e.slug!==`overview`);if(t){let e=[{label:``,items:[{to:`/system`,label:`Overview`}]},{label:`Foundations`,items:r},{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))},...[...i].map(([e,t])=>({label:e,items:t}))];return(0,R.jsx)(aN,{sections:e.filter(e=>e.items.length)})}return(0,R.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,R.jsx)(jw,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,R.jsx)(Mw,{children:`Foundations`}),(0,R.jsx)(jw,{label:`Foundations`,items:r}),a.length?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Mw,{children:`Guidelines`}),(0,R.jsx)(jw,{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...i].map(([e,t])=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[(0,R.jsx)(Mw,{children:e}),(0,R.jsx)(jw,{label:e,items:t})]},e))]})}function iN(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function aN({sections:e}){let[t]=F(),[n,r]=(0,v.useState)(!1),i=e.flatMap(e=>e.items).find(e=>e.to===t);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r(!0),className:`flex h-11 w-full cursor-pointer items-center gap-2 rounded-[8px] border border-rule bg-surface px-3.5 text-left text-[14px] text-ink`,children:[(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`Section`}),(0,R.jsx)(`span`,{className:`min-w-0 grow truncate font-medium`,children:i?.label??`Overview`}),(0,R.jsx)(Z,{name:`chevron-down`,size:16,className:`shrink-0 text-muted`})]}),(0,R.jsx)(IO,{open:n,onOpenChange:r,title:`Design system`,children:(0,R.jsx)(`nav`,{"aria-label":`Design system`,className:`flex flex-col pb-2`,children:e.map(e=>(0,R.jsxs)(`div`,{className:`flex flex-col`,children:[e.label?(0,R.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.label}):null,e.items.map(e=>{let n=e.to===t;return(0,R.jsxs)(ye,{href:e.to,onClick:()=>r(!1),"aria-current":n?`page`:void 0,className:X(`flex min-h-[46px] items-center gap-2 px-4 text-[14px] no-underline active:bg-soft2`,n?`font-medium text-ink`:`text-ink2`),children:[(0,R.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:e.hint}):null,n?(0,R.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.to)})]},e.label||`overview`))})})]})}function oN({system:e}){let t=lk(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?uk(t).map(({group:e,tokens:t})=>(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:e,count:t.length}),(0,R.jsx)(yw,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,R.jsxs)(xw,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(vk,{children:e.light?.value}),(0,R.jsx)(vk,{children:e.dark?.value??`—`}),(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,R.jsxs)(gk,{title:`No other tokens`,children:[`Variables in `,(0,R.jsx)(Q,{children:`:root`}),` of `,(0,R.jsx)(Q,{children:_k}),` that are not colors or lengths show here.`]})]})}function sN(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function cN(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:QO(sN(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${QO(sN(e,`font`),`family`,`families`)} · ${QO(sN(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:QO(sN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=sN(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:QO(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:QO(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:QO(e.components.length,`component`)}),t}function lN({system:e}){return(0,R.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:cN(e).map(e=>(0,R.jsxs)(ye,{href:e.to,className:`flex items-center gap-3 rounded-[10px] border border-rule bg-surface px-4 py-3.5 text-inherit no-underline transition-colors hover:border-rule-strong hover:bg-soft`,children:[(0,R.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,R.jsx)(Z,{name:e.icon,size:17})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,R.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function uN({system:e}){let[,t]=F(),n=[{label:`Color tokens`,value:sN(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:sN(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:sN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:sN(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:sN(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,R.jsxs)(xw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,R.jsx)(pw,{value:e.value})]},e.label)),e.fonts.length?(0,R.jsxs)(xw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,R.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,R.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,R.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:dN(e)},e))})]}):null]})}function dN(e){try{let t=new URL(e),n=t.searchParams.getAll(`family`).map(e=>e.split(`:`)[0].replace(/\+/g,` `));return n.length?n.join(`, `):t.host}catch{return e}}function fN({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:e.name,sub:e.description}),(0,R.jsx)(Ew,{issues:e.issues,title:`Problems in the design system`}),(0,R.jsx)(lN,{system:e}),(0,R.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,R.jsx)(mw,{children:(0,R.jsx)(`div`,{className:`px-6 py-5`,children:(0,R.jsx)(QD,{text:t.markdown})})}):(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Overview`}),(0,R.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,R.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,R.jsx)(uN,{system:e})]})]})}var pN=[1,2,3,4,6,8,12,16],mN=480;function hN({px:e}){return e===null?(0,R.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,R.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,R.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,mN))},title:`${e}px`}),e>mN?(0,R.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function gN({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?dk(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,R.jsx)(yw,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?pN.map(e=>(0,R.jsxs)(xw,{cols:i,minH:36,pad:`6px 16px`,children:[(0,R.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,R.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,R.jsx)(hN,{px:r*e})]},e)):null,n.map(e=>(0,R.jsxs)(xw,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,R.jsx)(hN,{px:e.light?dk(e.light.value):null})]},e.name))]})}function _N({token:e,children:t}){return(0,R.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),className:`flex min-w-0 cursor-pointer flex-col items-stretch gap-2.5 rounded-[8px] border border-transparent bg-transparent p-2 text-left transition-colors hover:border-rule hover:bg-soft`,children:[t,(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(hk,{items:ck(e)}),(0,R.jsx)(vk,{children:e.light?.value}),e.description?(0,R.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function vN({title:e,tokens:t,min:n=170,children:r}){return(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:e,count:t.length}),(0,R.jsx)(`div`,{className:`grid gap-2 border-t border-rule p-3`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr))`},children:t.map(e=>(0,R.jsx)(_N,{token:e,children:r(e)},e.name))})]})}function yN({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Breakpoints`,count:e.length}),(0,R.jsx)(yw,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?dk(e.light.value):null;return(0,R.jsxs)(xw,{cols:t,align:`lllr`,minH:40,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,R.jsx)(hk,{items:ck(e)}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,R.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function bN({system:e}){let t=__(),n=lk(e.tokens,`spacing`),r=lk(e.tokens,`radius`),i=lk(e.tokens,`shadow`),a=lk(e.tokens,`blur`),o=lk(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,R.jsxs)(gk,{title:`No spacing or shape tokens`,children:[`Add `,(0,R.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,R.jsx)(Q,{children:`--spacing-*`}),`, `,(0,R.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,R.jsx)(Q,{children:`--shadow-*`}),` and `,(0,R.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,R.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,R.jsx)(Q,{children:_k}),`.`]}):null,n.length?(0,R.jsx)(gN,{tokens:n}):null,r.length?(0,R.jsx)(vN,{title:`Radii`,tokens:r,children:e=>(0,R.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,R.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,R.jsx)(vN,{title:`Shadows`,tokens:i,min:200,children:e=>(0,R.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,R.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:fk(e,t)}})})}):null,a.length?(0,R.jsx)(vN,{title:`Blur`,tokens:a,children:e=>(0,R.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,R.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,R.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,R.jsx)(`span`,{className:`absolute inset-x-6 inset-y-5 rounded-[6px] bg-surface/40`,style:{backdropFilter:`blur(${e.light?.value})`}})]})}):null,o.length?(0,R.jsx)(yN,{tokens:o}):null]})}var xN={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function SN(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function CN({system:e}){let[t,n]=pk(),r=lk(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Aw,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Specimen`,right:(0,R.jsx)(mk,{value:t,onChange:n})}),(0,R.jsx)(`div`,{className:`border-t border-rule`,children:(0,R.jsx)(Tk,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,R.jsxs)(mw,{children:[(0,R.jsx)(hw,{title:`Tokens`,count:r.length}),(0,R.jsx)(yw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,R.jsxs)(xw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>IC(`var(${e.name})`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,R.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,R.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,R.jsx)(`span`,{className:`text-[13px] text-ink2`,children:xN[e.kind]}),(0,R.jsx)(hk,{items:ck(e)}),(0,R.jsx)(vk,{children:SN(e)})]},e.name))]}):(0,R.jsxs)(gk,{title:`No type tokens`,children:[`Add font families (`,(0,R.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,R.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,R.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,R.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,R.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,R.jsx)(Q,{children:_k}),`. Web fonts go in `,(0,R.jsx)(Q,{children:`system.json`}),` `,(0,R.jsx)(Q,{children:`fonts`}),`.`]})]})}function wN({system:e}){return(0,R.jsx)(`main`,{className:`mx-auto flex w-full max-w-[1440px] grow animate-[q-fade-in_160ms_ease-out] px-8 max-md:px-4`,children:(0,R.jsxs)(`div`,{className:`grid w-full items-start gap-6 max-lg:grid-cols-1! max-lg:gap-0`,style:{gridTemplateColumns:`232px minmax(0, 1fr)`},children:[(0,R.jsx)(`aside`,{className:`sticky top-[52px] flex max-h-[calc(100dvh-52px)] flex-col overflow-y-auto pt-6 pb-4 max-lg:static max-lg:max-h-none max-lg:overflow-visible max-lg:pb-0 max-md:pt-4`,children:(0,R.jsx)(rN,{system:e})}),(0,R.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pt-6 pb-7`,children:(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/system`,children:(0,R.jsx)(fN,{system:e})}),(0,R.jsx)(L,{path:`/system/colors`,children:(0,R.jsx)(wk,{system:e})}),(0,R.jsx)(L,{path:`/system/typography`,children:(0,R.jsx)(CN,{system:e})}),(0,R.jsx)(L,{path:`/system/shape`,children:(0,R.jsx)(bN,{system:e})}),(0,R.jsx)(L,{path:`/system/motion`,children:(0,R.jsx)(nN,{system:e})}),(0,R.jsx)(L,{path:`/system/tokens`,children:(0,R.jsx)(oN,{system:e})}),(0,R.jsx)(L,{path:`/system/assets`,children:(0,R.jsx)(bk,{system:e})}),(0,R.jsx)(L,{path:`/system/guidelines/:slug`,children:t=>(0,R.jsx)(JM,{system:e,slug:decodeURIComponent(t.slug)})}),(0,R.jsx)(L,{path:`/system/components/:id`,children:t=>(0,R.jsx)(KM,{system:e,id:decodeURIComponent(t.id)})}),(0,R.jsx)(L,{children:(0,R.jsx)(Fw,{title:`No such page`,text:`This page is not part of the design system.`})})]})})]})})}function TN(){return(0,R.jsx)(Pw,{title:`No design system yet`,text:(0,R.jsxs)(R.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,R.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,R.jsx)(Q,{children:`.design/system`}),`.`]})})}function EN(){let e=$g().data,t=e?e.system!==null:void 0,{data:n,error:r,isLoading:i}=t_(t===!0);return t===!1||n===null||r instanceof Pg&&r.status===404?(0,R.jsx)(TN,{}):r?(0,R.jsx)(Pw,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,R.jsx)(wN,{system:n})}function DN(){let e=$g().data?.name;return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),null}var ON=new URLSearchParams(window.location.search).has(`capture`);function kN(){let e=rC()&&!ON;return{play:(t,n)=>e?(0,R.jsx)(HO,{canvasId:t,itemId:n}):(0,R.jsx)(zO,{canvasId:t,itemId:n}),canvas:(t,n)=>e?(0,R.jsx)(HO,{canvasId:t,pageId:n}):(0,R.jsx)(AO,{canvasId:t,pageId:n})}}function AN(){let e=kN();return(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/c/:canvas/full/:item`,children:e=>(0,R.jsx)(PT,{canvasId:e.canvas,itemId:e.item})}),(0,R.jsx)(L,{path:`/c/:canvas/play/:item`,children:t=>e.play(t.canvas,t.item)}),(0,R.jsx)(L,{path:`/c/:canvas/p/:page`,children:t=>e.canvas(t.canvas,t.page)}),(0,R.jsx)(L,{path:`/c/:canvas`,children:t=>e.canvas(t.canvas)}),(0,R.jsxs)(L,{path:`/system/*?`,children:[(0,R.jsx)($S,{}),(0,R.jsx)(EN,{})]}),(0,R.jsxs)(L,{path:`/`,children:[(0,R.jsx)($S,{}),(0,R.jsx)(sk,{})]}),(0,R.jsxs)(L,{children:[(0,R.jsx)($S,{}),(0,R.jsx)(Fw,{})]})]})}function jN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Zg(n,e)?r:(0,R.jsx)(Se,{to:t,replace:!0}),r=kN();return(0,R.jsxs)(xe,{children:[(0,R.jsx)(L,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,R.jsx)(PT,{canvasId:e,itemId:t.item}))}),(0,R.jsx)(L,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,r.play(e,t.item))}),(0,R.jsx)(L,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,r.canvas(e,t.page))}),(0,R.jsx)(L,{path:`/c/:canvas`,children:t=>n(t.canvas,r.canvas(e))}),(0,R.jsx)(L,{children:(0,R.jsx)(Se,{to:t,replace:!0})})]})}function MN({source:e,base:t=``,frameSandbox:n,slots:r,scope:i,queryClient:a}){let[o]=(0,v.useState)(()=>a??Qg(e.live)),s=a??o,c=(0,v.useMemo)(()=>Gg(Jg(e)),[e]),l=i?.canvas,u=(0,v.useMemo)(()=>({source:e,keys:c,frameSandbox:n,slots:r??{},scope:l===void 0?null:{canvas:l}}),[e,c,n,r,l]);return(0,v.useEffect)(()=>e.live?r_(s,c):void 0,[e,s,c]),(0,R.jsx)(Ne,{client:s,children:(0,R.jsx)(Yg.Provider,{value:u,children:(0,R.jsx)(rd,{reducedMotion:`user`,children:(0,R.jsxs)(kT,{children:[(0,R.jsx)(DN,{}),(0,R.jsxs)(ge,{base:t,children:[u.scope?(0,R.jsx)(jN,{canvas:u.scope.canvas}):(0,R.jsx)(AN,{}),(0,R.jsx)(w_,{})]}),(0,R.jsx)(FC,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,R.jsx)(v.StrictMode,{children:Ng?(0,R.jsx)(ge,{hook:ke,hrefs:e=>`#${e}`,children:(0,R.jsx)(MN,{source:Vg})}):(0,R.jsx)(MN,{source:zg})}));
|