foss-design 0.3.5 → 0.3.6
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/runtime/index.js +28 -0
- package/dist/viewer/assets/{index-Cbriu8my.js → index-DmtHtusH.js} +47 -47
- package/dist/viewer/index.html +1 -1
- package/dist/viewer-lib/index.js +40 -2
- package/dist/viewer-lib/types/src/shared/types.d.ts +12 -0
- package/dist/viewer-lib/types/viewer/src/lib/frames.d.ts +9 -1
- package/dist/viewer-lib/types/viewer/src/pages/canvas/items.d.ts +4 -1
- package/dist/viewer-lib/types/viewer/src/ui/toast.d.ts +1 -1
- package/package.json +1 -1
|
@@ -54,15 +54,15 @@ Error generating stack: `+e.message+`
|
|
|
54
54
|
`},wh=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Th=function(){v.useEffect(function(){return document.body.setAttribute(Sh,(wh()+1).toString()),function(){var e=wh()-1;e<=0?document.body.removeAttribute(Sh):document.body.setAttribute(Sh,e.toString())}},[])},Eh=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Th();var a=v.useMemo(function(){return bh(i)},[i]);return v.createElement(xh,{styles:Ch(a,!t,i,n?``:`!important`)})},Dh=!1;if(typeof window<`u`)try{var Oh=Object.defineProperty({},"passive",{get:function(){return Dh=!0,!0}});window.addEventListener(`test`,Oh,Oh),window.removeEventListener(`test`,Oh,Oh)}catch{Dh=!1}var kh=Dh?{passive:!1}:!1,Ah=function(e){return e.tagName===`TEXTAREA`},jh=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Ah(e)&&n[t]===`visible`)},Mh=function(e){return jh(e,`overflowY`)},Nh=function(e){return jh(e,`overflowX`)},Ph=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Lh(e,r)){var i=Rh(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Fh=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Ih=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Lh=function(e,t){return e===`v`?Mh(t):Nh(t)},Rh=function(e,t){return e===`v`?Fh(t):Ih(t)},zh=function(e,t){return e===`h`&&t===`rtl`?-1:1},Bh=function(e,t,n,r,i){var a=zh(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Rh(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Lh(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Vh=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Hh=function(e){return[e.deltaX,e.deltaY]},Uh=function(e){return e&&`current`in e?e.current:e},Wh=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Gh=function(e){return`
|
|
55
55
|
.block-interactivity-${e} {pointer-events: none;}
|
|
56
56
|
.allow-interactivity-${e} {pointer-events: all;}
|
|
57
|
-
`},Kh=0,qh=[];function Jh(e){var t=v.useRef([]),n=v.useRef([0,0]),r=v.useRef(),i=v.useState(Kh++)[0],a=v.useState(gh)[0],o=v.useRef(e);v.useEffect(function(){o.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Km([e.lockRef.current],(e.shards||[]).map(Uh),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=v.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Vh(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ph(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ph(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Bh(h,t,e,h===`h`?s:c,!0)},[]),c=v.useCallback(function(e){var n=e;if(qh.length&&qh[qh.length-1]===a){var r=`deltaY`in n?Hh(n):Vh(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Wh(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Uh).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=v.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Yh(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=v.useCallback(function(e){n.current=Vh(e),r.current=void 0},[]),d=v.useCallback(function(t){l(t.type,Hh(t),t.target,s(t,e.lockRef.current))},[]),f=v.useCallback(function(t){l(t.type,Vh(t),t.target,s(t,e.lockRef.current))},[]);v.useEffect(function(){return qh.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,kh),document.addEventListener(`touchmove`,c,kh),document.addEventListener(`touchstart`,u,kh),function(){qh=qh.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,kh),document.removeEventListener(`touchmove`,c,kh),document.removeEventListener(`touchstart`,u,kh)}},[]);var p=e.removeScrollBar,m=e.inert;return v.createElement(v.Fragment,null,m?v.createElement(a,{styles:Gh(i)}):null,p?v.createElement(Eh,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Yh(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Xh=oh(sh,Jh),Zh=v.forwardRef(function(e,t){return v.createElement(lh,Wm({},e,{ref:t,sideCar:Xh}))});Zh.classNames=lh.classNames;var Qh=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$h=new WeakMap,eg=new WeakMap,tg={},ng=0,rg=function(e){return e&&(e.host||rg(e.parentNode))},ig=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=rg(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ag=function(e,t,n,r){var i=ig(t,Array.isArray(e)?e:[e]);tg[n]||(tg[n]=new WeakMap);var a=tg[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($h.get(e)||0)+1,l=(a.get(e)||0)+1;$h.set(e,c),a.set(e,l),o.push(e),c===1&&i&&eg.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),ng++,function(){o.forEach(function(e){var t=$h.get(e)-1,i=a.get(e)-1;$h.set(e,t),a.set(e,i),t||(eg.has(e)||e.removeAttribute(r),eg.delete(e)),i||e.removeAttribute(n)}),ng--,ng||($h=new WeakMap,$h=new WeakMap,eg=new WeakMap,tg={})}},og=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Qh(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ag(r,i,n,`aria-hidden`)):function(){return null}},sg=Object.defineProperty,cg=(e,t)=>sg(e,`name`,{value:t,configurable:!0}),lg=`Dialog`,[ug,dg]=ap(lg),[fg,pg]=ug(lg),mg=cg(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,u]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:lg}),[d,f]=v.useState(0),[p,m]=v.useState(0);return(0,I.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,I.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,I.jsx)(jm,{present:n||a.open,children:(0,I.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,I.jsx)(jm,{present:r||a.open,children:(0,I.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,I.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,I.jsx)(Wp.div,{"data-state":Ag(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,I.jsx)(jm,{present:r||a.open,children:a.modal?(0,I.jsx)(Tg,{...i,ref:t}):(0,I.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,I.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,I.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,I.jsx)(I.Fragment,{children:(0,I.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,I.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":Ag(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,I.jsx)(Wp.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`));function Ag(e){return e?`open`:`closed`}cg(Ag,`getState`);var jg=window.__DESIGN_STATIC__===!0,Mg=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function Ng(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 Mg(n.status,e)}return await n.json()}async function Pg(e){try{return await e}catch(e){if(e instanceof Mg&&e.status===404)return null;throw e}}var Fg=``;function Ig(e){return Fg!==e.version&&(Fg=e.version,console.info(`foss-design ${e.version}${jg?` (static build)`:``}`)),e}var Lg={live:!0,project:()=>Ng(`/api/project`,`no-store`).then(Ig),canvas:async e=>({doc:await Ng(`/api/canvas/${encodeURIComponent(e)}`,`no-store`),base:``}),system:async()=>{let e=await Pg(Ng(`/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 Mg(t.status,`Could not read ${e}`);return t.text()}},Rg=null,zg={live:!1,project:()=>Ng(`api/project.json`,`default`).then(Ig),canvas:async e=>({doc:await Ng(`api/canvas/${encodeURIComponent(e)}.json`,`default`),base:``}),system:async()=>{let e=await Pg(Ng(`api/system.json`,`default`));return e?{doc:e,base:``}:null},async source(e){Rg??=Ng(`api/sources.json`,`default`).catch(()=>({}));let t=(await Rg)[e];if(t===void 0)throw new Mg(404,`${e} is not in this build`);return t}};function Bg(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 Vg(e,t){if(!t)return e;let n=e=>Bg(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 Hg(e,t){if(!t)return e;let n=e=>Bg(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 Ug(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 Wg=new WeakMap,Gg=0;function Kg(e){let t=Wg.get(e);return t||(Gg+=1,t=String(Gg),Wg.set(e,t)),t}var qg=(0,v.createContext)(null);function Jg(){let e=(0,v.useContext)(qg);if(!e)throw Error(`foss-design: this component renders inside <DesignViewer>`);return e}function Yg(e,t){if(e===t)return!0;try{return decodeURIComponent(e)===t}catch{return!1}}function Xg(e){return new Vt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function Zg(){let{source:e,keys:t,scope:n}=Jg();return $t({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function Qg(e,t=!0){let{source:n,keys:r}=Jg();return $t({queryKey:r.canvas(e),queryFn:async()=>{let{doc:t,base:r}=await n.canvas(e);return Vg(t,r)},placeholderData:e=>e,enabled:t})}function $g(e=!0){let{source:t,keys:n}=Jg();return $t({queryKey:n.system,queryFn:async()=>{let e=await t.system();return e?Hg(e.doc,e.base):null},enabled:e})}function e_(e,t=`system`){let{source:n,keys:r}=Jg();return $t({queryKey:r.source(t,e??``),queryFn:()=>n.source(e,t),enabled:!!e})}function t_(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 n_=null;function r_(e,t){n_={canvas:e,item:t},window.dispatchEvent(new CustomEvent(`design:focus`,{detail:n_}))}function i_(e){if(!n_||n_.canvas!==e)return null;let t=n_.item;return n_=null,t}var a_=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 o_(e,t=e=>e){return(0,v.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var s_=`foss-design.theme`;function c_(){try{let e=localStorage.getItem(s_);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var l_=new a_(c_()),u_=window.matchMedia(`(prefers-color-scheme: dark)`);function d_(e){return e===`system`?u_.matches?`dark`:`light`:e}function f_(){document.documentElement.dataset.theme=d_(l_.get())}u_.addEventListener(`change`,f_),l_.subscribe(f_),f_();function p_(e){try{localStorage.setItem(s_,e)}catch{}l_.set(e)}function m_(){return o_(l_)}function h_(){let e=o_(l_),t=(0,v.useSyncExternalStore)(e=>(u_.addEventListener(`change`,e),()=>u_.removeEventListener(`change`,e)),()=>u_.matches);return e===`system`?t?`dark`:`light`:e}var g_={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,I.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:g_[e]}})}function Q({children:e,size:t=12.5,className:n,title:r,wrap:i}){return(0,I.jsx)(`span`,{title:r,className:X(i?`break-all`:`whitespace-nowrap`,`font-mono`,n),style:{fontSize:t},children:e})}function __({children:e}){return(0,I.jsx)(`kbd`,{className:`rounded-[4px] border border-rule bg-surface px-[5px] py-px font-mono text-[11px] text-ink2`,children:e})}function v_({top:e,bottom:t,weight:n=500}){return(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,I.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,I.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 y_={canvas:`This canvas`,canvases:`Canvases`,system:`Design system`,actions:`Actions`};function b_(e){let t=/^\/c\/([^/]+)/.exec(e);return t?decodeURIComponent(t[1]):null}function x_({onClose:e}){let[t,n]=N(),r=Jg().scope,i=Zg().data,a=r?.canvas??b_(t),o=Qg(a??``,!!a).data,s=$g(!!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)}`),r_(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(()=>p_(`light`))},{id:`dark`,group:`actions`,label:`Dark appearance`,icon:`moon`,searchOnly:!0,run:f(()=>p_(`dark`))},{id:`system-theme`,group:`actions`,label:`System appearance`,icon:`monitor`,searchOnly:!0,run:f(()=>p_(`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,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,I.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,I.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,I.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,I.jsx)(__,{children:`esc`})]}),(0,I.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,I.jsxs)(`div`,{role:`presentation`,children:[(0,I.jsx)(`div`,{className:`px-4 pt-2.5 pb-1 text-[12px] text-muted`,children:y_[e]}),t.map(e=>{b+=1;let t=b,n=t===y;return(0,I.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,I.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,I.jsx)(Z,{name:e.icon,size:16})}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,I.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,I.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,I.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,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(__,{children:`↑`}),(0,I.jsx)(__,{children:`↓`}),`move`]}),(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(__,{children:`↵`}),`open`]})]})]})}function S_(){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,I.jsx)(mg,{open:e,onOpenChange:t,children:(0,I.jsx)(ed,{children:e?(0,I.jsx)(vg,{forceMount:!0,children:(0,I.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,I.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,I.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,I.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,I.jsx)(x_,{onClose:()=>t(!1)})})})})})}):null})})}var C_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`;function w_(){window.dispatchEvent(new CustomEvent(`design:palette`))}function T_({width:e=240,label:t=`Search and jump`}){return(0,I.jsxs)(`button`,{type:`button`,onClick:w_,style:{width:e},className:`flex h-ctrl min-w-0 shrink cursor-pointer items-center gap-2 rounded-[6px] border border-rule bg-soft pr-1.5 pl-3 text-ctrl text-muted transition-colors hover:border-rule-strong max-lg:w-auto!`,children:[(0,I.jsx)(Z,{name:`search`,size:15}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate text-left max-lg:hidden`,children:t}),(0,I.jsx)(__,{children:C_===`⌘`?`⌘K`:`Ctrl K`})]})}var E_={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`},D_=(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`,E_[e],t),O_=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,I.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:D_(e,i),...s,children:[n?(0,I.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,I.jsx)(Z,{name:t,size:15}):null,a]})}),k_={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`},A_=(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`,k_[e],t),j_=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,I.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:A_(n,i),...o,children:(0,I.jsx)(Z,{name:e,size:r})})});function M_({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,I.jsxs)(xe,{href:e,className:D_(t,r),children:[n?(0,I.jsx)(Z,{name:n,size:15}):null,i]})}function N_({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,I.jsxs)(`a`,{className:D_(e,n),...i,children:[t?(0,I.jsx)(Z,{name:t,size:15}):null,r]})}var P_=Object.defineProperty,F_=(e,t)=>P_(e,`name`,{value:t,configurable:!0});function I_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=F_(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,I.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,I.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,I.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 F_(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}F_(I_,`createCollection`);var L_=new WeakMap,R_=class e extends Map{static{F_(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],L_.set(this,!0)}set(e,t){return L_.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=V_(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=z_(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=z_(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return z_(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 z_(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=B_(e,t);return n===-1?void 0:e[n]}F_(z_,`at`);function B_(e,t){let n=e.length,r=V_(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}F_(B_,`toSafeIndex`);function V_(e){return e!==e||e===0?0:Math.trunc(e)}F_(V_,`toSafeInteger`);function H_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new R_,setItemMap:F_(()=>void 0,`setItemMap`)}),o=F_(({state:e,...t})=>e?(0,I.jsx)(c,{...t,state:e}):(0,I.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=F_(e=>{let t=h();return(0,I.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=F_(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=K_(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,I.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,I.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);U_(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(G_):(t.set(s,{...e,element:s}),t.toSorted(G_)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new R_(e)))}},[s,m,u]),(0,I.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new R_)}F_(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return F_(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}F_(H_,`createCollection`);function U_(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}F_(U_,`shallowEqual`);function W_(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}F_(W_,`isElementPreceding`);function G_(e,t){return!e[1].element||!t[1].element?0:W_(e[1].element,t[1].element)?-1:1}F_(G_,`sortByDocumentPosition`);function K_(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}F_(K_,`getChildListObserver`);var q_=Object.defineProperty,J_=(e,t)=>q_(e,`name`,{value:t,configurable:!0}),Y_=v.createContext(void 0);function X_(e){let t=v.useContext(Y_);return e||t||`ltr`}J_(X_,`useDirection`);var Z_=[`top`,`right`,`bottom`,`left`],Q_=Math.min,$_=Math.max,ev=Math.round,tv=Math.floor,nv=e=>({x:e,y:e}),rv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function iv(e,t,n){return $_(e,Q_(t,n))}function av(e,t){return typeof e==`function`?e(t):e}function ov(e){return e.split(`-`)[0]}function sv(e){return e.split(`-`)[1]}function cv(e){return e===`x`?`y`:`x`}function lv(e){return e===`y`?`height`:`width`}function uv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function dv(e){return cv(uv(e))}function fv(e,t,n){n===void 0&&(n=!1);let r=sv(e),i=dv(e),a=lv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=xv(o)),[o,xv(o)]}function pv(e){let t=xv(e);return[mv(e),t,mv(t)]}function mv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var hv=[`left`,`right`],gv=[`right`,`left`],_v=[`top`,`bottom`],vv=[`bottom`,`top`];function yv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?gv:hv:t?hv:gv;case`left`:case`right`:return t?_v:vv;default:return[]}}function bv(e,t,n,r){let i=sv(e),a=yv(ov(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(mv)))),a}function xv(e){let t=ov(e);return rv[t]+e.slice(t.length)}function Sv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Cv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Sv(e)}function wv(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 Tv(e,t,n){let{reference:r,floating:i}=e,a=uv(t),o=dv(t),s=lv(o),c=ov(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=sv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ev(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}=av(t,e),p=Cv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=wv(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=wv(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 Dv=50,Ov=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ev},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Tv(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<Dv&&(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}=Tv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},kv=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}=av(e,t)||{};if(l==null)return{};let d=Cv(u),f={x:n,y:r},p=dv(i),m=lv(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=Q_(d[_],T),D=Q_(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=iv(E,k,O),j=!c.arrow&&sv(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}=av(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ov(r),_=uv(o),v=ov(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[xv(o)]:pv(o)),x=p!==`none`;!d&&x&&b.push(...bv(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=fv(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`||_===uv(t)||T.every(e=>uv(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=uv(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 jv(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Mv(e){return Z_.some(t=>e[t]>=0)}var Nv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=av(e,t);switch(i){case`referenceHidden`:{let e=jv(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Mv(e)}}}case`escaped`:{let e=jv(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Mv(e)}}}default:return{}}}}},Pv=new Set([`left`,`top`]);async function Fv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ov(n),s=sv(n),c=uv(n)===`y`,l=Pv.has(o)?-1:1,u=a&&c?-1:1,d=av(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 Iv=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 Fv(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}}}}},Lv=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}=av(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=uv(i),p=cv(f),m=u[p],h=u[f],g=(e,t)=>iv(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}}}}}},Rv=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}=av(e,t),u={x:n,y:r},d=uv(i),f=cv(d),p=u[f],m=u[d],h=av(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=Pv.has(ov(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}}}},zv=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}=av(e,t),c=await i.detectOverflow(t,s),l=ov(n),u=sv(n),d=uv(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=Q_(p-c[m],g),y=Q_(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*$_(c.left,c.right):S=p-2*$_(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 Bv(){return typeof window<`u`}function Vv(e){return Wv(e)?(e.nodeName||``).toLowerCase():`#document`}function Hv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Uv(e){return((Wv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Wv(e){return Bv()?e instanceof Node||e instanceof Hv(e).Node:!1}function Gv(e){return Bv()?e instanceof Element||e instanceof Hv(e).Element:!1}function Kv(e){return Bv()?e instanceof HTMLElement||e instanceof Hv(e).HTMLElement:!1}function qv(e){return!Bv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Hv(e).ShadowRoot}function Jv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ay(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Yv(e){return/^(table|td|th)$/.test(Vv(e))}function Xv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Zv=/transform|translate|scale|rotate|perspective|filter/,Qv=/paint|layout|strict|content/,$v=e=>!!e&&e!==`none`,ey;function ty(e){let t=Gv(e)?ay(e):e;return $v(t.transform)||$v(t.translate)||$v(t.scale)||$v(t.rotate)||$v(t.perspective)||!ry()&&($v(t.backdropFilter)||$v(t.filter))||Zv.test(t.willChange||``)||Qv.test(t.contain||``)}function ny(e){let t=sy(e);for(;Kv(t)&&!iy(t);){if(ty(t))return t;if(Xv(t))return null;t=sy(t)}return null}function ry(){return ey??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ey}function iy(e){return/^(html|body|#document)$/.test(Vv(e))}function ay(e){return Hv(e).getComputedStyle(e)}function oy(e){return Gv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sy(e){if(Vv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||qv(e)&&e.host||Uv(e);return qv(t)?t.host:t}function cy(e){let t=sy(e);return iy(t)?(e.ownerDocument||e).body:Kv(t)&&Jv(t)?t:cy(t)}function ly(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=cy(e),i=r===e.ownerDocument?.body,a=Hv(r);if(i){let e=uy(a);return t.concat(a,a.visualViewport||[],Jv(r)?r:[],e&&n?ly(e):[])}return t.concat(r,ly(r,[],n))}function uy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function dy(e){let t=ay(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Kv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ev(n)!==a||ev(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function fy(e){return Gv(e)?e:e.contextElement}function py(e){let t=fy(e);if(!Kv(t))return nv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=dy(t),o=(a?ev(n.width):n.width)/r,s=(a?ev(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var my=nv(0);function hy(e){let t=Hv(e);return!ry()||!t.visualViewport?my:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function gy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Hv(e)}function _y(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=fy(e),o=nv(1);t&&(r?Gv(r)&&(o=py(r)):o=py(e));let s=gy(a,n,r)?hy(a):nv(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=Hv(a),t=Gv(r)?Hv(r):r,n=e,i=uy(n);for(;i&&t!==n;){let e=py(i),t=i.getBoundingClientRect(),r=ay(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=Hv(i),i=uy(n)}}return wv({width:u,height:d,x:c,y:l})}function vy(e,t){let n=oy(e).scrollLeft;return t?t.left+n:_y(Uv(e)).left+n}function yy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-vy(e,n),y:n.top+t.scrollTop}}function by(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Uv(r),s=t?Xv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=nv(1),u=nv(0),d=Kv(r);if((d||!a)&&((Vv(r)!==`body`||Jv(o))&&(c=oy(r)),d)){let e=_y(r);l=py(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?yy(o,c):nv(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 xy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Sy(e){let t=oy(e),n=e.ownerDocument.body,r=$_(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=$_(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+vy(e),o=-t.scrollTop;return ay(n).direction===`rtl`&&(a+=$_(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Cy=25;function wy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Hv(e),a=Uv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ry()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(vy(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<=Cy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ty(e,t){let n=_y(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=py(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ey(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=wy(e,n,t);else if(t===`document`)r=Sy(Uv(e));else if(Gv(t))r=Ty(t,n);else{let n=hy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wv(r)}function Dy(e,t){let n=t.get(e);if(n)return n;let r=ly(e,[],!1).filter(e=>Gv(e)&&Vv(e)!==`body`),i=null,a=ay(e).position===`fixed`,o=a?sy(e):e;for(;Gv(o)&&!iy(o);){let e=ay(o),t=ty(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=sy(o)}return t.set(e,r),r}function Oy(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Xv(t)?[]:Dy(t,this._c):[].concat(n),r],o=Ey(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=Ey(t,a[e],i);s=$_(n.top,s),c=Q_(n.right,c),l=Q_(n.bottom,l),u=$_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function ky(e){let{width:t,height:n}=dy(e);return{width:t,height:n}}function Ay(e,t,n){let r=Kv(t),i=Uv(t),a=n===`fixed`,o=_y(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=nv(0);if((r||!a)&&((Vv(t)!==`body`||Jv(i))&&(s=oy(t)),r)){let e=_y(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=vy(i));let l=i&&!r&&!a?yy(i,s):nv(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 jy(e){return ay(e).position===`static`}function My(e,t){if(!Kv(e)||ay(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Uv(e)===n&&(n=n.ownerDocument.body),n}function Ny(e,t){let n=Hv(e);if(Xv(e))return n;if(!Kv(e)){let t=sy(e);for(;t&&!iy(t);){if(Gv(t)&&!jy(t))return t;t=sy(t)}return n}let r=My(e,t);for(;r&&Yv(r)&&jy(r);)r=My(r,t);return r&&iy(r)&&jy(r)&&!ty(r)?n:r||ny(e)||n}var Py=async function(e){let t=this.getOffsetParent||Ny,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 Fy(e){return ay(e).direction===`rtl`}var Iy={convertOffsetParentRelativeRectToViewportRelativeRect:by,getDocumentElement:Uv,getClippingRect:Oy,getOffsetParent:Ny,getElementRects:Py,getClientRects:xy,getDimensions:ky,getScale:py,isElement:Gv,isRTL:Fy};function Ly(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ry(e,t,n){let r=null,i,a=Uv(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=tv(d),h=tv(a.clientWidth-(u+f)),g=tv(a.clientHeight-(d+p)),_=tv(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:$_(0,Q_(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!Ly(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=Hv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function zy(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=fy(e),u=i||a?[...l?ly(l):[],...t?ly(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ry(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?_y(e):null;c&&g();function g(){let t=_y(e);h&&!Ly(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 By=Iv,Vy=Lv,Hy=Av,Uy=zv,Wy=Nv,Gy=kv,Ky=Rv,qy=(e,t,n)=>{let r=new Map,i=n??{},a={...Iy,...i.platform,_c:r};return Ov(e,t,{...i,platform:a})},Jy=typeof document<`u`?v.useLayoutEffect:function(){};function Yy(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(!Yy(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)&&!Yy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Xy(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Zy(e,t){let n=Xy(e);return Math.round(t*n)/n}function Qy(e){let t=v.useRef(e);return Jy(()=>{t.current=e}),t}function $y(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);Yy(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=Qy(c),O=Qy(i),k=Qy(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),qy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!Yy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Jy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Jy(()=>(j.current=!0,()=>{j.current=!1}),[]),Jy(()=>{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=Zy(te.floating,u.x),r=Zy(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Xy(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 eb=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?{}:Gy({element:r.current,padding:i}).fn(n):r?Gy({element:r,padding:i}).fn(n):{}}}},tb=(e,t)=>{let n=By(e);return{name:n.name,fn:n.fn,options:[e,t]}},nb=(e,t)=>{let n=Vy(e);return{name:n.name,fn:n.fn,options:[e,t]}},rb=(e,t)=>({fn:Ky(e).fn,options:[e,t]}),ib=(e,t)=>{let n=Hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ab=(e,t)=>{let n=Uy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ob=(e,t)=>{let n=Wy(e);return{name:n.name,fn:n.fn,options:[e,t]}},sb=(e,t)=>{let n=eb(e);return{name:n.name,fn:n.fn,options:[e,t]}},cb=Object.defineProperty,lb=(e,t)=>cb(e,`name`,{value:t,configurable:!0});function ub(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}lb(ub,`useSize`);var db=Object.defineProperty,fb=(e,t)=>db(e,`name`,{value:t,configurable:!0}),pb=`Popper`,[mb,hb]=ap(pb),[gb,_b]=mb(pb),vb=fb(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,I.jsx)(gb,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),yb=`PopperAnchor`,bb=v.forwardRef(fb(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=_b(yb,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&&Db(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,I.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),xb=`PopperContent`,[Sb,Cb]=mb(xb),wb=v.forwardRef(fb(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=_b(xb,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=ub(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(Tb),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:ne,middlewareData:re}=$y({strategy:`fixed`,placement:E,whileElementsMounted:fb((...e)=>zy(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[tb({mainAxis:i+T,alignmentAxis:o}),c&&nb({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?rb():void 0,...A}),c&&ib({...A}),ab({...A,apply:fb(({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&&sb({element:x,padding:s}),Eb({arrowWidth:w,arrowHeight:T}),f&&ob({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),ie=g.setPlacementState;sp(()=>(ie(te),()=>{ie(void 0)}),[te,ie]);let[ae,M]=Db(te),oe=Jp(m);sp(()=>{ne&&oe?.()},[ne,oe]);let se=re.arrow?.x,ce=re.arrow?.y,le=re.arrow?.centerOffset!==0,[ue,de]=v.useState();return sp(()=>{_&&de(window.getComputedStyle(_).zIndex)},[_]),(0,I.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:ne?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ue,"--radix-popper-transform-origin":[re.transformOrigin?.x,re.transformOrigin?.y].join(` `),...re.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,I.jsx)(Sb,{scope:n,placedSide:ae,placedAlign:M,onArrowChange:S,arrowX:se,arrowY:ce,shouldHideArrow:le,children:(0,I.jsx)(Wp.div,{"data-side":ae,"data-align":M,...h,ref:b,style:{...h.style,animation:ne?h.style?.animation:`none`}})})})},`PopperContent`));function Tb(e){return e!==null}fb(Tb,`isNotNull`);var Eb=fb(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]=Db(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 Db(e){let[t,n=`center`]=e.split(`-`);return[t,n]}fb(Db,`getSideAndAlignFromPlacement`);var Ob=vb,kb=bb,Ab=wb,jb=Object.defineProperty,Mb=(e,t)=>jb(e,`name`,{value:t,configurable:!0}),Nb=!1;function Pb(){let[e,t]=v.useState(Nb);return v.useEffect(()=>{Nb||(Nb=!0,t(!0))},[]),e}Mb(Pb,`useIsHydrated`);var Fb=v.useSyncExternalStore;function Ib(){return()=>{}}Mb(Ib,`subscribe`);function Lb(){return Fb(Ib,()=>!0,()=>!1)}Mb(Lb,`useIsHydratedModern`);var Rb=typeof Fb==`function`?Lb:Pb,zb=Object.defineProperty,Bb=(e,t)=>zb(e,`name`,{value:t,configurable:!0}),Vb=`rovingFocusGroup.onEntryFocus`,Hb={bubbles:!1,cancelable:!0},Ub=`RovingFocusGroup`,[Wb,Gb,Kb]=I_(Ub),[qb,Jb]=ap(Ub,[Kb]),[Yb,Xb]=qb(Ub),Zb=v.forwardRef(Bb(function(e,t){return(0,I.jsx)(Wb.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Wb.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Qb,{...e,ref:t})})})},`RovingFocusGroup`)),Qb=v.forwardRef(Bb(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=X_(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Ub}),[_,y]=v.useState(!1),b=Jp(l),x=Gb(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Vb,b),()=>e.removeEventListener(Vb,b)},[b]),(0,I.jsx)(Yb,{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,I.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(Vb,Hb);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ix([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`)),$b=`RovingFocusGroupItem`,ex=v.forwardRef(Bb(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Xb($b,n),d=u.currentTabStopId===l,f=Gb(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Rb();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,I.jsx)(Wb.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,I.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=rx(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?ax(n,r+1):n.slice(r+1)}setTimeout(()=>ix(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),tx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function nx(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Bb(nx,`getDirectionAwareKey`);function rx(e,t,n){let r=nx(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return tx[r]}Bb(rx,`getFocusIntent`);function ix(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Bb(ix,`focusFirst`);function ax(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Bb(ax,`wrapArray`);var ox=Zb,sx=ex,cx=Object.defineProperty,lx=(e,t)=>cx(e,`name`,{value:t,configurable:!0}),ux=[`Enter`,` `],dx=[`ArrowDown`,`PageUp`,`Home`],fx=[`ArrowUp`,`PageDown`,`End`],px=[...dx,...fx];[...ux],[...ux];var mx=`Menu`,[hx,gx,_x]=I_(mx),[vx,yx]=ap(mx,[_x,hb,Jb]),bx=hb(),xx=Jb(),[Sx,Cx]=vx(mx),[wx,Tx]=vx(mx),Ex=lx(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=bx(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=X_(i);return v.useEffect(()=>{let e=lx(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=lx(()=>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=lx(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,I.jsx)(Ob,{...s,children:(0,I.jsx)(Sx,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,I.jsx)(wx,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),Dx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e,i=bx(n);return(0,I.jsx)(kb,{...i,...r,ref:t})},`MenuAnchor`)),Ox=`MenuPortal`,[kx,Ax]=vx(Ox,{forceMount:void 0}),jx=lx(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Cx(Ox,t);return(0,I.jsx)(kx,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Mx=`MenuContent`,[Nx,Px]=vx(Mx),Fx=v.forwardRef(lx(function(e,t){let n=Ax(Mx,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Cx(Mx,e.__scopeMenu),o=Tx(Mx,e.__scopeMenu);return(0,I.jsx)(hx.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(jm,{present:r||a.open,children:(0,I.jsx)(hx.Slot,{scope:e.__scopeMenu,children:o.modal?(0,I.jsx)(Ix,{...i,ref:t}):(0,I.jsx)(Lx,{...i,ref:t})})})})},`MenuContent`)),Ix=v.forwardRef(lx(function(e,t){let n=Cx(Mx,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,I.jsx)(zx,{...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`)),Lx=v.forwardRef(lx(function(e,t){let n=Cx(Mx,e.__scopeMenu);return(0,I.jsx)(zx,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Rx=kp(`MenuContent.ScrollLock`),zx=v.forwardRef(lx(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=Cx(Mx,n),_=Tx(Mx,n),y=bx(n),b=xx(n),x=gx(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:Rx,allowPinchZoom:!0}:void 0,ne=lx(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=rS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;lx((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 re=v.useCallback(e=>A.current===k.current?.side&&aS(e,k.current?.area),[]);return(0,I.jsx)(Nx,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{re(e)&&e.preventDefault()},[re]),onItemLeave:v.useCallback(e=>{re(e)||(w.current?.focus(),C(null))},[re]),onTriggerLeave:v.useCallback(e=>{re(e)&&e.preventDefault()},[re]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,I.jsx)(ee,{...te,children:(0,I.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,I.jsx)(ox,{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,I.jsx)(Ab,{role:`menu`,"aria-orientation":`vertical`,"data-state":Qx(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||!px.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);fx.includes(e.key)&&a.reverse(),tS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,oS(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`)),Bx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,I.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),Vx=`MenuItem`,Hx=`menu.itemSelect`,Ux=v.forwardRef(lx(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=Tx(Vx,e.__scopeMenu),s=Px(Vx,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=lx(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Hx,{bubbles:!0,cancelable:!0});e.addEventListener(Hx,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,I.jsx)(Wx,{...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!==` `)&&ux.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Wx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Px(Vx,n),s=xx(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,I.jsx)(hx.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,I.jsx)(sx,{asChild:!0,...s,focusable:!r,children:(0,I.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,oS(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,oS(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Gx,Kx]=vx(`MenuRadioGroup`,{value:void 0,onValueChange:lx(()=>{},`onValueChange`)}),[qx,Jx]=vx(`MenuItemIndicator`,{checked:!1}),Yx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,I.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Xx,Zx]=vx(`MenuSub`);function Qx(e){return e?`open`:`closed`}lx(Qx,`getOpenState`);function $x(e){return e===`indeterminate`}lx($x,`isIndeterminate`);function eS(e){return $x(e)?`indeterminate`:e?`checked`:`unchecked`}lx(eS,`getCheckedState`);function tS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}lx(tS,`focusFirst`);function nS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}lx(nS,`wrapArray`);function rS(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=nS(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}lx(rS,`getNextMatch`);function iS(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}lx(iS,`isPointInPolygon`);function aS(e,t){return t?iS({x:e.clientX,y:e.clientY},t):!1}lx(aS,`isPointerInGraceArea`);function oS(e){return t=>t.pointerType===`mouse`?e(t):void 0}lx(oS,`whenMouse`);var sS=Ex,cS=Dx,lS=jx,uS=Fx,dS=Bx,fS=Ux,pS=Yx,mS=Object.defineProperty,hS=(e,t)=>mS(e,`name`,{value:t,configurable:!0}),gS=`DropdownMenu`,[_S,vS]=ap(gS,[yx]),yS=yx(),[bS,xS]=_S(gS),SS=hS(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=yS(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:gS});return(0,I.jsx)(bS,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,I.jsx)(sS,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),CS=`DropdownMenuTrigger`,wS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=xS(CS,n),o=yS(n),s=tp(t,a.triggerRef);return(0,I.jsx)(cS,{asChild:!0,...o,children:(0,I.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`)),TS=hS(e=>{let{__scopeDropdownMenu:t,...n}=e,r=yS(t);return(0,I.jsx)(lS,{...r,...n})},`DropdownMenuPortal`),ES=`DropdownMenuContent`,DS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(ES,n),a=yS(n),o=v.useRef(!1);return(0,I.jsx)(uS,{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`)),OS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(dS,{...i,...r,ref:t})},`DropdownMenuLabel`)),kS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(fS,{...i,...r,ref:t})},`DropdownMenuItem`)),AS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(pS,{...i,...r,ref:t})},`DropdownMenuSeparator`)),jS=SS,MS=wS,NS=TS,PS=DS,FS=OS,IS=kS,LS=AS,RS=`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 zS({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,I.jsxs)(jS,{open:o,onOpenChange:s,modal:!1,children:[(0,I.jsx)(MS,{asChild:!0,children:e}),(0,I.jsx)(NS,{children:(0,I.jsx)(PS,{align:r,side:i,sideOffset:a,collisionPadding:12,className:RS,style:{width:n},children:t})})]})}var BS=(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 VS({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,I.jsxs)(IS,{disabled:i,onSelect:t,className:X(BS(n,r),o),children:[e,a?(0,I.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function HS(){return(0,I.jsx)(LS,{className:`my-1 h-px bg-rule`})}function US({children:e}){return(0,I.jsx)(FS,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var WS=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function GS(){let e=m_(),t=h_();return(0,I.jsxs)(zS,{align:`end`,width:180,trigger:(0,I.jsx)(j_,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,I.jsx)(US,{children:`Appearance`}),WS.map(t=>(0,I.jsxs)(VS,{active:e===t.value,onSelect:()=>p_(t.value),children:[(0,I.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,I.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function KS({size:e=24}){return(0,I.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,I.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,I.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,I.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,I.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,I.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function qS({name:e,version:t}){return(0,I.jsxs)(xe,{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,I.jsx)(KS,{}),(0,I.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function JS({children:e,className:t}){return(0,I.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 YS=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function XS({location:e}){let t=(0,v.useRef)(null),n=YS.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,I.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[YS.map((e,t)=>(0,I.jsx)(xe,{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,I.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 ZS(){let e=Zg().data,{slots:t}=Jg(),[n]=N();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(JS,{children:[t.barStart,(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,I.jsx)(qS,{name:e?.name,version:e?.version}),(0,I.jsx)(XS,{location:n})]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsx)(T_,{}),(0,I.jsx)(GS,{}),t.barEnd]})]}),t.belowBar]})}var QS=Object.defineProperty,$S=(e,t)=>QS(e,`name`,{value:t,configurable:!0}),eC=`Popover`,[tC,nC]=ap(eC,[hb]),rC=hb(),[iC,aC]=tC(eC),oC=$S(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=rC(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:eC});return(0,I.jsx)(Ob,{...s,children:(0,I.jsx)(iC,{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`),sC=`PopoverTrigger`,cC=v.forwardRef($S(function(e,t){let{__scopePopover:n,...r}=e,i=aC(sC,n),a=rC(n),o=tp(t,i.triggerRef),s=(0,I.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":yC(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,I.jsx)(kb,{asChild:!0,...a,children:s})},`PopoverTrigger`)),lC=`PopoverPortal`,[uC,dC]=tC(lC,{forceMount:void 0}),fC=$S(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=aC(lC,t);return(0,I.jsx)(uC,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),pC=`PopoverContent`,mC=v.forwardRef($S(function(e,t){let n=dC(pC,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=aC(pC,e.__scopePopover);return(0,I.jsx)(jm,{present:r||a.open,children:a.modal?(0,I.jsx)(gC,{...i,ref:t}):(0,I.jsx)(_C,{...i,ref:t})})},`PopoverContent`)),hC=kp(`PopoverContent.RemoveScroll`),gC=v.forwardRef($S(function(e,t){let n=aC(pC,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,I.jsx)(Zh,{as:hC,allowPinchZoom:!0,children:(0,I.jsx)(vC,{...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`)),_C=v.forwardRef($S(function(e,t){let n=aC(pC,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,I.jsx)(vC,{...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`)),vC=v.forwardRef($S(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=aC(pC,n),p=rC(n);return Hm(),(0,I.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,I.jsx)(Ab,{"data-state":yC(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 yC(e){return e?`open`:`closed`}$S(yC,`getState`);var bC=oC,xC=cC,SC=fC,CC=mC,wC=new a_([]),TC=1;function EC(e,t,n=`ok`){let r=TC++;wC.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>wC.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var DC=new a_([]),OC=1;function kC(){let[e]=(0,v.useState)(()=>OC++);(0,v.useEffect)(()=>(DC.set(t=>[...t,e]),()=>DC.set(t=>t.filter(t=>t!==e))),[e]);let t=o_(DC,t=>t[0]===e),n=o_(wC);return t?(0,I.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,I.jsx)(ed,{mode:`popLayout`,children:n.map(e=>(0,I.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,I.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):(0,I.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,I.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function AC(e,t=`Copied`){try{await navigator.clipboard.writeText(e),EC(t,e.length>64?void 0:e)}catch{EC(`Could not copy`,`The browser blocked clipboard access`,`error`)}}var jC=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of jC.get(e.source)??[])n(t)});function MC(e,t){let n=null,r=()=>{if(!n)return;let e=jC.get(n);e?.delete(t),e?.size||jC.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=jC.get(n)??new Set;i.add(t),jC.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function NC(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function PC(e){NC(e,{type:`canvas`})}function FC(e,t){NC(e,{type:`theme`,theme:t})}function IC(e){e&&(e.src=e.src)}var LC=(()=>{if(jg)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 RC(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(`/`)?LC:``}${r}?${a.toString()}`}function zC(e){return new URL(e,document.baseURI).toString()}function BC(e,t,n){let r=Zg().data,i=$g(!!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}),NC(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=>MC(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&&NC(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)NC(e,{type:`inspect-select`,ref:null});o(null)}else a&&NC(a.frame,{type:`inspect-select`,ref:e})}}}function VC(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=>MC(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 HC({title:e,children:t,right:n}){return(0,I.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,I.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function UC({label:e,children:t}){return(0,I.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,I.jsx)(`span`,{className:`text-muted`,children:e}),(0,I.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function WC({name:e}){return e?(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(`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 GC({children:e,title:t}){return(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function KC({label:e,color:t}){return(0,I.jsxs)(UC,{label:e,children:[(0,I.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,I.jsx)(GC,{title:t.css,children:t.value}),(0,I.jsx)(WC,{name:t.token})]})}var qC=e=>e?String(e):`–`;function JC({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,I.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,I.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,I.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:qC(i)}),(0,I.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:qC(s)}),(0,I.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,I.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:qC(a)}),(0,I.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:qC(o)})]})}function YC({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,I.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,I.jsx)(JC,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,I.jsx)(JC,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,I.jsx)(JC,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,I.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 XC({info:e,onSelect:t}){return(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,I.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,I.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,I.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,I.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function ZC({info:e,onSelect:t,onClose:n,active:r}){return(0,I.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,I.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,I.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,I.jsx)(j_,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,I.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,I.jsxs)(HC,{title:`Element`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,I.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,I.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,I.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,I.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(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,I.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,I.jsx)(XC,{info:e,onSelect:t})]}),(0,I.jsxs)(HC,{title:`Box`,children:[(0,I.jsx)(YC,{info:e}),(0,I.jsx)(UC,{label:`Size`,children:(0,I.jsxs)(GC,{children:[e.rect.w,` × `,e.rect.h]})}),(0,I.jsx)(UC,{label:`Position`,children:(0,I.jsxs)(GC,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,I.jsx)(HC,{title:`Layout`,children:e.layout.map(([e,t])=>(0,I.jsx)(UC,{label:e,children:(0,I.jsx)(GC,{title:t,children:t})},e))}):null,e.typography?(0,I.jsxs)(HC,{title:`Typography`,children:[(0,I.jsxs)(UC,{label:`Font`,children:[(0,I.jsx)(GC,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,I.jsx)(WC,{name:e.typography.familyToken})]}),(0,I.jsxs)(UC,{label:`Size`,children:[(0,I.jsxs)(GC,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,I.jsx)(WC,{name:e.typography.sizeToken})]}),(0,I.jsx)(UC,{label:`Weight`,children:(0,I.jsx)(GC,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,I.jsx)(UC,{label:`Tracking`,children:(0,I.jsx)(GC,{children:e.typography.letterSpacing})}),(0,I.jsx)(KC,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,I.jsx)(UC,{label:`Align`,children:(0,I.jsx)(GC,{children:e.typography.align})}),e.typography.transform?(0,I.jsx)(UC,{label:`Transform`,children:(0,I.jsx)(GC,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,I.jsxs)(HC,{title:`Appearance`,children:[e.appearance.background?(0,I.jsx)(KC,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,I.jsx)(UC,{label:`Image`,children:(0,I.jsx)(GC,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,I.jsxs)(UC,{label:`Border`,children:[(0,I.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,I.jsxs)(GC,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,I.jsx)(WC,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,I.jsxs)(UC,{label:`Radius`,children:[(0,I.jsx)(GC,{children:e.appearance.radius.value}),(0,I.jsx)(WC,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,I.jsxs)(UC,{label:`Shadow`,children:[(0,I.jsx)(GC,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,I.jsx)(WC,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,I.jsx)(UC,{label:`Opacity`,children:(0,I.jsx)(GC,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,I.jsx)(HC,{title:`Classes`,right:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,I.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,I.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,I.jsx)(HC,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,I.jsx)(UC,{label:e,children:(0,I.jsx)(GC,{title:t,children:t})},e))}):null,e.children.length?(0,I.jsx)(HC,{title:`Children · ${e.children.length}`,children:(0,I.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,I.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,I.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,I.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,I.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,I.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${C_} to highlight, click to inspect.`}),(0,I.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,I.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,I.jsx)(__,{children:`I`}),` toggle · hold `,(0,I.jsx)(__,{children:C_}),` · `,(0,I.jsx)(__,{children:`esc`}),` clear`]})]}),e?(0,I.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,I.jsx)(O_,{icon:`copy`,onClick:()=>void AC(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var QC={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 $C({tone:e=`neutral`,children:t,className:n}){return(0,I.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,QC[e],n),children:t})}function ew({value:e,tone:t=`neutral`}){return(0,I.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 tw({children:e,className:t,style:n}){return(0,I.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function nw({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,I.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,I.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,I.jsx)(ew,{value:t}),n?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,I.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function rw({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,I.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,I.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,I.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,I.jsx)(ew,{value:e.count}),r?(0,I.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,I.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function iw({align:e,children:t}){return(0,I.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 aw(e,t){return v.Children.toArray(e).map((e,n)=>(0,I.jsx)(iw,{align:t?.[n]??`l`,children:e},n))}function ow({cols:e,align:t,labels:n}){return(0,I.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,I.jsx)(iw,{align:t?.[n]??`l`,children:(0,I.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var sw=(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 cw({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,I.jsx)(`div`,{className:sw(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:aw(i,t)})}function lw({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,I.jsx)(xe,{href:e,className:X(sw(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:aw(s,n)})}function uw({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,I.jsxs)(`div`,{className:`grid content-center items-baseline gap-x-4 border-t border-rule px-4 py-2`,style:{gridTemplateColumns:`${n}px minmax(0, 1fr)`,minHeight:r},children:[(0,I.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,I.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function dw({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,I.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function fw({issues:e,className:t}){return(0,I.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,I.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,I.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,I.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function pw({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,I.jsxs)(tw,{className:n?`border-danger/40`:void 0,children:[(0,I.jsx)(nw,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:(0,I.jsx)(fw,{issues:e})})]})}var mw=[.2,.7,.2,1];function hw({open:e,side:t,width:n,children:r}){return(0,I.jsx)(ed,{initial:!1,children:e?(0,I.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:mw},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,I.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function gw({children:e,className:t,gap:n=20,wide:r=!1}){return(0,I.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 _w({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,I.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,I.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,I.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,I.jsx)(`div`,{className:`text-[13px] text-muted`,children:t}):null]}),n?(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function vw({items:e,label:t}){return(0,I.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>(0,I.jsxs)(xe,{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,I.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),e.hint?(0,I.jsx)(`span`,{className:`ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to))})}function yw({children:e}){return(0,I.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function bw({title:e,text:t,action:n}){return(0,I.jsxs)(tw,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,I.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,I.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,I.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function xw(e){return(0,I.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,I.jsx)(bw,{...e})})}function Sw({title:e=`Nothing here`,text:t}){let n=!!Jg().scope;return(0,I.jsx)(xw,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,I.jsx)(M_,{to:`/`,children:`All canvases`})})}var Cw=.1,ww=(e,t=Cw)=>Math.min(8,Math.max(t,e)),Tw=class{camera={x:0,y:0,z:1};minZoom=Cw;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:ww(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=ww(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:ww(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 Ew(e,t,n,r=72,i=1,a=Cw){let o=ww(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 Dw(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 Ow({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,I.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,I.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,I.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,I.jsx)(`span`,{className:`relative flex items-center gap-1.5`,children:e.label})]},e.value)})})}var kw=Object.defineProperty,Aw=(e,t)=>kw(e,`name`,{value:t,configurable:!0}),jw=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`}),Mw=v.forwardRef(Aw(function(e,t){return(0,I.jsx)(Wp.span,{...e,ref:t,style:{...jw,...e.style}})},`VisuallyHidden`)),Nw=Object.defineProperty,Pw=(e,t)=>Nw(e,`name`,{value:t,configurable:!0}),[Fw,Iw]=ap(`Tooltip`,[hb]),Lw=hb(),Rw=`TooltipProvider`,zw=700,Bw=`tooltip.open`,[Vw,Hw]=Fw(Rw),Uw=Pw(e=>{let{__scopeTooltip:t,delayDuration:n=zw,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,I.jsx)(Vw,{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`),Ww=`Tooltip`,[Gw,Kw]=Fw(Ww),qw=Pw(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Hw(Ww,e.__scopeTooltip),l=Lw(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:Pw(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Bw))):c.onClose(),a?.(e)},`onChange`),caller:Ww}),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,I.jsx)(Ob,{...l,children:(0,I.jsx)(Gw,{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`),Jw=`TooltipTrigger`,Yw=v.forwardRef(Pw(function(e,t){let{__scopeTooltip:n,...r}=e,i=Kw(Jw,n),a=Hw(Jw,n),o=Lw(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,I.jsx)(kb,{asChild:!0,...o,children:(0,I.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`)),Xw=`TooltipPortal`,[Zw,Qw]=Fw(Xw,{forceMount:void 0}),$w=Pw(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Kw(Xw,t);return(0,I.jsx)(Zw,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),eT=`TooltipContent`,tT=v.forwardRef(Pw(function(e,t){let n=Qw(eT,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Kw(eT,e.__scopeTooltip);return(0,I.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,I.jsx)(iT,{side:i,...a,ref:t}):(0,I.jsx)(nT,{side:i,...a,ref:t})})},`TooltipContent`)),nT=v.forwardRef(Pw(function(e,t){let n=Kw(eT,e.__scopeTooltip),r=Hw(eT,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=oT(r,aT(r,n.getBoundingClientRect())),a=sT(t.getBoundingClientRect()),o=lT([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=Pw(e=>p(e,u),`handleTriggerLeave`),t=Pw(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=Pw(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!cT(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,I.jsx)(iT,{...e,ref:a})},`TooltipContentHoverable`)),rT=jp(`TooltipContent`),iT=v.forwardRef(Pw(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Kw(eT,n),u=Lw(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener(Bw,d),()=>document.removeEventListener(Bw,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=Pw(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,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,I.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,I.jsx)(rT,{children:r}),i?(0,I.jsx)(Mw,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function aT(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`)}}Pw(aT,`getExitSideFromRect`);function oT(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}Pw(oT,`getPaddedExitPoints`);function sT(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}]}Pw(sT,`getPointsFromRect`);function cT(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}Pw(cT,`isPointInPolygon`);function lT(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)),uT(t)}Pw(lT,`getHull`);function uT(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)}Pw(uT,`getHullPresorted`);var dT=Uw,fT=qw,pT=Yw,mT=$w,hT=tT;function gT({children:e}){return(0,I.jsx)(dT,{delayDuration:250,children:e})}var _T=`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 vT({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,I.jsxs)(fT,{children:[(0,I.jsx)(pT,{asChild:!0,children:t}),(0,I.jsx)(mT,{children:(0,I.jsx)(hT,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(_T,i),children:e})})]})}var yT=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function bT(e,t,n){let{frameSandbox:r}=Jg(),{base:i}=fe();return t?t.kind===`url`?t.url:zC(r?`${i}${yT(e,t.id,t.theme??n)}`:RC(t.url,t.theme??n)):null}function xT({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=Qg(e),[,a]=N(),{frameSandbox:o}=Jg(),s=h_(),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`?RC(d.url,f):d.url:``,m=`/c/${encodeURIComponent(e)}`;return(0,v.useEffect)(()=>{d&&(document.title=`${d.title} · ${n?.title??``}`)},[d,n?.title]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&a(m)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,m]),(0,v.useEffect)(()=>{let t=c.current;if(t&&d?.kind===`screen`)return MC(t,t=>{if(t.type===`keydown`&&t.code===`Escape`)a(m);else if(t.type===`go`){let n=t.target.includes(`/`)?t.target.split(`/`)[1]:t.target;u.some(e=>e.id===n)&&a(yT(e,n,f),{replace:!0})}})},[p,d?.kind]),r?(0,I.jsx)(Sw,{title:`Canvas not found`,text:r.message}):i||!n?(0,I.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,I.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,I.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`&&FC(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,I.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,I.jsxs)(xe,{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,I.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,I.jsx)(__,{children:`esc`})]})})]}):(0,I.jsx)(Sw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function ST(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 CT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function wT({canvas:e,page:t,store:n,onPick:r}){let i=o_(n,e=>e.selected),a=o_(n,e=>e.frames);return(0,I.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,I.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,I.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,I.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,I.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,I.jsxs)(xe,{href:CT(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,I.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,I.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,I.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,I.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,I.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,I.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,I.jsx)(`span`,{className:`truncate`,children:e.title}),(0,I.jsx)(ew,{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,I.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,I.jsx)(Z,{name:ST(t),size:15,className:`text-muted`}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,I.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function TT({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=N(),{slots:d,scope:f}=Jg();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(JS,{children:[d.barStart,d.brand?d.brand:f?(0,I.jsx)(KS,{}):(0,I.jsx)(vT,{content:`All canvases`,children:(0,I.jsx)(xe,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,I.jsx)(KS,{})})}),(0,I.jsx)(j_,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,I.jsx)(`span`,{className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,I.jsxs)(zS,{width:240,trigger:(0,I.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,I.jsx)(`span`,{className:`truncate`,children:t.title}),(0,I.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,I.jsx)(US,{children:`Pages`}),e.pages.map(n=>(0,I.jsxs)(VS,{active:n.id===t.id,onSelect:()=>u(CT(e,n)),children:[(0,I.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsx)(Ow,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,I.jsx)(DT,{on:c,onChange:l}),(0,I.jsx)(O_,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,children:`Play`}),(0,I.jsx)(T_,{width:200,label:`Search`}),(0,I.jsx)(GS,{}),d.barEnd]})]}),d.belowBar]})}function ET({canvas:e,store:t,layoutItems:n,theme:r,onPlay:i,inspect:a}){let o=o_(t,e=>e.selected),s=o_(t,e=>e.active),c=o_(t,e=>o?e.frames[o]:void 0),l=n.find(e=>e.id===o),u=bT(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=()=>IC(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,I.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,I.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,I.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,I.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,I.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
58
|
-
`)})]}):null,(0,I.jsxs)(`div`,{className:`flex h-[44px] items-center gap-1 pr-1.5 pl-3.5`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-2`,children:[(0,I.jsx)(`span`,{className:`truncate text-[13.5px] font-medium`,children:l.title||l.id}),d&&s===l.id?(0,I.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[12px] text-muted`,children:[(0,I.jsx)(Z,{name:`pointer`,size:13}),` `,a?`Inspecting`:`Interacting`,` `,(0,I.jsx)(__,{children:`esc`})]}):d?(0,I.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,I.jsx)(vT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,I.jsx)(__,{children:`↵`})]}),children:(0,I.jsx)(j_,{icon:`play`,label:`Play`,onClick:()=>i(l.id)})}):null,u?(0,I.jsx)(vT,{content:`Open in a new tab`,children:(0,I.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,I.jsx)(Z,{name:`external`,size:16})})}):null,d?(0,I.jsx)(vT,{content:`Reload`,children:(0,I.jsx)(j_,{icon:`refresh`,label:`Reload`,onClick:f})}):null,l.kind===`screen`?(0,I.jsx)(vT,{content:`Copy source path`,children:(0,I.jsx)(j_,{icon:`copy`,label:`Copy source path`,onClick:()=>void AC(l.file,`Path copied`)})}):null,(0,I.jsx)(vT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Zoom to `,(0,I.jsx)(__,{children:`⇧2`})]}),children:(0,I.jsx)(j_,{icon:`fit`,label:`Zoom to`,onClick:()=>window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:l.id}}))})})]})]})})}function DT({on:e,onChange:t}){return(0,I.jsx)(vT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Inspect elements `,(0,I.jsx)(__,{children:`I`})]}),children:(0,I.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:()=>t(!e),className:e?`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-action-line bg-action-soft px-ctrl text-ctrl font-medium text-action`:`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-rule-strong bg-surface px-ctrl text-ctrl font-medium text-ink hover:bg-soft`,children:[(0,I.jsx)(Z,{name:`pointer`,size:15}),`Inspect`]})})}var OT=280,kT=96,AT=150,jT=110,MT=720,NT=e=>e.kind===`screen`||e.kind===`url`;function PT(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 FT(e,t){return!e.title&&!e.description?0:t[`section:${e.id}`]?.h??(e.title?56:0)+(e.description?60:0)}function IT(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}=PT(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=FT(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+AT,c=0,l=0,d=0);let{w:r,h:i}=PT(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?MT:0),h:f-o,header:e}),i=f+OT}}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 LT(e){return e.items.filter(e=>NT(e.item))}function RT(){return new a_({selected:null,active:null,hovered:null,sizes:{},frames:{},live:[],panning:!1,zoomTiny:!1,frameEls:{},inspecting:!1})}function zT(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 BT(e,t,n){e.set(e=>{let r=e.frames[t]??{ready:!1,errors:[]};return{...e,frames:{...e.frames,[t]:{...r,...n}}}})}function VT(e,t,n){e.set(e=>e.frameEls[t]===n?e:{...e,frameEls:{...e.frameEls,[t]:n}})}function HT(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var UT=HT();function WT(e){UT=e}var GT={exec:()=>null};function KT(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(JT.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var qT=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),JT={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:KT(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:KT(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:KT(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:KT(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:KT(e=>RegExp(`^ {0,${e}}(?:</?(?:${lE})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:KT(e=>RegExp(`^ {0,${e}}>`))},YT=/^(?:[ \t]*(?:\n|$))+/,XT=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ZT=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,QT=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$T=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,eE=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,tE=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,nE=$(tE).replace(/bull/g,eE).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(),rE=$(tE).replace(/bull/g,eE).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(),iE=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,aE=/^[^\n]+/,oE=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,sE=$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,oE).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),cE=$(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,eE).getRegex(),lE=`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`,uE=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,dE=$(`^ {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`,uE).replace(`tag`,lE).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),fE=e=>$(iE).replace(`hr`,QT).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`,lE).getRegex(),pE=fE(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),mE=fE(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),hE={blockquote:$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,mE).getRegex(),code:XT,def:sE,fences:ZT,heading:$T,hr:QT,html:dE,lheading:nE,list:cE,newline:YT,paragraph:pE,table:GT,text:aE},gE=$(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,QT).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`,lE).getRegex(),_E={...hE,lheading:rE,table:gE,paragraph:$(iE).replace(`hr`,QT).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,gE).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`,lE).getRegex()},vE={...hE,html:$(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,uE).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:GT,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:$(iE).replace(`hr`,QT).replace(`heading`,` *#{1,6} *[^
|
|
59
|
-
]`).replace(`lheading`,
|
|
60
|
-
`),n=t.length-1;for(;n>=0&&
|
|
61
|
-
`)}function
|
|
57
|
+
`},Kh=0,qh=[];function Jh(e){var t=v.useRef([]),n=v.useRef([0,0]),r=v.useRef(),i=v.useState(Kh++)[0],a=v.useState(gh)[0],o=v.useRef(e);v.useEffect(function(){o.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Km([e.lockRef.current],(e.shards||[]).map(Uh),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=v.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Vh(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ph(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ph(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Bh(h,t,e,h===`h`?s:c,!0)},[]),c=v.useCallback(function(e){var n=e;if(qh.length&&qh[qh.length-1]===a){var r=`deltaY`in n?Hh(n):Vh(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Wh(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Uh).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=v.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Yh(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=v.useCallback(function(e){n.current=Vh(e),r.current=void 0},[]),d=v.useCallback(function(t){l(t.type,Hh(t),t.target,s(t,e.lockRef.current))},[]),f=v.useCallback(function(t){l(t.type,Vh(t),t.target,s(t,e.lockRef.current))},[]);v.useEffect(function(){return qh.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,kh),document.addEventListener(`touchmove`,c,kh),document.addEventListener(`touchstart`,u,kh),function(){qh=qh.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,kh),document.removeEventListener(`touchmove`,c,kh),document.removeEventListener(`touchstart`,u,kh)}},[]);var p=e.removeScrollBar,m=e.inert;return v.createElement(v.Fragment,null,m?v.createElement(a,{styles:Gh(i)}):null,p?v.createElement(Eh,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Yh(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Xh=oh(sh,Jh),Zh=v.forwardRef(function(e,t){return v.createElement(lh,Wm({},e,{ref:t,sideCar:Xh}))});Zh.classNames=lh.classNames;var Qh=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$h=new WeakMap,eg=new WeakMap,tg={},ng=0,rg=function(e){return e&&(e.host||rg(e.parentNode))},ig=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=rg(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ag=function(e,t,n,r){var i=ig(t,Array.isArray(e)?e:[e]);tg[n]||(tg[n]=new WeakMap);var a=tg[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($h.get(e)||0)+1,l=(a.get(e)||0)+1;$h.set(e,c),a.set(e,l),o.push(e),c===1&&i&&eg.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),ng++,function(){o.forEach(function(e){var t=$h.get(e)-1,i=a.get(e)-1;$h.set(e,t),a.set(e,i),t||(eg.has(e)||e.removeAttribute(r),eg.delete(e)),i||e.removeAttribute(n)}),ng--,ng||($h=new WeakMap,$h=new WeakMap,eg=new WeakMap,tg={})}},og=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Qh(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ag(r,i,n,`aria-hidden`)):function(){return null}},sg=Object.defineProperty,cg=(e,t)=>sg(e,`name`,{value:t,configurable:!0}),lg=`Dialog`,[ug,dg]=ap(lg),[fg,pg]=ug(lg),mg=cg(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,u]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:lg}),[d,f]=v.useState(0),[p,m]=v.useState(0);return(0,I.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,I.jsx)(gg,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,I.jsx)(jm,{present:n||a.open,children:(0,I.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,I.jsx)(jm,{present:r||a.open,children:(0,I.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,I.jsx)(Zh,{as:xg,allowPinchZoom:!0,shards:[i.contentRef],children:(0,I.jsx)(Wp.div,{"data-state":Ag(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,I.jsx)(jm,{present:r||a.open,children:a.modal?(0,I.jsx)(Tg,{...i,ref:t}):(0,I.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,I.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,I.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,I.jsx)(I.Fragment,{children:(0,I.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,I.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":Ag(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,I.jsx)(Wp.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`));function Ag(e){return e?`open`:`closed`}cg(Ag,`getState`);var jg=window.__DESIGN_STATIC__===!0,Mg=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function Ng(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 Mg(n.status,e)}return await n.json()}async function Pg(e){try{return await e}catch(e){if(e instanceof Mg&&e.status===404)return null;throw e}}var Fg=``;function Ig(e){return Fg!==e.version&&(Fg=e.version,console.info(`foss-design ${e.version}${jg?` (static build)`:``}`)),e}var Lg={live:!0,project:()=>Ng(`/api/project`,`no-store`).then(Ig),canvas:async e=>({doc:await Ng(`/api/canvas/${encodeURIComponent(e)}`,`no-store`),base:``}),system:async()=>{let e=await Pg(Ng(`/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 Mg(t.status,`Could not read ${e}`);return t.text()}},Rg=null,zg={live:!1,project:()=>Ng(`api/project.json`,`default`).then(Ig),canvas:async e=>({doc:await Ng(`api/canvas/${encodeURIComponent(e)}.json`,`default`),base:``}),system:async()=>{let e=await Pg(Ng(`api/system.json`,`default`));return e?{doc:e,base:``}:null},async source(e){Rg??=Ng(`api/sources.json`,`default`).catch(()=>({}));let t=(await Rg)[e];if(t===void 0)throw new Mg(404,`${e} is not in this build`);return t}};function Bg(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 Vg(e,t){if(!t)return e;let n=e=>Bg(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 Hg(e,t){if(!t)return e;let n=e=>Bg(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 Ug(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 Wg=new WeakMap,Gg=0;function Kg(e){let t=Wg.get(e);return t||(Gg+=1,t=String(Gg),Wg.set(e,t)),t}var qg=(0,v.createContext)(null);function Jg(){let e=(0,v.useContext)(qg);if(!e)throw Error(`foss-design: this component renders inside <DesignViewer>`);return e}function Yg(e,t){if(e===t)return!0;try{return decodeURIComponent(e)===t}catch{return!1}}function Xg(e){return new Vt({defaultOptions:{queries:{staleTime:e?0:1/0,retry:1,refetchOnWindowFocus:!1}}})}function Zg(){let{source:e,keys:t,scope:n}=Jg();return $t({queryKey:t.project,queryFn:()=>e.project(),enabled:!n})}function Qg(e,t=!0){let{source:n,keys:r}=Jg();return $t({queryKey:r.canvas(e),queryFn:async()=>{let{doc:t,base:r}=await n.canvas(e);return Vg(t,r)},placeholderData:e=>e,enabled:t})}function $g(e=!0){let{source:t,keys:n}=Jg();return $t({queryKey:n.system,queryFn:async()=>{let e=await t.system();return e?Hg(e.doc,e.base):null},enabled:e})}function e_(e,t=`system`){let{source:n,keys:r}=Jg();return $t({queryKey:r.source(t,e??``),queryFn:()=>n.source(e,t),enabled:!!e})}function t_(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 n_=null;function r_(e,t){n_={canvas:e,item:t},window.dispatchEvent(new CustomEvent(`design:focus`,{detail:n_}))}function i_(e){if(!n_||n_.canvas!==e)return null;let t=n_.item;return n_=null,t}var a_=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 o_(e,t=e=>e){return(0,v.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var s_=`foss-design.theme`;function c_(){try{let e=localStorage.getItem(s_);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var l_=new a_(c_()),u_=window.matchMedia(`(prefers-color-scheme: dark)`);function d_(e){return e===`system`?u_.matches?`dark`:`light`:e}function f_(){document.documentElement.dataset.theme=d_(l_.get())}u_.addEventListener(`change`,f_),l_.subscribe(f_),f_();function p_(e){try{localStorage.setItem(s_,e)}catch{}l_.set(e)}function m_(){return o_(l_)}function h_(){let e=o_(l_),t=(0,v.useSyncExternalStore)(e=>(u_.addEventListener(`change`,e),()=>u_.removeEventListener(`change`,e)),()=>u_.matches);return e===`system`?t?`dark`:`light`:e}var g_={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,I.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:g_[e]}})}function Q({children:e,size:t=12.5,className:n,title:r,wrap:i}){return(0,I.jsx)(`span`,{title:r,className:X(i?`break-all`:`whitespace-nowrap`,`font-mono`,n),style:{fontSize:t},children:e})}function __({children:e}){return(0,I.jsx)(`kbd`,{className:`rounded-[4px] border border-rule bg-surface px-[5px] py-px font-mono text-[11px] text-ink2`,children:e})}function v_({top:e,bottom:t,weight:n=500}){return(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-px`,children:[(0,I.jsx)(`span`,{className:`truncate leading-[1.35]`,style:{fontWeight:n},children:e}),t?(0,I.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 y_={canvas:`This canvas`,canvases:`Canvases`,system:`Design system`,actions:`Actions`};function b_(e){let t=/^\/c\/([^/]+)/.exec(e);return t?decodeURIComponent(t[1]):null}function x_({onClose:e}){let[t,n]=N(),r=Jg().scope,i=Zg().data,a=r?.canvas??b_(t),o=Qg(a??``,!!a).data,s=$g(!!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)}`),r_(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(()=>p_(`light`))},{id:`dark`,group:`actions`,label:`Dark appearance`,icon:`moon`,searchOnly:!0,run:f(()=>p_(`dark`))},{id:`system-theme`,group:`actions`,label:`System appearance`,icon:`monitor`,searchOnly:!0,run:f(()=>p_(`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,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(kg,{className:`sr-only`,children:`Search and jump`}),(0,I.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-rule px-4`,children:[(0,I.jsx)(Z,{name:`search`,size:16,className:`text-muted`}),(0,I.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,I.jsx)(__,{children:`esc`})]}),(0,I.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,I.jsxs)(`div`,{role:`presentation`,children:[(0,I.jsx)(`div`,{className:`px-4 pt-2.5 pb-1 text-[12px] text-muted`,children:y_[e]}),t.map(e=>{b+=1;let t=b,n=t===y;return(0,I.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,I.jsx)(`span`,{className:`flex w-5 shrink-0 justify-center text-ink2`,children:(0,I.jsx)(Z,{name:e.icon,size:16})}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.label}),e.hint?(0,I.jsx)(`span`,{className:`flex shrink-0 items-center text-[12.5px] text-muted`,children:e.hint}):null]},e.id)})]},e)):(0,I.jsx)(`div`,{className:`px-6 py-10 text-center text-[13px] text-muted`,children:`Nothing matches.`})}),(0,I.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,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(__,{children:`↑`}),(0,I.jsx)(__,{children:`↓`}),`move`]}),(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(__,{children:`↵`}),`open`]})]})]})}function S_(){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,I.jsx)(mg,{open:e,onOpenChange:t,children:(0,I.jsx)(ed,{children:e?(0,I.jsx)(vg,{forceMount:!0,children:(0,I.jsx)(bg,{asChild:!0,forceMount:!0,children:(0,I.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,I.jsx)(wg,{asChild:!0,forceMount:!0,"aria-describedby":void 0,children:(0,I.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,I.jsx)(x_,{onClose:()=>t(!1)})})})})})}):null})})}var C_=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`;function w_(){window.dispatchEvent(new CustomEvent(`design:palette`))}function T_({width:e=240,label:t=`Search and jump`}){return(0,I.jsxs)(`button`,{type:`button`,onClick:w_,style:{width:e},className:`flex h-ctrl min-w-0 shrink cursor-pointer items-center gap-2 rounded-[6px] border border-rule bg-soft pr-1.5 pl-3 text-ctrl text-muted transition-colors hover:border-rule-strong max-lg:w-auto!`,children:[(0,I.jsx)(Z,{name:`search`,size:15}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate text-left max-lg:hidden`,children:t}),(0,I.jsx)(__,{children:C_===`⌘`?`⌘K`:`Ctrl K`})]})}var E_={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`},D_=(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`,E_[e],t),O_=(0,v.forwardRef)(function({kind:e=`secondary`,icon:t,loading:n,disabled:r,className:i,children:a,type:o=`button`,...s},c){return(0,I.jsxs)(`button`,{ref:c,type:o,disabled:r||n,"aria-busy":n||void 0,className:D_(e,i),...s,children:[n?(0,I.jsx)(Z,{name:`loader`,size:15,className:`animate-spin`}):t?(0,I.jsx)(Z,{name:t,size:15}):null,a]})}),k_={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`},A_=(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`,k_[e],t),j_=(0,v.forwardRef)(function({icon:e,label:t,kind:n=`ghost`,size:r=16,className:i,type:a=`button`,...o},s){return(0,I.jsx)(`button`,{ref:s,type:a,"aria-label":t,title:t,className:A_(n,i),...o,children:(0,I.jsx)(Z,{name:e,size:r})})});function M_({to:e,kind:t=`secondary`,icon:n,className:r,children:i}){return(0,I.jsxs)(xe,{href:e,className:D_(t,r),children:[n?(0,I.jsx)(Z,{name:n,size:15}):null,i]})}function N_({kind:e=`secondary`,icon:t,className:n,children:r,...i}){return(0,I.jsxs)(`a`,{className:D_(e,n),...i,children:[t?(0,I.jsx)(Z,{name:t,size:15}):null,r]})}var P_=Object.defineProperty,F_=(e,t)=>P_(e,`name`,{value:t,configurable:!0});function I_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=F_(e=>{let{scope:t,children:n}=e,r=v.useRef(null),a=v.useRef(new Map).current;return(0,I.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,I.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,I.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 F_(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}F_(I_,`createCollection`);var L_=new WeakMap,R_=class e extends Map{static{F_(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],L_.set(this,!0)}set(e,t){return L_.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=V_(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=z_(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=z_(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return z_(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 z_(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=B_(e,t);return n===-1?void 0:e[n]}F_(z_,`at`);function B_(e,t){let n=e.length,r=V_(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}F_(B_,`toSafeIndex`);function V_(e){return e!==e||e===0?0:Math.trunc(e)}F_(V_,`toSafeInteger`);function H_(e){let t=e+`CollectionProvider`,[n,r]=ap(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new R_,setItemMap:F_(()=>void 0,`setItemMap`)}),o=F_(({state:e,...t})=>e?(0,I.jsx)(c,{...t,state:e}):(0,I.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=F_(e=>{let t=h();return(0,I.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=F_(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=K_(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,I.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,I.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);U_(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(G_):(t.set(s,{...e,element:s}),t.toSorted(G_)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new R_(e)))}},[s,m,u]),(0,I.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return v.useState(new R_)}F_(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return F_(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}F_(H_,`createCollection`);function U_(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}F_(U_,`shallowEqual`);function W_(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}F_(W_,`isElementPreceding`);function G_(e,t){return!e[1].element||!t[1].element?0:W_(e[1].element,t[1].element)?-1:1}F_(G_,`sortByDocumentPosition`);function K_(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}F_(K_,`getChildListObserver`);var q_=Object.defineProperty,J_=(e,t)=>q_(e,`name`,{value:t,configurable:!0}),Y_=v.createContext(void 0);function X_(e){let t=v.useContext(Y_);return e||t||`ltr`}J_(X_,`useDirection`);var Z_=[`top`,`right`,`bottom`,`left`],Q_=Math.min,$_=Math.max,ev=Math.round,tv=Math.floor,nv=e=>({x:e,y:e}),rv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function iv(e,t,n){return $_(e,Q_(t,n))}function av(e,t){return typeof e==`function`?e(t):e}function ov(e){return e.split(`-`)[0]}function sv(e){return e.split(`-`)[1]}function cv(e){return e===`x`?`y`:`x`}function lv(e){return e===`y`?`height`:`width`}function uv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function dv(e){return cv(uv(e))}function fv(e,t,n){n===void 0&&(n=!1);let r=sv(e),i=dv(e),a=lv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=xv(o)),[o,xv(o)]}function pv(e){let t=xv(e);return[mv(e),t,mv(t)]}function mv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var hv=[`left`,`right`],gv=[`right`,`left`],_v=[`top`,`bottom`],vv=[`bottom`,`top`];function yv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?gv:hv:t?hv:gv;case`left`:case`right`:return t?_v:vv;default:return[]}}function bv(e,t,n,r){let i=sv(e),a=yv(ov(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(mv)))),a}function xv(e){let t=ov(e);return rv[t]+e.slice(t.length)}function Sv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Cv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Sv(e)}function wv(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 Tv(e,t,n){let{reference:r,floating:i}=e,a=uv(t),o=dv(t),s=lv(o),c=ov(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=sv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ev(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}=av(t,e),p=Cv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=wv(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=wv(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 Dv=50,Ov=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ev},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Tv(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<Dv&&(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}=Tv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},kv=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}=av(e,t)||{};if(l==null)return{};let d=Cv(u),f={x:n,y:r},p=dv(i),m=lv(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=Q_(d[_],T),D=Q_(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=iv(E,k,O),j=!c.arrow&&sv(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}=av(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ov(r),_=uv(o),v=ov(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[xv(o)]:pv(o)),x=p!==`none`;!d&&x&&b.push(...bv(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=fv(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`||_===uv(t)||T.every(e=>uv(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=uv(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 jv(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Mv(e){return Z_.some(t=>e[t]>=0)}var Nv=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=av(e,t);switch(i){case`referenceHidden`:{let e=jv(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Mv(e)}}}case`escaped`:{let e=jv(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Mv(e)}}}default:return{}}}}},Pv=new Set([`left`,`top`]);async function Fv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ov(n),s=sv(n),c=uv(n)===`y`,l=Pv.has(o)?-1:1,u=a&&c?-1:1,d=av(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 Iv=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 Fv(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}}}}},Lv=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}=av(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=uv(i),p=cv(f),m=u[p],h=u[f],g=(e,t)=>iv(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}}}}}},Rv=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}=av(e,t),u={x:n,y:r},d=uv(i),f=cv(d),p=u[f],m=u[d],h=av(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=Pv.has(ov(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}}}},zv=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}=av(e,t),c=await i.detectOverflow(t,s),l=ov(n),u=sv(n),d=uv(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=Q_(p-c[m],g),y=Q_(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*$_(c.left,c.right):S=p-2*$_(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 Bv(){return typeof window<`u`}function Vv(e){return Wv(e)?(e.nodeName||``).toLowerCase():`#document`}function Hv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Uv(e){return((Wv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Wv(e){return Bv()?e instanceof Node||e instanceof Hv(e).Node:!1}function Gv(e){return Bv()?e instanceof Element||e instanceof Hv(e).Element:!1}function Kv(e){return Bv()?e instanceof HTMLElement||e instanceof Hv(e).HTMLElement:!1}function qv(e){return!Bv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Hv(e).ShadowRoot}function Jv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ay(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Yv(e){return/^(table|td|th)$/.test(Vv(e))}function Xv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Zv=/transform|translate|scale|rotate|perspective|filter/,Qv=/paint|layout|strict|content/,$v=e=>!!e&&e!==`none`,ey;function ty(e){let t=Gv(e)?ay(e):e;return $v(t.transform)||$v(t.translate)||$v(t.scale)||$v(t.rotate)||$v(t.perspective)||!ry()&&($v(t.backdropFilter)||$v(t.filter))||Zv.test(t.willChange||``)||Qv.test(t.contain||``)}function ny(e){let t=sy(e);for(;Kv(t)&&!iy(t);){if(ty(t))return t;if(Xv(t))return null;t=sy(t)}return null}function ry(){return ey??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ey}function iy(e){return/^(html|body|#document)$/.test(Vv(e))}function ay(e){return Hv(e).getComputedStyle(e)}function oy(e){return Gv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sy(e){if(Vv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||qv(e)&&e.host||Uv(e);return qv(t)?t.host:t}function cy(e){let t=sy(e);return iy(t)?(e.ownerDocument||e).body:Kv(t)&&Jv(t)?t:cy(t)}function ly(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=cy(e),i=r===e.ownerDocument?.body,a=Hv(r);if(i){let e=uy(a);return t.concat(a,a.visualViewport||[],Jv(r)?r:[],e&&n?ly(e):[])}return t.concat(r,ly(r,[],n))}function uy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function dy(e){let t=ay(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Kv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ev(n)!==a||ev(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function fy(e){return Gv(e)?e:e.contextElement}function py(e){let t=fy(e);if(!Kv(t))return nv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=dy(t),o=(a?ev(n.width):n.width)/r,s=(a?ev(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var my=nv(0);function hy(e){let t=Hv(e);return!ry()||!t.visualViewport?my:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function gy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Hv(e)}function _y(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=fy(e),o=nv(1);t&&(r?Gv(r)&&(o=py(r)):o=py(e));let s=gy(a,n,r)?hy(a):nv(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=Hv(a),t=Gv(r)?Hv(r):r,n=e,i=uy(n);for(;i&&t!==n;){let e=py(i),t=i.getBoundingClientRect(),r=ay(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=Hv(i),i=uy(n)}}return wv({width:u,height:d,x:c,y:l})}function vy(e,t){let n=oy(e).scrollLeft;return t?t.left+n:_y(Uv(e)).left+n}function yy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-vy(e,n),y:n.top+t.scrollTop}}function by(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Uv(r),s=t?Xv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=nv(1),u=nv(0),d=Kv(r);if((d||!a)&&((Vv(r)!==`body`||Jv(o))&&(c=oy(r)),d)){let e=_y(r);l=py(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?yy(o,c):nv(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 xy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Sy(e){let t=oy(e),n=e.ownerDocument.body,r=$_(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=$_(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+vy(e),o=-t.scrollTop;return ay(n).direction===`rtl`&&(a+=$_(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Cy=25;function wy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Hv(e),a=Uv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ry()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(vy(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<=Cy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ty(e,t){let n=_y(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=py(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ey(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=wy(e,n,t);else if(t===`document`)r=Sy(Uv(e));else if(Gv(t))r=Ty(t,n);else{let n=hy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wv(r)}function Dy(e,t){let n=t.get(e);if(n)return n;let r=ly(e,[],!1).filter(e=>Gv(e)&&Vv(e)!==`body`),i=null,a=ay(e).position===`fixed`,o=a?sy(e):e;for(;Gv(o)&&!iy(o);){let e=ay(o),t=ty(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=sy(o)}return t.set(e,r),r}function Oy(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Xv(t)?[]:Dy(t,this._c):[].concat(n),r],o=Ey(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=Ey(t,a[e],i);s=$_(n.top,s),c=Q_(n.right,c),l=Q_(n.bottom,l),u=$_(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function ky(e){let{width:t,height:n}=dy(e);return{width:t,height:n}}function Ay(e,t,n){let r=Kv(t),i=Uv(t),a=n===`fixed`,o=_y(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=nv(0);if((r||!a)&&((Vv(t)!==`body`||Jv(i))&&(s=oy(t)),r)){let e=_y(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=vy(i));let l=i&&!r&&!a?yy(i,s):nv(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 jy(e){return ay(e).position===`static`}function My(e,t){if(!Kv(e)||ay(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Uv(e)===n&&(n=n.ownerDocument.body),n}function Ny(e,t){let n=Hv(e);if(Xv(e))return n;if(!Kv(e)){let t=sy(e);for(;t&&!iy(t);){if(Gv(t)&&!jy(t))return t;t=sy(t)}return n}let r=My(e,t);for(;r&&Yv(r)&&jy(r);)r=My(r,t);return r&&iy(r)&&jy(r)&&!ty(r)?n:r||ny(e)||n}var Py=async function(e){let t=this.getOffsetParent||Ny,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 Fy(e){return ay(e).direction===`rtl`}var Iy={convertOffsetParentRelativeRectToViewportRelativeRect:by,getDocumentElement:Uv,getClippingRect:Oy,getOffsetParent:Ny,getElementRects:Py,getClientRects:xy,getDimensions:ky,getScale:py,isElement:Gv,isRTL:Fy};function Ly(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ry(e,t,n){let r=null,i,a=Uv(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=tv(d),h=tv(a.clientWidth-(u+f)),g=tv(a.clientHeight-(d+p)),_=tv(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:$_(0,Q_(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!Ly(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=Hv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function zy(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=fy(e),u=i||a?[...l?ly(l):[],...t?ly(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ry(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?_y(e):null;c&&g();function g(){let t=_y(e);h&&!Ly(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 By=Iv,Vy=Lv,Hy=Av,Uy=zv,Wy=Nv,Gy=kv,Ky=Rv,qy=(e,t,n)=>{let r=new Map,i=n??{},a={...Iy,...i.platform,_c:r};return Ov(e,t,{...i,platform:a})},Jy=typeof document<`u`?v.useLayoutEffect:function(){};function Yy(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(!Yy(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)&&!Yy(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Xy(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Zy(e,t){let n=Xy(e);return Math.round(t*n)/n}function Qy(e){let t=v.useRef(e);return Jy(()=>{t.current=e}),t}function $y(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);Yy(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=Qy(c),O=Qy(i),k=Qy(l),A=v.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),qy(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!Yy(T.current,t)&&(T.current=t,Ep.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Jy(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=v.useRef(!1);Jy(()=>(j.current=!0,()=>{j.current=!1}),[]),Jy(()=>{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=Zy(te.floating,u.x),r=Zy(te.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Xy(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 eb=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?{}:Gy({element:r.current,padding:i}).fn(n):r?Gy({element:r,padding:i}).fn(n):{}}}},tb=(e,t)=>{let n=By(e);return{name:n.name,fn:n.fn,options:[e,t]}},nb=(e,t)=>{let n=Vy(e);return{name:n.name,fn:n.fn,options:[e,t]}},rb=(e,t)=>({fn:Ky(e).fn,options:[e,t]}),ib=(e,t)=>{let n=Hy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ab=(e,t)=>{let n=Uy(e);return{name:n.name,fn:n.fn,options:[e,t]}},ob=(e,t)=>{let n=Wy(e);return{name:n.name,fn:n.fn,options:[e,t]}},sb=(e,t)=>{let n=eb(e);return{name:n.name,fn:n.fn,options:[e,t]}},cb=Object.defineProperty,lb=(e,t)=>cb(e,`name`,{value:t,configurable:!0});function ub(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}lb(ub,`useSize`);var db=Object.defineProperty,fb=(e,t)=>db(e,`name`,{value:t,configurable:!0}),pb=`Popper`,[mb,hb]=ap(pb),[gb,_b]=mb(pb),vb=fb(e=>{let{__scopePopper:t,children:n}=e,[r,i]=v.useState(null),[a,o]=v.useState(void 0);return(0,I.jsx)(gb,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),yb=`PopperAnchor`,bb=v.forwardRef(fb(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=_b(yb,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&&Db(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,I.jsx)(Wp.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),xb=`PopperContent`,[Sb,Cb]=mb(xb),wb=v.forwardRef(fb(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=_b(xb,n),[_,y]=v.useState(null),b=tp(t,y),[x,S]=v.useState(null),C=ub(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(Tb),altBoundary:k},{refs:j,floatingStyles:ee,placement:te,isPositioned:ne,middlewareData:re}=$y({strategy:`fixed`,placement:E,whileElementsMounted:fb((...e)=>zy(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[tb({mainAxis:i+T,alignmentAxis:o}),c&&nb({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?rb():void 0,...A}),c&&ib({...A}),ab({...A,apply:fb(({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&&sb({element:x,padding:s}),Eb({arrowWidth:w,arrowHeight:T}),f&&ob({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),ie=g.setPlacementState;sp(()=>(ie(te),()=>{ie(void 0)}),[te,ie]);let[ae,M]=Db(te),oe=Jp(m);sp(()=>{ne&&oe?.()},[ne,oe]);let se=re.arrow?.x,ce=re.arrow?.y,le=re.arrow?.centerOffset!==0,[ue,de]=v.useState();return sp(()=>{_&&de(window.getComputedStyle(_).zIndex)},[_]),(0,I.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...ee,transform:ne?ee.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ue,"--radix-popper-transform-origin":[re.transformOrigin?.x,re.transformOrigin?.y].join(` `),...re.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,I.jsx)(Sb,{scope:n,placedSide:ae,placedAlign:M,onArrowChange:S,arrowX:se,arrowY:ce,shouldHideArrow:le,children:(0,I.jsx)(Wp.div,{"data-side":ae,"data-align":M,...h,ref:b,style:{...h.style,animation:ne?h.style?.animation:`none`}})})})},`PopperContent`));function Tb(e){return e!==null}fb(Tb,`isNotNull`);var Eb=fb(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]=Db(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 Db(e){let[t,n=`center`]=e.split(`-`);return[t,n]}fb(Db,`getSideAndAlignFromPlacement`);var Ob=vb,kb=bb,Ab=wb,jb=Object.defineProperty,Mb=(e,t)=>jb(e,`name`,{value:t,configurable:!0}),Nb=!1;function Pb(){let[e,t]=v.useState(Nb);return v.useEffect(()=>{Nb||(Nb=!0,t(!0))},[]),e}Mb(Pb,`useIsHydrated`);var Fb=v.useSyncExternalStore;function Ib(){return()=>{}}Mb(Ib,`subscribe`);function Lb(){return Fb(Ib,()=>!0,()=>!1)}Mb(Lb,`useIsHydratedModern`);var Rb=typeof Fb==`function`?Lb:Pb,zb=Object.defineProperty,Bb=(e,t)=>zb(e,`name`,{value:t,configurable:!0}),Vb=`rovingFocusGroup.onEntryFocus`,Hb={bubbles:!1,cancelable:!0},Ub=`RovingFocusGroup`,[Wb,Gb,Kb]=I_(Ub),[qb,Jb]=ap(Ub,[Kb]),[Yb,Xb]=qb(Ub),Zb=v.forwardRef(Bb(function(e,t){return(0,I.jsx)(Wb.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Wb.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Qb,{...e,ref:t})})})},`RovingFocusGroup`)),Qb=v.forwardRef(Bb(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=X_(a),[h,g]=xp({prop:o,defaultProp:s??null,onChange:c,caller:Ub}),[_,y]=v.useState(!1),b=Jp(l),x=Gb(n),S=v.useRef(!1),[C,w]=v.useState(0);return v.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Vb,b),()=>e.removeEventListener(Vb,b)},[b]),(0,I.jsx)(Yb,{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,I.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(Vb,Hb);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ix([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`)),$b=`RovingFocusGroupItem`,ex=v.forwardRef(Bb(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fp(),l=a||c,u=Xb($b,n),d=u.currentTabStopId===l,f=Gb(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Rb();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,I.jsx)(Wb.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,I.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=rx(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?ax(n,r+1):n.slice(r+1)}setTimeout(()=>ix(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),tx={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function nx(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Bb(nx,`getDirectionAwareKey`);function rx(e,t,n){let r=nx(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return tx[r]}Bb(rx,`getFocusIntent`);function ix(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Bb(ix,`focusFirst`);function ax(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Bb(ax,`wrapArray`);var ox=Zb,sx=ex,cx=Object.defineProperty,lx=(e,t)=>cx(e,`name`,{value:t,configurable:!0}),ux=[`Enter`,` `],dx=[`ArrowDown`,`PageUp`,`Home`],fx=[`ArrowUp`,`PageDown`,`End`],px=[...dx,...fx];[...ux],[...ux];var mx=`Menu`,[hx,gx,_x]=I_(mx),[vx,yx]=ap(mx,[_x,hb,Jb]),bx=hb(),xx=Jb(),[Sx,Cx]=vx(mx),[wx,Tx]=vx(mx),Ex=lx(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=bx(t),[c,l]=v.useState(null),u=v.useRef(!1),d=Jp(a),f=X_(i);return v.useEffect(()=>{let e=lx(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=lx(()=>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=lx(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,I.jsx)(Ob,{...s,children:(0,I.jsx)(Sx,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,I.jsx)(wx,{scope:t,onClose:v.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),Dx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e,i=bx(n);return(0,I.jsx)(kb,{...i,...r,ref:t})},`MenuAnchor`)),Ox=`MenuPortal`,[kx,Ax]=vx(Ox,{forceMount:void 0}),jx=lx(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Cx(Ox,t);return(0,I.jsx)(kx,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Mx=`MenuContent`,[Nx,Px]=vx(Mx),Fx=v.forwardRef(lx(function(e,t){let n=Ax(Mx,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Cx(Mx,e.__scopeMenu),o=Tx(Mx,e.__scopeMenu);return(0,I.jsx)(hx.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(jm,{present:r||a.open,children:(0,I.jsx)(hx.Slot,{scope:e.__scopeMenu,children:o.modal?(0,I.jsx)(Ix,{...i,ref:t}):(0,I.jsx)(Lx,{...i,ref:t})})})})},`MenuContent`)),Ix=v.forwardRef(lx(function(e,t){let n=Cx(Mx,e.__scopeMenu),r=v.useRef(null),i=tp(t,r);return v.useEffect(()=>{let e=r.current;if(e)return og(e)},[]),(0,I.jsx)(zx,{...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`)),Lx=v.forwardRef(lx(function(e,t){let n=Cx(Mx,e.__scopeMenu);return(0,I.jsx)(zx,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Rx=kp(`MenuContent.ScrollLock`),zx=v.forwardRef(lx(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=Cx(Mx,n),_=Tx(Mx,n),y=bx(n),b=xx(n),x=gx(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:Rx,allowPinchZoom:!0}:void 0,ne=lx(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=rS(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;lx((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 re=v.useCallback(e=>A.current===k.current?.side&&aS(e,k.current?.area),[]);return(0,I.jsx)(Nx,{scope:n,searchRef:D,onItemEnter:v.useCallback(e=>{re(e)&&e.preventDefault()},[re]),onItemLeave:v.useCallback(e=>{re(e)||(w.current?.focus(),C(null))},[re]),onTriggerLeave:v.useCallback(e=>{re(e)&&e.preventDefault()},[re]),pointerGraceTimerRef:O,onPointerGraceIntentChange:v.useCallback(e=>{k.current=e},[]),children:(0,I.jsx)(ee,{...te,children:(0,I.jsx)(mm,{asChild:!0,trapped:i,onMountAutoFocus:Y(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,I.jsx)(ox,{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,I.jsx)(Ab,{role:`menu`,"aria-orientation":`vertical`,"data-state":Qx(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||!px.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);fx.includes(e.key)&&a.reverse(),tS(a)}),onBlur:Y(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:Y(e.onPointerMove,oS(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`)),Bx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,I.jsx)(Wp.div,{...r,ref:t})},`MenuLabel`)),Vx=`MenuItem`,Hx=`menu.itemSelect`,Ux=v.forwardRef(lx(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=v.useRef(null),o=Tx(Vx,e.__scopeMenu),s=Px(Vx,e.__scopeMenu),c=tp(t,a),l=v.useRef(!1),u=lx(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Hx,{bubbles:!0,cancelable:!0});e.addEventListener(Hx,e=>r?.(e),{once:!0}),Gp(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,I.jsx)(Wx,{...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!==` `)&&ux.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Wx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Px(Vx,n),s=xx(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,I.jsx)(hx.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,I.jsx)(sx,{asChild:!0,...s,focusable:!r,children:(0,I.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,oS(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Y(e.onPointerLeave,oS(e=>o.onItemLeave(e))),onFocus:Y(e.onFocus,()=>d(!0)),onBlur:Y(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Gx,Kx]=vx(`MenuRadioGroup`,{value:void 0,onValueChange:lx(()=>{},`onValueChange`)}),[qx,Jx]=vx(`MenuItemIndicator`,{checked:!1}),Yx=v.forwardRef(lx(function(e,t){let{__scopeMenu:n,...r}=e;return(0,I.jsx)(Wp.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Xx,Zx]=vx(`MenuSub`);function Qx(e){return e?`open`:`closed`}lx(Qx,`getOpenState`);function $x(e){return e===`indeterminate`}lx($x,`isIndeterminate`);function eS(e){return $x(e)?`indeterminate`:e?`checked`:`unchecked`}lx(eS,`getCheckedState`);function tS(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}lx(tS,`focusFirst`);function nS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}lx(nS,`wrapArray`);function rS(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=nS(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}lx(rS,`getNextMatch`);function iS(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}lx(iS,`isPointInPolygon`);function aS(e,t){return t?iS({x:e.clientX,y:e.clientY},t):!1}lx(aS,`isPointerInGraceArea`);function oS(e){return t=>t.pointerType===`mouse`?e(t):void 0}lx(oS,`whenMouse`);var sS=Ex,cS=Dx,lS=jx,uS=Fx,dS=Bx,fS=Ux,pS=Yx,mS=Object.defineProperty,hS=(e,t)=>mS(e,`name`,{value:t,configurable:!0}),gS=`DropdownMenu`,[_S,vS]=ap(gS,[yx]),yS=yx(),[bS,xS]=_S(gS),SS=hS(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=yS(t),l=v.useRef(null),[u,d]=xp({prop:i,defaultProp:a??!1,onChange:o,caller:gS});return(0,I.jsx)(bS,{scope:t,triggerId:fp(),triggerRef:l,contentId:fp(),open:u,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,I.jsx)(sS,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),CS=`DropdownMenuTrigger`,wS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=xS(CS,n),o=yS(n),s=tp(t,a.triggerRef);return(0,I.jsx)(cS,{asChild:!0,...o,children:(0,I.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`)),TS=hS(e=>{let{__scopeDropdownMenu:t,...n}=e,r=yS(t);return(0,I.jsx)(lS,{...r,...n})},`DropdownMenuPortal`),ES=`DropdownMenuContent`,DS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=xS(ES,n),a=yS(n),o=v.useRef(!1);return(0,I.jsx)(uS,{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`)),OS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(dS,{...i,...r,ref:t})},`DropdownMenuLabel`)),kS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(fS,{...i,...r,ref:t})},`DropdownMenuItem`)),AS=v.forwardRef(hS(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=yS(n);return(0,I.jsx)(pS,{...i,...r,ref:t})},`DropdownMenuSeparator`)),jS=SS,MS=wS,NS=TS,PS=DS,FS=OS,IS=kS,LS=AS,RS=`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 zS({trigger:e,children:t,width:n=220,align:r=`start`,side:i=`bottom`,sideOffset:a=6,open:o,onOpenChange:s}){return(0,I.jsxs)(jS,{open:o,onOpenChange:s,modal:!1,children:[(0,I.jsx)(MS,{asChild:!0,children:e}),(0,I.jsx)(NS,{children:(0,I.jsx)(PS,{align:r,side:i,sideOffset:a,collisionPadding:12,className:RS,style:{width:n},children:t})})]})}var BS=(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 VS({children:e,onSelect:t,danger:n,active:r,disabled:i,hint:a,className:o}){return(0,I.jsxs)(IS,{disabled:i,onSelect:t,className:X(BS(n,r),o),children:[e,a?(0,I.jsx)(`span`,{className:`ml-auto pl-3 text-[12px] text-muted`,children:a}):null]})}function HS(){return(0,I.jsx)(LS,{className:`my-1 h-px bg-rule`})}function US({children:e}){return(0,I.jsx)(FS,{className:`px-3 pt-1.5 pb-1 text-[12px] text-muted`,children:e})}var WS=[{value:`system`,label:`System`,icon:`monitor`},{value:`light`,label:`Light`,icon:`sun`},{value:`dark`,label:`Dark`,icon:`moon`}];function GS(){let e=m_(),t=h_();return(0,I.jsxs)(zS,{align:`end`,width:180,trigger:(0,I.jsx)(j_,{icon:t===`dark`?`moon`:`sun`,label:`Appearance`}),children:[(0,I.jsx)(US,{children:`Appearance`}),WS.map(t=>(0,I.jsxs)(VS,{active:e===t.value,onSelect:()=>p_(t.value),children:[(0,I.jsx)(Z,{name:t.icon,size:15,className:`text-ink2`}),t.label,e===t.value?(0,I.jsx)(Z,{name:`check`,size:15,className:`ml-auto text-ink2`}):null]},t.value))]})}function KS({size:e=24}){return(0,I.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 32 32`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,I.jsx)(`rect`,{width:`32`,height:`32`,rx:`7`,className:`fill-primary`}),(0,I.jsx)(`rect`,{x:`7`,y:`7`,width:`8`,height:`11`,rx:`1.5`,className:`fill-primary-ink`}),(0,I.jsx)(`rect`,{x:`17`,y:`7`,width:`8`,height:`6`,rx:`1.5`,fill:`#f0a040`}),(0,I.jsx)(`rect`,{x:`17`,y:`15`,width:`8`,height:`10`,rx:`1.5`,className:`fill-primary-ink`}),(0,I.jsx)(`rect`,{x:`7`,y:`20`,width:`8`,height:`5`,rx:`1.5`,className:`fill-primary-ink`})]})}function qS({name:e,version:t}){return(0,I.jsxs)(xe,{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,I.jsx)(KS,{}),(0,I.jsx)(`span`,{className:`truncate`,children:e??`Design`})]})}function JS({children:e,className:t}){return(0,I.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 YS=[{to:`/`,label:`Canvases`,match:e=>e===`/`||e.startsWith(`/c/`)},{to:`/system`,label:`Design system`,match:e=>e.startsWith(`/system`)}];function XS({location:e}){let t=(0,v.useRef)(null),n=YS.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,I.jsxs)(`nav`,{ref:t,className:`relative flex h-[52px] items-stretch gap-0.5 max-md:hidden`,children:[YS.map((e,t)=>(0,I.jsx)(xe,{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,I.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 ZS(){let e=Zg().data,{slots:t}=Jg(),[n]=N();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(JS,{children:[t.barStart,(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-6`,children:[t.brand??(0,I.jsx)(qS,{name:e?.name,version:e?.version}),(0,I.jsx)(XS,{location:n})]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsx)(T_,{}),(0,I.jsx)(GS,{}),t.barEnd]})]}),t.belowBar]})}var QS=Object.defineProperty,$S=(e,t)=>QS(e,`name`,{value:t,configurable:!0}),eC=`Popover`,[tC,nC]=ap(eC,[hb]),rC=hb(),[iC,aC]=tC(eC),oC=$S(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=rC(t),c=v.useRef(null),[l,u]=v.useState(!1),[d,f]=xp({prop:r,defaultProp:i??!1,onChange:a,caller:eC});return(0,I.jsx)(Ob,{...s,children:(0,I.jsx)(iC,{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`),sC=`PopoverTrigger`,cC=v.forwardRef($S(function(e,t){let{__scopePopover:n,...r}=e,i=aC(sC,n),a=rC(n),o=tp(t,i.triggerRef),s=(0,I.jsx)(Wp.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":yC(i.open),...r,ref:o,onClick:Y(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,I.jsx)(kb,{asChild:!0,...a,children:s})},`PopoverTrigger`)),lC=`PopoverPortal`,[uC,dC]=tC(lC,{forceMount:void 0}),fC=$S(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=aC(lC,t);return(0,I.jsx)(uC,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),pC=`PopoverContent`,mC=v.forwardRef($S(function(e,t){let n=dC(pC,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=aC(pC,e.__scopePopover);return(0,I.jsx)(jm,{present:r||a.open,children:a.modal?(0,I.jsx)(gC,{...i,ref:t}):(0,I.jsx)(_C,{...i,ref:t})})},`PopoverContent`)),hC=kp(`PopoverContent.RemoveScroll`),gC=v.forwardRef($S(function(e,t){let n=aC(pC,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,I.jsx)(Zh,{as:hC,allowPinchZoom:!0,children:(0,I.jsx)(vC,{...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`)),_C=v.forwardRef($S(function(e,t){let n=aC(pC,e.__scopePopover),r=v.useRef(!1),i=v.useRef(!1);return(0,I.jsx)(vC,{...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`)),vC=v.forwardRef($S(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=aC(pC,n),p=rC(n);return Hm(),(0,I.jsx)(mm,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,I.jsx)(Ab,{"data-state":yC(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 yC(e){return e?`open`:`closed`}$S(yC,`getState`);var bC=oC,xC=cC,SC=fC,CC=mC,wC=new a_([]),TC=1;function EC(e,t,n=`ok`){let r=TC++;wC.set(i=>[...i.slice(-2),{id:r,title:e,text:t,tone:n}]),setTimeout(()=>wC.set(e=>e.filter(e=>e.id!==r)),n===`error`?4200:2200)}var DC=new a_([]),OC=1;function kC(){let[e]=(0,v.useState)(()=>OC++);(0,v.useEffect)(()=>(DC.set(t=>[...t,e]),()=>DC.set(t=>t.filter(t=>t!==e))),[e]);let t=o_(DC,t=>t[0]===e),n=o_(wC);return t?(0,I.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,I.jsx)(ed,{mode:`popLayout`,children:n.map(e=>(0,I.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,I.jsx)(Z,{name:`alert`,size:15,className:`text-danger-text`}):e.tone===`info`?(0,I.jsx)(Z,{name:`info`,size:15,className:`text-muted`}):(0,I.jsx)(Z,{name:`check`,size:15,className:`text-ok-text`}),(0,I.jsx)(`span`,{className:`shrink-0 font-medium whitespace-nowrap`,children:e.title}),e.text?(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px] text-muted`,children:e.text}):null]},e.id))})}):null}async function AC(e,t=`Copied`){try{await navigator.clipboard.writeText(e),EC(t,e.length>64?void 0:e)}catch{EC(`Could not copy`,`The browser blocked clipboard access`,`error`)}}var jC=new Map;window.addEventListener(`message`,e=>{let t=e.data;if(t?.source===`design-runtime`&&e.source)for(let n of jC.get(e.source)??[])n(t)});function MC(e,t){let n=null,r=()=>{if(!n)return;let e=jC.get(n);e?.delete(t),e?.size||jC.delete(n),n=null},i=()=>{if(r(),n=e.contentWindow,!n)return;let i=jC.get(n)??new Set;i.add(t),jC.set(n,i)};return i(),e.addEventListener(`load`,i),()=>{e.removeEventListener(`load`,i),r()}}function NC(e,t){e?.contentWindow?.postMessage({source:`design-viewer`,...t},`*`)}function PC(e){NC(e,{type:`canvas`})}function FC(e,t){NC(e,{type:`theme`,theme:t})}function IC(e){e&&(e.src=e.src)}var LC=(()=>{if(jg)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 RC(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(`/`)?LC:``}${r}?${a.toString()}`}function zC(e){return new URL(e,document.baseURI).toString()}function BC(e,t,n){if(e.form){EC(`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:EC(`Link to another site`,e.href,`info`);return}let r=e.path.split(/[?#]/)[0].replace(/\/+$/,``),i=r.slice(r.lastIndexOf(`/`)+1).replace(/\.html?$/,``);try{i=decodeURIComponent(i)}catch{}let a=new Set(t.pages.flatMap(e=>e.sections.flatMap(e=>e.items.filter(e=>e.kind===`screen`||e.kind===`url`).map(e=>e.id))));i&&a.has(i)?n(i):EC(`Not a screen on this canvas`,e.path,`info`)}function VC(e,t,n){let r=Zg().data,i=$g(!!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}),NC(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=>MC(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&&NC(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)NC(e,{type:`inspect-select`,ref:null});o(null)}else a&&NC(a.frame,{type:`inspect-select`,ref:e})}}}function HC(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=>MC(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 UC({title:e,children:t,right:n}){return(0,I.jsxs)(`section`,{className:`border-t border-rule pb-2 first:border-t-0`,children:[(0,I.jsxs)(`div`,{className:`flex h-9 items-center justify-between px-4 text-[12px] font-medium text-muted`,children:[e,n]}),t]})}function WC({label:e,children:t}){return(0,I.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,I.jsx)(`span`,{className:`text-muted`,children:e}),(0,I.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-ink`,children:t})]})}function GC({name:e}){return e?(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(`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 KC({children:e,title:t}){return(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[12px]`,title:t,children:e})}function qC({label:e,color:t}){return(0,I.jsxs)(WC,{label:e,children:[(0,I.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,I.jsx)(KC,{title:t.css,children:t.value}),(0,I.jsx)(GC,{name:t.token})]})}var JC=e=>e?String(e):`–`;function YC({label:e,values:t,className:n,children:r}){let[i,a,o,s]=t;return(0,I.jsxs)(`div`,{className:X(`relative grid grid-cols-[28px_minmax(0,1fr)_28px] grid-rows-[20px_auto_20px] rounded-[4px]`,n),children:[(0,I.jsx)(`span`,{className:`absolute top-1 left-1.5 text-[9.5px] tracking-wide text-muted uppercase`,children:e}),(0,I.jsx)(`span`,{className:`col-start-2 self-center text-center`,children:JC(i)}),(0,I.jsx)(`span`,{className:`row-start-2 self-center text-center`,children:JC(s)}),(0,I.jsx)(`div`,{className:`row-start-2 col-start-2`,children:r}),(0,I.jsx)(`span`,{className:`row-start-2 col-start-3 self-center text-center`,children:JC(a)}),(0,I.jsx)(`span`,{className:`row-start-3 col-start-2 self-center text-center`,children:JC(o)})]})}function XC({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,I.jsx)(`div`,{className:`px-4 pt-1 pb-2 font-mono text-[11px] text-ink2`,children:(0,I.jsx)(YC,{label:`margin`,values:e.margin,className:`border border-dashed border-rule-strong bg-[#f6b26b]/15`,children:(0,I.jsx)(YC,{label:`border`,values:e.border,className:`border border-rule-strong bg-[#f9e27d]/15`,children:(0,I.jsx)(YC,{label:`padding`,values:e.padding,className:`border border-rule-strong bg-[#93c47d]/20`,children:(0,I.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 ZC({info:e,onSelect:t}){return(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-4 pb-2`,children:[e.path.slice(-4).map((e,n)=>(0,I.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,I.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,I.jsx)(Z,{name:`chevron-right`,size:11,className:`text-muted`})]},n)),(0,I.jsx)(`span`,{className:`rounded-[4px] bg-action-soft px-1.5 py-0.5 font-mono text-[11px] text-action`,children:e.label})]})}function QC({info:e,onSelect:t,onClose:n,active:r}){return(0,I.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[320px] shrink-0 flex-col overflow-hidden border-l border-rule bg-surface`,children:[(0,I.jsxs)(`div`,{className:`flex h-[46px] shrink-0 items-center justify-between border-b border-rule pr-2 pl-4`,children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-[14px] font-semibold`,children:[(0,I.jsx)(Z,{name:`pointer`,size:15,className:`text-action`}),` Inspect`]}),(0,I.jsx)(j_,{icon:`x`,label:`Close inspector (I)`,onClick:n})]}),e?(0,I.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto`,children:[(0,I.jsxs)(UC,{title:`Element`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 px-4 pb-2`,children:[(0,I.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-1.5`,children:e.component?.owners[0]?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:[`<`,e.component.owners[0],`>`]}),(0,I.jsx)(`span`,{className:`truncate font-mono text-[12px] text-muted`,children:e.tag})]}):(0,I.jsx)(`span`,{className:`truncate font-mono text-[14px] font-medium text-ink`,children:e.label})}),e.component&&e.component.owners.length>1?(0,I.jsxs)(`span`,{className:`truncate text-[12px] text-muted`,children:[`in `,e.component.owners.slice(1).join(` ← `)]}):null,e.component?.file?(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(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,I.jsxs)(`span`,{className:`line-clamp-2 text-[12.5px] text-ink2`,children:[`“`,e.text,`”`]}):null]}),(0,I.jsx)(ZC,{info:e,onSelect:t})]}),(0,I.jsxs)(UC,{title:`Box`,children:[(0,I.jsx)(XC,{info:e}),(0,I.jsx)(WC,{label:`Size`,children:(0,I.jsxs)(KC,{children:[e.rect.w,` × `,e.rect.h]})}),(0,I.jsx)(WC,{label:`Position`,children:(0,I.jsxs)(KC,{children:[`x `,e.rect.x,` · y `,e.rect.y]})})]}),e.layout.length?(0,I.jsx)(UC,{title:`Layout`,children:e.layout.map(([e,t])=>(0,I.jsx)(WC,{label:e,children:(0,I.jsx)(KC,{title:t,children:t})},e))}):null,e.typography?(0,I.jsxs)(UC,{title:`Typography`,children:[(0,I.jsxs)(WC,{label:`Font`,children:[(0,I.jsx)(KC,{title:e.typography.family,children:e.typography.family.split(`,`)[0]?.replace(/["']/g,``)}),(0,I.jsx)(GC,{name:e.typography.familyToken})]}),(0,I.jsxs)(WC,{label:`Size`,children:[(0,I.jsxs)(KC,{children:[e.typography.size,` / `,e.typography.lineHeight]}),(0,I.jsx)(GC,{name:e.typography.sizeToken})]}),(0,I.jsx)(WC,{label:`Weight`,children:(0,I.jsx)(KC,{children:e.typography.weight})}),e.typography.letterSpacing===`normal`?null:(0,I.jsx)(WC,{label:`Tracking`,children:(0,I.jsx)(KC,{children:e.typography.letterSpacing})}),(0,I.jsx)(qC,{label:`Color`,color:e.typography.color}),e.typography.align===`start`?null:(0,I.jsx)(WC,{label:`Align`,children:(0,I.jsx)(KC,{children:e.typography.align})}),e.typography.transform?(0,I.jsx)(WC,{label:`Transform`,children:(0,I.jsx)(KC,{children:e.typography.transform})}):null]}):null,Object.values(e.appearance).some(Boolean)?(0,I.jsxs)(UC,{title:`Appearance`,children:[e.appearance.background?(0,I.jsx)(qC,{label:`Background`,color:e.appearance.background}):null,e.appearance.backgroundImage?(0,I.jsx)(WC,{label:`Image`,children:(0,I.jsx)(KC,{title:e.appearance.backgroundImage,children:e.appearance.backgroundImage})}):null,e.appearance.border?(0,I.jsxs)(WC,{label:`Border`,children:[(0,I.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,I.jsxs)(KC,{children:[e.appearance.border.width,` `,e.appearance.border.style,` `,e.appearance.border.color.value]}),(0,I.jsx)(GC,{name:e.appearance.border.color.token})]}):null,e.appearance.radius?(0,I.jsxs)(WC,{label:`Radius`,children:[(0,I.jsx)(KC,{children:e.appearance.radius.value}),(0,I.jsx)(GC,{name:e.appearance.radius.token})]}):null,e.appearance.shadow?(0,I.jsxs)(WC,{label:`Shadow`,children:[(0,I.jsx)(KC,{title:e.appearance.shadow.value,children:e.appearance.shadow.value}),(0,I.jsx)(GC,{name:e.appearance.shadow.token})]}):null,e.appearance.opacity?(0,I.jsx)(WC,{label:`Opacity`,children:(0,I.jsx)(KC,{children:e.appearance.opacity})}):null]}):null,e.classes.length?(0,I.jsx)(UC,{title:`Classes`,right:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void AC(e.classes.join(` `),`Classes copied`),className:`cursor-pointer border-0 bg-transparent text-[12px] text-muted hover:text-ink2`,children:`Copy`}),children:(0,I.jsx)(`div`,{className:`flex flex-wrap gap-1 px-4 pb-1`,children:e.classes.map(e=>(0,I.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,I.jsx)(UC,{title:`Attributes`,children:e.attributes.map(([e,t])=>(0,I.jsx)(WC,{label:e,children:(0,I.jsx)(KC,{title:t,children:t})},e))}):null,e.children.length?(0,I.jsx)(UC,{title:`Children · ${e.children.length}`,children:(0,I.jsx)(`div`,{className:`flex flex-col px-2 pb-1`,children:e.children.map((e,n)=>(0,I.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,I.jsx)(Z,{name:`chevron-right`,size:12,className:`text-muted`}),(0,I.jsx)(`span`,{className:`truncate`,children:e.label})]},n))})}):null]}):(0,I.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-10 text-center`,children:[(0,I.jsx)(Z,{name:`pointer`,size:22,className:`text-muted`}),(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:r?`Click an element in any screen.`:`Hold ${C_} to highlight, click to inspect.`}),(0,I.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,I.jsxs)(`span`,{className:`mt-2 flex items-center gap-1.5 text-[12px] text-muted`,children:[(0,I.jsx)(__,{children:`I`}),` toggle · hold `,(0,I.jsx)(__,{children:C_}),` · `,(0,I.jsx)(__,{children:`esc`}),` clear`]})]}),e?(0,I.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-rule bg-soft px-4 py-2.5`,children:(0,I.jsx)(O_,{icon:`copy`,onClick:()=>void AC(e.css,`CSS copied`),className:`grow`,children:`Copy CSS`})}):null]})}var $C={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 ew({tone:e=`neutral`,children:t,className:n}){return(0,I.jsx)(`span`,{className:X(`inline-flex h-[22px] shrink-0 items-center gap-1 whitespace-nowrap rounded-[6px] px-2 text-[12px] font-medium`,$C[e],n),children:t})}function tw({value:e,tone:t=`neutral`}){return(0,I.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 nw({children:e,className:t,style:n}){return(0,I.jsx)(`section`,{className:X(`min-w-0 shrink-0 overflow-hidden rounded-[10px] border border-rule bg-surface`,t),style:n,children:e})}function rw({title:e,count:t,sub:n,right:r,as:i=`h2`}){return(0,I.jsxs)(`div`,{className:`flex min-h-[46px] items-center justify-between gap-3 px-4`,children:[(0,I.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,I.jsx)(tw,{value:t}),n?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] font-normal text-muted`,children:n}):null]}),r?(0,I.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function iw({items:e,value:t,onChange:n,right:r}){let i=(0,v.useId)();return(0,I.jsxs)(`div`,{className:`flex h-[46px] items-center justify-between gap-3 px-4`,children:[(0,I.jsx)(`div`,{role:`tablist`,className:`flex gap-5`,children:e.map(e=>{let r=e.value===t;return(0,I.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,I.jsx)(tw,{value:e.count}),r?(0,I.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,I.jsx)(`div`,{className:`flex items-center gap-2`,children:r}):null]})}function aw({align:e,children:t}){return(0,I.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 ow(e,t){return v.Children.toArray(e).map((e,n)=>(0,I.jsx)(aw,{align:t?.[n]??`l`,children:e},n))}function sw({cols:e,align:t,labels:n}){return(0,I.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,I.jsx)(aw,{align:t?.[n]??`l`,children:(0,I.jsx)(`span`,{className:`whitespace-nowrap`,children:e})},n))})}var cw=(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 lw({cols:e,align:t,minH:n=44,pad:r=`10px 16px`,children:i,first:a,className:o,onClick:s,title:c}){return(0,I.jsx)(`div`,{className:cw(a,!!s,o),style:{gridTemplateColumns:e,minHeight:n,padding:r},onClick:s,title:c,children:ow(i,t)})}function uw({to:e,cols:t,align:n,minH:r=44,pad:i=`10px 16px`,first:a,className:o,children:s}){return(0,I.jsx)(xe,{href:e,className:X(cw(a,!0,o),`text-inherit no-underline`),style:{gridTemplateColumns:t,minHeight:r,padding:i},children:ow(s,n)})}function dw({label:e,children:t,labelWidth:n=180,minH:r=40,end:i=!1}){return(0,I.jsxs)(`div`,{className:`grid content-center items-baseline gap-x-4 border-t border-rule px-4 py-2`,style:{gridTemplateColumns:`${n}px minmax(0, 1fr)`,minHeight:r},children:[(0,I.jsx)(`span`,{className:`text-[13px] text-muted`,children:e}),(0,I.jsx)(`div`,{className:X(`flex min-w-0 flex-wrap items-center gap-2`,i&&`justify-end`),children:t})]})}function fw({children:e,pad:t=`16px`,gap:n=16,top:r=!0,className:i}){return(0,I.jsx)(`div`,{className:X(`flex flex-col`,r&&`border-t border-rule`,i),style:{padding:t,gap:n},children:e})}function pw({issues:e,className:t}){return(0,I.jsx)(`div`,{className:X(`flex flex-col`,t),children:e.map((e,t)=>(0,I.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,I.jsx)(Z,{name:e.severity===`error`?`alert`:`info`,size:15,className:X(`mt-0.5`,e.severity===`error`?`text-danger-text`:`text-action`)}),(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(`span`,{className:`text-ink`,children:e.message}),(0,I.jsxs)(`span`,{className:`font-mono text-[12px] break-all text-muted`,children:[e.file,e.at?` · ${e.at}`:``]})]})]},t))})}function mw({issues:e,title:t=`Problems`}){if(!e.length)return null;let n=e.filter(e=>e.severity===`error`).length;return(0,I.jsxs)(nw,{className:n?`border-danger/40`:void 0,children:[(0,I.jsx)(rw,{title:t,count:e.length,sub:n?`${n} blocking`:`warnings`}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:(0,I.jsx)(pw,{issues:e})})]})}var hw=[.2,.7,.2,1];function gw({open:e,side:t,width:n,children:r}){return(0,I.jsx)(ed,{initial:!1,children:e?(0,I.jsx)(Wf.div,{initial:{width:0,opacity:.6},animate:{width:n,opacity:1},exit:{width:0,opacity:.6},transition:{duration:.22,ease:hw},className:X(`flex min-h-0 shrink-0 overflow-hidden`,t===`right`?`justify-start`:`justify-end`),children:(0,I.jsx)(`div`,{className:`flex min-h-0 shrink-0`,style:{width:n},children:r})},`panel`):null})}function _w({children:e,className:t,gap:n=20,wide:r=!1}){return(0,I.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 vw({title:e,sub:t,right:n,badge:r,crumbs:i}){return(0,I.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,I.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[i?(0,I.jsx)(`div`,{className:`flex items-center gap-1.5 text-[13px] text-muted`,children:i}):null,(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(`h1`,{className:`m-0 text-[22px] font-semibold tracking-[-0.01em]`,children:e}),r]}),t?(0,I.jsx)(`div`,{className:`text-[13px] text-muted`,children:t}):null]}),n?(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n}):null]})}function yw({items:e,label:t}){return(0,I.jsx)(`nav`,{"aria-label":t,className:`flex flex-col gap-0.5`,children:e.map(e=>(0,I.jsxs)(xe,{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,I.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),e.hint?(0,I.jsx)(`span`,{className:`ml-auto text-[12px] font-normal text-muted`,children:e.hint}):null]},e.to))})}function bw({children:e}){return(0,I.jsx)(`div`,{className:`px-3 pt-4 pb-1 text-[12px] text-muted`,children:e})}function xw({title:e,text:t,action:n}){return(0,I.jsxs)(nw,{className:`flex w-[480px] max-w-full flex-col items-center gap-2 px-6 py-8 text-center`,children:[(0,I.jsx)(`h1`,{className:`m-0 text-[16px] font-semibold`,children:e}),t?(0,I.jsx)(`div`,{className:`m-0 max-w-[400px] text-[14px] text-ink2`,children:t}):null,n?(0,I.jsx)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:n}):null]})}function Sw(e){return(0,I.jsx)(`div`,{className:`flex min-h-[50vh] grow items-center justify-center p-6 max-md:px-4`,children:(0,I.jsx)(xw,{...e})})}function Cw({title:e=`Nothing here`,text:t}){let n=!!Jg().scope;return(0,I.jsx)(Sw,{title:e,text:t??`This address does not match a canvas or a page of the design system.`,action:n?void 0:(0,I.jsx)(M_,{to:`/`,children:`All canvases`})})}var ww=.1,Tw=(e,t=ww)=>Math.min(8,Math.max(t,e)),Ew=class{camera={x:0,y:0,z:1};minZoom=ww;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:Tw(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=Tw(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:Tw(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 Dw(e,t,n,r=72,i=1,a=ww){let o=Tw(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 Ow(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 kw({items:e,value:t,onChange:n,label:r,stretch:i,size:a=`ctrl`}){let o=(0,v.useId)();return(0,I.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,I.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,I.jsx)(Wf.span,{layoutId:o,className:`absolute inset-0 rounded-[4px] bg-surface shadow-[0_1px_2px_rgba(0,0,0,0.10)]`,transition:{type:`spring`,stiffness:520,damping:42}}):null,(0,I.jsx)(`span`,{className:`relative flex items-center gap-1.5`,children:e.label})]},e.value)})})}var Aw=Object.defineProperty,jw=(e,t)=>Aw(e,`name`,{value:t,configurable:!0}),Mw=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`}),Nw=v.forwardRef(jw(function(e,t){return(0,I.jsx)(Wp.span,{...e,ref:t,style:{...Mw,...e.style}})},`VisuallyHidden`)),Pw=Object.defineProperty,Fw=(e,t)=>Pw(e,`name`,{value:t,configurable:!0}),[Iw,Lw]=ap(`Tooltip`,[hb]),Rw=hb(),zw=`TooltipProvider`,Bw=700,Vw=`tooltip.open`,[Hw,Uw]=Iw(zw),Ww=Fw(e=>{let{__scopeTooltip:t,delayDuration:n=Bw,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,I.jsx)(Hw,{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`),Gw=`Tooltip`,[Kw,qw]=Iw(Gw),Jw=Fw(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Uw(Gw,e.__scopeTooltip),l=Rw(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:Fw(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Vw))):c.onClose(),a?.(e)},`onChange`),caller:Gw}),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,I.jsx)(Ob,{...l,children:(0,I.jsx)(Kw,{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`),Yw=`TooltipTrigger`,Xw=v.forwardRef(Fw(function(e,t){let{__scopeTooltip:n,...r}=e,i=qw(Yw,n),a=Uw(Yw,n),o=Rw(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,I.jsx)(kb,{asChild:!0,...o,children:(0,I.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`)),Zw=`TooltipPortal`,[Qw,$w]=Iw(Zw,{forceMount:void 0}),eT=Fw(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=qw(Zw,t);return(0,I.jsx)(Qw,{scope:t,forceMount:n,children:(0,I.jsx)(jm,{present:n||a.open,children:(0,I.jsx)(Dm,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),tT=`TooltipContent`,nT=v.forwardRef(Fw(function(e,t){let n=$w(tT,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=qw(tT,e.__scopeTooltip);return(0,I.jsx)(jm,{present:r||o.open,children:o.disableHoverableContent?(0,I.jsx)(aT,{side:i,...a,ref:t}):(0,I.jsx)(rT,{side:i,...a,ref:t})})},`TooltipContent`)),rT=v.forwardRef(Fw(function(e,t){let n=qw(tT,e.__scopeTooltip),r=Uw(tT,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=sT(r,oT(r,n.getBoundingClientRect())),a=cT(t.getBoundingClientRect()),o=uT([...i,...a]);s(o),d(!0)},[d]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){let e=Fw(e=>p(e,u),`handleTriggerLeave`),t=Fw(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=Fw(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!lT(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,I.jsx)(aT,{...e,ref:a})},`TooltipContentHoverable`)),iT=jp(`TooltipContent`),aT=v.forwardRef(Fw(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=qw(tT,n),u=Rw(n),{onClose:d}=l;v.useEffect(()=>(document.addEventListener(Vw,d),()=>document.removeEventListener(Vw,d)),[d]),v.useEffect(()=>{if(l.trigger){let e=Fw(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,I.jsx)(nm,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,I.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,I.jsx)(iT,{children:r}),i?(0,I.jsx)(Nw,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function oT(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`)}}Fw(oT,`getExitSideFromRect`);function sT(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}Fw(sT,`getPaddedExitPoints`);function cT(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}]}Fw(cT,`getPointsFromRect`);function lT(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}Fw(lT,`isPointInPolygon`);function uT(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)),dT(t)}Fw(uT,`getHull`);function dT(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)}Fw(dT,`getHullPresorted`);var fT=Ww,pT=Jw,mT=Xw,hT=eT,gT=nT;function _T({children:e}){return(0,I.jsx)(fT,{delayDuration:250,children:e})}var vT=`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 yT({content:e,children:t,side:n=`top`,align:r=`center`,className:i}){return(0,I.jsxs)(pT,{children:[(0,I.jsx)(mT,{asChild:!0,children:t}),(0,I.jsx)(hT,{children:(0,I.jsx)(gT,{side:n,align:r,sideOffset:6,collisionPadding:12,className:X(vT,i),children:e})})]})}var bT=(e,t,n)=>`/c/${encodeURIComponent(e)}/full/${encodeURIComponent(t)}?theme=${n}`;function xT(e,t,n){let{frameSandbox:r}=Jg(),{base:i}=fe();return t?t.kind===`url`?t.url:zC(r?`${i}${bT(e,t.id,t.theme??n)}`:RC(t.url,t.theme??n)):null}function ST({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=Qg(e),[,a]=N(),{frameSandbox:o}=Jg(),s=h_(),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`?RC(d.url,f):d.url:``,m=`/c/${encodeURIComponent(e)}`;return(0,v.useEffect)(()=>{d&&(document.title=`${d.title} · ${n?.title??``}`)},[d,n?.title]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&a(m)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,m]),(0,v.useEffect)(()=>{let t=c.current;if(t&&d?.kind===`screen`)return MC(t,t=>{if(t.type===`keydown`&&t.code===`Escape`)a(m);else if(t.type===`go`){let n=t.target.includes(`/`)?t.target.split(`/`)[1]:t.target;u.some(e=>e.id===n)&&a(bT(e,n,f),{replace:!0})}else t.type===`link`&&n&&BC(t,n,t=>a(bT(e,t,f),{replace:!0}))})},[p,d?.kind]),r?(0,I.jsx)(Cw,{title:`Canvas not found`,text:r.message}):i||!n?(0,I.jsx)(`div`,{className:`h-dvh bg-surface`}):d?(0,I.jsxs)(`div`,{className:`group fixed inset-0 bg-surface`,children:[(0,I.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`&&FC(c.current,f)},`${d.id}:${d.kind===`screen`?d.rev:d.url}`),(0,I.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,I.jsxs)(xe,{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,I.jsx)(Z,{name:`x`,size:14}),`Back to `,n.title,(0,I.jsx)(__,{children:`esc`})]})})]}):(0,I.jsx)(Cw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`})}function CT(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 wT(e,t){return`/c/${encodeURIComponent(e.id)}/p/${encodeURIComponent(t.id)}`}function TT({canvas:e,page:t,store:n,onPick:r}){let i=o_(n,e=>e.selected),a=o_(n,e=>e.frames);return(0,I.jsxs)(`aside`,{"data-ui":!0,className:`flex w-[264px] shrink-0 flex-col overflow-hidden border-r border-rule bg-surface`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-rule px-4 py-3.5`,children:[(0,I.jsx)(`div`,{className:`truncate text-[14px] font-semibold`,children:e.title}),e.description?(0,I.jsx)(`div`,{className:`line-clamp-3 text-[12.5px] leading-[1.45] text-muted`,children:e.description}):null]}),(0,I.jsxs)(`div`,{className:`min-h-0 grow overflow-y-auto pb-4`,children:[e.pages.length>1?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:`Pages`}),(0,I.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,I.jsxs)(xe,{href:wT(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,I.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:n.title}),(0,I.jsx)(`span`,{className:`text-[12px] text-muted tabular`,children:r})]},n.id)})})]}):null,(0,I.jsx)(`div`,{className:`px-4 pt-3 pb-1 text-[12px] text-muted`,children:e.pages.length>1?t.title:`Layers`}),(0,I.jsx)(`div`,{className:`flex flex-col px-2`,children:t.sections.map(e=>(0,I.jsxs)(`div`,{className:`flex flex-col`,children:[e.title?(0,I.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 pt-1 text-[12px] font-medium text-ink2`,children:[(0,I.jsx)(`span`,{className:`truncate`,children:e.title}),(0,I.jsx)(tw,{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,I.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,I.jsx)(Z,{name:CT(t),size:15,className:`text-muted`}),(0,I.jsx)(`span`,{className:`min-w-0 grow truncate`,children:t.title||(t.kind===`note`?`Note`:t.id)}),n?(0,I.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`}):null]},t.id)})]},e.id))})]})]})}function ET({canvas:e,page:t,theme:n,onTheme:r,sidebar:i,onSidebar:a,onPlay:o,canPlay:s,inspect:c,onInspect:l}){let[,u]=N(),{slots:d,scope:f}=Jg();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(JS,{children:[d.barStart,d.brand?d.brand:f?(0,I.jsx)(KS,{}):(0,I.jsx)(yT,{content:`All canvases`,children:(0,I.jsx)(xe,{href:`/`,className:`flex items-center`,"aria-label":`All canvases`,children:(0,I.jsx)(KS,{})})}),(0,I.jsx)(j_,{icon:`panel-left`,label:i?`Hide sidebar (⌘\\)`:`Show sidebar (⌘\\)`,onClick:()=>a(!i)}),(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[14px]`,children:[(0,I.jsx)(`span`,{className:`truncate font-semibold`,children:e.title}),t&&e.pages.length>1?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Z,{name:`chevron-right`,size:14,className:`shrink-0 text-muted`}),(0,I.jsxs)(zS,{width:240,trigger:(0,I.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,I.jsx)(`span`,{className:`truncate`,children:t.title}),(0,I.jsx)(Z,{name:`chevron-down`,size:14,className:`text-muted`})]}),children:[(0,I.jsx)(US,{children:`Pages`}),e.pages.map(n=>(0,I.jsxs)(VS,{active:n.id===t.id,onSelect:()=>u(wT(e,n)),children:[(0,I.jsx)(Z,{name:`file`,size:15,className:`text-muted`}),n.title]},n.id))]})]}):null]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsx)(kw,{label:`Screen theme`,value:n,onChange:r,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:15}),title:`Light screens`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:15}),title:`Dark screens`}]}),(0,I.jsx)(OT,{on:c,onChange:l}),(0,I.jsx)(O_,{kind:`secondary`,icon:`play`,onClick:o,disabled:!s,children:`Play`}),(0,I.jsx)(T_,{width:200,label:`Search`}),(0,I.jsx)(GS,{}),d.barEnd]})]}),d.belowBar]})}function DT({canvas:e,store:t,layoutItems:n,theme:r,onPlay:i,inspect:a}){let o=o_(t,e=>e.selected),s=o_(t,e=>e.active),c=o_(t,e=>o?e.frames[o]:void 0),l=n.find(e=>e.id===o),u=xT(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=()=>IC(document.querySelector(`[data-item="${CSS.escape(l.id)}"] iframe`)),p=c?.errors??[];return(0,I.jsx)(`div`,{"data-ui":!0,className:`pointer-events-none absolute inset-x-0 bottom-5 z-20 flex justify-center px-4`,children:(0,I.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,I.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,I.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),(0,I.jsx)(`span`,{className:`min-w-0`,children:p.join(`
|
|
58
|
+
`)})]}):null,(0,I.jsxs)(`div`,{className:`flex h-[44px] items-center gap-1 pr-1.5 pl-3.5`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-2`,children:[(0,I.jsx)(`span`,{className:`truncate text-[13.5px] font-medium`,children:l.title||l.id}),d&&s===l.id?(0,I.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[12px] text-muted`,children:[(0,I.jsx)(Z,{name:`pointer`,size:13}),` `,a?`Inspecting`:`Interacting`,` `,(0,I.jsx)(__,{children:`esc`})]}):d?(0,I.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,I.jsx)(yT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Play `,(0,I.jsx)(__,{children:`↵`})]}),children:(0,I.jsx)(j_,{icon:`play`,label:`Play`,onClick:()=>i(l.id)})}):null,u?(0,I.jsx)(yT,{content:`Open in a new tab`,children:(0,I.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,I.jsx)(Z,{name:`external`,size:16})})}):null,d?(0,I.jsx)(yT,{content:`Reload`,children:(0,I.jsx)(j_,{icon:`refresh`,label:`Reload`,onClick:f})}):null,l.kind===`screen`?(0,I.jsx)(yT,{content:`Copy source path`,children:(0,I.jsx)(j_,{icon:`copy`,label:`Copy source path`,onClick:()=>void AC(l.file,`Path copied`)})}):null,(0,I.jsx)(yT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Zoom to `,(0,I.jsx)(__,{children:`⇧2`})]}),children:(0,I.jsx)(j_,{icon:`fit`,label:`Zoom to`,onClick:()=>window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:l.id}}))})})]})]})})}function OT({on:e,onChange:t}){return(0,I.jsx)(yT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Inspect elements `,(0,I.jsx)(__,{children:`I`})]}),children:(0,I.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:()=>t(!e),className:e?`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-action-line bg-action-soft px-ctrl text-ctrl font-medium text-action`:`inline-flex h-ctrl cursor-pointer items-center gap-1.5 rounded-[6px] border border-rule-strong bg-surface px-ctrl text-ctrl font-medium text-ink hover:bg-soft`,children:[(0,I.jsx)(Z,{name:`pointer`,size:15}),`Inspect`]})})}var kT=280,AT=96,jT=150,MT=110,NT=720,PT=e=>e.kind===`screen`||e.kind===`url`;function FT(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 IT(e,t){return!e.title&&!e.description?0:t[`section:${e.id}`]?.h??(e.title?56:0)+(e.description?60:0)}function LT(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}=FT(e,t),s=e.x??r,c=e.y??0;r=Math.max(r,s+a+AT),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=IT(a,t),o=i,s=i+(e?e+MT:0),c=0,l=0,u=0,d=0;for(let e of a.items){a.columns&&d===a.columns&&(s+=l+jT,c=0,l=0,d=0);let{w:r,h:i}=FT(e,t);n.push({item:e,section:a,x:c,y:s,w:r,h:i}),c+=r+AT,u=Math.max(u,c-AT),l=Math.max(l,i),d++}let f=s+l;r.push({section:a,x:0,y:o,w:Math.max(u,e?NT:0),h:f-o,header:e}),i=f+kT}}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 RT(e){return e.items.filter(e=>PT(e.item))}function zT(){return new a_({selected:null,active:null,hovered:null,sizes:{},frames:{},live:[],panning:!1,zoomTiny:!1,frameEls:{},inspecting:!1})}function BT(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 VT(e,t,n){e.set(e=>{let r=e.frames[t]??{ready:!1,errors:[]};return{...e,frames:{...e.frames,[t]:{...r,...n}}}})}function HT(e,t,n){e.set(e=>e.frameEls[t]===n?e:{...e,frameEls:{...e.frameEls,[t]:n}})}function UT(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var WT=UT();function GT(e){WT=e}var KT={exec:()=>null};function qT(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(YT.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var JT=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),YT={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:qT(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:qT(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:qT(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:qT(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:qT(e=>RegExp(`^ {0,${e}}(?:</?(?:${uE})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:qT(e=>RegExp(`^ {0,${e}}>`))},XT=/^(?:[ \t]*(?:\n|$))+/,ZT=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,QT=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$T=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,eE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,tE=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,nE=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,rE=$(nE).replace(/bull/g,tE).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(),iE=$(nE).replace(/bull/g,tE).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(),aE=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,oE=/^[^\n]+/,sE=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,cE=$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,sE).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),lE=$(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,tE).getRegex(),uE=`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]*?(?:-->|$))/,fE=$(`^ {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`,uE).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pE=e=>$(aE).replace(`hr`,$T).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`,uE).getRegex(),mE=pE(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),hE=pE(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),gE={blockquote:$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,hE).getRegex(),code:ZT,def:cE,fences:QT,heading:eE,hr:$T,html:fE,lheading:rE,list:lE,newline:XT,paragraph:mE,table:KT,text:oE},_E=$(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,$T).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`,uE).getRegex(),vE={...gE,lheading:iE,table:_E,paragraph:$(aE).replace(`hr`,$T).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,_E).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`,uE).getRegex()},yE={...gE,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:KT,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:$(aE).replace(`hr`,$T).replace(`heading`,` *#{1,6} *[^
|
|
59
|
+
]`).replace(`lheading`,rE).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},bE=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,xE=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,SE=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,CE=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,wE=/[\p{P}\p{S}]/u,TE=/[\s\p{P}\p{S}]/u,EE=/[^\s\p{P}\p{S}]/u,DE=$(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,TE).getRegex(),OE=/[\p{Pi}\p{Ps}"']/u,kE=/(?!~)[\p{P}\p{S}]/u,AE=/(?!~)[\s\p{P}\p{S}]/u,jE=/(?:[^\s\p{P}\p{S}]|~)/u,ME=$(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,JT?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),NE=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,PE=$(NE,`u`).replace(/punct/g,wE).getRegex(),FE=$(NE,`u`).replace(/punct/g,kE).getRegex(),IE=$(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,OE).replace(/punct/g,wE).getRegex(),LE=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,RE=$(LE,`gu`).replace(/notPunctSpace/g,EE).replace(/punctSpace/g,TE).replace(/punct/g,wE).getRegex(),zE=$(LE,`gu`).replace(/notPunctSpace/g,jE).replace(/punctSpace/g,AE).replace(/punct/g,kE).getRegex(),BE=$(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,EE).replace(/punctSpace/g,TE).replace(/punct/g,wE).getRegex(),VE=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,EE).replace(/punctSpace/g,TE).replace(/punct/g,wE).getRegex(),HE=$(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,EE).replace(/punctSpace/g,TE).replace(/punct/g,wE).getRegex(),UE=$(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,wE).getRegex(),WE=$(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,EE).replace(/punctSpace/g,TE).replace(/punct/g,wE).getRegex(),GE=$(/\\(punct)/,`gu`).replace(/punct/g,wE).getRegex(),KE=$(/^<(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(),qE=$(dE).replace(`(?:-->|$)`,`-->`).getRegex(),JE=$(`^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`,qE).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),YE=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,XE=$(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace(`brackets`,YE).getRegex(),ZE=$(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,XE).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),QE=$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,XE).replace(`ref`,sE).getRegex(),$E=$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,sE).getRegex(),eD=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,tD=$(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace(`brackets`,YE).getRegex(),nD=$(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,$(/^!?\[(label)\]\[(ref)\]/).replace(`label`,tD).replace(`ref`,eD).getRegex()).replace(`nolink`,$(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,eD).getRegex()).getRegex(),rD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,iD=$(/(?: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(),aD={_backpedal:KT,anyPunctuation:GE,autolink:KE,blockSkip:ME,br:SE,code:xE,del:KT,delLDelim:KT,delRDelim:KT,emStrongLDelim:PE,emStrongRDelimAst:RE,emStrongRDelimUnd:VE,escape:bE,link:ZE,nolink:$E,punctuation:DE,reflink:QE,reflinkSearch:nD,tag:JE,text:CE,url:KT},oD={...aD,emStrongLDelim:IE,emStrongRDelimAst:BE,emStrongRDelimUnd:HE,link:$(/^!?\[(label)\]\((.*?)\)/).replace(`label`,XE).getRegex(),reflink:$(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,XE).getRegex()},sD={...aD,emStrongRDelimAst:zE,emStrongLDelim:FE,delLDelim:UE,delRDelim:WE,url:$(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`emailProtocol`,iD).replace(`protocol`,rD).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`,rD).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},cD={...sD,br:$(SE).replace(`{2,}`,`*`).getRegex(),text:$(sD.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},lD={normal:gE,gfm:vE,pedantic:yE},uD={normal:aD,gfm:sD,breaks:cD,pedantic:oD},dD={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},fD=e=>dD[e];function pD(e,t){if(t){if(YT.escapeTest.test(e))return e.replace(YT.escapeReplace,fD)}else if(YT.escapeTestNoEncode.test(e))return e.replace(YT.escapeReplaceNoEncode,fD);return e}function mD(e){return e.replace(YT.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 hD(e){try{e=encodeURI(e).replace(YT.percentDecode,`%`)}catch{return null}return e}function gD(e,t){let n=e.replace(YT.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(YT.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(YT.slashPipe,`|`);return n}function _D(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 vD(e){let t=e.split(`
|
|
60
|
+
`),n=t.length-1;for(;n>=0&&YT.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
61
|
+
`)}function yD(e){return e.trim().toLowerCase().toUpperCase().toLowerCase()}function bD(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function xD(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function SD(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`),c=e[0].charAt(0)===`!`;r.state.inLink=!0;let l=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let d=r.inlineTokens(s),f=r.state.linkEmitted;if(r.state.linkEmitted=l,r.state.inLink=!1,!c){if(f){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:c?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:d}}function CD(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
62
62
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return e.slice(Math.min(r.length,i.length))}).join(`
|
|
63
|
-
`)}function
|
|
64
|
-
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:
|
|
65
|
-
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=
|
|
63
|
+
`)}function wD(e,t,n,r){if(!t.includes(`<`))return!1;for(let i=0;i<t.length;i++){if(t[i]===`\\`){i++;continue}if(t[i]==="`"){let e=r.inline.code.exec(t.slice(i));if(e){i+=e[0].length-1;continue}}if(t[i]!==`<`)continue;let a=e.slice(n+i),o=r.inline.tag.exec(a)||r.inline.autolink.exec(a);if(o){if(o[0].length>t.length-i)return!0;i+=o[0].length-1}}return!1}var TD=class{options;rules;lexer;constructor(e){this.options=e||WT}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:vD(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=CD(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=_D(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceTabChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:_D(t[0],`
|
|
64
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:_D(t[0],`
|
|
65
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=_D(t[0],`
|
|
66
66
|
`).split(`
|
|
67
67
|
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o=0;for(;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
68
68
|
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -77,19 +77,19 @@ ${d.join(`
|
|
|
77
77
|
`+e.join(`
|
|
78
78
|
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
79
79
|
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=t[2].split(`
|
|
80
|
-
`,1)[0],l=t[1].length,u=this.options.pedantic?
|
|
80
|
+
`,1)[0],l=t[1].length,u=this.options.pedantic?xD(c,l):c.replace(this.rules.other.leadingSpaceTab,e=>xD(e,l)),d=e.split(`
|
|
81
81
|
`,1)[0],f=!u.trim(),p=0;if(this.options.pedantic?(p=2,s=u.trimStart()):f?p=l+1:(p=u.search(this.rules.other.nonSpaceChar),p=p>4?1:p,s=u.slice(p),p+=l),f&&this.rules.other.blankLine.test(d)&&(r+=d+`
|
|
82
82
|
`,e=e.substring(d.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),i=this.rules.other.fencesBeginRegex(p),a=this.rules.other.headingBeginRegex(p),o=this.rules.other.htmlBeginRegex(p),c=this.rules.other.blockquoteBeginRegex(p);for(;e;){let l=e.split(`
|
|
83
83
|
`,1)[0],m;if(d=l,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting,` `),m=d):m=d.replace(this.rules.other.leadingSpaceTab,e=>e.replace(this.rules.other.tabCharGlobal,` `)),i.test(d)||a.test(d)||o.test(d)||c.test(d)||t.test(d)||n.test(d))break;if(m.search(this.rules.other.nonSpaceChar)>=p||!d.trim())s+=`
|
|
84
84
|
`+m.slice(p);else{if(f||u.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(u)||a.test(u)||n.test(u))break;s+=`
|
|
85
85
|
`+d}f=!d.trim(),r+=l+`
|
|
86
|
-
`,e=e.substring(l.length+1),u=m.slice(p)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=
|
|
87
|
-
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=
|
|
88
|
-
`):[],a={type:`table`,raw:
|
|
89
|
-
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(
|
|
86
|
+
`,e=e.substring(l.length+1),u=m.slice(p)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=vD(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=yD(t[1]).replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:_D(t[0],`
|
|
87
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=gD(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
88
|
+
`):[],a={type:`table`,raw:_D(t[0],`
|
|
89
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(gD(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:_D(t[0],`
|
|
90
90
|
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
91
|
-
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&
|
|
92
|
-
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(
|
|
91
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&wD(e,t[1],n,this.rules))return;let r=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let e=_D(r.slice(0,-1),`\\`);if((r.length-e.length)%2==0)return}else{let e=bD(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let i=t[2],a=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(i);e&&(i=e[1],a=e[3])}else a=t[3]?t[3].slice(1,-1):``;return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(i=this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?i.slice(1):i.slice(1,-1)),SD(t,{href:i&&i.replace(this.rules.inline.anyPunctuation,`$1`),title:a&&a.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=n[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&wD(e,n[1],r,this.rules))return;let i=t[yD((n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `))];if(!i){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return SD(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,a,o,s=i,c=0,l=r[0][0],u=n===l,d=l===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(r=d.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){s+=o;continue}if(r[5]||r[6]){if(i%3&&!((i+o)%3)){c+=o;continue}if(u)break}if(s-=o,s>0)continue;o=Math.min(o,o+s+c);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+o);if(Math.min(i,o)%2){let e=n.slice(1,-1);return{type:`em`,raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let l=n.slice(2,-2);return{type:`strong`,raw:n,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:e?t[0]:mD(t[0]),escaped:e}}}},ED=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||WT,this.options.tokenizer=this.options.tokenizer||new TD,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:YT,block:lD.normal,inline:uD.normal};this.options.pedantic?(t.block=lD.pedantic,t.inline=uD.pedantic):this.options.gfm&&(t.block=lD.gfm,t.inline=this.options.breaks?uD.breaks:uD.gfm),this.tokenizer.rules=t}static get rules(){return{block:lD,inline:uD}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(YT.carriageReturn,`
|
|
92
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(YT.tabCharGlobal,` `).replace(YT.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
|
|
93
93
|
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
94
94
|
`)?``:`
|
|
95
95
|
`)+i.raw,n.text+=`
|
|
@@ -102,9 +102,9 @@ ${d.join(`
|
|
|
102
102
|
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
103
103
|
`)?``:`
|
|
104
104
|
`)+i.raw,n.text+=`
|
|
105
|
-
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,
|
|
106
|
-
`:``;return r?`<pre><code class="language-`+
|
|
107
|
-
`:`<pre><code>`+(n?i:
|
|
105
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,yD(e.slice(n+1,-1)))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes(`[`)){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,yD(n.slice(r+1,-1))))return n;if(r>1&&n.charAt(0)!==`!`){let i=n.slice(1,r-1);if(this.linkInText(i))return`[`+i.replace(e,t)+`][`+`a`.repeat(n.length-r-2)+`]`}return`[`+`a`.repeat(n.length-2)+`]`};n=n.replace(e,t)}n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>`+`.repeat(e.length)),n=n.replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+`[`+`a`.repeat(e.length-r-2)+`]`}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i=``,a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=``),r=!1;let o;if(this.options.extensions?.inline?.some(n=>(o=n.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let n=t.at(-1);o.type===`text`&&n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),o.raw.slice(-1)!==`_`&&(i=o.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},DD=class{options;parser;constructor(e){this.options=e||WT}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(YT.notSpaceStart)?.[0],i=e?e.replace(YT.endingNewline,``)+`
|
|
106
|
+
`:``;return r?`<pre><code class="language-`+pD(r)+`">`+(n?i:pD(i,!0))+`</code></pre>
|
|
107
|
+
`:`<pre><code>`+(n?i:pD(i,!0))+`</code></pre>
|
|
108
108
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
109
109
|
${this.parser.parse(e)}</blockquote>
|
|
110
110
|
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
@@ -120,38 +120,38 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
120
120
|
`}tablerow({text:e}){return`<tr>
|
|
121
121
|
${e}</tr>
|
|
122
122
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
123
|
-
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${
|
|
124
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+fD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},jD=new AD;function MD(e,t){return jD.parse(e,t)}MD.options=MD.setOptions=function(e){return jD.setOptions(e),MD.defaults=jD.defaults,WT(MD.defaults),MD},MD.getDefaults=HT,MD.defaults=UT;function ND(...e){return jD.use(...e),MD.defaults=jD.defaults,WT(MD.defaults),MD}MD.use=ND,MD.walkTokens=function(e,t){return jD.walkTokens(e,t)},MD.parseInline=jD.parseInline,MD.Parser=OD,MD.parser=OD.parse,MD.Renderer=ED,MD.TextRenderer=DD,MD.Lexer=TD,MD.lexer=TD.lex,MD.Tokenizer=wD,MD.Hooks=kD,MD.parse=MD,MD.options,MD.setOptions,MD.walkTokens,MD.parseInline,OD.parse,TD.lex;var PD=new Set([`http:`,`https:`,`mailto:`]);function FD(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||PD.has(`${n.toLowerCase()}:`)}function ID(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var LD=new AD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>ID(e),link(e){return!FD(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!FD(e.href)&&ID(e.text)}}});function RD(e){return LD.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function zD({text:e,className:t}){let n=(0,v.useMemo)(()=>RD(e),[e]);return(0,I.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function BD(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(()=>zT(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function VD(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var HD=(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}=Jg(),m=(0,v.useCallback)(e=>{f.current=e,VT(i,s.id,e)},[i,s.id]),h=o_(i,e=>e.frames[s.id]),g=o_(i,e=>e.active===s.id),_=o_(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`?RC(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&&BT(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return MC(e,t=>{switch(t.type){case`ready`:BT(i,s.id,{ready:!0}),PC(e);break;case`size`:y&&zT(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||BT(i,s.id,{errors:[...e,t.message]});break}case`updated`:BT(i,s.id,{errors:[]});break;case`go`:a.onGo(s.id,t.target);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`&&FC(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,I.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,I.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,I.jsx)(UD,{item:s,loading:E}):null,E?(0,I.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,I.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`?BT(i,s.id,{ready:!0}):(FC(f.current,b),PC(f.current))}},x)}):null,g||_?null:(0,I.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function UD({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,I.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,I.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:VD(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,I.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 WD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=BD(t,n.id),s=n.tone===`plain`;return(0,I.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,I.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,I.jsx)(zD,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),GD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,I.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,I.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,I.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,I.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;zT(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),KD=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=BD(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,I.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,I.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,I.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,I.jsx)(zD,{text:e.description,className:`prose-plain`})}):null]})}),qD={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(qD);var JD=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function YD(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?qD[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var XD=(0,v.memo)(function({placed:e,store:t}){let n=e.item.id,r=o_(t,e=>e.selected===n),i=o_(t,e=>e.frames[n]?.errors.length??0);return(0,I.jsxs)(`div`,{"data-at":``,"data-label":n,style:JD(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,I.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,I.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,I.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:YD(e)})]})});function ZD({placed:e,kind:t}){return(0,I.jsx)(`div`,{"data-at":``,style:JD(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function QD({layout:e,view:t,store:n,overlayRef:r}){let i=o_(n,e=>e.selected),a=o_(n,e=>e.active),o=o_(n,e=>e.hovered),s=o_(n,e=>e.zoomTiny),c=(0,v.useMemo)(()=>e.items.filter(e=>NT(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=>Dw(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,I.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,I.jsx)(XD,{placed:e,store:n},e.item.id)),f?(0,I.jsx)(ZD,{placed:f,kind:`hover`}):null,d?(0,I.jsx)(ZD,{placed:d,kind:a===i?`active`:`selected`}):null]})}var $D=12,eO=20,tO=110,nO=.2,rO=400,iO=.2,aO=3,oO=8e3,sO=14,cO=96;function lO({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=o_(n,e=>e.panning),g=o_(n,e=>e.selected),_=o_(n,e=>e.active),y=(0,v.useMemo)(()=>e.items.filter(e=>NT(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<sO;)l*=4;for(;l>cO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+cO)%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(Cw,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))>=iO)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=Ew(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=Ew(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=o_(n,e=>uO(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>=nO&&Dw(e,c)&&e.w*r>=tO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,$D).map(e=>e.item.id),h=[_,g].filter(e=>!!e),v=new Set(y.map(e=>e.item.id)),S=new Set(w.split(`
|
|
125
|
-
`)),C=new Set(b.current),T=performance.now(),E=e=>!S.has(e)&&T-(x.current.get(e)??0)<
|
|
126
|
-
`)),n=[...x.current].filter(([e])=>!t.has(e)).map(([,t])=>t+
|
|
127
|
-
`)}function dO(e){let t=e;return!!t&&(t.isContentEditable||/^(input|textarea|select)$/i.test(t.tagName))}var fO=new URLSearchParams(window.location.search),pO=fO.has(`capture`),mO=(e,t)=>`foss-design.camera.${e}.${t}`;function hO(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 gO(e){let t=h_(),n=fO.get(`theme`),[r,i]=(0,v.useState)(n===`dark`||n===`light`?n:null);return[r??e?.theme??t,i]}function _O({canvasId:e,pageId:t}){let{data:n,error:r,isLoading:i}=Qg(e);if(r)return(0,I.jsx)(Sw,{title:`Canvas not found`,text:r.message});if(i||!n)return(0,I.jsx)(`div`,{className:`canvas-dots grow`});let a=t??fO.get(`page`)??void 0,o=n.pages.find(e=>e.id===a)??n.pages[0];return(0,I.jsx)(vO,{canvas:n,page:o},`${n.id}/${o?.id??``}`)}function vO({canvas:e,page:t}){let[,n]=N(),r=(0,v.useMemo)(()=>RT(),[]),i=(0,v.useMemo)(()=>new Tw,[]),a=(0,v.useRef)(null),[o,s]=gO(e),[c,l]=(0,v.useState)(()=>!pO&&window.innerWidth>900),[u,d]=(0,v.useState)(!1),f=o_(r,e=>e.sizes),p=(0,v.useMemo)(()=>t?IT(t,f):{items:[],sections:[],bounds:{x:0,y:0,w:0,h:0}},[t,f]),m=SO(o_(r,e=>e.frameEls),p),h=VC(m),g=u||h;(0,v.useEffect)(()=>{r.set(e=>e.inspecting===g?e:{...e,inspecting:g,active:null})},[g,r]);let _=BC(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)(()=>LT(p),[p]),x=mO(e.id,t?.id??``),S=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(S.current||!p.bounds.w)return;S.current=!0;let t=i_(e.id),n=pO?null:hO(x);t?(r.set(e=>({...e,selected:t})),requestAnimationFrame(()=>a.current?.fitItem(t,!1))):n&&n.z>=i.minZoom?i.set(n):requestAnimationFrame(()=>pO?a.current?.fitAll(!1):a.current?.openView())},[p,i,x,e.id,r]),(0,v.useEffect)(()=>{if(pO)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&&NT(t)?t.id:null,hovered:null}))},[p,r]),w=(0,v.useCallback)(e=>{C(e),a.current?.fitItem(e)},[C]),T=(0,v.useCallback)(r=>n(`/c/${encodeURIComponent(e.id)}/play/${encodeURIComponent(r)}${t?`?page=${encodeURIComponent(t.id)}`:``}`),[e.id,t,n]);(0,v.useEffect)(()=>{let t=t=>{let n=t.detail;n.canvas===e.id&&p.items.some(e=>e.item.id===n.item)&&(i_(e.id),w(n.item))};return window.addEventListener(`design:focus`,t),()=>window.removeEventListener(`design:focus`,t)},[e.id,p,w]);let E=(0,v.useMemo)(()=>({onGo(r,i){let[a,o]=i.includes(`/`)?i.split(`/`):[null,i],s=a?e.pages.filter(e=>e.id===a):[t,...e.pages.filter(e=>e!==t)];for(let r of s)if(r&&r.sections.some(e=>e.items.some(e=>e.id===o))){r===t?w(o):(n(CT(e,r)),window.dispatchEvent(new CustomEvent(`design:focus`,{detail:{canvas:e.id,item:o}})));return}console.warn(`[design] go("${i}"): no such screen`)},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(!pO)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(dO(i.target)||document.querySelector(`[role="dialog"]`))return;let o=a.current,s=r.get(),c=i.metaKey||i.ctrlKey;if(i.key===`Escape`)_.info?_.select(null):u?d(!1):s.active?r.set(e=>({...e,active:null})):s.selected&&r.set(e=>({...e,selected:null}));else if(i.key===`i`&&!c&&!i.altKey)d(e=>!e);else if(i.shiftKey&&i.code===`Digit1`)o?.fitAll();else if(i.shiftKey&&i.code===`Digit2`&&s.selected)o?.fitItem(s.selected);else if(i.shiftKey&&i.code===`Digit0`)o?.zoomTo(1);else if((i.key===`=`||i.key===`+`)&&!i.altKey)i.preventDefault(),o?.zoomBy(1.4);else if(i.key===`-`&&!i.altKey)i.preventDefault(),o?.zoomBy(1/1.4);else if(c&&i.key===`0`)i.preventDefault(),o?.zoomTo(1);else if(c&&i.key===`\\`)i.preventDefault(),l(e=>!e);else if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`].includes(i.key)&&b.length){i.preventDefault();let e=b.findIndex(e=>e.item.id===s.selected),t=i.key===`ArrowRight`||i.key===`ArrowDown`?1:-1,n=b[e===-1?0:(e+t+b.length)%b.length];r.set(e=>({...e,selected:n.item.id,active:null})),o?.fitItem(n.item.id)}else if(i.key===`Enter`&&s.selected){let e=p.items.find(e=>e.item.id===s.selected)?.item;e&&NT(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(CT(e,a))}};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[r,b,p,T,e,t,n,u,_]),pO?(0,I.jsx)(`div`,{className:`flex h-dvh`,children:(0,I.jsx)(lO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!0,apiRef:a,onPlay:()=>{},onSelect:()=>{}})}):(0,I.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,I.jsx)(TT,{canvas:e,page:t,theme:o,onTheme:s,sidebar:c,onSidebar:l,inspect:u,onInspect:d,onPlay:()=>{let e=r.get().selected,t=e&&b.find(t=>t.item.id===e)||b[0];t&&T(t.item.id)},canPlay:b.length>0}),(0,I.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,I.jsx)(hw,{open:c&&!!t,side:`left`,width:264,children:t?(0,I.jsx)(wT,{canvas:e,page:t,store:r,onPick:w}):null}),(0,I.jsxs)(`div`,{className:`relative min-w-0 grow`,children:[t&&p.items.length?(0,I.jsx)(lO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!1,apiRef:a,onPlay:T,onSelect:C}):(0,I.jsx)(`div`,{className:`canvas-dots flex h-full`,children:(0,I.jsx)(xw,{title:t?`This page is empty`:`This canvas has no pages`,text:(0,I.jsxs)(I.Fragment,{children:[`Add sections and screens to`,` `,(0,I.jsxs)(`code`,{className:`font-mono text-[13px]`,children:[`.design/canvas/`,e.id,`/canvas.json`]}),`.`]})})}),(0,I.jsx)(ET,{canvas:e,store:r,layoutItems:p.items.map(e=>e.item),theme:o,onPlay:T,inspect:g}),(0,I.jsx)(bO,{camera:i,apiRef:a}),e.issues.length?(0,I.jsx)(xO,{canvas:e}):null]}),(0,I.jsx)(hw,{open:u,side:`right`,width:320,children:(0,I.jsx)(ZC,{info:_.info,active:!0,onSelect:e=>_.select(e),onClose:()=>{d(!1),_.select(null)}})})]})]})}function yO({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,I.jsxs)(I.Fragment,{children:[Math.round(t*100),`%`]})}function bO({camera:e,apiRef:t}){return(0,I.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,I.jsx)(j_,{icon:`zoom-out`,label:`Zoom out (−)`,onClick:()=>t.current?.zoomBy(1/1.4)}),(0,I.jsxs)(zS,{side:`top`,align:`end`,width:210,trigger:(0,I.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,I.jsx)(yO,{camera:e})}),children:[(0,I.jsx)(VS,{onSelect:()=>t.current?.fitAll(),hint:`⇧1`,children:`Zoom to fit`}),(0,I.jsx)(VS,{onSelect:()=>t.current?.zoomTo(1),hint:`⇧0`,children:`100%`}),(0,I.jsx)(HS,{}),[.25,.5,2].map(e=>(0,I.jsxs)(VS,{onSelect:()=>t.current?.zoomTo(e),children:[e*100,`%`]},e))]}),(0,I.jsx)(j_,{icon:`zoom-in`,label:`Zoom in (+)`,onClick:()=>t.current?.zoomBy(1.4)}),(0,I.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-rule`}),(0,I.jsx)(j_,{icon:`fit`,label:`Zoom to fit (⇧1)`,onClick:()=>t.current?.fitAll()})]})}function xO({canvas:e}){let t=e.issues.filter(e=>e.severity===`error`).length;return(0,I.jsxs)(bC,{children:[(0,I.jsx)(xC,{asChild:!0,children:(0,I.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,I.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,I.jsx)(SC,{children:(0,I.jsx)(CC,{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,I.jsx)(fw,{issues:e.issues})})})]})}function SO(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 CO(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 wO=(e,t,n)=>`/c/${encodeURIComponent(e)}/play/${encodeURIComponent(t)}?page=${encodeURIComponent(n)}`;function TO({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=Qg(e);return r?(0,I.jsx)(Sw,{title:`Canvas not found`,text:r.message}):i||!n?null:(0,I.jsx)(EO,{canvas:n,itemId:t})}function EO({canvas:e,itemId:t}){let[,n]=N(),{frameSandbox:r,slots:i}=Jg(),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)(()=>CO(e,null),[e]),s=o.find(e=>e.item.id===t),c=a??s?.pageId??null,l=(0,v.useMemo)(()=>c?CO(e,c):o,[e,c,o]),u=l.findIndex(e=>e.item.id===t),d=h_(),[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(wO(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=>{dO(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`&&(M.info?M.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=bT(e.id,j,ee),[ne]=(0,v.useState)(ee),re=j?j.kind===`screen`?RC(j.url,ne):j.url:``,ie=(0,v.useMemo)(()=>y&&j?.kind===`screen`?[y]:[],[y,j?.kind]),ae=VC(ie),M=BC(ie,S||ae,{onEscape:()=>C(!1)}),oe=!!M.info;if((0,v.useEffect)(()=>{oe&&C(!0)},[oe]),(0,v.useEffect)(()=>{let t=_.current;if(t&&j?.kind===`screen`)return D([]),MC(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(wO(e.id,a.item.id,a.pageId))}})},[j,re,o,e.id,n,O]),(0,v.useEffect)(()=>{j?.kind===`screen`&&FC(_.current,ee)},[ee,j]),!j)return(0,I.jsx)(Sw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`});let se=j.frame.width,ce=j.frame.height===`auto`?Math.max(w.h-48,400):j.frame.height,le=m===`fit`?Math.min(1,(w.w-48)/se,(w.h-48)/ce):1,ue=se<=w.w-48&&ce<=w.h-48;return(0,I.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,I.jsxs)(JS,{children:[i.barStart,(0,I.jsx)(vT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Back to canvas `,(0,I.jsx)(__,{children:`esc`})]}),children:(0,I.jsx)(xe,{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,I.jsx)(Z,{name:`arrow-left`,size:16})})}),(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[(0,I.jsx)(`span`,{className:`truncate text-[14px] font-semibold`,children:j.title}),(0,I.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:[e.title,A.where].filter(Boolean).join(` · `)})]}),(0,I.jsxs)(`div`,{className:`mx-auto flex items-center gap-1`,children:[(0,I.jsx)(j_,{icon:`chevron-left`,label:`Previous screen (←)`,onClick:()=>k(-1),disabled:l.length<2}),(0,I.jsxs)(`span`,{className:`min-w-[52px] text-center text-[12.5px] text-muted tabular`,children:[u+1,` / `,l.length]}),(0,I.jsx)(j_,{icon:`chevron-right`,label:`Next screen (→)`,onClick:()=>k(1),disabled:l.length<2})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ue?null:(0,I.jsx)(Ow,{label:`Scale`,value:m,onChange:h,items:[{value:`fit`,label:`Fit`},{value:`actual`,label:`100%`}]}),j.kind===`screen`&&!j.theme?(0,I.jsx)(Ow,{label:`Screen theme`,value:f,onChange:p,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:15}),title:`Light`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:15}),title:`Dark`}]}):null,j.kind===`screen`?(0,I.jsx)(DT,{on:S,onChange:C}):null,(0,I.jsx)(j_,{icon:`refresh`,label:`Reload`,onClick:()=>IC(_.current)}),te?(0,I.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,I.jsx)(Z,{name:`external`,size:16})}):null,(0,I.jsx)(GS,{}),i.barEnd]})]}),i.belowBar,(0,I.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,I.jsxs)(`div`,{ref:g,className:`canvas-dots relative min-w-0 grow ${m===`actual`?`overflow-auto`:`overflow-hidden`}`,children:[E.length?(0,I.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,I.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),E.join(`
|
|
128
|
-
`)]}):null,(0,I.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?se+48:void 0},children:(0,I.jsx)(`div`,{className:`shrink-0 overflow-hidden bg-surface`,style:{width:se*le,height:ce*le,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,I.jsx)(`iframe`,{ref:x,src:re,title:j.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:r,className:`block border-0`,style:{width:se,height:ce,transform:`scale(${le})`,transformOrigin:`0 0`,colorScheme:ee},onLoad:()=>j.kind===`screen`&&FC(_.current,ee)},`${j.id}:${j.kind===`screen`?j.rev:j.url}`)})})]}),(0,I.jsx)(hw,{open:S,side:`right`,width:320,children:(0,I.jsx)(ZC,{info:M.info,active:!0,onSelect:e=>M.select(e),onClose:()=>{C(!1),M.select(null)}})})]})]})}var DO=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],OO=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function kO(e){if(!e)return``;let t=(e-Date.now())/1e3;for(let[e,n]of DO)if(Math.abs(t)>=n)return OO.format(Math.round(t/n),e);return`just now`}function AO(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KB`:`${(e/1024/1024).toFixed(1)} MB`}function jO(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function MO({className:e,style:t}){return(0,I.jsx)(`span`,{"aria-hidden":`true`,className:X(`block animate-pulse rounded-[6px] bg-soft2`,e),style:t})}function NO({rows:e=3,lead:t=28,minH:n=56}){return(0,I.jsx)(`div`,{role:`status`,"aria-label":`Loading`,children:Array.from({length:e},(e,r)=>(0,I.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-rule px-4`,style:{minHeight:n,opacity:1-r*.18},children:[t?(0,I.jsx)(MO,{style:{width:t,height:Math.min(t,n-20)}}):null,(0,I.jsxs)(`span`,{className:`flex min-w-0 grow flex-col gap-1.5`,children:[(0,I.jsx)(MO,{className:`h-3 w-[38%]`}),(0,I.jsx)(MO,{className:`h-2.5 w-[62%]`})]}),(0,I.jsx)(MO,{className:`h-3 w-14`})]},r))})}function PO({canvas:e}){return(0,I.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,I.jsx)(`img`,{src:e.cover,alt:``,className:`h-full w-full object-cover object-top`}):(0,I.jsx)(Z,{name:`canvas`,size:18,className:`text-muted`})})}function FO({actions:e,children:t}){return e?(0,I.jsxs)(`div`,{className:`grid items-center border-t border-rule transition-colors hover:bg-soft`,style:{gridTemplateColumns:`minmax(0,1fr) auto`},children:[t,(0,I.jsx)(`div`,{className:`flex items-center gap-2 pr-4`,children:e})]}):t}function IO({children:e}){return e?(0,I.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 LO({project:e}){let{canvasRowActions:t,canvasesFoot:n}=Jg().slots;return e.canvases.length?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Canvases`,count:e.canvases.length}),e.canvases.map(e=>{let n=t?.(e.id);return(0,I.jsx)(FO,{actions:n,children:(0,I.jsxs)(lw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr) auto auto`,align:`llrr`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,I.jsx)(PO,{canvas:e}),(0,I.jsx)(v_,{top:e.title,bottom:(0,I.jsx)(`span`,{className:`truncate`,children:e.description??e.id})}),(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-[12.5px] whitespace-nowrap text-muted`,children:[e.issues?(0,I.jsx)($C,{tone:`danger`,children:jO(e.issues,`problem`)}):null,jO(e.screens,`screen`),` · `,jO(e.pages,`page`)]}),(0,I.jsx)(`span`,{className:`w-[92px] text-[12.5px] whitespace-nowrap text-muted`,children:kO(e.updatedAt)})]})},e.id)}),(0,I.jsx)(IO,{children:n})]}):(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Canvases`,count:0}),(0,I.jsx)(dw,{children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 py-6 text-center`,children:[(0,I.jsx)(`span`,{className:`text-[14px] text-ink2`,children:`No canvases yet.`}),(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`Ask your agent to design something, or run `,(0,I.jsx)(Q,{children:`design new <name>`}),` in the project.`]})]})}),(0,I.jsx)(IO,{children:n})]})}function RO({project:e}){let t=e.system;return t?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Design system`,right:(0,I.jsx)(M_,{to:`/system`,children:`Open`})}),(0,I.jsxs)(dw,{gap:6,children:[(0,I.jsx)(`span`,{className:`text-[15px] font-semibold`,children:t.name}),t.description?(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:t.description}):null]}),(0,I.jsx)(uw,{label:`Tokens`,labelWidth:120,end:!0,children:(0,I.jsx)(ew,{value:t.tokens})}),(0,I.jsx)(uw,{label:`Components`,labelWidth:120,end:!0,children:(0,I.jsx)(ew,{value:t.components})}),(0,I.jsx)(uw,{label:`Guidelines`,labelWidth:120,end:!0,children:(0,I.jsx)(ew,{value:t.guidelines})}),t.issues?(0,I.jsx)(uw,{label:`Problems`,labelWidth:120,end:!0,children:(0,I.jsx)($C,{tone:`danger`,children:t.issues})}):null]}):(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Design system`}),(0,I.jsx)(dw,{children:(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`No design system yet. Ask your agent to build one from the codebase, or run `,(0,I.jsx)(Q,{children:`design system init`}),`.`]})})]})}function zO(){return(0,I.jsxs)(gw,{children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-2.5 pt-1 pb-1`,children:[(0,I.jsx)(MO,{className:`h-6 w-[220px]`}),(0,I.jsx)(MO,{className:`h-3.5 w-[300px]`})]}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Canvases`}),(0,I.jsx)(NO,{rows:3,lead:86,minH:74})]}),(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Design system`}),(0,I.jsx)(NO,{rows:3,lead:0,minH:40})]})]})]})}function BO(){let{data:e,error:t,isLoading:n}=Zg(),{slots:r}=Jg();return t?(0,I.jsx)(xw,{title:`Could not load the project`,text:t.message}):n||!e?(0,I.jsx)(zO,{}):(0,I.jsxs)(gw,{children:[(0,I.jsx)(_w,{title:e.name,right:r.homeActions,sub:r.homeSub?r.homeSub:e.static?`Snapshot built with foss-design ${e.version}`:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(Q,{size:12.5,children:[e.root,`/.design`]}),` · foss-design `,e.version]})}),(0,I.jsx)(pw,{issues:e.issues,title:`Problems in design.json`}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,I.jsx)(LO,{project:e}),(0,I.jsx)(RO,{project:e})]}),r.homeAfter]})}function VO(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 HO(e,...t){return e.filter(e=>t.includes(e.kind))}function UO(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 WO(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 GO(e,t){return(t===`dark`?e.dark?.value:void 0)??e.light?.value}function KO(){let e=h_(),[t,n]=(0,v.useState)(null);return[t??e,n]}function qO({value:e,onChange:t}){return(0,I.jsx)(Ow,{label:`Theme`,size:`sm`,value:e,onChange:t,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:14}),title:`Light`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:14}),title:`Dark`}]})}function JO({items:e}){return e.length?(0,I.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 gap-y-0.5`,children:e.map(e=>(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e},e))}):null}function YO({title:e,children:t}){return(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:e}),(0,I.jsx)(dw,{children:(0,I.jsx)(`div`,{className:`py-4 text-[13px] text-muted`,children:t})})]})}var XO=`.design/system/tokens.css`;function ZO({children:e,className:t}){return(0,I.jsx)(`span`,{className:`font-mono text-[12px] text-muted [overflow-wrap:anywhere] ${t??``}`,children:e})}function QO({asset:e,index:t}){if(e.kind===`image`)return(0,I.jsx)(`span`,{className:`checker flex h-[132px] items-center justify-center overflow-hidden border-b border-rule`,children:(0,I.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,I.jsxs)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft`,children:[(0,I.jsx)(`style`,{children:`@font-face{font-family:"${n}";src:url("${e.url.replace(/"/g,`%22`)}")}`}),(0,I.jsx)(`span`,{className:`text-[52px] leading-none text-ink`,style:{fontFamily:`"${n}", var(--font-sans)`},children:`Aa`})]})}return(0,I.jsx)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft text-muted`,children:(0,I.jsx)(Z,{name:`file`,size:28})})}function $O({system:e}){return e.assets.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Assets`,sub:`Click an asset to copy its import path.`}),(0,I.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(210px, 1fr))`},children:e.assets.map((e,t)=>(0,I.jsx)(`button`,{type:`button`,title:`Copy the import path`,onClick:()=>AC(`@system/${e.path}`),className:`block cursor-pointer border-0 bg-transparent p-0 text-left`,children:(0,I.jsxs)(tw,{className:`transition-colors hover:border-rule-strong`,children:[(0,I.jsx)(QO,{asset:e,index:t}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-3.5 py-2.5`,children:[(0,I.jsx)(`span`,{className:`truncate text-[13.5px] font-medium text-ink`,children:e.name}),(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[12.5px] text-muted`,children:[(0,I.jsx)(`span`,{className:`shrink-0`,children:AO(e.size)}),(0,I.jsx)(Q,{size:12,className:`truncate`,children:e.path})]})]})]})},e.path))})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Assets`}),(0,I.jsxs)(YO,{title:`No assets`,children:[`Put logos, icons, images and font files in `,(0,I.jsx)(Q,{children:`.design/system/assets`}),`; screens import them as`,` `,(0,I.jsx)(Q,{children:`@system/assets/…`}),`.`]})]})}function ek({color:e,label:t,className:n}){return e?(0,I.jsx)(`span`,{title:`${t}: ${e}`,className:X(`checker relative h-[30px] w-[44px] shrink-0 overflow-hidden rounded-[6px]`,n),children:(0,I.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,I.jsx)(`span`,{className:X(`h-[30px] w-[44px] shrink-0`,n)})}function tk({tokens:e}){let t=e.some(e=>e.dark),n=t=>(0,I.jsxs)(`div`,{className:`relative flex h-9 min-w-0 grow overflow-hidden rounded-[6px]`,children:[(0,I.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,I.jsx)(`button`,{type:`button`,title:`${e.name}: ${n}`,onClick:()=>AC(`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,I.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-rule px-4 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[t?(0,I.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Light`}):null,n(`light`)]}),t?(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Dark`}),n(`dark`)]}):null]})}function nk({token:e}){return(0,I.jsxs)(cw,{cols:`100px minmax(170px, 0.9fr) minmax(0, 1.4fr)`,minH:56,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(ek,{color:e.light?.value,label:`Light`}),e.dark?(0,I.jsx)(ek,{color:e.dark.value,label:`Dark`}):null]}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(JO,{items:VO(e).slice(0,2)})]}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-wrap gap-x-3`,children:[(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),e.dark?(0,I.jsxs)(Q,{size:12,className:`text-muted`,children:[`dark `,e.dark.value]}):null]}),e.description?(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description}):null]})]})}function rk({system:e}){let t=HO(e.tokens,`color`),n=UO(t);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{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,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:e,count:t.length}),(0,I.jsx)(tk,{tokens:t}),t.map(e=>(0,I.jsx)(nk,{token:e},e.name))]},e)):(0,I.jsxs)(YO,{title:`No color tokens`,children:[`Add them to `,(0,I.jsx)(Q,{children:XO}),`: light values in `,(0,I.jsx)(Q,{children:`:root`}),`, dark ones in`,` `,(0,I.jsx)(Q,{children:`:root[data-theme="dark"]`}),`, and map them to Tailwind with `,(0,I.jsx)(Q,{children:`--color-*`}),` in`,` `,(0,I.jsx)(Q,{children:`@theme inline`}),`.`]})]})}function ik({src:e,theme:t,title:n,minHeight:r=120,width:i,className:a}){let o=(0,v.useRef)(null),{frameSandbox:s}=Jg(),[c]=(0,v.useState)(()=>({src:e,theme:t})),l=RC(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([]),MC(e,e=>{e.type===`size`?d(Math.max(r,e.height)):e.type===`ready`?p(!0):e.type===`error`?h(t=>t.includes(e.message)?t:[...t,e.message]):e.type===`updated`&&h([])})},[r,l]),(0,v.useEffect)(()=>{FC(o.current,t)},[t]),(0,I.jsxs)(`div`,{className:X(`relative`,a),style:{width:i},children:[m.length?(0,I.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,I.jsx)(Z,{name:`alert`,size:15,className:`mt-px`}),(0,I.jsx)(`div`,{className:`min-w-0 font-mono break-words`,children:m.join(`
|
|
129
|
-
`)})]}):null,(0,I.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:()=>FC(o.current,t)},l),f?null:(0,I.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted`,children:(0,I.jsx)(Z,{name:`loader`,size:18})})]})}var
|
|
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>${pD(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?pD(n,!0):this.parser.parseInline(r),o=hD(e);if(o===null)return a;e=pD(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+pD(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=hD(e);if(i===null)return pD(n);e=i;let a=`<img src="${pD(e)}" alt="${pD(n)}"`;return t&&(a+=` title="${pD(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:pD(e.text)}},OD=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}},kD=class e{options;renderer;textRenderer;constructor(e){this.options=e||WT,this.options.renderer=this.options.renderer||new DD,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new OD}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}},AD=class{options;block;constructor(e){this.options=e||WT}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?ED.lex:ED.lexInline}provideParser(e=this.block){return e?kD.parse:kD.parseInline}},jD=class{defaults=UT();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=kD;Renderer=DD;TextRenderer=OD;Lexer=ED;Tokenizer=TD;Hooks=AD;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 DD(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 TD(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 AD;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]=AD.passThroughHooks.has(n)?e=>{if(this.defaults.async&&AD.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 ED.lex(e,t??this.defaults)}parser(e,t){return kD.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?ED.lex:ED.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?kD.parse:kD.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?ED.lex:ED.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?kD.parse:kD.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>`+pD(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},MD=new jD;function ND(e,t){return MD.parse(e,t)}ND.options=ND.setOptions=function(e){return MD.setOptions(e),ND.defaults=MD.defaults,GT(ND.defaults),ND},ND.getDefaults=UT,ND.defaults=WT;function PD(...e){return MD.use(...e),ND.defaults=MD.defaults,GT(ND.defaults),ND}ND.use=PD,ND.walkTokens=function(e,t){return MD.walkTokens(e,t)},ND.parseInline=MD.parseInline,ND.Parser=kD,ND.parser=kD.parse,ND.Renderer=DD,ND.TextRenderer=OD,ND.Lexer=ED,ND.lexer=ED.lex,ND.Tokenizer=TD,ND.Hooks=AD,ND.parse=ND,ND.options,ND.setOptions,ND.walkTokens,ND.parseInline,kD.parse,ED.lex;var FD=new Set([`http:`,`https:`,`mailto:`]);function ID(e){let t=e.replace(/[\u0000- \u007f]/g,``),n=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1];return!n||FD.has(`${n.toLowerCase()}:`)}function LD(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var RD=new jD({gfm:!0,breaks:!1},{renderer:{html:({text:e})=>LD(e),link(e){return!ID(e.href)&&this.parser.parseInline(e.tokens)},image(e){return!ID(e.href)&&LD(e.text)}}});function zD(e){return RD.parse(e,{async:!1}).replace(/<a href=/g,`<a target="_blank" rel="noreferrer" href=`)}function BD({text:e,className:t}){let n=(0,v.useMemo)(()=>zD(e),[e]);return(0,I.jsx)(`div`,{className:X(`prose`,t),dangerouslySetInnerHTML:{__html:n}})}function VD(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(()=>BT(e,t,{h:i.offsetHeight}));return a.observe(i),()=>a.disconnect()},[e,t,n]),r}function HD(e){return e<600?`smartphone`:e<1100?`tablet`:`monitor`}var UD=(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}=Jg(),m=(0,v.useCallback)(e=>{f.current=e,HT(i,s.id,e)},[i,s.id]),h=o_(i,e=>e.frames[s.id]),g=o_(i,e=>e.active===s.id),_=o_(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`?RC(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&&VT(i,s.id,{ready:!1})},[T,i,s.id]),(0,v.useEffect)(()=>{let e=f.current;if(e&&!T&&s.kind===`screen`)return MC(e,t=>{switch(t.type){case`ready`:VT(i,s.id,{ready:!0}),PC(e);break;case`size`:y&&BT(i,s.id,{h:Math.max(200,t.height)});break;case`error`:{let e=i.get().frames[s.id]?.errors??[];e.includes(t.message)||VT(i,s.id,{errors:[...e,t.message]});break}case`updated`:VT(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`&&FC(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,I.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,I.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,I.jsx)(WD,{item:s,loading:E}):null,E?(0,I.jsx)(`div`,{className:`absolute inset-0`,style:{contentVisibility:j?`hidden`:`visible`},children:(0,I.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`?VT(i,s.id,{ready:!0}):(FC(f.current,b),PC(f.current))}},x)}):null,g||_?null:(0,I.jsx)(`div`,{"data-shield":s.id,className:`absolute inset-0`})]})});function WD({item:e,loading:t}){let n=e.kind===`screen`&&e.missing;return(0,I.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-soft text-muted`,children:[(0,I.jsx)(Z,{name:n?`alert`:e.kind===`url`?`globe`:HD(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,I.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 GD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a}=e,o=VD(t,n.id),s=n.tone===`plain`;return(0,I.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,I.jsx)(`div`,{className:`mb-2 font-semibold text-ink`,style:{fontSize:s?26:19},children:n.title}):null,(0,I.jsx)(BD,{text:n.text,className:s?`prose-plain`:`prose-note`})]})}),KD=(0,v.memo)(function({placed:e,store:t}){let{item:n,x:r,y:i,w:a,h:o}=e;return(0,I.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,I.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-danger-text`,children:[(0,I.jsx)(Z,{name:`alert`,size:20}),` Missing image`]}):(0,I.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;BT(t,n.id,{w:r.naturalWidth,h:r.naturalHeight})}})})}),qD=(0,v.memo)(function({section:e,x:t,y:n,w:r,store:i}){let a=VD(i,`section:${e.id}`);return!e.title&&!e.description?null:(0,I.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,I.jsx)(`div`,{className:`text-[40px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink`,children:e.title}):null,e.description?(0,I.jsx)(`div`,{className:`mt-3 max-w-[1100px]`,children:(0,I.jsx)(BD,{text:e.description,className:`prose-plain`})}):null]})}),JD={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(JD);var YD=e=>({"--x":e.x,"--y":e.y,"--w":e.w,"--h":e.h});function XD(e){let t=e.item;if(t.kind!==`screen`&&t.kind!==`url`)return``;let n=t.frame.device?JD[t.frame.device]?.label:void 0,r=`${t.frame.width} × ${t.frame.height===`auto`?`auto`:t.frame.height}`;return n?`${n} · ${r}`:r}var ZD=(0,v.memo)(function({placed:e,store:t}){let n=e.item.id,r=o_(t,e=>e.selected===n),i=o_(t,e=>e.frames[n]?.errors.length??0);return(0,I.jsxs)(`div`,{"data-at":``,"data-label":n,style:YD(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,I.jsx)(`span`,{className:`size-[7px] shrink-0 rounded-full bg-danger`,title:`${i} errors`}):null,(0,I.jsx)(`span`,{className:X(`min-w-[3ch] truncate`,r?`font-semibold`:`font-medium`),children:e.item.title}),(0,I.jsx)(`span`,{className:`frame-device min-w-0 shrink-[20] truncate text-[11.5px] text-muted opacity-80`,children:XD(e)})]})});function QD({placed:e,kind:t}){return(0,I.jsx)(`div`,{"data-at":``,style:YD(e),className:X(`frame-outline rounded-[1px]`,t===`hover`?`outline outline-[1.5px] outline-action/60`:`outline-2 outline-action outline`)})}function $D({layout:e,view:t,store:n,overlayRef:r}){let i=o_(n,e=>e.selected),a=o_(n,e=>e.active),o=o_(n,e=>e.hovered),s=o_(n,e=>e.zoomTiny),c=(0,v.useMemo)(()=>e.items.filter(e=>PT(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=>Ow(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,I.jsxs)(`div`,{ref:r,className:`canvas-overlay`,"data-tiny":s,children:[l.map(e=>(0,I.jsx)(ZD,{placed:e,store:n},e.item.id)),f?(0,I.jsx)(QD,{placed:f,kind:`hover`}):null,d?(0,I.jsx)(QD,{placed:d,kind:a===i?`active`:`selected`}):null]})}var eO=12,tO=20,nO=110,rO=.2,iO=400,aO=.2,oO=3,sO=8e3,cO=14,lO=96;function uO({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=o_(n,e=>e.panning),g=o_(n,e=>e.selected),_=o_(n,e=>e.active),y=(0,v.useMemo)(()=>e.items.filter(e=>PT(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<cO;)l*=4;for(;l>lO;)l/=4;l!==c&&(c=l,i.style.backgroundSize=`${l}px ${l}px`);let u=e=>((e+lO)%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(ww,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))>=aO)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=Dw(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=Dw(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=o_(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>=rO&&Ow(e,c)&&e.w*r>=nO).sort((e,t)=>d(t)-d(e)||f(e)-f(t)).slice(0,eO).map(e=>e.item.id),h=[_,g].filter(e=>!!e),v=new Set(y.map(e=>e.item.id)),S=new Set(w.split(`
|
|
125
|
+
`)),C=new Set(b.current),T=performance.now(),E=e=>!S.has(e)&&T-(x.current.get(e)??0)<sO,D=oO-[...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,tO);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+sO-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`&&!fO(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 re=e.sections;return(0,I.jsxs)(`div`,{ref:l,className:X(`canvas-root relative h-full w-full touch-none overflow-hidden select-none`,h&&`canvas-panning cursor-grabbing`),onPointerDown:ee,onPointerMove:te,onPointerUp: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&&PT(r.item)&&s(r.item.id)},children:[(0,I.jsx)(`div`,{ref:d,className:`canvas-grid`}),(0,I.jsxs)(`div`,{ref:u,className:`canvas-world`,children:[re.map(e=>(0,I.jsx)(qD,{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,I.jsx)(UD,{placed:e,mode:T.get(r.id)??`off`,thumb:!a&&!!p&&e.w*p.z*devicePixelRatio<=iO,theme:t,store:n,events:i,capture:a},r.id):r.kind===`note`?(0,I.jsx)(GD,{placed:e,store:n},r.id):(0,I.jsx)(KD,{placed:e,store:n},r.id)})]}),(0,I.jsx)($D,{layout:e,view:p,store:n,overlayRef:f})]})}function dO(e){return Object.keys(e).filter(t=>e[t].ready).sort().join(`
|
|
127
|
+
`)}function fO(e){let t=e;return!!t&&(t.isContentEditable||/^(input|textarea|select)$/i.test(t.tagName))}var pO=new URLSearchParams(window.location.search),mO=pO.has(`capture`),hO=(e,t)=>`foss-design.camera.${e}.${t}`;function gO(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 _O(e){let t=h_(),n=pO.get(`theme`),[r,i]=(0,v.useState)(n===`dark`||n===`light`?n:null);return[r??e?.theme??t,i]}function vO({canvasId:e,pageId:t}){let{data:n,error:r,isLoading:i}=Qg(e);if(r)return(0,I.jsx)(Cw,{title:`Canvas not found`,text:r.message});if(i||!n)return(0,I.jsx)(`div`,{className:`canvas-dots grow`});let a=t??pO.get(`page`)??void 0,o=n.pages.find(e=>e.id===a)??n.pages[0];return(0,I.jsx)(yO,{canvas:n,page:o},`${n.id}/${o?.id??``}`)}function yO({canvas:e,page:t}){let[,n]=N(),r=(0,v.useMemo)(()=>zT(),[]),i=(0,v.useMemo)(()=>new Ew,[]),a=(0,v.useRef)(null),[o,s]=_O(e),[c,l]=(0,v.useState)(()=>!mO&&window.innerWidth>900),[u,d]=(0,v.useState)(!1),f=o_(r,e=>e.sizes),p=(0,v.useMemo)(()=>t?LT(t,f):{items:[],sections:[],bounds:{x:0,y:0,w:0,h:0}},[t,f]),m=CO(o_(r,e=>e.frameEls),p),h=HC(m),g=u||h;(0,v.useEffect)(()=>{r.set(e=>e.inspecting===g?e:{...e,inspecting:g,active:null})},[g,r]);let _=VC(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)(()=>RT(p),[p]),x=hO(e.id,t?.id??``),S=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(S.current||!p.bounds.w)return;S.current=!0;let t=i_(e.id),n=mO?null:gO(x);t?(r.set(e=>({...e,selected:t})),requestAnimationFrame(()=>a.current?.fitItem(t,!1))):n&&n.z>=i.minZoom?i.set(n):requestAnimationFrame(()=>mO?a.current?.fitAll(!1):a.current?.openView())},[p,i,x,e.id,r]),(0,v.useEffect)(()=>{if(mO)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&&PT(t)?t.id:null,hovered:null}))},[p,r]),w=(0,v.useCallback)(e=>{C(e),a.current?.fitItem(e)},[C]),T=(0,v.useCallback)(r=>n(`/c/${encodeURIComponent(e.id)}/play/${encodeURIComponent(r)}${t?`?page=${encodeURIComponent(t.id)}`:``}`),[e.id,t,n]);(0,v.useEffect)(()=>{let t=t=>{let n=t.detail;n.canvas===e.id&&p.items.some(e=>e.item.id===n.item)&&(i_(e.id),w(n.item))};return window.addEventListener(`design:focus`,t),()=>window.removeEventListener(`design:focus`,t)},[e.id,p,w]);let E=(0,v.useMemo)(()=>({onGo(r,i){let[a,o]=i.includes(`/`)?i.split(`/`):[null,i],s=a?e.pages.filter(e=>e.id===a):[t,...e.pages.filter(e=>e!==t)];for(let r of s)if(r&&r.sections.some(e=>e.items.some(e=>e.id===o))){r===t?w(o):(n(wT(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){BC(n,e,e=>this.onGo(t,e))},onWheel(e,t){let n=e.closest(`.canvas-root`);if(!n)return;let r=n.getBoundingClientRect(),a=e.getBoundingClientRect(),o=i.camera.z;if(t.zoom){let e=Math.abs(t.deltaY)<40?.012:.0025;i.zoomAt(a.left-r.left+t.x*o,a.top-r.top+t.y*o,Math.exp(-t.deltaY*e))}else i.panBy(-t.deltaX,-t.deltaY)},onEscape(){r.set(e=>({...e,active:null}))}}),[e,t,i,r,w,n]);return(0,v.useEffect)(()=>{if(!mO)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(fO(i.target)||document.querySelector(`[role="dialog"]`))return;let o=a.current,s=r.get(),c=i.metaKey||i.ctrlKey;if(i.key===`Escape`)_.info?_.select(null):u?d(!1):s.active?r.set(e=>({...e,active:null})):s.selected&&r.set(e=>({...e,selected:null}));else if(i.key===`i`&&!c&&!i.altKey)d(e=>!e);else if(i.shiftKey&&i.code===`Digit1`)o?.fitAll();else if(i.shiftKey&&i.code===`Digit2`&&s.selected)o?.fitItem(s.selected);else if(i.shiftKey&&i.code===`Digit0`)o?.zoomTo(1);else if((i.key===`=`||i.key===`+`)&&!i.altKey)i.preventDefault(),o?.zoomBy(1.4);else if(i.key===`-`&&!i.altKey)i.preventDefault(),o?.zoomBy(1/1.4);else if(c&&i.key===`0`)i.preventDefault(),o?.zoomTo(1);else if(c&&i.key===`\\`)i.preventDefault(),l(e=>!e);else if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`].includes(i.key)&&b.length){i.preventDefault();let e=b.findIndex(e=>e.item.id===s.selected),t=i.key===`ArrowRight`||i.key===`ArrowDown`?1:-1,n=b[e===-1?0:(e+t+b.length)%b.length];r.set(e=>({...e,selected:n.item.id,active:null})),o?.fitItem(n.item.id)}else if(i.key===`Enter`&&s.selected){let e=p.items.find(e=>e.item.id===s.selected)?.item;e&&PT(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(wT(e,a))}};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[r,b,p,T,e,t,n,u,_]),mO?(0,I.jsx)(`div`,{className:`flex h-dvh`,children:(0,I.jsx)(uO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!0,apiRef:a,onPlay:()=>{},onSelect:()=>{}})}):(0,I.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,I.jsx)(ET,{canvas:e,page:t,theme:o,onTheme:s,sidebar:c,onSidebar:l,inspect:u,onInspect:d,onPlay:()=>{let e=r.get().selected,t=e&&b.find(t=>t.item.id===e)||b[0];t&&T(t.item.id)},canPlay:b.length>0}),(0,I.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,I.jsx)(gw,{open:c&&!!t,side:`left`,width:264,children:t?(0,I.jsx)(TT,{canvas:e,page:t,store:r,onPick:w}):null}),(0,I.jsxs)(`div`,{className:`relative min-w-0 grow`,children:[t&&p.items.length?(0,I.jsx)(uO,{layout:p,theme:o,store:r,camera:i,events:E,capture:!1,apiRef:a,onPlay:T,onSelect:C}):(0,I.jsx)(`div`,{className:`canvas-dots flex h-full`,children:(0,I.jsx)(Sw,{title:t?`This page is empty`:`This canvas has no pages`,text:(0,I.jsxs)(I.Fragment,{children:[`Add sections and screens to`,` `,(0,I.jsxs)(`code`,{className:`font-mono text-[13px]`,children:[`.design/canvas/`,e.id,`/canvas.json`]}),`.`]})})}),(0,I.jsx)(DT,{canvas:e,store:r,layoutItems:p.items.map(e=>e.item),theme:o,onPlay:T,inspect:g}),(0,I.jsx)(xO,{camera:i,apiRef:a}),e.issues.length?(0,I.jsx)(SO,{canvas:e}):null]}),(0,I.jsx)(gw,{open:u,side:`right`,width:320,children:(0,I.jsx)(QC,{info:_.info,active:!0,onSelect:e=>_.select(e),onClose:()=>{d(!1),_.select(null)}})})]})]})}function bO({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,I.jsxs)(I.Fragment,{children:[Math.round(t*100),`%`]})}function xO({camera:e,apiRef:t}){return(0,I.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,I.jsx)(j_,{icon:`zoom-out`,label:`Zoom out (−)`,onClick:()=>t.current?.zoomBy(1/1.4)}),(0,I.jsxs)(zS,{side:`top`,align:`end`,width:210,trigger:(0,I.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,I.jsx)(bO,{camera:e})}),children:[(0,I.jsx)(VS,{onSelect:()=>t.current?.fitAll(),hint:`⇧1`,children:`Zoom to fit`}),(0,I.jsx)(VS,{onSelect:()=>t.current?.zoomTo(1),hint:`⇧0`,children:`100%`}),(0,I.jsx)(HS,{}),[.25,.5,2].map(e=>(0,I.jsxs)(VS,{onSelect:()=>t.current?.zoomTo(e),children:[e*100,`%`]},e))]}),(0,I.jsx)(j_,{icon:`zoom-in`,label:`Zoom in (+)`,onClick:()=>t.current?.zoomBy(1.4)}),(0,I.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-rule`}),(0,I.jsx)(j_,{icon:`fit`,label:`Zoom to fit (⇧1)`,onClick:()=>t.current?.fitAll()})]})}function SO({canvas:e}){let t=e.issues.filter(e=>e.severity===`error`).length;return(0,I.jsxs)(bC,{children:[(0,I.jsx)(xC,{asChild:!0,children:(0,I.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,I.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,I.jsx)(SC,{children:(0,I.jsx)(CC,{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,I.jsx)(pw,{issues:e.issues})})})]})}function CO(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 wO(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 TO=(e,t,n)=>`/c/${encodeURIComponent(e)}/play/${encodeURIComponent(t)}?page=${encodeURIComponent(n)}`;function EO({canvasId:e,itemId:t}){let{data:n,error:r,isLoading:i}=Qg(e);return r?(0,I.jsx)(Cw,{title:`Canvas not found`,text:r.message}):i||!n?null:(0,I.jsx)(DO,{canvas:n,itemId:t})}function DO({canvas:e,itemId:t}){let[,n]=N(),{frameSandbox:r,slots:i}=Jg(),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)(()=>wO(e,null),[e]),s=o.find(e=>e.item.id===t),c=a??s?.pageId??null,l=(0,v.useMemo)(()=>c?wO(e,c):o,[e,c,o]),u=l.findIndex(e=>e.item.id===t),d=h_(),[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(TO(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=>{fO(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`&&(M.info?M.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=xT(e.id,j,ee),[ne]=(0,v.useState)(ee),re=j?j.kind===`screen`?RC(j.url,ne):j.url:``,ie=(0,v.useMemo)(()=>y&&j?.kind===`screen`?[y]:[],[y,j?.kind]),ae=HC(ie),M=VC(ie,S||ae,{onEscape:()=>C(!1)}),oe=!!M.info;if((0,v.useEffect)(()=>{oe&&C(!0)},[oe]),(0,v.useEffect)(()=>{let t=_.current;if(t&&j?.kind===`screen`)return D([]),MC(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(TO(e.id,a.item.id,a.pageId))}else t.type===`link`&&BC(t,e,t=>{let r=o.find(e=>e.item.id===t);r&&n(TO(e.id,r.item.id,r.pageId))})})},[j,re,o,e.id,n,O]),(0,v.useEffect)(()=>{j?.kind===`screen`&&FC(_.current,ee)},[ee,j]),!j)return(0,I.jsx)(Cw,{title:`Screen not found`,text:`No screen "${t}" on this canvas.`});let se=j.frame.width,ce=j.frame.height===`auto`?Math.max(w.h-48,400):j.frame.height,le=m===`fit`?Math.min(1,(w.w-48)/se,(w.h-48)/ce):1,ue=se<=w.w-48&&ce<=w.h-48;return(0,I.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,I.jsxs)(JS,{children:[i.barStart,(0,I.jsx)(yT,{content:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Back to canvas `,(0,I.jsx)(__,{children:`esc`})]}),children:(0,I.jsx)(xe,{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,I.jsx)(Z,{name:`arrow-left`,size:16})})}),(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[(0,I.jsx)(`span`,{className:`truncate text-[14px] font-semibold`,children:j.title}),(0,I.jsx)(`span`,{className:`truncate text-[12px] text-muted`,children:[e.title,A.where].filter(Boolean).join(` · `)})]}),(0,I.jsxs)(`div`,{className:`mx-auto flex items-center gap-1`,children:[(0,I.jsx)(j_,{icon:`chevron-left`,label:`Previous screen (←)`,onClick:()=>k(-1),disabled:l.length<2}),(0,I.jsxs)(`span`,{className:`min-w-[52px] text-center text-[12.5px] text-muted tabular`,children:[u+1,` / `,l.length]}),(0,I.jsx)(j_,{icon:`chevron-right`,label:`Next screen (→)`,onClick:()=>k(1),disabled:l.length<2})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ue?null:(0,I.jsx)(kw,{label:`Scale`,value:m,onChange:h,items:[{value:`fit`,label:`Fit`},{value:`actual`,label:`100%`}]}),j.kind===`screen`&&!j.theme?(0,I.jsx)(kw,{label:`Screen theme`,value:f,onChange:p,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:15}),title:`Light`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:15}),title:`Dark`}]}):null,j.kind===`screen`?(0,I.jsx)(OT,{on:S,onChange:C}):null,(0,I.jsx)(j_,{icon:`refresh`,label:`Reload`,onClick:()=>IC(_.current)}),te?(0,I.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,I.jsx)(Z,{name:`external`,size:16})}):null,(0,I.jsx)(GS,{}),i.barEnd]})]}),i.belowBar,(0,I.jsxs)(`div`,{className:`flex min-h-0 grow`,children:[(0,I.jsxs)(`div`,{ref:g,className:`canvas-dots relative min-w-0 grow ${m===`actual`?`overflow-auto`:`overflow-hidden`}`,children:[E.length?(0,I.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,I.jsx)(Z,{name:`alert`,size:14,className:`mt-px`}),E.join(`
|
|
128
|
+
`)]}):null,(0,I.jsx)(`div`,{className:`flex min-h-full min-w-full items-center justify-center p-6`,style:{width:m===`actual`?se+48:void 0},children:(0,I.jsx)(`div`,{className:`shrink-0 overflow-hidden bg-surface`,style:{width:se*le,height:ce*le,boxShadow:`var(--shadow-frame), 0 0 0 1px var(--rule)`},children:(0,I.jsx)(`iframe`,{ref:x,src:re,title:j.title,allow:`clipboard-read; clipboard-write; fullscreen`,sandbox:r,className:`block border-0`,style:{width:se,height:ce,transform:`scale(${le})`,transformOrigin:`0 0`,colorScheme:ee},onLoad:()=>j.kind===`screen`&&FC(_.current,ee)},`${j.id}:${j.kind===`screen`?j.rev:j.url}`)})})]}),(0,I.jsx)(gw,{open:S,side:`right`,width:320,children:(0,I.jsx)(QC,{info:M.info,active:!0,onSelect:e=>M.select(e),onClose:()=>{C(!1),M.select(null)}})})]})]})}var OO=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],kO=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function AO(e){if(!e)return``;let t=(e-Date.now())/1e3;for(let[e,n]of OO)if(Math.abs(t)>=n)return kO.format(Math.round(t/n),e);return`just now`}function jO(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KB`:`${(e/1024/1024).toFixed(1)} MB`}function MO(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function NO({className:e,style:t}){return(0,I.jsx)(`span`,{"aria-hidden":`true`,className:X(`block animate-pulse rounded-[6px] bg-soft2`,e),style:t})}function PO({rows:e=3,lead:t=28,minH:n=56}){return(0,I.jsx)(`div`,{role:`status`,"aria-label":`Loading`,children:Array.from({length:e},(e,r)=>(0,I.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-rule px-4`,style:{minHeight:n,opacity:1-r*.18},children:[t?(0,I.jsx)(NO,{style:{width:t,height:Math.min(t,n-20)}}):null,(0,I.jsxs)(`span`,{className:`flex min-w-0 grow flex-col gap-1.5`,children:[(0,I.jsx)(NO,{className:`h-3 w-[38%]`}),(0,I.jsx)(NO,{className:`h-2.5 w-[62%]`})]}),(0,I.jsx)(NO,{className:`h-3 w-14`})]},r))})}function FO({canvas:e}){return(0,I.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,I.jsx)(`img`,{src:e.cover,alt:``,className:`h-full w-full object-cover object-top`}):(0,I.jsx)(Z,{name:`canvas`,size:18,className:`text-muted`})})}function IO({actions:e,children:t}){return e?(0,I.jsxs)(`div`,{className:`grid items-center border-t border-rule transition-colors hover:bg-soft`,style:{gridTemplateColumns:`minmax(0,1fr) auto`},children:[t,(0,I.jsx)(`div`,{className:`flex items-center gap-2 pr-4`,children:e})]}):t}function LO({children:e}){return e?(0,I.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 RO({project:e}){let{canvasRowActions:t,canvasesFoot:n}=Jg().slots;return e.canvases.length?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Canvases`,count:e.canvases.length}),e.canvases.map(e=>{let n=t?.(e.id);return(0,I.jsx)(IO,{actions:n,children:(0,I.jsxs)(uw,{to:`/c/${encodeURIComponent(e.id)}`,cols:`86px minmax(0,1fr) auto auto`,align:`llrr`,pad:`10px 16px`,minH:74,first:!!n,children:[(0,I.jsx)(FO,{canvas:e}),(0,I.jsx)(v_,{top:e.title,bottom:(0,I.jsx)(`span`,{className:`truncate`,children:e.description??e.id})}),(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-[12.5px] whitespace-nowrap text-muted`,children:[e.issues?(0,I.jsx)(ew,{tone:`danger`,children:MO(e.issues,`problem`)}):null,MO(e.screens,`screen`),` · `,MO(e.pages,`page`)]}),(0,I.jsx)(`span`,{className:`w-[92px] text-[12.5px] whitespace-nowrap text-muted`,children:AO(e.updatedAt)})]})},e.id)}),(0,I.jsx)(LO,{children:n})]}):(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Canvases`,count:0}),(0,I.jsx)(fw,{children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 py-6 text-center`,children:[(0,I.jsx)(`span`,{className:`text-[14px] text-ink2`,children:`No canvases yet.`}),(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`Ask your agent to design something, or run `,(0,I.jsx)(Q,{children:`design new <name>`}),` in the project.`]})]})}),(0,I.jsx)(LO,{children:n})]})}function zO({project:e}){let t=e.system;return t?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Design system`,right:(0,I.jsx)(M_,{to:`/system`,children:`Open`})}),(0,I.jsxs)(fw,{gap:6,children:[(0,I.jsx)(`span`,{className:`text-[15px] font-semibold`,children:t.name}),t.description?(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:t.description}):null]}),(0,I.jsx)(dw,{label:`Tokens`,labelWidth:120,end:!0,children:(0,I.jsx)(tw,{value:t.tokens})}),(0,I.jsx)(dw,{label:`Components`,labelWidth:120,end:!0,children:(0,I.jsx)(tw,{value:t.components})}),(0,I.jsx)(dw,{label:`Guidelines`,labelWidth:120,end:!0,children:(0,I.jsx)(tw,{value:t.guidelines})}),t.issues?(0,I.jsx)(dw,{label:`Problems`,labelWidth:120,end:!0,children:(0,I.jsx)(ew,{tone:`danger`,children:t.issues})}):null]}):(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Design system`}),(0,I.jsx)(fw,{children:(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`No design system yet. Ask your agent to build one from the codebase, or run `,(0,I.jsx)(Q,{children:`design system init`}),`.`]})})]})}function BO(){return(0,I.jsxs)(_w,{children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-2.5 pt-1 pb-1`,children:[(0,I.jsx)(NO,{className:`h-6 w-[220px]`}),(0,I.jsx)(NO,{className:`h-3.5 w-[300px]`})]}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Canvases`}),(0,I.jsx)(PO,{rows:3,lead:86,minH:74})]}),(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Design system`}),(0,I.jsx)(PO,{rows:3,lead:0,minH:40})]})]})]})}function VO(){let{data:e,error:t,isLoading:n}=Zg(),{slots:r}=Jg();return t?(0,I.jsx)(Sw,{title:`Could not load the project`,text:t.message}):n||!e?(0,I.jsx)(BO,{}):(0,I.jsxs)(_w,{children:[(0,I.jsx)(vw,{title:e.name,right:r.homeActions,sub:r.homeSub?r.homeSub:e.static?`Snapshot built with foss-design ${e.version}`:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(Q,{size:12.5,children:[e.root,`/.design`]}),` · foss-design `,e.version]})}),(0,I.jsx)(mw,{issues:e.issues,title:`Problems in design.json`}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-lg:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 340px`},children:[(0,I.jsx)(RO,{project:e}),(0,I.jsx)(zO,{project:e})]}),r.homeAfter]})}function HO(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 UO(e,...t){return e.filter(e=>t.includes(e.kind))}function WO(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 GO(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 KO(e,t){return(t===`dark`?e.dark?.value:void 0)??e.light?.value}function qO(){let e=h_(),[t,n]=(0,v.useState)(null);return[t??e,n]}function JO({value:e,onChange:t}){return(0,I.jsx)(kw,{label:`Theme`,size:`sm`,value:e,onChange:t,items:[{value:`light`,label:(0,I.jsx)(Z,{name:`sun`,size:14}),title:`Light`},{value:`dark`,label:(0,I.jsx)(Z,{name:`moon`,size:14}),title:`Dark`}]})}function YO({items:e}){return e.length?(0,I.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 gap-y-0.5`,children:e.map(e=>(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e},e))}):null}function XO({title:e,children:t}){return(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:e}),(0,I.jsx)(fw,{children:(0,I.jsx)(`div`,{className:`py-4 text-[13px] text-muted`,children:t})})]})}var ZO=`.design/system/tokens.css`;function QO({children:e,className:t}){return(0,I.jsx)(`span`,{className:`font-mono text-[12px] text-muted [overflow-wrap:anywhere] ${t??``}`,children:e})}function $O({asset:e,index:t}){if(e.kind===`image`)return(0,I.jsx)(`span`,{className:`checker flex h-[132px] items-center justify-center overflow-hidden border-b border-rule`,children:(0,I.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,I.jsxs)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft`,children:[(0,I.jsx)(`style`,{children:`@font-face{font-family:"${n}";src:url("${e.url.replace(/"/g,`%22`)}")}`}),(0,I.jsx)(`span`,{className:`text-[52px] leading-none text-ink`,style:{fontFamily:`"${n}", var(--font-sans)`},children:`Aa`})]})}return(0,I.jsx)(`span`,{className:`flex h-[132px] items-center justify-center border-b border-rule bg-soft text-muted`,children:(0,I.jsx)(Z,{name:`file`,size:28})})}function ek({system:e}){return e.assets.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Assets`,sub:`Click an asset to copy its import path.`}),(0,I.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(210px, 1fr))`},children:e.assets.map((e,t)=>(0,I.jsx)(`button`,{type:`button`,title:`Copy the import path`,onClick:()=>AC(`@system/${e.path}`),className:`block cursor-pointer border-0 bg-transparent p-0 text-left`,children:(0,I.jsxs)(nw,{className:`transition-colors hover:border-rule-strong`,children:[(0,I.jsx)($O,{asset:e,index:t}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-3.5 py-2.5`,children:[(0,I.jsx)(`span`,{className:`truncate text-[13.5px] font-medium text-ink`,children:e.name}),(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[12.5px] text-muted`,children:[(0,I.jsx)(`span`,{className:`shrink-0`,children:jO(e.size)}),(0,I.jsx)(Q,{size:12,className:`truncate`,children:e.path})]})]})]})},e.path))})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Assets`}),(0,I.jsxs)(XO,{title:`No assets`,children:[`Put logos, icons, images and font files in `,(0,I.jsx)(Q,{children:`.design/system/assets`}),`; screens import them as`,` `,(0,I.jsx)(Q,{children:`@system/assets/…`}),`.`]})]})}function tk({color:e,label:t,className:n}){return e?(0,I.jsx)(`span`,{title:`${t}: ${e}`,className:X(`checker relative h-[30px] w-[44px] shrink-0 overflow-hidden rounded-[6px]`,n),children:(0,I.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,I.jsx)(`span`,{className:X(`h-[30px] w-[44px] shrink-0`,n)})}function nk({tokens:e}){let t=e.some(e=>e.dark),n=t=>(0,I.jsxs)(`div`,{className:`relative flex h-9 min-w-0 grow overflow-hidden rounded-[6px]`,children:[(0,I.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,I.jsx)(`button`,{type:`button`,title:`${e.name}: ${n}`,onClick:()=>AC(`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,I.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-rule px-4 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[t?(0,I.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Light`}):null,n(`light`)]}),t?(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(`span`,{className:`w-9 shrink-0 text-[12px] text-muted`,children:`Dark`}),n(`dark`)]}):null]})}function rk({token:e}){return(0,I.jsxs)(lw,{cols:`100px minmax(170px, 0.9fr) minmax(0, 1.4fr)`,minH:56,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(tk,{color:e.light?.value,label:`Light`}),e.dark?(0,I.jsx)(tk,{color:e.dark.value,label:`Dark`}):null]}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(YO,{items:HO(e).slice(0,2)})]}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-wrap gap-x-3`,children:[(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),e.dark?(0,I.jsxs)(Q,{size:12,className:`text-muted`,children:[`dark `,e.dark.value]}):null]}),e.description?(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description}):null]})]})}function ik({system:e}){let t=UO(e.tokens,`color`),n=WO(t);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{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,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:e,count:t.length}),(0,I.jsx)(nk,{tokens:t}),t.map(e=>(0,I.jsx)(rk,{token:e},e.name))]},e)):(0,I.jsxs)(XO,{title:`No color tokens`,children:[`Add them to `,(0,I.jsx)(Q,{children:ZO}),`: light values in `,(0,I.jsx)(Q,{children:`:root`}),`, dark ones in`,` `,(0,I.jsx)(Q,{children:`:root[data-theme="dark"]`}),`, and map them to Tailwind with `,(0,I.jsx)(Q,{children:`--color-*`}),` in`,` `,(0,I.jsx)(Q,{children:`@theme inline`}),`.`]})]})}function ak({src:e,theme:t,title:n,minHeight:r=120,width:i,className:a}){let o=(0,v.useRef)(null),{frameSandbox:s}=Jg(),[c]=(0,v.useState)(()=>({src:e,theme:t})),l=RC(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([]),MC(e,e=>{e.type===`size`?d(Math.max(r,e.height)):e.type===`ready`?p(!0):e.type===`error`?h(t=>t.includes(e.message)?t:[...t,e.message]):e.type===`updated`&&h([])})},[r,l]),(0,v.useEffect)(()=>{FC(o.current,t)},[t]),(0,I.jsxs)(`div`,{className:X(`relative`,a),style:{width:i},children:[m.length?(0,I.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,I.jsx)(Z,{name:`alert`,size:15,className:`mt-px`}),(0,I.jsx)(`div`,{className:`min-w-0 font-mono break-words`,children:m.join(`
|
|
129
|
+
`)})]}):null,(0,I.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:()=>FC(o.current,t)},l),f?null:(0,I.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted`,children:(0,I.jsx)(Z,{name:`loader`,size:18})})]})}var ok=`identifier keyword string class property entity jsxliterals sign comment break space`.split(` `),[sk,ck,lk,uk,dk,fk,pk,mk,hk,gk,_k]=ok.map((e,t)=>t);new Map(ok.map((e,t)=>[e,t]));function vk(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:ok[e],value:t})),annotations:[]})}for(let e=0;e<t.length;e++){let n=t[e],[r,s]=n;if(r!==gk){if(s.includes(`
|
|
130
130
|
`)){let e=s.split(`
|
|
131
|
-
`);for(let t=0;t<e.length;t++)i.push([r,e[t]]),t<e.length-1&&(o(i),i.length=0)}else i.push(n);a=!1}else a?o([]):(o(i),i.length=0),e===t.length-1&&o([]),a=!0}return i.length&&o(i),{value:e,lines:n}}function
|
|
132
|
-
`):e.lines.map(e=>{let t=
|
|
133
|
-
`)}var
|
|
134
|
-
`){l(
|
|
135
|
-
`?1:e+t===`*/`?2:0,
|
|
136
|
-
`),
|
|
137
|
-
`?1:e+t===`*/`?2:0,
|
|
138
|
-
`)}function
|
|
139
|
-
`;if(T()){if(ee())return
|
|
131
|
+
`);for(let t=0;t<e.length;t++)i.push([r,e[t]]),t<e.length-1&&(o(i),i.length=0)}else i.push(n);a=!1}else a?o([]):(o(i),i.length=0),e===t.length-1&&o([]),a=!0}return i.length&&o(i),{value:e,lines:n}}function yk(e,t){let n={index:e.index,value:e.value,tokens:e.tokens,annotations:e.annotations,className:`sh__line${e.annotations.map(e=>` sh__line--${e}`).join(``)}`,style:{},properties:{}};return t?.(n),n}function bk({type:e,value:t},n,r){let i=n?.[e],a={type:e,value:t,className:`sh__token--${e}${i?` ${i}`:``}`,style:{color:`var(--sh-${e})`},properties:{}};return r?.(a),a}function xk(e,t){let n=t?.cx,r=t?.mark,i=t?.markLine;return!n&&!r&&!i?e.lines.map(e=>{let t=`sh__line${e.annotations.map(e=>` sh__line--${e}`).join(``)}`,n=e.tokens.map(({type:e,value:t})=>`<span class="sh__token--${e}" style="color:var(--sh-${e})">${Ck(t)}</span>`).join(``);return`<span class="${Ck(t)}">${n}</span>`}).join(`
|
|
132
|
+
`):e.lines.map(e=>{let t=yk(e,i),a=e.tokens.map(e=>{let t=bk(e,n,r);return`<span ${wk({...t.properties,className:t.className,style:t.style})}>${Ck(t.value)}</span>`}).join(``);return`<span ${wk({...t.properties,className:t.className,style:t.style})}>${a}</span>`}).join(`
|
|
133
|
+
`)}var Sk={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Ck=e=>e.replace(/[&<>"']/g,e=>Sk[e]);function wk(e){let t=Object.entries(e.style||{}).map(([e,t])=>`${e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}:${t}`).join(`;`),n=Object.entries(e).filter(([e,t])=>/^[\w:-]+$/.test(e)&&e!==`className`&&e!==`style`&&t!==!1&&t!=null).map(([e,t])=>t===!0?e:`${e}="${Ck(String(t))}"`).join(` `);return`class="${Ck(e.className||``)}"${t?` style="${Ck(t)}"`:``}${n?` ${n}`:``}`}var Tk=new Set(`+-*/%=!&|^~?:.,;()[]{}<>#@\\`.split(``)),Ek=()=>0,Dk=e=>e===`_`||e===`$`||/[\p{L}\p{N}]/u.test(e);function Ok(e,t){for(;t<e.length&&/\s/.test(e[t]);)t++;return e[t]===`:`}function kk(e,t){if(typeof t?.tokenize==`function`)return t.tokenize(e,t);let n=t?.keywords||new Set,r=t?.typeKeywords||new Set,i=t?.onCommentStart||Ek,a=t?.onCommentEnd||Ek,o=t?.caseInsensitive?e=>e.toLowerCase():e=>e,s=[],c=``;function l(e,t){t&&(s.push([e,t]),e!==_k&&e!==gk&&(c=t))}for(let s=0;s<e.length;){let u=e[s],d=e[s+1],f=i(u,d,s,e);if(f){let t=s++;for(;s<e.length;){if(a(e[s-1],e[s],s,e,t)==f){s++;break}s++}l(hk,e.slice(t,s));continue}let p=t?.onLiteral?.(u,s,e);if(p){l(lk,e.slice(s,s+p)),s+=p;continue}if(typeof t?.onQuote==`function`&&u===`'`){let n=t.onQuote(u,s,e);if(typeof n==`number`&&n>=1){l(sk,e.slice(s,s+n)),s+=n;continue}}if(u===`"`||u===`'`||t?.templateStrings&&u==="`"){let n=u,r=s++;for(;s<e.length;){if(e[s]===`\\`)s++;else if(e[s]===n){s++;break}s++}let i=e.slice(r,s);l(t?.quotedKeys&&Ok(e,s)?dk:lk,i);continue}if(u===`
|
|
134
|
+
`){l(gk,u),s++;continue}if(/[^\S\r\n]/.test(u)){let t=s++;for(;s<e.length&&/[^\S\r\n]/.test(e[s]);)s++;l(_k,e.slice(t,s));continue}if(Dk(u)){let t=s++;for(;s<e.length&&Dk(e[s]);)s++;if(/^\d/.test(u)&&e[s]===`.`&&/\d/.test(e[s+1]||``))for(s++;s<e.length&&Dk(e[s]);)s++;let i=e.slice(t,s),a=o(i);l(r.has(a)?uk:n.has(a)?ck:c===`.`?dk:/^\d/.test(i)||i===`null`||/^\p{Lu}/u.test(i)?uk:sk,i);continue}if(Tk.has(u)){l(mk,u),s++;continue}l(lk,u),s++}return s}function Ak(e,t){let n=vk(e,kk(e,t));if(t?.annotateLine)for(let e of n.lines)t.annotateLine(e);return n}var jk=(e,t)=>{let n=e+t;return n===`//`?1:n===`/*`?2:0},Mk=(e,t)=>t===`
|
|
135
|
+
`?1:e+t===`*/`?2:0,Nk=s({keywords:()=>Fk,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>Pk}),Pk=new Set([`void`,`char`,`short`,`int`,`long`,`float`,`double`,`signed`,`unsigned`,`_Bool`,`_Complex`,`_Imaginary`]),Fk=new Set(`auto.break.case.const.continue.default.do.else.enum.extern.for.goto.if.inline.register.restrict.return.sizeof.static.struct.switch.typedef.union.volatile.while._Alignas._Alignof._Atomic._Generic._Noreturn._Static_assert._Thread_local`.split(`.`)),Ik=s({keywords:()=>Lk,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>Rk}),Lk=new Set(`alignas.alignof.and.and_eq.asm.auto.bitand.bitor.break.case.catch.class.compl.concept.const.consteval.constexpr.constinit.const_cast.continue.co_await.co_return.co_yield.decltype.default.delete.do.dynamic_cast.else.enum.explicit.export.extern.false.for.friend.goto.if.inline.mutable.namespace.new.noexcept.not.not_eq.nullptr.operator.or.or_eq.private.protected.public.register.reinterpret_cast.requires.return.sizeof.static.static_assert.static_cast.struct.switch.template.this.thread_local.throw.true.try.typedef.typeid.typename.union.using.virtual.volatile.while.xor.xor_eq`.split(`.`)),Rk=new Set([`bool`,`char`,`char8_t`,`char16_t`,`char32_t`,`double`,`float`,`int`,`long`,`short`,`signed`,`unsigned`,`void`,`wchar_t`]),zk=s({keywords:()=>Bk,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>Vk}),Bk=new Set(`abstract.as.async.await.base.break.case.catch.checked.class.const.continue.default.delegate.do.else.enum.event.explicit.extern.false.finally.fixed.for.foreach.from.get.global.goto.if.implicit.in.init.interface.internal.into.is.join.let.lock.namespace.new.null.on.operator.orderby.out.override.params.partial.private.protected.public.readonly.record.ref.remove.required.return.sealed.select.set.sizeof.stackalloc.static.struct.switch.this.throw.true.try.typeof.unchecked.unsafe.using.value.virtual.volatile.when.where.while.with.yield`.split(`.`)),Vk=new Set([`bool`,`byte`,`char`,`decimal`,`double`,`dynamic`,`float`,`int`,`long`,`nint`,`nuint`,`object`,`sbyte`,`short`,`string`,`uint`,`ulong`,`ushort`,`void`]),Hk=s({keywords:()=>Uk,onCommentEnd:()=>Gk,onCommentStart:()=>Wk,onLiteral:()=>Kk,tokenize:()=>eA}),Uk=new Set([`@media`,`@import`,`@keyframes`,`@font-face`,`@supports`,`@page`,`@counter-style`,`@font-feature-values`,`@viewport`,`@counter-style`,`@font-feature-values`,`@document`]),Wk=(e,t)=>+(e+t===`/*`),Gk=(e,t)=>+(e+t===`*/`),Kk=(e,t,n)=>e===`#`&&n.slice(t).match(/^#(?:[\da-f]{8}|[\da-f]{6}|[\da-f]{4}|[\da-f]{3})(?![\w-])/i)?.[0].length||0,qk=e=>e===_k||e===gk||e===hk,Jk=([e,t])=>e===sk||e===uk||e===mk&&t===`-`,Yk=([e])=>e===sk||e===uk||e===dk,Xk=e=>Yk(e)&&!/^\d/.test(e[1]),Zk=([e,t])=>e===mk&&t===`-`,Qk=e=>{for(let t=0;t<e.length;t++){let n=t,r=t;if(Zk(e[r])){for(;e[r]&&Zk(e[r]);)r++;if(!e[r]||!Xk(e[r]))continue;n=r++}else if(Xk(e[r]))r++;else continue;let i=n>t;for(;e[r]&&Zk(e[r]);){let t=r;for(;e[r]&&Zk(e[r]);)r++;if(!e[r]||!Yk(e[r])){r=t;break}i=!0,r++}if(!i)continue;let a=e.slice(t,r).map(([,e])=>e).join(``);e.splice(t,r-t,[e[n][0],a])}},$k=(e,t)=>{let n=0,r=0;for(let i=t;i<e.length;i++){let[t,a]=e[i];if(t===mk){if(a===`(`)n++;else if(a===`)`)n--;else if(a===`[`)r++;else if(a===`]`)r--;else if(!n&&!r&&a===`{`)return!0;else if(!n&&!r&&(a===`;`||a===`}`))return!1}}return!1},eA=(e,t)=>{let n=kk(e,{...t,tokenize:void 0});Qk(n);let r=0,i=!1;for(let e=0;e<n.length;e++){let[t,a]=n[e];if(t===mk&&a===`{`){r++,i=!0;continue}if(t===mk&&a===`}`){r--,i=!1;continue}if(t===mk&&a===`;`){i=r>0;continue}if(!i||qk(t))continue;let o=e,s=e;for(;s<n.length&&Jk(n[s]);)s++;let c=s;for(;c<n.length&&qk(n[c][0]);)c++;if(s>o&&n[c]?.[0]===mk&&n[c][1]===`:`&&!$k(n,c+1)){let e=n.slice(o,s).map(([,e])=>e).join(``);n.splice(o,s-o,[dk,e])}i=!1}return n},tA=s({annotateLine:()=>rA,keywords:()=>nA}),nA=new Set([]),rA=e=>{let t=``;if(e.value.startsWith(`+`)&&!e.value.startsWith(`+++`))t=`diff-add`;else if(e.value.startsWith(`-`)&&!e.value.startsWith(`---`))t=`diff-remove`;else if(e.value.startsWith(`@@`))t=`diff-hunk`;else if(/^(diff --git|index |--- |\+\+\+ )/.test(e.value)){t=`diff-meta`;for(let t of e.tokens)t.type===`property`&&(t.type=`identifier`)}t&&e.annotations.push(t)},iA=e=>+(e===`#`),aA=(e,t)=>+(t===`
|
|
136
|
+
`),oA=s({caseInsensitive:()=>!0,keywords:()=>sA,onCommentEnd:()=>aA,onCommentStart:()=>iA}),sA=new Set([`add`,`arg`,`cmd`,`copy`,`entrypoint`,`env`,`expose`,`from`,`healthcheck`,`label`,`maintainer`,`onbuild`,`run`,`shell`,`stopsignal`,`user`,`volume`,`workdir`]),cA=s({keywords:()=>uA,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>lA}),lA=new Set([`bool`,`byte`,`complex64`,`complex128`,`error`,`float32`,`float64`,`int`,`int8`,`int16`,`int32`,`int64`,`rune`,`string`,`uint`,`uint8`,`uint16`,`uint32`,`uint64`,`uintptr`]),uA=new Set([`break`,`case`,`chan`,`const`,`continue`,`default`,`defer`,`else`,`fallthrough`,`for`,`func`,`go`,`goto`,`if`,`import`,`interface`,`map`,`package`,`range`,`return`,`select`,`struct`,`switch`,`type`,`var`]),dA=s({keywords:()=>fA,onCommentEnd:()=>aA,onCommentStart:()=>iA,typeKeywords:()=>pA}),fA=new Set([`directive`,`enum`,`extend`,`fragment`,`implements`,`input`,`interface`,`mutation`,`on`,`query`,`repeatable`,`scalar`,`schema`,`subscription`,`type`,`union`]),pA=new Set([`Boolean`,`Float`,`ID`,`Int`,`String`]),mA=s({keywords:()=>hA,onCommentEnd:()=>_A,onCommentStart:()=>gA}),hA=new Set([`false`,`for`,`if`,`in`,`null`,`true`]),gA=(e,t)=>e===`#`||e+t===`//`?1:e+t===`/*`?2:0,_A=(e,t)=>t===`
|
|
137
|
+
`?1:e+t===`*/`?2:0,vA=new Set([`<`,`>`,`{`,`}`,`[`,`]`]),yA=new Set(`for.do.while.if.else.return.function.var.let.const.true.false.undefined.this.new.delete.typeof.in.instanceof.void.break.continue.switch.case.default.throw.try.catch.finally.debugger.with.yield.async.await.class.extends.super.import.export.from.static`.split(`.`)),bA=new Set([...yA,`type`,`interface`,`enum`,`implements`,`readonly`,`abstract`,`declare`,`namespace`,`module`,`private`,`protected`,`public`,`override`,`keyof`,`infer`,`is`,`asserts`,`satisfies`,`as`,`unknown`,`never`,`any`,`number`,`string`,`boolean`,`bigint`,`symbol`,`object`]),xA=new Set([`+`,`-`,`*`,`/`,`%`,`=`,`!`,`&`,`|`,`^`,`~`,`!`,`?`,`:`,`.`,`,`,`;`,`'`,`"`,`.`,`(`,`)`,`[`,`]`,`#`,`@`,`\\`,...vA]),SA={keywords:yA,onCommentStart:FA,onCommentEnd:IA,jsx:!0,regex:!0,templateStrings:!0};function CA(e){return{...SA,...e}}function wA(e){let t=0;return/\binterface\s+[A-Za-z_$][\w$]*/.test(e)&&(t+=2),/\btype\s+[A-Za-z_$][\w$]*\s*=/.test(e)&&(t+=2),/\benum\s+[A-Za-z_$][\w$]*/.test(e)&&(t+=2),/\b(?:implements|readonly|declare|namespace|satisfies|infer|keyof|asserts)\b/.test(e)&&(t+=2),/:\s*[A-Za-z_$][\w$]*(?:<[^>\n]+>)?(?:\[\])?(?=\s*[,)=;{])/m.test(e)&&(t+=1),/\b(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*:\s*/.test(e)&&(t+=1),/\)\s*:\s*[A-Za-z_$][\w$]*(?:<[^>\n]+>)?(?:\[\])?\s*(?:=>|\{)/.test(e)&&(t+=1),t>=2}function TA(e,t){if(e[t]!==`<`)return!1;let n=0,r=!1;for(let i=t;i<e.length;i++){let t=e[i];if(t===`<`){n++;continue}if(t===`>`){if(n--,n===0){let t=i+1;for(;t<e.length&&/\s/.test(e[t]);)t++;if(!(r&&e[t]===`(`))return!1;let n=e.slice(t,t+320);return/\)\s*(?::[\s\S]{0,120}?)?=>/.test(n)}continue}if(n!==0){if(/[$A-Za-z_]/.test(t)){r=!0;continue}if(!/[\s,\.\=\?\:\|\&\[\]]/.test(t))return!1}}return!1}function EA(e){return/^[^\S\r\n]+$/g.test(e)}function DA(e){return xA.has(e)}function OA(e){return/^[\w$\u0080-\uffff]+$/.test(e||``)}function kA(e){return/^[0-9A-Z\p{Lu}]/u.test(e)||e===`null`}function AA(e){return/^[a-zA-Z]$/.test(e)}function jA(e){return/^[$_A-Za-z\u0080-\uffff]$/.test(e||``)}function MA(e){return jA(e[0])&&OA(e)}function NA(e){return e==="`"}function PA(e){return e===`"`||e===`'`}function FA(e,t){let n=e+t;return n===`/*`?2:+(n===`//`)}function IA(e,t){return e+t===`*/`?2:+(t===`
|
|
138
|
+
`)}function LA(e){return e[0]===`/`&&!FA(e[0],e[1])}function RA(e,t){let n=t+1;for(;n<e.length&&/\s/.test(e[n]);)n++;return e[n]===`:`}function zA(e,t){let n=CA(t),r=n.keywords!==SA.keywords,i=typeof n.typescript==`boolean`?n.typescript:wA(e),a=r?n.keywords:i?bA:yA,{onCommentStart:o,onCommentEnd:s}=n,c=n.typeKeywords instanceof Set?n.typeKeywords:null,l=n.jsx!==!1,u=n.regex!==!1,d=n.templateStrings!==!1,f=n.caseInsensitive?e=>e.toLowerCase():e=>e,p=e=>d&&NA(e),m=``,h=-1,g=[-1,``],_=[-2,``],v=[],y=!1,b=0,x=0,S=0,C=0,w=()=>y&&!x&&!b,T=()=>b,E=()=>w()&&C,D=null,O=0,k=!1,A=0,j=0,ee=()=>D!==null,te=()=>k,ne=()=>j>A,re=()=>j>0&&j===A,ie=()=>ee()||ne();function ae(e){let t=e===`
|
|
139
|
+
`;if(T()){if(ee())return lk;let[,t]=g;if(MA(e)){if(t===`<`||t===`</`)return fk;if(!S&&/^\s+$/.test(v[v.length-1]?.[1]||``))return dk}}if(E())return pk;if(ee()||ne())return lk;if(c&&c.has(f(e)))return g[1]===`.`?sk:uk;if(a.has(f(e)))return g[1]===`.`?sk:ck;if(t)return gk;if(EA(e))return _k;if(e.split(``).every(DA))return mk;if(kA(e))return T()&&!S?sk:uk;if(MA(e)){let e=g[1]===`.`&&MA(_[1]);if(!ie()&&!e)return sk;if(e)return dk}return lk}let M=(e,t)=>{if(t&&(m=t),m){h=typeof e==`number`?e:ae(m);let t=[h,m];h!==_k&&h!==gk&&(_=g,g=t),T()&&h===mk&&(m===`{`&&S++,m===`}`&&S--),v.push(t)}m=``};for(let t=0;t<e.length;t++){let r=e[t],i=e[t-1],c=e[t+1],d=i+r,f=r+c;if(typeof n.onQuote==`function`&&r===`'`&&!ee()&&!E()&&!ne()){let i=n.onQuote(r,t,e);if(typeof i==`number`&&i>=1&&!Number.isNaN(i)){let n=Math.min(i,e.length-t),r=t+n;M(),m=e.slice(t,r),M(sk),t=r-1;continue}}if(PA(r)&&!E()&&!ne()){M();let i=!1;if(D&&r===D?(D=null,i=!0):D||(D=r,O=v.length),M(lk,r),n.quotedKeys&&i&&RA(e,t))for(let e=O;e<v.length;e++)v[e][0]=dk;continue}if(p(r)){M(),j+=ne()?-1:1,M(lk,r);continue}if(ne()&&f==="${"){A++,M(lk),M(mk,f),t++;continue}if(re()&&r===`}`){M(),A--,M(mk,r);continue}if(w()&&r===`{`){M(),M(mk,r),x=1;continue}if(y){if(!b&&r===`<`){M(),c===`/`?(b=2,m=f,t++):(b=1,m=r),M(mk);continue}if(b){if(r===`>`&&!`/=`.includes(i)){M(),b===1?(b=0,C++):(b=0,y=!1),M(mk,r);continue}if(f===`/>`||f===`</`){m!==`<`&&m!==`/`&&M(),f===`/>`?b=0:C--,C||(y=!1),m=f,t++,M(mk);continue}if(r===`<`){M(),m=r,M(mk);continue}if(r===`-`&&m&&!ie()&&!E()){let n=t+1;for(;n<e.length&&/[$\w-]/.test(e[n]);)n++;M(dk,m+e.slice(t,n)),t=n-1;continue}if(c===`=`&&!ie()&&!EA(r)){EA(m)&&M();let e=m+r;if(MA(e)){M(dk,e);continue}}}}if(l&&!b&&(r===`<`&&jA(c)||f===`</`)){let n=t-1;for(;n>=0&&/\s/.test(e[n]);)n--;let i=n>=0?e[n]:``,[o,s]=g,l=!1,u=!1;if(m&&!EA(m)){let e=m;kA(e)||e===`true`||e===`false`?l=!0:a.has(e)&&MA(e)?u=!0:MA(e)&&(l=!0)}let d=r===`<`&&/[$\w\]\)]/.test(i)&&(l||!u&&(o===sk||o===uk||o===mk&&(s===`)`||s===`]`))),f=r===`<`&&TA(e,t);!d&&!f&&(b=c===`/`?2:1),r===`<`&&(c===`/`||AA(c))&&!d&&!f&&!ie()&&!E()&&!te()&&(y=!0)}let h=PA(r)||p(r),_=ne(),S=u&&!y&&LA(f),T=E();if(h||_||PA(D))m+=r,r===`\\`&&(m+=e[++t]||``);else if(S){M();let[n,i]=g;if(S&&n!==-1&&!(n===mk&&i!==`)`||n===hk)){m=r,M();continue}k=!0;let a=t++,o=!1,s=!1;for(;t<e.length&&e[t]!==`
|
|
140
140
|
`;t++){let n=e[t];if(n===`\\`){if(e[t+1]===`
|
|
141
|
-
`)break;t++;continue}if(n===`[`&&(s=!0),n===`]`&&(s=!1),n===`/`&&!s){for(o=!0;/^[a-z]$/.test(e[t+1]);)t++;break}}k=!1,a!==t&&o?(m=e.slice(a,t+1),M(
|
|
142
|
-
`){if(r===` `&&(
|
|
143
|
-
`)return 1;if(t!==`]`)return 0;let a=r.slice(i).match(/^--\[(=*)\[/);if(!a)return 0;let o=`]${a[1]}]`;return r.slice(n-o.length+1,n+1)===o?2:0}function
|
|
141
|
+
`)break;t++;continue}if(n===`[`&&(s=!0),n===`]`&&(s=!1),n===`/`&&!s){for(o=!0;/^[a-z]$/.test(e[t+1]);)t++;break}}k=!1,a!==t&&o?(m=e.slice(a,t+1),M(lk)):(m=r,M(),t=a)}else if(o(r,c,t,e)){M();let n=t,i=o(r,c,t,e);if(i)for(;t<e.length&&s(e[t-1],e[t],t,e)!=i;t++);m=e.slice(n,t+1),M(hk)}else if(r===` `||r===`
|
|
142
|
+
`){if(r===` `&&(EA(m)||!m||T)){let n=t+1;for(;e[n]===` `;)n++;m+=e.slice(t,n),t=n-1,e[n]===`<`&&M()}else M(),m=r,M()}else x&&r===`}`?(M(),m=r,M(),x--):T&&!vA.has(r)||ne()||(OA(r)===OA(m[m.length-1])||w())&&!xA.has(r)?m+=r:(d===`</`&&(m=d),M(),d!==`</`&&(m=r),f===`</`||f===`/>`?(m=f,M(),t++):vA.has(r)&&M()),x&&r===`{`&&x++}return M(),v}var BA=s({tokenize:()=>VA}),VA=zA,HA={keywords:new Set,jsx:!0,regex:!1,templateStrings:!1,onCommentStart:(e,t,n,r)=>r.startsWith(`<!--`,n)?2:0,onCommentEnd:(e,t,n,r)=>r.slice(n-2,n+1)===`-->`?2:0},UA=e=>VA(e,HA),WA=/^<\s*(script|style)\b/i,GA=e=>RegExp(`</\\s*${e}\\s*>`,`ig`);function KA(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(n)t===n&&(n=``);else if(t===`"`||t===`'`)n=t;else if(t===`>`)return r+1}return-1}function qA(e){let t=[],n=0;for(;n<e.length;){if(e.startsWith(`<!--`,n)){let t=e.indexOf(`-->`,n+4);n=t===-1?e.length:t+3;continue}if(e[n]!==`<`){n++;continue}let r=KA(e,n);if(r===-1)break;let i=e.slice(n,r).match(WA);if(!i){n=r;continue}let a=i[1].toLowerCase(),o=GA(a);o.lastIndex=r;let s=o.exec(e);if(!s){n=r;continue}t.push({start:n,openEnd:r,closeStart:s.index,end:o.lastIndex,tag:a}),n=o.lastIndex}return t}function JA(e){let t=[],n=0;for(let r of qA(e)){let{start:i,openEnd:a,closeStart:o,end:s,tag:c}=r;t.push(...UA(e.slice(n,i))),t.push(...UA(e.slice(i,a))),t.push(...c===`style`?eA(e.slice(a,o)):VA(e.slice(a,o),{jsx:!1})),t.push(...UA(e.slice(o,s))),n=s}return t.push(...UA(e.slice(n))),t}var YA=s({jsx:()=>!0,keywords:()=>XA,onCommentEnd:()=>$A,onCommentStart:()=>QA,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>ZA}),XA=new Set([]),ZA=JA,QA=(e,t,n,r)=>r.startsWith(`<!--`,n)?2:0,$A=(e,t,n,r)=>r.slice(n-2,n+1)===`-->`?2:0,ej=s({keywords:()=>nj,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>tj}),tj=new Set([`boolean`,`byte`,`char`,`double`,`float`,`int`,`long`,`short`,`void`]),nj=new Set(`abstract.assert.break.case.catch.class.const.continue.default.do.else.enum.extends.final.finally.for.goto.if.implements.import.instanceof.interface.native.new.package.private.protected.public.return.static.strictfp.super.switch.synchronized.this.throw.throws.transient.try.volatile.while`.split(`.`)),rj=s({keywords:()=>ij,onCommentEnd:()=>Mk,onCommentStart:()=>jk,quotedKeys:()=>!0}),ij=new Set([`true`,`false`,`null`]),aj=s({keywords:()=>oj,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>sj}),oj=new Set(`as.break.by.catch.class.companion.const.constructor.continue.data.do.else.enum.false.finally.for.fun.get.if.import.in.infix.init.interface.internal.is.lateinit.noinline.null.object.open.operator.out.override.package.private.protected.public.reified.return.sealed.set.suspend.tailrec.this.throw.true.try.typealias.val.var.vararg.when.where.while`.split(`.`)),sj=new Set([`Any`,`Boolean`,`Byte`,`Char`,`Double`,`Float`,`Int`,`Long`,`Nothing`,`Short`,`String`,`Unit`]),cj=s({keywords:()=>lj,onCommentEnd:()=>dj,onCommentStart:()=>uj,onLiteral:()=>fj}),lj=new Set([`and`,`break`,`do`,`else`,`elseif`,`end`,`false`,`for`,`function`,`goto`,`if`,`in`,`local`,`nil`,`not`,`or`,`repeat`,`return`,`then`,`true`,`until`,`while`]);function uj(e,t,n,r){return e===`#`&&n===0&&t===`!`?1:e+t===`--`?/^--\[=*\[/.test(r.slice(n))?2:1:0}function dj(e,t,n,r,i){if(t===`
|
|
143
|
+
`)return 1;if(t!==`]`)return 0;let a=r.slice(i).match(/^--\[(=*)\[/);if(!a)return 0;let o=`]${a[1]}]`;return r.slice(n-o.length+1,n+1)===o?2:0}function fj(e,t,n){if(e!==`[`)return 0;let r=n.slice(t).match(/^\[(=*)\[/);if(!r)return 0;let i=`]${r[1]}]`,a=n.indexOf(i,t+r[0].length);return a===-1?n.length-t:a+i.length-t}var pj=()=>0,mj=()=>0,hj=s({annotateLine:()=>vj,keywords:()=>gj,onCommentEnd:()=>mj,onCommentStart:()=>pj,tokenize:()=>_j}),gj=new Set([]),_j=e=>{let t=[],n=``,r=!1,i=(e,n)=>{if(!n)return;let r=t[t.length-1];r?.[0]===e?r[1]+=n:t.push([e,n])};for(let t of e.match(/[^\n]*(?:\n|$)/g)||[]){if(!t)continue;let e=t.endsWith(`
|
|
144
144
|
`)?`
|
|
145
|
-
`:``,a=e?t.slice(0,-1):t,o=[],s=a.match(/^(?: {0,3}>[ \t]?)*/)?.[0]||``;if(!n||r)for(let e of s.matchAll(/>/g))o.push([e.index,e.index+1]);let c=s.length,l=0;for(;l<3&&a[c]===` `;)c++,l++;let u=a.slice(c).match(/^(`{3,}|~{3,})/)?.[1];if(n)u?.[0]===n[0]&&u.length>=n.length&&/^\s*$/.test(a.slice(c+u.length))&&(o.push([c,c+u.length]),n=``,r=!1);else if(u)o.push([c,c+u.length]),n=u,r=s.includes(`>`);else{let e=a.slice(c).match(/^(#{1,6}(?=\s)|(?:[-+*]|\d+[.)])(?=\s)|(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$)/)?.[1];e&&o.push([c,c+e.length]);for(let e of a.matchAll(/(`+)(.*?)\1|(\*{1,3}|_{1,3}|~{2})(?=\S)(.*?\S)\3/g)){let t=e[1]||e[3];a[e.index-1]===`\\`||t[0]===`_`&&/\w/.test(a[e.index-1]||``)||o.push([e.index,e.index+t.length],[e.index+e[0].length-t.length,e.index+e[0].length])}}let d=0;for(let[e,t]of o.sort((e,t)=>e[0]-t[0]))e<d||(i(
|
|
146
|
-
`?1:e+t===`*/`?2:0,
|
|
147
|
-
`?1:e+t===`#>`?2:0,
|
|
148
|
-
`),
|
|
149
|
-
`?!1:/^=begin(?:\s|$)/.test(t.slice(e))}function
|
|
145
|
+
`:``,a=e?t.slice(0,-1):t,o=[],s=a.match(/^(?: {0,3}>[ \t]?)*/)?.[0]||``;if(!n||r)for(let e of s.matchAll(/>/g))o.push([e.index,e.index+1]);let c=s.length,l=0;for(;l<3&&a[c]===` `;)c++,l++;let u=a.slice(c).match(/^(`{3,}|~{3,})/)?.[1];if(n)u?.[0]===n[0]&&u.length>=n.length&&/^\s*$/.test(a.slice(c+u.length))&&(o.push([c,c+u.length]),n=``,r=!1);else if(u)o.push([c,c+u.length]),n=u,r=s.includes(`>`);else{let e=a.slice(c).match(/^(#{1,6}(?=\s)|(?:[-+*]|\d+[.)])(?=\s)|(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$)/)?.[1];e&&o.push([c,c+e.length]);for(let e of a.matchAll(/(`+)(.*?)\1|(\*{1,3}|_{1,3}|~{2})(?=\S)(.*?\S)\3/g)){let t=e[1]||e[3];a[e.index-1]===`\\`||t[0]===`_`&&/\w/.test(a[e.index-1]||``)||o.push([e.index,e.index+t.length],[e.index+e[0].length-t.length,e.index+e[0].length])}}let d=0;for(let[e,t]of o.sort((e,t)=>e[0]-t[0]))e<d||(i(sk,a.slice(d,e)),i(mk,a.slice(e,t)),d=t);i(sk,a.slice(d)+e)}return t},vj=e=>{let t=``;/^#{1,6}\s/.test(e.value)?t=`markdown-heading`:/^\s*>/.test(e.value)?t=`markdown-quote`:/^\s*(?:[-*+] |\d+[.)] )/.test(e.value)?t=`markdown-list`:/^\s*```/.test(e.value)&&(t=`markdown-fence`),t&&e.annotations.push(t)},yj=s({keywords:()=>bj,onCommentEnd:()=>Cj,onCommentStart:()=>Sj,typeKeywords:()=>xj}),bj=new Set(`abstract.and.array.as.break.callable.case.catch.class.clone.const.continue.declare.default.do.echo.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.exit.extends.false.final.finally.fn.for.foreach.from.function.global.goto.if.implements.include.include_once.instanceof.insteadof.interface.isset.list.match.namespace.new.null.or.print.private.protected.public.readonly.require.require_once.return.static.switch.throw.trait.true.try.unset.use.var.while.xor.yield`.split(`.`)),xj=new Set([`bool`,`float`,`int`,`iterable`,`mixed`,`never`,`object`,`string`,`void`]),Sj=(e,t)=>e===`#`||e+t===`//`?1:e+t===`/*`?2:0,Cj=(e,t)=>t===`
|
|
146
|
+
`?1:e+t===`*/`?2:0,wj=s({tokenize:()=>Tj}),Tj=e=>[[sk,e]],Ej=s({caseInsensitive:()=>!0,keywords:()=>Dj,onCommentEnd:()=>kj,onCommentStart:()=>Oj}),Dj=new Set(`begin.break.catch.class.continue.data.define.do.dynamicparam.else.elseif.end.enum.exit.filter.finally.for.foreach.from.function.if.in.param.process.return.switch.throw.trap.try.until.using.while`.split(`.`)),Oj=(e,t)=>e===`#`?1:e+t===`<#`?2:0,kj=(e,t)=>t===`
|
|
147
|
+
`?1:e+t===`#>`?2:0,Aj=s({keywords:()=>jj,onCommentEnd:()=>Nj,onCommentStart:()=>Mj}),jj=new Set(`and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`)),Mj=(e,t)=>+(e===`#`),Nj=(e,t)=>+(t===`
|
|
148
|
+
`),Pj=s({keywords:()=>Fj,onCommentEnd:()=>Rj,onCommentStart:()=>Lj}),Fj=new Set(`BEGIN.END.__ENCODING__.__FILE__.__LINE__.alias.and.begin.break.case.class.def.defined.do.else.elsif.end.ensure.false.for.if.in.module.next.nil.not.or.redo.rescue.retry.return.self.super.then.true.undef.unless.until.when.while.yield`.split(`.`));function Ij(e,t){return e>0&&t[e-1]!==`
|
|
149
|
+
`?!1:/^=begin(?:\s|$)/.test(t.slice(e))}function Lj(e,t,n,r){return e===`#`?1:e===`=`&&Ij(n,r)?2:0}function Rj(e,t,n,r){if(t!==`
|
|
150
150
|
`)return 0;let i=r.lastIndexOf(`
|
|
151
|
-
`,n-1)+1,a=r.slice(i,n);return/^=end(?:\s|$)/.test(a)?2:1}var
|
|
152
|
-
`?1:e+t===`*/`?2:0,
|
|
153
|
-
`);function
|
|
151
|
+
`,n-1)+1,a=r.slice(i,n);return/^=end(?:\s|$)/.test(a)?2:1}var zj=s({keywords:()=>Bj,onQuote:()=>Vj}),Bj=new Set(`as.break.const.continue.crate.else.enum.extern.false.fn.for.if.impl.in.let.loop.match.mod.move.mut.pub.ref.return.self.Self.static.struct.super.trait.true.type.unsafe.use.where.while.async.await.dyn.abstract.become.box.do.final.macro.override.priv.typeof.unsized.virtual.yield.try`.split(`.`));function Vj(e,t,n){if(e!==`'`||t+1>=n.length)return 1;let r=n[t+1];if(r===`\\`){let e=t+2;for(;e<n.length;){if(n[e]===`\\`){e+=2;continue}if(n[e]===`'`)return e-t+1;e++}return n.length-t}if(r===`_`)return 2;if(/[a-zA-Z]/.test(r)){let e=t+2;for(;e<n.length&&/[a-zA-Z0-9_]/.test(n[e]);)e++;return e<n.length&&n[e]===`'`?e-t+1:e-t}return 1}var Hj=s({keywords:()=>Uj,onCommentEnd:()=>aA,onCommentStart:()=>iA}),Uj=new Set([`case`,`coproc`,`do`,`done`,`elif`,`else`,`esac`,`export`,`fi`,`for`,`function`,`if`,`in`,`local`,`readonly`,`return`,`select`,`then`,`time`,`until`,`while`]),Wj=s({caseInsensitive:()=>!0,keywords:()=>Gj,onCommentEnd:()=>Jj,onCommentStart:()=>qj,typeKeywords:()=>Kj}),Gj=new Set(`add.all.alter.and.as.asc.between.by.case.check.column.constraint.create.cross.database.default.delete.desc.distinct.drop.else.end.exists.foreign.from.full.group.having.in.index.inner.insert.into.is.join.key.left.like.limit.not.null.offset.on.or.order.outer.primary.references.right.select.set.table.then.union.unique.update.values.view.when.where.with`.split(`.`)),Kj=new Set([`bigint`,`binary`,`bit`,`blob`,`boolean`,`char`,`date`,`datetime`,`decimal`,`double`,`float`,`int`,`integer`,`interval`,`json`,`numeric`,`real`,`smallint`,`text`,`time`,`timestamp`,`uuid`,`varchar`]),qj=(e,t)=>{let n=e+t;return n===`--`?1:n===`/*`?2:0},Jj=(e,t)=>t===`
|
|
152
|
+
`?1:e+t===`*/`?2:0,Yj=s({keywords:()=>Xj,onCommentEnd:()=>Mk,onCommentStart:()=>jk,typeKeywords:()=>Zj}),Xj=new Set(`as.associatedtype.break.case.catch.class.continue.convenience.default.defer.deinit.didSet.do.dynamic.else.enum.extension.fallthrough.false.fileprivate.final.for.func.get.guard.if.import.in.indirect.infix.init.inout.internal.is.lazy.let.mutating.nil.nonmutating.open.operator.override.precedencegroup.private.protocol.public.repeat.required.rethrows.return.self.set.some.static.struct.subscript.super.switch.throw.throws.true.try.typealias.unowned.var.weak.where.while.willSet`.split(`.`)),Zj=new Set([`Any`,`Bool`,`Character`,`Double`,`Float`,`Int`,`Never`,`String`,`UInt`,`Void`]),Qj=s({keywords:()=>$j,onCommentEnd:()=>aA,onCommentStart:()=>iA,quotedKeys:()=>!0}),$j=new Set([`false`,`true`]),eM=s({tokenize:()=>tM}),tM=(e,t)=>zA(e,{...t,typescript:!0}),nM=s({jsx:()=>!0,keywords:()=>XA,onCommentEnd:()=>$A,onCommentStart:()=>QA,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>JA}),rM=s({jsx:()=>!0,keywords:()=>XA,onCommentEnd:()=>$A,onCommentStart:()=>QA,regex:()=>!1,templateStrings:()=>!1,tokenize:()=>JA}),iM=s({keywords:()=>aM,onCommentEnd:()=>aA,onCommentStart:()=>iA,quotedKeys:()=>!0}),aM=new Set([`false`,`False`,`FALSE`,`no`,`No`,`NO`,`null`,`Null`,`NULL`,`off`,`Off`,`OFF`,`on`,`On`,`ON`,`true`,`True`,`TRUE`,`yes`,`Yes`,`YES`]),oM=s({keywords:()=>sM,onCommentEnd:()=>uM,onCommentStart:()=>lM,onLiteral:()=>dM,typeKeywords:()=>cM}),sM=new Set(`addrspace.align.allowzero.and.anyframe.anytype.asm.async.await.break.callconv.catch.comptime.const.continue.defer.else.enum.errdefer.error.export.extern.false.fn.for.if.inline.linksection.noalias.noinline.nosuspend.null.opaque.or.orelse.packed.pub.resume.return.struct.suspend.switch.test.threadlocal.true.try.undefined.union.unreachable.usingnamespace.var.volatile.while`.split(`.`)),cM=new Set(`anyerror.anyopaque.bool.c_char.c_int.c_long.c_longdouble.c_longlong.c_short.c_uint.c_ulong.c_ulonglong.c_ushort.comptime_float.comptime_int.f16.f32.f64.f80.f128.i8.i16.i32.i64.i128.isize.noreturn.type.u8.u16.u32.u64.u128.usize.void`.split(`.`)),lM=(e,t)=>+(e+t===`//`),uM=(e,t)=>+(t===`
|
|
153
|
+
`);function dM(e,t,n){if(e!==`\\`||n[t+1]!==`\\`)return 0;let r=n.lastIndexOf(`
|
|
154
154
|
`,t-1)+1;if(n.slice(r,t).trim())return 0;let i=n.indexOf(`
|
|
155
|
-
`,t+2);return(i===-1?n.length:i)-t}function
|
|
155
|
+
`,t+2);return(i===-1?n.length:i)-t}function fM(e){return{...e,jsx:!1,regex:!1,templateStrings:!1}}function pM(){return{javascript:BA,typescript:eM,css:fM(Hk),python:fM(Aj),c:fM(Nk),go:fM(cA),java:fM(ej),rust:fM(zj),json:fM(rj),diff:fM(tA),shell:fM(Hj),cpp:fM(Ik),csharp:fM(zk),sql:fM(Wj),html:YA,vue:rM,svelte:nM,yaml:fM(iM),markdown:fM(hj),plaintext:fM(wj),ruby:fM(Pj),kotlin:fM(aj),swift:fM(Yj),php:fM(yj),toml:fM(Qj),powershell:fM(Ej),dockerfile:fM(oA),graphql:fM(dA),hcl:fM(mA),zig:fM(oM),lua:fM(cj)}}var mM=pM();function hM(e){return mM[e||`javascript`]}function gM(e,t){let{lang:n,cx:r,mark:i,markLine:a}=t||{};return xk(Ak(e,hM(n)),{cx:r,mark:i,markLine:a})}function _M({code:e,path:t,className:n}){let r=e.replace(/\n$/,``),i=(0,v.useMemo)(()=>gM(r),[r]),a=r.split(`
|
|
156
156
|
`).length;return(0,I.jsxs)(`div`,{className:X(`flex min-w-0 flex-col`,n),children:[t?(0,I.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,I.jsx)(Q,{size:12,className:`truncate text-muted`,title:t,children:t}),(0,I.jsx)(j_,{icon:`copy`,label:`Copy file`,size:15,onClick:()=>AC(e,`Copied the file`)})]}):null,(0,I.jsxs)(`div`,{className:`flex max-h-[640px] min-w-0 overflow-auto font-mono text-[12.5px] leading-[1.6]`,children:[(0,I.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(`
|
|
157
|
-
`)}),(0,I.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,I.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var _M={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},vM=`.design/system/components/`;function yM(e){return e.startsWith(vM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function bM(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 xM({path:e}){let t=yM(e),n=e_(t?e:null).data;if(!t)return null;let r=n?bM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,I.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,I.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,I.jsx)(j_,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>AC(i)})]})}function SM({component:e,theme:t,width:n}){return n===`fill`?(0,I.jsx)(ik,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,I.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,I.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,I.jsx)(ik,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function CM({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}=e_(i);return(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,I.jsx)(Ow,{label:`File`,size:`sm`,value:i,onChange:r,items:t.map(t=>({value:t,label:t===e.specimen?`${wM(t)} · specimen`:wM(t),title:t}))})}):null,yM(i)?(0,I.jsx)(xM,{path:i}):null,o?(0,I.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,I.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,I.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,I.jsx)(Z,{name:`loader`,size:18})}):(0,I.jsx)(gM,{code:a,path:i})]})}function wM(e){return e.split(`/`).pop()??e}function TM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=KO(),[s,c]=(0,v.useState)(`fill`),l=!Jg().frameSandbox;if(!n)return(0,I.jsx)(Sw,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:n.title,badge:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)($C,{children:n.group}),u?(0,I.jsx)($C,{tone:_M[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,I.jsxs)(tw,{children:[(0,I.jsx)(rw,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Ow,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,I.jsx)(qO,{value:a,onChange:o}),l?(0,I.jsx)(N_,{icon:`external`,href:zC(RC(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,I.jsx)(SM,{component:n,theme:a,width:s}):(0,I.jsx)(CM,{component:n})})]})]})}function EM(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function DM({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,I.jsx)(Sw,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=EM(n.markdown,n.title).trim();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:n.title,sub:`Guideline`}),(0,I.jsx)(tw,{children:(0,I.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,I.jsx)(zD,{text:r,className:`max-w-[760px]`}):(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,I.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var OM={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 kM(e){let t=e.trim();if(OM[t])return OM[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 AM(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var jM=132,MM=22;function NM({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=>MM+e*88,l=e=>MM+(o-e)*s;return(0,I.jsxs)(`svg`,{width:jM,height:jM,viewBox:`0 0 ${jM} ${jM}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,I.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,I.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,I.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,I.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,I.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,I.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function PM({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=kM(i);return(0,I.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:()=>AC(`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,I.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,I.jsx)(NM,{bezier:a}):(0,I.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,I.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,I.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,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(JO,{items:VO(e)}),(0,I.jsx)(ZO,{children:i}),e.description?(0,I.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function FM({system:e}){let t=HO(e.tokens,`ease`),n=HO(e.tokens,`duration`),r=HO(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,I.jsxs)(YO,{title:`No motion tokens`,children:[`Add `,(0,I.jsx)(Q,{children:`--ease-*`}),` and `,(0,I.jsx)(Q,{children:`--animate-*`}),` to the `,(0,I.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,I.jsx)(Q,{children:`--duration-*`}),`, in `,(0,I.jsx)(Q,{children:XO}),`.`]}):null,t.length?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Easing`,count:t.length}),(0,I.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,I.jsx)(PM,{token:e,duration:900},e.name))})]}):null,n.length?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Durations`,count:n.length}),(0,I.jsx)(ow,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?AM(e.light.value):null;return(0,I.jsxs)(cw,{cols:i,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,I.jsx)(`span`,{}):(0,I.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,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,I.jsx)(ow,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,I.jsxs)(cw,{cols:a,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(JO,{items:VO(e)}),(0,I.jsx)(ZO,{children:e.light?.value})]},e.name))]}):null]})}function IM({system:e}){let t=new Set(e.tokens.map(e=>e.kind)),n=[{to:`/system/colors`,label:`Colors`,hint:LM(e,`color`)},{to:`/system/typography`,label:`Typography`},{to:`/system/shape`,label:`Spacing & shape`}];(t.has(`ease`)||t.has(`duration`)||t.has(`animation`))&&n.push({to:`/system/motion`,label:`Motion`}),t.has(`other`)&&n.push({to:`/system/tokens`,label:`Other tokens`,hint:LM(e,`other`)}),e.assets.length&&n.push({to:`/system/assets`,label:`Assets`,hint:e.assets.length});let r=new Map;for(let t of e.components){let e=r.get(t.group)??[];e.push({to:`/system/components/${encodeURIComponent(t.id)}`,label:t.title,hint:t.status}),r.set(t.group,e)}let i=e.guidelines.filter(e=>e.slug!==`overview`);return(0,I.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,I.jsx)(vw,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,I.jsx)(yw,{children:`Foundations`}),(0,I.jsx)(vw,{label:`Foundations`,items:n}),i.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(yw,{children:`Guidelines`}),(0,I.jsx)(vw,{label:`Guidelines`,items:i.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...r].map(([e,t])=>(0,I.jsxs)(`div`,{className:`flex flex-col`,children:[(0,I.jsx)(yw,{children:e}),(0,I.jsx)(vw,{label:e,items:t})]},e))]})}function LM(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function RM({system:e}){let t=HO(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?UO(t).map(({group:e,tokens:t})=>(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:e,count:t.length}),(0,I.jsx)(ow,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,I.jsxs)(cw,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(ZO,{children:e.light?.value}),(0,I.jsx)(ZO,{children:e.dark?.value??`—`}),(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,I.jsxs)(YO,{title:`No other tokens`,children:[`Variables in `,(0,I.jsx)(Q,{children:`:root`}),` of `,(0,I.jsx)(Q,{children:XO}),` that are not colors or lengths show here.`]})]})}function zM(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function BM(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:jO(zM(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${jO(zM(e,`font`),`family`,`families`)} · ${jO(zM(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:jO(zM(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=zM(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:jO(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:jO(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:jO(e.components.length,`component`)}),t}function VM({system:e}){return(0,I.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:BM(e).map(e=>(0,I.jsxs)(xe,{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,I.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,I.jsx)(Z,{name:e.icon,size:17})}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,I.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function HM({system:e}){let[,t]=N(),n=[{label:`Color tokens`,value:zM(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:zM(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:zM(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:zM(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:zM(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,I.jsxs)(cw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,I.jsx)(ew,{value:e.value})]},e.label)),e.fonts.length?(0,I.jsxs)(cw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,I.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,I.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:UM(e)},e))})]}):null]})}function UM(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 WM({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:e.name,sub:e.description}),(0,I.jsx)(pw,{issues:e.issues,title:`Problems in the design system`}),(0,I.jsx)(VM,{system:e}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,I.jsx)(tw,{children:(0,I.jsx)(`div`,{className:`px-6 py-5`,children:(0,I.jsx)(zD,{text:t.markdown})})}):(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Overview`}),(0,I.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,I.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,I.jsx)(HM,{system:e})]})]})}var GM=[1,2,3,4,6,8,12,16],KM=480;function qM({px:e}){return e===null?(0,I.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,I.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,I.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,KM))},title:`${e}px`}),e>KM?(0,I.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function JM({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?WO(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,I.jsx)(ow,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?GM.map(e=>(0,I.jsxs)(cw,{cols:i,minH:36,pad:`6px 16px`,children:[(0,I.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,I.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,I.jsx)(qM,{px:r*e})]},e)):null,n.map(e=>(0,I.jsxs)(cw,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,I.jsx)(qM,{px:e.light?WO(e.light.value):null})]},e.name))]})}function YM({token:e,children:t}){return(0,I.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>AC(`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,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(JO,{items:VO(e)}),(0,I.jsx)(ZO,{children:e.light?.value}),e.description?(0,I.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function XM({title:e,tokens:t,min:n=170,children:r}){return(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:e,count:t.length}),(0,I.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,I.jsx)(YM,{token:e,children:r(e)},e.name))})]})}function ZM({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Breakpoints`,count:e.length}),(0,I.jsx)(ow,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?WO(e.light.value):null;return(0,I.jsxs)(cw,{cols:t,align:`lllr`,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(JO,{items:VO(e)}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function QM({system:e}){let t=h_(),n=HO(e.tokens,`spacing`),r=HO(e.tokens,`radius`),i=HO(e.tokens,`shadow`),a=HO(e.tokens,`blur`),o=HO(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,I.jsxs)(YO,{title:`No spacing or shape tokens`,children:[`Add `,(0,I.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,I.jsx)(Q,{children:`--spacing-*`}),`, `,(0,I.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,I.jsx)(Q,{children:`--shadow-*`}),` and `,(0,I.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,I.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,I.jsx)(Q,{children:XO}),`.`]}):null,n.length?(0,I.jsx)(JM,{tokens:n}):null,r.length?(0,I.jsx)(XM,{title:`Radii`,tokens:r,children:e=>(0,I.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,I.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,I.jsx)(XM,{title:`Shadows`,tokens:i,min:200,children:e=>(0,I.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,I.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:GO(e,t)}})})}):null,a.length?(0,I.jsx)(XM,{title:`Blur`,tokens:a,children:e=>(0,I.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,I.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,I.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,I.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,I.jsx)(ZM,{tokens:o}):null]})}var $M={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function eN(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function tN({system:e}){let[t,n]=KO(),r=HO(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_w,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Specimen`,right:(0,I.jsx)(qO,{value:t,onChange:n})}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:(0,I.jsx)(ik,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,I.jsxs)(tw,{children:[(0,I.jsx)(nw,{title:`Tokens`,count:r.length}),(0,I.jsx)(ow,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,I.jsxs)(cw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:$M[e.kind]}),(0,I.jsx)(JO,{items:VO(e)}),(0,I.jsx)(ZO,{children:eN(e)})]},e.name))]}):(0,I.jsxs)(YO,{title:`No type tokens`,children:[`Add font families (`,(0,I.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,I.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,I.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,I.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,I.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,I.jsx)(Q,{children:XO}),`. Web fonts go in `,(0,I.jsx)(Q,{children:`system.json`}),` `,(0,I.jsx)(Q,{children:`fonts`}),`.`]})]})}function nN({system:e}){return(0,I.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,I.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,I.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,I.jsx)(IM,{system:e})}),(0,I.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pt-6 pb-7`,children:(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/system`,children:(0,I.jsx)(WM,{system:e})}),(0,I.jsx)(F,{path:`/system/colors`,children:(0,I.jsx)(rk,{system:e})}),(0,I.jsx)(F,{path:`/system/typography`,children:(0,I.jsx)(tN,{system:e})}),(0,I.jsx)(F,{path:`/system/shape`,children:(0,I.jsx)(QM,{system:e})}),(0,I.jsx)(F,{path:`/system/motion`,children:(0,I.jsx)(FM,{system:e})}),(0,I.jsx)(F,{path:`/system/tokens`,children:(0,I.jsx)(RM,{system:e})}),(0,I.jsx)(F,{path:`/system/assets`,children:(0,I.jsx)($O,{system:e})}),(0,I.jsx)(F,{path:`/system/guidelines/:slug`,children:t=>(0,I.jsx)(DM,{system:e,slug:decodeURIComponent(t.slug)})}),(0,I.jsx)(F,{path:`/system/components/:id`,children:t=>(0,I.jsx)(TM,{system:e,id:decodeURIComponent(t.id)})}),(0,I.jsx)(F,{children:(0,I.jsx)(Sw,{title:`No such page`,text:`This page is not part of the design system.`})})]})})]})})}function rN(){return(0,I.jsx)(xw,{title:`No design system yet`,text:(0,I.jsxs)(I.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,I.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,I.jsx)(Q,{children:`.design/system`}),`.`]})})}function iN(){let e=Zg().data,t=e?e.system!==null:void 0,{data:n,error:r,isLoading:i}=$g(t===!0);return t===!1||n===null||r instanceof Mg&&r.status===404?(0,I.jsx)(rN,{}):r?(0,I.jsx)(xw,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,I.jsx)(nN,{system:n})}function aN(){let e=Zg().data?.name;return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),null}function oN(){return(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/c/:canvas/full/:item`,children:e=>(0,I.jsx)(xT,{canvasId:e.canvas,itemId:e.item})}),(0,I.jsx)(F,{path:`/c/:canvas/play/:item`,children:e=>(0,I.jsx)(TO,{canvasId:e.canvas,itemId:e.item})}),(0,I.jsx)(F,{path:`/c/:canvas/p/:page`,children:e=>(0,I.jsx)(_O,{canvasId:e.canvas,pageId:e.page})}),(0,I.jsx)(F,{path:`/c/:canvas`,children:e=>(0,I.jsx)(_O,{canvasId:e.canvas})}),(0,I.jsxs)(F,{path:`/system/*?`,children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(iN,{})]}),(0,I.jsxs)(F,{path:`/`,children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(BO,{})]}),(0,I.jsxs)(F,{children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(Sw,{})]})]})}function sN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Yg(n,e)?r:(0,I.jsx)(we,{to:t,replace:!0});return(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,I.jsx)(xT,{canvasId:e,itemId:t.item}))}),(0,I.jsx)(F,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,(0,I.jsx)(TO,{canvasId:e,itemId:t.item}))}),(0,I.jsx)(F,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,(0,I.jsx)(_O,{canvasId:e,pageId:t.page}))}),(0,I.jsx)(F,{path:`/c/:canvas`,children:t=>n(t.canvas,(0,I.jsx)(_O,{canvasId:e}))}),(0,I.jsx)(F,{children:(0,I.jsx)(we,{to:t,replace:!0})})]})}function cN({source:e,base:t=``,frameSandbox:n,slots:r,scope:i,queryClient:a}){let[o]=(0,v.useState)(()=>a??Xg(e.live)),s=a??o,c=(0,v.useMemo)(()=>Ug(Kg(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?t_(s,c):void 0,[e,s,c]),(0,I.jsx)(Fe,{client:s,children:(0,I.jsx)(qg.Provider,{value:u,children:(0,I.jsx)(id,{reducedMotion:`user`,children:(0,I.jsxs)(gT,{children:[(0,I.jsx)(aN,{}),(0,I.jsxs)(ve,{base:t,children:[u.scope?(0,I.jsx)(sN,{canvas:u.scope.canvas}):(0,I.jsx)(oN,{}),(0,I.jsx)(S_,{})]}),(0,I.jsx)(kC,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,I.jsx)(v.StrictMode,{children:jg?(0,I.jsx)(ve,{hook:je,hrefs:e=>`#${e}`,children:(0,I.jsx)(cN,{source:zg})}):(0,I.jsx)(cN,{source:Lg})}));
|
|
157
|
+
`)}),(0,I.jsx)(`pre`,{className:`m-0 min-w-0 grow py-3 pr-6 pl-4 text-ink`,children:(0,I.jsx)(`code`,{dangerouslySetInnerHTML:{__html:i}})})]})]})}var vM={beta:`action`,experimental:`action`,draft:`action`,deprecated:`danger`,stable:`ok`},yM=`.design/system/components/`;function bM(e){return e.startsWith(yM)?`@system/components/${e.slice(26).replace(/\.(tsx|jsx|ts|js)$/,``).replace(/\/index$/,``)}`:null}function xM(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 SM({path:e}){let t=bM(e),n=e_(t?e:null).data;if(!t)return null;let r=n?xM(n):[],i=`import { ${r.length?r.join(`, `):`…`} } from '${t}'`;return(0,I.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-rule py-1.5 pr-1.5 pl-4`,children:[(0,I.jsx)(Q,{size:12.5,className:`min-w-0 truncate text-ink2`,title:i,children:i}),(0,I.jsx)(j_,{icon:`copy`,label:`Copy the import`,size:14,className:`ml-auto`,onClick:()=>AC(i)})]})}function CM({component:e,theme:t,width:n}){return n===`fill`?(0,I.jsx)(ak,{src:e.url,theme:t,title:e.title,minHeight:160}):(0,I.jsx)(`div`,{className:`flex justify-center overflow-x-auto bg-soft p-6`,children:(0,I.jsx)(`div`,{className:`shrink-0 overflow-hidden rounded-[8px] border border-rule bg-surface shadow-frame`,children:(0,I.jsx)(ak,{src:e.url,theme:t,title:e.title,minHeight:160,width:Number(n)})})})}function wM({component:e}){let t=[...e.sources,e.specimen],[n,r]=(0,v.useState)(t[0]),i=t.includes(n)?n:t[0],{data:a,error:o,isLoading:s}=e_(i);return(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[t.length>1?(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-rule px-4 py-2.5`,children:(0,I.jsx)(kw,{label:`File`,size:`sm`,value:i,onChange:r,items:t.map(t=>({value:t,label:t===e.specimen?`${TM(t)} · specimen`:TM(t),title:t}))})}):null,bM(i)?(0,I.jsx)(SM,{path:i}):null,o?(0,I.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-6 text-[13px] text-danger-text`,children:[(0,I.jsx)(Z,{name:`alert`,size:15}),o.message]}):s||a===void 0?(0,I.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted`,children:(0,I.jsx)(Z,{name:`loader`,size:18})}):(0,I.jsx)(_M,{code:a,path:i})]})}function TM(e){return e.split(`/`).pop()??e}function EM({system:e,id:t}){let n=e.components.find(e=>e.id===t),[r,i]=(0,v.useState)(`preview`),[a,o]=qO(),[s,c]=(0,v.useState)(`fill`),l=!Jg().frameSandbox;if(!n)return(0,I.jsx)(Cw,{title:`No such component`,text:`There is no specimen "${t}" in .design/system/specimens.`});let u=n.status?.toLowerCase();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:n.title,badge:(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(ew,{children:n.group}),u?(0,I.jsx)(ew,{tone:vM[u]??`neutral`,children:n.status}):null]}),sub:n.description}),(0,I.jsxs)(nw,{children:[(0,I.jsx)(iw,{value:r,onChange:i,items:[{value:`preview`,label:`Preview`},{value:`code`,label:`Code`,count:n.sources.length+1}],right:r===`preview`?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(kw,{label:`Width`,size:`sm`,value:s,onChange:c,items:[{value:`fill`,label:`Fill`},{value:`768`,label:`768`},{value:`390`,label:`390`}]}),(0,I.jsx)(JO,{value:a,onChange:o}),l?(0,I.jsx)(N_,{icon:`external`,href:zC(RC(n.url,a)),target:`_blank`,rel:`noreferrer`,children:`Open`}):null]}):null}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:r===`preview`?(0,I.jsx)(CM,{component:n,theme:a,width:s}):(0,I.jsx)(wM,{component:n})})]})]})}function DM(e,t){let n=/^\s*#\s+(.+)\r?\n/.exec(e);return n&&n[1].trim()===t?e.slice(n[0].length):e}function OM({system:e,slug:t}){let n=e.guidelines.find(e=>e.slug===t);if(!n)return(0,I.jsx)(Cw,{title:`No such guideline`,text:`There is no guideline "${t}" in .design/system/guidelines.`});let r=DM(n.markdown,n.title).trim();return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:n.title,sub:`Guideline`}),(0,I.jsx)(nw,{children:(0,I.jsx)(`div`,{className:`px-6 py-5`,children:r?(0,I.jsx)(BD,{text:r,className:`max-w-[760px]`}):(0,I.jsxs)(`span`,{className:`text-[13px] text-muted`,children:[`This guideline is empty. Write it in `,(0,I.jsx)(Q,{children:`.design/system/guidelines`}),`.`]})})})]})}var kM={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 AM(e){let t=e.trim();if(kM[t])return kM[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 jM(e){let t=/^(-?[\d.]+)(ms|s)$/.exec(e.trim());return t?Number(t[1])*(t[2]===`s`?1e3:1):null}var MM=132,NM=22;function PM({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=>NM+e*88,l=e=>NM+(o-e)*s;return(0,I.jsxs)(`svg`,{width:MM,height:MM,viewBox:`0 0 ${MM} ${MM}`,"aria-hidden":`true`,className:`shrink-0`,children:[(0,I.jsx)(`rect`,{x:c(0),y:l(1),width:88,height:l(0)-l(1),className:`fill-none stroke-rule`}),(0,I.jsx)(`line`,{x1:c(0),y1:l(0),x2:c(t),y2:l(n),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,I.jsx)(`line`,{x1:c(1),y1:l(1),x2:c(r),y2:l(i),className:`stroke-rule-strong`,strokeDasharray:`3 3`}),(0,I.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,I.jsx)(`circle`,{cx:c(t),cy:l(n),r:3,className:`fill-action`}),(0,I.jsx)(`circle`,{cx:c(r),cy:l(i),r:3,className:`fill-action`})]})}function FM({token:e,duration:t}){let[n,r]=(0,v.useState)(!1),i=e.light?.value??``,a=AM(i);return(0,I.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:()=>AC(`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,I.jsx)(`span`,{className:`flex h-[132px] items-center justify-center rounded-[6px] bg-soft`,children:a?(0,I.jsx)(PM,{bezier:a}):(0,I.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`No curve to draw`})}),(0,I.jsx)(`span`,{className:`relative mx-1 h-2 rounded-full bg-soft2`,children:(0,I.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,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(YO,{items:HO(e)}),(0,I.jsx)(QO,{children:i}),e.description?(0,I.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function IM({system:e}){let t=UO(e.tokens,`ease`),n=UO(e.tokens,`duration`),r=UO(e.tokens,`animation`),i=`minmax(170px,1fr) 100px minmax(0,2fr)`,a=`minmax(170px,1fr) minmax(140px,0.7fr) minmax(0,2fr)`;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Motion`,sub:`Hover an easing to see it move.`}),!t.length&&!n.length&&!r.length?(0,I.jsxs)(XO,{title:`No motion tokens`,children:[`Add `,(0,I.jsx)(Q,{children:`--ease-*`}),` and `,(0,I.jsx)(Q,{children:`--animate-*`}),` to the `,(0,I.jsx)(Q,{children:`@theme`}),` block, and durations as`,` `,(0,I.jsx)(Q,{children:`--duration-*`}),`, in `,(0,I.jsx)(Q,{children:ZO}),`.`]}):null,t.length?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Easing`,count:t.length}),(0,I.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,I.jsx)(FM,{token:e,duration:900},e.name))})]}):null,n.length?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Durations`,count:n.length}),(0,I.jsx)(sw,{cols:i,labels:[`Token`,`Value`,``]}),n.map(e=>{let t=e.light?jM(e.light.value):null;return(0,I.jsxs)(lw,{cols:i,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),t===null?(0,I.jsx)(`span`,{}):(0,I.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,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Animations`,count:r.length,sub:`keyframes live in the system stylesheet`}),(0,I.jsx)(sw,{cols:a,labels:[`Token`,`Class`,`Value`]}),r.map(e=>(0,I.jsxs)(lw,{cols:a,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(YO,{items:HO(e)}),(0,I.jsx)(QO,{children:e.light?.value})]},e.name))]}):null]})}function LM({system:e}){let t=new Set(e.tokens.map(e=>e.kind)),n=[{to:`/system/colors`,label:`Colors`,hint:RM(e,`color`)},{to:`/system/typography`,label:`Typography`},{to:`/system/shape`,label:`Spacing & shape`}];(t.has(`ease`)||t.has(`duration`)||t.has(`animation`))&&n.push({to:`/system/motion`,label:`Motion`}),t.has(`other`)&&n.push({to:`/system/tokens`,label:`Other tokens`,hint:RM(e,`other`)}),e.assets.length&&n.push({to:`/system/assets`,label:`Assets`,hint:e.assets.length});let r=new Map;for(let t of e.components){let e=r.get(t.group)??[];e.push({to:`/system/components/${encodeURIComponent(t.id)}`,label:t.title,hint:t.status}),r.set(t.group,e)}let i=e.guidelines.filter(e=>e.slug!==`overview`);return(0,I.jsxs)(`div`,{className:`flex flex-col max-lg:gap-1 max-lg:[&_nav]:flex-row max-lg:[&_nav]:flex-wrap`,children:[(0,I.jsx)(yw,{label:`Overview`,items:[{to:`/system`,label:`Overview`}]}),(0,I.jsx)(bw,{children:`Foundations`}),(0,I.jsx)(yw,{label:`Foundations`,items:n}),i.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(bw,{children:`Guidelines`}),(0,I.jsx)(yw,{label:`Guidelines`,items:i.map(e=>({to:`/system/guidelines/${encodeURIComponent(e.slug)}`,label:e.title}))})]}):null,[...r].map(([e,t])=>(0,I.jsxs)(`div`,{className:`flex flex-col`,children:[(0,I.jsx)(bw,{children:e}),(0,I.jsx)(yw,{label:e,items:t})]},e))]})}function RM(e,t){return e.tokens.filter(e=>e.kind===t).length||void 0}function zM({system:e}){let t=UO(e.tokens,`other`),n=`minmax(170px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)`;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Other tokens`,sub:`Variables that are not colors, type, spacing, shape or motion.`}),t.length?WO(t).map(({group:e,tokens:t})=>(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:e,count:t.length}),(0,I.jsx)(sw,{cols:n,labels:[`Token`,`Light`,`Dark`,`Description`]}),t.map(e=>(0,I.jsxs)(lw,{cols:n,minH:40,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(QO,{children:e.light?.value}),(0,I.jsx)(QO,{children:e.dark?.value??`—`}),(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:e.description})]},e.name))]},e)):(0,I.jsxs)(XO,{title:`No other tokens`,children:[`Variables in `,(0,I.jsx)(Q,{children:`:root`}),` of `,(0,I.jsx)(Q,{children:ZO}),` that are not colors or lengths show here.`]})]})}function BM(e,...t){return e.tokens.filter(e=>t.includes(e.kind)).length}function VM(e){let t=[{to:`/system/colors`,icon:`palette`,title:`Colors`,text:MO(BM(e,`color`),`token`)},{to:`/system/typography`,icon:`type`,title:`Typography`,text:`${MO(BM(e,`font`),`family`,`families`)} · ${MO(BM(e,`text`),`size`)}`},{to:`/system/shape`,icon:`shape`,title:`Spacing & shape`,text:MO(BM(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),`token`)}],n=BM(e,`ease`,`duration`,`animation`);n&&t.push({to:`/system/motion`,icon:`motion`,title:`Motion`,text:MO(n,`token`)}),e.assets.length&&t.push({to:`/system/assets`,icon:`image`,title:`Assets`,text:MO(e.assets.length,`file`)});let r=e.components[0];return r&&t.push({to:`/system/components/${encodeURIComponent(r.id)}`,icon:`component`,title:`Components`,text:MO(e.components.length,`component`)}),t}function HM({system:e}){return(0,I.jsx)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:VM(e).map(e=>(0,I.jsxs)(xe,{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,I.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-soft2 text-ink2`,children:(0,I.jsx)(Z,{name:e.icon,size:17})}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,I.jsx)(`span`,{className:`text-[14px] font-medium text-ink`,children:e.title}),(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.text})]})]},e.to))})}function UM({system:e}){let[,t]=N(),n=[{label:`Color tokens`,value:BM(e,`color`),to:`/system/colors`},{label:`Type tokens`,value:BM(e,`font`,`text`,`weight`,`leading`,`tracking`),to:`/system/typography`},{label:`Spacing & shape tokens`,value:BM(e,`spacing`,`radius`,`shadow`,`blur`,`breakpoint`),to:`/system/shape`},{label:`Motion tokens`,value:BM(e,`ease`,`duration`,`animation`),to:`/system/motion`},{label:`Other tokens`,value:BM(e,`other`),to:`/system/tokens`},{label:`Components`,value:e.components.length},{label:`Guidelines`,value:e.guidelines.length}];return(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`At a glance`}),n.filter(e=>e.value||!e.to||e.to===`/system/colors`).map(e=>(0,I.jsxs)(lw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,onClick:e.to&&e.value?()=>t(e.to):void 0,children:[(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:e.label}),(0,I.jsx)(tw,{value:e.value})]},e.label)),e.fonts.length?(0,I.jsxs)(lw,{cols:`minmax(0,1fr) auto`,align:`lr`,minH:40,pad:`8px 16px`,children:[(0,I.jsx)(`span`,{className:`text-[13.5px] text-ink2`,children:`Web fonts`}),(0,I.jsx)(`span`,{className:`flex min-w-0 flex-col items-end gap-0.5`,children:e.fonts.map(e=>(0,I.jsx)(Q,{size:12,className:`max-w-[260px] truncate text-muted`,title:e,children:WM(e)},e))})]}):null]})}function WM(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 GM({system:e}){let t=e.guidelines.find(e=>e.slug===`overview`);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:e.name,sub:e.description}),(0,I.jsx)(mw,{issues:e.issues,title:`Problems in the design system`}),(0,I.jsx)(HM,{system:e}),(0,I.jsxs)(`div`,{className:`grid items-start gap-5 max-xl:grid-cols-1!`,style:{gridTemplateColumns:`minmax(0,1fr) 320px`},children:[t?(0,I.jsx)(nw,{children:(0,I.jsx)(`div`,{className:`px-6 py-5`,children:(0,I.jsx)(BD,{text:t.markdown})})}):(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Overview`}),(0,I.jsxs)(`div`,{className:`border-t border-rule px-4 py-5 text-[13px] text-muted`,children:[`Write the principles every screen follows in `,(0,I.jsx)(Q,{children:`.design/system/guidelines/01-overview.md`}),`; it shows here.`]})]}),(0,I.jsx)(UM,{system:e})]})]})}var KM=[1,2,3,4,6,8,12,16],qM=480;function JM({px:e}){return e===null?(0,I.jsx)(`span`,{className:`text-[12.5px] text-muted`,children:`not a plain length`}):(0,I.jsxs)(`span`,{className:`flex h-3 items-center`,children:[(0,I.jsx)(`span`,{className:`h-3 rounded-[3px] bg-action/70`,style:{width:Math.max(2,Math.min(e,qM))},title:`${e}px`}),e>qM?(0,I.jsx)(`span`,{className:`ml-1.5 text-[12px] text-muted`,children:`…`}):null]})}function YM({tokens:e}){let t=e.find(e=>e.name===`--spacing`),n=e.filter(e=>e!==t),r=t?.light?GO(t.light.value):null,i=`minmax(150px,0.8fr) 110px minmax(0,2fr)`;return(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Spacing`,count:e.length,sub:t?`base ${t.light?.value}`:void 0}),(0,I.jsx)(sw,{cols:i,labels:[`Class or token`,`Value`,``]}),t&&r!==null?KM.map(e=>(0,I.jsxs)(lw,{cols:i,minH:36,pad:`6px 16px`,children:[(0,I.jsxs)(Q,{size:12.5,className:`text-ink`,children:[`p-`,e,` · gap-`,e]}),(0,I.jsxs)(Q,{size:12,className:`text-muted`,children:[r*e,`px`]}),(0,I.jsx)(JM,{px:r*e})]},e)):null,n.map(e=>(0,I.jsxs)(lw,{cols:i,minH:40,pad:`6px 16px`,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,I.jsx)(JM,{px:e.light?GO(e.light.value):null})]},e.name))]})}function XM({token:e,children:t}){return(0,I.jsxs)(`button`,{type:`button`,title:`Copy the variable`,onClick:()=>AC(`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,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5 px-1`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(YO,{items:HO(e)}),(0,I.jsx)(QO,{children:e.light?.value}),e.description?(0,I.jsx)(`span`,{className:`text-[12.5px] text-ink2`,children:e.description}):null]})]})}function ZM({title:e,tokens:t,min:n=170,children:r}){return(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:e,count:t.length}),(0,I.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,I.jsx)(XM,{token:e,children:r(e)},e.name))})]})}function QM({tokens:e}){let t=`minmax(170px,1fr) minmax(90px,0.6fr) 110px 90px`;return(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Breakpoints`,count:e.length}),(0,I.jsx)(sw,{cols:t,labels:[`Token`,`Variant`,`Value`,`Pixels`],align:`lllr`}),e.map(e=>{let n=e.light?GO(e.light.value):null;return(0,I.jsxs)(lw,{cols:t,align:`lllr`,minH:40,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),(0,I.jsx)(YO,{items:HO(e)}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:e.light?.value}),(0,I.jsx)(Q,{size:12,className:`text-muted`,children:n===null?``:`${n}px`})]},e.name)})]})}function $M({system:e}){let t=h_(),n=UO(e.tokens,`spacing`),r=UO(e.tokens,`radius`),i=UO(e.tokens,`shadow`),a=UO(e.tokens,`blur`),o=UO(e.tokens,`breakpoint`),s=!n.length&&!r.length&&!i.length&&!a.length&&!o.length;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Spacing & shape`,sub:`Click a token to copy its variable.`}),s?(0,I.jsxs)(XO,{title:`No spacing or shape tokens`,children:[`Add `,(0,I.jsx)(Q,{children:`--spacing`}),` (the base step), `,(0,I.jsx)(Q,{children:`--spacing-*`}),`, `,(0,I.jsx)(Q,{children:`--radius-*`}),`,`,` `,(0,I.jsx)(Q,{children:`--shadow-*`}),` and `,(0,I.jsx)(Q,{children:`--breakpoint-*`}),` to the `,(0,I.jsx)(Q,{children:`@theme`}),` block in`,` `,(0,I.jsx)(Q,{children:ZO}),`.`]}):null,n.length?(0,I.jsx)(YM,{tokens:n}):null,r.length?(0,I.jsx)(ZM,{title:`Radii`,tokens:r,children:e=>(0,I.jsx)(`span`,{className:`flex h-[88px] items-center justify-center rounded-[6px] bg-soft`,children:(0,I.jsx)(`span`,{className:`size-14 border border-rule-strong bg-surface`,style:{borderRadius:e.light?.value}})})}):null,i.length?(0,I.jsx)(ZM,{title:`Shadows`,tokens:i,min:200,children:e=>(0,I.jsx)(`span`,{className:`flex h-[112px] items-center justify-center rounded-[6px] bg-soft`,children:(0,I.jsx)(`span`,{className:`h-[60px] w-[108px] rounded-[8px] bg-surface`,style:{boxShadow:KO(e,t)}})})}):null,a.length?(0,I.jsx)(ZM,{title:`Blur`,tokens:a,children:e=>(0,I.jsxs)(`span`,{className:`relative flex h-[88px] items-center justify-center overflow-hidden rounded-[6px] bg-soft`,children:[(0,I.jsx)(`span`,{className:`absolute left-5 top-4 size-10 rounded-full bg-action`}),(0,I.jsx)(`span`,{className:`absolute right-6 bottom-3 size-12 rounded-[6px] bg-ink2`}),(0,I.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,I.jsx)(QM,{tokens:o}):null]})}var eN={font:`Family`,text:`Size`,weight:`Weight`,leading:`Line height`,tracking:`Letter spacing`};function tN(e){return e.kind===`text`?[e.light?.value,e.lineHeight].filter(Boolean).join(` / `):e.light?.value??``}function nN({system:e}){let[t,n]=qO(),r=UO(e.tokens,`font`,`text`,`weight`,`leading`,`tracking`);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(vw,{title:`Typography`,sub:`Set in the design system's own stylesheet, with its fonts.`}),e.typographyUrl?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Specimen`,right:(0,I.jsx)(JO,{value:t,onChange:n})}),(0,I.jsx)(`div`,{className:`border-t border-rule`,children:(0,I.jsx)(ak,{src:e.typographyUrl,theme:t,title:`Typography specimen`,minHeight:200})})]}):null,r.length?(0,I.jsxs)(nw,{children:[(0,I.jsx)(rw,{title:`Tokens`,count:r.length}),(0,I.jsx)(sw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,labels:[`Token`,`Kind`,`Class`,`Value`]}),r.map(e=>(0,I.jsxs)(lw,{cols:`minmax(160px,1fr) 110px minmax(120px,0.8fr) minmax(0,1.4fr)`,minH:42,title:`Copy the variable`,onClick:()=>AC(`var(${e.name})`),children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,I.jsx)(Q,{size:12.5,className:`truncate text-ink`,children:e.name}),e.description?(0,I.jsx)(`span`,{className:`truncate text-[12.5px] text-muted`,children:e.description}):null]}),(0,I.jsx)(`span`,{className:`text-[13px] text-ink2`,children:eN[e.kind]}),(0,I.jsx)(YO,{items:HO(e)}),(0,I.jsx)(QO,{children:tN(e)})]},e.name))]}):(0,I.jsxs)(XO,{title:`No type tokens`,children:[`Add font families (`,(0,I.jsx)(Q,{children:`--font-*`}),`), sizes (`,(0,I.jsx)(Q,{children:`--text-*`}),` with`,` `,(0,I.jsx)(Q,{children:`--text-*--line-height`}),`) and weights (`,(0,I.jsx)(Q,{children:`--font-weight-*`}),`) to the `,(0,I.jsx)(Q,{children:`@theme`}),` `,`block in `,(0,I.jsx)(Q,{children:ZO}),`. Web fonts go in `,(0,I.jsx)(Q,{children:`system.json`}),` `,(0,I.jsx)(Q,{children:`fonts`}),`.`]})]})}function rN({system:e}){return(0,I.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,I.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,I.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,I.jsx)(LM,{system:e})}),(0,I.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pt-6 pb-7`,children:(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/system`,children:(0,I.jsx)(GM,{system:e})}),(0,I.jsx)(F,{path:`/system/colors`,children:(0,I.jsx)(ik,{system:e})}),(0,I.jsx)(F,{path:`/system/typography`,children:(0,I.jsx)(nN,{system:e})}),(0,I.jsx)(F,{path:`/system/shape`,children:(0,I.jsx)($M,{system:e})}),(0,I.jsx)(F,{path:`/system/motion`,children:(0,I.jsx)(IM,{system:e})}),(0,I.jsx)(F,{path:`/system/tokens`,children:(0,I.jsx)(zM,{system:e})}),(0,I.jsx)(F,{path:`/system/assets`,children:(0,I.jsx)(ek,{system:e})}),(0,I.jsx)(F,{path:`/system/guidelines/:slug`,children:t=>(0,I.jsx)(OM,{system:e,slug:decodeURIComponent(t.slug)})}),(0,I.jsx)(F,{path:`/system/components/:id`,children:t=>(0,I.jsx)(EM,{system:e,id:decodeURIComponent(t.id)})}),(0,I.jsx)(F,{children:(0,I.jsx)(Cw,{title:`No such page`,text:`This page is not part of the design system.`})})]})})]})})}function iN(){return(0,I.jsx)(Sw,{title:`No design system yet`,text:(0,I.jsxs)(I.Fragment,{children:[`Ask your agent to build one from the codebase, or run `,(0,I.jsx)(Q,{children:`design system init`}),` to start from a template in `,(0,I.jsx)(Q,{children:`.design/system`}),`.`]})})}function aN(){let e=Zg().data,t=e?e.system!==null:void 0,{data:n,error:r,isLoading:i}=$g(t===!0);return t===!1||n===null||r instanceof Mg&&r.status===404?(0,I.jsx)(iN,{}):r?(0,I.jsx)(Sw,{title:`Could not load the design system`,text:r.message}):i||!n?null:(0,I.jsx)(rN,{system:n})}function oN(){let e=Zg().data?.name;return(0,v.useEffect)(()=>{e&&(document.title=`${e} · Design`)},[e]),null}function sN(){return(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/c/:canvas/full/:item`,children:e=>(0,I.jsx)(ST,{canvasId:e.canvas,itemId:e.item})}),(0,I.jsx)(F,{path:`/c/:canvas/play/:item`,children:e=>(0,I.jsx)(EO,{canvasId:e.canvas,itemId:e.item})}),(0,I.jsx)(F,{path:`/c/:canvas/p/:page`,children:e=>(0,I.jsx)(vO,{canvasId:e.canvas,pageId:e.page})}),(0,I.jsx)(F,{path:`/c/:canvas`,children:e=>(0,I.jsx)(vO,{canvasId:e.canvas})}),(0,I.jsxs)(F,{path:`/system/*?`,children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(aN,{})]}),(0,I.jsxs)(F,{path:`/`,children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(VO,{})]}),(0,I.jsxs)(F,{children:[(0,I.jsx)(ZS,{}),(0,I.jsx)(Cw,{})]})]})}function cN({canvas:e}){let t=`/c/${encodeURIComponent(e)}`,n=(n,r)=>Yg(n,e)?r:(0,I.jsx)(we,{to:t,replace:!0});return(0,I.jsxs)(Ce,{children:[(0,I.jsx)(F,{path:`/c/:canvas/full/:item`,children:t=>n(t.canvas,(0,I.jsx)(ST,{canvasId:e,itemId:t.item}))}),(0,I.jsx)(F,{path:`/c/:canvas/play/:item`,children:t=>n(t.canvas,(0,I.jsx)(EO,{canvasId:e,itemId:t.item}))}),(0,I.jsx)(F,{path:`/c/:canvas/p/:page`,children:t=>n(t.canvas,(0,I.jsx)(vO,{canvasId:e,pageId:t.page}))}),(0,I.jsx)(F,{path:`/c/:canvas`,children:t=>n(t.canvas,(0,I.jsx)(vO,{canvasId:e}))}),(0,I.jsx)(F,{children:(0,I.jsx)(we,{to:t,replace:!0})})]})}function lN({source:e,base:t=``,frameSandbox:n,slots:r,scope:i,queryClient:a}){let[o]=(0,v.useState)(()=>a??Xg(e.live)),s=a??o,c=(0,v.useMemo)(()=>Ug(Kg(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?t_(s,c):void 0,[e,s,c]),(0,I.jsx)(Fe,{client:s,children:(0,I.jsx)(qg.Provider,{value:u,children:(0,I.jsx)(id,{reducedMotion:`user`,children:(0,I.jsxs)(_T,{children:[(0,I.jsx)(oN,{}),(0,I.jsxs)(ve,{base:t,children:[u.scope?(0,I.jsx)(cN,{canvas:u.scope.canvas}):(0,I.jsx)(sN,{}),(0,I.jsx)(S_,{})]}),(0,I.jsx)(kC,{})]})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,I.jsx)(v.StrictMode,{children:jg?(0,I.jsx)(ve,{hook:je,hrefs:e=>`#${e}`,children:(0,I.jsx)(lN,{source:zg})}):(0,I.jsx)(lN,{source:Lg})}));
|