foss-design 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/viewer/assets/{index-CTraVnJV.js → index-Cg9mKtjz.js} +5 -5
- package/dist/viewer/assets/index-oN46u7re.css +2 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer-lib/index.js +37 -18
- package/dist/viewer-lib/styles.css +4 -0
- package/package.json +1 -1
- package/dist/viewer/assets/index-DCfxIE2h.css +0 -2
|
@@ -54,7 +54,7 @@ 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,L.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,L.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,L.jsx)(jm,{present:n||a.open,children:(0,L.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,L.jsx)(jm,{present:r||a.open,children:(0,L.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,L.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,L.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,L.jsx)(jm,{present:r||a.open,children:a.modal?(0,L.jsx)(Tg,{...i,ref:t}):(0,L.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,L.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,L.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,L.jsx)(L.Fragment,{children:(0,L.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.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,L.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,L.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()},async setIcon(e){let t=await fetch(`/api/icon`,{method:e?`PUT`:`DELETE`,headers:e?{"content-type":e.type||`application/octet-stream`}:void 0,body:e});if(!t.ok){let e=await t.json().catch(()=>({}));throw new Pg(t.status,e.error??`${t.status} ${t.statusText}`)}}},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 Bt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function $g(){let{source:e,keys:t,scope:n}=Xg();return Qt({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function e_(e,t=!0){let{source:n,keys:r}=Xg();return Qt({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 Qt({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 Qt({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,L.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,L.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,L.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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,L.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,L.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]=P(),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,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,L.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,L.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,L.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,L.jsx)(y_,{children:`esc`})]}),(0,L.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,L.jsxs)(`div`,{role:`presentation`,children:[(0,L.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,L.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,L.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,L.jsx)(Z,{name:e.icon,size:16})}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,L.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,L.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,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(y_,{children:`↑`}),(0,L.jsx)(y_,{children:`↓`}),`move`]}),(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.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,L.jsx)(mg,{open:e,onOpenChange:t,children:(0,L.jsx)(ed,{children:e?(0,L.jsx)(vg,{forceMount:!0,children:(0,L.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,L.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,L.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,L.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,L.jsx)(C_,{onClose:()=>t(!1)})})})})})}):null})})}var T_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,E_=[`top`,`right`,`bottom`,`left`],D_=Math.min,O_=Math.max,k_=Math.round,A_=Math.floor,j_=e=>({x:e,y:e}),M_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function N_(e,t,n){return O_(e,D_(t,n))}function P_(e,t){return typeof e==`function`?e(t):e}function F_(e){return e.split(`-`)[0]}function I_(e){return e.split(`-`)[1]}function L_(e){return e===`x`?`y`:`x`}function R_(e){return e===`y`?`height`:`width`}function z_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function B_(e){return L_(z_(e))}function V_(e,t,n){n===void 0&&(n=!1);let r=I_(e),i=B_(e),a=R_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=X_(o)),[o,X_(o)]}function H_(e){let t=X_(e);return[U_(e),t,U_(t)]}function U_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var W_=[`left`,`right`],G_=[`right`,`left`],K_=[`top`,`bottom`],q_=[`bottom`,`top`];function J_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?G_:W_:t?W_:G_;case`left`:case`right`:return t?K_:q_;default:return[]}}function Y_(e,t,n,r){let i=I_(e),a=J_(F_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(U_)))),a}function X_(e){let t=F_(e);return M_[t]+e.slice(t.length)}function Z_(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Q_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Z_(e)}function $_(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 ev(e,t,n){let{reference:r,floating:i}=e,a=z_(t),o=B_(t),s=R_(o),c=F_(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=I_(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function tv(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}=P_(t,e),p=Q_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$_(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=$_(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 nv=50,rv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ev(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<nv&&(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}=ev(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},iv=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}=P_(e,t)||{};if(l==null)return{};let d=Q_(u),f={x:n,y:r},p=B_(i),m=R_(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=D_(d[_],T),D=D_(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=N_(E,k,O),j=!c.arrow&&I_(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}}}),av=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}=P_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=F_(r),_=z_(o),v=F_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[X_(o)]:H_(o)),x=p!==`none`;!d&&x&&b.push(...Y_(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=V_(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`||_===z_(t)||T.every(e=>z_(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=z_(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 ov(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function sv(e){return E_.some(t=>e[t]>=0)}var cv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=P_(e,t);switch(i){case`referenceHidden`:{let e=ov(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:sv(e)}}}case`escaped`:{let e=ov(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:sv(e)}}}default:return{}}}}},lv=new Set([`left`,`top`]);async function uv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=F_(n),s=I_(n),c=z_(n)===`y`,l=lv.has(o)?-1:1,u=a&&c?-1:1,d=P_(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 dv=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 uv(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}}}}},fv=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}=P_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=z_(i),p=L_(f),m=u[p],h=u[f],g=(e,t)=>N_(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}}}}}},pv=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}=P_(e,t),u={x:n,y:r},d=z_(i),f=L_(d),p=u[f],m=u[d],h=P_(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=lv.has(F_(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}}}},mv=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}=P_(e,t),c=await i.detectOverflow(t,s),l=F_(n),u=I_(n),d=z_(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=D_(p-c[m],g),y=D_(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*O_(c.left,c.right):S=p-2*O_(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 gv(e){return yv(e)?(e.nodeName||``).toLowerCase():`#document`}function _v(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function vv(e){return((yv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function yv(e){return hv()?e instanceof Node||e instanceof _v(e).Node:!1}function bv(e){return hv()?e instanceof Element||e instanceof _v(e).Element:!1}function xv(e){return hv()?e instanceof HTMLElement||e instanceof _v(e).HTMLElement:!1}function Sv(e){return!hv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof _v(e).ShadowRoot}function Cv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Pv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function wv(e){return/^(table|td|th)$/.test(gv(e))}function Tv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ev=/transform|translate|scale|rotate|perspective|filter/,Dv=/paint|layout|strict|content/,Ov=e=>!!e&&e!==`none`,kv;function Av(e){let t=bv(e)?Pv(e):e;return Ov(t.transform)||Ov(t.translate)||Ov(t.scale)||Ov(t.rotate)||Ov(t.perspective)||!Mv()&&(Ov(t.backdropFilter)||Ov(t.filter))||Ev.test(t.willChange||``)||Dv.test(t.contain||``)}function jv(e){let t=Iv(e);for(;xv(t)&&!Nv(t);){if(Av(t))return t;if(Tv(t))return null;t=Iv(t)}return null}function Mv(){return kv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),kv}function Nv(e){return/^(html|body|#document)$/.test(gv(e))}function Pv(e){return _v(e).getComputedStyle(e)}function Fv(e){return bv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Iv(e){if(gv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Sv(e)&&e.host||vv(e);return Sv(t)?t.host:t}function Lv(e){let t=Iv(e);return Nv(t)?(e.ownerDocument||e).body:xv(t)&&Cv(t)?t:Lv(t)}function Rv(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Lv(e),i=r===e.ownerDocument?.body,a=_v(r);if(i){let e=zv(a);return t.concat(a,a.visualViewport||[],Cv(r)?r:[],e&&n?Rv(e):[])}return t.concat(r,Rv(r,[],n))}function zv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Bv(e){let t=Pv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=xv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=k_(n)!==a||k_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Vv(e){return bv(e)?e:e.contextElement}function Hv(e){let t=Vv(e);if(!xv(t))return j_(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Bv(t),o=(a?k_(n.width):n.width)/r,s=(a?k_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Uv=j_(0);function Wv(e){let t=_v(e);return!Mv()||!t.visualViewport?Uv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Gv(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===_v(e)}function Kv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Vv(e),o=j_(1);t&&(r?bv(r)&&(o=Hv(r)):o=Hv(e));let s=Gv(a,n,r)?Wv(a):j_(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=_v(a),t=bv(r)?_v(r):r,n=e,i=zv(n);for(;i&&t!==n;){let e=Hv(i),t=i.getBoundingClientRect(),r=Pv(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=_v(i),i=zv(n)}}return $_({width:u,height:d,x:c,y:l})}function qv(e,t){let n=Fv(e).scrollLeft;return t?t.left+n:Kv(vv(e)).left+n}function Jv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-qv(e,n),y:n.top+t.scrollTop}}function Yv(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=vv(r),s=t?Tv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=j_(1),u=j_(0),d=xv(r);if((d||!a)&&((gv(r)!==`body`||Cv(o))&&(c=Fv(r)),d)){let e=Kv(r);l=Hv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Jv(o,c):j_(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 Xv(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Zv(e){let t=Fv(e),n=e.ownerDocument.body,r=O_(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=O_(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+qv(e),o=-t.scrollTop;return Pv(n).direction===`rtl`&&(a+=O_(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Qv=25;function $v(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=_v(e),a=vv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Mv()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(qv(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<=Qv&&(s-=o)}return{width:s,height:c,x:l,y:u}}function ey(e,t){let n=Kv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Hv(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ty(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=$v(e,n,t);else if(t===`document`)r=Zv(vv(e));else if(bv(t))r=ey(t,n);else{let n=Wv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $_(r)}function ny(e,t){let n=t.get(e);if(n)return n;let r=Rv(e,[],!1).filter(e=>bv(e)&&gv(e)!==`body`),i=null,a=Pv(e).position===`fixed`,o=a?Iv(e):e;for(;bv(o)&&!Nv(o);){let e=Pv(o),t=Av(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Iv(o)}return t.set(e,r),r}function ry(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Tv(t)?[]:ny(t,this._c):[].concat(n),r],o=ty(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=ty(t,a[e],i);s=O_(n.top,s),c=D_(n.right,c),l=D_(n.bottom,l),u=O_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function iy(e){let{width:t,height:n}=Bv(e);return{width:t,height:n}}function ay(e,t,n){let r=xv(t),i=vv(t),a=n===`fixed`,o=Kv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=j_(0);if((r||!a)&&((gv(t)!==`body`||Cv(i))&&(s=Fv(t)),r)){let e=Kv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=qv(i));let l=i&&!r&&!a?Jv(i,s):j_(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 oy(e){return Pv(e).position===`static`}function sy(e,t){if(!xv(e)||Pv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return vv(e)===n&&(n=n.ownerDocument.body),n}function cy(e,t){let n=_v(e);if(Tv(e))return n;if(!xv(e)){let t=Iv(e);for(;t&&!Nv(t);){if(bv(t)&&!oy(t))return t;t=Iv(t)}return n}let r=sy(e,t);for(;r&&wv(r)&&oy(r);)r=sy(r,t);return r&&Nv(r)&&oy(r)&&!Av(r)?n:r||jv(e)||n}var ly=async function(e){let t=this.getOffsetParent||cy,n=this.getDimensions,r=await n(e.floating);return{reference:ay(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function uy(e){return Pv(e).direction===`rtl`}var dy={convertOffsetParentRelativeRectToViewportRelativeRect:Yv,getDocumentElement:vv,getClippingRect:ry,getOffsetParent:cy,getElementRects:ly,getClientRects:Xv,getDimensions:iy,getScale:Hv,isElement:bv,isRTL:uy};function fy(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function py(e,t,n){let r=null,i,a=vv(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=A_(d),h=A_(a.clientWidth-(u+f)),g=A_(a.clientHeight-(d+p)),_=A_(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:O_(0,D_(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!fy(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=_v(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function my(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=Vv(e),u=i||a?[...l?Rv(l):[],...t?Rv(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?py(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?Kv(e):null;c&&g();function g(){let t=Kv(e);h&&!fy(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=dv,gy=fv,_y=av,vy=mv,yy=cv,by=iv,xy=pv,Sy=(e,t,n)=>{let r=new Map,i=n??{},a={...dy,...i.platform,_c:r};return rv(e,t,{...i,platform:a})},Cy=typeof document<`u`?v.useLayoutEffect:function(){};function wy(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(!wy(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)&&!wy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Ty(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ey(e,t){let n=Ty(e);return Math.round(t*n)/n}function Dy(e){let t=v.useRef(e);return Cy(()=>{t.current=e}),t}function Oy(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);wy(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=Dy(c),O=Dy(i),k=Dy(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Sy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!wy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Cy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Cy(()=>(j.current=!0,()=>{j.current=!1}),[]),Cy(()=>{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]),ne=v.useMemo(()=>{let e={position:n,left:0,top:0};if(!te.floating)return e;let t=Ey(te.floating,u.x),r=Ey(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Ty(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:ne}),[u,A,ee,te,ne])}var ky=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?{}:by({element:r.current,padding:i}).fn(n):r?by({element:r,padding:i}).fn(n):{}}}},Ay=(e,t)=>{let n=hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},jy=(e,t)=>{let n=gy(e);return{name:n.name,fn:n.fn,options:[e,t]}},My=(e,t)=>({fn:xy(e).fn,options:[e,t]}),Ny=(e,t)=>{let n=_y(e);return{name:n.name,fn:n.fn,options:[e,t]}},Py=(e,t)=>{let n=vy(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fy=(e,t)=>{let n=yy(e);return{name:n.name,fn:n.fn,options:[e,t]}},Iy=(e,t)=>{let n=ky(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ly=Object.defineProperty,Ry=(e,t)=>Ly(e,`name`,{value:t,configurable:!0});function zy(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}Ry(zy,`useSize`);var By=Object.defineProperty,Vy=(e,t)=>By(e,`name`,{value:t,configurable:!0}),Hy=`Popper`,[Uy,Wy]=ap(Hy),[Gy,Ky]=Uy(Hy),qy=Vy(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,L.jsx)(Gy,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),Jy=`PopperAnchor`,Yy=v.forwardRef(Vy(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=Ky(Jy,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&&nb(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Xy=`PopperContent`,[Zy,Qy]=Uy(Xy),$y=v.forwardRef(Vy(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=Ky(Xy,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=zy(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(eb),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:ne,middlewareData:M}=Oy({strategy:`fixed`,placement:E,whileElementsMounted:Vy((...e)=>my(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[Ay({mainAxis:i+T,alignmentAxis:o}),c&&jy({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?My():void 0,...A}),c&&Ny({...A}),Py({...A,apply:Vy(({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&&Iy({element:x,padding:s}),tb({arrowWidth:w,arrowHeight:T}),f&&Fy({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),re=g.setPlacementState;sp(()=>(re(te),()=>{re(void 0)}),[te,re]);let[ie,N]=nb(te),ae=Jp(m);sp(()=>{ne&&ae?.()},[ne,ae]);let oe=M.arrow?.x,se=M.arrow?.y,ce=M.arrow?.centerOffset!==0,[le,ue]=v.useState();return sp(()=>{_&&ue(window.getComputedStyle(_).zIndex)},[_]),(0,L.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:ne?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:le,"--radix-popper-transform-origin":[M.transformOrigin?.x,M.transformOrigin?.y].join(` `),...M.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,L.jsx)(Zy,{scope:n,placedSide:ie,placedAlign:N,onArrowChange:S,arrowX:oe,arrowY:se,shouldHideArrow:ce,children:(0,L.jsx)(Wp.div,{"data-side":ie,"data-align":N,...h,ref:b,style:{...h.style,animation:ne?h.style?.animation:`none`}})})})},`PopperContent`));function eb(e){return e!==null}Vy(eb,`isNotNull`);var tb=Vy(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]=nb(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 nb(e){let[t,n=`center`]=e.split(`-`);return[t,n]}Vy(nb,`getSideAndAlignFromPlacement`);var rb=qy,ib=Yy,ab=$y,ob=Object.defineProperty,sb=(e,t)=>ob(e,`name`,{value:t,configurable:!0}),cb=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`}),lb=v.forwardRef(sb(function(e,t){return(0,L.jsx)(Wp.span,{...e,ref:t,style:{...cb,...e.style}})},`VisuallyHidden`)),ub=Object.defineProperty,db=(e,t)=>ub(e,`name`,{value:t,configurable:!0}),[fb,pb]=ap(`Tooltip`,[Wy]),mb=Wy(),hb=`TooltipProvider`,gb=700,_b=`tooltip.open`,[vb,yb]=fb(hb),bb=db(e=>{let{__scopeTooltip:t,delayDuration:n=gb,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,L.jsx)(vb,{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`),xb=`Tooltip`,[Sb,Cb]=fb(xb),wb=db(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=yb(xb,e.__scopeTooltip),l=mb(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:db(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(_b))):c.onClose(),a?.(e)},`onChange`),caller:xb}),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,L.jsx)(rb,{...l,children:(0,L.jsx)(Sb,{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`),Tb=`TooltipTrigger`,Eb=v.forwardRef(db(function(e,t){let{__scopeTooltip:n,...r}=e,i=Cb(Tb,n),a=yb(Tb,n),o=mb(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,L.jsx)(ib,{asChild:!0,...o,children:(0,L.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`)),Db=`TooltipPortal`,[Ob,kb]=fb(Db,{forceMount:void 0}),Ab=db(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Cb(Db,t);return(0,L.jsx)(Ob,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),jb=`TooltipContent`,Mb=v.forwardRef(db(function(e,t){let n=kb(jb,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Cb(jb,e.__scopeTooltip);return(0,L.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,L.jsx)(Fb,{side:i,...a,ref:t}):(0,L.jsx)(Nb,{side:i,...a,ref:t})})},`TooltipContent`)),Nb=v.forwardRef(db(function(e,t){let n=Cb(jb,e.__scopeTooltip),r=yb(jb,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=Lb(r,Ib(r,n.getBoundingClientRect())),a=Rb(t.getBoundingClientRect()),o=Bb([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=db(e=>p(e,u),`handleTriggerLeave`),t=db(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=db(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!zb(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,L.jsx)(Fb,{...e,ref:a})},`TooltipContentHoverable`)),Pb=jp(`TooltipContent`),Fb=v.forwardRef(db(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Cb(jb,n),u=mb(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener(_b,d),()=>document.removeEventListener(_b,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=db(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,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,L.jsxs)(ab,{"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,L.jsx)(Pb,{children:r}),i?(0,L.jsx)(lb,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function Ib(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`)}}db(Ib,`getExitSideFromRect`);function Lb(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}db(Lb,`getPaddedExitPoints`);function Rb(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}]}db(Rb,`getPointsFromRect`);function zb(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}db(zb,`isPointInPolygon`);function Bb(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)),Vb(t)}db(Bb,`getHull`);function Vb(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)}db(Vb,`getHullPresorted`);var Hb=bb,Ub=wb,Wb=Eb,Gb=Ab,Kb=Mb;function qb({children:e}){return(0,L.jsx)(Hb,{delayDuration:250,children:e})}var Jb=`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 Yb({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,L.jsxs)(Ub,{children:[(0,L.jsx)(Wb,{asChild:!0,children:t}),(0,L.jsx)(Gb,{children:(0,L.jsx)(Kb,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(Jb,i),children:e})})]})}function Xb(){window.dispatchEvent(new CustomEvent(`design:palette`))}var Zb=T_===`⌘`?`⌘K`:`Ctrl K`;function Qb({width:e=240,label:t=`Search and jump`,compact:n}){if(n)return(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[t,` `,(0,L.jsx)(y_,{children:Zb})]}),children:(0,L.jsx)(`button`,{type:`button`,onClick:Xb,"aria-label":t,className:`inline-flex h-ctrl w-ctrl shrink-0 cursor-pointer items-center justify-center rounded-[6px] border border-rule bg-soft text-muted transition-colors hover:border-rule-strong`,children:(0,L.jsx)(Z,{name:`search`,size:15})})});let r=n===!1;return(0,L.jsxs)(`button`,{type:`button`,onClick:Xb,style:{width:e},"aria-label":t,className:X(`flex h-ctrl min-w-0 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`,r?`shrink-0`:`shrink 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,L.jsx)(Z,{name:`search`,size:15}),(0,L.jsx)(`span`,{className:X(`min-w-0 grow truncate text-left`,!r&&`max-lg:hidden`),children:t}),(0,L.jsx)(`span`,{className:X(`flex`,!r&&`max-md:hidden`),children:(0,L.jsx)(y_,{children:Zb})})]})}var $b={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`},ex=(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`,$b[e],t),tx=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,L.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:ex(e,i),...s,children:[n?(0,L.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,L.jsx)(Z,{name:t,size:15}):null,a]})}),nx={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`},rx=(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`,nx[e],t),ix=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,L.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:rx(n,i),...o,children:(0,L.jsx)(Z,{name:e,size:r})})});function ax({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,L.jsxs)(be,{href:e,className:ex(t,r),children:[n?(0,L.jsx)(Z,{name:n,size:15}):null,i]})}function ox({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,L.jsxs)(`a`,{className:ex(e,n),...i,children:[t?(0,L.jsx)(Z,{name:t,size:15}):null,r]})}var sx=Object.defineProperty,cx=(e,t)=>sx(e,`name`,{value:t,configurable:!0});function lx(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=cx(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,L.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,L.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,L.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 cx(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}cx(lx,`createCollection`);var ux=new WeakMap,dx=class e extends Map{static{cx(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],ux.set(this,!0)}set(e,t){return ux.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=mx(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=fx(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=fx(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return fx(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 fx(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=px(e,t);return n===-1?void 0:e[n]}cx(fx,`at`);function px(e,t){let n=e.length,r=mx(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}cx(px,`toSafeIndex`);function mx(e){return e!==e||e===0?0:Math.trunc(e)}cx(mx,`toSafeInteger`);function hx(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new dx,setItemMap:cx(()=>void 0,`setItemMap`)}),o=cx(({state:e,...t})=>e?(0,L.jsx)(c,{...t,state:e}):(0,L.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=cx(e=>{let t=h();return(0,L.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=cx(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=yx(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,L.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,L.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);gx(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(vx):(t.set(s,{...e,element:s}),t.toSorted(vx)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new dx(e)))}},[s,m,u]),(0,L.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new dx)}cx(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return cx(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}cx(hx,`createCollection`);function gx(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}cx(gx,`shallowEqual`);function _x(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}cx(_x,`isElementPreceding`);function vx(e,t){return!e[1].element||!t[1].element?0:_x(e[1].element,t[1].element)?-1:1}cx(vx,`sortByDocumentPosition`);function yx(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}cx(yx,`getChildListObserver`);var bx=Object.defineProperty,xx=(e,t)=>bx(e,`name`,{value:t,configurable:!0}),Sx=v.createContext(void 0);function Cx(e){let t=v.useContext(Sx);return e||t||`ltr`}xx(Cx,`useDirection`);var wx=Object.defineProperty,Tx=(e,t)=>wx(e,`name`,{value:t,configurable:!0}),Ex=!1;function Dx(){let[e,t]=v.useState(Ex);return v.useEffect(()=>{Ex||(Ex=!0,t(!0))},[]),e}Tx(Dx,`useIsHydrated`);var Ox=v.useSyncExternalStore;function kx(){return()=>{}}Tx(kx,`subscribe`);function Ax(){return Ox(kx,()=>!0,()=>!1)}Tx(Ax,`useIsHydratedModern`);var jx=typeof Ox==`function`?Ax:Dx,Mx=Object.defineProperty,Nx=(e,t)=>Mx(e,`name`,{value:t,configurable:!0}),Px=`rovingFocusGroup.onEntryFocus`,Fx={bubbles:!1,cancelable:!0},Ix=`RovingFocusGroup`,[Lx,Rx,zx]=lx(Ix),[Bx,Vx]=ap(Ix,[zx]),[Hx,Ux]=Bx(Ix),Wx=v.forwardRef(Nx(function(e,t){return(0,L.jsx)(Lx.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(Lx.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(Gx,{...e,ref:t})})})},`RovingFocusGroup`)),Gx=v.forwardRef(Nx(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=Cx(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Ix}),[_,y]=v.useState(!1),b=Jp(l),x=Rx(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Px,b),()=>e.removeEventListener(Px,b)},[b]),(0,L.jsx)(Hx,{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,L.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(Px,Fx);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);Zx([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`)),Kx=`RovingFocusGroupItem`,qx=v.forwardRef(Nx(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Ux(Kx,n),d=u.currentTabStopId===l,f=Rx(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=jx();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,L.jsx)(Lx.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,L.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=Xx(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?Qx(n,r+1):n.slice(r+1)}setTimeout(()=>Zx(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),Jx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Yx(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Nx(Yx,`getDirectionAwareKey`);function Xx(e,t,n){let r=Yx(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Jx[r]}Nx(Xx,`getFocusIntent`);function Zx(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Nx(Zx,`focusFirst`);function Qx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Nx(Qx,`wrapArray`);var $x=Wx,eS=qx,tS=Object.defineProperty,nS=(e,t)=>tS(e,`name`,{value:t,configurable:!0}),rS=[`Enter`,` `],iS=[`ArrowDown`,`PageUp`,`Home`],aS=[`ArrowUp`,`PageDown`,`End`],oS=[...iS,...aS];[...rS],[...rS];var sS=`Menu`,[cS,lS,uS]=lx(sS),[dS,fS]=ap(sS,[uS,Wy,Vx]),pS=Wy(),mS=Vx(),[hS,gS]=dS(sS),[_S,vS]=dS(sS),yS=nS(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=pS(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=Cx(i);return v.useEffect(()=>{let e=nS(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=nS(()=>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=nS(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,L.jsx)(rb,{...s,children:(0,L.jsx)(hS,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,L.jsx)(_S,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),bS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e,i=pS(n);return(0,L.jsx)(ib,{...i,...r,ref:t})},`MenuAnchor`)),xS=`MenuPortal`,[SS,CS]=dS(xS,{forceMount:void 0}),wS=nS(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=gS(xS,t);return(0,L.jsx)(SS,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),TS=`MenuContent`,[ES,DS]=dS(TS),OS=v.forwardRef(nS(function(e,t){let n=CS(TS,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=gS(TS,e.__scopeMenu),o=vS(TS,e.__scopeMenu);return(0,L.jsx)(cS.Provider,{scope:e.__scopeMenu,children:(0,L.jsx)(jm,{present:r||a.open,children:(0,L.jsx)(cS.Slot,{scope:e.__scopeMenu,children:o.modal?(0,L.jsx)(kS,{...i,ref:t}):(0,L.jsx)(AS,{...i,ref:t})})})})},`MenuContent`)),kS=v.forwardRef(nS(function(e,t){let n=gS(TS,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,L.jsx)(MS,{...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`)),AS=v.forwardRef(nS(function(e,t){let n=gS(TS,e.__scopeMenu);return(0,L.jsx)(MS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),jS=kp(`MenuContent.ScrollLock`),MS=v.forwardRef(nS(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=gS(TS,n),_=vS(TS,n),y=pS(n),b=mS(n),x=lS(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:jS,allowPinchZoom:!0}:void 0,ne=nS(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=XS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;nS((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 M=v.useCallback(e=>A.current===k.current?.side&&QS(e,k.current?.area),[]);return(0,L.jsx)(ES,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{M(e)&&e.preventDefault()},[M]),onItemLeave:v.useCallback(e=>{M(e)||(w.current?.focus(),C(null))},[M]),onTriggerLeave:v.useCallback(e=>{M(e)&&e.preventDefault()},[M]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,L.jsx)(ee,{...te,children:(0,L.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,L.jsx)($x,{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,L.jsx)(ab,{role:`menu`,"aria-orientation":`vertical`,"data-state":GS(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&&ne(e.key));let i=w.current;if(e.target!==i||!oS.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);aS.includes(e.key)&&a.reverse(),JS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,$S(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`)),NS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e;return(0,L.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),PS=`MenuItem`,FS=`menu.itemSelect`,IS=v.forwardRef(nS(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=vS(PS,e.__scopeMenu),s=DS(PS,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=nS(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(FS,{bubbles:!0,cancelable:!0});e.addEventListener(FS,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,L.jsx)(LS,{...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!==` `)&&rS.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),LS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=DS(PS,n),s=mS(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,L.jsx)(cS.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,L.jsx)(eS,{asChild:!0,...s,focusable:!r,children:(0,L.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,$S(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,$S(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[RS,zS]=dS(`MenuRadioGroup`,{value:void 0,onValueChange:nS(()=>{},`onValueChange`)}),[BS,VS]=dS(`MenuItemIndicator`,{checked:!1}),HS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e;return(0,L.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[US,WS]=dS(`MenuSub`);function GS(e){return e?`open`:`closed`}nS(GS,`getOpenState`);function KS(e){return e===`indeterminate`}nS(KS,`isIndeterminate`);function qS(e){return KS(e)?`indeterminate`:e?`checked`:`unchecked`}nS(qS,`getCheckedState`);function JS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}nS(JS,`focusFirst`);function YS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}nS(YS,`wrapArray`);function XS(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=YS(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}nS(XS,`getNextMatch`);function ZS(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}nS(ZS,`isPointInPolygon`);function QS(e,t){return t?ZS({x:e.clientX,y:e.clientY},t):!1}nS(QS,`isPointerInGraceArea`);function $S(e){return t=>t.pointerType===`mouse`?e(t):void 0}nS($S,`whenMouse`);var eC=yS,tC=bS,nC=wS,rC=OS,iC=NS,aC=IS,oC=HS,sC=Object.defineProperty,cC=(e,t)=>sC(e,`name`,{value:t,configurable:!0}),lC=`DropdownMenu`,[uC,dC]=ap(lC,[fS]),fC=fS(),[pC,mC]=uC(lC),hC=cC(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=fC(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:lC});return(0,L.jsx)(pC,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,L.jsx)(eC,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),gC=`DropdownMenuTrigger`,_C=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=mC(gC,n),o=fC(n),s=tp(t,a.triggerRef);return(0,L.jsx)(tC,{asChild:!0,...o,children:(0,L.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`)),vC=cC(e=>{let{__scopeDropdownMenu:t,...n}=e,r=fC(t);return(0,L.jsx)(nC,{...r,...n})},`DropdownMenuPortal`),yC=`DropdownMenuContent`,bC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=mC(yC,n),a=fC(n),o=v.useRef(!1);return(0,L.jsx)(rC,{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`)),xC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(iC,{...i,...r,ref:t})},`DropdownMenuLabel`)),SC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(aC,{...i,...r,ref:t})},`DropdownMenuItem`)),CC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(oC,{...i,...r,ref:t})},`DropdownMenuSeparator`)),wC=hC,TC=_C,EC=vC,DC=bC,OC=xC,kC=SC,AC=CC,jC=`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 MC({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,L.jsxs)(wC,{open:o,onOpenChange:s,modal:!1,children:[(0,L.jsx)(TC,{asChild:!0,children:e}),(0,L.jsx)(EC,{children:(0,L.jsx)(DC,{align:r,side:i,sideOffset:a,collisionPadding:12,className:jC,style:{width:n,maxWidth:`calc(100vw - 24px)`},children:t})})]})}var NC=(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 PC({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,L.jsxs)(kC,{disabled:i,onSelect:t,className:X(NC(n,r),o),children:[e,a?(0,L.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function FC(){return(0,L.jsx)(AC,{className:`my-1 h-px bg-rule`})}function IC({children:e}){return(0,L.jsx)(OC,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var LC=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function RC(){let e=g_(),t=__();return(0,L.jsxs)(MC,{align:`end`,width:180,trigger:(0,L.jsx)(ix,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,L.jsx)(IC,{children:`Appearance`}),LC.map(t=>(0,L.jsxs)(PC,{active:e===t.value,onSelect:()=>h_(t.value),children:[(0,L.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,L.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function zC({size:e=24}){return(0,L.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,L.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,L.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,L.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,L.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,L.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function BC({name:e,version:t}){return(0,L.jsxs)(be,{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,L.jsx)(zC,{}),(0,L.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function VC({children:e,className:t}){return(0,L.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 HC=(0,v.createContext)(!1).Provider;function UC(e,t,n){let[r,i]=(0,v.useState)(!1),a=(0,v.useRef)(0);return(0,v.useLayoutEffect)(()=>{let n=e.current,r=t.current;if(!n||!r)return;let o=()=>{let e=[...n.querySelectorAll(`[data-fit]`)].reduce((e,t)=>e+Math.max(0,t.scrollWidth-t.clientWidth),0),t=r.getBoundingClientRect().left-n.getBoundingClientRect().right;i(n=>n?t-e<a.current-r.offsetWidth+16:(a.current=r.offsetWidth,e>0))};o();let s=new ResizeObserver(o);return s.observe(n.parentElement??n),s.observe(r),()=>s.disconnect()},n),r}var WC=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function GC({location:e}){let t=(0,v.useRef)(null),n=WC.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,L.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[WC.map((e,t)=>(0,L.jsx)(be,{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,L.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 KC(){let e=$g().data,{slots:t}=Xg(),[n]=P();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(VC,{children:[t.barStart,(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,L.jsx)(BC,{name:e?.name,version:e?.version}),(0,L.jsx)(GC,{location:n})]}),(0,L.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,L.jsx)(Qb,{}),(0,L.jsx)(`span`,{className:X(`flex`,t.barEnd?`max-md:hidden`:void 0),children:(0,L.jsx)(RC,{})}),t.barEnd]})]}),(0,L.jsx)(qC,{location:n}),t.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:t.belowBar}):null]})}function qC({location:e}){return(0,L.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:WC.map(t=>{let n=t.match(e);return(0,L.jsxs)(be,{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,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-x-6 bottom-0 h-[2px] rounded-full bg-action`}):null]},t.to)})})}var JC=window.matchMedia(`(max-width: 767px)`),YC=e=>(JC.addEventListener(`change`,e),()=>JC.removeEventListener(`change`,e));function XC(){return(0,v.useSyncExternalStore)(YC,()=>JC.matches)}var ZC=Object.defineProperty,QC=(e,t)=>ZC(e,`name`,{value:t,configurable:!0}),$C=`Popover`,[ew,tw]=ap($C,[Wy]),nw=Wy(),[rw,iw]=ew($C),aw=QC(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=nw(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:$C});return(0,L.jsx)(rb,{...s,children:(0,L.jsx)(rw,{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`),ow=`PopoverTrigger`,sw=v.forwardRef(QC(function(e,t){let{__scopePopover:n,...r}=e,i=iw(ow,n),a=nw(n),o=tp(t,i.triggerRef),s=(0,L.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":vw(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(ib,{asChild:!0,...a,children:s})},`PopoverTrigger`)),cw=`PopoverPortal`,[lw,uw]=ew(cw,{forceMount:void 0}),dw=QC(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=iw(cw,t);return(0,L.jsx)(lw,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),fw=`PopoverContent`,pw=v.forwardRef(QC(function(e,t){let n=uw(fw,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=iw(fw,e.__scopePopover);return(0,L.jsx)(jm,{present:r||a.open,children:a.modal?(0,L.jsx)(hw,{...i,ref:t}):(0,L.jsx)(gw,{...i,ref:t})})},`PopoverContent`)),mw=kp(`PopoverContent.RemoveScroll`),hw=v.forwardRef(QC(function(e,t){let n=iw(fw,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,L.jsx)(Zh,{as:mw,allowPinchZoom:!0,children:(0,L.jsx)(_w,{...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`)),gw=v.forwardRef(QC(function(e,t){let n=iw(fw,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,L.jsx)(_w,{...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`)),_w=v.forwardRef(QC(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=iw(fw,n),p=nw(n);return Hm(),(0,L.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(ab,{"data-state":vw(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 vw(e){return e?`open`:`closed`}QC(vw,`getState`);var yw=aw,bw=sw,xw=dw,Sw=pw,Cw=new s_([]),ww=1;function Tw(e,t,n=`ok`){let r=ww++;Cw.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>Cw.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var Ew=new s_([]),Dw=1;function Ow(){let[e]=(0,v.useState)(()=>Dw++);(0,v.useEffect)(()=>(Ew.set(t=>[...t,e]),()=>Ew.set(t=>t.filter(t=>t!==e))),[e]);let t=c_(Ew,t=>t[0]===e),n=c_(Cw);return t?(0,L.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,L.jsx)(ed,{mode:`popLayout`,children:n.map(e=>(0,L.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,L.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):e.tone===`info`?(0,L.jsx)(Z,{name:`info`,size:15,className:`text-muted`}):(0,L.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,L.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,L.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function kw(e,t=`Copied`){try{await navigator.clipboard.writeText(e),Tw(t,e.length>64?void 0:e)}catch{Tw(`Could not copy`,`The browser blocked clipboard access`,`error`)}}function Aw(e){return e.split(`/`).filter(Boolean)}function jw(e){return{pattern:e,segments:Aw(e).map(e=>e===`*`?{kind:`splat`}:e.startsWith(`:`)?{kind:`param`,optional:e.endsWith(`?`)}:{kind:`static`,value:e})}}function Mw(e){try{return decodeURIComponent(e)}catch{return e}}function Nw(e,t){let n=Aw(t.split(/[?#]/)[0]??``).map(Mw),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 Pw(e,t){let n=null;for(let r of e)for(let e of r.routes){let i=Nw(e,t);i!==null&&(!n||i>n.score)&&(n={score:i,value:r.value})}return n?.value??null}function Fw(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 Iw=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of Iw.get(e.source)??[])n(t)});function Lw(e,t){let n=null,r=()=>{if(!n)return;let e=Iw.get(n);e?.delete(t),e?.size||Iw.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=Iw.get(n)??new Set;i.add(t),Iw.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function Rw(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function zw(e){Rw(e,{type:`canvas`})}function Bw(e,t){for(let n=e.parentElement;n;n=n.parentElement){let e=getComputedStyle(n),r=e=>/(auto|scroll|overlay)/.test(e),i=r(e.overflowY)&&n.scrollHeight>n.clientHeight,a=r(e.overflowX)&&n.scrollWidth>n.clientWidth;if(i||a){n.scrollBy({left:a?t.deltaX:0,top:i?t.deltaY:0,behavior:`instant`});return}}window.scrollBy({left:t.deltaX,top:t.deltaY,behavior:`instant`})}function Vw(e,t){Rw(e,{type:`theme`,theme:t})}function Hw(e){e&&(e.src=e.src)}var Uw=(()=>{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 Ww(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(`/`)?Uw:``}${r}?${a.toString()}`}function Gw(e){return new URL(e,document.baseURI).toString()}function Kw(e,t,n,r){if(e.form){Tw(`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:Tw(`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:Fw(e.raw,a?.routes?.[0]);if(o===null)return;let s=Pw(i.map(e=>({routes:(e.routes??[]).map(jw),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||Tw(`No screen for this link`,o,`info`)}function qw(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}),Rw(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=>Lw(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&&Rw(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)Rw(e,{type:`inspect-select`,ref:null});o(null)}else a&&Rw(a.frame,{type:`inspect-select`,ref:e})}}}function Jw(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=>Lw(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 Yw({title:e,children:t,right:n}){return(0,L.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,L.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function Xw({label:e,children:t}){return(0,L.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,L.jsx)(`span`,{className:`text-muted`,children:e}),(0,L.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function Zw({name:e}){return e?(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(`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 Qw({children:e,title:t}){return(0,L.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function $w({label:e,color:t}){return(0,L.jsxs)(Xw,{label:e,children:[(0,L.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,L.jsx)(Qw,{title:t.css,children:t.value}),(0,L.jsx)(Zw,{name:t.token})]})}var eT=e=>e?String(e):`–`;function tT({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,L.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,L.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,L.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:eT(i)}),(0,L.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:eT(s)}),(0,L.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,L.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:eT(a)}),(0,L.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:eT(o)})]})}function nT({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,L.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,L.jsx)(tT,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,L.jsx)(tT,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,L.jsx)(tT,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,L.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 rT({info:e,onSelect:t}){return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,L.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,L.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,L.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,L.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function iT({info:e,onSelect:t,onClose:n,active:r}){return(0,L.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,L.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,L.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,L.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,L.jsx)(ix,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,L.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,L.jsxs)(Yw,{title:`Element`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,L.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,L.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,L.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,L.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(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,L.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,L.jsx)(rT,{info:e,onSelect:t})]}),(0,L.jsxs)(Yw,{title:`Box`,children:[(0,L.jsx)(nT,{info:e}),(0,L.jsx)(Xw,{label:`Size`,children:(0,L.jsxs)(Qw,{children:[e.rect.w,` × `,e.rect.h]})}),(0,L.jsx)(Xw,{label:`Position`,children:(0,L.jsxs)(Qw,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,L.jsx)(Yw,{title:`Layout`,children:e.layout.map(([e,t])=>(0,L.jsx)(Xw,{label:e,children:(0,L.jsx)(Qw,{title:t,children:t})},e))}):null,e.typography?(0,L.jsxs)(Yw,{title:`Typography`,children:[(0,L.jsxs)(Xw,{label:`Font`,children:[(0,L.jsx)(Qw,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,L.jsx)(Zw,{name:e.typography.familyToken})]}),(0,L.jsxs)(Xw,{label:`Size`,children:[(0,L.jsxs)(Qw,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,L.jsx)(Zw,{name:e.typography.sizeToken})]}),(0,L.jsx)(Xw,{label:`Weight`,children:(0,L.jsx)(Qw,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,L.jsx)(Xw,{label:`Tracking`,children:(0,L.jsx)(Qw,{children:e.typography.letterSpacing})}),(0,L.jsx)($w,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,L.jsx)(Xw,{label:`Align`,children:(0,L.jsx)(Qw,{children:e.typography.align})}),e.typography.transform?(0,L.jsx)(Xw,{label:`Transform`,children:(0,L.jsx)(Qw,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,L.jsxs)(Yw,{title:`Appearance`,children:[e.appearance.background?(0,L.jsx)($w,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,L.jsx)(Xw,{label:`Image`,children:(0,L.jsx)(Qw,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,L.jsxs)(Xw,{label:`Border`,children:[(0,L.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,L.jsxs)(Qw,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,L.jsx)(Zw,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,L.jsxs)(Xw,{label:`Radius`,children:[(0,L.jsx)(Qw,{children:e.appearance.radius.value}),(0,L.jsx)(Zw,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,L.jsxs)(Xw,{label:`Shadow`,children:[(0,L.jsx)(Qw,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,L.jsx)(Zw,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,L.jsx)(Xw,{label:`Opacity`,children:(0,L.jsx)(Qw,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,L.jsx)(Yw,{title:`Classes`,right:(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,L.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,L.jsx)(Yw,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,L.jsx)(Xw,{label:e,children:(0,L.jsx)(Qw,{title:t,children:t})},e))}):null,e.children.length?(0,L.jsx)(Yw,{title:`Children · ${e.children.length}`,children:(0,L.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,L.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,L.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,L.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,L.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${T_} to highlight, click to inspect.`}),(0,L.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,L.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,L.jsx)(y_,{children:`I`}),` toggle · hold `,(0,L.jsx)(y_,{children:T_}),` · `,(0,L.jsx)(y_,{children:`esc`}),` clear`]})]}),e?(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,L.jsx)(tx,{icon:`copy`,onClick:()=>void kw(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var aT={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 oT({tone:e=`neutral`,children:t,className:n}){return(0,L.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,aT[e],n),children:t})}function sT({value:e,tone:t=`neutral`}){return(0,L.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 cT({children:e,className:t,style:n}){return(0,L.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function lT({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,L.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,L.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,L.jsx)(sT,{value:t}),n?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,L.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function uT({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,L.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,L.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,L.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,L.jsx)(sT,{value:e.count}),r?(0,L.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,L.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function dT({align:e,children:t}){return(0,L.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 fT(e,t){return v.Children.toArray(e).map((e,n)=>(0,L.jsx)(dT,{align:t?.[n]??`l`,children:e},n))}function pT({cols:e,align:t,labels:n}){return(0,L.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,L.jsx)(dT,{align:t?.[n]??`l`,children:(0,L.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var mT=(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 hT({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,L.jsx)(`div`,{className:mT(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:fT(i,t)})}function gT({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,L.jsx)(be,{href:e,className:X(mT(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:fT(s,n)})}function _T({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,L.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,L.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,L.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function vT({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,L.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function yT({issues:e,className:t}){return(0,L.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,L.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,L.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,L.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function bT({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,L.jsxs)(cT,{className:n?`border-danger/40`:void 0,children:[(0,L.jsx)(lT,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:(0,L.jsx)(yT,{issues:e})})]})}var xT=[.2,.7,.2,1];function ST({open:e,side:t,width:n,children:r}){return(0,L.jsx)(ed,{initial:!1,children:e?(0,L.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:xT},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,L.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function CT({children:e,className:t,gap:n=20,wide:r=!1}){return(0,L.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 wT({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,L.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,L.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,L.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,L.jsx)(`div`,{className:`text-[13px] [overflow-wrap:anywhere] text-muted`,children:t}):null]}),n?(0,L.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function TT({items:e,label:t}){return(0,L.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>(0,L.jsxs)(be,{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,L.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to))})}function ET({children:e}){return(0,L.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function DT({title:e,text:t,action:n}){return(0,L.jsxs)(cT,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,L.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,L.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,L.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function OT(e){return(0,L.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,L.jsx)(DT,{...e})})}function kT({title:e=`Nothing here`,text:t}){let n=!!Xg().scope;return(0,L.jsx)(OT,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,L.jsx)(ax,{to:`/`,children:`All canvases`})})}var AT=.1,jT=(e,t=AT)=>Math.min(8,Math.max(t,e)),MT=class{camera={x:0,y:0,z:1};minZoom=AT;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:jT(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=jT(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:jT(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 NT(e,t,n,r=72,i=1,a=AT){let o=jT(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 PT(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 FT({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,L.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,L.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,L.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 z-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,L.jsx)(`span`,{className:`relative z-[1] flex items-center gap-1.5`,children:e.label})]},e.value)})})}var IT=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function LT(e,t,n){let{frameSandbox:r}=Xg(),{base:i}=de();return t?t.kind===`url`?t.url:Gw(r?`${i}${IT(e,t.id,t.theme??n)}`:Ww(t.url,t.theme??n)):null}function RT({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e),[,a]=P(),{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`?Ww(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 Lw(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(IT(e,t,f),{replace:!0})}else r.type===`link`&&n&&Kw(r,n,t=>a(IT(e,t,f),{replace:!0}),t)})},[p,d?.kind]),r?(0,L.jsx)(kT,{title:`Canvas not found`,text:r.message}):i||!n?(0,L.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,L.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,L.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`&&Vw(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,L.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,L.jsxs)(be,{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,L.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,L.jsx)(y_,{children:`esc`})]})})]}):(0,L.jsx)(kT,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function zT(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 BT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function VT({canvas:e,page:t,store:n,onPick:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.frames);return(0,L.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,L.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,L.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,L.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,L.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,L.jsxs)(be,{href:BT(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,L.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,L.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,L.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,L.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,L.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,L.jsx)(`span`,{className:`truncate`,children:e.title}),(0,L.jsx)(sT,{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,L.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,L.jsx)(Z,{name:zT(t),size:15,className:`text-muted`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,L.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function HT({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=P(),{slots:d,scope:f}=Xg(),p=(0,v.useRef)(null),m=(0,v.useRef)(null),h=UC(p,m,[e.title,t?.title,e.pages.length]);return(0,L.jsxs)(HC,{value:h,children:[(0,L.jsxs)(VC,{children:[d.barStart,d.brand?d.brand:f?(0,L.jsx)(zC,{}):(0,L.jsx)(Yb,{content:`All canvases`,children:(0,L.jsx)(be,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,L.jsx)(zC,{})})}),(0,L.jsx)(ix,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,L.jsxs)(`div`,{ref:p,className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,L.jsx)(`span`,{"data-fit":!0,className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,L.jsxs)(MC,{width:240,trigger:(0,L.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,L.jsx)(`span`,{"data-fit":!0,className:`truncate`,children:t.title}),(0,L.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,L.jsx)(IC,{children:`Pages`}),e.pages.map(n=>(0,L.jsxs)(PC,{active:n.id===t.id,onSelect:()=>u(BT(e,n)),children:[(0,L.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,L.jsxs)(`div`,{ref:m,className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(FT,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,L.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,L.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,L.jsx)(WT,{on:c,onChange:l,compact:h}),(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,L.jsx)(y_,{children:`P`})]}),children:(0,L.jsx)(tx,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,"aria-label":`Play`,className:h?`w-ctrl px-0`:void 0,children:h?null:`Play`})}),(0,L.jsx)(Qb,{width:180,label:`Search`,compact:h}),(0,L.jsx)(RC,{}),d.barEnd]})]}),d.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:d.belowBar}):null]})}function UT({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=LT(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=()=>Hw(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,L.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,L.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,L.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,L.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,L.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
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,L.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,L.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,L.jsx)(jm,{present:n||a.open,children:(0,L.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,L.jsx)(jm,{present:r||a.open,children:(0,L.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,L.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,L.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,L.jsx)(jm,{present:r||a.open,children:a.modal?(0,L.jsx)(Tg,{...i,ref:t}):(0,L.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,L.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,L.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,L.jsx)(L.Fragment,{children:(0,L.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.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,L.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,L.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()},async setIcon(e){let t=await fetch(`/api/icon`,{method:e?`PUT`:`DELETE`,headers:e?{"content-type":e.type||`application/octet-stream`}:void 0,body:e});if(!t.ok){let e=await t.json().catch(()=>({}));throw new Pg(t.status,e.error??`${t.status} ${t.statusText}`)}}},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 Bt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function $g(){let{source:e,keys:t,scope:n}=Xg();return Qt({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function e_(e,t=!0){let{source:n,keys:r}=Xg();return Qt({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 Qt({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 Qt({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,L.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,L.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,L.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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,L.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,L.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]=P(),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,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,L.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,L.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,L.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,L.jsx)(y_,{children:`esc`})]}),(0,L.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,L.jsxs)(`div`,{role:`presentation`,children:[(0,L.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,L.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,L.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,L.jsx)(Z,{name:e.icon,size:16})}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,L.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,L.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,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(y_,{children:`↑`}),(0,L.jsx)(y_,{children:`↓`}),`move`]}),(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.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,L.jsx)(mg,{open:e,onOpenChange:t,children:(0,L.jsx)(ed,{children:e?(0,L.jsx)(vg,{forceMount:!0,children:(0,L.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,L.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,L.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,L.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,L.jsx)(C_,{onClose:()=>t(!1)})})})})})}):null})})}var T_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,E_=[`top`,`right`,`bottom`,`left`],D_=Math.min,O_=Math.max,k_=Math.round,A_=Math.floor,j_=e=>({x:e,y:e}),M_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function N_(e,t,n){return O_(e,D_(t,n))}function P_(e,t){return typeof e==`function`?e(t):e}function F_(e){return e.split(`-`)[0]}function I_(e){return e.split(`-`)[1]}function L_(e){return e===`x`?`y`:`x`}function R_(e){return e===`y`?`height`:`width`}function z_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function B_(e){return L_(z_(e))}function V_(e,t,n){n===void 0&&(n=!1);let r=I_(e),i=B_(e),a=R_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=X_(o)),[o,X_(o)]}function H_(e){let t=X_(e);return[U_(e),t,U_(t)]}function U_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var W_=[`left`,`right`],G_=[`right`,`left`],K_=[`top`,`bottom`],q_=[`bottom`,`top`];function J_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?G_:W_:t?W_:G_;case`left`:case`right`:return t?K_:q_;default:return[]}}function Y_(e,t,n,r){let i=I_(e),a=J_(F_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(U_)))),a}function X_(e){let t=F_(e);return M_[t]+e.slice(t.length)}function Z_(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Q_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Z_(e)}function $_(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 ev(e,t,n){let{reference:r,floating:i}=e,a=z_(t),o=B_(t),s=R_(o),c=F_(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=I_(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function tv(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}=P_(t,e),p=Q_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$_(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=$_(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 nv=50,rv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ev(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<nv&&(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}=ev(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},iv=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}=P_(e,t)||{};if(l==null)return{};let d=Q_(u),f={x:n,y:r},p=B_(i),m=R_(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=D_(d[_],T),D=D_(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=N_(E,k,O),j=!c.arrow&&I_(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}}}),av=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}=P_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=F_(r),_=z_(o),v=F_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[X_(o)]:H_(o)),x=p!==`none`;!d&&x&&b.push(...Y_(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=V_(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`||_===z_(t)||T.every(e=>z_(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=z_(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 ov(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function sv(e){return E_.some(t=>e[t]>=0)}var cv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=P_(e,t);switch(i){case`referenceHidden`:{let e=ov(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:sv(e)}}}case`escaped`:{let e=ov(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:sv(e)}}}default:return{}}}}},lv=new Set([`left`,`top`]);async function uv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=F_(n),s=I_(n),c=z_(n)===`y`,l=lv.has(o)?-1:1,u=a&&c?-1:1,d=P_(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 dv=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 uv(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}}}}},fv=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}=P_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=z_(i),p=L_(f),m=u[p],h=u[f],g=(e,t)=>N_(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}}}}}},pv=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}=P_(e,t),u={x:n,y:r},d=z_(i),f=L_(d),p=u[f],m=u[d],h=P_(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=lv.has(F_(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}}}},mv=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}=P_(e,t),c=await i.detectOverflow(t,s),l=F_(n),u=I_(n),d=z_(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=D_(p-c[m],g),y=D_(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*O_(c.left,c.right):S=p-2*O_(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 gv(e){return yv(e)?(e.nodeName||``).toLowerCase():`#document`}function _v(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function vv(e){return((yv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function yv(e){return hv()?e instanceof Node||e instanceof _v(e).Node:!1}function bv(e){return hv()?e instanceof Element||e instanceof _v(e).Element:!1}function xv(e){return hv()?e instanceof HTMLElement||e instanceof _v(e).HTMLElement:!1}function Sv(e){return!hv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof _v(e).ShadowRoot}function Cv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Pv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function wv(e){return/^(table|td|th)$/.test(gv(e))}function Tv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ev=/transform|translate|scale|rotate|perspective|filter/,Dv=/paint|layout|strict|content/,Ov=e=>!!e&&e!==`none`,kv;function Av(e){let t=bv(e)?Pv(e):e;return Ov(t.transform)||Ov(t.translate)||Ov(t.scale)||Ov(t.rotate)||Ov(t.perspective)||!Mv()&&(Ov(t.backdropFilter)||Ov(t.filter))||Ev.test(t.willChange||``)||Dv.test(t.contain||``)}function jv(e){let t=Iv(e);for(;xv(t)&&!Nv(t);){if(Av(t))return t;if(Tv(t))return null;t=Iv(t)}return null}function Mv(){return kv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),kv}function Nv(e){return/^(html|body|#document)$/.test(gv(e))}function Pv(e){return _v(e).getComputedStyle(e)}function Fv(e){return bv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Iv(e){if(gv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Sv(e)&&e.host||vv(e);return Sv(t)?t.host:t}function Lv(e){let t=Iv(e);return Nv(t)?(e.ownerDocument||e).body:xv(t)&&Cv(t)?t:Lv(t)}function Rv(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Lv(e),i=r===e.ownerDocument?.body,a=_v(r);if(i){let e=zv(a);return t.concat(a,a.visualViewport||[],Cv(r)?r:[],e&&n?Rv(e):[])}return t.concat(r,Rv(r,[],n))}function zv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Bv(e){let t=Pv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=xv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=k_(n)!==a||k_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Vv(e){return bv(e)?e:e.contextElement}function Hv(e){let t=Vv(e);if(!xv(t))return j_(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Bv(t),o=(a?k_(n.width):n.width)/r,s=(a?k_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Uv=j_(0);function Wv(e){let t=_v(e);return!Mv()||!t.visualViewport?Uv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Gv(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===_v(e)}function Kv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Vv(e),o=j_(1);t&&(r?bv(r)&&(o=Hv(r)):o=Hv(e));let s=Gv(a,n,r)?Wv(a):j_(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=_v(a),t=bv(r)?_v(r):r,n=e,i=zv(n);for(;i&&t!==n;){let e=Hv(i),t=i.getBoundingClientRect(),r=Pv(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=_v(i),i=zv(n)}}return $_({width:u,height:d,x:c,y:l})}function qv(e,t){let n=Fv(e).scrollLeft;return t?t.left+n:Kv(vv(e)).left+n}function Jv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-qv(e,n),y:n.top+t.scrollTop}}function Yv(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=vv(r),s=t?Tv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=j_(1),u=j_(0),d=xv(r);if((d||!a)&&((gv(r)!==`body`||Cv(o))&&(c=Fv(r)),d)){let e=Kv(r);l=Hv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Jv(o,c):j_(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 Xv(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Zv(e){let t=Fv(e),n=e.ownerDocument.body,r=O_(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=O_(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+qv(e),o=-t.scrollTop;return Pv(n).direction===`rtl`&&(a+=O_(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Qv=25;function $v(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=_v(e),a=vv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Mv()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(qv(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<=Qv&&(s-=o)}return{width:s,height:c,x:l,y:u}}function ey(e,t){let n=Kv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Hv(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ty(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=$v(e,n,t);else if(t===`document`)r=Zv(vv(e));else if(bv(t))r=ey(t,n);else{let n=Wv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $_(r)}function ny(e,t){let n=t.get(e);if(n)return n;let r=Rv(e,[],!1).filter(e=>bv(e)&&gv(e)!==`body`),i=null,a=Pv(e).position===`fixed`,o=a?Iv(e):e;for(;bv(o)&&!Nv(o);){let e=Pv(o),t=Av(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Iv(o)}return t.set(e,r),r}function ry(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Tv(t)?[]:ny(t,this._c):[].concat(n),r],o=ty(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=ty(t,a[e],i);s=O_(n.top,s),c=D_(n.right,c),l=D_(n.bottom,l),u=O_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function iy(e){let{width:t,height:n}=Bv(e);return{width:t,height:n}}function ay(e,t,n){let r=xv(t),i=vv(t),a=n===`fixed`,o=Kv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=j_(0);if((r||!a)&&((gv(t)!==`body`||Cv(i))&&(s=Fv(t)),r)){let e=Kv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=qv(i));let l=i&&!r&&!a?Jv(i,s):j_(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 oy(e){return Pv(e).position===`static`}function sy(e,t){if(!xv(e)||Pv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return vv(e)===n&&(n=n.ownerDocument.body),n}function cy(e,t){let n=_v(e);if(Tv(e))return n;if(!xv(e)){let t=Iv(e);for(;t&&!Nv(t);){if(bv(t)&&!oy(t))return t;t=Iv(t)}return n}let r=sy(e,t);for(;r&&wv(r)&&oy(r);)r=sy(r,t);return r&&Nv(r)&&oy(r)&&!Av(r)?n:r||jv(e)||n}var ly=async function(e){let t=this.getOffsetParent||cy,n=this.getDimensions,r=await n(e.floating);return{reference:ay(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function uy(e){return Pv(e).direction===`rtl`}var dy={convertOffsetParentRelativeRectToViewportRelativeRect:Yv,getDocumentElement:vv,getClippingRect:ry,getOffsetParent:cy,getElementRects:ly,getClientRects:Xv,getDimensions:iy,getScale:Hv,isElement:bv,isRTL:uy};function fy(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function py(e,t,n){let r=null,i,a=vv(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=A_(d),h=A_(a.clientWidth-(u+f)),g=A_(a.clientHeight-(d+p)),_=A_(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:O_(0,D_(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!fy(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=_v(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function my(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=Vv(e),u=i||a?[...l?Rv(l):[],...t?Rv(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?py(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?Kv(e):null;c&&g();function g(){let t=Kv(e);h&&!fy(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=dv,gy=fv,_y=av,vy=mv,yy=cv,by=iv,xy=pv,Sy=(e,t,n)=>{let r=new Map,i=n??{},a={...dy,...i.platform,_c:r};return rv(e,t,{...i,platform:a})},Cy=typeof document<`u`?v.useLayoutEffect:function(){};function wy(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(!wy(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)&&!wy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Ty(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ey(e,t){let n=Ty(e);return Math.round(t*n)/n}function Dy(e){let t=v.useRef(e);return Cy(()=>{t.current=e}),t}function Oy(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);wy(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=Dy(c),O=Dy(i),k=Dy(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Sy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!wy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Cy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Cy(()=>(j.current=!0,()=>{j.current=!1}),[]),Cy(()=>{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]),ne=v.useMemo(()=>{let e={position:n,left:0,top:0};if(!te.floating)return e;let t=Ey(te.floating,u.x),r=Ey(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Ty(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:ne}),[u,A,ee,te,ne])}var ky=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?{}:by({element:r.current,padding:i}).fn(n):r?by({element:r,padding:i}).fn(n):{}}}},Ay=(e,t)=>{let n=hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},jy=(e,t)=>{let n=gy(e);return{name:n.name,fn:n.fn,options:[e,t]}},My=(e,t)=>({fn:xy(e).fn,options:[e,t]}),Ny=(e,t)=>{let n=_y(e);return{name:n.name,fn:n.fn,options:[e,t]}},Py=(e,t)=>{let n=vy(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fy=(e,t)=>{let n=yy(e);return{name:n.name,fn:n.fn,options:[e,t]}},Iy=(e,t)=>{let n=ky(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ly=Object.defineProperty,Ry=(e,t)=>Ly(e,`name`,{value:t,configurable:!0});function zy(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}Ry(zy,`useSize`);var By=Object.defineProperty,Vy=(e,t)=>By(e,`name`,{value:t,configurable:!0}),Hy=`Popper`,[Uy,Wy]=ap(Hy),[Gy,Ky]=Uy(Hy),qy=Vy(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,L.jsx)(Gy,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),Jy=`PopperAnchor`,Yy=v.forwardRef(Vy(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=Ky(Jy,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&&nb(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Xy=`PopperContent`,[Zy,Qy]=Uy(Xy),$y=v.forwardRef(Vy(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=Ky(Xy,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=zy(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(eb),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:ne,middlewareData:M}=Oy({strategy:`fixed`,placement:E,whileElementsMounted:Vy((...e)=>my(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[Ay({mainAxis:i+T,alignmentAxis:o}),c&&jy({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?My():void 0,...A}),c&&Ny({...A}),Py({...A,apply:Vy(({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&&Iy({element:x,padding:s}),tb({arrowWidth:w,arrowHeight:T}),f&&Fy({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),re=g.setPlacementState;sp(()=>(re(te),()=>{re(void 0)}),[te,re]);let[ie,N]=nb(te),ae=Jp(m);sp(()=>{ne&&ae?.()},[ne,ae]);let oe=M.arrow?.x,se=M.arrow?.y,ce=M.arrow?.centerOffset!==0,[le,ue]=v.useState();return sp(()=>{_&&ue(window.getComputedStyle(_).zIndex)},[_]),(0,L.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:ne?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:le,"--radix-popper-transform-origin":[M.transformOrigin?.x,M.transformOrigin?.y].join(` `),...M.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,L.jsx)(Zy,{scope:n,placedSide:ie,placedAlign:N,onArrowChange:S,arrowX:oe,arrowY:se,shouldHideArrow:ce,children:(0,L.jsx)(Wp.div,{"data-side":ie,"data-align":N,...h,ref:b,style:{...h.style,animation:ne?h.style?.animation:`none`}})})})},`PopperContent`));function eb(e){return e!==null}Vy(eb,`isNotNull`);var tb=Vy(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]=nb(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 nb(e){let[t,n=`center`]=e.split(`-`);return[t,n]}Vy(nb,`getSideAndAlignFromPlacement`);var rb=qy,ib=Yy,ab=$y,ob=Object.defineProperty,sb=(e,t)=>ob(e,`name`,{value:t,configurable:!0}),cb=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`}),lb=v.forwardRef(sb(function(e,t){return(0,L.jsx)(Wp.span,{...e,ref:t,style:{...cb,...e.style}})},`VisuallyHidden`)),ub=Object.defineProperty,db=(e,t)=>ub(e,`name`,{value:t,configurable:!0}),[fb,pb]=ap(`Tooltip`,[Wy]),mb=Wy(),hb=`TooltipProvider`,gb=700,_b=`tooltip.open`,[vb,yb]=fb(hb),bb=db(e=>{let{__scopeTooltip:t,delayDuration:n=gb,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,L.jsx)(vb,{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`),xb=`Tooltip`,[Sb,Cb]=fb(xb),wb=db(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=yb(xb,e.__scopeTooltip),l=mb(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:db(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(_b))):c.onClose(),a?.(e)},`onChange`),caller:xb}),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,L.jsx)(rb,{...l,children:(0,L.jsx)(Sb,{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`),Tb=`TooltipTrigger`,Eb=v.forwardRef(db(function(e,t){let{__scopeTooltip:n,...r}=e,i=Cb(Tb,n),a=yb(Tb,n),o=mb(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,L.jsx)(ib,{asChild:!0,...o,children:(0,L.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`)),Db=`TooltipPortal`,[Ob,kb]=fb(Db,{forceMount:void 0}),Ab=db(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Cb(Db,t);return(0,L.jsx)(Ob,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),jb=`TooltipContent`,Mb=v.forwardRef(db(function(e,t){let n=kb(jb,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Cb(jb,e.__scopeTooltip);return(0,L.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,L.jsx)(Fb,{side:i,...a,ref:t}):(0,L.jsx)(Nb,{side:i,...a,ref:t})})},`TooltipContent`)),Nb=v.forwardRef(db(function(e,t){let n=Cb(jb,e.__scopeTooltip),r=yb(jb,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=Lb(r,Ib(r,n.getBoundingClientRect())),a=Rb(t.getBoundingClientRect()),o=Bb([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=db(e=>p(e,u),`handleTriggerLeave`),t=db(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=db(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!zb(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,L.jsx)(Fb,{...e,ref:a})},`TooltipContentHoverable`)),Pb=jp(`TooltipContent`),Fb=v.forwardRef(db(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Cb(jb,n),u=mb(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener(_b,d),()=>document.removeEventListener(_b,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=db(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,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,L.jsxs)(ab,{"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,L.jsx)(Pb,{children:r}),i?(0,L.jsx)(lb,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function Ib(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`)}}db(Ib,`getExitSideFromRect`);function Lb(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}db(Lb,`getPaddedExitPoints`);function Rb(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}]}db(Rb,`getPointsFromRect`);function zb(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}db(zb,`isPointInPolygon`);function Bb(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)),Vb(t)}db(Bb,`getHull`);function Vb(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)}db(Vb,`getHullPresorted`);var Hb=bb,Ub=wb,Wb=Eb,Gb=Ab,Kb=Mb;function qb({children:e}){return(0,L.jsx)(Hb,{delayDuration:250,children:e})}var Jb=`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 Yb({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,L.jsxs)(Ub,{children:[(0,L.jsx)(Wb,{asChild:!0,children:t}),(0,L.jsx)(Gb,{children:(0,L.jsx)(Kb,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(Jb,i),children:e})})]})}function Xb(){window.dispatchEvent(new CustomEvent(`design:palette`))}var Zb=T_===`⌘`?`⌘K`:`Ctrl K`;function Qb({width:e=240,label:t=`Search and jump`,compact:n}){if(n)return(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[t,` `,(0,L.jsx)(y_,{children:Zb})]}),children:(0,L.jsx)(`button`,{type:`button`,onClick:Xb,"aria-label":t,className:`inline-flex h-ctrl w-ctrl shrink-0 cursor-pointer items-center justify-center rounded-[6px] border border-rule bg-soft text-muted transition-colors hover:border-rule-strong`,children:(0,L.jsx)(Z,{name:`search`,size:15})})});let r=n===!1;return(0,L.jsxs)(`button`,{type:`button`,onClick:Xb,style:{width:e},"aria-label":t,className:X(`flex h-ctrl min-w-0 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`,r?`shrink-0`:`shrink 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,L.jsx)(Z,{name:`search`,size:15}),(0,L.jsx)(`span`,{className:X(`min-w-0 grow truncate text-left`,!r&&`max-lg:hidden`),children:t}),(0,L.jsx)(`span`,{className:X(`flex`,!r&&`max-md:hidden`),children:(0,L.jsx)(y_,{children:Zb})})]})}var $b={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`},ex=(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`,$b[e],t),tx=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,L.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:ex(e,i),...s,children:[n?(0,L.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,L.jsx)(Z,{name:t,size:15}):null,a]})}),nx={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`},rx=(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`,nx[e],t),ix=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,L.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:rx(n,i),...o,children:(0,L.jsx)(Z,{name:e,size:r})})});function ax({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,L.jsxs)(be,{href:e,className:ex(t,r),children:[n?(0,L.jsx)(Z,{name:n,size:15}):null,i]})}function ox({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,L.jsxs)(`a`,{className:ex(e,n),...i,children:[t?(0,L.jsx)(Z,{name:t,size:15}):null,r]})}var sx=Object.defineProperty,cx=(e,t)=>sx(e,`name`,{value:t,configurable:!0});function lx(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=cx(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,L.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,L.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,L.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 cx(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}cx(lx,`createCollection`);var ux=new WeakMap,dx=class e extends Map{static{cx(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],ux.set(this,!0)}set(e,t){return ux.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=mx(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=fx(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=fx(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return fx(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 fx(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=px(e,t);return n===-1?void 0:e[n]}cx(fx,`at`);function px(e,t){let n=e.length,r=mx(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}cx(px,`toSafeIndex`);function mx(e){return e!==e||e===0?0:Math.trunc(e)}cx(mx,`toSafeInteger`);function hx(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new dx,setItemMap:cx(()=>void 0,`setItemMap`)}),o=cx(({state:e,...t})=>e?(0,L.jsx)(c,{...t,state:e}):(0,L.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=cx(e=>{let t=h();return(0,L.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=cx(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=yx(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,L.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,L.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);gx(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(vx):(t.set(s,{...e,element:s}),t.toSorted(vx)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new dx(e)))}},[s,m,u]),(0,L.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new dx)}cx(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return cx(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}cx(hx,`createCollection`);function gx(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}cx(gx,`shallowEqual`);function _x(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}cx(_x,`isElementPreceding`);function vx(e,t){return!e[1].element||!t[1].element?0:_x(e[1].element,t[1].element)?-1:1}cx(vx,`sortByDocumentPosition`);function yx(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}cx(yx,`getChildListObserver`);var bx=Object.defineProperty,xx=(e,t)=>bx(e,`name`,{value:t,configurable:!0}),Sx=v.createContext(void 0);function Cx(e){let t=v.useContext(Sx);return e||t||`ltr`}xx(Cx,`useDirection`);var wx=Object.defineProperty,Tx=(e,t)=>wx(e,`name`,{value:t,configurable:!0}),Ex=!1;function Dx(){let[e,t]=v.useState(Ex);return v.useEffect(()=>{Ex||(Ex=!0,t(!0))},[]),e}Tx(Dx,`useIsHydrated`);var Ox=v.useSyncExternalStore;function kx(){return()=>{}}Tx(kx,`subscribe`);function Ax(){return Ox(kx,()=>!0,()=>!1)}Tx(Ax,`useIsHydratedModern`);var jx=typeof Ox==`function`?Ax:Dx,Mx=Object.defineProperty,Nx=(e,t)=>Mx(e,`name`,{value:t,configurable:!0}),Px=`rovingFocusGroup.onEntryFocus`,Fx={bubbles:!1,cancelable:!0},Ix=`RovingFocusGroup`,[Lx,Rx,zx]=lx(Ix),[Bx,Vx]=ap(Ix,[zx]),[Hx,Ux]=Bx(Ix),Wx=v.forwardRef(Nx(function(e,t){return(0,L.jsx)(Lx.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(Lx.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(Gx,{...e,ref:t})})})},`RovingFocusGroup`)),Gx=v.forwardRef(Nx(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=Cx(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Ix}),[_,y]=v.useState(!1),b=Jp(l),x=Rx(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Px,b),()=>e.removeEventListener(Px,b)},[b]),(0,L.jsx)(Hx,{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,L.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(Px,Fx);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);Zx([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`)),Kx=`RovingFocusGroupItem`,qx=v.forwardRef(Nx(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Ux(Kx,n),d=u.currentTabStopId===l,f=Rx(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=jx();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,L.jsx)(Lx.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,L.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=Xx(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?Qx(n,r+1):n.slice(r+1)}setTimeout(()=>Zx(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),Jx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Yx(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Nx(Yx,`getDirectionAwareKey`);function Xx(e,t,n){let r=Yx(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Jx[r]}Nx(Xx,`getFocusIntent`);function Zx(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Nx(Zx,`focusFirst`);function Qx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Nx(Qx,`wrapArray`);var $x=Wx,eS=qx,tS=Object.defineProperty,nS=(e,t)=>tS(e,`name`,{value:t,configurable:!0}),rS=[`Enter`,` `],iS=[`ArrowDown`,`PageUp`,`Home`],aS=[`ArrowUp`,`PageDown`,`End`],oS=[...iS,...aS];[...rS],[...rS];var sS=`Menu`,[cS,lS,uS]=lx(sS),[dS,fS]=ap(sS,[uS,Wy,Vx]),pS=Wy(),mS=Vx(),[hS,gS]=dS(sS),[_S,vS]=dS(sS),yS=nS(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=pS(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=Cx(i);return v.useEffect(()=>{let e=nS(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=nS(()=>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=nS(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,L.jsx)(rb,{...s,children:(0,L.jsx)(hS,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,L.jsx)(_S,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),bS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e,i=pS(n);return(0,L.jsx)(ib,{...i,...r,ref:t})},`MenuAnchor`)),xS=`MenuPortal`,[SS,CS]=dS(xS,{forceMount:void 0}),wS=nS(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=gS(xS,t);return(0,L.jsx)(SS,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),TS=`MenuContent`,[ES,DS]=dS(TS),OS=v.forwardRef(nS(function(e,t){let n=CS(TS,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=gS(TS,e.__scopeMenu),o=vS(TS,e.__scopeMenu);return(0,L.jsx)(cS.Provider,{scope:e.__scopeMenu,children:(0,L.jsx)(jm,{present:r||a.open,children:(0,L.jsx)(cS.Slot,{scope:e.__scopeMenu,children:o.modal?(0,L.jsx)(kS,{...i,ref:t}):(0,L.jsx)(AS,{...i,ref:t})})})})},`MenuContent`)),kS=v.forwardRef(nS(function(e,t){let n=gS(TS,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,L.jsx)(MS,{...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`)),AS=v.forwardRef(nS(function(e,t){let n=gS(TS,e.__scopeMenu);return(0,L.jsx)(MS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),jS=kp(`MenuContent.ScrollLock`),MS=v.forwardRef(nS(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=gS(TS,n),_=vS(TS,n),y=pS(n),b=mS(n),x=lS(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:jS,allowPinchZoom:!0}:void 0,ne=nS(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=XS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;nS((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 M=v.useCallback(e=>A.current===k.current?.side&&QS(e,k.current?.area),[]);return(0,L.jsx)(ES,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{M(e)&&e.preventDefault()},[M]),onItemLeave:v.useCallback(e=>{M(e)||(w.current?.focus(),C(null))},[M]),onTriggerLeave:v.useCallback(e=>{M(e)&&e.preventDefault()},[M]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,L.jsx)(ee,{...te,children:(0,L.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,L.jsx)($x,{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,L.jsx)(ab,{role:`menu`,"aria-orientation":`vertical`,"data-state":GS(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&&ne(e.key));let i=w.current;if(e.target!==i||!oS.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);aS.includes(e.key)&&a.reverse(),JS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,$S(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`)),NS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e;return(0,L.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),PS=`MenuItem`,FS=`menu.itemSelect`,IS=v.forwardRef(nS(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=vS(PS,e.__scopeMenu),s=DS(PS,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=nS(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(FS,{bubbles:!0,cancelable:!0});e.addEventListener(FS,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,L.jsx)(LS,{...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!==` `)&&rS.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),LS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=DS(PS,n),s=mS(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,L.jsx)(cS.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,L.jsx)(eS,{asChild:!0,...s,focusable:!r,children:(0,L.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,$S(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,$S(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[RS,zS]=dS(`MenuRadioGroup`,{value:void 0,onValueChange:nS(()=>{},`onValueChange`)}),[BS,VS]=dS(`MenuItemIndicator`,{checked:!1}),HS=v.forwardRef(nS(function(e,t){let{__scopeMenu:n,...r}=e;return(0,L.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[US,WS]=dS(`MenuSub`);function GS(e){return e?`open`:`closed`}nS(GS,`getOpenState`);function KS(e){return e===`indeterminate`}nS(KS,`isIndeterminate`);function qS(e){return KS(e)?`indeterminate`:e?`checked`:`unchecked`}nS(qS,`getCheckedState`);function JS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}nS(JS,`focusFirst`);function YS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}nS(YS,`wrapArray`);function XS(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=YS(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}nS(XS,`getNextMatch`);function ZS(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}nS(ZS,`isPointInPolygon`);function QS(e,t){return t?ZS({x:e.clientX,y:e.clientY},t):!1}nS(QS,`isPointerInGraceArea`);function $S(e){return t=>t.pointerType===`mouse`?e(t):void 0}nS($S,`whenMouse`);var eC=yS,tC=bS,nC=wS,rC=OS,iC=NS,aC=IS,oC=HS,sC=Object.defineProperty,cC=(e,t)=>sC(e,`name`,{value:t,configurable:!0}),lC=`DropdownMenu`,[uC,dC]=ap(lC,[fS]),fC=fS(),[pC,mC]=uC(lC),hC=cC(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=fC(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:lC});return(0,L.jsx)(pC,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,L.jsx)(eC,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),gC=`DropdownMenuTrigger`,_C=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=mC(gC,n),o=fC(n),s=tp(t,a.triggerRef);return(0,L.jsx)(tC,{asChild:!0,...o,children:(0,L.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`)),vC=cC(e=>{let{__scopeDropdownMenu:t,...n}=e,r=fC(t);return(0,L.jsx)(nC,{...r,...n})},`DropdownMenuPortal`),yC=`DropdownMenuContent`,bC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=mC(yC,n),a=fC(n),o=v.useRef(!1);return(0,L.jsx)(rC,{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`)),xC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(iC,{...i,...r,ref:t})},`DropdownMenuLabel`)),SC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(aC,{...i,...r,ref:t})},`DropdownMenuItem`)),CC=v.forwardRef(cC(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=fC(n);return(0,L.jsx)(oC,{...i,...r,ref:t})},`DropdownMenuSeparator`)),wC=hC,TC=_C,EC=vC,DC=bC,OC=xC,kC=SC,AC=CC,jC=`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 MC({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,L.jsxs)(wC,{open:o,onOpenChange:s,modal:!1,children:[(0,L.jsx)(TC,{asChild:!0,children:e}),(0,L.jsx)(EC,{children:(0,L.jsx)(DC,{align:r,side:i,sideOffset:a,collisionPadding:12,className:jC,style:{width:n,maxWidth:`calc(100vw - 24px)`},children:t})})]})}var NC=(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 PC({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,L.jsxs)(kC,{disabled:i,onSelect:t,className:X(NC(n,r),o),children:[e,a?(0,L.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function FC(){return(0,L.jsx)(AC,{className:`my-1 h-px bg-rule`})}function IC({children:e}){return(0,L.jsx)(OC,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var LC=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function RC(){let e=g_(),t=__();return(0,L.jsxs)(MC,{align:`end`,width:180,trigger:(0,L.jsx)(ix,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,L.jsx)(IC,{children:`Appearance`}),LC.map(t=>(0,L.jsxs)(PC,{active:e===t.value,onSelect:()=>h_(t.value),children:[(0,L.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,L.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function zC({size:e=24}){return(0,L.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,L.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,L.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,L.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,L.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,L.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function BC({name:e,version:t}){return(0,L.jsxs)(be,{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,L.jsx)(zC,{}),(0,L.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function VC({children:e,className:t}){return(0,L.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 HC=(0,v.createContext)(!1).Provider;function UC(e,t,n){let[r,i]=(0,v.useState)(!1),a=(0,v.useRef)(0);return(0,v.useLayoutEffect)(()=>{let n=e.current,r=t.current;if(!n||!r)return;let o=()=>{let e=[...n.querySelectorAll(`[data-fit]`)].reduce((e,t)=>e+Math.max(0,t.scrollWidth-t.clientWidth),0),t=r.getBoundingClientRect().left-n.getBoundingClientRect().right;i(n=>n?t-e<a.current-r.offsetWidth+16:(a.current=r.offsetWidth,e>0))};o();let s=new ResizeObserver(o);return s.observe(n.parentElement??n),s.observe(r),()=>s.disconnect()},n),r}var WC=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function GC({location:e}){let t=(0,v.useRef)(null),n=WC.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,L.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[WC.map((e,t)=>(0,L.jsx)(be,{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,L.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 KC(){let e=$g().data,{slots:t}=Xg(),[n]=P();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(VC,{children:[t.barStart,(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,L.jsx)(BC,{name:e?.name,version:e?.version}),(0,L.jsx)(GC,{location:n})]}),(0,L.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,L.jsx)(Qb,{}),(0,L.jsx)(`span`,{className:X(`flex`,t.barEnd?`max-md:hidden`:void 0),children:(0,L.jsx)(RC,{})}),t.barEnd]})]}),(0,L.jsx)(qC,{location:n}),t.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:t.belowBar}):null]})}function qC({location:e}){return(0,L.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:WC.map(t=>{let n=t.match(e);return(0,L.jsxs)(be,{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,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-x-6 bottom-0 h-[2px] rounded-full bg-action`}):null]},t.to)})})}var JC=window.matchMedia(`(max-width: 767px)`),YC=e=>(JC.addEventListener(`change`,e),()=>JC.removeEventListener(`change`,e));function XC(){return(0,v.useSyncExternalStore)(YC,()=>JC.matches)}var ZC=Object.defineProperty,QC=(e,t)=>ZC(e,`name`,{value:t,configurable:!0}),$C=`Popover`,[ew,tw]=ap($C,[Wy]),nw=Wy(),[rw,iw]=ew($C),aw=QC(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=nw(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:$C});return(0,L.jsx)(rb,{...s,children:(0,L.jsx)(rw,{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`),ow=`PopoverTrigger`,sw=v.forwardRef(QC(function(e,t){let{__scopePopover:n,...r}=e,i=iw(ow,n),a=nw(n),o=tp(t,i.triggerRef),s=(0,L.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":vw(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(ib,{asChild:!0,...a,children:s})},`PopoverTrigger`)),cw=`PopoverPortal`,[lw,uw]=ew(cw,{forceMount:void 0}),dw=QC(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=iw(cw,t);return(0,L.jsx)(lw,{scope:t,forceMount:n,children:(0,L.jsx)(jm,{present:n||a.open,children:(0,L.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),fw=`PopoverContent`,pw=v.forwardRef(QC(function(e,t){let n=uw(fw,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=iw(fw,e.__scopePopover);return(0,L.jsx)(jm,{present:r||a.open,children:a.modal?(0,L.jsx)(hw,{...i,ref:t}):(0,L.jsx)(gw,{...i,ref:t})})},`PopoverContent`)),mw=kp(`PopoverContent.RemoveScroll`),hw=v.forwardRef(QC(function(e,t){let n=iw(fw,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,L.jsx)(Zh,{as:mw,allowPinchZoom:!0,children:(0,L.jsx)(_w,{...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`)),gw=v.forwardRef(QC(function(e,t){let n=iw(fw,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,L.jsx)(_w,{...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`)),_w=v.forwardRef(QC(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=iw(fw,n),p=nw(n);return Hm(),(0,L.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(ab,{"data-state":vw(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 vw(e){return e?`open`:`closed`}QC(vw,`getState`);var yw=aw,bw=sw,xw=dw,Sw=pw,Cw=new s_([]),ww=1;function Tw(e,t,n=`ok`){let r=ww++;Cw.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>Cw.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var Ew=new s_([]),Dw=1;function Ow(){let[e]=(0,v.useState)(()=>Dw++);(0,v.useEffect)(()=>(Ew.set(t=>[...t,e]),()=>Ew.set(t=>t.filter(t=>t!==e))),[e]);let t=c_(Ew,t=>t[0]===e),n=c_(Cw);return t?(0,L.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,L.jsx)(ed,{mode:`popLayout`,children:n.map(e=>(0,L.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,L.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):e.tone===`info`?(0,L.jsx)(Z,{name:`info`,size:15,className:`text-muted`}):(0,L.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,L.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,L.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function kw(e,t=`Copied`){try{await navigator.clipboard.writeText(e),Tw(t,e.length>64?void 0:e)}catch{Tw(`Could not copy`,`The browser blocked clipboard access`,`error`)}}function Aw(e){return e.split(`/`).filter(Boolean)}function jw(e){return{pattern:e,segments:Aw(e).map(e=>e===`*`?{kind:`splat`}:e.startsWith(`:`)?{kind:`param`,optional:e.endsWith(`?`)}:{kind:`static`,value:e})}}function Mw(e){try{return decodeURIComponent(e)}catch{return e}}function Nw(e,t){let n=Aw(t.split(/[?#]/)[0]??``).map(Mw),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 Pw(e,t){let n=null;for(let r of e)for(let e of r.routes){let i=Nw(e,t);i!==null&&(!n||i>n.score)&&(n={score:i,value:r.value})}return n?.value??null}function Fw(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 Iw=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of Iw.get(e.source)??[])n(t)});function Lw(e,t){let n=null,r=()=>{if(!n)return;let e=Iw.get(n);e?.delete(t),e?.size||Iw.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=Iw.get(n)??new Set;i.add(t),Iw.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function Rw(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function zw(e){Rw(e,{type:`canvas`})}function Bw(e,t){for(let n=e.parentElement;n;n=n.parentElement){let e=getComputedStyle(n),r=e=>/(auto|scroll|overlay)/.test(e),i=r(e.overflowY)&&n.scrollHeight>n.clientHeight,a=r(e.overflowX)&&n.scrollWidth>n.clientWidth;if(i||a){n.scrollBy({left:a?t.deltaX:0,top:i?t.deltaY:0,behavior:`instant`});return}}window.scrollBy({left:t.deltaX,top:t.deltaY,behavior:`instant`})}function Vw(e,t){Rw(e,{type:`theme`,theme:t})}function Hw(e){e&&(e.src=e.src)}var Uw=(()=>{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 Ww(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(`/`)?Uw:``}${r}?${a.toString()}`}function Gw(e){return new URL(e,document.baseURI).toString()}function Kw(e,t,n,r){if(e.form){Tw(`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:Tw(`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:Fw(e.raw,a?.routes?.[0]);if(o===null)return;let s=Pw(i.map(e=>({routes:(e.routes??[]).map(jw),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||Tw(`No screen for this link`,o,`info`)}function qw(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}),Rw(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=>Lw(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&&Rw(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)Rw(e,{type:`inspect-select`,ref:null});o(null)}else a&&Rw(a.frame,{type:`inspect-select`,ref:e})}}}function Jw(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=>Lw(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 Yw({title:e,children:t,right:n}){return(0,L.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,L.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function Xw({label:e,children:t}){return(0,L.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,L.jsx)(`span`,{className:`text-muted`,children:e}),(0,L.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function Zw({name:e}){return e?(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(`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 Qw({children:e,title:t}){return(0,L.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function $w({label:e,color:t}){return(0,L.jsxs)(Xw,{label:e,children:[(0,L.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,L.jsx)(Qw,{title:t.css,children:t.value}),(0,L.jsx)(Zw,{name:t.token})]})}var eT=e=>e?String(e):`–`;function tT({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,L.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,L.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,L.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:eT(i)}),(0,L.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:eT(s)}),(0,L.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,L.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:eT(a)}),(0,L.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:eT(o)})]})}function nT({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,L.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,L.jsx)(tT,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,L.jsx)(tT,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,L.jsx)(tT,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,L.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 rT({info:e,onSelect:t}){return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,L.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,L.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,L.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,L.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function iT({info:e,onSelect:t,onClose:n,active:r}){return(0,L.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,L.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,L.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,L.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,L.jsx)(ix,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,L.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,L.jsxs)(Yw,{title:`Element`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,L.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,L.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,L.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,L.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(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,L.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,L.jsx)(rT,{info:e,onSelect:t})]}),(0,L.jsxs)(Yw,{title:`Box`,children:[(0,L.jsx)(nT,{info:e}),(0,L.jsx)(Xw,{label:`Size`,children:(0,L.jsxs)(Qw,{children:[e.rect.w,` × `,e.rect.h]})}),(0,L.jsx)(Xw,{label:`Position`,children:(0,L.jsxs)(Qw,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,L.jsx)(Yw,{title:`Layout`,children:e.layout.map(([e,t])=>(0,L.jsx)(Xw,{label:e,children:(0,L.jsx)(Qw,{title:t,children:t})},e))}):null,e.typography?(0,L.jsxs)(Yw,{title:`Typography`,children:[(0,L.jsxs)(Xw,{label:`Font`,children:[(0,L.jsx)(Qw,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,L.jsx)(Zw,{name:e.typography.familyToken})]}),(0,L.jsxs)(Xw,{label:`Size`,children:[(0,L.jsxs)(Qw,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,L.jsx)(Zw,{name:e.typography.sizeToken})]}),(0,L.jsx)(Xw,{label:`Weight`,children:(0,L.jsx)(Qw,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,L.jsx)(Xw,{label:`Tracking`,children:(0,L.jsx)(Qw,{children:e.typography.letterSpacing})}),(0,L.jsx)($w,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,L.jsx)(Xw,{label:`Align`,children:(0,L.jsx)(Qw,{children:e.typography.align})}),e.typography.transform?(0,L.jsx)(Xw,{label:`Transform`,children:(0,L.jsx)(Qw,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,L.jsxs)(Yw,{title:`Appearance`,children:[e.appearance.background?(0,L.jsx)($w,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,L.jsx)(Xw,{label:`Image`,children:(0,L.jsx)(Qw,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,L.jsxs)(Xw,{label:`Border`,children:[(0,L.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,L.jsxs)(Qw,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,L.jsx)(Zw,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,L.jsxs)(Xw,{label:`Radius`,children:[(0,L.jsx)(Qw,{children:e.appearance.radius.value}),(0,L.jsx)(Zw,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,L.jsxs)(Xw,{label:`Shadow`,children:[(0,L.jsx)(Qw,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,L.jsx)(Zw,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,L.jsx)(Xw,{label:`Opacity`,children:(0,L.jsx)(Qw,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,L.jsx)(Yw,{title:`Classes`,right:(0,L.jsx)(`button`,{type:`button`,onClick:()=>void kw(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,L.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,L.jsx)(Yw,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,L.jsx)(Xw,{label:e,children:(0,L.jsx)(Qw,{title:t,children:t})},e))}):null,e.children.length?(0,L.jsx)(Yw,{title:`Children · ${e.children.length}`,children:(0,L.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,L.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,L.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,L.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,L.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${T_} to highlight, click to inspect.`}),(0,L.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,L.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,L.jsx)(y_,{children:`I`}),` toggle · hold `,(0,L.jsx)(y_,{children:T_}),` · `,(0,L.jsx)(y_,{children:`esc`}),` clear`]})]}),e?(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,L.jsx)(tx,{icon:`copy`,onClick:()=>void kw(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var aT={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 oT({tone:e=`neutral`,children:t,className:n}){return(0,L.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,aT[e],n),children:t})}function sT({value:e,tone:t=`neutral`}){return(0,L.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 cT({children:e,className:t,style:n}){return(0,L.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function lT({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,L.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,L.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,L.jsx)(sT,{value:t}),n?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,L.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function uT({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,L.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,L.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,L.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,L.jsx)(sT,{value:e.count}),r?(0,L.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,L.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function dT({align:e,children:t}){return(0,L.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 fT(e,t){return v.Children.toArray(e).map((e,n)=>(0,L.jsx)(dT,{align:t?.[n]??`l`,children:e},n))}function pT({cols:e,align:t,labels:n}){return(0,L.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,L.jsx)(dT,{align:t?.[n]??`l`,children:(0,L.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var mT=(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 hT({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,L.jsx)(`div`,{className:mT(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:fT(i,t)})}function gT({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,L.jsx)(be,{href:e,className:X(mT(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:fT(s,n)})}function _T({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,L.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,L.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,L.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function vT({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,L.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function yT({issues:e,className:t}){return(0,L.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,L.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,L.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,L.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function bT({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,L.jsxs)(cT,{className:n?`border-danger/40`:void 0,children:[(0,L.jsx)(lT,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:(0,L.jsx)(yT,{issues:e})})]})}var xT=[.2,.7,.2,1];function ST({open:e,side:t,width:n,children:r}){return(0,L.jsx)(ed,{initial:!1,children:e?(0,L.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:xT},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,L.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function CT({children:e,className:t,gap:n=20,wide:r=!1}){return(0,L.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 wT({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,L.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,L.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,L.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,L.jsx)(`div`,{className:`text-[13px] [overflow-wrap:anywhere] text-muted`,children:t}):null]}),n?(0,L.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function TT({items:e,label:t}){let[n]=P();return(0,L.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>{let t=n===e.to;return(0,L.jsxs)(be,{href:e.to,"aria-current":t?`page`:void 0,className:X(`relative 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]`,t?`font-medium text-ink`:`text-ink2 hover:bg-soft2`),children:[t?(0,L.jsx)(Wf.span,{layoutId:`sub-nav-active`,"aria-hidden":!0,className:`absolute inset-0 z-0 rounded-[6px] bg-soft2`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,L.jsx)(`span`,{className:`relative z-[1] min-w-0 truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`relative z-[1] ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to)})})}function ET({children:e}){return(0,L.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function DT({title:e,text:t,action:n}){return(0,L.jsxs)(cT,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,L.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,L.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,L.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function OT(e){return(0,L.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,L.jsx)(DT,{...e})})}function kT({title:e=`Nothing here`,text:t}){let n=!!Xg().scope;return(0,L.jsx)(OT,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,L.jsx)(ax,{to:`/`,children:`All canvases`})})}var AT=.1,jT=(e,t=AT)=>Math.min(8,Math.max(t,e)),MT=class{camera={x:0,y:0,z:1};minZoom=AT;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:jT(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=jT(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:jT(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 NT(e,t,n,r=72,i=1,a=AT){let o=jT(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 PT(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 FT({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,L.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,L.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,L.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 z-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,L.jsx)(`span`,{className:`relative z-[1] flex items-center gap-1.5`,children:e.label})]},e.value)})})}var IT=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function LT(e,t,n){let{frameSandbox:r}=Xg(),{base:i}=de();return t?t.kind===`url`?t.url:Gw(r?`${i}${IT(e,t.id,t.theme??n)}`:Ww(t.url,t.theme??n)):null}function RT({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e),[,a]=P(),{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`?Ww(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 Lw(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(IT(e,t,f),{replace:!0})}else r.type===`link`&&n&&Kw(r,n,t=>a(IT(e,t,f),{replace:!0}),t)})},[p,d?.kind]),r?(0,L.jsx)(kT,{title:`Canvas not found`,text:r.message}):i||!n?(0,L.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,L.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,L.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`&&Vw(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,L.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,L.jsxs)(be,{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,L.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,L.jsx)(y_,{children:`esc`})]})})]}):(0,L.jsx)(kT,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function zT(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 BT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function VT({canvas:e,page:t,store:n,onPick:r}){let i=c_(n,e=>e.selected),a=c_(n,e=>e.frames);return(0,L.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,L.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,L.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,L.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,L.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,L.jsxs)(be,{href:BT(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,L.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,L.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,L.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,L.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,L.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,L.jsx)(`span`,{className:`truncate`,children:e.title}),(0,L.jsx)(sT,{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,L.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,L.jsx)(Z,{name:zT(t),size:15,className:`text-muted`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,L.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function HT({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=P(),{slots:d,scope:f}=Xg(),p=(0,v.useRef)(null),m=(0,v.useRef)(null),h=UC(p,m,[e.title,t?.title,e.pages.length]);return(0,L.jsxs)(HC,{value:h,children:[(0,L.jsxs)(VC,{children:[d.barStart,d.brand?d.brand:f?(0,L.jsx)(zC,{}):(0,L.jsx)(Yb,{content:`All canvases`,children:(0,L.jsx)(be,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,L.jsx)(zC,{})})}),(0,L.jsx)(ix,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,L.jsxs)(`div`,{ref:p,className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,L.jsx)(`span`,{"data-fit":!0,className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,L.jsxs)(MC,{width:240,trigger:(0,L.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,L.jsx)(`span`,{"data-fit":!0,className:`truncate`,children:t.title}),(0,L.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,L.jsx)(IC,{children:`Pages`}),e.pages.map(n=>(0,L.jsxs)(PC,{active:n.id===t.id,onSelect:()=>u(BT(e,n)),children:[(0,L.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,L.jsxs)(`div`,{ref:m,className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(FT,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,L.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,L.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,L.jsx)(WT,{on:c,onChange:l,compact:h}),(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,L.jsx)(y_,{children:`P`})]}),children:(0,L.jsx)(tx,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,"aria-label":`Play`,className:h?`w-ctrl px-0`:void 0,children:h?null:`Play`})}),(0,L.jsx)(Qb,{width:180,label:`Search`,compact:h}),(0,L.jsx)(RC,{}),d.barEnd]})]}),d.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:d.belowBar}):null]})}function UT({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=LT(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=()=>Hw(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,L.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,L.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,L.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,L.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,L.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
58
58
|
`)})]}):null,(0,L.jsxs)(`div`,{className:`flex h-[44px] items-center gap-1 pr-1.5 pl-3.5`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-2`,children:[(0,L.jsx)(`span`,{className:`truncate text-[13.5px] font-medium`,children:l.title||l.id}),d&&s===l.id?(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[12px] text-muted`,children:[(0,L.jsx)(Z,{name:`pointer`,size:13}),` `,a?`Inspecting`:`Interacting`,` `,(0,L.jsx)(y_,{children:`esc`})]}):d?(0,L.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,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,L.jsx)(y_,{children:`↵`})]}),children:(0,L.jsx)(ix,{icon:`play`,label:`Play`,onClick:()=>i(l.id)})}):null,u?(0,L.jsx)(Yb,{content:`Open in a new tab`,children:(0,L.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,L.jsx)(Z,{name:`external`,size:16})})}):null,d?(0,L.jsx)(Yb,{content:`Reload`,children:(0,L.jsx)(ix,{icon:`refresh`,label:`Reload`,onClick:f})}):null,l.kind===`screen`?(0,L.jsx)(Yb,{content:`Copy source path`,children:(0,L.jsx)(ix,{icon:`copy`,label:`Copy source path`,onClick:()=>void kw(l.file,`Path copied`)})}):null,(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Zoom to `,(0,L.jsx)(y_,{children:`⇧2`})]}),children:(0,L.jsx)(ix,{icon:`fit`,label:`Zoom to`,onClick:()=>window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:l.id}}))})})]})]})})}function WT({on:e,onChange:t,compact:n=!1}){return(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Inspect elements `,(0,L.jsx)(y_,{children:`I`})]}),children:(0,L.jsxs)(`button`,{type:`button`,"aria-pressed":e,"aria-label":`Inspect elements`,onClick:()=>t(!e),className:X(`inline-flex h-ctrl shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-[6px] border text-ctrl font-medium`,n?`w-ctrl px-0`:`px-ctrl`,e?`border-action-line bg-action-soft text-action`:`border-rule-strong bg-surface text-ink hover:bg-soft`),children:[(0,L.jsx)(Z,{name:`pointer`,size:15}),n?null:`Inspect`]})})}var GT=280,KT=96,qT=150,JT=110,YT=720,XT=e=>e.kind===`screen`||e.kind===`url`;function ZT(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 QT(e,t){return!e.title&&!e.description?0:t[`section:${e.id}`]?.h??(e.title?56:0)+(e.description?60:0)}function $T(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}=ZT(e,t),s=e.x??r,c=e.y??0;r=Math.max(r,s+a+KT),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=QT(a,t),o=i,s=i+(e?e+JT:0),c=0,l=0,u=0,d=0;for(let e of a.items){a.columns&&d===a.columns&&(s+=l+qT,c=0,l=0,d=0);let{w:r,h:i}=ZT(e,t);n.push({item:e,section:a,x:c,y:s,w:r,h:i}),c+=r+KT,u=Math.max(u,c-KT),l=Math.max(l,i),d++}let f=s+l;r.push({section:a,x:0,y:o,w:Math.max(u,e?YT:0),h:f-o,header:e}),i=f+GT}}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 eE(e){return e.items.filter(e=>XT(e.item))}function tE(){return new s_({selected:null,active:null,hovered:null,sizes:{},frames:{},live:[],panning:!1,zoomTiny:!1,frameEls:{},inspecting:!1})}function nE(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 rE(e,t,n){e.set(e=>{let r=e.frames[t]??{ready:!1,errors:[]};return{...e,frames:{...e.frames,[t]:{...r,...n}}}})}function iE(e,t,n){e.set(e=>e.frameEls[t]===n?e:{...e,frameEls:{...e.frameEls,[t]:n}})}function aE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var oE=aE();function sE(e){oE=e}var cE={exec:()=>null};function lE(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(dE.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var uE=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),dE={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:lE(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:lE(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:lE(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:lE(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:lE(e=>RegExp(`^ {0,${e}}(?:</?(?:${EE})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:lE(e=>RegExp(`^ {0,${e}}>`))},fE=/^(?:[ \t]*(?:\n|$))+/,pE=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,mE=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hE=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,gE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,_E=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,vE=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,yE=$(vE).replace(/bull/g,_E).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(),bE=$(vE).replace(/bull/g,_E).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(),xE=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,SE=/^[^\n]+/,CE=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,wE=$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,CE).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),TE=$(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,_E).getRegex(),EE=`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`,DE=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,OE=$(`^ {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`,DE).replace(`tag`,EE).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),kE=e=>$(xE).replace(`hr`,hE).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`,EE).getRegex(),AE=kE(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),jE=kE(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),ME={blockquote:$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,jE).getRegex(),code:pE,def:wE,fences:mE,heading:gE,hr:hE,html:OE,lheading:yE,list:TE,newline:fE,paragraph:AE,table:cE,text:SE},NE=$(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,hE).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`,EE).getRegex(),PE={...ME,lheading:bE,table:NE,paragraph:$(xE).replace(`hr`,hE).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,NE).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`,EE).getRegex()},FE={...ME,html:$(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,DE).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:cE,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:$(xE).replace(`hr`,hE).replace(`heading`,` *#{1,6} *[^
|
|
59
59
|
]`).replace(`lheading`,yE).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},IE=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,LE=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,RE=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,zE=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,BE=/[\p{P}\p{S}]/u,VE=/[\s\p{P}\p{S}]/u,HE=/[^\s\p{P}\p{S}]/u,UE=$(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,VE).getRegex(),WE=/[\p{Pi}\p{Ps}"']/u,GE=/(?!~)[\p{P}\p{S}]/u,KE=/(?!~)[\s\p{P}\p{S}]/u,qE=/(?:[^\s\p{P}\p{S}]|~)/u,JE=$(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,uE?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),YE=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,XE=$(YE,`u`).replace(/punct/g,BE).getRegex(),ZE=$(YE,`u`).replace(/punct/g,GE).getRegex(),QE=$(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,WE).replace(/punct/g,BE).getRegex(),$E=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,eD=$($E,`gu`).replace(/notPunctSpace/g,HE).replace(/punctSpace/g,VE).replace(/punct/g,BE).getRegex(),tD=$($E,`gu`).replace(/notPunctSpace/g,qE).replace(/punctSpace/g,KE).replace(/punct/g,GE).getRegex(),nD=$(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,HE).replace(/punctSpace/g,VE).replace(/punct/g,BE).getRegex(),rD=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,HE).replace(/punctSpace/g,VE).replace(/punct/g,BE).getRegex(),iD=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,HE).replace(/punctSpace/g,VE).replace(/punct/g,BE).getRegex(),aD=$(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,BE).getRegex(),oD=$(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,HE).replace(/punctSpace/g,VE).replace(/punct/g,BE).getRegex(),sD=$(/\\(punct)/,`gu`).replace(/punct/g,BE).getRegex(),cD=$(/^<(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(),lD=$(DE).replace(`(?:-->|$)`,`-->`).getRegex(),uD=$(`^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`,lD).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),dD=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,fD=$(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace(`brackets`,dD).getRegex(),pD=$(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,fD).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),mD=$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,fD).replace(`ref`,CE).getRegex(),hD=$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,CE).getRegex(),gD=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,_D=$(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace(`brackets`,dD).getRegex(),vD=$(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,_D).replace(`ref`,gD).getRegex()).replace(`nolink`,$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,gD).getRegex()).getRegex(),yD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,bD=$(/(?: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(),xD={_backpedal:cE,anyPunctuation:sD,autolink:cD,blockSkip:JE,br:RE,code:LE,del:cE,delLDelim:cE,delRDelim:cE,emStrongLDelim:XE,emStrongRDelimAst:eD,emStrongRDelimUnd:rD,escape:IE,link:pD,nolink:hD,punctuation:UE,reflink:mD,reflinkSearch:vD,tag:uD,text:zE,url:cE},SD={...xD,emStrongLDelim:QE,emStrongRDelimAst:nD,emStrongRDelimUnd:iD,link:$(/^!?\[(label)\]\((.*?)\)/).replace(`label`,fD).getRegex(),reflink:$(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,fD).getRegex()},CD={...xD,emStrongRDelimAst:tD,emStrongLDelim:ZE,delLDelim:aD,delRDelim:oD,url:$(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`emailProtocol`,bD).replace(`protocol`,yD).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`,yD).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},wD={...CD,br:$(RE).replace(`{2,}`,`*`).getRegex(),text:$(CD.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},TD={normal:ME,gfm:PE,pedantic:FE},ED={normal:xD,gfm:CD,breaks:wD,pedantic:SD},DD={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},OD=e=>DD[e];function kD(e,t){if(t){if(dE.escapeTest.test(e))return e.replace(dE.escapeReplace,OD)}else if(dE.escapeTestNoEncode.test(e))return e.replace(dE.escapeReplaceNoEncode,OD);return e}function AD(e){return e.replace(dE.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 jD(e){try{e=encodeURI(e).replace(dE.percentDecode,`%`)}catch{return null}return e}function MD(e,t){let n=e.replace(dE.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(dE.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(dE.slashPipe,`|`);return n}function ND(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 PD(e){let t=e.split(`
|
|
60
60
|
`),n=t.length-1;for(;n>=0&&dE.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
@@ -121,11 +121,11 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
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
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>${kD(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?kD(n,!0):this.parser.parseInline(r),o=jD(e);if(o===null)return a;e=kD(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+kD(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=jD(e);if(i===null)return kD(n);e=i;let a=`<img src="${kD(e)}" alt="${kD(n)}"`;return t&&(a+=` title="${kD(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:kD(e.text)}},WD=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}},GD=class e{options;renderer;textRenderer;constructor(e){this.options=e||oE,this.options.renderer=this.options.renderer||new UD,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new WD}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}},KD=class{options;block;constructor(e){this.options=e||oE}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?HD.lex:HD.lexInline}provideParser(e=this.block){return e?GD.parse:GD.parseInline}},qD=class{defaults=aE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=GD;Renderer=UD;TextRenderer=WD;Lexer=HD;Tokenizer=VD;Hooks=KD;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 UD(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 VD(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 KD;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]=KD.passThroughHooks.has(n)?e=>{if(this.defaults.async&&KD.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 HD.lex(e,t??this.defaults)}parser(e,t){return GD.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?HD.lex:HD.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?GD.parse:GD.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?HD.lex:HD.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?GD.parse:GD.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>`+kD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},JD=new qD;function YD(e,t){return JD.parse(e,t)}YD.options=YD.setOptions=function(e){return JD.setOptions(e),YD.defaults=JD.defaults,sE(YD.defaults),YD},YD.getDefaults=aE,YD.defaults=oE;function XD(...e){return JD.use(...e),YD.defaults=JD.defaults,sE(YD.defaults),YD}YD.use=XD,YD.walkTokens=function(e,t){return JD.walkTokens(e,t)},YD.parseInline=JD.parseInline,YD.Parser=GD,YD.parser=GD.parse,YD.Renderer=UD,YD.TextRenderer=WD,YD.Lexer=HD,YD.lexer=HD.lex,YD.Tokenizer=VD,YD.Hooks=KD,YD.parse=YD,YD.options,YD.setOptions,YD.walkTokens,YD.parseInline,GD.parse,HD.lex;var ZD=new Set([`http:`,`https:`,`mailto:`]);function QD(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||ZD.has(`${n.toLowerCase()}:`)}function $D(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var eO=new qD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>$D(e),link(e){return!QD(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!QD(e.href)&&$D(e.text)}}});function tO(e){return eO.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function nO({text:e,className:t}){let n=(0,v.useMemo)(()=>tO(e),[e]);return(0,L.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function rO(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(()=>nE(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function iO(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var aO=(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,iE(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`?Ww(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&&rE(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return Lw(e,t=>{switch(t.type){case`ready`:rE(i,s.id,{ready:!0}),zw(e);break;case`size`:y&&nE(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||rE(i,s.id,{errors:[...e,t.message]});break}case`updated`:rE(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`&&Vw(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,L.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,L.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,L.jsx)(oO,{item:s,loading:E}):null,E?(0,L.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,L.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`?rE(i,s.id,{ready:!0}):(Vw(f.current,b),zw(f.current))}},x)}):null,g||_?null:(0,L.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function oO({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,L.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,L.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:iO(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,L.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 sO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=rO(t,n.id),s=n.tone===`plain`;return(0,L.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,L.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,L.jsx)(nO,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),cO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,L.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,L.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,L.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,L.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;nE(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),lO=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=rO(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,L.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,L.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,L.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,L.jsx)(nO,{text:e.description,className:`prose-plain`})}):null]})}),uO={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(uO);var dO=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function fO(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?uO[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var pO=(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,L.jsxs)(`div`,{"data-at":``,"data-label":n,style:dO(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,L.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,L.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,L.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:fO(e)})]})});function mO({placed:e,kind:t}){return(0,L.jsx)(`div`,{"data-at":``,style:dO(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function hO({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=>XT(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=>PT(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,L.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,L.jsx)(pO,{placed:e,store:n},e.item.id)),f?(0,L.jsx)(mO,{placed:f,kind:`hover`}):null,d?(0,L.jsx)(mO,{placed:d,kind:a===i?`active`:`selected`}):null]})}var gO=12,_O=20,vO=110,yO=.2,bO=400,xO=.2,SO=3,CO=8e3,wO=14,TO=96;function EO({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=>XT(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<wO;)l*=4;for(;l>TO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+TO)%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(AT,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))>=xO)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=NT(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=NT(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=>DO(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>=yO&&PT(e,c)&&e.w*r>=vO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,gO).map(e=>e.item.id),h=[_,g].filter(e=>!!e),v=new Set(y.map(e=>e.item.id)),S=new Set(w.split(`
|
|
124
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+kD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},JD=new qD;function YD(e,t){return JD.parse(e,t)}YD.options=YD.setOptions=function(e){return JD.setOptions(e),YD.defaults=JD.defaults,sE(YD.defaults),YD},YD.getDefaults=aE,YD.defaults=oE;function XD(...e){return JD.use(...e),YD.defaults=JD.defaults,sE(YD.defaults),YD}YD.use=XD,YD.walkTokens=function(e,t){return JD.walkTokens(e,t)},YD.parseInline=JD.parseInline,YD.Parser=GD,YD.parser=GD.parse,YD.Renderer=UD,YD.TextRenderer=WD,YD.Lexer=HD,YD.lexer=HD.lex,YD.Tokenizer=VD,YD.Hooks=KD,YD.parse=YD,YD.options,YD.setOptions,YD.walkTokens,YD.parseInline,GD.parse,HD.lex;var ZD=new Set([`http:`,`https:`,`mailto:`]);function QD(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||ZD.has(`${n.toLowerCase()}:`)}function $D(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var eO=new qD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>$D(e),link(e){return!QD(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!QD(e.href)&&$D(e.text)}}});function tO(e){return eO.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function nO({text:e,className:t}){let n=(0,v.useMemo)(()=>tO(e),[e]);return(0,L.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function rO(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(()=>nE(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function iO(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var aO=(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,iE(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`?Ww(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&&rE(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return Lw(e,t=>{switch(t.type){case`ready`:rE(i,s.id,{ready:!0}),zw(e);break;case`size`:y&&nE(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||rE(i,s.id,{errors:[...e,t.message]});break}case`updated`:rE(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`&&Vw(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,L.jsxs)(`div`,{"data-item":s.id,className:`absolute overflow-clip 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,L.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,L.jsx)(oO,{item:s,loading:E}):null,E?(0,L.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,L.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`?rE(i,s.id,{ready:!0}):(Vw(f.current,b),zw(f.current))}},x)}):null,g||_?null:(0,L.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function oO({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,L.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,L.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:iO(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,L.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 sO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=rO(t,n.id),s=n.tone===`plain`;return(0,L.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,L.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,L.jsx)(nO,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),cO=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,L.jsx)(`div`,{"data-item":n.id,className:`absolute overflow-clip rounded-[6px] bg-surface`,style:{left:r,top:i,width:a,height:o,boxShadow:`0 0 0 1px var(--rule)`},children:n.missing?(0,L.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,L.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,L.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;nE(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),lO=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=rO(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,L.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,L.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,L.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,L.jsx)(nO,{text:e.description,className:`prose-plain`})}):null]})}),uO={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(uO);var dO=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function fO(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?uO[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var pO=(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,L.jsxs)(`div`,{"data-at":``,"data-label":n,style:dO(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,L.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,L.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,L.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:fO(e)})]})});function mO({placed:e,kind:t}){return(0,L.jsx)(`div`,{"data-at":``,style:dO(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function hO({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=>XT(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=>PT(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,L.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,L.jsx)(pO,{placed:e,store:n},e.item.id)),f?(0,L.jsx)(mO,{placed:f,kind:`hover`}):null,d?(0,L.jsx)(mO,{placed:d,kind:a===i?`active`:`selected`}):null]})}var gO=12,_O=20,vO=110,yO=.2,bO=400,xO=.2,SO=3,CO=8e3,wO=14,TO=96;function EO({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=>XT(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<wO;)l*=4;for(;l>TO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+TO)%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(AT,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))>=xO)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=NT(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=NT(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=>DO(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>=yO&&PT(e,c)&&e.w*r>=vO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,gO).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
125
|
`)),C=new Set(b.current),T=performance.now(),E=e=>!S.has(e)&&T-(x.current.get(e)??0)<CO,D=SO-[...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,_O);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+CO-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`&&!OO(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},ne=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 M=e.sections;return(0,L.jsxs)(`div`,{ref:l,className:X(`canvas-root relative h-full w-full touch-none overflow-
|
|
126
|
+
`)),n=[...x.current].filter(([e])=>!t.has(e)).map(([,t])=>t+CO-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`&&!OO(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},ne=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 M=e.sections;return(0,L.jsxs)(`div`,{ref:l,className:X(`canvas-root relative h-full w-full touch-none overflow-clip select-none animate-[q-fade-in_160ms_ease-out]`,h&&`canvas-panning cursor-grabbing`),onPointerDown:ee,onPointerMove:te,onPointerUp:ne,onPointerCancel:ne,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&&XT(r.item)&&s(r.item.id)},children:[(0,L.jsx)(`div`,{ref:d,className:`canvas-grid`}),(0,L.jsxs)(`div`,{ref:u,className:`canvas-world`,children:[M.map(e=>(0,L.jsx)(lO,{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,L.jsx)(aO,{placed:e,mode:T.get(r.id)??`off`,thumb:!a&&!!p&&e.w*p.z*devicePixelRatio<=bO,theme:t,store:n,events:i,capture:a},r.id):r.kind===`note`?(0,L.jsx)(sO,{placed:e,store:n},r.id):(0,L.jsx)(cO,{placed:e,store:n},r.id)})]}),(0,L.jsx)(hO,{layout:e,view:p,store:n,overlayRef:f})]})}function DO(e){return Object.keys(e).filter(t=>e[t].ready).sort().join(`
|
|
127
127
|
`)}function OO(e){let t=e;return!!t&&(t.isContentEditable||/^(input|textarea|select)$/i.test(t.tagName))}var kO=new URLSearchParams(window.location.search),AO=kO.has(`capture`),jO=(e,t)=>`foss-design.camera.${e}.${t}`;function MO(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 NO(e){let t=__(),n=kO.get(`theme`),[r,i]=(0,v.useState)(n===`dark`||n===`light`?n:null);return[r??e?.theme??t,i]}function PO({canvasId:e,pageId:t}){let{data:n,error:r,isLoading:i}=e_(e);if(r)return(0,L.jsx)(kT,{title:`Canvas not found`,text:r.message});if(i||!n)return(0,L.jsx)(`div`,{className:`canvas-dots grow`});let a=t??kO.get(`page`)??void 0,o=n.pages.find(e=>e.id===a)??n.pages[0];return(0,L.jsx)(FO,{canvas:n,page:o},`${n.id}/${o?.id??``}`)}function FO({canvas:e,page:t}){let[,n]=P(),r=(0,v.useMemo)(()=>tE(),[]),i=(0,v.useMemo)(()=>new MT,[]),a=(0,v.useRef)(null),[o,s]=NO(e),[c,l]=(0,v.useState)(()=>!AO&&window.innerWidth>900),[u,d]=(0,v.useState)(!1),f=c_(r,e=>e.sizes),p=(0,v.useMemo)(()=>t?$T(t,f):{items:[],sections:[],bounds:{x:0,y:0,w:0,h:0}},[t,f]),m=zO(c_(r,e=>e.frameEls),p),h=Jw(m),g=u||h;(0,v.useEffect)(()=>{r.set(e=>e.inspecting===g?e:{...e,inspecting:g,active:null})},[g,r]);let _=qw(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)(()=>eE(p),[p]),x=jO(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=AO?null:MO(x);t?(r.set(e=>({...e,selected:t})),requestAnimationFrame(()=>a.current?.fitItem(t,!1))):n&&n.z>=i.minZoom?i.set(n):requestAnimationFrame(()=>AO?a.current?.fitAll(!1):a.current?.openView())},[p,i,x,e.id,r]),(0,v.useEffect)(()=>{if(AO)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&&XT(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]),E=(0,v.useCallback)(()=>{let e=r.get().selected,t=e&&b.find(t=>t.item.id===e)||b[0];t&&T(t.item.id)},[r,b,T]);(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 D=(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(BT(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){Kw(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(!AO)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(OO(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.key===`p`&&!c&&!i.altKey)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&&XT(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(BT(e,a))}};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[r,b,p,T,E,e,t,n,u,_]),AO?(0,L.jsx)(`div`,{className:`flex h-dvh`,children:(0,L.jsx)(EO,{layout:p,theme:o,store:r,camera:i,events:D,capture:!0,apiRef:a,onPlay:()=>{},onSelect:()=>{}})}):(0,L.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,L.jsx)(HT,{canvas:e,page:t,theme:o,onTheme:s,sidebar:c,onSidebar:l,inspect:u,onInspect:d,onPlay:E,canPlay:b.length>0}),(0,L.jsxs)(`div`,{className:`flex min-h-0 grow basis-0`,children:[(0,L.jsx)(ST,{open:c&&!!t,side:`left`,width:264,children:t?(0,L.jsx)(VT,{canvas:e,page:t,store:r,onPick:w}):null}),(0,L.jsxs)(`div`,{className:`relative min-w-0 grow`,children:[t&&p.items.length?(0,L.jsx)(EO,{layout:p,theme:o,store:r,camera:i,events:D,capture:!1,apiRef:a,onPlay:T,onSelect:C}):(0,L.jsx)(`div`,{className:`canvas-dots flex h-full`,children:(0,L.jsx)(OT,{title:t?`This page is empty`:`This canvas has no pages`,text:(0,L.jsxs)(L.Fragment,{children:[`Add sections and screens to`,` `,(0,L.jsxs)(`code`,{className:`font-mono text-[13px]`,children:[`.design/canvas/`,e.id,`/canvas.json`]}),`.`]})})}),(0,L.jsx)(UT,{canvas:e,store:r,layoutItems:p.items.map(e=>e.item),theme:o,onPlay:T,inspect:g}),(0,L.jsx)(LO,{camera:i,apiRef:a}),e.issues.length?(0,L.jsx)(RO,{canvas:e}):null]}),(0,L.jsx)(ST,{open:u,side:`right`,width:320,children:(0,L.jsx)(iT,{info:_.info,active:!0,onSelect:e=>_.select(e),onClose:()=>{d(!1),_.select(null)}})})]})]})}function IO({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,L.jsxs)(L.Fragment,{children:[Math.round(t*100),`%`]})}function LO({camera:e,apiRef:t}){return(0,L.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,L.jsx)(ix,{icon:`zoom-out`,label:`Zoom out (−)`,onClick:()=>t.current?.zoomBy(1/1.4)}),(0,L.jsxs)(MC,{side:`top`,align:`end`,width:210,trigger:(0,L.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,L.jsx)(IO,{camera:e})}),children:[(0,L.jsx)(PC,{onSelect:()=>t.current?.fitAll(),hint:`⇧1`,children:`Zoom to fit`}),(0,L.jsx)(PC,{onSelect:()=>t.current?.zoomTo(1),hint:`⇧0`,children:`100%`}),(0,L.jsx)(FC,{}),[.25,.5,2].map(e=>(0,L.jsxs)(PC,{onSelect:()=>t.current?.zoomTo(e),children:[e*100,`%`]},e))]}),(0,L.jsx)(ix,{icon:`zoom-in`,label:`Zoom in (+)`,onClick:()=>t.current?.zoomBy(1.4)}),(0,L.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-rule`}),(0,L.jsx)(ix,{icon:`fit`,label:`Zoom to fit (⇧1)`,onClick:()=>t.current?.fitAll()})]})}function RO({canvas:e}){let t=e.issues.filter(e=>e.severity===`error`).length;return(0,L.jsxs)(yw,{children:[(0,L.jsx)(bw,{asChild:!0,children:(0,L.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,L.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,L.jsx)(xw,{children:(0,L.jsx)(Sw,{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,L.jsx)(yT,{issues:e.issues})})})]})}function zO(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 BO({open:e,onOpenChange:t,title:n,children:r}){return(0,L.jsx)(mg,{open:e,onOpenChange:t,children:(0,L.jsx)(ed,{children:e?(0,L.jsxs)(vg,{forceMount:!0,children:[(0,L.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,L.jsx)(Wf.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},className:`fixed inset-0 z-50 bg-overlay`})}),(0,L.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,L.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,L.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-1 w-9 rounded-full bg-rule-strong`})}),(0,L.jsxs)(`div`,{className:`flex min-h-[48px] items-center justify-between gap-3 pr-2 pl-4`,children:[(0,L.jsx)(kg,{className:`m-0 truncate text-[15px] font-semibold`,children:n}),(0,L.jsx)(jg,{asChild:!0,children:(0,L.jsx)(ix,{icon:`x`,label:`Close`})})]}),(0,L.jsx)(`div`,{className:`min-h-0 overflow-y-auto overscroll-contain border-t border-rule`,children:r})]})})]}):null})})}function VO(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 HO=(e,t,n)=>`/c/${encodeURIComponent(e)}/play/${encodeURIComponent(t)}?page=${encodeURIComponent(n)}`;function UO({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=e_(e);return r?(0,L.jsx)(kT,{title:`Canvas not found`,text:r.message}):i||!n?null:(0,L.jsx)(WO,{canvas:n,itemId:t})}function WO({canvas:e,itemId:t}){let[,n]=P(),{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)(()=>VO(e,null),[e]),s=o.find(e=>e.item.id===t),c=a??s?.pageId??null,l=(0,v.useMemo)(()=>c?VO(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(HO(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=>{OO(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`&&(N.info?N.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=LT(e.id,j,ee),[ne]=(0,v.useState)(ee),M=j?j.kind===`screen`?Ww(j.url,ne):j.url:``,re=(0,v.useMemo)(()=>y&&j?.kind===`screen`?[y]:[],[y,j?.kind]),ie=Jw(re),N=qw(re,S||ie,{onEscape:()=>C(!1)}),ae=!!N.info;if((0,v.useEffect)(()=>{ae&&C(!0)},[ae]),(0,v.useEffect)(()=>{let t=_.current;if(t&&j?.kind===`screen`)return D([]),Lw(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(HO(e.id,a.item.id,a.pageId))}else t.type===`link`&&Kw(t,e,t=>{let r=o.find(e=>e.item.id===t);r&&n(HO(e.id,r.item.id,r.pageId))},j?.id)})},[j,M,o,e.id,n,O]),(0,v.useEffect)(()=>{j?.kind===`screen`&&Vw(_.current,ee)},[ee,j]),!j)return(0,L.jsx)(kT,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`});let oe=j.frame.width,se=j.frame.height===`auto`?Math.max(w.h-48,400):j.frame.height,ce=m===`fit`?Math.min(1,(w.w-48)/oe,(w.h-48)/se):1,le=oe<=w.w-48&&se<=w.h-48;return(0,L.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,L.jsxs)(VC,{children:[i.barStart,(0,L.jsx)(Yb,{content:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Back to canvas `,(0,L.jsx)(y_,{children:`esc`})]}),children:(0,L.jsx)(be,{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,L.jsx)(Z,{name:`arrow-left`,size:16})})}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[(0,L.jsx)(`span`,{className:`truncate text-[14px] font-semibold`,children:j.title}),(0,L.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:[e.title,A.where].filter(Boolean).join(` · `)})]}),(0,L.jsxs)(`div`,{className:`mx-auto flex items-center gap-1`,children:[(0,L.jsx)(ix,{icon:`chevron-left`,label:`Previous screen (←)`,onClick:()=>k(-1),disabled:l.length<2}),(0,L.jsxs)(`span`,{className:`min-w-[52px] text-center text-[12.5px] text-muted tabular`,children:[u+1,` / `,l.length]}),(0,L.jsx)(ix,{icon:`chevron-right`,label:`Next screen (→)`,onClick:()=>k(1),disabled:l.length<2})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[le?null:(0,L.jsx)(FT,{label:`Scale`,value:m,onChange:h,items:[{value:`fit`,label:`Fit`},{value:`actual`,label:`100%`}]}),j.kind===`screen`&&!j.theme?(0,L.jsx)(FT,{label:`Screen theme`,value:f,onChange:p,items:[{value:`light`,label:(0,L.jsx)(Z,{name:`sun`,size:15}),title:`Light`},{value:`dark`,label:(0,L.jsx)(Z,{name:`moon`,size:15}),title:`Dark`}]}):null,j.kind===`screen`?(0,L.jsx)(WT,{on:S,onChange:C}):null,(0,L.jsx)(ix,{icon:`refresh`,label:`Reload`,onClick:()=>Hw(_.current)}),te?(0,L.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,L.jsx)(Z,{name:`external`,size:16})}):null,(0,L.jsx)(RC,{}),i.barEnd]})]}),i.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:i.belowBar}):null,(0,L.jsxs)(`div`,{className:`flex min-h-0 grow basis-0`,children:[(0,L.jsxs)(`div`,{ref:g,className:`canvas-dots relative min-w-0 grow overscroll-none ${m===`actual`?`overflow-auto`:`overflow-hidden`}`,children:[E.length?(0,L.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,L.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),E.join(`
|
|
128
|
-
`)]}):null,(0,L.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?oe+48:void 0},children:(0,L.jsx)(`div`,{className:`shrink-0 overflow-
|
|
128
|
+
`)]}):null,(0,L.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?oe+48:void 0},children:(0,L.jsx)(`div`,{className:`shrink-0 animate-[q-fade-in_160ms_ease-out] overflow-clip bg-surface`,style:{width:oe*ce,height:se*ce,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,L.jsx)(`iframe`,{ref:x,src:M,title:j.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:r,className:`block border-0`,style:{width:oe,height:se,transform:`scale(${ce})`,transformOrigin:`0 0`,colorScheme:ee},onLoad:()=>j.kind===`screen`&&Vw(_.current,ee)},`${j.id}:${j.kind===`screen`?j.rev:j.url}`)},j.id)})]}),(0,L.jsx)(ST,{open:S,side:`right`,width:320,children:(0,L.jsx)(iT,{info:N.info,active:!0,onSelect:e=>N.select(e),onClose:()=>{C(!1),N.select(null)}})})]})]})}var GO=12;function KO({canvasId:e,pageId:t,itemId:n}){let{data:r,error:i,isLoading:a}=e_(e);return i?(0,L.jsx)(kT,{title:`Canvas not found`,text:i.message}):a||!r?(0,L.jsx)(`div`,{className:`canvas-dots h-dvh`}):(0,L.jsx)(qO,{canvas:r,pageId:t,itemId:n})}function qO({canvas:e,pageId:t,itemId:n}){let[,r]=P(),{frameSandbox:i,slots:a,scope:o}=Xg(),s=__(),c=(0,v.useMemo)(()=>VO(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(HO(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)},ne=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 M=d?.kind===`screen`?d.theme??f:f,[re]=(0,v.useState)(M),ie=d?d.kind===`screen`?Ww(d.url,re):d.url:``,N=LT(e.id,d,M);(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 Lw(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`?ne(t.target.includes(`/`)?t.target.split(`/`)[1]:t.target):t.type===`link`&&Kw(t,e,ne,d.id)})},[k,ie]),(0,v.useEffect)(()=>{d?.kind===`screen`&&Vw(O.current,M)},[M,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 ae=(0,v.useRef)(null),oe=e=>{let t=e.touches[0];ae.current=t?{x:t.clientX,y:t.clientY}:null},se=e=>{let t=ae.current,n=e.changedTouches[0];if(ae.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,L.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,L.jsx)(YO,{canvas:e,title:e.title,sub:null}),(0,L.jsx)(kT,{title:`No screens here`,text:`This canvas has no screens to show yet.`})]});let ce=d.frame.width,le=y?Math.min(1,(y-24)/ce):0,ue=le>0&&le<.8,de=ue&&T?1:le,fe=d.frame.height===`auto`?Math.max(x??0,480):d.frame.height,pe=d.kind===`screen`&&!d.theme;return(0,L.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,L.jsx)(YO,{canvas:e,title:d.title||d.id,sub:[e.title,u.where].filter(Boolean).join(` · `),back:o?void 0:`/`,end:(0,L.jsxs)(L.Fragment,{children:[ue?(0,L.jsx)(ix,{icon:T?`zoom-out`:`zoom-in`,label:T?`Fit to width`:`Actual size`,onClick:()=>E(e=>!e)}):null,(0,L.jsxs)(MC,{align:`end`,width:220,trigger:(0,L.jsx)(ix,{icon:`more`,label:`Screen options`}),children:[pe?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(IC,{children:`Screen theme`}),(0,L.jsx)(JO,{value:`light`,current:f,onPick:p}),(0,L.jsx)(JO,{value:`dark`,current:f,onPick:p}),(0,L.jsx)(FC,{})]}):null,(0,L.jsxs)(PC,{onSelect:()=>Hw(O.current),children:[(0,L.jsx)(Z,{name:`refresh`,size:15,className:`text-ink2`}),`Reload screen`]}),N?(0,L.jsxs)(PC,{onSelect:()=>window.open(N,`_blank`,`noopener`),children:[(0,L.jsx)(Z,{name:`external`,size:15,className:`text-ink2`}),`Open in a new tab`]}):null,(0,L.jsxs)(PC,{onSelect:()=>h_(s===`dark`?`light`:`dark`),children:[(0,L.jsx)(Z,{name:s===`dark`?`sun`:`moon`,size:15,className:`text-ink2`}),s===`dark`?`Light appearance`:`Dark appearance`]})]}),a.barEnd]})}),a.belowBar?(0,L.jsx)(`div`,{className:`shrink-0`,children:a.belowBar}):null,(0,L.jsxs)(`div`,{ref:D,onTouchStart:oe,onTouchEnd:se,className:X(`canvas-dots relative min-h-0 grow overflow-y-auto overscroll-contain`,ue&&T?`overflow-x-auto`:`overflow-x-hidden`),children:[g.length?(0,L.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,L.jsx)(Z,{name:`alert`,size:14,className:`mt-px shrink-0`}),(0,L.jsx)(`span`,{className:`min-w-0 break-words`,children:g.join(`
|
|
129
129
|
`)})]}):null,(0,L.jsx)(ed,{initial:!1,mode:`popLayout`,custom:C,children:(0,L.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`,ue&&T?`w-max`:`justify-center`),style:{padding:GO},children:de?(0,L.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[6px] bg-surface`,style:{width:ce*de,height:fe*de,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,L.jsx)(`iframe`,{ref:j,src:ie,title:d.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:i,className:`block border-0`,style:{width:ce,height:fe,transform:`scale(${de})`,transformOrigin:`0 0`,colorScheme:M},onLoad:()=>d.kind===`screen`&&Vw(O.current,M)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`)}):null},d.id)})]}),(0,L.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,L.jsx)(ix,{icon:`chevron-left`,label:`Previous screen`,onClick:()=>te(-1),disabled:c.length<2}),(0,L.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,L.jsx)(Z,{name:`list`,size:15,className:`shrink-0 text-muted`}),(0,L.jsxs)(`span`,{className:`tabular shrink-0 text-muted`,children:[l+1,` / `,c.length]}),(0,L.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:d.title||d.id})]}),(0,L.jsx)(ix,{icon:`chevron-right`,label:`Next screen`,onClick:()=>te(1),disabled:c.length<2})]}),(0,L.jsx)(BO,{open:m,onOpenChange:h,title:e.title,children:(0,L.jsx)(ZO,{canvas:e,current:d.id,onPick:e=>{h(!1),ne(e)}})})]})}function JO({value:e,current:t,onPick:n}){return(0,L.jsxs)(PC,{active:t===e,onSelect:()=>n(e),children:[(0,L.jsx)(Z,{name:e===`dark`?`moon`:`sun`,size:15,className:`text-ink2`}),e===`dark`?`Dark`:`Light`,t===e?(0,L.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]})}function YO({canvas:e,title:t,sub:n,back:r,end:i}){let{slots:a}=Xg();return(0,L.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,L.jsx)(be,{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,L.jsx)(Z,{name:`arrow-left`,size:18})}):(0,L.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center`,children:(0,L.jsx)(zC,{})}),(0,L.jsxs)(`div`,{className:`flex min-w-0 grow flex-col leading-tight`,children:[(0,L.jsx)(`span`,{className:`truncate text-[14.5px] font-semibold`,children:t}),n?(0,L.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:n}):null]}),(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:i})]})}var XO=e=>e.item.kind===`url`?`globe`:e.item.frame.device===`phone`?`smartphone`:e.item.frame.device===`tablet`?`tablet`:`monitor`;function ZO({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,L.jsx)(`div`,{className:`flex flex-col pb-2`,children:e.pages.map(a=>{let o=VO(e,a.id);return o.length?(0,L.jsxs)(`section`,{className:`flex flex-col`,children:[i?(0,L.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,L.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,L.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,L.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,L.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,L.jsx)(Z,{name:XO(e),size:15})}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.item.title||e.item.id}),i?(0,L.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.item.id)})]},e.id):null})]},a.id):null})})}var QO=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],$O=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function ek(e){if(!e)return``;let t=(e-Date.now())/1e3;for(let[e,n]of QO)if(Math.abs(t)>=n)return $O.format(Math.round(t/n),e);return`just now`}function tk(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KB`:`${(e/1024/1024).toFixed(1)} MB`}function nk(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function rk({className:e,style:t}){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:X(`block animate-pulse rounded-[6px] bg-soft2`,e),style:t})}function ik({rows:e=3,lead:t=28,minH:n=56}){return(0,L.jsx)(`div`,{role:`status`,"aria-label":`Loading`,children:Array.from({length:e},(e,r)=>(0,L.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-rule px-4`,style:{minHeight:n,opacity:1-r*.18},children:[t?(0,L.jsx)(rk,{style:{width:t,height:Math.min(t,n-20)}}):null,(0,L.jsxs)(`span`,{className:`flex min-w-0 grow flex-col gap-1.5`,children:[(0,L.jsx)(rk,{className:`h-3 w-[38%]`}),(0,L.jsx)(rk,{className:`h-2.5 w-[62%]`})]}),(0,L.jsx)(rk,{className:`h-3 w-14`})]},r))})}function ak({canvas:e}){return(0,L.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,L.jsx)(`img`,{src:e.cover,alt:``,className:`h-full w-full object-cover object-top`}):(0,L.jsx)(Z,{name:`canvas`,size:18,className:`text-muted`})})}function ok({src:e}){return(0,L.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-[6px] border border-rule bg-soft`,children:(0,L.jsx)(`img`,{src:e,alt:``,className:`size-full object-contain`})})}function sk({project:e}){let{source:t,keys:n}=Xg(),r=Ne(),i=(0,v.useRef)(null);if(!t.setIcon||e.static)return null;let a=async e=>{try{await t.setIcon(e),await r.invalidateQueries({queryKey:n.project}),Tw(e?`Icon set`:`Icon removed`,e?`Saved as .design/icon; a linked project takes it to the cloud on its next push or pull.`:void 0)}catch(e){Tw(`Could not change the icon`,e.message,`error`)}};return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`input`,{ref:i,type:`file`,accept:`.svg,.png,.webp,image/svg+xml,image/png,image/webp`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&a(t)}}),(0,L.jsxs)(MC,{trigger:(0,L.jsx)(tx,{children:`Icon`}),align:`end`,width:240,children:[(0,L.jsxs)(PC,{onSelect:()=>i.current?.click(),hint:`≤ 256 KB`,children:[(0,L.jsx)(Z,{name:`upload`,size:15}),e.icon?`Replace icon`:`Upload icon`]}),e.icon?(0,L.jsxs)(PC,{danger:!0,onSelect:()=>void a(null),children:[(0,L.jsx)(Z,{name:`trash`,size:15}),`Remove icon`]}):null]})]})}function ck({actions:e,children:t}){return e?(0,L.jsxs)(`div`,{className:`grid items-center border-t border-rule transition-colors hover:bg-soft`,style:{gridTemplateColumns:`minmax(0,1fr) auto`},children:[t,(0,L.jsx)(`div`,{className:`flex items-center gap-2 pr-4`,children:e})]}):t}function lk({children:e}){return e?(0,L.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 uk({project:e}){let{canvasRowActions:t,canvasesFoot:n}=Xg().slots,r=XC();return e.canvases.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Canvases`,count:e.canvases.length}),e.canvases.map(e=>{let n=t?.(e.id);return(0,L.jsx)(ck,{actions:n,children:r?(0,L.jsxs)(gT,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr)`,align:`ll`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,L.jsx)(ak,{canvas:e}),(0,L.jsx)(b_,{top:e.title,bottom:(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[e.issues?(0,L.jsx)(oT,{tone:`danger`,children:nk(e.issues,`problem`)}):null,(0,L.jsxs)(`span`,{className:`truncate`,children:[nk(e.screens,`screen`),` · `,ek(e.updatedAt)]})]})})]}):(0,L.jsxs)(gT,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr) auto auto`,align:`llrr`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,L.jsx)(ak,{canvas:e}),(0,L.jsx)(b_,{top:e.title,bottom:(0,L.jsx)(`span`,{className:`truncate`,children:e.description??e.id})}),(0,L.jsxs)(`span`,{className:`flex items-center gap-2 text-[12.5px] whitespace-nowrap text-muted`,children:[e.issues?(0,L.jsx)(oT,{tone:`danger`,children:nk(e.issues,`problem`)}):null,nk(e.screens,`screen`),` · `,nk(e.pages,`page`)]}),(0,L.jsx)(`span`,{className:`w-[92px] text-[12.5px] whitespace-nowrap text-muted`,children:ek(e.updatedAt)})]})},e.id)}),(0,L.jsx)(lk,{children:n})]}):(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Canvases`,count:0}),(0,L.jsx)(vT,{children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-2 py-6 text-center`,children:[(0,L.jsx)(`span`,{className:`text-[14px] text-ink2`,children:`No canvases yet.`}),(0,L.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`Ask your agent to design something, or run `,(0,L.jsx)(Q,{children:`design new <name>`}),` in the project.`]})]})}),(0,L.jsx)(lk,{children:n})]})}function dk({project:e}){let t=e.system;return t?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Design system`,right:(0,L.jsx)(ax,{to:`/system`,children:`Open`})}),(0,L.jsxs)(vT,{gap:6,children:[(0,L.jsx)(`span`,{className:`text-[15px] font-semibold`,children:t.name}),t.description?(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:t.description}):null]}),(0,L.jsx)(_T,{label:`Tokens`,labelWidth:120,end:!0,children:(0,L.jsx)(sT,{value:t.tokens})}),(0,L.jsx)(_T,{label:`Components`,labelWidth:120,end:!0,children:(0,L.jsx)(sT,{value:t.components})}),(0,L.jsx)(_T,{label:`Guidelines`,labelWidth:120,end:!0,children:(0,L.jsx)(sT,{value:t.guidelines})}),t.issues?(0,L.jsx)(_T,{label:`Problems`,labelWidth:120,end:!0,children:(0,L.jsx)(oT,{tone:`danger`,children:t.issues})}):null]}):(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Design system`}),(0,L.jsx)(vT,{children:(0,L.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`No design system yet. Ask your agent to build one from the codebase, or run `,(0,L.jsx)(Q,{children:`design system init`}),`.`]})})]})}function fk(){return(0,L.jsxs)(CT,{children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-2.5 pt-1 pb-1`,children:[(0,L.jsx)(rk,{className:`h-6 w-[220px]`}),(0,L.jsx)(rk,{className:`h-3.5 w-[300px]`})]}),(0,L.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Canvases`}),(0,L.jsx)(ik,{rows:3,lead:86,minH:74})]}),(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Design system`}),(0,L.jsx)(ik,{rows:3,lead:0,minH:40})]})]})]})}function pk(){let{data:e,error:t,isLoading:n}=$g(),{slots:r}=Xg(),i=XC();return t?(0,L.jsx)(OT,{title:`Could not load the project`,text:t.message}):n||!e?(0,L.jsx)(fk,{}):(0,L.jsxs)(CT,{children:[(0,L.jsx)(wT,{title:e.icon?(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[(0,L.jsx)(ok,{src:e.icon}),e.name]}):e.name,right:i?void 0:r.homeActions??(0,L.jsx)(sk,{project:e}),badge:i&&r.homeActions?(0,L.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,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(Q,{size:12.5,wrap:!0,children:[e.root,`/.design`]}),` `,`· foss-design `,e.version]})}),(0,L.jsx)(bT,{issues:e.issues,title:`Problems in design.json`}),(0,L.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-5`,children:[(0,L.jsx)(uk,{project:e}),r.canvasesAfter]}),(0,L.jsx)(dk,{project:e})]}),r.homeAfter]})}function mk(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 hk(e,...t){return e.filter(e=>t.includes(e.kind))}function gk(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 _k(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 vk(e,t){return(t===`dark`?e.dark?.value:void 0)??e.light?.value}function yk(){let e=__(),[t,n]=(0,v.useState)(null);return[t??e,n]}function bk({value:e,onChange:t}){return(0,L.jsx)(FT,{label:`Theme`,size:`sm`,value:e,onChange:t,items:[{value:`light`,label:(0,L.jsx)(Z,{name:`sun`,size:14}),title:`Light`},{value:`dark`,label:(0,L.jsx)(Z,{name:`moon`,size:14}),title:`Dark`}]})}function xk({items:e}){return e.length?(0,L.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 gap-y-0.5`,children:e.map(e=>(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e},e))}):null}function Sk({title:e,children:t}){return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e}),(0,L.jsx)(vT,{children:(0,L.jsx)(`div`,{className:`py-4 text-[13px] text-muted`,children:t})})]})}var Ck=`.design/system/tokens.css`;function wk({children:e,className:t}){return(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-muted [overflow-wrap:anywhere] ${t??``}`,children:e})}function Tk({asset:e,index:t}){if(e.kind===`image`)return(0,L.jsx)(`span`,{className:`checker flex h-[132px] items-center justify-center overflow-hidden border-b border-rule`,children:(0,L.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,L.jsxs)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft`,children:[(0,L.jsx)(`style`,{children:`@font-face{font-family:"${n}";src:url("${e.url.replace(/"/g,`%22`)}")}`}),(0,L.jsx)(`span`,{className:`text-[52px] leading-none text-ink`,style:{fontFamily:`"${n}", var(--font-sans)`},children:`Aa`})]})}return(0,L.jsx)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft text-muted`,children:(0,L.jsx)(Z,{name:`file`,size:28})})}function Ek({system:e}){return e.assets.length?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Assets`,sub:`Click an asset to copy its import path.`}),(0,L.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(210px, 1fr))`},children:e.assets.map((e,t)=>(0,L.jsx)(`button`,{type:`button`,title:`Copy the import path`,onClick:()=>kw(`@system/${e.path}`),className:`block cursor-pointer border-0 bg-transparent p-0 text-left`,children:(0,L.jsxs)(cT,{className:`transition-colors hover:border-rule-strong`,children:[(0,L.jsx)(Tk,{asset:e,index:t}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-3.5 py-2.5`,children:[(0,L.jsx)(`span`,{className:`truncate text-[13.5px] font-medium text-ink`,children:e.name}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[12.5px] text-muted`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:tk(e.size)}),(0,L.jsx)(Q,{size:12,className:`truncate`,children:e.path})]})]})]})},e.path))})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Assets`}),(0,L.jsxs)(Sk,{title:`No assets`,children:[`Put logos, icons, images and font files in `,(0,L.jsx)(Q,{children:`.design/system/assets`}),`; screens import them as`,` `,(0,L.jsx)(Q,{children:`@system/assets/…`}),`.`]})]})}function Dk({color:e,label:t,className:n}){return e?(0,L.jsx)(`span`,{title:`${t}: ${e}`,className:X(`checker relative h-[30px] w-[44px] shrink-0 overflow-hidden rounded-[6px]`,n),children:(0,L.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,L.jsx)(`span`,{className:X(`h-[30px] w-[44px] shrink-0`,n)})}function Ok({tokens:e}){let t=e.some(e=>e.dark),n=t=>(0,L.jsxs)(`div`,{className:`relative flex h-9 min-w-0 grow overflow-hidden rounded-[6px]`,children:[(0,L.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,L.jsx)(`button`,{type:`button`,title:`${e.name}: ${n}`,onClick:()=>kw(`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,L.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-rule px-4 py-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[t?(0,L.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Light`}):null,n(`light`)]}),t?(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Dark`}),n(`dark`)]}):null]})}function kk({token:e}){return(0,L.jsxs)(hT,{cols:`100px minmax(170px, 0.9fr) minmax(0, 1.4fr)`,minH:56,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(Dk,{color:e.light?.value,label:`Light`}),e.dark?(0,L.jsx)(Dk,{color:e.dark.value,label:`Dark`}):null]}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e).slice(0,2)})]}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-wrap gap-x-3`,children:[(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),e.dark?(0,L.jsxs)(Q,{size:12,className:`text-muted`,children:[`dark `,e.dark.value]}):null]}),e.description?(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description}):null]})]})}function Ak({system:e}){let t=hk(e.tokens,`color`),n=gk(t);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{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,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e,count:t.length}),(0,L.jsx)(Ok,{tokens:t}),t.map(e=>(0,L.jsx)(kk,{token:e},e.name))]},e)):(0,L.jsxs)(Sk,{title:`No color tokens`,children:[`Add them to `,(0,L.jsx)(Q,{children:Ck}),`: light values in `,(0,L.jsx)(Q,{children:`:root`}),`, dark ones in`,` `,(0,L.jsx)(Q,{children:`:root[data-theme="dark"]`}),`, and map them to Tailwind with `,(0,L.jsx)(Q,{children:`--color-*`}),` in`,` `,(0,L.jsx)(Q,{children:`@theme inline`}),`.`]})]})}function jk({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=Ww(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([]),Lw(e,t=>{t.type===`size`?d(Math.max(r,t.height)):t.type===`ready`?p(!0):t.type===`error`?h(e=>e.includes(t.message)?e:[...e,t.message]):t.type===`updated`?h([]):t.type===`wheel`&&!t.zoom&&Bw(e,t)})},[r,l]),(0,v.useEffect)(()=>{Vw(o.current,t)},[t]),(0,L.jsxs)(`div`,{className:X(`relative`,a),style:{width:i},children:[m.length?(0,L.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,L.jsx)(Z,{name:`alert`,size:15,className:`mt-px`}),(0,L.jsx)(`div`,{className:`min-w-0 font-mono break-words`,children:m.join(`
|
|
130
130
|
`)})]}):null,(0,L.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:()=>Vw(o.current,t)},l),f?null:(0,L.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted`,children:(0,L.jsx)(Z,{name:`loader`,size:18})})]})}var Mk=`identifier keyword string class property entity jsxliterals sign comment break space`.split(` `),[Nk,Pk,Fk,Ik,Lk,Rk,zk,Bk,Vk,Hk,Uk]=Mk.map((e,t)=>t);new Map(Mk.map((e,t)=>[e,t]));function Wk(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:Mk[e],value:t})),annotations:[]})}for(let e=0;e<t.length;e++){let n=t[e],[r,s]=n;if(r!==Hk){if(s.includes(`
|
|
131
131
|
`)){let e=s.split(`
|
|
@@ -155,4 +155,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
155
155
|
`,t-1)+1;if(n.slice(r,t).trim())return 0;let i=n.indexOf(`
|
|
156
156
|
`,t+2);return(i===-1?n.length:i)-t}function RM(e){return{...e,jsx:!1,regex:!1,templateStrings:!1}}function zM(){return{javascript:fj,typescript:EM,css:RM(mA),python:RM(nM),c:RM(aA),go:RM(PA),java:RM(Ej),rust:RM(dM),json:RM(kj),diff:RM(DA),shell:RM(mM),cpp:RM(cA),csharp:RM(dA),sql:RM(gM),html:xj,vue:kM,svelte:OM,yaml:RM(AM),markdown:RM(Vj),plaintext:RM(Xj),ruby:RM(oM),kotlin:RM(jj),swift:RM(xM),php:RM(Gj),toml:RM(wM),powershell:RM(Qj),dockerfile:RM(MA),graphql:RM(LA),hcl:RM(BA),zig:RM(MM),lua:RM(Pj)}}var BM=zM();function VM(e){return BM[e||`javascript`]}function HM(e,t){let{lang:n,cx:r,mark:i,markLine:a}=t||{};return qk(nA(e,VM(n)),{cx:r,mark:i,markLine:a})}function UM({code:e,path:t,className:n}){let r=e.replace(/\n$/,``),i=(0,v.useMemo)(()=>HM(r),[r]),a=r.split(`
|
|
157
157
|
`).length;return(0,L.jsxs)(`div`,{className:X(`flex min-w-0 flex-col`,n),children:[t?(0,L.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,L.jsx)(Q,{size:12,className:`truncate text-muted`,title:t,children:t}),(0,L.jsx)(ix,{icon:`copy`,label:`Copy file`,size:15,onClick:()=>kw(e,`Copied the file`)})]}):null,(0,L.jsxs)(`div`,{className:`flex max-h-[640px] min-w-0 overflow-auto font-mono text-[12.5px] leading-[1.6]`,children:[(0,L.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,L.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,L.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var WM={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},GM=`.design/system/components/`;function KM(e){return e.startsWith(GM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function qM(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 JM({path:e}){let t=KM(e),n=n_(t?e:null).data;if(!t)return null;let r=n?qM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,L.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,L.jsx)(ix,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>kw(i)})]})}function YM({component:e,theme:t,width:n}){return n===`fill`?(0,L.jsx)(jk,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,L.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,L.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,L.jsx)(jk,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function XM({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,L.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,L.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,L.jsx)(FT,{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,KM(i)?(0,L.jsx)(JM,{path:i}):null,o?(0,L.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,L.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,L.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,L.jsx)(Z,{name:`loader`,size:18})}):(0,L.jsx)(UM,{code:a,path:i})]})}function ZM(e){return e.split(`/`).pop()??e}function QM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=yk(),[s,c]=(0,v.useState)(`fill`),l=!Xg().frameSandbox;if(!n)return(0,L.jsx)(kT,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:n.title,badge:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(oT,{children:n.group}),u?(0,L.jsx)(oT,{tone:WM[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,L.jsxs)(cT,{children:[(0,L.jsx)(uT,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(FT,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,L.jsx)(bk,{value:a,onChange:o}),l?(0,L.jsx)(ox,{icon:`external`,href:Gw(Ww(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,L.jsx)(YM,{component:n,theme:a,width:s}):(0,L.jsx)(XM,{component:n})})]})]})}function $M(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function eN({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,L.jsx)(kT,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=$M(n.markdown,n.title).trim();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:n.title,sub:`Guideline`}),(0,L.jsx)(cT,{children:(0,L.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,L.jsx)(nO,{text:r,className:`max-w-[760px]`}):(0,L.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,L.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var tN={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 nN(e){let t=e.trim();if(tN[t])return tN[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 rN(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var iN=132,aN=22;function oN({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=>aN+e*88,l=e=>aN+(o-e)*s;return(0,L.jsxs)(`svg`,{width:iN,height:iN,viewBox:`0 0 ${iN} ${iN}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,L.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,L.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,L.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,L.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,L.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,L.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function sN({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=nN(i);return(0,L.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:()=>kw(`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,L.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,L.jsx)(oN,{bezier:a}):(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,L.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,L.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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:i}),e.description?(0,L.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function cN({system:e}){let t=hk(e.tokens,`ease`),n=hk(e.tokens,`duration`),r=hk(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,L.jsxs)(Sk,{title:`No motion tokens`,children:[`Add `,(0,L.jsx)(Q,{children:`--ease-*`}),` and `,(0,L.jsx)(Q,{children:`--animate-*`}),` to the `,(0,L.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,L.jsx)(Q,{children:`--duration-*`}),`, in `,(0,L.jsx)(Q,{children:Ck}),`.`]}):null,t.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Easing`,count:t.length}),(0,L.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,L.jsx)(sN,{token:e,duration:900},e.name))})]}):null,n.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Durations`,count:n.length}),(0,L.jsx)(pT,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?rN(e.light.value):null;return(0,L.jsxs)(hT,{cols:i,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,L.jsx)(`span`,{}):(0,L.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,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,L.jsx)(pT,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,L.jsxs)(hT,{cols:a,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:e.light?.value})]},e.name))]}):null]})}function lN({system:e}){let t=XC(),n=new Set(e.tokens.map(e=>e.kind)),r=[{to:`/system/colors`,label:`Colors`,hint:uN(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:uN(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,L.jsx)(dN,{sections:e.filter(e=>e.items.length)})}return(0,L.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,L.jsx)(TT,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,L.jsx)(ET,{children:`Foundations`}),(0,L.jsx)(TT,{label:`Foundations`,items:r}),a.length?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ET,{children:`Guidelines`}),(0,L.jsx)(TT,{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...i].map(([e,t])=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[(0,L.jsx)(ET,{children:e}),(0,L.jsx)(TT,{label:e,items:t})]},e))]})}function uN(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function dN({sections:e}){let[t]=P(),[n,r]=(0,v.useState)(!1),i=e.flatMap(e=>e.items).find(e=>e.to===t);return(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`Section`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate font-medium`,children:i?.label??`Overview`}),(0,L.jsx)(Z,{name:`chevron-down`,size:16,className:`shrink-0 text-muted`})]}),(0,L.jsx)(BO,{open:n,onOpenChange:r,title:`Design system`,children:(0,L.jsx)(`nav`,{"aria-label":`Design system`,className:`flex flex-col pb-2`,children:e.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[e.label?(0,L.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,L.jsxs)(be,{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,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:e.hint}):null,n?(0,L.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.to)})]},e.label||`overview`))})})]})}function fN({system:e}){let t=hk(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?gk(t).map(({group:e,tokens:t})=>(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e,count:t.length}),(0,L.jsx)(pT,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,L.jsxs)(hT,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(wk,{children:e.light?.value}),(0,L.jsx)(wk,{children:e.dark?.value??`—`}),(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,L.jsxs)(Sk,{title:`No other tokens`,children:[`Variables in `,(0,L.jsx)(Q,{children:`:root`}),` of `,(0,L.jsx)(Q,{children:Ck}),` that are not colors or lengths show here.`]})]})}function pN(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function mN(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:nk(pN(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${nk(pN(e,`font`),`family`,`families`)} · ${nk(pN(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:nk(pN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=pN(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:nk(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:nk(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:nk(e.components.length,`component`)}),t}function hN({system:e}){return(0,L.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:mN(e).map(e=>(0,L.jsxs)(be,{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,L.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,L.jsx)(Z,{name:e.icon,size:17})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,L.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function gN({system:e}){let[,t]=P(),n=[{label:`Color tokens`,value:pN(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:pN(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:pN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:pN(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:pN(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,L.jsxs)(hT,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,L.jsx)(sT,{value:e.value})]},e.label)),e.fonts.length?(0,L.jsxs)(hT,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,L.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,L.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:_N(e)},e))})]}):null]})}function _N(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 vN({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:e.name,sub:e.description}),(0,L.jsx)(bT,{issues:e.issues,title:`Problems in the design system`}),(0,L.jsx)(hN,{system:e}),(0,L.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,L.jsx)(cT,{children:(0,L.jsx)(`div`,{className:`px-6 py-5`,children:(0,L.jsx)(nO,{text:t.markdown})})}):(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Overview`}),(0,L.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,L.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,L.jsx)(gN,{system:e})]})]})}var yN=[1,2,3,4,6,8,12,16],bN=480;function xN({px:e}){return e===null?(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,L.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,L.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,bN))},title:`${e}px`}),e>bN?(0,L.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function SN({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?_k(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,L.jsx)(pT,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?yN.map(e=>(0,L.jsxs)(hT,{cols:i,minH:36,pad:`6px 16px`,children:[(0,L.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,L.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,L.jsx)(xN,{px:r*e})]},e)):null,n.map(e=>(0,L.jsxs)(hT,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,L.jsx)(xN,{px:e.light?_k(e.light.value):null})]},e.name))]})}function CN({token:e,children:t}){return(0,L.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>kw(`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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:e.light?.value}),e.description?(0,L.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function wN({title:e,tokens:t,min:n=170,children:r}){return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e,count:t.length}),(0,L.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,L.jsx)(CN,{token:e,children:r(e)},e.name))})]})}function TN({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Breakpoints`,count:e.length}),(0,L.jsx)(pT,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?_k(e.light.value):null;return(0,L.jsxs)(hT,{cols:t,align:`lllr`,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function EN({system:e}){let t=__(),n=hk(e.tokens,`spacing`),r=hk(e.tokens,`radius`),i=hk(e.tokens,`shadow`),a=hk(e.tokens,`blur`),o=hk(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,L.jsxs)(Sk,{title:`No spacing or shape tokens`,children:[`Add `,(0,L.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,L.jsx)(Q,{children:`--spacing-*`}),`, `,(0,L.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,L.jsx)(Q,{children:`--shadow-*`}),` and `,(0,L.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,L.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,L.jsx)(Q,{children:Ck}),`.`]}):null,n.length?(0,L.jsx)(SN,{tokens:n}):null,r.length?(0,L.jsx)(wN,{title:`Radii`,tokens:r,children:e=>(0,L.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,L.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,L.jsx)(wN,{title:`Shadows`,tokens:i,min:200,children:e=>(0,L.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,L.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:vk(e,t)}})})}):null,a.length?(0,L.jsx)(wN,{title:`Blur`,tokens:a,children:e=>(0,L.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,L.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,L.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,L.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,L.jsx)(TN,{tokens:o}):null]})}var DN={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function ON(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function kN({system:e}){let[t,n]=yk(),r=hk(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Specimen`,right:(0,L.jsx)(bk,{value:t,onChange:n})}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:(0,L.jsx)(jk,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Tokens`,count:r.length}),(0,L.jsx)(pT,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,L.jsxs)(hT,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:DN[e.kind]}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:ON(e)})]},e.name))]}):(0,L.jsxs)(Sk,{title:`No type tokens`,children:[`Add font families (`,(0,L.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,L.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,L.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,L.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,L.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,L.jsx)(Q,{children:Ck}),`. Web fonts go in `,(0,L.jsx)(Q,{children:`system.json`}),` `,(0,L.jsx)(Q,{children:`fonts`}),`.`]})]})}function AN({system:e}){return(0,L.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,L.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,L.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,L.jsx)(lN,{system:e})}),(0,L.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pt-6 pb-7`,children:(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/system`,children:(0,L.jsx)(vN,{system:e})}),(0,L.jsx)(I,{path:`/system/colors`,children:(0,L.jsx)(Ak,{system:e})}),(0,L.jsx)(I,{path:`/system/typography`,children:(0,L.jsx)(kN,{system:e})}),(0,L.jsx)(I,{path:`/system/shape`,children:(0,L.jsx)(EN,{system:e})}),(0,L.jsx)(I,{path:`/system/motion`,children:(0,L.jsx)(cN,{system:e})}),(0,L.jsx)(I,{path:`/system/tokens`,children:(0,L.jsx)(fN,{system:e})}),(0,L.jsx)(I,{path:`/system/assets`,children:(0,L.jsx)(Ek,{system:e})}),(0,L.jsx)(I,{path:`/system/guidelines/:slug`,children:t=>(0,L.jsx)(eN,{system:e,slug:decodeURIComponent(t.slug)})}),(0,L.jsx)(I,{path:`/system/components/:id`,children:t=>(0,L.jsx)(QM,{system:e,id:decodeURIComponent(t.id)})}),(0,L.jsx)(I,{children:(0,L.jsx)(kT,{title:`No such page`,text:`This page is not part of the design system.`})})]})})]})})}function jN(){return(0,L.jsx)(OT,{title:`No design system yet`,text:(0,L.jsxs)(L.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,L.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,L.jsx)(Q,{children:`.design/system`}),`.`]})})}function MN(){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,L.jsx)(jN,{}):r?(0,L.jsx)(OT,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,L.jsx)(AN,{system:n})}function NN(){let{name:e,icon:t}=$g().data??{};return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),(0,v.useEffect)(()=>{let e=document.querySelector(`link[rel="icon"]`);e&&(e.dataset.fallback??=e.getAttribute(`href`)??``,e.removeAttribute(`type`),e.href=t||e.dataset.fallback)},[t]),null}var PN=new URLSearchParams(window.location.search).has(`capture`);function FN(){let e=XC()&&!PN;return{play:(t,n)=>e?(0,L.jsx)(KO,{canvasId:t,itemId:n}):(0,L.jsx)(UO,{canvasId:t,itemId:n}),canvas:(t,n)=>e?(0,L.jsx)(KO,{canvasId:t,pageId:n}):(0,L.jsx)(PO,{canvasId:t,pageId:n})}}function IN(){let e=FN();return(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/c/:canvas/full/:item`,children:e=>(0,L.jsx)(RT,{canvasId:e.canvas,itemId:e.item})}),(0,L.jsx)(I,{path:`/c/:canvas/play/:item`,children:t=>e.play(t.canvas,t.item)}),(0,L.jsx)(I,{path:`/c/:canvas/p/:page`,children:t=>e.canvas(t.canvas,t.page)}),(0,L.jsx)(I,{path:`/c/:canvas`,children:t=>e.canvas(t.canvas)}),(0,L.jsxs)(I,{path:`/system/*?`,children:[(0,L.jsx)(KC,{}),(0,L.jsx)(MN,{})]}),(0,L.jsxs)(I,{path:`/`,children:[(0,L.jsx)(KC,{}),(0,L.jsx)(pk,{})]}),(0,L.jsxs)(I,{children:[(0,L.jsx)(KC,{}),(0,L.jsx)(kT,{})]})]})}function LN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Zg(n,e)?r:(0,L.jsx)(Ce,{to:t,replace:!0}),r=FN();return(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,L.jsx)(RT,{canvasId:e,itemId:t.item}))}),(0,L.jsx)(I,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,r.play(e,t.item))}),(0,L.jsx)(I,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,r.canvas(e,t.page))}),(0,L.jsx)(I,{path:`/c/:canvas`,children:t=>n(t.canvas,r.canvas(e))}),(0,L.jsx)(I,{children:(0,L.jsx)(Ce,{to:t,replace:!0})})]})}function RN({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,L.jsx)(Pe,{client:s,children:(0,L.jsx)(Yg.Provider,{value:u,children:(0,L.jsx)(id,{reducedMotion:`user`,children:(0,L.jsxs)(qb,{children:[(0,L.jsx)(NN,{}),(0,L.jsxs)(_e,{base:t,children:[u.scope?(0,L.jsx)(LN,{canvas:u.scope.canvas}):(0,L.jsx)(IN,{}),(0,L.jsx)(w_,{})]}),(0,L.jsx)(Ow,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(v.StrictMode,{children:Ng?(0,L.jsx)(_e,{hook:Ae,hrefs:e=>`#${e}`,children:(0,L.jsx)(RN,{source:Vg})}):(0,L.jsx)(RN,{source:zg})}));
|
|
158
|
+
`)}),(0,L.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,L.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var WM={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},GM=`.design/system/components/`;function KM(e){return e.startsWith(GM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function qM(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 JM({path:e}){let t=KM(e),n=n_(t?e:null).data;if(!t)return null;let r=n?qM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,L.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,L.jsx)(ix,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>kw(i)})]})}function YM({component:e,theme:t,width:n}){return n===`fill`?(0,L.jsx)(jk,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,L.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,L.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,L.jsx)(jk,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function XM({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,L.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,L.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,L.jsx)(FT,{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,KM(i)?(0,L.jsx)(JM,{path:i}):null,o?(0,L.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,L.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,L.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,L.jsx)(Z,{name:`loader`,size:18})}):(0,L.jsx)(UM,{code:a,path:i})]})}function ZM(e){return e.split(`/`).pop()??e}function QM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=yk(),[s,c]=(0,v.useState)(`fill`),l=!Xg().frameSandbox;if(!n)return(0,L.jsx)(kT,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:n.title,badge:(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(oT,{children:n.group}),u?(0,L.jsx)(oT,{tone:WM[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,L.jsxs)(cT,{children:[(0,L.jsx)(uT,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(FT,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,L.jsx)(bk,{value:a,onChange:o}),l?(0,L.jsx)(ox,{icon:`external`,href:Gw(Ww(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,L.jsx)(YM,{component:n,theme:a,width:s}):(0,L.jsx)(XM,{component:n})})]})]})}function $M(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function eN({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,L.jsx)(kT,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=$M(n.markdown,n.title).trim();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:n.title,sub:`Guideline`}),(0,L.jsx)(cT,{children:(0,L.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,L.jsx)(nO,{text:r,className:`max-w-[760px]`}):(0,L.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,L.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var tN={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 nN(e){let t=e.trim();if(tN[t])return tN[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 rN(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var iN=132,aN=22;function oN({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=>aN+e*88,l=e=>aN+(o-e)*s;return(0,L.jsxs)(`svg`,{width:iN,height:iN,viewBox:`0 0 ${iN} ${iN}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,L.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,L.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,L.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,L.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,L.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,L.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function sN({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=nN(i);return(0,L.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:()=>kw(`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,L.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,L.jsx)(oN,{bezier:a}):(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,L.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,L.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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:i}),e.description?(0,L.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function cN({system:e}){let t=hk(e.tokens,`ease`),n=hk(e.tokens,`duration`),r=hk(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,L.jsxs)(Sk,{title:`No motion tokens`,children:[`Add `,(0,L.jsx)(Q,{children:`--ease-*`}),` and `,(0,L.jsx)(Q,{children:`--animate-*`}),` to the `,(0,L.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,L.jsx)(Q,{children:`--duration-*`}),`, in `,(0,L.jsx)(Q,{children:Ck}),`.`]}):null,t.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Easing`,count:t.length}),(0,L.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,L.jsx)(sN,{token:e,duration:900},e.name))})]}):null,n.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Durations`,count:n.length}),(0,L.jsx)(pT,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?rN(e.light.value):null;return(0,L.jsxs)(hT,{cols:i,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,L.jsx)(`span`,{}):(0,L.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,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,L.jsx)(pT,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,L.jsxs)(hT,{cols:a,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:e.light?.value})]},e.name))]}):null]})}function lN({system:e}){let t=XC(),n=new Set(e.tokens.map(e=>e.kind)),r=[{to:`/system/colors`,label:`Colors`,hint:uN(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:uN(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,L.jsx)(dN,{sections:e.filter(e=>e.items.length)})}return(0,L.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,L.jsx)(TT,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,L.jsx)(ET,{children:`Foundations`}),(0,L.jsx)(TT,{label:`Foundations`,items:r}),a.length?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ET,{children:`Guidelines`}),(0,L.jsx)(TT,{label:`Guidelines`,items:a.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...i].map(([e,t])=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[(0,L.jsx)(ET,{children:e}),(0,L.jsx)(TT,{label:e,items:t})]},e))]})}function uN(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function dN({sections:e}){let[t]=P(),[n,r]=(0,v.useState)(!1),i=e.flatMap(e=>e.items).find(e=>e.to===t);return(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`Section`}),(0,L.jsx)(`span`,{className:`min-w-0 grow truncate font-medium`,children:i?.label??`Overview`}),(0,L.jsx)(Z,{name:`chevron-down`,size:16,className:`shrink-0 text-muted`})]}),(0,L.jsx)(BO,{open:n,onOpenChange:r,title:`Design system`,children:(0,L.jsx)(`nav`,{"aria-label":`Design system`,className:`flex flex-col pb-2`,children:e.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col`,children:[e.label?(0,L.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,L.jsxs)(be,{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,L.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:e.hint}):null,n?(0,L.jsx)(Z,{name:`check`,size:16,className:`shrink-0 text-action`}):null]},e.to)})]},e.label||`overview`))})})]})}function fN({system:e}){let t=hk(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?gk(t).map(({group:e,tokens:t})=>(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e,count:t.length}),(0,L.jsx)(pT,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,L.jsxs)(hT,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(wk,{children:e.light?.value}),(0,L.jsx)(wk,{children:e.dark?.value??`—`}),(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,L.jsxs)(Sk,{title:`No other tokens`,children:[`Variables in `,(0,L.jsx)(Q,{children:`:root`}),` of `,(0,L.jsx)(Q,{children:Ck}),` that are not colors or lengths show here.`]})]})}function pN(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function mN(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:nk(pN(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${nk(pN(e,`font`),`family`,`families`)} · ${nk(pN(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:nk(pN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=pN(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:nk(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:nk(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:nk(e.components.length,`component`)}),t}function hN({system:e}){return(0,L.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:mN(e).map(e=>(0,L.jsxs)(be,{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,L.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,L.jsx)(Z,{name:e.icon,size:17})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,L.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function gN({system:e}){let[,t]=P(),n=[{label:`Color tokens`,value:pN(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:pN(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:pN(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:pN(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:pN(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,L.jsxs)(hT,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,L.jsx)(sT,{value:e.value})]},e.label)),e.fonts.length?(0,L.jsxs)(hT,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,L.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,L.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,L.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:_N(e)},e))})]}):null]})}function _N(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 vN({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:e.name,sub:e.description}),(0,L.jsx)(bT,{issues:e.issues,title:`Problems in the design system`}),(0,L.jsx)(hN,{system:e}),(0,L.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,L.jsx)(cT,{children:(0,L.jsx)(`div`,{className:`px-6 py-5`,children:(0,L.jsx)(nO,{text:t.markdown})})}):(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Overview`}),(0,L.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,L.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,L.jsx)(gN,{system:e})]})]})}var yN=[1,2,3,4,6,8,12,16],bN=480;function xN({px:e}){return e===null?(0,L.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,L.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,L.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,bN))},title:`${e}px`}),e>bN?(0,L.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function SN({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?_k(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,L.jsx)(pT,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?yN.map(e=>(0,L.jsxs)(hT,{cols:i,minH:36,pad:`6px 16px`,children:[(0,L.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,L.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,L.jsx)(xN,{px:r*e})]},e)):null,n.map(e=>(0,L.jsxs)(hT,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,L.jsx)(xN,{px:e.light?_k(e.light.value):null})]},e.name))]})}function CN({token:e,children:t}){return(0,L.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>kw(`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,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:e.light?.value}),e.description?(0,L.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function wN({title:e,tokens:t,min:n=170,children:r}){return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:e,count:t.length}),(0,L.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,L.jsx)(CN,{token:e,children:r(e)},e.name))})]})}function TN({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Breakpoints`,count:e.length}),(0,L.jsx)(pT,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?_k(e.light.value):null;return(0,L.jsxs)(hT,{cols:t,align:`lllr`,minH:40,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,L.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function EN({system:e}){let t=__(),n=hk(e.tokens,`spacing`),r=hk(e.tokens,`radius`),i=hk(e.tokens,`shadow`),a=hk(e.tokens,`blur`),o=hk(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,L.jsxs)(Sk,{title:`No spacing or shape tokens`,children:[`Add `,(0,L.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,L.jsx)(Q,{children:`--spacing-*`}),`, `,(0,L.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,L.jsx)(Q,{children:`--shadow-*`}),` and `,(0,L.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,L.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,L.jsx)(Q,{children:Ck}),`.`]}):null,n.length?(0,L.jsx)(SN,{tokens:n}):null,r.length?(0,L.jsx)(wN,{title:`Radii`,tokens:r,children:e=>(0,L.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,L.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,L.jsx)(wN,{title:`Shadows`,tokens:i,min:200,children:e=>(0,L.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,L.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:vk(e,t)}})})}):null,a.length?(0,L.jsx)(wN,{title:`Blur`,tokens:a,children:e=>(0,L.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,L.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,L.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,L.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,L.jsx)(TN,{tokens:o}):null]})}var DN={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function ON(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function kN({system:e}){let[t,n]=yk(),r=hk(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(wT,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Specimen`,right:(0,L.jsx)(bk,{value:t,onChange:n})}),(0,L.jsx)(`div`,{className:`border-t border-rule`,children:(0,L.jsx)(jk,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,L.jsxs)(cT,{children:[(0,L.jsx)(lT,{title:`Tokens`,count:r.length}),(0,L.jsx)(pT,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,L.jsxs)(hT,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>kw(`var(${e.name})`),children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,L.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,L.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,L.jsx)(`span`,{className:`text-[13px] text-ink2`,children:DN[e.kind]}),(0,L.jsx)(xk,{items:mk(e)}),(0,L.jsx)(wk,{children:ON(e)})]},e.name))]}):(0,L.jsxs)(Sk,{title:`No type tokens`,children:[`Add font families (`,(0,L.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,L.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,L.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,L.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,L.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,L.jsx)(Q,{children:Ck}),`. Web fonts go in `,(0,L.jsx)(Q,{children:`system.json`}),` `,(0,L.jsx)(Q,{children:`fonts`}),`.`]})]})}function AN({system:e}){let[t]=P();return(0,L.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,L.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,L.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,L.jsx)(lN,{system:e})}),(0,L.jsx)(`div`,{className:`flex min-w-0 animate-[q-fade-in_160ms_ease-out] flex-col gap-5 pt-6 pb-7`,children:(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/system`,children:(0,L.jsx)(vN,{system:e})}),(0,L.jsx)(I,{path:`/system/colors`,children:(0,L.jsx)(Ak,{system:e})}),(0,L.jsx)(I,{path:`/system/typography`,children:(0,L.jsx)(kN,{system:e})}),(0,L.jsx)(I,{path:`/system/shape`,children:(0,L.jsx)(EN,{system:e})}),(0,L.jsx)(I,{path:`/system/motion`,children:(0,L.jsx)(cN,{system:e})}),(0,L.jsx)(I,{path:`/system/tokens`,children:(0,L.jsx)(fN,{system:e})}),(0,L.jsx)(I,{path:`/system/assets`,children:(0,L.jsx)(Ek,{system:e})}),(0,L.jsx)(I,{path:`/system/guidelines/:slug`,children:t=>(0,L.jsx)(eN,{system:e,slug:decodeURIComponent(t.slug)})}),(0,L.jsx)(I,{path:`/system/components/:id`,children:t=>(0,L.jsx)(QM,{system:e,id:decodeURIComponent(t.id)})}),(0,L.jsx)(I,{children:(0,L.jsx)(kT,{title:`No such page`,text:`This page is not part of the design system.`})})]})},t)]})})}function jN(){return(0,L.jsx)(OT,{title:`No design system yet`,text:(0,L.jsxs)(L.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,L.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,L.jsx)(Q,{children:`.design/system`}),`.`]})})}function MN(){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,L.jsx)(jN,{}):r?(0,L.jsx)(OT,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,L.jsx)(AN,{system:n})}function NN(){let{name:e,icon:t}=$g().data??{};return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),(0,v.useEffect)(()=>{let e=document.querySelector(`link[rel="icon"]`);e&&(e.dataset.fallback??=e.getAttribute(`href`)??``,e.removeAttribute(`type`),e.href=t||e.dataset.fallback)},[t]),null}var PN=new URLSearchParams(window.location.search).has(`capture`);function FN(){let e=XC()&&!PN;return{play:(t,n)=>e?(0,L.jsx)(KO,{canvasId:t,itemId:n}):(0,L.jsx)(UO,{canvasId:t,itemId:n}),canvas:(t,n)=>e?(0,L.jsx)(KO,{canvasId:t,pageId:n}):(0,L.jsx)(PO,{canvasId:t,pageId:n})}}function IN(){let e=FN();return(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/c/:canvas/full/:item`,children:e=>(0,L.jsx)(RT,{canvasId:e.canvas,itemId:e.item})}),(0,L.jsx)(I,{path:`/c/:canvas/play/:item`,children:t=>e.play(t.canvas,t.item)}),(0,L.jsx)(I,{path:`/c/:canvas/p/:page`,children:t=>e.canvas(t.canvas,t.page)}),(0,L.jsx)(I,{path:`/c/:canvas`,children:t=>e.canvas(t.canvas)}),(0,L.jsxs)(I,{path:`/system/*?`,children:[(0,L.jsx)(KC,{}),(0,L.jsx)(MN,{})]}),(0,L.jsxs)(I,{path:`/`,children:[(0,L.jsx)(KC,{}),(0,L.jsx)(pk,{})]}),(0,L.jsxs)(I,{children:[(0,L.jsx)(KC,{}),(0,L.jsx)(kT,{})]})]})}function LN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Zg(n,e)?r:(0,L.jsx)(Ce,{to:t,replace:!0}),r=FN();return(0,L.jsxs)(Se,{children:[(0,L.jsx)(I,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,L.jsx)(RT,{canvasId:e,itemId:t.item}))}),(0,L.jsx)(I,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,r.play(e,t.item))}),(0,L.jsx)(I,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,r.canvas(e,t.page))}),(0,L.jsx)(I,{path:`/c/:canvas`,children:t=>n(t.canvas,r.canvas(e))}),(0,L.jsx)(I,{children:(0,L.jsx)(Ce,{to:t,replace:!0})})]})}function RN({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,L.jsx)(Pe,{client:s,children:(0,L.jsx)(Yg.Provider,{value:u,children:(0,L.jsx)(id,{reducedMotion:`user`,children:(0,L.jsxs)(qb,{children:[(0,L.jsx)(NN,{}),(0,L.jsxs)(_e,{base:t,children:[u.scope?(0,L.jsx)(LN,{canvas:u.scope.canvas}):(0,L.jsx)(IN,{}),(0,L.jsx)(w_,{})]}),(0,L.jsx)(Ow,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(v.StrictMode,{children:Ng?(0,L.jsx)(_e,{hook:Ae,hrefs:e=>`#${e}`,children:(0,L.jsx)(RN,{source:Vg})}):(0,L.jsx)(RN,{source:zg})}));
|