@aistrike-dev/ui-shell-dev 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aistrike-dev/ui-shell-dev",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "description": "A Vite plugin that serves the AiStrike UI shell from your micro front-end's dev server, plus a dev-token CLI.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -178,5 +178,5 @@ Error generating stack: `+e.message+`
178
178
 
179
179
  `);for(;a!==-1;){let e=vS(r.slice(0,a));r=r.slice(a+2),e!==null&&(yield e),a=r.indexOf(`
180
180
 
181
- `)}if(e){let e=r.trim()===``?null:vS(r);e!==null&&(yield e);return}}}var bS=`application/vnd.aistrike.conversations+json; version=1.0`,xS=class extends Error{status;id;constructor(e,t){super(`The assistant's API answered ${e}${t===null?``:` (${t})`}`),this.name=`ApiError`,this.status=e,this.id=t}};async function SS(e){let t;try{t=await e.json()}catch{t=null}let n=dS(t)&&Array.isArray(t.errors)?t.errors[0]:void 0;return new xS(e.status,dS(n)&&fS(n.id)?n.id:null)}function CS(e,t){let n=new Headers([[`Accept`,t]]),r=e();return r!==null&&n.set(`Authorization`,`Bearer ${r}`),n}var wS=e=>e.fetch??globalThis.fetch.bind(globalThis);async function TS(e){let t=CS(e.token,bS);t.set(`Content-Type`,`application/json`);let n=await wS(e)(`${e.apiBase}conversations`,{method:`POST`,headers:t,body:JSON.stringify(e.scope),signal:e.signal});if(n.status!==201)throw await SS(n);let r;try{r=await n.json()}catch{r=null}let i=dS(r)&&dS(r.data)?r.data.id:void 0;if(!fS(i)||i===``)throw new xS(n.status,null);return i}async function*ES(e){let t=CS(e.token,`text/event-stream, ${bS}`);t.set(`Content-Type`,`application/json`);let n=await wS(e)(`${e.apiBase}conversations/${encodeURIComponent(e.conversationId)}/turns`,{method:`POST`,headers:t,body:JSON.stringify(e.request),signal:e.signal});if(!n.ok)throw await SS(n);if(n.body===null)throw new xS(n.status,null);yield*yS(n.body)}var DS=200,OS=40,kS=(e,t)=>fS(e)&&e.trim()!==``&&e.length<=t;function AS(e){if(!dS(e)||!fS(e.id)||!Bx.test(e.id)||!kS(e.text,DS))return null;let{id:t,text:n,label:r}=e;return r===void 0?{id:t,text:n}:kS(r,OS)?{id:t,text:n,label:r}:null}async function jS(e){let t=wS(e),n=new URLSearchParams([[`domain`,e.domainId],[`mode`,e.mode]]),r=await t(`${e.apiBase}prompts?${n.toString()}`,{headers:CS(e.token,bS),signal:e.signal});if(r.status!==200)return[];let i;try{i=await r.json()}catch{return[]}let a=dS(i)?i.data:void 0;return(dS(a)&&Array.isArray(a.prompts)?a.prompts:[]).flatMap(e=>{let t=AS(e);return t===null?[]:[t]})}var MS=50,NS=4,PS=/^[a-z0-9][a-z0-9-]*$/,FS=40,IS=200;function LS(e){if(!dS(e)||!fS(e.id)||!PS.test(e.id)||!kS(e.title,FS))return null;let{id:t,title:n,description:r}=e;return fS(r)&&r.length<=IS?{id:t,title:n,description:r}:null}async function RS(e,t){let n=new URLSearchParams([[`limit`,String(MS)],...t===null?[]:[[`cursor`,t]]]),r;try{let t=await wS(e)(`${e.apiBase}skills?${n.toString()}`,{headers:CS(e.token,bS),signal:e.signal});if(t.status!==200)return null;r=await t.json()}catch{return null}if(!dS(r)||!Array.isArray(r.data))return null;let i=r.hasMore===!0&&fS(r.nextCursor)&&r.nextCursor!==``?r.nextCursor:null;return{skills:r.data.flatMap(e=>LS(e)??[]),next:i}}async function zS(e){let t=new Map,n=null;for(let r=0;r<NS;r+=1){let r=await RS(e,n);if(r===null)break;for(let e of r.skills)t.has(e.id)||t.set(e.id,e);if(r.next===null)break;n=r.next}return[...t.values()]}function BS(e){let{route:t,title:n,screen:r,domains:i,pageTools:a,suggestions:o}=e;return{route:t,title:n,screen:r,domains:i,pageTools:a,suggestions:o}}function VS(){return{revision:0,route:{path:location.pathname,domainId:null},title:``,screen:null,domains:[],pageTools:[],pageCommands:[],suggestions:[]}}var HS=e=>typeof e==`object`&&!!e;function US(e){if(!HS(e))return!1;let{revision:t,route:n,title:r,screen:i,domains:a,pageTools:o,suggestions:s}=e;return typeof t==`number`&&HS(n)&&typeof r==`string`&&(i===null||HS(i))&&[a,o,s].every(e=>Array.isArray(e))}function WS(e){if(!HS(e))return!1;let{id:t,title:n,domainId:r,keywords:i,icon:a}=e;return typeof t==`string`&&typeof n==`string`&&typeof r==`string`&&Array.isArray(i)&&i.every(e=>typeof e==`string`)&&(a===null||typeof a==`string`)}var GS=e=>{let t=e.pageCommands;return{...e,pageCommands:Array.isArray(t)?t.filter(WS):[]}};function KS(e){let t=VS(),n=new Set,r=e.subscribe(Ax.contextChanged,e=>{let r=e.payload;if(!(e.source!==`shell`||!US(r)||r.revision<=t.revision)){t=GS(r);for(let e of[...n])e()}});return e.publish(jx.contextRequested,void 0,{scope:`tab`}),{get:()=>t,subscribe(e){return n.add(e),()=>{n.delete(e)}},dispose(){r(),n.clear()}}}var qS=[{mode:`auto`,label:`Auto`,hint:`Answers questions, makes one small change directly, plans anything larger`},{mode:`ask`,label:`Ask`,hint:`Answers only; never changes anything`},{mode:`plan`,label:`Plan`,hint:`Proposes every change and waits for you to approve it`},{mode:`agent`,label:`Agent`,hint:`Makes the changes you ask for, and reports what it did`}],JS={auto:`Auto`,ask:`Ask`,plan:`Plan`,agent:`Agent`};function YS(e,t,n){return e===`auto`?`Auto → ${JS[t]}${n===void 0||n===``?``:` · ${n}`}`:`${JS[t]} mode`}var XS=`aistrike.assistant.mode`,ZS=`aistrike.assistant.conversation`,QS=`The assistant's answer was cut off`,$S={start:`Couldn't start the conversation`,noOrg:`Your sign-in has no organization, so the assistant can't start`,scope:`You can't use the assistant in this tenant`,gone:`This conversation is no longer available`,busy:`The assistant is still answering in another tab`,tooLong:`This message is too long`},eC=new Set([`pending`,`awaiting-approval`,`running`]);function tC(e,t){let n=e.at(-1);return n?.kind===`text`?[...e.slice(0,-1),{kind:`text`,text:n.text+t}]:[...e,{kind:`text`,text:t}]}function nC(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function rC(e){return{id:e.id,tool:e.tool,input:e.input,state:e.state,...`result`in e?{result:e.result}:{},...e.error===void 0?{}:{error:e.error}}}var iC=(e,t)=>e.role===`assistant`&&e.blocks.some(e=>e.kind===`tool`&&e.call.id===t),aC=e=>e?.role===`assistant`&&e.blocks.length===0&&e.caption===void 0&&e.note===void 0;function oC(e,t){let n=e.map(e=>{if(e.role!==`assistant`)return e;let n=e.blocks.map(e=>e.kind===`tool`&&eC.has(e.call.state)?{kind:`tool`,call:{...e.call,state:`error`,error:t}}:e);return{...e,blocks:n,...e.plan===`proposed`?{plan:`declined`}:{}}});return aC(n.at(-1))?n.slice(0,-1):n}function sC(e){try{let t=JSON.parse(e.getItem(zx.chat)??`[]`);return Array.isArray(t)?oC(t.filter(e=>e.role===`user`||e.role===`assistant`),`Interrupted`):[]}catch{return[]}}var cC=new Set([`auto`,`ask`,`plan`,`agent`]);function lC(e){let t=e.getItem(XS);return t!==null&&cC.has(t)?t:`auto`}function uC(e,t,n){let{screen:r,suggestion:i,skill:a}=n,o=r===void 0?{}:{screen:r};if(a!==void 0)return{message:{role:`user`,text:e,refs:t,...o,skill:{id:a.id,title:a.title}},input:{kind:`message`,text:e,refs:t,skill:{id:a.id}}};let s=n.markup===!0?{markup:!0}:{},c=i===void 0?{}:{suggestion:i};return{message:{role:`user`,text:e,refs:t,...o,...c,...s},input:{kind:`message`,text:e,refs:t,...s,...c}}}var dC=e=>e instanceof Error?e.message:String(e),fC=e=>e instanceof DOMException&&e.name===`AbortError`,pC=()=>new DOMException(`Stopped`,`AbortError`),mC=class extends Error{reason;constructor(e,t){super(e===`create`?$S.start:$S.noOrg,{cause:t}),this.reason=e}},hC=e=>({error:e,canRetry:!0,closed:!1}),gC=e=>({error:e,canRetry:!1,closed:!1}),_C=e=>e instanceof xS&&e.id===`scope_not_permitted`?gC($S.scope):hC($S.start);function vC(e){return e.status===404?{error:$S.gone,canRetry:!1,closed:!0}:e.id===`not_waiting`?{error:null,canRetry:!1,closed:!1}:e.id===`turn_in_progress`?hC($S.busy):e.status===413?gC($S.tooLong):null}function yC(e){return e instanceof mC?e.reason===`noOrg`?gC($S.noOrg):_C(e.cause):(e instanceof xS?vC(e):null)??hC(dC(e))}function bC(e){let t=e.storage.getItem(ZS),n={messages:sC(e.storage),mode:lC(e.storage),running:!1,error:null,canRetry:!1,closed:!1,conversationId:t!==null&&t!==``?t:null},r=new Set,i=new Map,a=null,o=null,s=t=>{n={...n,...t};try{e.storage.setItem(zx.chat,JSON.stringify(n.messages)),e.storage.setItem(XS,n.mode),n.conversationId===null?e.storage.removeItem(ZS):e.storage.setItem(ZS,n.conversationId)}catch{}for(let e of[...r])e()};s({});let c=(e,t)=>{let r=n.messages[e];if(r?.role===`assistant`){let i=[...n.messages];i[e]=t(r),s({messages:i})}},l=e=>nC(n.messages,t=>iC(t,e)),u=(e,t)=>c(l(e),n=>{let r=n.blocks.map(n=>n.kind===`tool`&&n.call.id===e?{kind:`tool`,call:{...n.call,...t}}:n);return{...n,blocks:r}}),d=(e,t)=>{if(l(t.id)===-1)c(e,e=>({...e,blocks:[...e.blocks,{kind:`tool`,call:t}]}));else{let e={state:t.state};`result`in t&&(e.result=t.result),t.error!==void 0&&(e.error=t.error),u(t.id,e)}},f=(e,t)=>{e.type===`text`?c(t,t=>({...t,blocks:tC(t.blocks,e.delta)})):e.type===`mode`?c(t,t=>({...t,acting:e.acting,caption:YS(n.mode,e.acting,e.reason)})):d(t,rC(e))},p=(e,t,n)=>{if(e.type===`page_tool`)return d(t,{id:e.id,tool:Lx(e.domainId,e.name),input:e.input,state:`running`}),{stop:`page_tool`,calls:[...n.stop===`page_tool`?n.calls:[],{id:e.id,domainId:e.domainId,name:e.name,input:e.input}]};if(e.type===`approval`){let n=e.steps.map(l).find(e=>e!==-1)??t;return c(n,t=>({...t,plan:`proposed`,approval:e.id})),{stop:`approval`,id:e.id}}return f(e,t),n},m=async(t,r,i,a,o)=>{let c=e.environment(),l={...r,mode:n.mode,context:{...BS(c),screen:a?c.screen:null},input:i};s({messages:[...n.messages,{role:`assistant`,blocks:[]}]});let u=n.messages.length-1,d={stop:`end`},f=null,m=new Set;for await(let n of e.postTurn(t,l,o)){if(o.aborted)throw pC();n.type===`done`?f=n.stop:(m.add(n.type),d=p(n,u,d))}if(f===null)throw Error(QS);return aC(n.messages[u])&&s({messages:n.messages.slice(0,u).concat(n.messages.slice(u+1))}),d.stop!==f||m.has(`page_tool`)&&m.has(`approval`)?(s({messages:oC(n.messages,`Stopped`)}),{stop:`end`}):d},h=async(t,n)=>{let r=[];for(let{id:i,...a}of t){let t=await e.runPageTool(a,n);if(n.aborted)throw pC();u(i,t.ok?{state:`done`,result:t.result}:{state:`error`,error:t.error}),r.push(t.ok?{id:i,ok:!0,result:t.result}:{id:i,ok:!1,error:t.error})}return{kind:`page_tool_results`,results:r}},g=async(e,t)=>{let r=await new Promise(n=>{i.set(e,n),t.addEventListener(`abort`,()=>n(!1),{once:!0})});if(i.delete(e),t.aborted)throw pC();let a=nC(n.messages,t=>t.role===`assistant`&&t.approval===e);return c(a,e=>({...e,plan:r?`approved`:`declined`})),{kind:`approval`,id:e,approve:r}},_=()=>{let e=oC(n.messages,`Stopped`),t=nC(e,e=>e.role===`assistant`);t!==-1&&(e[t]={...e[t],note:`Stopped after 8 steps. Ask again to continue.`}),s({messages:e})},v=(e,t)=>{if(fC(e)||t.aborted){o=null,s({messages:oC(n.messages,`Stopped`)});return}let r=yC(e);if(r.error===null){o=null,s({messages:oC(n.messages,`Stopped`)});return}r.canRetry||(o=null),s({messages:oC(n.messages,`Interrupted`),...r})},y=async(t,r)=>{if(n.conversationId!==null)return n.conversationId;let i;try{i=await e.createConversation(t,r)}catch(e){throw new mC(`create`,e)}if(r.aborted)throw pC();return s({conversationId:i}),i},b=async(t,n)=>{a=new AbortController;let{signal:r}=a;s({running:!0,error:null,canRetry:!1});try{let i=t;for(let t=1;i!==null;t+=1){o={input:i,screen:n};let a=e.scope();if(a===null)throw new mC(`noOrg`);let s=await y(a,r),c=await m(s,a,i,n,r);c.stop===`end`?i=null:t===8?(_(),i=null):i=c.stop===`page_tool`?await h(c.calls,r):await g(c.id,r)}o=null}catch(e){v(e,r)}finally{i.clear(),a=null,s({running:!1})}};return{get:()=>n,subscribe(e){return r.add(e),()=>{r.delete(e)}},async send(e,t,r={}){if(n.running||n.closed)return;let{message:i,input:a}=uC(e,t,r);s({messages:[...n.messages,i]}),await b(a,r.screen!==void 0)},async retry(){!n.running&&!n.closed&&o!==null&&await b(o.input,o.screen)},stop(){a?.abort()},decide(e,t){i.get(e)?.(t)},setMode(e){cC.has(e)&&s({mode:e})},reset(){a?.abort(),o=null,s({messages:[],error:null,canRetry:!1,closed:!1,conversationId:null})}}}var xC=cS+5e3,SC=lS+5e3,CC=`The shell did not answer`,wC=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function TC(){return[...crypto.getRandomValues(new Uint8Array(16))].map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function EC(e){return new Promise(t=>{let n=[],r=e=>{for(let e of n.splice(0))e();t(e)},{signal:i,stopped:a}=e;if(i!==void 0&&a!==void 0){if(i.aborted){r(a());return}let e=()=>r(a());i.addEventListener(`abort`,e,{once:!0}),n.push(()=>i.removeEventListener(`abort`,e))}n.push(e.bus.subscribe(e.topic,t=>{t.source===`shell`&&wC(t.payload)&&e.matches(t.payload)&&r(e.read(t.payload))}));let o=setTimeout(()=>r(e.timedOut()),e.timeoutMs);n.push(()=>clearTimeout(o)),e.send()})}async function DC(e){let t=TC();return EC({bus:e.bus,topic:Ax.toolCompleted,matches:e=>e.callId===t,read:e=>e.ok===!0?{ok:!0,result:e.result}:{ok:!1,error:String(e.error)},timeoutMs:xC,timedOut:()=>({ok:!1,error:`The shell did not answer within ${xC} ms`}),...e.signal===void 0?{}:{signal:e.signal},stopped:()=>({ok:!1,error:`Stopped`}),send:()=>{let n={callId:t,domainId:e.domainId,name:e.name,input:e.input};e.bus.publish(jx.toolRequested,n,{scope:`tab`})}})}async function OC(e){let t=TC();return EC({bus:e.bus,topic:Ax.commandCompleted,matches:e=>e.callId===t,read:e=>e.ok===!0?{ok:!0}:{ok:!1,error:String(e.error)},timeoutMs:SC,timedOut:()=>({ok:!1,error:CC}),...e.signal===void 0?{}:{signal:e.signal},stopped:()=>({ok:!1,error:`Stopped`}),send:()=>{let n={callId:t,domainId:e.domainId,id:e.id};e.bus.publish(jx.commandRequested,n,{scope:`tab`})}})}async function kC(e){let t=TC();return EC({bus:e.bus,topic:Ax.detailsResolved,matches:e=>e.requestId===t,read:e=>e.ok===!0?sS(e.details):null,timeoutMs:e.timeoutMs??5e3,timedOut:()=>null,send:()=>{let{domainId:n,suggestionId:r,ref:i}=e,a={requestId:t,domainId:n,suggestionId:r,ref:i};e.bus.publish(jx.detailsRequested,a,{scope:`tab`})}})}function AC(e){if(typeof e!=`object`||!e)return null;let{id:t,prompt:n,refs:r}=e;return typeof t==`string`?{id:t,...typeof n==`string`?{prompt:n}:{},refs:Array.isArray(r)?r.filter(Ix):[]}:null}function jC(e){let t=new Set,n=new Set,r=null,i=t=>{let n={id:t};e.publish(jx.askAccepted,n,{scope:`tab`})},a=e=>{n.add(e.id);for(let n of[...t])n(e);i(e.id)},o=e.subscribe(Ax.assistantAsked,e=>{let o=e.source===`shell`?AC(e.payload):null;o!==null&&(n.has(o.id)?i(o.id):t.size===0?r=o:a(o))});return{onAsk(e){t.add(e);let i=r;return r=null,i!==null&&!n.has(i.id)&&a(i),()=>{t.delete(e)}},dispose(){o(),t.clear()}}}function MC(){let e=bx();if(e===null||typeof e.orgId!=`string`||e.orgId===``)return null;let t=xx()??e.defaultTenant??e.tenants[0];return{orgId:e.orgId,tenantScope:t===void 0?{all:!0}:{tenantIds:[t]}}}function NC(e){let t=kx({source:`assistant`,...e.channelName===void 0?{}:{channelName:e.channelName}}),n=jC(t),r=KS(t),i=e.fetch===void 0?{}:{fetch:e.fetch},a=()=>yx(),o=bC({environment:r.get,storage:e.storage??sessionStorage,scope:MC,createConversation:async(t,n)=>TS({apiBase:e.apiBase,scope:t,token:a,signal:n,...i}),postTurn:(t,n,r)=>ES({apiBase:e.apiBase,conversationId:t,request:n,token:a,signal:r,...i}),runPageTool:async(e,n)=>DC({bus:t,...e,signal:n})}),s=[],c=new AbortController,l=null;return{chat:o,prompts:async(t,n,r)=>jS({apiBase:e.apiBase,domainId:t,mode:n,token:a,signal:r,...i}),async skills(){return l??=zS({apiBase:e.apiBase,token:a,signal:c.signal,...i}),l},runCommand:async(e,n)=>OC({bus:t,domainId:e,id:n,signal:c.signal}),environment:r.get,subscribe:r.subscribe,onAsk(e){let t=n.onAsk(e);return s.push(t),t},onFocus(e){let n=t.subscribe(Ax.assistantFocused,e);return s.push(n),n},requestDetails:async(e,n,r)=>kC({bus:t,domainId:e,suggestionId:n,ref:r}),dismiss(){t.publish(jx.paneDismissed,void 0,{scope:`tab`})},dispose(){o.stop(),c.abort();for(let e of s.splice(0))e();n.dispose(),r.dispose(),t.close()}}}var PC=null;function FC(e){PC?.apiBase!==e&&(PC={apiBase:e,runtime:NC({apiBase:e}),holders:0});let t=PC;t.holders+=1;let n=!1;return{runtime:t.runtime,release(){n||(n=!0,--t.holders,t.holders===0&&(t.runtime.dispose(),PC===t&&(PC=null)))}}}function IC(e,t,n){return e.domains.find(e=>e.id===t)?.entities.find(e=>e.type===n)}function LC(e,t){let n=e.domains.find(e=>e.id===t.domain),r=n?.entities.find(e=>e.type===t.type)?.renderer??null;if(n===void 0||r===null)return null;try{let e=new URL(n.uiBase);return e.protocol===`http:`||e.protocol===`https:`?new URL(r,e).href:null}catch{return null}}function RC(e,t){let n=t.trim().toLowerCase();return n===``||e.label.toLowerCase().includes(n)||e.id.toLowerCase().includes(n)}var zC=e=>[...e.screen?.entities??[],...e.screen?.selection??[],...e.suggestions.flatMap(e=>e.refs)];function BC(e,t){let n=new Set,r=new Map;for(let i of zC(e)){let a=Nx(i);if(n.has(a)||!RC(i,t))continue;n.add(a);let o=IC(e,i.domain,i.type)?.label??`On screen`;r.set(o,[...r.get(o)??[],i])}return[...r].map(([e,t])=>({label:e,refs:t}))}var VC=(e,t)=>e.toLowerCase().includes(t);function HC(e,t,n){let r=n.trim().toLowerCase();return{skills:e.filter(e=>VC(e.id,r)||VC(e.title,r)),commands:t.filter(e=>VC(e.id,r)||VC(e.title,r)||e.keywords.some(e=>VC(e,r)))}}var UC=/^\/([a-z0-9][a-z0-9-]*)(?:\s+([\s\S]*))?$/;function WC(e,t){let n=UC.exec(e),r=n===null?void 0:t.find(e=>e.id===n[1]);return n===null||r===void 0?null:{skill:r,text:(n[2]??``).trim()}}function GC(e){return e.screen!==null}function KC(e){return e.route.domainId}var qC=(e,t,n)=>({id:e,text:nS(t),prompt:t,refs:[],details:{},domainId:n,source:`assistant`});function JC(e,t){return[...GC(e)?[qC(`summarise-screen`,`Summarise what's on screen`,t)]:[],...GC(e)&&e.screen.selection.length>0?[qC(`explain-selection`,`Explain the selection`,t)]:[],qC(`what-can-you-do`,`What can you do here?`,t)]}var YC=(e,t)=>({id:e.id,text:nS(e.text),...e.label===void 0?{}:{label:nS(e.label)},refs:[],details:{},domainId:t,source:`domain`});function XC(e,t){return(e.expects??[]).some(n=>t.pageTools.some(t=>t.domainId===e.domainId&&t.name===n.tool&&t.effect===`write`))}function ZC(e,t,n){let r=KC(e),i=[...e.suggestions.map(e=>({...e,source:`page`})),...r===null?[]:t.map(e=>YC(e,r)),...JC(e,r??`assistant`)],a=new Set((e.screen?.selection??[]).map(Nx)),o=new Set,s=new Set,c=!1;return i.filter(t=>{let r=tS(t.text).trim().toLowerCase(),i=t.source===`assistant`&&(s.has(t.id)||t.id===`explain-selection`&&c);return o.has(r)||i||n===`ask`&&XC(t,e)?!1:(o.add(r),s.add(t.id),c||=t.source===`page`&&t.refs.some(e=>a.has(Nx(e))),!0)})}var QC=new Map([[`alert`,`alert`],[`alerts`,`alert`],[`investigation`,`target`],[`investigations`,`target`],[`user`,`user`],[`host`,`shield`],[`tenant`,`building`]]);function $C({icon:e,size:t}){let n=(e===void 0?void 0:h_(QC.get(e)??e))??wg;return(0,V.jsx)(n,{"aria-hidden":!0,sx:t===void 0?void 0:{fontSize:nr[t]}})}function ew(e,t){let n=/(?:^|\s)@([^\s@]*)$/.exec(e.slice(0,t));return n===null?null:{start:t-n[1].length-1,query:n[1]}}function tw(e,t){let n=/^\/(\S*)$/.exec(e.slice(0,t));return n===null?null:n[1]}function nw(e,t,n){return e.map(e=>({id:e.label,label:e.label,items:e.refs.map(e=>({id:Nx(e),label:e.label,icon:(0,V.jsx)($C,{icon:t(e)}),...e.summary===void 0?{}:{summary:e.summary},choose:()=>n(e)}))}))}function rw(e,t){let n=e.skills.map(e=>({id:`skill:${e.id}`,label:`/${e.id}`,icon:(0,V.jsx)(Fg,{}),...e.description===``?{}:{summary:e.description},choose:()=>t.skill(e)})),r=e.commands.map(e=>({id:`command:${e.domainId}:${e.id}`,label:`/${e.id}`,icon:(0,V.jsx)($C,{icon:e.icon??`play`}),summary:e.title,choose:()=>t.command(e)}));return[{id:`skills`,label:`Skills`,items:n},{id:`commands`,label:`On this page`,items:r}].filter(e=>e.items.length>0)}function iw(e,t,n,r){let[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!1),c=tw(e.draft,t),l=ew(e.draft,t),u=(i,a=``)=>{let o=i+a.length;e.onDraft(e.draft.slice(0,i)+a+e.draft.slice(t)),n(o),r.current=o},d=t=>{(!t.startsWith(`/`)||!e.draft.startsWith(`/`))&&s(!1)};if(c!==null&&!o){let t=rw(e.slash(c),{skill:e=>u(0,`/${e.id} `),command:t=>{u(0),e.onCommand(t)}});return{kind:`slash`,groups:t,resetKey:`/${c}\n${fb(t).map(e=>e.id).join(`
182
- `)}`,dismiss:()=>s(!0),edited:d}}return l!==null&&i!==l.start?{kind:`mention`,groups:nw(e.nearby(l.query),e.iconOf,t=>{e.onAttach(t),u(l.start)}),resetKey:`@${l.query}`,dismiss:()=>a(l.start),edited:d}:{kind:null,groups:[],resetKey:``,dismiss:()=>void 0,edited:d}}function aw(e){let[t,n]=(0,z.useState)(0),[r,i]=(0,z.useState)(null),a=(0,z.useRef)(null),o=iw(e,t,n,a);(0,z.useLayoutEffect)(()=>{let t=a.current,n=e.inputRef.current;t!==null&&n!==null&&(a.current=null,n.focus(),n.setSelectionRange(t,t))});let s=fb(o.groups),c=s.length>0,l=_b({count:s.length,resetKey:o.resetKey,activateKeys:[`Enter`,`Tab`],onActivate:e=>s[e].choose()}),u=t=>{if(!(c&&l.onKeyDown(t))){if(t.key===`Escape`&&(o.kind===`mention`||c)){t.preventDefault(),o.dismiss();return}t.key===`Enter`&&!t.shiftKey&&!t.nativeEvent.isComposing&&e.draft.trim()===``&&(t.preventDefault(),e.onSend())}};return(0,V.jsxs)(J,{ref:i,children:[(0,V.jsx)(yb,{id:l.listboxId,open:o.kind!==null,anchorEl:r,groups:o.groups,activeIndex:l.activeIndex,onActiveChange:l.setActiveIndex,onActivate:e=>e.choose(),...o.kind===`slash`?{label:`Skills and commands`}:{}}),(0,V.jsx)(Sb,{value:e.draft,onChange:t=>{o.edited(t),e.onDraft(t),n(e.inputRef.current?.selectionStart??t.length)},onSubmit:e.onSend,onStop:e.onStop,running:e.running,label:`Message the assistant`,placeholder:`Ask anything… @ to reference, / for skills`,inputRef:e.inputRef,top:e.top,footer:e.footer,inputProps:{...l.fieldProps,onKeyDown:u,onSelect:e=>n(e.currentTarget.selectionStart)}})]})}var ow={display:`inline-flex`,alignItems:`center`,gap:.75,maxWidth:`100%`,minHeight:ar.small,px:1,borderRadius:`${_.pill}px`,border:`1px solid var(--ds-border)`,backgroundColor:`var(--ds-child)`,color:`var(--ds-text)`},sw=`&:hover`,cw={minWidth:0,lineHeight:1.2};function lw({entity:e,icon:t,text:n,onRemove:r,tooltip:i=!0}){let a=n??e.label,o=e.href!==void 0&&dx(e.href)?e.href:null,s=e.summary===void 0?a:`${a}: ${e.summary}`,c=(0,V.jsxs)(J,{component:`span`,sx:ow,children:[(0,V.jsx)($C,{icon:t,size:`sm`}),o===null?(0,V.jsx)(rh,{variant:`body2`,component:`span`,noWrap:!0,sx:cw,children:a}):(0,V.jsx)(rh,{variant:`body2`,component:`a`,noWrap:!0,href:o,onClick:e=>{e.preventDefault(),lx(o)},sx:{...cw,color:`inherit`,textDecoration:`none`,[sw]:{textDecoration:`underline`}},children:a}),r&&(0,V.jsx)(Fy,{size:`small`,label:`Remove ${a}`,icon:(0,V.jsx)(Ug,{}),onClick:r,sx:{p:.25,mr:-.5,color:`var(--ds-text-quiet)`}})]});return i?(0,V.jsx)(Ay,{title:s,describeChild:!0,children:c}):c}function uw({details:e,fallback:t,loading:n}){if(e===null)return(0,V.jsxs)(J,{sx:{display:`grid`,gap:.5},children:[(0,V.jsx)(rh,{variant:`subtitle2`,component:`p`,sx:{m:0},children:t.label}),n&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:`Loading…`}),!n&&t.summary!==void 0&&(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,color:`var(--ds-text-quiet)`},children:t.summary})]});let r=e.href!==void 0&&dx(e.href)?e.href:null;return(0,V.jsxs)(J,{sx:{display:`grid`,gap:1},children:[(0,V.jsx)(rh,{variant:`subtitle2`,component:`p`,sx:{m:0},children:e.title}),(e.fields??[]).map((e,t)=>(0,V.jsx)(Zb,{label:e.label,children:(0,V.jsx)(rh,{variant:`body2`,component:`span`,children:e.value})},t)),r!==null&&(0,V.jsx)(rh,{variant:`body2`,component:`a`,href:r,onClick:e=>{e.preventDefault(),lx(r)},sx:{color:`var(--ds-accent)`},children:`Open`})]})}var dw=new Set;function fw({url:e,entity:t,details:n,presentation:r,fallback:i,importModule:a}){let o=(0,z.useRef)(null),[s,c]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let i=o.current;if(i===null)return;let s=!1,l,u=(t,n)=>{if(!dw.has(e)){dw.add(e);let r=n instanceof Error?n.message:String(n);console.warn(`Assistant: the renderer ${e} ${t}: ${r}`)}};return Gx(e,a===void 0?{}:{importModule:a}).then(e=>{if(!s){try{let a=e.mount(i,{ref:t,details:n,presentation:r});l=typeof a==`function`?a:void 0}catch(e){i.replaceChildren(),u(`failed to draw`,e),c(!1);return}c(!0)}},e=>{s||(u(`did not load`,e),c(!1))}),()=>{s=!0;try{l?.()}catch(e){u(`failed to clean up`,e)}}},[e,t,n,r,a]),(0,V.jsxs)(V.Fragment,{children:[!s&&i,(0,V.jsx)(`div`,{ref:o})]})}var pw=(0,z.createContext)({urlOf:()=>null});function mw(e,t,n){let r=eS(e,n);return r===null?t.find(t=>{let n=eS(e,t.domain);return n!==null&&Nx(t)===Nx(n)}):t.find(e=>Nx(e)===Nx(r))}function hw(e,t,n,r=!1){let i=$x(e);if(i===null)return null;let a=[];for(let e of i){if(e.kind===`text`){a.push(e);continue}let i=mw(e.ref,t,n);if(i!==void 0)a.push({kind:`ref`,label:e.label,ref:e.ref,entity:i});else if(r)return null;else a.push({kind:`text`,text:e.label})}return a}function gw(e){let t=new Set;return e.flatMap(e=>e.kind!==`ref`||t.has(e.ref)?[]:(t.add(e.ref),[e]))}var _w={display:`inline-flex`,verticalAlign:`middle`,mr:.5,lineHeight:0};function vw(e,t,n){let[r,i]=(0,z.useState)(void 0),a=(0,z.useRef)(!1),o=t!==void 0&&`hasDetails`in t;return(0,z.useEffect)(()=>{e&&o&&!a.current&&n!==void 0&&(a.current=!0,n().then(i,()=>i(null)))},[e,o,n]),{details:(t!==void 0&&!(`hasDetails`in t)?t:null)??r??null,loading:o&&r===void 0&&n!==void 0}}function yw({part:e,icon:t,entry:n,load:r}){let{entity:i}=e,a=(0,z.useRef)(null),o=(0,z.useRef)(null),[s,c]=(0,z.useState)(!1),{details:l,loading:u}=vw(s,n,r),d=(0,z.useContext)(pw),f=d.urlOf(i),p=n!==void 0||i.summary!==void 0||f!==null,m=(0,V.jsx)(uw,{details:l,fallback:i,loading:u}),h=f===null?m:(0,V.jsx)(fw,{url:f,entity:i,details:l,presentation:`popover`,fallback:m,...d.importModule===void 0?{}:{importModule:d.importModule}}),g=e=>e instanceof Node&&o.current?.contains(e)===!0;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(J,{component:`span`,ref:a,role:`button`,tabIndex:0,"aria-label":e.label,"aria-haspopup":p?`dialog`:void 0,"aria-expanded":p?s:void 0,onFocus:()=>c(!0),onBlur:()=>c(!1),onPointerEnter:()=>c(!0),onPointerLeave:e=>{g(e.relatedTarget)||c(!1)},onKeyDown:e=>{e.key===`Escape`&&s&&(e.stopPropagation(),c(!1))},sx:{display:`inline-flex`,maxWidth:`100%`,borderRadius:`inherit`,outlineOffset:2,verticalAlign:`middle`},children:(0,V.jsx)(lw,{entity:{...i,href:void 0},icon:t,text:e.label,tooltip:!1})}),p&&(0,V.jsx)(Lm,{open:s,anchorEl:a.current,onClose:()=>c(!1),anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{vertical:`top`,horizontal:`left`},disableAutoFocus:!0,disableEnforceFocus:!0,disableRestoreFocus:!0,disableScrollLock:!0,hideBackdrop:!0,sx:{pointerEvents:`none`},slotProps:{paper:{ref:o,onPointerLeave:e=>{a.current?.contains(e.relatedTarget)||c(!1)},sx:{pointerEvents:`auto`,maxWidth:320,p:1.5}}},children:h})]})}function bw({text:e,refs:t,ownDomain:n,iconOf:r,details:i,loadDetails:a,inline:o=!1}){let s=hw(e,t,n);return s===null?(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(V.Fragment,{children:s.map((e,t)=>e.kind===`text`?(0,V.jsx)(`span`,{children:e.text},t):o?(0,V.jsxs)(`span`,{children:[(0,V.jsx)(J,{component:`span`,sx:_w,children:(0,V.jsx)($C,{icon:r(e.entity),size:`sm`})}),e.label]},t):(0,V.jsx)(yw,{part:e,icon:r(e.entity),entry:i?.(e.ref),load:a===void 0?void 0:async()=>a(e.ref)},t))})}function xw(e){let t=e.replace(/_/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1)}function Sw(e,t){let n=Rx(e.tool);return n===null?e.tool:`${t(n.domain)} · ${xw(n.name)}`}var Cw=new Map([[`pending`,`pending`],[`awaiting-approval`,`awaiting`],[`running`,`running`],[`done`,`done`],[`error`,`failed`],[`declined`,`declined`]]),ww=e=>Cw.get(e)??`pending`,Tw=new Map([[`pending`,`waiting`],[`awaiting-approval`,`needs your approval`],[`running`,`running`],[`done`,`done`],[`error`,`failed`],[`declined`,`declined`]]);function Ew({call:e}){return e.state!==`error`&&e.state!==`declined`||e.error===void 0?null:(0,V.jsx)(rh,{variant:`caption`,component:`div`,sx:{color:`error.main`},children:e.error})}function Dw({call:e,domainLabel:t}){return(0,V.jsxs)(J,{sx:{display:`grid`,gridTemplateColumns:`auto 1fr`,columnGap:1,alignItems:`center`},children:[(0,V.jsx)(Uy,{status:ww(e.state),size:`sm`,label:Tw.get(e.state)??e.state}),(0,V.jsx)(rh,{variant:`body2`,component:`span`,color:`textQuiet`,children:Sw(e,t)}),(0,V.jsx)(J,{sx:{gridColumn:2},children:(0,V.jsx)(Ew,{call:e})})]})}function Ow({text:e}){return(0,V.jsx)(V.Fragment,{children:e.split(/\n{2,}/).map((e,t)=>(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:e},t))})}function kw(e,t){return e.map(e=>({label:(0,V.jsxs)(V.Fragment,{children:[Sw(e,t),(0,V.jsx)(Ew,{call:e})]}),status:ww(e.state),detail:JSON.stringify(e.input)}))}function Aw({skill:e,text:t,refs:n}){return(0,V.jsx)(Mb,{attachments:n,children:(0,V.jsxs)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:[(0,V.jsxs)(J,{component:`span`,title:e.title,sx:{fontFamily:$y.typography.fontFamily.mono,color:`var(--ds-accent-ai)`},children:[`/`,e.id]}),t===``?null:` ${t}`]})})}function jw({message:e,iconOf:t}){let n=e.markup===!0?hw(e.text,e.refs,``,!0):null,r=new Set((n??[]).flatMap(e=>e.kind===`ref`?[Nx(e.entity)]:[])),i=e.refs.filter(e=>!r.has(Nx(e))),a=i.length>0?i.map(e=>(0,V.jsx)(lw,{entity:e,icon:t(e)},`${e.domain}:${e.type}:${e.id}`)):void 0;return e.skill===void 0?(0,V.jsx)(Mb,{attachments:a,children:n===null?e.text:(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:(0,V.jsx)(bw,{text:e.text,refs:e.refs,ownDomain:``,iconOf:t})})}):(0,V.jsx)(Aw,{skill:e.skill,text:e.text,refs:a})}function Mw({message:e,domainLabel:t,iconOf:n,onDecide:r}){if(e.role===`user`)return(0,V.jsx)(jw,{message:e,iconOf:n});let{plan:i,approval:a}=e,o=e.blocks.flatMap(e=>e.kind===`tool`?[e.call]:[]),s=e=>{a!==void 0&&r(a,e)};return(0,V.jsxs)(J,{sx:{display:`grid`,gap:1},children:[e.blocks.map((e,n)=>e.kind===`text`?(0,V.jsx)(Ow,{text:e.text},n):i===void 0?(0,V.jsx)(Dw,{call:e.call,domainLabel:t},e.call.id):null),i!==void 0&&(0,V.jsx)(Pb,{steps:kw(o,t),state:i,onRun:()=>s(!0),onCancel:()=>s(!1)}),e.caption!==void 0&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:e.caption}),e.note!==void 0&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:e.note})]})}var Nw=(e,t)=>{let{domainId:n,summary:r,entities:i,selection:a}=e;return{domainId:n,title:t,...r===void 0?{}:{summary:r},entities:i,selection:a}};function Pw(e,t){let n=e.entities.length,r=new Set(e.entities.map(e=>e.type));return`${n} ${(r.size===1?IC(t,e.domainId,[...r][0])?.label.toLowerCase():void 0)??`item`}${n===1?``:`s`}`}var Fw=Pe(`assistant`,`both`);function Iw({chat:e,state:t}){return(0,V.jsxs)(J,{role:`alert`,sx:{display:`flex`,alignItems:`center`,gap:1,color:`error.main`,typography:`body1`},children:[(0,V.jsx)(`span`,{children:t.error}),t.closed&&(0,V.jsx)(fg,{variant:`secondary`,size:`small`,onClick:()=>e.reset(),children:`New chat`}),t.canRetry&&(0,V.jsx)(fg,{variant:`secondary`,size:`small`,onClick:()=>{e.retry().catch(()=>void 0)},children:`Retry`})]})}function Lw({variant:e,onNew:t,onClose:n}){return(0,V.jsx)(xb,{title:`Assistant`,icon:(0,V.jsx)(Fg,{sx:{color:`var(--ds-accent-ai)`}}),actions:(0,V.jsx)(fg,{variant:`ghost`,size:`small`,onClick:t,children:`New chat`}),...e===`pane`?{onClose:n}:{},closeLabel:`Close the assistant`,closeTooltip:`Close (Esc)`})}function Rw({suggestion:e,onPick:t,iconOf:n,loadDetails:r}){let i=e.label??e.text,a=hw(e.text,e.refs,e.domainId);return(0,V.jsxs)(J,{role:`group`,"aria-label":tS(e.text),sx:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`center`,gap:.5},children:[(0,V.jsx)(fg,{variant:`secondary`,size:`small`,title:e.label===void 0?void 0:tS(e.text),onClick:()=>t(e),sx:{flex:`1 1 auto`},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(bw,{text:i,refs:e.refs,ownDomain:e.domainId,iconOf:n,inline:!0})})}),gw(a??[]).map(t=>(0,V.jsx)(yw,{part:t,icon:n(t.entity),entry:e.details[t.ref],load:async()=>r(e,t.ref)},t.ref))]})}function zw({suggestions:e,onPick:t,iconOf:n,loadDetails:r}){let[i,a]=(0,z.useState)(!1),o=i?e:e.slice(0,4);return(0,V.jsxs)(J,{sx:{m:`auto`,maxWidth:320,display:`grid`,gap:1.5,textAlign:`center`,py:4},children:[(0,V.jsx)(rh,{variant:`body2`,sx:{color:`var(--ds-text-quiet)`},children:`Ask about anything on screen, or type @ to reference something on it. I can look things up and act on the page for you; I ask before I change anything.`}),(0,V.jsxs)(J,{role:`group`,"aria-label":`Suggestions`,sx:{display:`grid`,gap:.75},children:[o.map(e=>(0,V.jsx)(Rw,{suggestion:e,onPick:t,iconOf:n,loadDetails:r},`${e.source}:${e.id}`)),e.length>4&&(0,V.jsx)(fg,{variant:`ghost`,size:`small`,onClick:()=>a(e=>!e),children:i?`Fewer`:`More suggestions`})]})]})}function Bw(e){let t=(0,z.useSyncExternalStore)(e.subscribe,e.environment,e.environment),n=(0,z.useCallback)(e=>t.domains.find(t=>t.id===e)?.label??e,[t]);return{env:t,screen:t.screen,label:n}}var Vw=new Set;function Hw(e,t,n,r){let[i,a]=(0,z.useState)({key:``,prompts:[]}),o=t===null||!r?``:`${t}:${n}`;return(0,z.useEffect)(()=>{if(t===null||!r)return;let i=new AbortController,o=e=>{i.signal.aborted||a({key:`${t}:${n}`,prompts:e})};return e.prompts(t,n,i.signal).then(o,e=>{if(!i.signal.aborted&&!Vw.has(t)){Vw.add(t);let n=e instanceof Error?e.message:String(e);console.warn(`Assistant: the backend's prompts for ${t} did not load: ${n}`)}o([])}),()=>i.abort()},[e,t,n,r]),o!==``&&i.key===o?i.prompts:[]}function Uw(e){let[t,n]=(0,z.useState)([]);return(0,z.useEffect)(()=>{let t=!0;return e.skills().then(e=>{t&&n(e)},()=>void 0),()=>{t=!1}},[e]),t}function Ww(e){let[t,n]=(0,z.useState)(null),r=(0,z.useRef)(0);return{failure:t,run:(0,z.useCallback)(t=>{r.current+=1;let i=r.current;e.runCommand(t.domainId,t.id).then(e=>{!e.ok&&i===r.current&&n(`${t.title} didn't run: ${e.error}`)},()=>void 0)},[e]),clear:(0,z.useCallback)(()=>{r.current+=1,n(null)},[])}}function Gw({onScreen:e,children:t}){return e===null&&t.length===0?null:(0,V.jsxs)(J,{"aria-label":`Attached to your next message`,role:`group`,sx:{display:`flex`,flexWrap:`wrap`,gap:.5},children:[e,t]})}function Kw(e,t,n){let r=WC(e,t),i=n===void 0?{}:{screen:n};return r===null?{text:e.trim(),options:i}:{text:r.text,options:{...i,skill:{id:r.skill.id,title:r.skill.title}}}}function qw({text:e}){return e===null?null:(0,V.jsx)(rh,{role:`status`,variant:`body2`,sx:{color:`error.main`,pb:1},children:e})}function Jw({runtime:e,variant:t,importModule:n}){let r=(0,z.useSyncExternalStore)(e.chat.subscribe,e.chat.get,e.chat.get),{env:i,screen:a,label:o}=Bw(e),s=Hw(e,i.route.domainId,r.mode,r.messages.length===0),c=(0,z.useMemo)(()=>ZC(i,s,r.mode),[i,s,r.mode]),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)([]),[p,m]=(0,z.useState)(!0),h=Uw(e),g=Ww(e),_=(0,z.useRef)(null),v=(0,z.useRef)(null),y=(0,z.useCallback)(e=>{f(t=>t.some(t=>Nx(t)===Nx(e))?t:[...t,e])},[]);(0,z.useEffect)(()=>e.onAsk(e=>{e.refs.forEach(y),e.prompt!==void 0&&u(e.prompt),_.current?.focus()}),[e,y]),(0,z.useEffect)(()=>e.onFocus(()=>_.current?.focus()),[e]),(0,z.useEffect)(()=>{_.current?.focus()},[]),(0,z.useEffect)(()=>m(!0),[i.route.path,i.title]),(0,z.useEffect)(()=>{v.current?.scrollTo?.({top:v.current.scrollHeight})},[r.messages]);let b=e=>{u(e),g.clear()},x=(t=l)=>{if(r.running||t.trim()===``&&d.length===0)return;let n=Kw(t,h,p&&a!==null?Nw(a,i.title):void 0);e.chat.send(n.text,d,n.options).catch(()=>void 0),u(``),f([]),g.clear()},S=t=>{if(r.running)return;g.clear();let n=[...d];for(let e of t.refs)n.some(t=>Nx(t)===Nx(e))||n.push(e);let o=p&&a!==null?Nw(a,i.title):void 0,s=t.source===`assistant`?void 0:{domainId:t.domainId,id:t.id,source:t.source},c=t.prompt===void 0;e.chat.send(t.prompt??t.text,n,{...o===void 0?{}:{screen:o},...s===void 0?{}:{suggestion:s},markup:c}).catch(()=>void 0),f([])},C=e=>IC(i,e.domain,e.type)?.icon??void 0,w=(0,z.useMemo)(()=>({urlOf:e=>LC(i,e),...n===void 0?{}:{importModule:n}}),[i,n]),T=(0,z.useCallback)(e=>BC(i,e),[i]),E=(0,z.useCallback)(e=>HC(h,i.pageCommands,e),[h,i]),D=r.messages,O=(0,V.jsx)(Gw,{onScreen:a!==null&&p?(0,V.jsx)(lw,{entity:{domain:a.domainId,type:`screen`,id:`screen`,label:i.title},icon:`screen`,text:i.title===``?`On screen · ${Pw(a,i)}`:`On screen: ${i.title} · ${Pw(a,i)}`,onRemove:()=>m(!1)}):null,children:d.map(e=>(0,V.jsx)(lw,{entity:e,icon:C(e),onRemove:()=>f(t=>t.filter(t=>Nx(t)!==Nx(e)))},Nx(e)))});return(0,V.jsx)(pw.Provider,{value:w,children:(0,V.jsxs)(J,{sx:{height:`100%`,minHeight:0,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(Lw,{variant:t,onNew:()=>e.chat.reset(),onClose:()=>e.dismiss()}),(0,V.jsxs)(J,{ref:v,role:`log`,"aria-label":`Conversation`,"aria-live":`polite`,sx:{flex:1,minHeight:0,overflowY:`auto`,px:bb.log,py:2,display:`flex`,flexDirection:`column`,gap:2,maskImage:Fw,WebkitMaskImage:Fw},children:[D.length===0?(0,V.jsx)(zw,{suggestions:c,onPick:S,iconOf:C,loadDetails:async(t,n)=>e.requestDetails(t.domainId,t.id,n)}):D.map((t,n)=>(0,V.jsx)(Mw,{message:t,domainLabel:o,iconOf:C,onDecide:(t,n)=>e.chat.decide(t,n)},n)),r.error!==null&&(0,V.jsx)(Iw,{chat:e.chat,state:r})]}),!r.closed&&(0,V.jsxs)(J,{sx:{px:bb.composer,pb:2,pt:1},children:[(0,V.jsx)(qw,{text:g.failure}),(0,V.jsx)(aw,{draft:l,onDraft:b,running:r.running,onSend:()=>x(),onStop:()=>e.chat.stop(),onAttach:y,nearby:T,iconOf:C,slash:E,onCommand:g.run,inputRef:_,top:O,footer:(0,V.jsx)(Ab,{value:r.mode,options:qS,onChange:t=>e.chat.setMode(t)})})]})]})})}var Yw=Ci({key:`assistant`,container:document.head});function Xw(e,t,n){let{runtime:r,release:i}=FC(t.domain.apiBase),a=(0,uS.createRoot)(e,{identifierPrefix:`assistant-${n}-`});return a.render((0,V.jsx)(z.StrictMode,{children:(0,V.jsx)(Ji,{value:Yw,children:(0,V.jsx)(ag,{theme:tg,children:(0,V.jsx)(_g,{rung:`primary`,sx:{height:`100%`,display:`flex`,flexDirection:`column`,backgroundColor:`transparent`},children:(0,V.jsx)(Jw,{runtime:r,variant:n})})})})})),()=>{a.unmount(),i()}}export{Xw as mountUi};
181
+ `)}if(e){let e=r.trim()===``?null:vS(r);e!==null&&(yield e);return}}}var bS=`application/vnd.aistrike.conversations+json; version=1.0`,xS=class extends Error{status;id;constructor(e,t){super(`The assistant's API answered ${e}${t===null?``:` (${t})`}`),this.name=`ApiError`,this.status=e,this.id=t}};async function SS(e){let t;try{t=await e.json()}catch{t=null}let n=dS(t)&&Array.isArray(t.errors)?t.errors[0]:void 0;return new xS(e.status,dS(n)&&fS(n.id)?n.id:null)}function CS(e,t){let n=new Headers([[`Accept`,t]]),r=e();return r!==null&&n.set(`Authorization`,`Bearer ${r}`),n}var wS=e=>e.fetch??globalThis.fetch.bind(globalThis);async function TS(e){let t=CS(e.token,bS);t.set(`Content-Type`,`application/json`);let n=await wS(e)(`${e.apiBase}conversations`,{method:`POST`,headers:t,body:JSON.stringify(e.scope),signal:e.signal});if(n.status!==201)throw await SS(n);let r;try{r=await n.json()}catch{r=null}let i=dS(r)&&dS(r.data)?r.data.id:void 0;if(!fS(i)||i===``)throw new xS(n.status,null);return i}async function*ES(e){let t=CS(e.token,`text/event-stream, ${bS}`);t.set(`Content-Type`,`application/json`);let n=await wS(e)(`${e.apiBase}conversations/${encodeURIComponent(e.conversationId)}/turns`,{method:`POST`,headers:t,body:JSON.stringify(e.request),signal:e.signal});if(!n.ok)throw await SS(n);if(n.body===null)throw new xS(n.status,null);yield*yS(n.body)}var DS=200,OS=40,kS=(e,t)=>fS(e)&&e.trim()!==``&&e.length<=t;function AS(e){if(!dS(e)||!fS(e.id)||!Bx.test(e.id)||!kS(e.text,DS))return null;let{id:t,text:n,label:r}=e;return r===void 0?{id:t,text:n}:kS(r,OS)?{id:t,text:n,label:r}:null}async function jS(e){let t=wS(e),n=new URLSearchParams([[`domain`,e.domainId],[`mode`,e.mode]]),r=await t(`${e.apiBase}prompts?${n.toString()}`,{headers:CS(e.token,bS),signal:e.signal});if(r.status!==200)return[];let i;try{i=await r.json()}catch{return[]}let a=dS(i)?i.data:void 0;return(dS(a)&&Array.isArray(a.prompts)?a.prompts:[]).flatMap(e=>{let t=AS(e);return t===null?[]:[t]})}var MS=50,NS=4,PS=/^[a-z0-9][a-z0-9-]*$/,FS=40,IS=200;function LS(e){if(!dS(e)||!fS(e.id)||!PS.test(e.id)||!kS(e.title,FS))return null;let{id:t,title:n,description:r}=e;return fS(r)&&r.length<=IS?{id:t,title:n,description:r}:null}async function RS(e,t){let n=new URLSearchParams([[`limit`,String(MS)],...t===null?[]:[[`cursor`,t]]]),r;try{let t=await wS(e)(`${e.apiBase}skills?${n.toString()}`,{headers:CS(e.token,bS),signal:e.signal});if(t.status!==200)return null;r=await t.json()}catch{return null}if(!dS(r)||!Array.isArray(r.data))return null;let i=r.hasMore===!0&&fS(r.nextCursor)&&r.nextCursor!==``?r.nextCursor:null;return{skills:r.data.flatMap(e=>LS(e)??[]),next:i}}async function zS(e){let t=new Map,n=null;for(let r=0;r<NS;r+=1){let r=await RS(e,n);if(r===null)break;for(let e of r.skills)t.has(e.id)||t.set(e.id,e);if(r.next===null)break;n=r.next}return[...t.values()]}function BS(e){let{route:t,title:n,screen:r,domains:i,pageTools:a,suggestions:o}=e;return{route:t,title:n,screen:r,domains:i,pageTools:a,suggestions:o}}function VS(){return{revision:0,route:{path:location.pathname,domainId:null},title:``,screen:null,domains:[],pageTools:[],pageCommands:[],suggestions:[]}}var HS=e=>typeof e==`object`&&!!e;function US(e){if(!HS(e))return!1;let{revision:t,route:n,title:r,screen:i,domains:a,pageTools:o,suggestions:s}=e;return typeof t==`number`&&HS(n)&&typeof r==`string`&&(i===null||HS(i))&&[a,o,s].every(e=>Array.isArray(e))}function WS(e){if(!HS(e))return!1;let{id:t,title:n,domainId:r,keywords:i,icon:a}=e;return typeof t==`string`&&typeof n==`string`&&typeof r==`string`&&Array.isArray(i)&&i.every(e=>typeof e==`string`)&&(a===null||typeof a==`string`)}var GS=e=>{let t=e.pageCommands;return{...e,pageCommands:Array.isArray(t)?t.filter(WS):[]}};function KS(e){let t=VS(),n=new Set,r=e.subscribe(Ax.contextChanged,e=>{let r=e.payload;if(!(e.source!==`shell`||!US(r)||r.revision<=t.revision)){t=GS(r);for(let e of[...n])e()}});return e.publish(jx.contextRequested,void 0,{scope:`tab`}),{get:()=>t,subscribe(e){return n.add(e),()=>{n.delete(e)}},dispose(){r(),n.clear()}}}var qS=[{mode:`auto`,label:`Auto`,hint:`Answers questions, makes one small change directly, plans anything larger`},{mode:`ask`,label:`Ask`,hint:`Answers only; never changes anything`},{mode:`plan`,label:`Plan`,hint:`Proposes every change and waits for you to approve it`},{mode:`agent`,label:`Agent`,hint:`Makes the changes you ask for, and reports what it did`}],JS={auto:`Auto`,ask:`Ask`,plan:`Plan`,agent:`Agent`};function YS(e,t,n){return e===`auto`?`Auto → ${JS[t]}${n===void 0||n===``?``:` · ${n}`}`:`${JS[t]} mode`}var XS=`aistrike.assistant.mode`,ZS=`aistrike.assistant.conversation`,QS=`The assistant's answer was cut off`,$S={start:`Couldn't start the conversation`,noOrg:`Your sign-in has no organization, so the assistant can't start`,scope:`You can't use the assistant in this tenant`,gone:`This conversation is no longer available`,busy:`The assistant is still answering in another tab`,tooLong:`This message is too long`},eC=new Set([`pending`,`awaiting-approval`,`running`]);function tC(e,t){let n=e.at(-1);return n?.kind===`text`?[...e.slice(0,-1),{kind:`text`,text:n.text+t}]:[...e,{kind:`text`,text:t}]}function nC(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function rC(e){return{id:e.id,tool:e.tool,input:e.input,state:e.state,...`result`in e?{result:e.result}:{},...e.error===void 0?{}:{error:e.error}}}var iC=(e,t)=>e.role===`assistant`&&e.blocks.some(e=>e.kind===`tool`&&e.call.id===t),aC=e=>e?.role===`assistant`&&e.blocks.length===0&&e.caption===void 0&&e.note===void 0;function oC(e,t){let n=e.map(e=>{if(e.role!==`assistant`)return e;let n=e.blocks.map(e=>e.kind===`tool`&&eC.has(e.call.state)?{kind:`tool`,call:{...e.call,state:`error`,error:t}}:e);return{...e,blocks:n,...e.plan===`proposed`?{plan:`declined`}:{}}});return aC(n.at(-1))?n.slice(0,-1):n}function sC(e){try{let t=JSON.parse(e.getItem(zx.chat)??`[]`);return Array.isArray(t)?oC(t.filter(e=>e.role===`user`||e.role===`assistant`),`Interrupted`):[]}catch{return[]}}var cC=new Set([`auto`,`ask`,`plan`,`agent`]);function lC(e){let t=e.getItem(XS);return t!==null&&cC.has(t)?t:`auto`}function uC(e,t,n){let{screen:r,suggestion:i,skill:a}=n,o=r===void 0?{}:{screen:r};if(a!==void 0)return{message:{role:`user`,text:e,refs:t,...o,skill:{id:a.id,title:a.title}},input:{kind:`message`,text:e,refs:t,skill:{id:a.id}}};let s=n.markup===!0?{markup:!0}:{},c=i===void 0?{}:{suggestion:i};return{message:{role:`user`,text:e,refs:t,...o,...c,...s},input:{kind:`message`,text:e,refs:t,...s,...c}}}var dC=e=>e instanceof Error?e.message:String(e),fC=e=>e instanceof DOMException&&e.name===`AbortError`,pC=()=>new DOMException(`Stopped`,`AbortError`),mC=class extends Error{reason;constructor(e,t){super(e===`create`?$S.start:$S.noOrg,{cause:t}),this.reason=e}},hC=e=>({error:e,canRetry:!0,closed:!1}),gC=e=>({error:e,canRetry:!1,closed:!1}),_C=e=>e instanceof xS&&e.id===`scope_not_permitted`?gC($S.scope):hC($S.start);function vC(e){return e.status===404?{error:$S.gone,canRetry:!1,closed:!0}:e.id===`not_waiting`?{error:null,canRetry:!1,closed:!1}:e.id===`turn_in_progress`?hC($S.busy):e.status===413?gC($S.tooLong):null}function yC(e){return e instanceof mC?e.reason===`noOrg`?gC($S.noOrg):_C(e.cause):(e instanceof xS?vC(e):null)??hC(dC(e))}function bC(e){let t=e.storage.getItem(ZS),n={messages:sC(e.storage),mode:lC(e.storage),running:!1,error:null,canRetry:!1,closed:!1,conversationId:t!==null&&t!==``?t:null},r=new Set,i=new Map,a=null,o=null,s=t=>{n={...n,...t};try{e.storage.setItem(zx.chat,JSON.stringify(n.messages)),e.storage.setItem(XS,n.mode),n.conversationId===null?e.storage.removeItem(ZS):e.storage.setItem(ZS,n.conversationId)}catch{}for(let e of[...r])e()};s({});let c=(e,t)=>{let r=n.messages[e];if(r?.role===`assistant`){let i=[...n.messages];i[e]=t(r),s({messages:i})}},l=e=>nC(n.messages,t=>iC(t,e)),u=(e,t)=>c(l(e),n=>{let r=n.blocks.map(n=>n.kind===`tool`&&n.call.id===e?{kind:`tool`,call:{...n.call,...t}}:n);return{...n,blocks:r}}),d=(e,t)=>{if(l(t.id)===-1)c(e,e=>({...e,blocks:[...e.blocks,{kind:`tool`,call:t}]}));else{let e={state:t.state};`result`in t&&(e.result=t.result),t.error!==void 0&&(e.error=t.error),u(t.id,e)}},f=(e,t)=>{e.type===`text`?c(t,t=>({...t,blocks:tC(t.blocks,e.delta)})):e.type===`mode`?c(t,t=>({...t,acting:e.acting,caption:YS(n.mode,e.acting,e.reason)})):d(t,rC(e))},p=(e,t,n)=>{if(e.type===`page_tool`)return d(t,{id:e.id,tool:Lx(e.domainId,e.name),input:e.input,state:`running`}),{stop:`page_tool`,calls:[...n.stop===`page_tool`?n.calls:[],{id:e.id,domainId:e.domainId,name:e.name,input:e.input}]};if(e.type===`approval`){let n=e.steps.map(l).find(e=>e!==-1)??t;return c(n,t=>({...t,plan:`proposed`,approval:e.id})),{stop:`approval`,id:e.id}}return f(e,t),n},m=async(t,r,i,a,o)=>{let c=e.environment(),l={...r,mode:n.mode,context:{...BS(c),screen:a?c.screen:null},input:i};s({messages:[...n.messages,{role:`assistant`,blocks:[]}]});let u=n.messages.length-1,d={stop:`end`},f=null,m=new Set;for await(let n of e.postTurn(t,l,o)){if(o.aborted)throw pC();n.type===`done`?f=n.stop:(m.add(n.type),d=p(n,u,d))}if(f===null)throw Error(QS);return aC(n.messages[u])&&s({messages:n.messages.slice(0,u).concat(n.messages.slice(u+1))}),d.stop!==f||m.has(`page_tool`)&&m.has(`approval`)?(s({messages:oC(n.messages,`Stopped`)}),{stop:`end`}):d},h=async(t,n)=>{let r=[];for(let{id:i,...a}of t){let t=await e.runPageTool(a,n);if(n.aborted)throw pC();u(i,t.ok?{state:`done`,result:t.result}:{state:`error`,error:t.error}),r.push(t.ok?{id:i,ok:!0,result:t.result}:{id:i,ok:!1,error:t.error})}return{kind:`page_tool_results`,results:r}},g=async(e,t)=>{let r=await new Promise(n=>{i.set(e,n),t.addEventListener(`abort`,()=>n(!1),{once:!0})});if(i.delete(e),t.aborted)throw pC();let a=nC(n.messages,t=>t.role===`assistant`&&t.approval===e);return c(a,e=>({...e,plan:r?`approved`:`declined`})),{kind:`approval`,id:e,approve:r}},_=()=>{let e=oC(n.messages,`Stopped`),t=nC(e,e=>e.role===`assistant`);t!==-1&&(e[t]={...e[t],note:`Stopped after 8 steps. Ask again to continue.`}),s({messages:e})},v=(e,t)=>{if(fC(e)||t.aborted){o=null,s({messages:oC(n.messages,`Stopped`)});return}let r=yC(e);if(r.error===null){o=null,s({messages:oC(n.messages,`Stopped`)});return}r.canRetry||(o=null),s({messages:oC(n.messages,`Interrupted`),...r})},y=async(t,r)=>{if(n.conversationId!==null)return n.conversationId;let i;try{i=await e.createConversation(t,r)}catch(e){throw new mC(`create`,e)}if(r.aborted)throw pC();return s({conversationId:i}),i},b=async(t,n)=>{a=new AbortController;let{signal:r}=a;s({running:!0,error:null,canRetry:!1});try{let i=t;for(let t=1;i!==null;t+=1){o={input:i,screen:n};let a=e.scope();if(a===null)throw new mC(`noOrg`);let s=await y(a,r),c=await m(s,a,i,n,r);c.stop===`end`?i=null:t===8?(_(),i=null):i=c.stop===`page_tool`?await h(c.calls,r):await g(c.id,r)}o=null}catch(e){v(e,r)}finally{i.clear(),a=null,s({running:!1})}};return{get:()=>n,subscribe(e){return r.add(e),()=>{r.delete(e)}},async send(e,t,r={}){if(n.running||n.closed)return;let{message:i,input:a}=uC(e,t,r);s({messages:[...n.messages,i]}),await b(a,r.screen!==void 0)},async retry(){!n.running&&!n.closed&&o!==null&&await b(o.input,o.screen)},stop(){a?.abort()},decide(e,t){i.get(e)?.(t)},setMode(e){cC.has(e)&&s({mode:e})},reset(){a?.abort(),o=null,s({messages:[],error:null,canRetry:!1,closed:!1,conversationId:null})}}}var xC=cS+5e3,SC=lS+5e3,CC=`The shell did not answer`,wC=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function TC(){return[...crypto.getRandomValues(new Uint8Array(16))].map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function EC(e){return new Promise(t=>{let n=[],r=e=>{for(let e of n.splice(0))e();t(e)},{signal:i,stopped:a}=e;if(i!==void 0&&a!==void 0){if(i.aborted){r(a());return}let e=()=>r(a());i.addEventListener(`abort`,e,{once:!0}),n.push(()=>i.removeEventListener(`abort`,e))}n.push(e.bus.subscribe(e.topic,t=>{t.source===`shell`&&wC(t.payload)&&e.matches(t.payload)&&r(e.read(t.payload))}));let o=setTimeout(()=>r(e.timedOut()),e.timeoutMs);n.push(()=>clearTimeout(o)),e.send()})}async function DC(e){let t=TC();return EC({bus:e.bus,topic:Ax.toolCompleted,matches:e=>e.callId===t,read:e=>e.ok===!0?{ok:!0,result:e.result}:{ok:!1,error:String(e.error)},timeoutMs:xC,timedOut:()=>({ok:!1,error:`The shell did not answer within ${xC} ms`}),...e.signal===void 0?{}:{signal:e.signal},stopped:()=>({ok:!1,error:`Stopped`}),send:()=>{let n={callId:t,domainId:e.domainId,name:e.name,input:e.input};e.bus.publish(jx.toolRequested,n,{scope:`tab`})}})}async function OC(e){let t=TC();return EC({bus:e.bus,topic:Ax.commandCompleted,matches:e=>e.callId===t,read:e=>e.ok===!0?{ok:!0}:{ok:!1,error:String(e.error)},timeoutMs:SC,timedOut:()=>({ok:!1,error:CC}),...e.signal===void 0?{}:{signal:e.signal},stopped:()=>({ok:!1,error:`Stopped`}),send:()=>{let n={callId:t,domainId:e.domainId,id:e.id};e.bus.publish(jx.commandRequested,n,{scope:`tab`})}})}async function kC(e){let t=TC();return EC({bus:e.bus,topic:Ax.detailsResolved,matches:e=>e.requestId===t,read:e=>e.ok===!0?sS(e.details):null,timeoutMs:e.timeoutMs??5e3,timedOut:()=>null,send:()=>{let{domainId:n,suggestionId:r,ref:i}=e,a={requestId:t,domainId:n,suggestionId:r,ref:i};e.bus.publish(jx.detailsRequested,a,{scope:`tab`})}})}function AC(e){if(typeof e!=`object`||!e)return null;let{id:t,prompt:n,refs:r}=e;return typeof t==`string`?{id:t,...typeof n==`string`?{prompt:n}:{},refs:Array.isArray(r)?r.filter(Ix):[]}:null}function jC(e){let t=new Set,n=new Set,r=null,i=t=>{let n={id:t};e.publish(jx.askAccepted,n,{scope:`tab`})},a=e=>{n.add(e.id);for(let n of[...t])n(e);i(e.id)},o=e.subscribe(Ax.assistantAsked,e=>{let o=e.source===`shell`?AC(e.payload):null;o!==null&&(n.has(o.id)?i(o.id):t.size===0?r=o:a(o))});return{onAsk(e){t.add(e);let i=r;return r=null,i!==null&&!n.has(i.id)&&a(i),()=>{t.delete(e)}},dispose(){o(),t.clear()}}}function MC(){let e=bx();if(e===null||typeof e.orgId!=`string`||e.orgId===``)return null;let t=xx()??e.defaultTenant??e.tenants[0];return{orgId:e.orgId,tenantScope:t===void 0?{all:!0}:{tenantIds:[t]}}}function NC(e){let t=kx({source:`assistant`,...e.channelName===void 0?{}:{channelName:e.channelName}}),n=jC(t),r=KS(t),i=e.fetch===void 0?{}:{fetch:e.fetch},a=()=>yx(),o=bC({environment:r.get,storage:e.storage??sessionStorage,scope:MC,createConversation:async(t,n)=>TS({apiBase:e.apiBase,scope:t,token:a,signal:n,...i}),postTurn:(t,n,r)=>ES({apiBase:e.apiBase,conversationId:t,request:n,token:a,signal:r,...i}),runPageTool:async(e,n)=>DC({bus:t,...e,signal:n})}),s=[],c=new AbortController,l=null;return{chat:o,prompts:async(t,n,r)=>jS({apiBase:e.apiBase,domainId:t,mode:n,token:a,signal:r,...i}),async skills(){return l??=zS({apiBase:e.apiBase,token:a,signal:c.signal,...i}),l},runCommand:async(e,n)=>OC({bus:t,domainId:e,id:n,signal:c.signal}),environment:r.get,subscribe:r.subscribe,onAsk(e){let t=n.onAsk(e);return s.push(t),t},onFocus(e){let n=t.subscribe(Ax.assistantFocused,e);return s.push(n),n},requestDetails:async(e,n,r)=>kC({bus:t,domainId:e,suggestionId:n,ref:r}),dismiss(){t.publish(jx.paneDismissed,void 0,{scope:`tab`})},dispose(){o.stop(),c.abort();for(let e of s.splice(0))e();n.dispose(),r.dispose(),t.close()}}}var PC=null;function FC(e){PC?.apiBase!==e&&(PC={apiBase:e,runtime:NC({apiBase:e}),holders:0});let t=PC;t.holders+=1;let n=!1;return{runtime:t.runtime,release(){n||(n=!0,--t.holders,t.holders===0&&(t.runtime.dispose(),PC===t&&(PC=null)))}}}function IC(e,t,n){return e.domains.find(e=>e.id===t)?.entities.find(e=>e.type===n)}function LC(e,t){let n=e.domains.find(e=>e.id===t.domain),r=n?.entities.find(e=>e.type===t.type)?.renderer??null;if(n===void 0||r===null)return null;try{let e=new URL(n.uiBase);return e.protocol===`http:`||e.protocol===`https:`?new URL(r,e).href:null}catch{return null}}function RC(e,t){let n=t.trim().toLowerCase();return n===``||e.label.toLowerCase().includes(n)||e.id.toLowerCase().includes(n)}var zC=e=>[...e.screen?.entities??[],...e.screen?.selection??[],...e.suggestions.flatMap(e=>e.refs)];function BC(e,t){let n=new Set,r=new Map;for(let i of zC(e)){let a=Nx(i);if(n.has(a)||!RC(i,t))continue;n.add(a);let o=IC(e,i.domain,i.type)?.label??`On screen`;r.set(o,[...r.get(o)??[],i])}return[...r].map(([e,t])=>({label:e,refs:t}))}var VC=(e,t)=>e.toLowerCase().includes(t);function HC(e,t,n){let r=n.trim().toLowerCase();return{skills:e.filter(e=>VC(e.id,r)||VC(e.title,r)),commands:t.filter(e=>VC(e.id,r)||VC(e.title,r)||e.keywords.some(e=>VC(e,r)))}}var UC=/^\/([a-z0-9][a-z0-9-]*)(?:\s+([\s\S]*))?$/;function WC(e,t){let n=UC.exec(e),r=n===null?void 0:t.find(e=>e.id===n[1]);return n===null||r===void 0?null:{skill:r,text:(n[2]??``).trim()}}function GC(e){return e.screen!==null}function KC(e){return e.route.domainId}var qC=(e,t,n)=>({id:e,text:nS(t),prompt:t,refs:[],details:{},domainId:n,source:`assistant`});function JC(e,t){return[...GC(e)?[qC(`summarise-screen`,`Summarise what's on screen`,t)]:[],...GC(e)&&e.screen.selection.length>0?[qC(`explain-selection`,`Explain the selection`,t)]:[],qC(`what-can-you-do`,`What can you do here?`,t)]}var YC=(e,t)=>({id:e.id,text:nS(e.text),...e.label===void 0?{}:{label:nS(e.label)},refs:[],details:{},domainId:t,source:`domain`});function XC(e,t){return(e.expects??[]).some(n=>t.pageTools.some(t=>t.domainId===e.domainId&&t.name===n.tool&&t.effect===`write`))}function ZC(e,t,n){let r=KC(e),i=[...e.suggestions.map(e=>({...e,source:`page`})),...r===null?[]:t.map(e=>YC(e,r)),...JC(e,r??`assistant`)],a=new Set((e.screen?.selection??[]).map(Nx)),o=new Set,s=new Set,c=!1;return i.filter(t=>{let r=tS(t.text).trim().toLowerCase(),i=t.source===`assistant`&&(s.has(t.id)||t.id===`explain-selection`&&c);return o.has(r)||i||n===`ask`&&XC(t,e)?!1:(o.add(r),s.add(t.id),c||=t.source===`page`&&t.refs.some(e=>a.has(Nx(e))),!0)})}var QC=e=>e.split(`/`).filter(e=>e!==``);function $C(e,t){let n=QC(e),r=QC(t);for(let[e,t]of n.entries()){if(t===`*`&&e===n.length-1)return!0;let i=r[e];if(i===void 0||!t.startsWith(`:`)&&t!==i)return!1}return r.length===n.length}var ew=Symbol.for(`aistrike.experiments.v1`);function tw(){let e=globalThis;return e[ew]??={v:1,active:!1,paused:!1,values:{},definitions:new Map,listeners:new Set,revision:0},e[ew]}var nw=`aistrike.lab.experiments`,rw=/^[A-Za-z0-9._-]+$/;function iw(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`,`)}function aw(e){let t={};for(let n of e.split(`,`)){let[e,r,i]=n.split(`:`);e!==void 0&&r!==void 0&&i===void 0&&rw.test(e)&&rw.test(r)&&(t[e]=r)}return t}var ow=e=>e===`lab`||e.startsWith(`lab=`);function sw(e){let t=e.replace(/^\?/,``).split(`&`).find(ow);return t===void 0?void 0:decodeURIComponent(t.slice(4))}function cw(e,t){let n=e.replace(/^\?/,``).split(`&`).filter(e=>e!==``&&!ow(e));return t!==``&&n.push(`lab=${t}`),n.length===0?``:`?${n.join(`&`)}`}function lw(e){let{id:t,options:n,baseline:r}=e;if(!rw.test(t))throw Error(`Lab ${e.kind} id "${t}" must match ${String(rw)}`);if(n.length===0)throw Error(`Lab ${e.kind} "${t}" has no options`);let i=new Set;for(let r of n){if(!rw.test(r.id)||i.has(r.id))throw Error(`Lab ${e.kind} "${t}" has a missing, malformed or repeated option id "${r.id}"`);i.add(r.id)}if(!i.has(r))throw Error(`Lab ${e.kind} "${t}" names a baseline, "${r}", that is not one of its options`)}var uw=(e,t)=>e.base===void 0?t:`${e.base.replace(/\/$/,``)}/${t.replace(/^\//,``)}`,dw=()=>typeof window>`u`?void 0:{storage:window.sessionStorage,location:window.location,history:window.history};function fw(e,t){let n=()=>t??dw()??{},r=()=>{e.revision+=1;for(let t of[...e.listeners])t()},i=()=>{if(!e.active)return;let{storage:t,location:r,history:i}=n();try{t?.setItem(nw,JSON.stringify({values:e.values,paused:e.paused}))}catch{}if(r!==void 0&&i!==void 0){let t=cw(r.search,iw(e.values));t!==r.search&&i.replaceState(i.state,``,`${r.pathname}${t}${r.hash}`)}},a=()=>{i(),r()},o=(e,t)=>t!==void 0&&e.options.some(e=>e.id===t)?t:e.baseline,s={shared:e,activate(){if(e.active)return;let{storage:t,location:r}=n(),i={};try{i=JSON.parse(t?.getItem(`aistrike.lab.experiments`)??`null`)??{}}catch{}let o=r===void 0?void 0:sw(r.search),s=typeof i.values==`object`&&i.values!==null?aw(iw(i.values)):{};e.values={...e.values,...o===void 0?s:aw(o)},e.paused=i.paused===!0,e.active=!0,a()},isActive:()=>e.active,isPaused:()=>e.paused,setPaused(t){e.paused!==t&&(e.paused=t,a())},register(t){lw(t);let n=e.definitions.get(t.id);if(n!==void 0&&n.kind!==t.kind)throw Error(`Lab id "${t.id}" is already registered as a ${n.kind}`);e.definitions.set(t.id,t),r()},unregister(t){e.definitions.delete(t)&&r()},definitions:t=>[...e.definitions.values()].filter(e=>t===void 0||e.kind===t),value(t){let n=e.definitions.get(t);if(n!==void 0)return!e.active||n.kind===`experiment`&&e.paused?n.baseline:o(n,e.values[t])},picked(t){let n=e.definitions.get(t);return n===void 0?void 0:o(n,e.values[t])},set(e,t){s.setMany({[e]:t??``})},setMany(t){let n=!1;for(let[r,i]of Object.entries(t)){let t=e.definitions.get(r);if(t===void 0||i!==``&&!t.options.some(e=>e.id===i))continue;let a=i===``||i===t.baseline?void 0:i;e.values[r]!==a&&(n=!0,a===void 0?delete e.values[r]:e.values[r]=a)}n&&a()},reset(t){let n=Object.keys(e.values).filter(n=>e.definitions.get(n)?.kind===t);if(n.length>0){for(let t of n)delete e.values[t];a()}},applies(e,t){let n=e.paths??[];return(n.length===0||n.some(n=>$C(uw(e,n),t)))&&Object.entries(e.when??{}).every(([e,t])=>s.picked(e)===t)},hrefOf:e=>e.href===void 0?void 0:uw(e,e.href),subscribe(t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}};return s}var pw;function mw(){return pw??=fw(tw()),pw}function hw(e,t){return t.register(e),{kind:e.kind,id:e.id,baseline:e.baseline,unregister:()=>t.unregister(e.id)}}function gw(e,t=mw()){return hw({...e,kind:`experiment`},t)}function _w(e,t){return typeof e==`string`?t.value(e):t.value(e.id)??e.baseline}function vw(e,t){return(0,z.useSyncExternalStore)(t.subscribe,()=>_w(e,t),()=>_w(e,t))}function yw(e,t=mw()){return vw(e,t)}var bw=new Map([[`alert`,`alert`],[`alerts`,`alert`],[`investigation`,`target`],[`investigations`,`target`],[`user`,`user`],[`host`,`shield`],[`tenant`,`building`]]);function xw({icon:e,size:t}){let n=(e===void 0?void 0:h_(bw.get(e)??e))??wg;return(0,V.jsx)(n,{"aria-hidden":!0,sx:t===void 0?void 0:{fontSize:nr[t]}})}var Sw=gw({id:`assistant.composer`,group:`Assistant`,title:`Composer`,description:`The message field on the pane's glass: a lighter pane of the glass lifted off it, or the runway's field as before (Preston and Luke, 2026-11-06: the input is not working visually).`,baseline:`glass`,options:[{id:`glass`,label:`On the glass`,description:`A lighter, translucent pane of the glass with a hairline edge and a soft lift instead of the recessed fill and inset shadow; one line at rest.`},{id:`field`,label:`Field`,description:`As before: the runway's field, white in light and recessed in dark, with an inset shadow; two lines at rest.`}]}),Cw=`div:has(> textarea)`,ww={[`& ${Cw}`]:{"--ds-field-fill":`color-mix(in srgb, #FFFFFF 72%, transparent)`,"--ds-border":`color-mix(in srgb, var(--ds-text) 8%, transparent)`,"--ds-field-edge-light":`1`,"--ds-shadow-inset":Se.medium},[`html[data-ds-mode="dark"] & ${Cw}`]:{"--ds-field-fill":`color-mix(in srgb, var(--ds-text) 6%, transparent)`,"--ds-border":`color-mix(in srgb, var(--ds-text) 12%, transparent)`}};function Tw(e,t){let n=/(?:^|\s)@([^\s@]*)$/.exec(e.slice(0,t));return n===null?null:{start:t-n[1].length-1,query:n[1]}}function Ew(e,t){let n=/^\/(\S*)$/.exec(e.slice(0,t));return n===null?null:n[1]}function Dw(e,t,n){return e.map(e=>({id:e.label,label:e.label,items:e.refs.map(e=>({id:Nx(e),label:e.label,icon:(0,V.jsx)(xw,{icon:t(e)}),...e.summary===void 0?{}:{summary:e.summary},choose:()=>n(e)}))}))}function Ow(e,t){let n=e.skills.map(e=>({id:`skill:${e.id}`,label:`/${e.id}`,icon:(0,V.jsx)(Fg,{}),...e.description===``?{}:{summary:e.description},choose:()=>t.skill(e)})),r=e.commands.map(e=>({id:`command:${e.domainId}:${e.id}`,label:`/${e.id}`,icon:(0,V.jsx)(xw,{icon:e.icon??`play`}),summary:e.title,choose:()=>t.command(e)}));return[{id:`skills`,label:`Skills`,items:n},{id:`commands`,label:`On this page`,items:r}].filter(e=>e.items.length>0)}function kw(e,t,n,r){let[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!1),c=Ew(e.draft,t),l=Tw(e.draft,t),u=(i,a=``)=>{let o=i+a.length;e.onDraft(e.draft.slice(0,i)+a+e.draft.slice(t)),n(o),r.current=o},d=t=>{(!t.startsWith(`/`)||!e.draft.startsWith(`/`))&&s(!1)};if(c!==null&&!o){let t=Ow(e.slash(c),{skill:e=>u(0,`/${e.id} `),command:t=>{u(0),e.onCommand(t)}});return{kind:`slash`,groups:t,resetKey:`/${c}\n${fb(t).map(e=>e.id).join(`
182
+ `)}`,dismiss:()=>s(!0),edited:d}}return l!==null&&i!==l.start?{kind:`mention`,groups:Dw(e.nearby(l.query),e.iconOf,t=>{e.onAttach(t),u(l.start)}),resetKey:`@${l.query}`,dismiss:()=>a(l.start),edited:d}:{kind:null,groups:[],resetKey:``,dismiss:()=>void 0,edited:d}}function Aw(e){let[t,n]=(0,z.useState)(0),[r,i]=(0,z.useState)(null),a=(0,z.useRef)(null),o=kw(e,t,n,a),s=yw(Sw)===`glass`,c=s?1:2;(0,z.useLayoutEffect)(()=>{let t=a.current,n=e.inputRef.current;t!==null&&n!==null&&(a.current=null,n.focus(),n.setSelectionRange(t,t))});let l=fb(o.groups),u=l.length>0,d=_b({count:l.length,resetKey:o.resetKey,activateKeys:[`Enter`,`Tab`],onActivate:e=>l[e].choose()}),f=t=>{if(!(u&&d.onKeyDown(t))){if(t.key===`Escape`&&(o.kind===`mention`||u)){t.preventDefault(),o.dismiss();return}t.key===`Enter`&&!t.shiftKey&&!t.nativeEvent.isComposing&&e.draft.trim()===``&&(t.preventDefault(),e.onSend())}};return(0,V.jsxs)(J,{ref:i,sx:{"& textarea":{fieldSizing:`content`,minHeight:`${String(c)}lh`},...s?ww:{}},children:[(0,V.jsx)(yb,{id:d.listboxId,open:o.kind!==null,anchorEl:r,groups:o.groups,activeIndex:d.activeIndex,onActiveChange:d.setActiveIndex,onActivate:e=>e.choose(),...o.kind===`slash`?{label:`Skills and commands`}:{}}),(0,V.jsx)(Sb,{value:e.draft,onChange:t=>{o.edited(t),e.onDraft(t),n(e.inputRef.current?.selectionStart??t.length)},onSubmit:e.onSend,onStop:e.onStop,running:e.running,label:`Message the assistant`,placeholder:`Ask anything… @ to reference, / for skills`,inputRef:e.inputRef,top:e.top,footer:e.footer,inputProps:{...d.fieldProps,rows:c,onKeyDown:f,onSelect:e=>n(e.currentTarget.selectionStart)}})]})}var jw={display:`inline-flex`,alignItems:`center`,gap:.75,maxWidth:`100%`,minHeight:ar.small,px:1,borderRadius:`${_.pill}px`,border:`1px solid var(--ds-border)`,backgroundColor:`var(--ds-child)`,color:`var(--ds-text)`},Mw=`&:hover`,Nw={minWidth:0,lineHeight:1.2};function Pw({entity:e,icon:t,text:n,onRemove:r,tooltip:i=!0}){let a=n??e.label,o=e.href!==void 0&&dx(e.href)?e.href:null,s=e.summary===void 0?a:`${a}: ${e.summary}`,c=(0,V.jsxs)(J,{component:`span`,sx:jw,children:[(0,V.jsx)(xw,{icon:t,size:`sm`}),o===null?(0,V.jsx)(rh,{variant:`body2`,component:`span`,noWrap:!0,sx:Nw,children:a}):(0,V.jsx)(rh,{variant:`body2`,component:`a`,noWrap:!0,href:o,onClick:e=>{e.preventDefault(),lx(o)},sx:{...Nw,color:`inherit`,textDecoration:`none`,[Mw]:{textDecoration:`underline`}},children:a}),r&&(0,V.jsx)(Fy,{size:`small`,label:`Remove ${a}`,icon:(0,V.jsx)(Ug,{}),onClick:r,sx:{p:.25,mr:-.5,color:`var(--ds-text-quiet)`}})]});return i?(0,V.jsx)(Ay,{title:s,describeChild:!0,children:c}):c}function Fw({details:e,fallback:t,loading:n}){if(e===null)return(0,V.jsxs)(J,{sx:{display:`grid`,gap:.5},children:[(0,V.jsx)(rh,{variant:`subtitle2`,component:`p`,sx:{m:0},children:t.label}),n&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:`Loading…`}),!n&&t.summary!==void 0&&(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,color:`var(--ds-text-quiet)`},children:t.summary})]});let r=e.href!==void 0&&dx(e.href)?e.href:null;return(0,V.jsxs)(J,{sx:{display:`grid`,gap:1},children:[(0,V.jsx)(rh,{variant:`subtitle2`,component:`p`,sx:{m:0},children:e.title}),(e.fields??[]).map((e,t)=>(0,V.jsx)(Zb,{label:e.label,children:(0,V.jsx)(rh,{variant:`body2`,component:`span`,children:e.value})},t)),r!==null&&(0,V.jsx)(rh,{variant:`body2`,component:`a`,href:r,onClick:e=>{e.preventDefault(),lx(r)},sx:{color:`var(--ds-accent)`},children:`Open`})]})}var Iw=new Set;function Lw({url:e,entity:t,details:n,presentation:r,fallback:i,importModule:a}){let o=(0,z.useRef)(null),[s,c]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let i=o.current;if(i===null)return;let s=!1,l,u=(t,n)=>{if(!Iw.has(e)){Iw.add(e);let r=n instanceof Error?n.message:String(n);console.warn(`Assistant: the renderer ${e} ${t}: ${r}`)}};return Gx(e,a===void 0?{}:{importModule:a}).then(e=>{if(!s){try{let a=e.mount(i,{ref:t,details:n,presentation:r});l=typeof a==`function`?a:void 0}catch(e){i.replaceChildren(),u(`failed to draw`,e),c(!1);return}c(!0)}},e=>{s||(u(`did not load`,e),c(!1))}),()=>{s=!0;try{l?.()}catch(e){u(`failed to clean up`,e)}}},[e,t,n,r,a]),(0,V.jsxs)(V.Fragment,{children:[!s&&i,(0,V.jsx)(`div`,{ref:o})]})}var Rw=(0,z.createContext)({urlOf:()=>null});function zw(e,t,n){let r=eS(e,n);return r===null?t.find(t=>{let n=eS(e,t.domain);return n!==null&&Nx(t)===Nx(n)}):t.find(e=>Nx(e)===Nx(r))}function Bw(e,t,n,r=!1){let i=$x(e);if(i===null)return null;let a=[];for(let e of i){if(e.kind===`text`){a.push(e);continue}let i=zw(e.ref,t,n);if(i!==void 0)a.push({kind:`ref`,label:e.label,ref:e.ref,entity:i});else if(r)return null;else a.push({kind:`text`,text:e.label})}return a}function Vw(e){let t=new Set;return e.flatMap(e=>e.kind!==`ref`||t.has(e.ref)?[]:(t.add(e.ref),[e]))}var Hw={display:`inline-flex`,verticalAlign:`middle`,mr:.5,lineHeight:0};function Uw(e,t,n){let[r,i]=(0,z.useState)(void 0),a=(0,z.useRef)(!1),o=t!==void 0&&`hasDetails`in t;return(0,z.useEffect)(()=>{e&&o&&!a.current&&n!==void 0&&(a.current=!0,n().then(i,()=>i(null)))},[e,o,n]),{details:(t!==void 0&&!(`hasDetails`in t)?t:null)??r??null,loading:o&&r===void 0&&n!==void 0}}function Ww({part:e,icon:t,entry:n,load:r}){let{entity:i}=e,a=(0,z.useRef)(null),o=(0,z.useRef)(null),[s,c]=(0,z.useState)(!1),{details:l,loading:u}=Uw(s,n,r),d=(0,z.useContext)(Rw),f=d.urlOf(i),p=n!==void 0||i.summary!==void 0||f!==null,m=(0,V.jsx)(Fw,{details:l,fallback:i,loading:u}),h=f===null?m:(0,V.jsx)(Lw,{url:f,entity:i,details:l,presentation:`popover`,fallback:m,...d.importModule===void 0?{}:{importModule:d.importModule}}),g=e=>e instanceof Node&&o.current?.contains(e)===!0;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(J,{component:`span`,ref:a,role:`button`,tabIndex:0,"aria-label":e.label,"aria-haspopup":p?`dialog`:void 0,"aria-expanded":p?s:void 0,onFocus:()=>c(!0),onBlur:()=>c(!1),onPointerEnter:()=>c(!0),onPointerLeave:e=>{g(e.relatedTarget)||c(!1)},onKeyDown:e=>{e.key===`Escape`&&s&&(e.stopPropagation(),c(!1))},sx:{display:`inline-flex`,maxWidth:`100%`,borderRadius:`inherit`,outlineOffset:2,verticalAlign:`middle`},children:(0,V.jsx)(Pw,{entity:{...i,href:void 0},icon:t,text:e.label,tooltip:!1})}),p&&(0,V.jsx)(Lm,{open:s,anchorEl:a.current,onClose:()=>c(!1),anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{vertical:`top`,horizontal:`left`},disableAutoFocus:!0,disableEnforceFocus:!0,disableRestoreFocus:!0,disableScrollLock:!0,hideBackdrop:!0,sx:{pointerEvents:`none`},slotProps:{paper:{ref:o,onPointerLeave:e=>{a.current?.contains(e.relatedTarget)||c(!1)},sx:{pointerEvents:`auto`,maxWidth:320,p:1.5}}},children:h})]})}function Gw({text:e,refs:t,ownDomain:n,iconOf:r,details:i,loadDetails:a,inline:o=!1}){let s=Bw(e,t,n);return s===null?(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(V.Fragment,{children:s.map((e,t)=>e.kind===`text`?(0,V.jsx)(`span`,{children:e.text},t):o?(0,V.jsxs)(`span`,{children:[(0,V.jsx)(J,{component:`span`,sx:Hw,children:(0,V.jsx)(xw,{icon:r(e.entity),size:`sm`})}),e.label]},t):(0,V.jsx)(Ww,{part:e,icon:r(e.entity),entry:i?.(e.ref),load:a===void 0?void 0:async()=>a(e.ref)},t))})}function Kw(e){let t=e.replace(/_/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1)}function qw(e,t){let n=Rx(e.tool);return n===null?e.tool:`${t(n.domain)} · ${Kw(n.name)}`}var Jw=new Map([[`pending`,`pending`],[`awaiting-approval`,`awaiting`],[`running`,`running`],[`done`,`done`],[`error`,`failed`],[`declined`,`declined`]]),Yw=e=>Jw.get(e)??`pending`,Xw=new Map([[`pending`,`waiting`],[`awaiting-approval`,`needs your approval`],[`running`,`running`],[`done`,`done`],[`error`,`failed`],[`declined`,`declined`]]);function Zw({call:e}){return e.state!==`error`&&e.state!==`declined`||e.error===void 0?null:(0,V.jsx)(rh,{variant:`caption`,component:`div`,sx:{color:`error.main`},children:e.error})}function Qw({call:e,domainLabel:t}){return(0,V.jsxs)(J,{sx:{display:`grid`,gridTemplateColumns:`auto 1fr`,columnGap:1,alignItems:`center`},children:[(0,V.jsx)(Uy,{status:Yw(e.state),size:`sm`,label:Xw.get(e.state)??e.state}),(0,V.jsx)(rh,{variant:`body2`,component:`span`,color:`textQuiet`,children:qw(e,t)}),(0,V.jsx)(J,{sx:{gridColumn:2},children:(0,V.jsx)(Zw,{call:e})})]})}function $w({text:e}){return(0,V.jsx)(V.Fragment,{children:e.split(/\n{2,}/).map((e,t)=>(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:e},t))})}function eT(e,t){return e.map(e=>({label:(0,V.jsxs)(V.Fragment,{children:[qw(e,t),(0,V.jsx)(Zw,{call:e})]}),status:Yw(e.state),detail:JSON.stringify(e.input)}))}function tT({skill:e,text:t,refs:n}){return(0,V.jsx)(Mb,{attachments:n,children:(0,V.jsxs)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:[(0,V.jsxs)(J,{component:`span`,title:e.title,sx:{fontFamily:$y.typography.fontFamily.mono,color:`var(--ds-accent-ai)`},children:[`/`,e.id]}),t===``?null:` ${t}`]})})}function nT({message:e,iconOf:t}){let n=e.markup===!0?Bw(e.text,e.refs,``,!0):null,r=new Set((n??[]).flatMap(e=>e.kind===`ref`?[Nx(e.entity)]:[])),i=e.refs.filter(e=>!r.has(Nx(e))),a=i.length>0?i.map(e=>(0,V.jsx)(Pw,{entity:e,icon:t(e)},`${e.domain}:${e.type}:${e.id}`)):void 0;return e.skill===void 0?(0,V.jsx)(Mb,{attachments:a,children:n===null?e.text:(0,V.jsx)(rh,{variant:`body2`,sx:{m:0,whiteSpace:`pre-wrap`,color:`var(--ds-text)`},children:(0,V.jsx)(Gw,{text:e.text,refs:e.refs,ownDomain:``,iconOf:t})})}):(0,V.jsx)(tT,{skill:e.skill,text:e.text,refs:a})}function rT({message:e,domainLabel:t,iconOf:n,onDecide:r}){if(e.role===`user`)return(0,V.jsx)(nT,{message:e,iconOf:n});let{plan:i,approval:a}=e,o=e.blocks.flatMap(e=>e.kind===`tool`?[e.call]:[]),s=e=>{a!==void 0&&r(a,e)};return(0,V.jsxs)(J,{sx:{display:`grid`,gap:1},children:[e.blocks.map((e,n)=>e.kind===`text`?(0,V.jsx)($w,{text:e.text},n):i===void 0?(0,V.jsx)(Qw,{call:e.call,domainLabel:t},e.call.id):null),i!==void 0&&(0,V.jsx)(Pb,{steps:eT(o,t),state:i,onRun:()=>s(!0),onCancel:()=>s(!1)}),e.caption!==void 0&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:e.caption}),e.note!==void 0&&(0,V.jsx)(rh,{variant:`caption`,color:`textQuiet`,children:e.note})]})}var iT=(e,t)=>{let{domainId:n,summary:r,entities:i,selection:a}=e;return{domainId:n,title:t,...r===void 0?{}:{summary:r},entities:i,selection:a}};function aT(e,t){let n=e.entities.length,r=new Set(e.entities.map(e=>e.type));return`${n} ${(r.size===1?IC(t,e.domainId,[...r][0])?.label.toLowerCase():void 0)??`item`}${n===1?``:`s`}`}var oT=Pe(`assistant`,`both`);function sT({chat:e,state:t}){return(0,V.jsxs)(J,{role:`alert`,sx:{display:`flex`,alignItems:`center`,gap:1,color:`error.main`,typography:`body1`},children:[(0,V.jsx)(`span`,{children:t.error}),t.closed&&(0,V.jsx)(fg,{variant:`secondary`,size:`small`,onClick:()=>e.reset(),children:`New chat`}),t.canRetry&&(0,V.jsx)(fg,{variant:`secondary`,size:`small`,onClick:()=>{e.retry().catch(()=>void 0)},children:`Retry`})]})}function cT({variant:e,onNew:t,onClose:n}){return(0,V.jsx)(xb,{title:`Assistant`,icon:(0,V.jsx)(Fg,{sx:{color:`var(--ds-accent-ai)`}}),actions:(0,V.jsx)(fg,{variant:`ghost`,size:`small`,onClick:t,children:`New chat`}),...e===`pane`?{onClose:n}:{},closeLabel:`Close the assistant`,closeTooltip:`Close (Esc)`})}function lT({suggestion:e,onPick:t,iconOf:n,loadDetails:r}){let i=e.label??e.text,a=Bw(e.text,e.refs,e.domainId);return(0,V.jsxs)(J,{role:`group`,"aria-label":tS(e.text),sx:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`center`,gap:.5},children:[(0,V.jsx)(fg,{variant:`secondary`,size:`small`,title:e.label===void 0?void 0:tS(e.text),onClick:()=>t(e),sx:{flex:`1 1 auto`},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Gw,{text:i,refs:e.refs,ownDomain:e.domainId,iconOf:n,inline:!0})})}),Vw(a??[]).map(t=>(0,V.jsx)(Ww,{part:t,icon:n(t.entity),entry:e.details[t.ref],load:async()=>r(e,t.ref)},t.ref))]})}function uT({suggestions:e,onPick:t,iconOf:n,loadDetails:r}){let[i,a]=(0,z.useState)(!1),o=i?e:e.slice(0,4);return(0,V.jsxs)(J,{sx:{m:`auto`,maxWidth:320,display:`grid`,gap:1.5,textAlign:`center`,py:4},children:[(0,V.jsx)(rh,{variant:`body2`,sx:{color:`var(--ds-text-quiet)`},children:`Ask about anything on screen, or type @ to reference something on it. I can look things up and act on the page for you; I ask before I change anything.`}),(0,V.jsxs)(J,{role:`group`,"aria-label":`Suggestions`,sx:{display:`grid`,gap:.75},children:[o.map(e=>(0,V.jsx)(lT,{suggestion:e,onPick:t,iconOf:n,loadDetails:r},`${e.source}:${e.id}`)),e.length>4&&(0,V.jsx)(fg,{variant:`ghost`,size:`small`,onClick:()=>a(e=>!e),children:i?`Fewer`:`More suggestions`})]})]})}function dT(e){let t=(0,z.useSyncExternalStore)(e.subscribe,e.environment,e.environment),n=(0,z.useCallback)(e=>t.domains.find(t=>t.id===e)?.label??e,[t]);return{env:t,screen:t.screen,label:n}}var fT=new Set;function pT(e,t,n,r){let[i,a]=(0,z.useState)({key:``,prompts:[]}),o=t===null||!r?``:`${t}:${n}`;return(0,z.useEffect)(()=>{if(t===null||!r)return;let i=new AbortController,o=e=>{i.signal.aborted||a({key:`${t}:${n}`,prompts:e})};return e.prompts(t,n,i.signal).then(o,e=>{if(!i.signal.aborted&&!fT.has(t)){fT.add(t);let n=e instanceof Error?e.message:String(e);console.warn(`Assistant: the backend's prompts for ${t} did not load: ${n}`)}o([])}),()=>i.abort()},[e,t,n,r]),o!==``&&i.key===o?i.prompts:[]}function mT(e){let[t,n]=(0,z.useState)([]);return(0,z.useEffect)(()=>{let t=!0;return e.skills().then(e=>{t&&n(e)},()=>void 0),()=>{t=!1}},[e]),t}function hT(e){let[t,n]=(0,z.useState)(null),r=(0,z.useRef)(0);return{failure:t,run:(0,z.useCallback)(t=>{r.current+=1;let i=r.current;e.runCommand(t.domainId,t.id).then(e=>{!e.ok&&i===r.current&&n(`${t.title} didn't run: ${e.error}`)},()=>void 0)},[e]),clear:(0,z.useCallback)(()=>{r.current+=1,n(null)},[])}}function gT({onScreen:e,children:t}){return e===null&&t.length===0?null:(0,V.jsxs)(J,{"aria-label":`Attached to your next message`,role:`group`,sx:{display:`flex`,flexWrap:`wrap`,gap:.5},children:[e,t]})}function _T(e,t,n){let r=WC(e,t),i=n===void 0?{}:{screen:n};return r===null?{text:e.trim(),options:i}:{text:r.text,options:{...i,skill:{id:r.skill.id,title:r.skill.title}}}}function vT({text:e}){return e===null?null:(0,V.jsx)(rh,{role:`status`,variant:`body2`,sx:{color:`error.main`,pb:1},children:e})}function yT({runtime:e,variant:t,importModule:n}){let r=(0,z.useSyncExternalStore)(e.chat.subscribe,e.chat.get,e.chat.get),{env:i,screen:a,label:o}=dT(e),s=pT(e,i.route.domainId,r.mode,r.messages.length===0),c=(0,z.useMemo)(()=>ZC(i,s,r.mode),[i,s,r.mode]),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)([]),[p,m]=(0,z.useState)(!0),h=mT(e),g=hT(e),_=(0,z.useRef)(null),v=(0,z.useRef)(null),y=(0,z.useCallback)(e=>{f(t=>t.some(t=>Nx(t)===Nx(e))?t:[...t,e])},[]);(0,z.useEffect)(()=>e.onAsk(e=>{e.refs.forEach(y),e.prompt!==void 0&&u(e.prompt),_.current?.focus()}),[e,y]),(0,z.useEffect)(()=>e.onFocus(()=>_.current?.focus()),[e]),(0,z.useEffect)(()=>{_.current?.focus()},[]),(0,z.useEffect)(()=>m(!0),[i.route.path,i.title]),(0,z.useEffect)(()=>{v.current?.scrollTo?.({top:v.current.scrollHeight})},[r.messages]);let b=e=>{u(e),g.clear()},x=(t=l)=>{if(r.running||t.trim()===``&&d.length===0)return;let n=_T(t,h,p&&a!==null?iT(a,i.title):void 0);e.chat.send(n.text,d,n.options).catch(()=>void 0),u(``),f([]),g.clear()},S=t=>{if(r.running)return;g.clear();let n=[...d];for(let e of t.refs)n.some(t=>Nx(t)===Nx(e))||n.push(e);let o=p&&a!==null?iT(a,i.title):void 0,s=t.source===`assistant`?void 0:{domainId:t.domainId,id:t.id,source:t.source},c=t.prompt===void 0;e.chat.send(t.prompt??t.text,n,{...o===void 0?{}:{screen:o},...s===void 0?{}:{suggestion:s},markup:c}).catch(()=>void 0),f([])},C=e=>IC(i,e.domain,e.type)?.icon??void 0,w=(0,z.useMemo)(()=>({urlOf:e=>LC(i,e),...n===void 0?{}:{importModule:n}}),[i,n]),T=(0,z.useCallback)(e=>BC(i,e),[i]),E=(0,z.useCallback)(e=>HC(h,i.pageCommands,e),[h,i]),D=r.messages,O=(0,V.jsx)(gT,{onScreen:a!==null&&p?(0,V.jsx)(Pw,{entity:{domain:a.domainId,type:`screen`,id:`screen`,label:i.title},icon:`screen`,text:i.title===``?`On screen · ${aT(a,i)}`:`On screen: ${i.title} · ${aT(a,i)}`,onRemove:()=>m(!1)}):null,children:d.map(e=>(0,V.jsx)(Pw,{entity:e,icon:C(e),onRemove:()=>f(t=>t.filter(t=>Nx(t)!==Nx(e)))},Nx(e)))});return(0,V.jsx)(Rw.Provider,{value:w,children:(0,V.jsxs)(J,{sx:{height:`100%`,minHeight:0,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(cT,{variant:t,onNew:()=>e.chat.reset(),onClose:()=>e.dismiss()}),(0,V.jsxs)(J,{ref:v,role:`log`,"aria-label":`Conversation`,"aria-live":`polite`,sx:{flex:1,minHeight:0,overflowY:`auto`,px:bb.log,py:2,display:`flex`,flexDirection:`column`,gap:2,maskImage:oT,WebkitMaskImage:oT},children:[D.length===0?(0,V.jsx)(uT,{suggestions:c,onPick:S,iconOf:C,loadDetails:async(t,n)=>e.requestDetails(t.domainId,t.id,n)}):D.map((t,n)=>(0,V.jsx)(rT,{message:t,domainLabel:o,iconOf:C,onDecide:(t,n)=>e.chat.decide(t,n)},n)),r.error!==null&&(0,V.jsx)(sT,{chat:e.chat,state:r})]}),!r.closed&&(0,V.jsxs)(J,{sx:{px:bb.composer,pb:2,pt:1},children:[(0,V.jsx)(vT,{text:g.failure}),(0,V.jsx)(Aw,{draft:l,onDraft:b,running:r.running,onSend:()=>x(),onStop:()=>e.chat.stop(),onAttach:y,nearby:T,iconOf:C,slash:E,onCommand:g.run,inputRef:_,top:O,footer:(0,V.jsx)(Ab,{value:r.mode,options:qS,onChange:t=>e.chat.setMode(t)})})]})]})})}var bT=Ci({key:`assistant`,container:document.head});function xT(e,t,n){let{runtime:r,release:i}=FC(t.domain.apiBase),a=(0,uS.createRoot)(e,{identifierPrefix:`assistant-${n}-`});return a.render((0,V.jsx)(z.StrictMode,{children:(0,V.jsx)(Ji,{value:bT,children:(0,V.jsx)(ag,{theme:tg,children:(0,V.jsx)(_g,{rung:`primary`,sx:{height:`100%`,display:`flex`,flexDirection:`column`,backgroundColor:`transparent`},children:(0,V.jsx)(yT,{runtime:r,variant:n})})})})})),()=>{a.unmount(),i()}}export{xT as mountUi};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunks/ui-C9pWqM_D.js","./chunks/preload-helper-CYtfOYgs.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./chunks/preload-helper-CYtfOYgs.js";function t(t,n){let r,i=0;return{async mount(a){i+=1;let o=i;r?.(),r=void 0;let{mountUi:s}=await e(async()=>{let{mountUi:e}=await import(`./chunks/ui-C9pWqM_D.js`);return{mountUi:e}},__vite__mapDeps([0,1]),import.meta.url);o===i&&(r=s(a,t,n))},unmount(){i+=1,r?.(),r=void 0}}}var n=e=>{let n=t(e,`page`);return{nav:[],settings:null,entities:[],commands:[],mount:n.mount,unmount:n.unmount}},r=e=>t(e,`pane`);export{n as activate,r as activatePane};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunks/ui--m9X09Oo.js","./chunks/preload-helper-CYtfOYgs.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./chunks/preload-helper-CYtfOYgs.js";function t(t,n){let r,i=0;return{async mount(a){i+=1;let o=i;r?.(),r=void 0;let{mountUi:s}=await e(async()=>{let{mountUi:e}=await import(`./chunks/ui--m9X09Oo.js`);return{mountUi:e}},__vite__mapDeps([0,1]),import.meta.url);o===i&&(r=s(a,t,n))},unmount(){i+=1,r?.(),r=void 0}}}var n=e=>{let n=t(e,`page`);return{nav:[],settings:null,entities:[],commands:[],mount:n.mount,unmount:n.unmount}},r=e=>t(e,`pane`);export{n as activate,r as activatePane};
@@ -1,2 +1,2 @@
1
- import{$ as e,A as t,At as n,B as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,F as u,Ft as d,G as f,H as p,I as m,It as h,J as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as ee,R as O,S as te,St as k,T as A,Tt as ne,U as j,V as M,W as N,X as P,Y as F,Z as re,_ as I,_t as L,a as R,at as z,b as ie,bt as ae,c as B,ct as oe,d as se,dt as ce,et as le,f as V,ft as H,g as ue,gt as de,h as U,ht as fe,i as pe,it as me,j as he,jt as ge,k as _e,kt as ve,l as ye,lt as W,m as G,mt as K,n as be,nt as xe,o as Se,ot as Ce,p as we,pt as q,q as Te,r as Ee,rt as De,s as Oe,st as ke,t as Ae,tt as je,u as J,ut as Me,v as Ne,vt as Pe,w as Fe,wt as Ie,x as Le,xt as Re,y as ze,yt as Be,z as Ve}from"./index-CqB5Mswt.js";function He(e){return q(`MuiCheckbox`,e)}var Ue=H(`MuiCheckbox`,[`root`,`checked`,`disabled`,`indeterminate`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`]);function We(e){return q(`MuiFormControlLabel`,e)}var Ge=H(`MuiFormControlLabel`,[`root`,`labelPlacementStart`,`labelPlacementEnd`,`labelPlacementTop`,`labelPlacementBottom`,`disabled`,`label`,`error`,`required`,`asterisk`]);function Ke(e){return q(`MuiSlider`,e)}var Y=H(`MuiSlider`,`root.active.colorPrimary.colorSecondary.colorError.colorInfo.colorSuccess.colorWarning.disabled.dragging.focusVisible.mark.markActive.marked.markLabel.markLabelActive.rail.sizeSmall.thumb.track.trackInverted.trackFalse.valueLabel.valueLabelOpen.valueLabelCircle.valueLabelLabel.vertical`.split(`.`));function qe(e){return q(`MuiToggleButton`,e)}var Je=H(`MuiToggleButton`,[`root`,`disabled`,`selected`,`standard`,`primary`,`secondary`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`fullWidth`]);function Ye(e){return q(`PrivateSwitchBase`,e)}H(`PrivateSwitchBase`,[`root`,`checked`,`disabled`,`input`,`edgeStart`,`edgeEnd`]);var X=y(Be(),1),Z=fe(),Xe=e=>{let{classes:t,checked:n,disabled:r,edge:i}=e,a={root:[`root`,n&&`checked`,r&&`disabled`,i&&`edge${_(i)}`],input:[`input`]};return ke(a,Ye,t)},Ze=F(_e,{name:`MuiSwitchBase`})({padding:9,borderRadius:`50%`,variants:[{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e===`start`&&t.size!==`small`,style:{marginLeft:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e===`end`&&t.size!==`small`,style:{marginRight:-12}}]}),Qe=F(`input`,{name:`MuiSwitchBase`,shouldForwardProp:P})({cursor:`inherit`,position:`absolute`,opacity:0,width:`100%`,height:`100%`,top:0,left:0,margin:0,padding:0,zIndex:1}),$e=X.forwardRef(function(t,n){let{autoFocus:r,checked:i,checkedIcon:a,defaultChecked:o,disabled:s,disableFocusRipple:c=!1,edge:l=!1,icon:d,id:f,name:p,onBlur:m,onChange:h,onFocus:g,readOnly:_,required:v=!1,tabIndex:y,type:b,value:x,slots:S={},slotProps:C={},...w}=t,{nativeButton:T,...E}=w,[D,ee]=u({controlled:i,default:!!o,name:`SwitchBase`,state:`checked`}),O=e(),te=e=>{g&&g(e),O&&O.onFocus&&O.onFocus(e)},k=e=>{m&&m(e),O&&O.onBlur&&O.onBlur(e)},ne=e=>{if(e.nativeEvent.defaultPrevented||_)return;let t=e.target.checked;ee(t),h&&h(e,t)},j=s;O&&j===void 0&&(j=O.disabled);let M=b===`checkbox`||b===`radio`,N={...t,checked:D,disabled:j,disableFocusRipple:c,edge:l},P=Xe(N),F={slots:S,slotProps:C},[re,I]=A(`root`,{ref:n,elementType:Ze,className:P.root,shouldForwardComponentProp:!0,externalForwardedProps:{...F,component:`span`,...E},getSlotProps:e=>({...e,onFocus:t=>{e.onFocus?.(t),te(t)},onBlur:t=>{e.onBlur?.(t),k(t)}}),ownerState:N,additionalProps:{centerRipple:!0,focusRipple:!c,role:void 0,tabIndex:null,internalDisabledThemeFocusVisible:!0}}),[L,R]=A(`input`,{elementType:Qe,className:P.input,externalForwardedProps:F,getSlotProps:e=>({...e,onChange:t=>{e.onChange?.(t),ne(t)}}),ownerState:N,additionalProps:{autoFocus:r,checked:i,defaultChecked:o,disabled:j,id:M?f:void 0,name:p,readOnly:_,required:v,tabIndex:y,type:b,...b===`checkbox`&&x===void 0?{}:{value:x}}});return(0,Z.jsxs)(re,{...I,children:[(0,Z.jsx)(L,{...R}),D?a:d]})}),et=Ve((0,Z.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`}),`CheckBoxOutlineBlank`),tt=Ve((0,Z.jsx)(`path`,{d:`M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`}),`CheckBox`),nt=Ve((0,Z.jsx)(`path`,{d:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z`}),`IndeterminateCheckBox`),rt=e=>{let{classes:t,indeterminate:n,color:r,size:i}=e,a={root:[`root`,n&&`indeterminate`,`color${_(r)}`,`size${_(i)}`]},o=ke(a,He,t);return{...t,...o}},it=F($e,{shouldForwardProp:e=>P(e)||e===`classes`,name:`MuiCheckbox`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${_(n.size)}`],n.color!=="default"&&t[`color${_(n.color)}`]]}})(g(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.focusVisible&&{[`&.${t.focusVisible} svg:first-of-type`]:{...Ce,borderRadius:(e.vars||e).shape.borderRadius,...e.focusVisible}},variants:[{props:{color:`default`,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{[`&.${Ue.checked}, &.${Ue.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Ue.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]}))),at=(0,Z.jsx)(tt,{}),ot=(0,Z.jsx)(et,{}),st=(0,Z.jsx)(nt,{}),ct=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiCheckbox`}),{checkedIcon:r=at,color:i=`primary`,icon:a=ot,indeterminate:o=!1,indeterminateIcon:s=st,size:c=`medium`,disableRipple:l=!1,className:u,slots:d={},slotProps:f={},...p}=n,m=o?s:a,h=o?s:r,g={...n,disableRipple:l,color:i,indeterminate:o,size:c},_=rt(g),v=f.input,[y,b]=A(`root`,{ref:t,elementType:it,className:K(_.root,u),shouldForwardComponentProp:!0,externalForwardedProps:{slots:d,slotProps:f,...p},ownerState:g,additionalProps:{type:`checkbox`,icon:X.cloneElement(m,{fontSize:m.props.fontSize??c}),checkedIcon:X.cloneElement(h,{fontSize:h.props.fontSize??c}),disableRipple:n.disableRipple,slots:d,slotProps:{input:S(typeof v==`function`?v(g):v,{"data-indeterminate":o,"aria-checked":o?`mixed`:void 0})}}});return(0,Z.jsx)(y,{...b,classes:_})});function lt(e){return q(`MuiSwitch`,e)}var Q=H(`MuiSwitch`,[`root`,`edgeStart`,`edgeEnd`,`switchBase`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`,`checked`,`disabled`,`input`,`thumb`,`track`]),ut=e=>{let{classes:t,edge:n,size:r,color:i,checked:a,disabled:o}=e,s={root:[`root`,n&&`edge${_(n)}`,`size${_(r)}`],switchBase:[`switchBase`,`color${_(i)}`,a&&`checked`,o&&`disabled`],thumb:[`thumb`],track:[`track`],input:[`input`]},c=ke(s,lt,t);return{...t,...c}},dt=F(`span`,{name:`MuiSwitch`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.edge&&t[`edge${_(n.edge)}`],t[`size${_(n.size)}`]]}})({display:`inline-flex`,width:58,height:38,overflow:`hidden`,padding:12,boxSizing:`border-box`,position:`relative`,flexShrink:0,zIndex:0,verticalAlign:`middle`,"@media print":{colorAdjust:`exact`},variants:[{props:{edge:`start`},style:{marginLeft:-8}},{props:{edge:`end`},style:{marginRight:-8}},{props:{size:`small`},style:{width:40,height:24,padding:7,[`& .${Q.thumb}`]:{width:16,height:16},[`& .${Q.switchBase}`]:{padding:4,[`&.${Q.checked}`]:{transform:`translateX(16px)`}}}}]}),ft=F($e,{name:`MuiSwitch`,slot:`SwitchBase`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.switchBase,{[`& .${Q.input}`]:t.input},n.color!=="default"&&t[`color${_(n.color)}`]]}})(g(({theme:e})=>({position:`absolute`,top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode===`light`?e.palette.common.white:e.palette.grey[300]}`,...M(e,[`left`,`transform`],{duration:e.transitions.duration.shortest}),[`&.${Q.checked}`]:{transform:`translateX(20px)`},[`&.${Q.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode===`light`?e.palette.grey[100]:e.palette.grey[600]}`},...e.focusVisible?{[`&.${t.focusVisible} ~ .${Q.track}`]:{...Ce,...e.focusVisible},[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,.5)},[`&.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)}}:{[`&.${Q.checked} + .${Q.track}`]:{opacity:.5},[`&.${Q.disabled} + .${Q.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`}},[`& .${Q.input}`]:{left:`-100%`,width:`300%`}})),g(({theme:e})=>({"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},variants:[...Object.entries(e.palette).filter(w([`light`])).map(([t])=>({props:{color:t},style:{[`&.${Q.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},[`&.${Q.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode===`light`?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.55)}`}},[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:(e.vars||e).palette[t].main},...e.focusVisible&&{[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,.5)},[`&.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)},[`&.${Q.checked}.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)}}}}))]}))),pt=F(`span`,{name:`MuiSwitch`,slot:`Track`})(g(({theme:e})=>({height:`100%`,width:`100%`,borderRadius:7,zIndex:-1,...M(e,[`opacity`,`background-color`],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{boxSizing:`border-box`,border:`1px solid ButtonBorder`},...e.focusVisible?{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrack:`${e.palette.mode===`light`?.38:.3}`)}:{backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode===`light`?.38:.3}`}}))),mt=F(`span`,{name:`MuiSwitch`,slot:`Thumb`})(g(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:`currentColor`,boxSizing:`border-box`,border:`1px solid transparent`,width:20,height:20,borderRadius:`50%`}))),ht=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiSwitch`}),{className:r,color:i=`primary`,edge:a=!1,size:o=`medium`,sx:s,slots:c={},slotProps:l={},...u}=n,d={...n,color:i,edge:a,size:o},f=ut(d),p=l.input,m={slots:c,slotProps:l},[h,g]=A(`root`,{className:K(f.root,r),elementType:dt,externalForwardedProps:m,ownerState:d,additionalProps:{sx:s}}),[_,v]=A(`thumb`,{className:f.thumb,elementType:mt,externalForwardedProps:m,ownerState:d}),y=(0,Z.jsx)(_,{...v}),[b,x]=A(`track`,{className:f.track,elementType:pt,externalForwardedProps:m,ownerState:d});return(0,Z.jsxs)(h,{...g,children:[(0,Z.jsx)(ft,{type:`checkbox`,icon:y,checkedIcon:y,ref:t,ownerState:d,...u,classes:{...f,root:f.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...l.switchBase&&{root:typeof l.switchBase==`function`?l.switchBase(d):l.switchBase},input:S(typeof p==`function`?p(d):p,{role:`switch`})}}),(0,Z.jsx)(b,{...x})]})}),gt={border:0,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`};function _t(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}var vt=2,yt=[],bt={};function xt(e,t,n,r,i){return n===1?Math.min(e+t,i):Math.max(e-t,r)}function St(e,t){return e-t}function Ct(e,t,n=-1){let{index:r}=e.reduce((e,n,r)=>{let i=Math.abs(t-n);return e==null||i<=e.distance?{distance:i,index:r}:e},null)??bt;return r==null?r:n>=0&&e[n]===e[r]?n:r}function wt(e,t){if(t.current!=null&&e.changedTouches){let n=e;for(let e=0;e<n.changedTouches.length;e+=1){let r=n.changedTouches[e];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return!1}return{x:e.clientX,y:e.clientY}}function Tt(e,t,n){return(e-t)*100/(n-t)}function Et(e,t,n){return(n-t)*e+t}function Dt(e){if(Math.abs(e)<1){let t=e.toExponential().split(`e-`),n=t[0].split(`.`)[1];return(n?n.length:0)+parseInt(t[1],10)}let t=e.toString().split(`.`)[1];return t?t.length:0}function Ot(e,t,n){let r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(Dt(t)))}function kt(e,t,n){let r=e.slice();return r[n]=t,r.sort(St)}function At(e,t,n,r){let i=je(e.current),a=p(i);if(!ze(e.current,a)||Number(a?.getAttribute(`data-index`))!==t){let n=e.current?.querySelector(`[type="range"][data-index="${t}"]`);n!=null&&(r==null?n.focus({preventScroll:!0}):n.focus({preventScroll:!0,focusVisible:r}))}n&&n(t)}function jt(e,t){return typeof e==`number`&&typeof t==`number`?e===t:typeof e==`object`&&typeof t==`object`&&_t(e,t)}var Mt={horizontal:{offset:e=>({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},Nt=e=>e;function Pt(e){let{"aria-labelledby":t,defaultValue:n,disabled:r=!1,disableSwap:i=!1,isRtl:a=!1,marks:o=!1,max:s=100,min:l=0,name:u,onChange:d,onChangeCommitted:f,orientation:h=`horizontal`,rootRef:g,scale:_=Nt,step:v=1,shiftStep:y=10,tabIndex:x,value:S}=e,C=X.useRef(void 0),w=X.useRef(null),[T,E]=X.useState(-1),[D,ee]=X.useState(-1),[O,te]=X.useState(!1),k=X.useRef(0),A=X.useRef(-1),ne=X.useRef(!1),j=X.useRef(-1),M=xe(()=>{w.current!=null&&(cancelAnimationFrame(w.current),w.current=null)}),N=X.useRef(null),[P,F]=m({controlled:S,default:n??l,name:`Slider`}),re=xe((e,t,n)=>{let r=`nativeEvent`in e?e.nativeEvent:e,i=new r.constructor(r.type,r);Object.defineProperty(i,"target",{writable:!0,value:{value:t,name:u}}),N.current=t,d?.(i,t,n)}),I=Array.isArray(P),L=X.useMemo(()=>{if(typeof P==`number`)return[W(P,l,s)];if(P==null)return[l];let e=P.slice().sort(St);for(let t=0;t<e.length;t+=1){let n=e[t];e[t]=n==null?l:W(n,l,s)}return e},[P,l,s]),R=X.useMemo(()=>{if(o===!0&&v!=null){let e=Array(Math.floor((s-l)/v)+1);for(let t=0;t<e.length;t+=1)e[t]={value:l+v*t};return e}return Array.isArray(o)?o:yt},[o,v,l,s]),z=X.useMemo(()=>{let e=Array(R.length);for(let t=0;t<R.length;t+=1)e[t]=R[t].value;return e},[R]),[ie,ae]=X.useState(-1),B=X.useRef(null),oe=De(g,B),se=e=>t=>{let n=Number(t.currentTarget.getAttribute(`data-index`));b(t.target)&&ae(n),ee(n),e?.onFocus?.(t)},ce=e=>t=>{b(t.target)||ae(-1),ee(-1),e?.onBlur?.(t)},le=(e,t)=>{let n=Number(e.currentTarget.getAttribute(`data-index`)),r=L[n],a=z.indexOf(r),o=t;if(R&&v==null){let e=z[z.length-1];o=o>=e?e:o<=z[0]?z[0]:o<r?z[a-1]:z[a+1]}if(o=W(o,l,s),I){i&&(o=W(o,L[n-1]||-1/0,L[n+1]||1/0));let e=o;o=kt(L,o,n);let t=n;i||(t=o.indexOf(e)),At(B,t)}F(o),ae(n),d&&!jt(o,P)&&re(e,o,n),f&&f(e,N.current??o)},V=e=>t=>{if([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`].includes(t.key)){t.preventDefault();let e=Number(t.currentTarget.getAttribute(`data-index`)),n=L[e],r=null;if(v!=null){let e=t.shiftKey?y:v;switch(t.key){case`ArrowUp`:r=xt(n,e,1,l,s);break;case`ArrowRight`:r=xt(n,e,a?-1:1,l,s);break;case`ArrowDown`:r=xt(n,e,-1,l,s);break;case`ArrowLeft`:r=xt(n,e,a?1:-1,l,s);break;case`PageUp`:r=xt(n,y,1,l,s);break;case`PageDown`:r=xt(n,y,-1,l,s);break;case`Home`:r=l;break;case`End`:r=s}}else if(R){let e=z[z.length-1],i=z.indexOf(n),o=[a?`ArrowRight`:`ArrowLeft`,`ArrowDown`,`PageDown`,`Home`],s=[a?`ArrowLeft`:`ArrowRight`,`ArrowUp`,`PageUp`,`End`];o.includes(t.key)?r=i===0?z[0]:z[i-1]:s.includes(t.key)&&(r=i===z.length-1?e:z[i+1])}r!=null&&le(t,r)}e?.onKeyDown?.(t)};Me(()=>{let e=p(je(B.current));r&&ze(B.current,e)&&e!=null&&`blur`in e&&e.blur()},[r]),r&&T!==-1&&E(-1),r&&ie!==-1&&ae(-1);let H=e=>t=>{e.onChange?.(t),le(t,t.currentTarget.valueAsNumber)},ue=X.useRef(void 0),de=h;a&&h===`horizontal`&&(de+=`-reverse`);let U=e=>{let{current:t}=B;if(!t)return null;let{width:n,height:r,bottom:a,left:o}=t.getBoundingClientRect(),c;c=de.startsWith(`vertical`)?(a-e.y)/r:(e.x-o)/n,de.includes(`-reverse`)&&(c=1-c);let u;if(u=Et(c,l,s),v)u=Ot(u,v,l);else{let e=Ct(z,u);u=z[e]}u=W(u,l,s);let d=0;if(I){let e=ue.current!==-1;d=e?ue.current:Ct(L,u,A.current),i&&(u=W(u,L[d-1]||-1/0,L[d+1]||1/0));let t=u;u=kt(L,u,d),i&&e||(d=u.indexOf(t),ue.current=d)}return{newValue:u,activeIndex:d}},fe=xe(e=>{if(`pointerId`in e&&e.pointerId!==j.current)return;let t=wt(e,C);if(!t)return;if(k.current+=1,e.type===`pointermove`&&e.buttons===0){pe(e);return}let n=U(t);n&&(At(B,n.activeIndex,E,!1),A.current=n.activeIndex,F(n.newValue),!O&&k.current>vt&&te(!0),d&&!jt(n.newValue,P)&&re(e,n.newValue,n.activeIndex))}),pe=xe(e=>{if(`pointerId`in e&&e.pointerId!==j.current)return;let t=wt(e,C);if(te(!1),!t)return;let n=U(t);E(-1),e.type===`touchend`&&ee(-1),n&&f&&f(e,N.current??n.newValue),`pointerType`in e&&B.current?.hasPointerCapture(e.pointerId)&&B.current.releasePointerCapture(e.pointerId),C.current=void 0,j.current=-1,he()}),me=xe(e=>{if(r)return;if(ne.current){ne.current=!1;let t=e.changedTouches[0];t!=null&&(C.current=t.identifier);return}let t=e.changedTouches[0];t!=null&&(C.current=t.identifier);let n=wt(e,C);if(n!==!1){ue.current=-1;let t=U(n);t&&(At(B,t.activeIndex,E,!1),A.current=t.activeIndex,F(t.newValue),d&&!jt(t.newValue,P)&&re(e,t.newValue,t.activeIndex))}k.current=0;let i=je(B.current);i.addEventListener(`touchmove`,fe,{passive:!0}),i.addEventListener(`touchend`,pe,{passive:!0})}),he=X.useCallback(()=>{let e=je(B.current);e.removeEventListener(`pointermove`,fe),e.removeEventListener(`pointerup`,pe),e.removeEventListener(`touchmove`,fe),e.removeEventListener(`touchend`,pe)},[pe,fe]);X.useEffect(()=>{let e=B.current;if(e)return e.addEventListener(`touchstart`,me,{passive:!0}),()=>{e.removeEventListener(`touchstart`,me),M(),he()}},[he,me,M]),X.useEffect(()=>{r&&(he(),M())},[r,he,M]);let ge=e=>t=>{if(e.onPointerDown?.(t),t.pointerType===`touch`&&(ne.current=!0),r||t.defaultPrevented||t.button!==0)return;let n=wt(t,C);if(n!==!1){ue.current=-1;let e=U(n);if(e){let n=B.current?.querySelector(`input[type="range"][data-index="${e.activeIndex}"]`),r=je(B.current),i=n!=null&&n===p(r);E(e.activeIndex),A.current=e.activeIndex,i?t.preventDefault():(M(),w.current=requestAnimationFrame(()=>{w.current=null,At(B,e.activeIndex,void 0,!1)})),F(e.newValue),d&&!jt(e.newValue,P)&&re(t,e.newValue,e.activeIndex)}}k.current=0,j.current=t.pointerId;let i=je(B.current);try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}i.addEventListener(`pointermove`,fe,{passive:!0}),i.addEventListener(`pointerup`,pe)},_e=Tt(I?L[0]:l,l,s),ve=Tt(L[L.length-1],l,s)-_e,ye=(e=bt)=>{let t=c(e),n={onPointerDown:ge(t)},r={...t,...n};return{...e,ref:oe,...r}},G=e=>t=>{e.onMouseOver?.(t);let n=Number(t.currentTarget.getAttribute(`data-index`));ee(n)},K=e=>t=>{e.onMouseLeave?.(t),ee(-1)},be=(e=bt)=>{let t=c(e),n={onMouseOver:G(t),onMouseLeave:K(t)};return{...e,...t,...n}},Se=e=>{let t;return I?T===e?t=2:A.current===e&&(t=1):T===e&&(t=1),{pointerEvents:T!==-1&&T!==e?`none`:void 0,zIndex:t}},Ce;return h===`vertical`&&(Ce=a?`vertical-rl`:`vertical-lr`),{active:T,axis:de,axisProps:Mt,dragging:O,focusedThumbIndex:ie,getHiddenInputProps:(n=bt)=>{let i=c(n),o={onChange:H(i),onFocus:se(i),onBlur:ce(i),onKeyDown:V(i)},d={...i,...o};return{tabIndex:x,"aria-labelledby":t,"aria-orientation":h,"aria-valuemax":_(s),"aria-valuemin":_(l),name:u,type:`range`,min:e.min,max:e.max,step:e.step===null&&e.marks?`any`:e.step??void 0,disabled:r,...n,...d,style:{...gt,direction:a?`rtl`:`ltr`,width:`100%`,height:`100%`,writingMode:Ce}}},getRootProps:ye,getThumbProps:be,marks:R,open:D,range:I,rootRef:oe,trackLeap:ve,trackOffset:_e,values:L,getThumbStyle:Se}}var Ft=e=>{let{open:t}=e;return{offset:K(t&&Y.valueLabelOpen),circle:Y.valueLabelCircle,label:Y.valueLabelLabel}};function It(e){let{children:t,className:n,value:r}=e,i=Ft(e);return t?X.cloneElement(t,{className:t.props.className},(0,Z.jsxs)(X.Fragment,{children:[t.props.children,(0,Z.jsx)(`span`,{className:K(i.offset,n),"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:i.circle,children:(0,Z.jsx)(`span`,{className:i.label,children:r})})})]})):null}function Lt(e){return e}var Rt=F(`span`,{name:`MuiSlider`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`color${_(n.color)}`],n.size!==`medium`&&t[`size${_(n.size)}`],n.marked&&t.marked,n.orientation===`vertical`&&t.vertical,n.track===`inverted`&&t.trackInverted,n.track===!1&&t.trackFalse]}})(g(({theme:e})=>({borderRadius:12,boxSizing:`content-box`,display:`inline-block`,position:`relative`,cursor:`pointer`,touchAction:`none`,WebkitTapHighlightColor:`transparent`,"@media print":{colorAdjust:`exact`},[`&.${Y.disabled}`]:{pointerEvents:`none`,cursor:`default`,color:(e.vars||e).palette.grey[400]},[`&.${Y.dragging}`]:{[`& .${Y.thumb}, & .${Y.track}`]:{transition:`none`}},variants:[...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),{props:{orientation:`horizontal`},style:{height:4,width:`100%`,padding:`13px 0`,"@media (pointer: coarse)":{padding:`20px 0`}}},{props:{orientation:`horizontal`,size:`small`},style:{height:2}},{props:{orientation:`horizontal`,marked:!0},style:{marginBottom:20}},{props:{orientation:`vertical`},style:{height:`100%`,width:4,padding:`0 13px`,"@media (pointer: coarse)":{padding:`0 20px`}}},{props:{orientation:`vertical`,size:`small`},style:{width:2}},{props:{orientation:`vertical`,marked:!0},style:{marginRight:44}}]}))),zt=F(`span`,{name:`MuiSlider`,slot:`Rail`})({display:`block`,position:`absolute`,borderRadius:`inherit`,backgroundColor:`currentColor`,opacity:.38,"@media (forced-colors: active)":{border:`1px solid transparent`,boxSizing:`border-box`},variants:[{props:{orientation:`horizontal`},style:{width:`100%`,height:`inherit`,top:`50%`,transform:`translateY(-50%)`}},{props:{orientation:`vertical`},style:{height:`100%`,width:`inherit`,left:`50%`,transform:`translateX(-50%)`}},{props:{track:`inverted`},style:{opacity:1}}]}),Bt=F(`span`,{name:`MuiSlider`,slot:`Track`})(g(({theme:e})=>({display:`block`,position:`absolute`,borderRadius:`inherit`,border:`1px solid currentColor`,backgroundColor:`currentColor`,...M(e,[`left`,`width`,`bottom`,`height`],{duration:e.transitions.duration.shortest}),variants:[{props:{size:`small`},style:{"@media (forced-colors: none)":{border:`none`}}},{props:{orientation:`horizontal`},style:{height:`inherit`,top:`50%`,transform:`translateY(-50%)`}},{props:{orientation:`vertical`},style:{width:`inherit`,left:`50%`,transform:`translateX(-50%)`}},{props:{track:!1},style:{display:`none`}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t,track:`inverted`},style:{...e.vars?{backgroundColor:e.vars.palette.Slider[`${t}Track`],borderColor:e.vars.palette.Slider[`${t}Track`]}:{backgroundColor:e.lighten(e.palette[t].main,.62),borderColor:e.lighten(e.palette[t].main,.62),...e.applyStyles(`dark`,{backgroundColor:e.darken(e.palette[t].main,.5)}),...e.applyStyles(`dark`,{borderColor:e.darken(e.palette[t].main,.5)})}}}))]}))),Vt=F(`span`,{name:`MuiSlider`,slot:`Thumb`})(g(({theme:e})=>({position:`absolute`,width:20,height:20,boxSizing:`border-box`,borderRadius:`50%`,outline:0,backgroundColor:`currentColor`,display:`flex`,alignItems:`center`,justifyContent:`center`,...M(e,[`box-shadow`,`left`,`bottom`],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{border:`1px solid ButtonBorder`},"&::before":{position:`absolute`,content:`""`,borderRadius:`inherit`,width:`100%`,height:`100%`,boxShadow:(e.vars||e).shadows[2]},"&::after":{position:`absolute`,content:`""`,borderRadius:`50%`,width:42,height:42,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`},[`&.${Y.disabled}`]:{"&:hover":{boxShadow:`none`}},...e.focusVisible&&{[`&.${Y.focusVisible}`]:{...Ce,...e.focusVisible}},variants:[{props:{size:`small`},style:{width:12,height:12,"&::before":{boxShadow:`none`}}},{props:{orientation:`horizontal`},style:{top:`50%`,transform:`translate(-50%, -50%)`}},{props:{orientation:`vertical`},style:{left:`50%`,transform:`translate(-50%, 50%)`}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{"&:hover":{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:`none`}},...!e.focusVisible&&{[`&.${Y.focusVisible}`]:{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:`none`}}},[`&.${Y.active}`]:{boxShadow:`0px 0px 0px 14px ${e.alpha((e.vars||e).palette[t].main,.16)}`}}}))]}))),Ht=F(It,{name:`MuiSlider`,slot:`ValueLabel`})(g(({theme:e})=>({zIndex:1,whiteSpace:`nowrap`,...e.typography.body2,fontWeight:500,...M(e,[`transform`],{duration:e.transitions.duration.shortest}),position:`absolute`,backgroundColor:(e.vars||e).palette.grey[600],borderRadius:2,color:(e.vars||e).palette.common.white,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`0.25rem 0.75rem`,variants:[{props:{orientation:`horizontal`},style:{transform:`translateY(-100%) scale(0)`,top:`-10px`,transformOrigin:`bottom center`,"&::before":{position:`absolute`,content:`""`,width:8,height:8,transform:`translate(-50%, 50%) rotate(45deg)`,backgroundColor:`inherit`,bottom:0,left:`50%`},[`&.${Y.valueLabelOpen}`]:{transform:`translateY(-100%) scale(1)`}}},{props:{orientation:`vertical`},style:{transform:`translateY(-50%) scale(0)`,right:`30px`,top:`50%`,transformOrigin:`right center`,"&::before":{position:`absolute`,content:`""`,width:8,height:8,transform:`translate(-50%, -50%) rotate(45deg)`,backgroundColor:`inherit`,right:-8,top:`50%`},[`&.${Y.valueLabelOpen}`]:{transform:`translateY(-50%) scale(1)`}}},{props:{size:`small`},style:{fontSize:e.typography.pxToRem(12),padding:`0.25rem 0.5rem`}},{props:{orientation:`vertical`,size:`small`},style:{right:`20px`}}]}))),Ut=F(`span`,{name:`MuiSlider`,slot:`Mark`,shouldForwardProp:e=>re(e)&&e!==`markActive`,overridesResolver:(e,t)=>{let{markActive:n}=e;return[t.mark,n&&t.markActive]}})(g(({theme:e})=>({position:`absolute`,width:2,height:2,borderRadius:1,backgroundColor:`currentColor`,variants:[{props:{orientation:`horizontal`},style:{top:`50%`,transform:`translate(-1px, -50%)`}},{props:{orientation:`vertical`},style:{left:`50%`,transform:`translate(-50%, 1px)`}},{props:{markActive:!0},style:{backgroundColor:(e.vars||e).palette.background.paper,opacity:.8}}]}))),Wt=F(`span`,{name:`MuiSlider`,slot:`MarkLabel`,shouldForwardProp:e=>re(e)&&e!==`markLabelActive`})(g(({theme:e})=>({...e.typography.body2,color:(e.vars||e).palette.text.secondary,position:`absolute`,whiteSpace:`nowrap`,variants:[{props:{orientation:`horizontal`},style:{top:30,transform:`translateX(-50%)`,"@media (pointer: coarse)":{top:40}}},{props:{orientation:`vertical`},style:{left:36,transform:`translateY(50%)`,"@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(e.vars||e).palette.text.primary}}]}))),Gt=e=>{let{disabled:t,dragging:n,marked:r,orientation:i,track:a,classes:o,color:s,size:c}=e,l={root:[`root`,t&&`disabled`,n&&`dragging`,r&&`marked`,i===`vertical`&&`vertical`,a===`inverted`&&`trackInverted`,a===!1&&`trackFalse`,s&&`color${_(s)}`,c&&`size${_(c)}`],rail:[`rail`],track:[`track`],mark:[`mark`],markActive:[`markActive`],markLabel:[`markLabel`],markLabelActive:[`markLabelActive`],valueLabel:[`valueLabel`],thumb:[`thumb`,t&&`disabled`],active:[`active`],disabled:[`disabled`],focusVisible:[`focusVisible`]};return ke(l,Ke,o)},Kt=({children:e})=>e,qt=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiSlider`}),r=oe(),{"aria-label":i,"aria-valuetext":a,"aria-labelledby":o,color:s=`primary`,classes:c,className:l,disableSwap:u=!1,disabled:d=!1,getAriaLabel:f,getAriaValueText:p,marks:m=!1,max:h=100,min:g=0,name:_,onChange:v,onChangeCommitted:y,orientation:b=`horizontal`,shiftStep:x=10,size:S=`medium`,step:C=1,scale:w=Lt,slotProps:T={},slots:E={},tabIndex:D,track:ee=`normal`,value:O,valueLabelDisplay:te=`off`,valueLabelFormat:k=Lt,...ne}=n,j={...n,isRtl:r,max:h,min:g,classes:c,disabled:d,disableSwap:u,orientation:b,marks:m,color:s,size:S,step:C,shiftStep:x,scale:w,track:ee,valueLabelDisplay:te,valueLabelFormat:k},{axisProps:M,getRootProps:N,getHiddenInputProps:P,getThumbProps:F,open:re,active:I,axis:L,focusedThumbIndex:R,range:z,dragging:ie,marks:ae,values:B,trackOffset:se,trackLeap:ce,getThumbStyle:le}=Pt({...j,rootRef:t});j.marked=ae.length>0&&ae.some(e=>e.label),j.dragging=ie,j.focusedThumbIndex=R;let V=Gt(j),H={slots:E,slotProps:T},[ue,de]=A(`root`,{elementType:Rt,getSlotProps:N,externalForwardedProps:{...H,...ne},ownerState:j,className:[V.root,l]}),[U,fe]=A(`rail`,{elementType:zt,externalForwardedProps:H,ownerState:j,className:V.rail}),[pe,he]=A(`track`,{elementType:Bt,externalForwardedProps:H,additionalProps:{style:{...M[L].offset(se),...M[L].leap(ce)}},ownerState:j,className:V.track}),[ge,_e]=A(`thumb`,{elementType:Vt,getSlotProps:F,externalForwardedProps:H,ownerState:j,className:V.thumb}),[ve,ye]=A(`valueLabel`,{elementType:Ht,externalForwardedProps:H,ownerState:j,className:V.valueLabel}),[W,G]=A(`mark`,{elementType:Ut,externalForwardedProps:H,ownerState:j,className:V.mark}),[be,xe]=A(`markLabel`,{elementType:Wt,externalForwardedProps:H,ownerState:j,className:V.markLabel}),[Se,Ce]=A(`input`,{elementType:`input`,getSlotProps:P,externalForwardedProps:H,ownerState:j});return(0,Z.jsxs)(ue,{...de,children:[(0,Z.jsx)(U,{...fe}),(0,Z.jsx)(pe,{...he}),ae.filter(e=>e.value>=g&&e.value<=h).map((e,t)=>{let n=Tt(e.value,g,h),r=M[L].offset(n),i;return i=ee===!1?B.includes(e.value):ee===`normal`&&(z?e.value>=B[0]&&e.value<=B[B.length-1]:e.value<=B[0])||ee===`inverted`&&(z?e.value<=B[0]||e.value>=B[B.length-1]:e.value>=B[0]),(0,Z.jsxs)(X.Fragment,{children:[(0,Z.jsx)(W,{"data-index":t,...G,...!me(W)&&{markActive:i},style:{...r,...G.style},className:K(G.className,i&&V.markActive)}),e.label==null?null:(0,Z.jsx)(be,{"aria-hidden":!0,"data-index":t,...xe,...!me(be)&&{markLabelActive:i},style:{...r,...xe.style},className:K(V.markLabel,xe.className,i&&V.markLabelActive),children:e.label})]},t)}),B.map((e,t)=>{let n=Tt(e,g,h),r=M[L].offset(n),s=te===`off`?Kt:ve;return(0,Z.jsx)(s,{...!me(s)&&{valueLabelFormat:k,valueLabelDisplay:te,value:typeof k==`function`?k(w(e),t):k,index:t,open:re===t||I===t||te===`on`,disabled:d},...ye,children:(0,Z.jsx)(ge,{"data-index":t,..._e,className:K(V.thumb,_e.className,I===t&&V.active,R===t&&V.focusVisible),style:{...r,...le(t),..._e.style},children:(0,Z.jsx)(Se,{"data-index":t,"aria-label":f?f(t):i,"aria-valuenow":w(e),"aria-labelledby":o,"aria-valuetext":p?p(w(e),t):a,value:B[t],...Ce})})},t)})]})}),Jt=X.createContext({}),Yt=X.createContext(void 0);function Xt(e,t){return t===void 0||e===void 0?!1:Array.isArray(t)?t.includes(e):e===t}function Zt(e,t){let{children:n,disabled:r=!1,selected:a=!1,value:o}=e,s=i(),c=ie({id:o,ref:t,disabled:r,selected:a}),l=s.getItemMap().size===0&&a?0:c.tabIndex;return X.cloneElement(X.Children.only(n),{...c,tabIndex:n.props.tabIndex??l})}var Qt=X.forwardRef(Zt),$t=e=>{let{classes:t,fullWidth:n,selected:r,disabled:i,size:a,color:o}=e,s={root:[`root`,r&&`selected`,i&&`disabled`,n&&`fullWidth`,`size${_(a)}`,o]};return ke(s,qe,t)},en=F(_e,{name:`MuiToggleButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`size${_(n.size)}`]]}})(g(({theme:e})=>({...e.typography.button,borderRadius:(e.vars||e).shape.borderRadius,padding:11,border:`1px solid ${(e.vars||e).palette.divider}`,color:(e.vars||e).palette.action.active,[`&.${Je.disabled}`]:{color:(e.vars||e).palette.action.disabled,border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},"&:hover":{textDecoration:`none`,backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},variants:[{props:{color:`standard`},style:{[`&.${Je.selected}`]:{color:(e.vars||e).palette.text.primary,backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.selectedOpacity),"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.text.primary,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.selectedOpacity)}}}}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{[`&.${Je.selected}`]:{color:(e.vars||e).palette[t].main,backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.selectedOpacity),"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:`100%`}},{props:{size:`small`},style:{padding:7,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`},style:{padding:15,fontSize:e.typography.pxToRem(15)}}]}))),tn=X.forwardRef(function(e,t){let{value:n,isRovingTabIndex:r,...i}=X.useContext(Jt),a=X.useContext(Yt),o=ce({...i,selected:Xt(e.value,n)},e),s=Te({props:o,name:`MuiToggleButton`}),{children:c,className:l,color:u=`standard`,disabled:d=!1,disableFocusRipple:f=!1,fullWidth:p=!1,onChange:m,onClick:h,selected:g,size:_=`medium`,value:v,...y}=s,b={...s,color:u,disabled:d,disableFocusRipple:f,fullWidth:p,size:_},x=$t(b),S=e=>{h&&(h(e,v),e.defaultPrevented)||m&&m(e,v)},C=a||``,w=(0,Z.jsx)(en,{className:K(i.className,x.root,l,C),internalNativeButton:!0,disabled:d,focusRipple:!f,ref:r?void 0:t,onClick:S,onChange:m,value:v,ownerState:b,"aria-pressed":g,...y,children:c});return r?(0,Z.jsx)(Qt,{disabled:d,selected:g,ref:t,value:v,children:w}):w});function nn(e){return X.Children.toArray(e).filter(e=>X.isValidElement(e))}function rn(e){return q(`MuiToggleButtonGroup`,e)}var $=H(`MuiToggleButtonGroup`,[`root`,`selected`,`horizontal`,`vertical`,`disabled`,`grouped`,`fullWidth`,`firstButton`,`lastButton`,`middleButton`]),an=e=>{let{classes:t,orientation:n,fullWidth:r,disabled:i}=e;return ke({root:[`root`,n,r&&`fullWidth`],grouped:[`grouped`,i&&`disabled`],firstButton:[`firstButton`],lastButton:[`lastButton`],middleButton:[`middleButton`]},rn,t)},on=F(`div`,{name:`MuiToggleButtonGroup`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${$.grouped}`]:t.grouped},{[`& .${$.firstButton}`]:t.firstButton},{[`& .${$.lastButton}`]:t.lastButton},{[`& .${$.middleButton}`]:t.middleButton},t.root,n.orientation===`vertical`&&t.vertical,n.fullWidth&&t.fullWidth]}})(g(({theme:e})=>({display:`inline-flex`,borderRadius:(e.vars||e).shape.borderRadius,...e.focusVisible&&{[`& .${$.grouped}.${t.focusVisible}`]:{zIndex:1}},variants:[{props:{orientation:`vertical`},style:{flexDirection:`column`,[`& .${$.grouped}`]:{[`&.${$.selected} + .${$.grouped}.${$.selected}`]:{borderTop:0,marginTop:0}},[`& .${$.firstButton},& .${$.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${$.lastButton},& .${$.middleButton}`]:{marginTop:-1,borderTop:`1px solid transparent`,borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${$.lastButton}.${Je.disabled},& .${$.middleButton}.${Je.disabled}`]:{borderTop:`1px solid transparent`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{orientation:`horizontal`},style:{[`& .${$.grouped}`]:{[`&.${$.selected} + .${$.grouped}.${$.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${$.firstButton},& .${$.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${$.lastButton},& .${$.middleButton}`]:{marginLeft:-1,borderLeft:`1px solid transparent`,borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${$.lastButton}.${Je.disabled},& .${$.middleButton}.${Je.disabled}`]:{borderLeft:`1px solid transparent`}}}]}))),sn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiToggleButtonGroup`}),{children:r,className:i,color:a=`standard`,disabled:o=!1,exclusive:s=!1,fullWidth:c=!1,onChange:l,orientation:u=`horizontal`,size:d=`medium`,value:f,...p}=n,m={...n,disabled:o,fullWidth:c,orientation:u,size:d},h=an(m),g=oe(),_=X.useCallback((e,t)=>{if(!l)return;let n=f&&f.indexOf(t),r;f&&n>=0?(r=f.slice(),r.splice(n,1)):r=f?f.concat(t):[t],l(e,r)},[l,f]),v=X.useCallback((e,t)=>{l&&l(e,f===t?null:t)},[l,f]),y=X.useMemo(()=>({className:h.grouped,onChange:s?v:_,value:f,size:d,fullWidth:c,color:a,disabled:o,isRovingTabIndex:!0}),[h.grouped,s,v,_,f,d,c,a,o]),b=nn(r),x=b.length,S=e=>{let t=e===0,n=e===x-1;return t&&n?``:t?h.firstButton:n?h.lastButton:h.middleButton},C=Le({orientation:u,isRtl:g}),w=C.getContainerProps(t,p.onFocus,p.onKeyDown);return(0,Z.jsx)(on,{role:`group`,className:K(h.root,i),ownerState:m,...p,...w,children:(0,Z.jsx)(te.Provider,{value:C,children:(0,Z.jsx)(Jt.Provider,{value:y,children:b.map((e,t)=>(0,Z.jsx)(Yt.Provider,{value:S(t),children:e},t))})})})}),cn=e=>{let{classes:t,disabled:n,labelPlacement:r,error:i,required:a}=e,o={root:[`root`,n&&`disabled`,`labelPlacement${_(r)}`,i&&`error`,a&&`required`],label:[`label`,n&&`disabled`],asterisk:[`asterisk`,i&&`error`]};return ke(o,We,t)},ln=F(`label`,{name:`MuiFormControlLabel`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${Ge.label}`]:t.label},t.root,t[`labelPlacement${_(n.labelPlacement)}`]]}})(g(({theme:e})=>({display:`inline-flex`,alignItems:`center`,cursor:`pointer`,verticalAlign:`middle`,WebkitTapHighlightColor:`transparent`,marginLeft:-11,marginRight:16,[`&.${Ge.disabled}`]:{cursor:`default`},[`& .${Ge.label}`]:{[`&.${Ge.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:`start`},style:{flexDirection:`row-reverse`,marginRight:-11}},{props:{labelPlacement:`top`},style:{flexDirection:`column-reverse`}},{props:{labelPlacement:`bottom`},style:{flexDirection:`column`}},{props:({labelPlacement:e})=>e===`start`||e===`top`||e===`bottom`,style:{marginLeft:16}}]}))),un=F(`span`,{name:`MuiFormControlLabel`,slot:`Asterisk`})(g(({theme:e})=>({[`&.${Ge.error}`]:{color:(e.vars||e).palette.error.main}}))),dn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiFormControlLabel`}),{checked:r,className:i,control:a,disabled:o,disableTypography:s,inputRef:c,label:l,labelPlacement:u=`end`,name:d,onChange:f,required:p,slots:m={},slotProps:h={},value:g,..._}=n,[v,y]=le({props:n,states:[`error`]}),b=o??a.props.disabled??y?.disabled,x=p??a.props.required,S={disabled:b,required:x};[`checked`,`name`,`onChange`,`value`,`inputRef`].forEach(e=>{a.props[e]===void 0&&n[e]!==void 0&&(S[e]=n[e])});let C={...n,disabled:b,labelPlacement:u,required:x,error:v.error},w=cn(C),[T,E]=A(`typography`,{elementType:U,externalForwardedProps:{slots:m,slotProps:h},ownerState:C}),D=l;return D!=null&&D.type!==U&&!s&&(D=(0,Z.jsx)(T,{component:`span`,...E,className:K(w.label,E?.className),children:D})),(0,Z.jsxs)(ln,{className:K(w.root,i),ownerState:C,ref:t,..._,children:[X.cloneElement(a,S),x?(0,Z.jsxs)(`div`,{children:[D,(0,Z.jsxs)(un,{ownerState:C,"aria-hidden":!0,className:w.asterisk,children:[` `,`*`]})]}):D]})});function fn(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function pn(e,t,n,r={},i=()=>{}){let{ease:a=fn,duration:o=300}=r,s=null,c=t[e],l=!1,u=()=>{l=!0},d=r=>{if(l){i(Error(`Animation cancelled`));return}s===null&&(s=r);let u=Math.min(1,(r-s)/o);if(t[e]=a(u)*(n-c)+c,u>=1){requestAnimationFrame(()=>{i(null)});return}requestAnimationFrame(d)};return c===n?(i(Error(`Element already at target position`)),u):(requestAnimationFrame(d),u)}var mn={width:99,height:99,position:`absolute`,top:-9999,overflow:`scroll`,pointerEvents:`none`};function hn(e){let{onChange:t,...n}=e,r=X.useRef(),i=X.useRef(null),a=()=>{r.current=i.current.offsetHeight-i.current.clientHeight};return N(()=>{let e=O(()=>{let e=r.current;a(),e!==r.current&&t(r.current)}),n=v(i.current);return n.addEventListener(`resize`,e),()=>{e.clear(),n.removeEventListener(`resize`,e)}},[t]),X.useEffect(()=>{a(),t(r.current)},[t]),(0,Z.jsx)(`div`,{style:mn,...n,ref:i})}var gn=Ve((0,Z.jsx)(`path`,{d:`M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z`}),`KeyboardArrowLeft`),_n=Ve((0,Z.jsx)(`path`,{d:`M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z`}),`KeyboardArrowRight`);function vn(e){return q(`MuiTabScrollButton`,e)}var yn=H(`MuiTabScrollButton`,[`root`,`vertical`,`horizontal`,`disabled`]),bn=e=>{let{classes:t,orientation:n,disabled:r}=e;return ke({root:[`root`,n,r&&`disabled`]},vn,t)},xn=F(_e,{name:`MuiTabScrollButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${yn.disabled}`]:{opacity:0},variants:[{props:{orientation:`vertical`},style:{width:`100%`,height:40,"& svg":{transform:`var(--TabScrollButton-svgRotate)`}}}]}),Sn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTabScrollButton`}),{className:r,slots:i={},slotProps:a={},direction:o,orientation:s,disabled:c,...l}=n,{nativeButton:u,...d}=l,f=oe(),p={isRtl:f,...n},m=bn(p),h=i.StartScrollButtonIcon??gn,g=i.EndScrollButtonIcon??_n,_=Fe({elementType:h,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:`small`},ownerState:p}),v=Fe({elementType:g,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:`small`},ownerState:p});return(0,Z.jsx)(xn,{component:`div`,className:K(m.root,r),ref:t,role:null,ownerState:p,tabIndex:null,...d,style:{...d.style,...s===`vertical`&&{"--TabScrollButton-svgRotate":`rotate(${f?-90:90}deg)`}},children:o===`left`?(0,Z.jsx)(h,{..._}):(0,Z.jsx)(g,{...v})})});function Cn(e){return q(`MuiTabs`,e)}var wn=H(`MuiTabs`,[`root`,`vertical`,`list`,`centered`,`scroller`,`fixed`,`scrollableX`,`scrollableY`,`hideScrollbar`,`scrollButtons`,`scrollButtonsHideMobile`,`indicator`]),Tn=e=>{let{vertical:t,fixed:n,hideScrollbar:r,scrollableX:i,scrollableY:a,centered:o,scrollButtonsHideMobile:s,classes:c}=e;return ke({root:[`root`,t&&`vertical`],scroller:[`scroller`,n&&`fixed`,r&&`hideScrollbar`,i&&`scrollableX`,a&&`scrollableY`],list:[`list`,t&&`vertical`,o&&`centered`],indicator:[`indicator`],scrollButtons:[`scrollButtons`,s&&`scrollButtonsHideMobile`],scrollableX:[i&&`scrollableX`],hideScrollbar:[r&&`hideScrollbar`]},Cn,c)},En=F(`div`,{name:`MuiTabs`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${wn.scrollButtons}`]:t.scrollButtons},{[`& .${wn.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(g(({theme:e})=>({overflow:`hidden`,minHeight:48,WebkitOverflowScrolling:`touch`,display:`flex`,variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:`column`}},{props:({ownerState:e})=>e.scrollButtonsHideMobile,style:{[`& .${wn.scrollButtons}`]:{[e.breakpoints.down(`sm`)]:{display:`none`}}}}]}))),Dn=F(`div`,{name:`MuiTabs`,slot:`Scroller`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})({position:`relative`,display:`inline-block`,flex:`1 1 auto`,whiteSpace:`nowrap`,variants:[{props:({ownerState:e})=>e.fixed,style:{overflowX:`hidden`,width:`100%`}},{props:({ownerState:e})=>e.hideScrollbar,style:{scrollbarWidth:`none`,"&::-webkit-scrollbar":{display:`none`}}},{props:({ownerState:e})=>e.scrollableX,style:{overflowX:`auto`,overflowY:`hidden`}},{props:({ownerState:e})=>e.scrollableY,style:{overflowY:`auto`,overflowX:`hidden`}}]}),On=F(`div`,{name:`MuiTabs`,slot:`List`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.list,n.centered&&t.centered]}})({display:`flex`,variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:`column`}},{props:({ownerState:e})=>e.centered,style:{justifyContent:`center`}}]}),kn=F(`span`,{name:`MuiTabs`,slot:`Indicator`})(g(({theme:e})=>({position:`absolute`,height:2,bottom:0,width:`100%`,...M(e),variants:[{props:{indicatorColor:`primary`},style:{backgroundColor:(e.vars||e).palette.primary.main}},{props:{indicatorColor:`secondary`},style:{backgroundColor:(e.vars||e).palette.secondary.main}},{props:({ownerState:e})=>e.vertical,style:{height:`100%`,width:2,right:0}}]}))),An=F(hn)({overflowX:`auto`,overflowY:`hidden`,scrollbarWidth:`none`,"&::-webkit-scrollbar":{display:`none`}}),jn={},Mn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTabs`}),r=ee(),i=oe(),a=he(r.motion.reducedMotion,!1),{"aria-label":o,"aria-labelledby":s,action:c,centered:l=!1,children:u,className:d,component:m=`div`,allowScrollButtonsMobile:h=!1,indicatorColor:g=`primary`,onChange:_,orientation:y=`horizontal`,scrollButtons:b=`auto`,selectionFollowsFocus:x,slots:S={},slotProps:C={},textColor:w=`primary`,value:T,variant:D=`standard`,visibleScrollbar:k=!1,...ne}=n,M=D===`scrollable`,N=y===`vertical`,P=N?`scrollTop`:`scrollLeft`,F=N?`top`:`left`,re=N?`bottom`:`right`,I=N?`clientHeight`:`clientWidth`,L=N?`height`:`width`,R={...n,component:m,allowScrollButtonsMobile:h,indicatorColor:g,orientation:y,vertical:N,scrollButtons:b,textColor:w,variant:D,visibleScrollbar:k,fixed:!M,hideScrollbar:M&&!k,scrollableX:M&&!N,scrollableY:M&&N,centered:l&&!M,scrollButtonsHideMobile:!h},z=Tn(R),ie=Fe({elementType:S.startScrollButtonIcon,externalSlotProps:C.startScrollButtonIcon,ownerState:R}),ae=Fe({elementType:S.endScrollButtonIcon,externalSlotProps:C.endScrollButtonIcon,ownerState:R}),[B,se]=X.useState(!1),[ce,le]=X.useState(jn),[V,H]=X.useState(!1),[ue,de]=X.useState(!1),[U,fe]=X.useState(!1),pe=T===!1?null:T,[me,ge]=X.useState(!1),[_e,ve]=X.useState({overflow:`hidden`,scrollbarWidth:0}),ye=new Map,W=X.useRef(null),G=X.useRef(null),be={slots:S,slotProps:C},xe=()=>{let e=W.current,t;if(e){let n=e.getBoundingClientRect();t={clientWidth:e.clientWidth,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop,scrollWidth:e.scrollWidth,top:n.top,bottom:n.bottom,left:n.left,right:n.right}}let n;if(e&&T!==!1){let e=G.current.children;if(e.length>0){let t=e[ye.get(T)];n=t?t.getBoundingClientRect():null}}return{tabsMeta:t,tabMeta:n}},Se=E(()=>{let{tabsMeta:e,tabMeta:t}=xe(),n=0,r;N?(r=`top`,t&&e&&(n=t.top-e.top+e.scrollTop)):(r=i?`right`:`left`,t&&e&&(n=(i?-1:1)*(t[r]-e[r]+e.scrollLeft)));let a={[r]:n,[L]:t?t[L]:0};if(typeof ce[r]!=`number`||typeof ce[L]!=`number`)le(a);else{let e=Math.abs(ce[r]-a[r]),t=Math.abs(ce[L]-a[L]);(e>=1||t>=1)&&le(a)}}),Ce=(e,{animation:t=!0}={})=>{t&&!a.shouldReduceMotion?pn(P,W.current,e,{duration:r.transitions.duration.standard}):W.current[P]=e},we=e=>{let t=W.current[P];t+=N?e:e*(i?-1:1),Ce(t)},q=()=>{let e=W.current[I],t=0,n=Array.from(G.current.children);for(let r=0;r<n.length;r+=1){let i=n[r];if(t+i[I]>e){r===0&&(t=e);break}t+=i[I]}return t},Ee=()=>{we(-1*q())},De=()=>{we(q())},[Oe,{onChange:ke,...Ae}]=A(`scrollbar`,{className:K(z.scrollableX,z.hideScrollbar),elementType:An,shouldForwardComponentProp:!0,externalForwardedProps:be,ownerState:R}),je=X.useCallback(e=>{ke?.(e),ve({overflow:null,scrollbarWidth:e})},[ke]),[J,Me]=A(`scrollButtons`,{className:z.scrollButtons,elementType:Sn,externalForwardedProps:be,ownerState:R,additionalProps:{orientation:y,slots:{StartScrollButtonIcon:S.startScrollButtonIcon,EndScrollButtonIcon:S.endScrollButtonIcon},slotProps:{startScrollButtonIcon:ie,endScrollButtonIcon:ae}}}),Ne=()=>{let e={};e.scrollbarSizeListener=M?(0,Z.jsx)(Oe,{...Ae,onChange:je}):null;let t=M&&(b===`auto`&&(V||ue)||b===!0);return e.scrollButtonStart=t?(0,Z.jsx)(J,{direction:i?`right`:`left`,onClick:Ee,disabled:!V,...Me}):null,e.scrollButtonEnd=t?(0,Z.jsx)(J,{direction:i?`left`:`right`,onClick:De,disabled:!ue,...Me}):null,e},Pe=E(e=>{let{tabsMeta:t,tabMeta:n}=xe();if(n&&t){if(n[F]<t[F]){let r=t[P]+(n[F]-t[F]);Ce(r,{animation:e})}else if(n[re]>t[re]){let r=t[P]+(n[re]-t[re]);Ce(r,{animation:e})}}}),Ie=E(()=>{M&&b!==!1&&fe(!U)});X.useEffect(()=>{let e=O(()=>{W.current&&Se()}),t,n=n=>{n.forEach(e=>{e.removedNodes.forEach(e=>{t?.unobserve(e)}),e.addedNodes.forEach(e=>{t?.observe(e)})}),e(),Ie()},r=v(W.current);r.addEventListener(`resize`,e);let i;return typeof ResizeObserver<`u`&&(t=new ResizeObserver(e),Array.from(G.current.children).forEach(e=>{t.observe(e)})),typeof MutationObserver<`u`&&(i=new MutationObserver(n),i.observe(G.current,{childList:!0})),()=>{e.clear(),r.removeEventListener(`resize`,e),i?.disconnect(),t?.disconnect()}},[Se,Ie]),X.useEffect(()=>{let e=Array.from(G.current.children),t=e.length;if(typeof IntersectionObserver<`u`&&t>0&&M&&b!==!1){let n=e[0],r=e[t-1],i={root:W.current,threshold:.99},a=new IntersectionObserver(e=>{H(!e[0].isIntersecting)},i);a.observe(n);let o=new IntersectionObserver(e=>{de(!e[0].isIntersecting)},i);return o.observe(r),()=>{a.disconnect(),o.disconnect()}}},[M,b,U,u?.length]),X.useEffect(()=>{se(!0)},[]),X.useEffect(()=>{Se()}),X.useEffect(()=>{Pe(jn!==ce)},[Pe,ce]),X.useImperativeHandle(c,()=>({updateIndicator:Se,updateScrollButtons:Ie}),[Se,Ie]);let[Re,Be]=A(`indicator`,{className:z.indicator,elementType:kn,externalForwardedProps:be,ownerState:R,additionalProps:{style:ce}}),Ve=(0,Z.jsx)(Re,{...Be}),He=Le({activeItemId:me?void 0:pe,orientation:y,isRtl:i}),Ue=He.getContainerProps(),We=X.Children.toArray(u).filter(X.isValidElement).map((e,t)=>{let n=e.props.value===void 0?t:e.props.value;return ye.set(n,t),{child:e,index:t,childValue:n}}).map(({child:e,childValue:t})=>{let n=t===T;return X.cloneElement(e,{fullWidth:D===`fullWidth`,indicator:n&&!B&&Ve,selected:n,selectionFollowsFocus:x,onChange:_,textColor:w,value:t})}),Ge=Ne(),[Ke,Y]=A(`root`,{ref:t,className:K(z.root,d),elementType:En,externalForwardedProps:{...be,...ne,component:m},ownerState:R}),[qe,Je]=A(`scroller`,{ref:W,className:z.scroller,elementType:Dn,externalForwardedProps:be,ownerState:R,additionalProps:{style:{overflow:_e.overflow,[N?`margin${i?`Left`:`Right`}`:`marginBottom`]:k?void 0:-_e.scrollbarWidth}}}),Ye=f(Ue.ref,G),Xe=e=>{let t=G.current;p(j(t))?.getAttribute(`role`)===`tab`&&Ue.onKeyDown(e)},[Ze,Qe]=A(`list`,{ref:Ye,className:z.list,elementType:On,externalForwardedProps:be,ownerState:R,getSlotProps:e=>({...e,onBlur:t=>{ze(t.currentTarget,t.relatedTarget)||ge(!1),e.onBlur?.(t)},onKeyDown:t=>{Xe(t),e.onKeyDown?.(t)},onFocus:t=>{ge(!0),Ue.onFocus(t),e.onFocus?.(t)}})});return(0,Z.jsxs)(Ke,{...Y,children:[Ge.scrollButtonStart,Ge.scrollbarSizeListener,(0,Z.jsxs)(qe,{...Je,children:[(0,Z.jsx)(Ze,{"aria-label":o,"aria-labelledby":s,"aria-orientation":y===`vertical`?`vertical`:null,role:`tablist`,...Qe,children:(0,Z.jsx)(te.Provider,{value:He,children:We})}),B&&Ve]}),Ge.scrollButtonEnd]})});function Nn(e){return q(`MuiTab`,e)}var Pn=H(`MuiTab`,[`root`,`labelIcon`,`textColorInherit`,`textColorPrimary`,`textColorSecondary`,`selected`,`disabled`,`fullWidth`,`wrapped`,`icon`]),Fn=e=>{let{classes:t,textColor:n,fullWidth:r,wrapped:i,icon:a,label:o,selected:s,disabled:c}=e,l={root:[`root`,a&&o&&`labelIcon`,`textColor${_(n)}`,r&&`fullWidth`,i&&`wrapped`,s&&`selected`,c&&`disabled`],icon:[`icon`]};return ke(l,Nn,t)},In=F(_e,{name:`MuiTab`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${_(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${Pn.icon}`]:t.icon}]}})(g(({theme:e})=>({...e.typography.button,maxWidth:360,minWidth:90,position:`relative`,minHeight:48,flexShrink:0,padding:`12px 16px`,overflow:`hidden`,whiteSpace:`normal`,textAlign:`center`,lineHeight:1.25,...e.focusVisible&&z(3),variants:[{props:({ownerState:e})=>e.label&&(e.iconPosition===`top`||e.iconPosition===`bottom`),style:{flexDirection:`column`}},{props:({ownerState:e})=>e.label&&e.iconPosition!==`top`&&e.iconPosition!==`bottom`,style:{flexDirection:`row`}},{props:({ownerState:e})=>e.icon&&e.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`top`,style:{[`& > .${Pn.icon}`]:{marginBottom:6}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`bottom`,style:{[`& > .${Pn.icon}`]:{marginTop:6}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`start`,style:{[`& > .${Pn.icon}`]:{marginRight:e.spacing(1)}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`end`,style:{[`& > .${Pn.icon}`]:{marginLeft:e.spacing(1)}}},{props:{textColor:`inherit`},style:{color:`inherit`,opacity:.6,[`&.${Pn.selected}`]:{opacity:1},...e.focusVisible&&{[`&.${t.focusVisible}`]:{opacity:1}},[`&.${Pn.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}}},{props:{textColor:`primary`},style:{color:(e.vars||e).palette.text.secondary,[`&.${Pn.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Pn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:{textColor:`secondary`},style:{color:(e.vars||e).palette.text.secondary,[`&.${Pn.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Pn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:({ownerState:e})=>e.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:`none`}},{props:({ownerState:e})=>e.wrapped,style:{fontSize:e.typography.pxToRem(12)}}]}))),Ln=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTab`}),{className:r,disabled:a=!1,disableFocusRipple:o=!1,fullWidth:s,icon:c,iconPosition:l=`top`,indicator:u,label:d,onChange:f,onClick:p,onFocus:m,selected:h,selectionFollowsFocus:g,textColor:_=`inherit`,value:v,wrapped:y=!1,...b}=n,x=i(),S=ie({id:v,ref:t,disabled:a,selected:h}),C=x.getItemMap().size===0&&h?0:S.tabIndex,w={...n,disabled:a,disableFocusRipple:o,selected:h,icon:!!c,iconPosition:l,label:!!d,fullWidth:s,textColor:_,wrapped:y},T=Fn(w),E=c&&d&&X.isValidElement(c)?X.cloneElement(c,{className:K(T.icon,c.props.className)}):c;return(0,Z.jsxs)(In,{internalNativeButton:!0,focusRipple:!o,className:K(T.root,r),ref:S.ref,role:`tab`,"aria-selected":h,disabled:a,onClick:e=>{!h&&f&&f(e,v),p&&p(e)},onFocus:e=>{g&&!h&&f&&f(e,v),m&&m(e)},tabIndex:C,ownerState:w,...b,children:[l===`top`||l===`start`?(0,Z.jsxs)(X.Fragment,{children:[E,d]}):(0,Z.jsxs)(X.Fragment,{children:[d,E]}),u]})}),Rn=`<!-- octopus-revision -->`,zn=e=>String(e).padStart(2,`0`);function Bn(e){return`lab-lock-${`${e.getUTCFullYear()}${zn(e.getUTCMonth()+1)}${zn(e.getUTCDate())}T${zn(e.getUTCHours())}${zn(e.getUTCMinutes())}${zn(e.getUTCSeconds())}Z`}.md`}var Vn=y(Ne(),1),Hn=[{id:`page`,label:`Page`},{id:`labels`,label:`Labels`},{id:`lists`,label:`Lists`},{id:`assistant`,label:`Assistant`}],Un=[{id:`frame`,kind:`choice`,group:`page`,label:`Frame`,attr:`frame`,default:k,question:`Whether the plane fills the main area with no frame, as before the frame; is capped at the page's width and centred in the window; or fills the window with the page's content centred inside it, as Gmail does. Corner beside the assistant applies only under a frame.`,options:[{value:`full`,label:`Full`},{value:`capped`,label:`Capped`},{value:`stretch`,label:`Stretch`}]},{id:`planeCorner`,kind:`choice`,group:`page`,label:`Corner beside the assistant`,attr:`planeCorner`,default:a,question:`The page's top-right corner beside the open assistant. Square, meeting the pane with its shadow along the seam, as the sidebar does; or round, the page above the pane casting its own shadow off its right edge.`,options:[{value:`square`,label:`Square`},{value:`round`,label:`Round`}]},{id:`metaGlassOpacity`,kind:`slider`,group:`page`,label:`Meta field glass`,hook:`metaGlassOpacity`,min:0,max:100,step:5,unit:`%`,default:{light:parseFloat(ne.light),dark:parseFloat(ne.dark)},question:`How much of a raised card's fill a glass meta field takes (MetaField variant = glass): 0 is none, 100 the card. Each mode keeps its own value; the slider moves the one for the mode in view.`},{id:`metaPadY`,kind:`slider`,group:`page`,label:`Meta row padding`,hook:`metaPadY`,min:0,max:24,step:1,unit:`px`,default:0,question:`Padding above and below a subject page's row of facts (its meta slot: on a case, the summary strip). None as designed; Compact sets its own.`},{id:`tabsScrollFade`,kind:`slider`,group:`page`,label:`Fade under the tabs`,hook:`tabsScrollFade`,min:0,max:64,step:2,unit:`px`,default:parseFloat(n),question:`How far below the tab strip the page's content dissolves as it scrolls under. 0 cuts it at the seam, as before.`},{id:`railFoot`,kind:`slider`,group:`page`,label:`Rail foot`,hook:`railFoot`,min:0,max:32,step:1,unit:`px`,default:parseFloat(h),question:`The space under the rail's last item (the settings cog) down to the window's edge. It was 22px.`},{id:`bandGlassOpacity`,kind:`slider`,group:`page`,label:`Header band wash`,hook:`bandGlassOpacity`,min:0,max:1,step:.05,unit:``,default:{light:s.light.band.opacity,dark:s.dark.band.opacity},question:`How much of the page's ground tone a table header's band lays over what scrolls under it. Each mode keeps its own value; the slider moves the one for the mode in view.`},{id:`bandGlassBlur`,kind:`slider`,group:`page`,label:`Header band blur`,hook:`bandGlassBlur`,min:0,max:16,step:1,unit:`px`,default:s.light.band.blur,question:`How far a table header's band blurs what scrolls under it.`},{id:`themeFade`,kind:`slider`,group:`page`,label:`Switch fade`,hook:`appearanceFade`,min:0,max:1e3,step:50,unit:`ms`,default:parseFloat(ae),question:`How long a change of theme or mode crossfades, the whole page at once. 0 swaps it in a single frame.`}],Wn=[{id:`countStyle`,kind:`choice`,group:`labels`,label:`Count drawing`,attr:`countStyle`,default:Ie,question:`The figure beside a tab's or heading's label ("Analysis 9"): a tinted label, an outlined one, or the bare figure.`,options:[{value:`fill`,label:`Fill`},{value:`outline`,label:`Outline`},{value:`plain`,label:`Plain`}]},{id:`countRadius`,kind:`slider`,group:`labels`,label:`Count radius`,hook:`countRadius`,min:0,max:6,step:1,unit:``,default:D.kbd,question:`How rounded the count label's corners are, as a radius token before the radius scale. 6 is a full pill at its height; ${D.kbd} is the kbd radius it defaults to.`},{id:`chipRadius`,kind:`slider`,group:`labels`,label:`Chip radius`,hook:`chipRadius`,min:0,max:16,step:1,unit:`px`,default:16,question:`How rounded a chip's corners are. 14px and up is a full pill on a medium chip (11px on a small one); 4px is a tag.`},{id:`chipPadX`,kind:`slider`,group:`labels`,label:`Chip padding`,hook:`chipPadX`,min:2,max:20,step:1,unit:`px`,default:parseFloat(Re.medium),question:`The space either side of a medium chip's label. MUI's 12px.`},{id:`chipPadXSmall`,kind:`slider`,group:`labels`,label:`Chip padding, small`,hook:`chipPadXSmall`,min:2,max:16,step:1,unit:`px`,default:parseFloat(Re.small),question:`The space either side of a small chip's label: tables, filters, counts beside tabs. MUI's 8px.`},{id:`chipPadY`,kind:`slider`,group:`labels`,label:`Chip padding, vertical`,hook:`chipPadY`,min:0,max:10,step:1,unit:`px`,default:d.medium,question:`The space above and below a medium chip's label, which sets its height: 4px is the 28px it has always been.`},{id:`chipPadYSmall`,kind:`slider`,group:`labels`,label:`Chip padding, vertical, small`,hook:`chipPadYSmall`,min:0,max:8,step:1,unit:`px`,default:d.small,question:`The same for a small chip: 3px is its 22px.`}],Gn=[{id:`rowIconGap`,kind:`slider`,group:`lists`,label:`Row icon gap`,hook:`rowIconGap`,min:0,max:20,step:1,unit:`px`,default:8,question:`The space between a row's icon (the settings cog, the agent) and its label. Investigations drew about 18px.`},{id:`rowIconSize`,kind:`slider`,group:`lists`,label:`Row icon size`,hook:`rowIconSize`,min:12,max:24,step:1,unit:`px`,default:parseFloat(l),question:`How big a row's icon is beside its 14px label. Investigations drew 20px.`}],Kn=[{id:`seamBlur`,kind:`slider`,group:`assistant`,label:`Seam shadow blur`,hook:`seamBlur`,min:0,max:40,step:1,unit:`px`,default:parseFloat(x.blur),question:`The shadow the plane casts onto the assistant's pane along their seam: how far it spreads. It was 12px.`},{id:`seamStrength`,kind:`slider`,group:`assistant`,label:`Seam shadow strength`,hook:`seamStrength`,min:0,max:2,step:.05,unit:``,default:1,question:`How dark that shadow is, as a share of the designed opacity (0.14 in light, 0.5 in dark; light was 0.18). It falls over the pane's content, the assistant's header rule included.`},{id:`assistantScrollFade`,kind:`slider`,group:`assistant`,label:`Conversation fade`,hook:`assistantScrollFade`,min:0,max:48,step:2,unit:`px`,default:parseFloat(ge),question:`How far the conversation dissolves at its top and bottom edges, under the header and above the composer. 0 cuts it.`}],qn=[...Un,...Wn,...Gn,...Kn],Jn={width:340,height:640},Yn=`This browser can't open a Picture-in-Picture window.`;function Xn(e=globalThis){return`documentPictureInPicture`in e}function Zn(e=globalThis){let t=e.documentPictureInPicture;return t?t.requestWindow(Jn):Promise.reject(Error(Yn))}function Qn(e,t){let n=t.join(` `).toLowerCase();return e.toLowerCase().split(/\s+/).filter(Boolean).every(e=>n.includes(e))}function $n(e){let t=Hn.find(t=>t.id===e.group)?.label,n=e.kind===`choice`?e.options.map(e=>e.label):[];return[e.label,e.question,e.id,t,...n]}function er(e){let t=e.options.flatMap(e=>[e.label,e.description]);return[e.title,e.id,e.group,e.description,...t]}function tr(e){let t=e,n=new Set;return{get:()=>t,set(e){t=typeof e==`function`?e(t):e;for(let e of[...n])e()},subscribe(e){return n.add(e),()=>{n.delete(e)}}}}function nr(e,t){return(0,X.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var rr=`aistrike.lab`,ir=[`light`,`dark`],ar=`data-ds-mode`;function or(e){return e.kind===`slider`&&typeof e.default==`object`}function sr(e,t){if(!or(e))return e.id;if(t===void 0)throw Error(`The lab control ${e.id} holds a value per mode; name the mode`);return`${e.id}.${t}`}function cr(e){return e.getAttribute(ar)===`light`?`light`:`dark`}function lr(e){if(e.kind===`slider`&&typeof e.default==`object`){let t=e.default;return ir.map(n=>({key:sr(e,n),fallback:t[n]}))}return[{key:e.id,fallback:e.default}]}function ur(e,t){return e.kind===`slider`&&typeof e.default==`object`?e.default[t]:e.default}function dr(e){return Object.fromEntries(e.flatMap(lr).map(({key:e,fallback:t})=>[e,t]))}function fr(e,t){return e.kind===`slider`?typeof t==`number`&&Number.isFinite(t)&&t>=e.min&&t<=e.max:typeof t==`string`&&e.options.some(e=>e.value===t)}function pr(e,t){let n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};return Object.fromEntries(t.flatMap(e=>lr(e).map(({key:t,fallback:r})=>{let i=n[t];return[t,fr(e,i)?i:r]})))}function mr(e,t=localStorage){try{return pr(JSON.parse(t.getItem(`aistrike.lab`)??`null`),e)}catch{return dr(e)}}function hr(e,t=localStorage){try{t.setItem(rr,JSON.stringify(e))}catch{}}function gr(e,t,n=document.documentElement,r=cr(n)){for(let i of t)if(i.kind===`choice`)i.attr!==void 0&&n.setAttribute(ve[i.attr],String(e[i.id]??i.default));else if(i.hook!==void 0){let t=T[i.hook],a=ur(i,r),o=e[sr(i,r)]??a;o===a?n.style.removeProperty(t):n.style.setProperty(t,`${o}${i.kind===`slider`?i.unit:``}`)}}function _r(e,t=document.documentElement){for(let n of e)n.kind===`choice`?n.attr!==void 0&&t.removeAttribute(ve[n.attr]):n.hook!==void 0&&t.style.removeProperty(T[n.hook])}var vr=(e,t)=>{if(typeof MutationObserver>`u`||typeof Node>`u`||!(e instanceof Node))return()=>void 0;let n=new MutationObserver(t);return n.observe(e,{attributes:!0,attributeFilter:[ar]}),()=>{n.disconnect()}};function yr(e){let{controls:t}=e,n=e.root??document.documentElement,r=e.storage??localStorage,i=e.experiments??Ae(),a=new Map(t.map(e=>[e.id,e])),o=tr(mr(t,r)),s=i.isPaused(),c=e=>{s?_r(t,n):gr(e,t,n)};c(o.get());let l=e=>{c(e),hr(e,r),o.set(e)},u=(e.observeMode??vr)(n,()=>{c(o.get()),o.set({...o.get()})}),d=i.subscribe(()=>{i.isPaused()!==s&&(s=i.isPaused(),c(o.get()))}),f=()=>{u(),d()};return{store:o,set(e,t,r){let i=a.get(e);i===void 0||!fr(i,t)||l({...o.get(),[sr(i,r??cr(n))]:t})},replace(e){l(pr(e,t))},reset(){l(dr(t))},dispose(){f()}}}var br=`docs/decisions/2026-10-21-design-lab-in-octopus.md`,xr=[`light`,`dark`],Sr=(e,t)=>`${t}${e.kind===`slider`?e.unit:``}`;function Cr(e){return e.kind===`choice`?e.attr===void 0?`—`:ve[e.attr]:e.hook===void 0?`—`:T[e.hook]}function wr(e,t,n){return t.filter(e=>n.includes(e.id)).flatMap(t=>{let n=(n,r)=>{let i=sr(t,n??void 0);return{id:t.id,label:t.label,hook:Cr(t),mode:n,old:Sr(t,r),next:Sr(t,e[i]??r)}};if(t.kind===`slider`&&typeof t.default==`object`&&or(t)){let e=t.default;return xr.map(t=>n(t,e[t]))}return[n(null,t.default)]})}function Tr({rows:e,url:t,host:n,version:r,lockedAt:i}){let a=[...new Set(e.map(e=>e.id))],o=i.toISOString(),s=e.map(e=>`| ${e.id} | ${e.hook} | ${e.mode??`—`} | ${e.old} | ${e.next} |`);return[`---`,`status: new`,`type: background`,`title: Promote lab lock ${o.slice(0,16)}Z`,`summary: Settle ${a.length} lab controls: ${a.join(`, `)}`,`depends:`,`groomed:`,`worktree:`,`dev:`,`---`,``,`## Request`,``,`Design Lab lock from ${t} (${n}), judged against @aistrike-dev/ui ${r}${Rn}, ${o}.`,``,`| Control | Hook | Mode | Old | New |`,`| --- | --- | --- | --- | --- |`,...s,``,`Promote: set each control's Octopus default to New; remove the control from the lab; remove its hook from`,"`DS_HOOKS` and every read of it (the value becomes the constant); record the decision in",`${br}. Leave the change uncommitted.`,``,`## Clarifications`,``,`## Progress`,``].join(`
1
+ import{$ as e,A as t,At as n,B as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,F as u,Ft as d,G as f,H as p,I as m,It as h,J as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as ee,R as O,S as te,St as k,T as A,Tt as ne,U as j,V as M,W as N,X as P,Y as F,Z as re,_ as I,_t as L,a as R,at as z,b as ie,bt as ae,c as B,ct as oe,d as se,dt as ce,et as le,f as V,ft as H,g as ue,gt as de,h as U,ht as fe,i as pe,it as me,j as he,jt as ge,k as _e,kt as ve,l as ye,lt as W,m as G,mt as K,n as be,nt as xe,o as Se,ot as Ce,p as we,pt as q,q as Te,r as Ee,rt as De,s as Oe,st as ke,t as Ae,tt as je,u as J,ut as Me,v as Ne,vt as Pe,w as Fe,wt as Ie,x as Le,xt as Re,y as ze,yt as Be,z as Ve}from"./index-Bm6IWtZi.js";function He(e){return q(`MuiCheckbox`,e)}var Ue=H(`MuiCheckbox`,[`root`,`checked`,`disabled`,`indeterminate`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`]);function We(e){return q(`MuiFormControlLabel`,e)}var Ge=H(`MuiFormControlLabel`,[`root`,`labelPlacementStart`,`labelPlacementEnd`,`labelPlacementTop`,`labelPlacementBottom`,`disabled`,`label`,`error`,`required`,`asterisk`]);function Ke(e){return q(`MuiSlider`,e)}var Y=H(`MuiSlider`,`root.active.colorPrimary.colorSecondary.colorError.colorInfo.colorSuccess.colorWarning.disabled.dragging.focusVisible.mark.markActive.marked.markLabel.markLabelActive.rail.sizeSmall.thumb.track.trackInverted.trackFalse.valueLabel.valueLabelOpen.valueLabelCircle.valueLabelLabel.vertical`.split(`.`));function qe(e){return q(`MuiToggleButton`,e)}var Je=H(`MuiToggleButton`,[`root`,`disabled`,`selected`,`standard`,`primary`,`secondary`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`fullWidth`]);function Ye(e){return q(`PrivateSwitchBase`,e)}H(`PrivateSwitchBase`,[`root`,`checked`,`disabled`,`input`,`edgeStart`,`edgeEnd`]);var X=y(Be(),1),Z=fe(),Xe=e=>{let{classes:t,checked:n,disabled:r,edge:i}=e,a={root:[`root`,n&&`checked`,r&&`disabled`,i&&`edge${_(i)}`],input:[`input`]};return ke(a,Ye,t)},Ze=F(_e,{name:`MuiSwitchBase`})({padding:9,borderRadius:`50%`,variants:[{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e===`start`&&t.size!==`small`,style:{marginLeft:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e===`end`&&t.size!==`small`,style:{marginRight:-12}}]}),Qe=F(`input`,{name:`MuiSwitchBase`,shouldForwardProp:P})({cursor:`inherit`,position:`absolute`,opacity:0,width:`100%`,height:`100%`,top:0,left:0,margin:0,padding:0,zIndex:1}),$e=X.forwardRef(function(t,n){let{autoFocus:r,checked:i,checkedIcon:a,defaultChecked:o,disabled:s,disableFocusRipple:c=!1,edge:l=!1,icon:d,id:f,name:p,onBlur:m,onChange:h,onFocus:g,readOnly:_,required:v=!1,tabIndex:y,type:b,value:x,slots:S={},slotProps:C={},...w}=t,{nativeButton:T,...E}=w,[D,ee]=u({controlled:i,default:!!o,name:`SwitchBase`,state:`checked`}),O=e(),te=e=>{g&&g(e),O&&O.onFocus&&O.onFocus(e)},k=e=>{m&&m(e),O&&O.onBlur&&O.onBlur(e)},ne=e=>{if(e.nativeEvent.defaultPrevented||_)return;let t=e.target.checked;ee(t),h&&h(e,t)},j=s;O&&j===void 0&&(j=O.disabled);let M=b===`checkbox`||b===`radio`,N={...t,checked:D,disabled:j,disableFocusRipple:c,edge:l},P=Xe(N),F={slots:S,slotProps:C},[re,I]=A(`root`,{ref:n,elementType:Ze,className:P.root,shouldForwardComponentProp:!0,externalForwardedProps:{...F,component:`span`,...E},getSlotProps:e=>({...e,onFocus:t=>{e.onFocus?.(t),te(t)},onBlur:t=>{e.onBlur?.(t),k(t)}}),ownerState:N,additionalProps:{centerRipple:!0,focusRipple:!c,role:void 0,tabIndex:null,internalDisabledThemeFocusVisible:!0}}),[L,R]=A(`input`,{elementType:Qe,className:P.input,externalForwardedProps:F,getSlotProps:e=>({...e,onChange:t=>{e.onChange?.(t),ne(t)}}),ownerState:N,additionalProps:{autoFocus:r,checked:i,defaultChecked:o,disabled:j,id:M?f:void 0,name:p,readOnly:_,required:v,tabIndex:y,type:b,...b===`checkbox`&&x===void 0?{}:{value:x}}});return(0,Z.jsxs)(re,{...I,children:[(0,Z.jsx)(L,{...R}),D?a:d]})}),et=Ve((0,Z.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`}),`CheckBoxOutlineBlank`),tt=Ve((0,Z.jsx)(`path`,{d:`M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`}),`CheckBox`),nt=Ve((0,Z.jsx)(`path`,{d:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z`}),`IndeterminateCheckBox`),rt=e=>{let{classes:t,indeterminate:n,color:r,size:i}=e,a={root:[`root`,n&&`indeterminate`,`color${_(r)}`,`size${_(i)}`]},o=ke(a,He,t);return{...t,...o}},it=F($e,{shouldForwardProp:e=>P(e)||e===`classes`,name:`MuiCheckbox`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${_(n.size)}`],n.color!=="default"&&t[`color${_(n.color)}`]]}})(g(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.focusVisible&&{[`&.${t.focusVisible} svg:first-of-type`]:{...Ce,borderRadius:(e.vars||e).shape.borderRadius,...e.focusVisible}},variants:[{props:{color:`default`,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{[`&.${Ue.checked}, &.${Ue.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Ue.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]}))),at=(0,Z.jsx)(tt,{}),ot=(0,Z.jsx)(et,{}),st=(0,Z.jsx)(nt,{}),ct=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiCheckbox`}),{checkedIcon:r=at,color:i=`primary`,icon:a=ot,indeterminate:o=!1,indeterminateIcon:s=st,size:c=`medium`,disableRipple:l=!1,className:u,slots:d={},slotProps:f={},...p}=n,m=o?s:a,h=o?s:r,g={...n,disableRipple:l,color:i,indeterminate:o,size:c},_=rt(g),v=f.input,[y,b]=A(`root`,{ref:t,elementType:it,className:K(_.root,u),shouldForwardComponentProp:!0,externalForwardedProps:{slots:d,slotProps:f,...p},ownerState:g,additionalProps:{type:`checkbox`,icon:X.cloneElement(m,{fontSize:m.props.fontSize??c}),checkedIcon:X.cloneElement(h,{fontSize:h.props.fontSize??c}),disableRipple:n.disableRipple,slots:d,slotProps:{input:S(typeof v==`function`?v(g):v,{"data-indeterminate":o,"aria-checked":o?`mixed`:void 0})}}});return(0,Z.jsx)(y,{...b,classes:_})});function lt(e){return q(`MuiSwitch`,e)}var Q=H(`MuiSwitch`,[`root`,`edgeStart`,`edgeEnd`,`switchBase`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`,`checked`,`disabled`,`input`,`thumb`,`track`]),ut=e=>{let{classes:t,edge:n,size:r,color:i,checked:a,disabled:o}=e,s={root:[`root`,n&&`edge${_(n)}`,`size${_(r)}`],switchBase:[`switchBase`,`color${_(i)}`,a&&`checked`,o&&`disabled`],thumb:[`thumb`],track:[`track`],input:[`input`]},c=ke(s,lt,t);return{...t,...c}},dt=F(`span`,{name:`MuiSwitch`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.edge&&t[`edge${_(n.edge)}`],t[`size${_(n.size)}`]]}})({display:`inline-flex`,width:58,height:38,overflow:`hidden`,padding:12,boxSizing:`border-box`,position:`relative`,flexShrink:0,zIndex:0,verticalAlign:`middle`,"@media print":{colorAdjust:`exact`},variants:[{props:{edge:`start`},style:{marginLeft:-8}},{props:{edge:`end`},style:{marginRight:-8}},{props:{size:`small`},style:{width:40,height:24,padding:7,[`& .${Q.thumb}`]:{width:16,height:16},[`& .${Q.switchBase}`]:{padding:4,[`&.${Q.checked}`]:{transform:`translateX(16px)`}}}}]}),ft=F($e,{name:`MuiSwitch`,slot:`SwitchBase`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.switchBase,{[`& .${Q.input}`]:t.input},n.color!=="default"&&t[`color${_(n.color)}`]]}})(g(({theme:e})=>({position:`absolute`,top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode===`light`?e.palette.common.white:e.palette.grey[300]}`,...M(e,[`left`,`transform`],{duration:e.transitions.duration.shortest}),[`&.${Q.checked}`]:{transform:`translateX(20px)`},[`&.${Q.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode===`light`?e.palette.grey[100]:e.palette.grey[600]}`},...e.focusVisible?{[`&.${t.focusVisible} ~ .${Q.track}`]:{...Ce,...e.focusVisible},[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,.5)},[`&.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)}}:{[`&.${Q.checked} + .${Q.track}`]:{opacity:.5},[`&.${Q.disabled} + .${Q.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`}},[`& .${Q.input}`]:{left:`-100%`,width:`300%`}})),g(({theme:e})=>({"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},variants:[...Object.entries(e.palette).filter(w([`light`])).map(([t])=>({props:{color:t},style:{[`&.${Q.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},[`&.${Q.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode===`light`?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.55)}`}},[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:(e.vars||e).palette[t].main},...e.focusVisible&&{[`&.${Q.checked} + .${Q.track}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,.5)},[`&.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)},[`&.${Q.checked}.${Q.disabled} + .${Q.track}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`)}}}}))]}))),pt=F(`span`,{name:`MuiSwitch`,slot:`Track`})(g(({theme:e})=>({height:`100%`,width:`100%`,borderRadius:7,zIndex:-1,...M(e,[`opacity`,`background-color`],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{boxSizing:`border-box`,border:`1px solid ButtonBorder`},...e.focusVisible?{backgroundColor:e.alpha(e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,e.vars?e.vars.opacity.switchTrack:`${e.palette.mode===`light`?.38:.3}`)}:{backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode===`light`?.38:.3}`}}))),mt=F(`span`,{name:`MuiSwitch`,slot:`Thumb`})(g(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:`currentColor`,boxSizing:`border-box`,border:`1px solid transparent`,width:20,height:20,borderRadius:`50%`}))),ht=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiSwitch`}),{className:r,color:i=`primary`,edge:a=!1,size:o=`medium`,sx:s,slots:c={},slotProps:l={},...u}=n,d={...n,color:i,edge:a,size:o},f=ut(d),p=l.input,m={slots:c,slotProps:l},[h,g]=A(`root`,{className:K(f.root,r),elementType:dt,externalForwardedProps:m,ownerState:d,additionalProps:{sx:s}}),[_,v]=A(`thumb`,{className:f.thumb,elementType:mt,externalForwardedProps:m,ownerState:d}),y=(0,Z.jsx)(_,{...v}),[b,x]=A(`track`,{className:f.track,elementType:pt,externalForwardedProps:m,ownerState:d});return(0,Z.jsxs)(h,{...g,children:[(0,Z.jsx)(ft,{type:`checkbox`,icon:y,checkedIcon:y,ref:t,ownerState:d,...u,classes:{...f,root:f.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...l.switchBase&&{root:typeof l.switchBase==`function`?l.switchBase(d):l.switchBase},input:S(typeof p==`function`?p(d):p,{role:`switch`})}}),(0,Z.jsx)(b,{...x})]})}),gt={border:0,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`};function _t(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}var vt=2,yt=[],bt={};function xt(e,t,n,r,i){return n===1?Math.min(e+t,i):Math.max(e-t,r)}function St(e,t){return e-t}function Ct(e,t,n=-1){let{index:r}=e.reduce((e,n,r)=>{let i=Math.abs(t-n);return e==null||i<=e.distance?{distance:i,index:r}:e},null)??bt;return r==null?r:n>=0&&e[n]===e[r]?n:r}function wt(e,t){if(t.current!=null&&e.changedTouches){let n=e;for(let e=0;e<n.changedTouches.length;e+=1){let r=n.changedTouches[e];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return!1}return{x:e.clientX,y:e.clientY}}function Tt(e,t,n){return(e-t)*100/(n-t)}function Et(e,t,n){return(n-t)*e+t}function Dt(e){if(Math.abs(e)<1){let t=e.toExponential().split(`e-`),n=t[0].split(`.`)[1];return(n?n.length:0)+parseInt(t[1],10)}let t=e.toString().split(`.`)[1];return t?t.length:0}function Ot(e,t,n){let r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(Dt(t)))}function kt(e,t,n){let r=e.slice();return r[n]=t,r.sort(St)}function At(e,t,n,r){let i=je(e.current),a=p(i);if(!ze(e.current,a)||Number(a?.getAttribute(`data-index`))!==t){let n=e.current?.querySelector(`[type="range"][data-index="${t}"]`);n!=null&&(r==null?n.focus({preventScroll:!0}):n.focus({preventScroll:!0,focusVisible:r}))}n&&n(t)}function jt(e,t){return typeof e==`number`&&typeof t==`number`?e===t:typeof e==`object`&&typeof t==`object`&&_t(e,t)}var Mt={horizontal:{offset:e=>({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},Nt=e=>e;function Pt(e){let{"aria-labelledby":t,defaultValue:n,disabled:r=!1,disableSwap:i=!1,isRtl:a=!1,marks:o=!1,max:s=100,min:l=0,name:u,onChange:d,onChangeCommitted:f,orientation:h=`horizontal`,rootRef:g,scale:_=Nt,step:v=1,shiftStep:y=10,tabIndex:x,value:S}=e,C=X.useRef(void 0),w=X.useRef(null),[T,E]=X.useState(-1),[D,ee]=X.useState(-1),[O,te]=X.useState(!1),k=X.useRef(0),A=X.useRef(-1),ne=X.useRef(!1),j=X.useRef(-1),M=xe(()=>{w.current!=null&&(cancelAnimationFrame(w.current),w.current=null)}),N=X.useRef(null),[P,F]=m({controlled:S,default:n??l,name:`Slider`}),re=xe((e,t,n)=>{let r=`nativeEvent`in e?e.nativeEvent:e,i=new r.constructor(r.type,r);Object.defineProperty(i,"target",{writable:!0,value:{value:t,name:u}}),N.current=t,d?.(i,t,n)}),I=Array.isArray(P),L=X.useMemo(()=>{if(typeof P==`number`)return[W(P,l,s)];if(P==null)return[l];let e=P.slice().sort(St);for(let t=0;t<e.length;t+=1){let n=e[t];e[t]=n==null?l:W(n,l,s)}return e},[P,l,s]),R=X.useMemo(()=>{if(o===!0&&v!=null){let e=Array(Math.floor((s-l)/v)+1);for(let t=0;t<e.length;t+=1)e[t]={value:l+v*t};return e}return Array.isArray(o)?o:yt},[o,v,l,s]),z=X.useMemo(()=>{let e=Array(R.length);for(let t=0;t<R.length;t+=1)e[t]=R[t].value;return e},[R]),[ie,ae]=X.useState(-1),B=X.useRef(null),oe=De(g,B),se=e=>t=>{let n=Number(t.currentTarget.getAttribute(`data-index`));b(t.target)&&ae(n),ee(n),e?.onFocus?.(t)},ce=e=>t=>{b(t.target)||ae(-1),ee(-1),e?.onBlur?.(t)},le=(e,t)=>{let n=Number(e.currentTarget.getAttribute(`data-index`)),r=L[n],a=z.indexOf(r),o=t;if(R&&v==null){let e=z[z.length-1];o=o>=e?e:o<=z[0]?z[0]:o<r?z[a-1]:z[a+1]}if(o=W(o,l,s),I){i&&(o=W(o,L[n-1]||-1/0,L[n+1]||1/0));let e=o;o=kt(L,o,n);let t=n;i||(t=o.indexOf(e)),At(B,t)}F(o),ae(n),d&&!jt(o,P)&&re(e,o,n),f&&f(e,N.current??o)},V=e=>t=>{if([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`].includes(t.key)){t.preventDefault();let e=Number(t.currentTarget.getAttribute(`data-index`)),n=L[e],r=null;if(v!=null){let e=t.shiftKey?y:v;switch(t.key){case`ArrowUp`:r=xt(n,e,1,l,s);break;case`ArrowRight`:r=xt(n,e,a?-1:1,l,s);break;case`ArrowDown`:r=xt(n,e,-1,l,s);break;case`ArrowLeft`:r=xt(n,e,a?1:-1,l,s);break;case`PageUp`:r=xt(n,y,1,l,s);break;case`PageDown`:r=xt(n,y,-1,l,s);break;case`Home`:r=l;break;case`End`:r=s}}else if(R){let e=z[z.length-1],i=z.indexOf(n),o=[a?`ArrowRight`:`ArrowLeft`,`ArrowDown`,`PageDown`,`Home`],s=[a?`ArrowLeft`:`ArrowRight`,`ArrowUp`,`PageUp`,`End`];o.includes(t.key)?r=i===0?z[0]:z[i-1]:s.includes(t.key)&&(r=i===z.length-1?e:z[i+1])}r!=null&&le(t,r)}e?.onKeyDown?.(t)};Me(()=>{let e=p(je(B.current));r&&ze(B.current,e)&&e!=null&&`blur`in e&&e.blur()},[r]),r&&T!==-1&&E(-1),r&&ie!==-1&&ae(-1);let H=e=>t=>{e.onChange?.(t),le(t,t.currentTarget.valueAsNumber)},ue=X.useRef(void 0),de=h;a&&h===`horizontal`&&(de+=`-reverse`);let U=e=>{let{current:t}=B;if(!t)return null;let{width:n,height:r,bottom:a,left:o}=t.getBoundingClientRect(),c;c=de.startsWith(`vertical`)?(a-e.y)/r:(e.x-o)/n,de.includes(`-reverse`)&&(c=1-c);let u;if(u=Et(c,l,s),v)u=Ot(u,v,l);else{let e=Ct(z,u);u=z[e]}u=W(u,l,s);let d=0;if(I){let e=ue.current!==-1;d=e?ue.current:Ct(L,u,A.current),i&&(u=W(u,L[d-1]||-1/0,L[d+1]||1/0));let t=u;u=kt(L,u,d),i&&e||(d=u.indexOf(t),ue.current=d)}return{newValue:u,activeIndex:d}},fe=xe(e=>{if(`pointerId`in e&&e.pointerId!==j.current)return;let t=wt(e,C);if(!t)return;if(k.current+=1,e.type===`pointermove`&&e.buttons===0){pe(e);return}let n=U(t);n&&(At(B,n.activeIndex,E,!1),A.current=n.activeIndex,F(n.newValue),!O&&k.current>vt&&te(!0),d&&!jt(n.newValue,P)&&re(e,n.newValue,n.activeIndex))}),pe=xe(e=>{if(`pointerId`in e&&e.pointerId!==j.current)return;let t=wt(e,C);if(te(!1),!t)return;let n=U(t);E(-1),e.type===`touchend`&&ee(-1),n&&f&&f(e,N.current??n.newValue),`pointerType`in e&&B.current?.hasPointerCapture(e.pointerId)&&B.current.releasePointerCapture(e.pointerId),C.current=void 0,j.current=-1,he()}),me=xe(e=>{if(r)return;if(ne.current){ne.current=!1;let t=e.changedTouches[0];t!=null&&(C.current=t.identifier);return}let t=e.changedTouches[0];t!=null&&(C.current=t.identifier);let n=wt(e,C);if(n!==!1){ue.current=-1;let t=U(n);t&&(At(B,t.activeIndex,E,!1),A.current=t.activeIndex,F(t.newValue),d&&!jt(t.newValue,P)&&re(e,t.newValue,t.activeIndex))}k.current=0;let i=je(B.current);i.addEventListener(`touchmove`,fe,{passive:!0}),i.addEventListener(`touchend`,pe,{passive:!0})}),he=X.useCallback(()=>{let e=je(B.current);e.removeEventListener(`pointermove`,fe),e.removeEventListener(`pointerup`,pe),e.removeEventListener(`touchmove`,fe),e.removeEventListener(`touchend`,pe)},[pe,fe]);X.useEffect(()=>{let e=B.current;if(e)return e.addEventListener(`touchstart`,me,{passive:!0}),()=>{e.removeEventListener(`touchstart`,me),M(),he()}},[he,me,M]),X.useEffect(()=>{r&&(he(),M())},[r,he,M]);let ge=e=>t=>{if(e.onPointerDown?.(t),t.pointerType===`touch`&&(ne.current=!0),r||t.defaultPrevented||t.button!==0)return;let n=wt(t,C);if(n!==!1){ue.current=-1;let e=U(n);if(e){let n=B.current?.querySelector(`input[type="range"][data-index="${e.activeIndex}"]`),r=je(B.current),i=n!=null&&n===p(r);E(e.activeIndex),A.current=e.activeIndex,i?t.preventDefault():(M(),w.current=requestAnimationFrame(()=>{w.current=null,At(B,e.activeIndex,void 0,!1)})),F(e.newValue),d&&!jt(e.newValue,P)&&re(t,e.newValue,e.activeIndex)}}k.current=0,j.current=t.pointerId;let i=je(B.current);try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}i.addEventListener(`pointermove`,fe,{passive:!0}),i.addEventListener(`pointerup`,pe)},_e=Tt(I?L[0]:l,l,s),ve=Tt(L[L.length-1],l,s)-_e,ye=(e=bt)=>{let t=c(e),n={onPointerDown:ge(t)},r={...t,...n};return{...e,ref:oe,...r}},G=e=>t=>{e.onMouseOver?.(t);let n=Number(t.currentTarget.getAttribute(`data-index`));ee(n)},K=e=>t=>{e.onMouseLeave?.(t),ee(-1)},be=(e=bt)=>{let t=c(e),n={onMouseOver:G(t),onMouseLeave:K(t)};return{...e,...t,...n}},Se=e=>{let t;return I?T===e?t=2:A.current===e&&(t=1):T===e&&(t=1),{pointerEvents:T!==-1&&T!==e?`none`:void 0,zIndex:t}},Ce;return h===`vertical`&&(Ce=a?`vertical-rl`:`vertical-lr`),{active:T,axis:de,axisProps:Mt,dragging:O,focusedThumbIndex:ie,getHiddenInputProps:(n=bt)=>{let i=c(n),o={onChange:H(i),onFocus:se(i),onBlur:ce(i),onKeyDown:V(i)},d={...i,...o};return{tabIndex:x,"aria-labelledby":t,"aria-orientation":h,"aria-valuemax":_(s),"aria-valuemin":_(l),name:u,type:`range`,min:e.min,max:e.max,step:e.step===null&&e.marks?`any`:e.step??void 0,disabled:r,...n,...d,style:{...gt,direction:a?`rtl`:`ltr`,width:`100%`,height:`100%`,writingMode:Ce}}},getRootProps:ye,getThumbProps:be,marks:R,open:D,range:I,rootRef:oe,trackLeap:ve,trackOffset:_e,values:L,getThumbStyle:Se}}var Ft=e=>{let{open:t}=e;return{offset:K(t&&Y.valueLabelOpen),circle:Y.valueLabelCircle,label:Y.valueLabelLabel}};function It(e){let{children:t,className:n,value:r}=e,i=Ft(e);return t?X.cloneElement(t,{className:t.props.className},(0,Z.jsxs)(X.Fragment,{children:[t.props.children,(0,Z.jsx)(`span`,{className:K(i.offset,n),"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:i.circle,children:(0,Z.jsx)(`span`,{className:i.label,children:r})})})]})):null}function Lt(e){return e}var Rt=F(`span`,{name:`MuiSlider`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`color${_(n.color)}`],n.size!==`medium`&&t[`size${_(n.size)}`],n.marked&&t.marked,n.orientation===`vertical`&&t.vertical,n.track===`inverted`&&t.trackInverted,n.track===!1&&t.trackFalse]}})(g(({theme:e})=>({borderRadius:12,boxSizing:`content-box`,display:`inline-block`,position:`relative`,cursor:`pointer`,touchAction:`none`,WebkitTapHighlightColor:`transparent`,"@media print":{colorAdjust:`exact`},[`&.${Y.disabled}`]:{pointerEvents:`none`,cursor:`default`,color:(e.vars||e).palette.grey[400]},[`&.${Y.dragging}`]:{[`& .${Y.thumb}, & .${Y.track}`]:{transition:`none`}},variants:[...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),{props:{orientation:`horizontal`},style:{height:4,width:`100%`,padding:`13px 0`,"@media (pointer: coarse)":{padding:`20px 0`}}},{props:{orientation:`horizontal`,size:`small`},style:{height:2}},{props:{orientation:`horizontal`,marked:!0},style:{marginBottom:20}},{props:{orientation:`vertical`},style:{height:`100%`,width:4,padding:`0 13px`,"@media (pointer: coarse)":{padding:`0 20px`}}},{props:{orientation:`vertical`,size:`small`},style:{width:2}},{props:{orientation:`vertical`,marked:!0},style:{marginRight:44}}]}))),zt=F(`span`,{name:`MuiSlider`,slot:`Rail`})({display:`block`,position:`absolute`,borderRadius:`inherit`,backgroundColor:`currentColor`,opacity:.38,"@media (forced-colors: active)":{border:`1px solid transparent`,boxSizing:`border-box`},variants:[{props:{orientation:`horizontal`},style:{width:`100%`,height:`inherit`,top:`50%`,transform:`translateY(-50%)`}},{props:{orientation:`vertical`},style:{height:`100%`,width:`inherit`,left:`50%`,transform:`translateX(-50%)`}},{props:{track:`inverted`},style:{opacity:1}}]}),Bt=F(`span`,{name:`MuiSlider`,slot:`Track`})(g(({theme:e})=>({display:`block`,position:`absolute`,borderRadius:`inherit`,border:`1px solid currentColor`,backgroundColor:`currentColor`,...M(e,[`left`,`width`,`bottom`,`height`],{duration:e.transitions.duration.shortest}),variants:[{props:{size:`small`},style:{"@media (forced-colors: none)":{border:`none`}}},{props:{orientation:`horizontal`},style:{height:`inherit`,top:`50%`,transform:`translateY(-50%)`}},{props:{orientation:`vertical`},style:{width:`inherit`,left:`50%`,transform:`translateX(-50%)`}},{props:{track:!1},style:{display:`none`}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t,track:`inverted`},style:{...e.vars?{backgroundColor:e.vars.palette.Slider[`${t}Track`],borderColor:e.vars.palette.Slider[`${t}Track`]}:{backgroundColor:e.lighten(e.palette[t].main,.62),borderColor:e.lighten(e.palette[t].main,.62),...e.applyStyles(`dark`,{backgroundColor:e.darken(e.palette[t].main,.5)}),...e.applyStyles(`dark`,{borderColor:e.darken(e.palette[t].main,.5)})}}}))]}))),Vt=F(`span`,{name:`MuiSlider`,slot:`Thumb`})(g(({theme:e})=>({position:`absolute`,width:20,height:20,boxSizing:`border-box`,borderRadius:`50%`,outline:0,backgroundColor:`currentColor`,display:`flex`,alignItems:`center`,justifyContent:`center`,...M(e,[`box-shadow`,`left`,`bottom`],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{border:`1px solid ButtonBorder`},"&::before":{position:`absolute`,content:`""`,borderRadius:`inherit`,width:`100%`,height:`100%`,boxShadow:(e.vars||e).shadows[2]},"&::after":{position:`absolute`,content:`""`,borderRadius:`50%`,width:42,height:42,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`},[`&.${Y.disabled}`]:{"&:hover":{boxShadow:`none`}},...e.focusVisible&&{[`&.${Y.focusVisible}`]:{...Ce,...e.focusVisible}},variants:[{props:{size:`small`},style:{width:12,height:12,"&::before":{boxShadow:`none`}}},{props:{orientation:`horizontal`},style:{top:`50%`,transform:`translate(-50%, -50%)`}},{props:{orientation:`vertical`},style:{left:`50%`,transform:`translate(-50%, 50%)`}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{"&:hover":{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:`none`}},...!e.focusVisible&&{[`&.${Y.focusVisible}`]:{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:`none`}}},[`&.${Y.active}`]:{boxShadow:`0px 0px 0px 14px ${e.alpha((e.vars||e).palette[t].main,.16)}`}}}))]}))),Ht=F(It,{name:`MuiSlider`,slot:`ValueLabel`})(g(({theme:e})=>({zIndex:1,whiteSpace:`nowrap`,...e.typography.body2,fontWeight:500,...M(e,[`transform`],{duration:e.transitions.duration.shortest}),position:`absolute`,backgroundColor:(e.vars||e).palette.grey[600],borderRadius:2,color:(e.vars||e).palette.common.white,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`0.25rem 0.75rem`,variants:[{props:{orientation:`horizontal`},style:{transform:`translateY(-100%) scale(0)`,top:`-10px`,transformOrigin:`bottom center`,"&::before":{position:`absolute`,content:`""`,width:8,height:8,transform:`translate(-50%, 50%) rotate(45deg)`,backgroundColor:`inherit`,bottom:0,left:`50%`},[`&.${Y.valueLabelOpen}`]:{transform:`translateY(-100%) scale(1)`}}},{props:{orientation:`vertical`},style:{transform:`translateY(-50%) scale(0)`,right:`30px`,top:`50%`,transformOrigin:`right center`,"&::before":{position:`absolute`,content:`""`,width:8,height:8,transform:`translate(-50%, -50%) rotate(45deg)`,backgroundColor:`inherit`,right:-8,top:`50%`},[`&.${Y.valueLabelOpen}`]:{transform:`translateY(-50%) scale(1)`}}},{props:{size:`small`},style:{fontSize:e.typography.pxToRem(12),padding:`0.25rem 0.5rem`}},{props:{orientation:`vertical`,size:`small`},style:{right:`20px`}}]}))),Ut=F(`span`,{name:`MuiSlider`,slot:`Mark`,shouldForwardProp:e=>re(e)&&e!==`markActive`,overridesResolver:(e,t)=>{let{markActive:n}=e;return[t.mark,n&&t.markActive]}})(g(({theme:e})=>({position:`absolute`,width:2,height:2,borderRadius:1,backgroundColor:`currentColor`,variants:[{props:{orientation:`horizontal`},style:{top:`50%`,transform:`translate(-1px, -50%)`}},{props:{orientation:`vertical`},style:{left:`50%`,transform:`translate(-50%, 1px)`}},{props:{markActive:!0},style:{backgroundColor:(e.vars||e).palette.background.paper,opacity:.8}}]}))),Wt=F(`span`,{name:`MuiSlider`,slot:`MarkLabel`,shouldForwardProp:e=>re(e)&&e!==`markLabelActive`})(g(({theme:e})=>({...e.typography.body2,color:(e.vars||e).palette.text.secondary,position:`absolute`,whiteSpace:`nowrap`,variants:[{props:{orientation:`horizontal`},style:{top:30,transform:`translateX(-50%)`,"@media (pointer: coarse)":{top:40}}},{props:{orientation:`vertical`},style:{left:36,transform:`translateY(50%)`,"@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(e.vars||e).palette.text.primary}}]}))),Gt=e=>{let{disabled:t,dragging:n,marked:r,orientation:i,track:a,classes:o,color:s,size:c}=e,l={root:[`root`,t&&`disabled`,n&&`dragging`,r&&`marked`,i===`vertical`&&`vertical`,a===`inverted`&&`trackInverted`,a===!1&&`trackFalse`,s&&`color${_(s)}`,c&&`size${_(c)}`],rail:[`rail`],track:[`track`],mark:[`mark`],markActive:[`markActive`],markLabel:[`markLabel`],markLabelActive:[`markLabelActive`],valueLabel:[`valueLabel`],thumb:[`thumb`,t&&`disabled`],active:[`active`],disabled:[`disabled`],focusVisible:[`focusVisible`]};return ke(l,Ke,o)},Kt=({children:e})=>e,qt=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiSlider`}),r=oe(),{"aria-label":i,"aria-valuetext":a,"aria-labelledby":o,color:s=`primary`,classes:c,className:l,disableSwap:u=!1,disabled:d=!1,getAriaLabel:f,getAriaValueText:p,marks:m=!1,max:h=100,min:g=0,name:_,onChange:v,onChangeCommitted:y,orientation:b=`horizontal`,shiftStep:x=10,size:S=`medium`,step:C=1,scale:w=Lt,slotProps:T={},slots:E={},tabIndex:D,track:ee=`normal`,value:O,valueLabelDisplay:te=`off`,valueLabelFormat:k=Lt,...ne}=n,j={...n,isRtl:r,max:h,min:g,classes:c,disabled:d,disableSwap:u,orientation:b,marks:m,color:s,size:S,step:C,shiftStep:x,scale:w,track:ee,valueLabelDisplay:te,valueLabelFormat:k},{axisProps:M,getRootProps:N,getHiddenInputProps:P,getThumbProps:F,open:re,active:I,axis:L,focusedThumbIndex:R,range:z,dragging:ie,marks:ae,values:B,trackOffset:se,trackLeap:ce,getThumbStyle:le}=Pt({...j,rootRef:t});j.marked=ae.length>0&&ae.some(e=>e.label),j.dragging=ie,j.focusedThumbIndex=R;let V=Gt(j),H={slots:E,slotProps:T},[ue,de]=A(`root`,{elementType:Rt,getSlotProps:N,externalForwardedProps:{...H,...ne},ownerState:j,className:[V.root,l]}),[U,fe]=A(`rail`,{elementType:zt,externalForwardedProps:H,ownerState:j,className:V.rail}),[pe,he]=A(`track`,{elementType:Bt,externalForwardedProps:H,additionalProps:{style:{...M[L].offset(se),...M[L].leap(ce)}},ownerState:j,className:V.track}),[ge,_e]=A(`thumb`,{elementType:Vt,getSlotProps:F,externalForwardedProps:H,ownerState:j,className:V.thumb}),[ve,ye]=A(`valueLabel`,{elementType:Ht,externalForwardedProps:H,ownerState:j,className:V.valueLabel}),[W,G]=A(`mark`,{elementType:Ut,externalForwardedProps:H,ownerState:j,className:V.mark}),[be,xe]=A(`markLabel`,{elementType:Wt,externalForwardedProps:H,ownerState:j,className:V.markLabel}),[Se,Ce]=A(`input`,{elementType:`input`,getSlotProps:P,externalForwardedProps:H,ownerState:j});return(0,Z.jsxs)(ue,{...de,children:[(0,Z.jsx)(U,{...fe}),(0,Z.jsx)(pe,{...he}),ae.filter(e=>e.value>=g&&e.value<=h).map((e,t)=>{let n=Tt(e.value,g,h),r=M[L].offset(n),i;return i=ee===!1?B.includes(e.value):ee===`normal`&&(z?e.value>=B[0]&&e.value<=B[B.length-1]:e.value<=B[0])||ee===`inverted`&&(z?e.value<=B[0]||e.value>=B[B.length-1]:e.value>=B[0]),(0,Z.jsxs)(X.Fragment,{children:[(0,Z.jsx)(W,{"data-index":t,...G,...!me(W)&&{markActive:i},style:{...r,...G.style},className:K(G.className,i&&V.markActive)}),e.label==null?null:(0,Z.jsx)(be,{"aria-hidden":!0,"data-index":t,...xe,...!me(be)&&{markLabelActive:i},style:{...r,...xe.style},className:K(V.markLabel,xe.className,i&&V.markLabelActive),children:e.label})]},t)}),B.map((e,t)=>{let n=Tt(e,g,h),r=M[L].offset(n),s=te===`off`?Kt:ve;return(0,Z.jsx)(s,{...!me(s)&&{valueLabelFormat:k,valueLabelDisplay:te,value:typeof k==`function`?k(w(e),t):k,index:t,open:re===t||I===t||te===`on`,disabled:d},...ye,children:(0,Z.jsx)(ge,{"data-index":t,..._e,className:K(V.thumb,_e.className,I===t&&V.active,R===t&&V.focusVisible),style:{...r,...le(t),..._e.style},children:(0,Z.jsx)(Se,{"data-index":t,"aria-label":f?f(t):i,"aria-valuenow":w(e),"aria-labelledby":o,"aria-valuetext":p?p(w(e),t):a,value:B[t],...Ce})})},t)})]})}),Jt=X.createContext({}),Yt=X.createContext(void 0);function Xt(e,t){return t===void 0||e===void 0?!1:Array.isArray(t)?t.includes(e):e===t}function Zt(e,t){let{children:n,disabled:r=!1,selected:a=!1,value:o}=e,s=i(),c=ie({id:o,ref:t,disabled:r,selected:a}),l=s.getItemMap().size===0&&a?0:c.tabIndex;return X.cloneElement(X.Children.only(n),{...c,tabIndex:n.props.tabIndex??l})}var Qt=X.forwardRef(Zt),$t=e=>{let{classes:t,fullWidth:n,selected:r,disabled:i,size:a,color:o}=e,s={root:[`root`,r&&`selected`,i&&`disabled`,n&&`fullWidth`,`size${_(a)}`,o]};return ke(s,qe,t)},en=F(_e,{name:`MuiToggleButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`size${_(n.size)}`]]}})(g(({theme:e})=>({...e.typography.button,borderRadius:(e.vars||e).shape.borderRadius,padding:11,border:`1px solid ${(e.vars||e).palette.divider}`,color:(e.vars||e).palette.action.active,[`&.${Je.disabled}`]:{color:(e.vars||e).palette.action.disabled,border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},"&:hover":{textDecoration:`none`,backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},variants:[{props:{color:`standard`},style:{[`&.${Je.selected}`]:{color:(e.vars||e).palette.text.primary,backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.selectedOpacity),"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.text.primary,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.selectedOpacity)}}}}},...Object.entries(e.palette).filter(w()).map(([t])=>({props:{color:t},style:{[`&.${Je.selected}`]:{color:(e.vars||e).palette[t].main,backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.selectedOpacity),"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:`100%`}},{props:{size:`small`},style:{padding:7,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`},style:{padding:15,fontSize:e.typography.pxToRem(15)}}]}))),tn=X.forwardRef(function(e,t){let{value:n,isRovingTabIndex:r,...i}=X.useContext(Jt),a=X.useContext(Yt),o=ce({...i,selected:Xt(e.value,n)},e),s=Te({props:o,name:`MuiToggleButton`}),{children:c,className:l,color:u=`standard`,disabled:d=!1,disableFocusRipple:f=!1,fullWidth:p=!1,onChange:m,onClick:h,selected:g,size:_=`medium`,value:v,...y}=s,b={...s,color:u,disabled:d,disableFocusRipple:f,fullWidth:p,size:_},x=$t(b),S=e=>{h&&(h(e,v),e.defaultPrevented)||m&&m(e,v)},C=a||``,w=(0,Z.jsx)(en,{className:K(i.className,x.root,l,C),internalNativeButton:!0,disabled:d,focusRipple:!f,ref:r?void 0:t,onClick:S,onChange:m,value:v,ownerState:b,"aria-pressed":g,...y,children:c});return r?(0,Z.jsx)(Qt,{disabled:d,selected:g,ref:t,value:v,children:w}):w});function nn(e){return X.Children.toArray(e).filter(e=>X.isValidElement(e))}function rn(e){return q(`MuiToggleButtonGroup`,e)}var $=H(`MuiToggleButtonGroup`,[`root`,`selected`,`horizontal`,`vertical`,`disabled`,`grouped`,`fullWidth`,`firstButton`,`lastButton`,`middleButton`]),an=e=>{let{classes:t,orientation:n,fullWidth:r,disabled:i}=e;return ke({root:[`root`,n,r&&`fullWidth`],grouped:[`grouped`,i&&`disabled`],firstButton:[`firstButton`],lastButton:[`lastButton`],middleButton:[`middleButton`]},rn,t)},on=F(`div`,{name:`MuiToggleButtonGroup`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${$.grouped}`]:t.grouped},{[`& .${$.firstButton}`]:t.firstButton},{[`& .${$.lastButton}`]:t.lastButton},{[`& .${$.middleButton}`]:t.middleButton},t.root,n.orientation===`vertical`&&t.vertical,n.fullWidth&&t.fullWidth]}})(g(({theme:e})=>({display:`inline-flex`,borderRadius:(e.vars||e).shape.borderRadius,...e.focusVisible&&{[`& .${$.grouped}.${t.focusVisible}`]:{zIndex:1}},variants:[{props:{orientation:`vertical`},style:{flexDirection:`column`,[`& .${$.grouped}`]:{[`&.${$.selected} + .${$.grouped}.${$.selected}`]:{borderTop:0,marginTop:0}},[`& .${$.firstButton},& .${$.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${$.lastButton},& .${$.middleButton}`]:{marginTop:-1,borderTop:`1px solid transparent`,borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${$.lastButton}.${Je.disabled},& .${$.middleButton}.${Je.disabled}`]:{borderTop:`1px solid transparent`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{orientation:`horizontal`},style:{[`& .${$.grouped}`]:{[`&.${$.selected} + .${$.grouped}.${$.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${$.firstButton},& .${$.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${$.lastButton},& .${$.middleButton}`]:{marginLeft:-1,borderLeft:`1px solid transparent`,borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${$.lastButton}.${Je.disabled},& .${$.middleButton}.${Je.disabled}`]:{borderLeft:`1px solid transparent`}}}]}))),sn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiToggleButtonGroup`}),{children:r,className:i,color:a=`standard`,disabled:o=!1,exclusive:s=!1,fullWidth:c=!1,onChange:l,orientation:u=`horizontal`,size:d=`medium`,value:f,...p}=n,m={...n,disabled:o,fullWidth:c,orientation:u,size:d},h=an(m),g=oe(),_=X.useCallback((e,t)=>{if(!l)return;let n=f&&f.indexOf(t),r;f&&n>=0?(r=f.slice(),r.splice(n,1)):r=f?f.concat(t):[t],l(e,r)},[l,f]),v=X.useCallback((e,t)=>{l&&l(e,f===t?null:t)},[l,f]),y=X.useMemo(()=>({className:h.grouped,onChange:s?v:_,value:f,size:d,fullWidth:c,color:a,disabled:o,isRovingTabIndex:!0}),[h.grouped,s,v,_,f,d,c,a,o]),b=nn(r),x=b.length,S=e=>{let t=e===0,n=e===x-1;return t&&n?``:t?h.firstButton:n?h.lastButton:h.middleButton},C=Le({orientation:u,isRtl:g}),w=C.getContainerProps(t,p.onFocus,p.onKeyDown);return(0,Z.jsx)(on,{role:`group`,className:K(h.root,i),ownerState:m,...p,...w,children:(0,Z.jsx)(te.Provider,{value:C,children:(0,Z.jsx)(Jt.Provider,{value:y,children:b.map((e,t)=>(0,Z.jsx)(Yt.Provider,{value:S(t),children:e},t))})})})}),cn=e=>{let{classes:t,disabled:n,labelPlacement:r,error:i,required:a}=e,o={root:[`root`,n&&`disabled`,`labelPlacement${_(r)}`,i&&`error`,a&&`required`],label:[`label`,n&&`disabled`],asterisk:[`asterisk`,i&&`error`]};return ke(o,We,t)},ln=F(`label`,{name:`MuiFormControlLabel`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${Ge.label}`]:t.label},t.root,t[`labelPlacement${_(n.labelPlacement)}`]]}})(g(({theme:e})=>({display:`inline-flex`,alignItems:`center`,cursor:`pointer`,verticalAlign:`middle`,WebkitTapHighlightColor:`transparent`,marginLeft:-11,marginRight:16,[`&.${Ge.disabled}`]:{cursor:`default`},[`& .${Ge.label}`]:{[`&.${Ge.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:`start`},style:{flexDirection:`row-reverse`,marginRight:-11}},{props:{labelPlacement:`top`},style:{flexDirection:`column-reverse`}},{props:{labelPlacement:`bottom`},style:{flexDirection:`column`}},{props:({labelPlacement:e})=>e===`start`||e===`top`||e===`bottom`,style:{marginLeft:16}}]}))),un=F(`span`,{name:`MuiFormControlLabel`,slot:`Asterisk`})(g(({theme:e})=>({[`&.${Ge.error}`]:{color:(e.vars||e).palette.error.main}}))),dn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiFormControlLabel`}),{checked:r,className:i,control:a,disabled:o,disableTypography:s,inputRef:c,label:l,labelPlacement:u=`end`,name:d,onChange:f,required:p,slots:m={},slotProps:h={},value:g,..._}=n,[v,y]=le({props:n,states:[`error`]}),b=o??a.props.disabled??y?.disabled,x=p??a.props.required,S={disabled:b,required:x};[`checked`,`name`,`onChange`,`value`,`inputRef`].forEach(e=>{a.props[e]===void 0&&n[e]!==void 0&&(S[e]=n[e])});let C={...n,disabled:b,labelPlacement:u,required:x,error:v.error},w=cn(C),[T,E]=A(`typography`,{elementType:U,externalForwardedProps:{slots:m,slotProps:h},ownerState:C}),D=l;return D!=null&&D.type!==U&&!s&&(D=(0,Z.jsx)(T,{component:`span`,...E,className:K(w.label,E?.className),children:D})),(0,Z.jsxs)(ln,{className:K(w.root,i),ownerState:C,ref:t,..._,children:[X.cloneElement(a,S),x?(0,Z.jsxs)(`div`,{children:[D,(0,Z.jsxs)(un,{ownerState:C,"aria-hidden":!0,className:w.asterisk,children:[` `,`*`]})]}):D]})});function fn(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function pn(e,t,n,r={},i=()=>{}){let{ease:a=fn,duration:o=300}=r,s=null,c=t[e],l=!1,u=()=>{l=!0},d=r=>{if(l){i(Error(`Animation cancelled`));return}s===null&&(s=r);let u=Math.min(1,(r-s)/o);if(t[e]=a(u)*(n-c)+c,u>=1){requestAnimationFrame(()=>{i(null)});return}requestAnimationFrame(d)};return c===n?(i(Error(`Element already at target position`)),u):(requestAnimationFrame(d),u)}var mn={width:99,height:99,position:`absolute`,top:-9999,overflow:`scroll`,pointerEvents:`none`};function hn(e){let{onChange:t,...n}=e,r=X.useRef(),i=X.useRef(null),a=()=>{r.current=i.current.offsetHeight-i.current.clientHeight};return N(()=>{let e=O(()=>{let e=r.current;a(),e!==r.current&&t(r.current)}),n=v(i.current);return n.addEventListener(`resize`,e),()=>{e.clear(),n.removeEventListener(`resize`,e)}},[t]),X.useEffect(()=>{a(),t(r.current)},[t]),(0,Z.jsx)(`div`,{style:mn,...n,ref:i})}var gn=Ve((0,Z.jsx)(`path`,{d:`M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z`}),`KeyboardArrowLeft`),_n=Ve((0,Z.jsx)(`path`,{d:`M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z`}),`KeyboardArrowRight`);function vn(e){return q(`MuiTabScrollButton`,e)}var yn=H(`MuiTabScrollButton`,[`root`,`vertical`,`horizontal`,`disabled`]),bn=e=>{let{classes:t,orientation:n,disabled:r}=e;return ke({root:[`root`,n,r&&`disabled`]},vn,t)},xn=F(_e,{name:`MuiTabScrollButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${yn.disabled}`]:{opacity:0},variants:[{props:{orientation:`vertical`},style:{width:`100%`,height:40,"& svg":{transform:`var(--TabScrollButton-svgRotate)`}}}]}),Sn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTabScrollButton`}),{className:r,slots:i={},slotProps:a={},direction:o,orientation:s,disabled:c,...l}=n,{nativeButton:u,...d}=l,f=oe(),p={isRtl:f,...n},m=bn(p),h=i.StartScrollButtonIcon??gn,g=i.EndScrollButtonIcon??_n,_=Fe({elementType:h,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:`small`},ownerState:p}),v=Fe({elementType:g,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:`small`},ownerState:p});return(0,Z.jsx)(xn,{component:`div`,className:K(m.root,r),ref:t,role:null,ownerState:p,tabIndex:null,...d,style:{...d.style,...s===`vertical`&&{"--TabScrollButton-svgRotate":`rotate(${f?-90:90}deg)`}},children:o===`left`?(0,Z.jsx)(h,{..._}):(0,Z.jsx)(g,{...v})})});function Cn(e){return q(`MuiTabs`,e)}var wn=H(`MuiTabs`,[`root`,`vertical`,`list`,`centered`,`scroller`,`fixed`,`scrollableX`,`scrollableY`,`hideScrollbar`,`scrollButtons`,`scrollButtonsHideMobile`,`indicator`]),Tn=e=>{let{vertical:t,fixed:n,hideScrollbar:r,scrollableX:i,scrollableY:a,centered:o,scrollButtonsHideMobile:s,classes:c}=e;return ke({root:[`root`,t&&`vertical`],scroller:[`scroller`,n&&`fixed`,r&&`hideScrollbar`,i&&`scrollableX`,a&&`scrollableY`],list:[`list`,t&&`vertical`,o&&`centered`],indicator:[`indicator`],scrollButtons:[`scrollButtons`,s&&`scrollButtonsHideMobile`],scrollableX:[i&&`scrollableX`],hideScrollbar:[r&&`hideScrollbar`]},Cn,c)},En=F(`div`,{name:`MuiTabs`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${wn.scrollButtons}`]:t.scrollButtons},{[`& .${wn.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(g(({theme:e})=>({overflow:`hidden`,minHeight:48,WebkitOverflowScrolling:`touch`,display:`flex`,variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:`column`}},{props:({ownerState:e})=>e.scrollButtonsHideMobile,style:{[`& .${wn.scrollButtons}`]:{[e.breakpoints.down(`sm`)]:{display:`none`}}}}]}))),Dn=F(`div`,{name:`MuiTabs`,slot:`Scroller`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})({position:`relative`,display:`inline-block`,flex:`1 1 auto`,whiteSpace:`nowrap`,variants:[{props:({ownerState:e})=>e.fixed,style:{overflowX:`hidden`,width:`100%`}},{props:({ownerState:e})=>e.hideScrollbar,style:{scrollbarWidth:`none`,"&::-webkit-scrollbar":{display:`none`}}},{props:({ownerState:e})=>e.scrollableX,style:{overflowX:`auto`,overflowY:`hidden`}},{props:({ownerState:e})=>e.scrollableY,style:{overflowY:`auto`,overflowX:`hidden`}}]}),On=F(`div`,{name:`MuiTabs`,slot:`List`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.list,n.centered&&t.centered]}})({display:`flex`,variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:`column`}},{props:({ownerState:e})=>e.centered,style:{justifyContent:`center`}}]}),kn=F(`span`,{name:`MuiTabs`,slot:`Indicator`})(g(({theme:e})=>({position:`absolute`,height:2,bottom:0,width:`100%`,...M(e),variants:[{props:{indicatorColor:`primary`},style:{backgroundColor:(e.vars||e).palette.primary.main}},{props:{indicatorColor:`secondary`},style:{backgroundColor:(e.vars||e).palette.secondary.main}},{props:({ownerState:e})=>e.vertical,style:{height:`100%`,width:2,right:0}}]}))),An=F(hn)({overflowX:`auto`,overflowY:`hidden`,scrollbarWidth:`none`,"&::-webkit-scrollbar":{display:`none`}}),jn={},Mn=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTabs`}),r=ee(),i=oe(),a=he(r.motion.reducedMotion,!1),{"aria-label":o,"aria-labelledby":s,action:c,centered:l=!1,children:u,className:d,component:m=`div`,allowScrollButtonsMobile:h=!1,indicatorColor:g=`primary`,onChange:_,orientation:y=`horizontal`,scrollButtons:b=`auto`,selectionFollowsFocus:x,slots:S={},slotProps:C={},textColor:w=`primary`,value:T,variant:D=`standard`,visibleScrollbar:k=!1,...ne}=n,M=D===`scrollable`,N=y===`vertical`,P=N?`scrollTop`:`scrollLeft`,F=N?`top`:`left`,re=N?`bottom`:`right`,I=N?`clientHeight`:`clientWidth`,L=N?`height`:`width`,R={...n,component:m,allowScrollButtonsMobile:h,indicatorColor:g,orientation:y,vertical:N,scrollButtons:b,textColor:w,variant:D,visibleScrollbar:k,fixed:!M,hideScrollbar:M&&!k,scrollableX:M&&!N,scrollableY:M&&N,centered:l&&!M,scrollButtonsHideMobile:!h},z=Tn(R),ie=Fe({elementType:S.startScrollButtonIcon,externalSlotProps:C.startScrollButtonIcon,ownerState:R}),ae=Fe({elementType:S.endScrollButtonIcon,externalSlotProps:C.endScrollButtonIcon,ownerState:R}),[B,se]=X.useState(!1),[ce,le]=X.useState(jn),[V,H]=X.useState(!1),[ue,de]=X.useState(!1),[U,fe]=X.useState(!1),pe=T===!1?null:T,[me,ge]=X.useState(!1),[_e,ve]=X.useState({overflow:`hidden`,scrollbarWidth:0}),ye=new Map,W=X.useRef(null),G=X.useRef(null),be={slots:S,slotProps:C},xe=()=>{let e=W.current,t;if(e){let n=e.getBoundingClientRect();t={clientWidth:e.clientWidth,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop,scrollWidth:e.scrollWidth,top:n.top,bottom:n.bottom,left:n.left,right:n.right}}let n;if(e&&T!==!1){let e=G.current.children;if(e.length>0){let t=e[ye.get(T)];n=t?t.getBoundingClientRect():null}}return{tabsMeta:t,tabMeta:n}},Se=E(()=>{let{tabsMeta:e,tabMeta:t}=xe(),n=0,r;N?(r=`top`,t&&e&&(n=t.top-e.top+e.scrollTop)):(r=i?`right`:`left`,t&&e&&(n=(i?-1:1)*(t[r]-e[r]+e.scrollLeft)));let a={[r]:n,[L]:t?t[L]:0};if(typeof ce[r]!=`number`||typeof ce[L]!=`number`)le(a);else{let e=Math.abs(ce[r]-a[r]),t=Math.abs(ce[L]-a[L]);(e>=1||t>=1)&&le(a)}}),Ce=(e,{animation:t=!0}={})=>{t&&!a.shouldReduceMotion?pn(P,W.current,e,{duration:r.transitions.duration.standard}):W.current[P]=e},we=e=>{let t=W.current[P];t+=N?e:e*(i?-1:1),Ce(t)},q=()=>{let e=W.current[I],t=0,n=Array.from(G.current.children);for(let r=0;r<n.length;r+=1){let i=n[r];if(t+i[I]>e){r===0&&(t=e);break}t+=i[I]}return t},Ee=()=>{we(-1*q())},De=()=>{we(q())},[Oe,{onChange:ke,...Ae}]=A(`scrollbar`,{className:K(z.scrollableX,z.hideScrollbar),elementType:An,shouldForwardComponentProp:!0,externalForwardedProps:be,ownerState:R}),je=X.useCallback(e=>{ke?.(e),ve({overflow:null,scrollbarWidth:e})},[ke]),[J,Me]=A(`scrollButtons`,{className:z.scrollButtons,elementType:Sn,externalForwardedProps:be,ownerState:R,additionalProps:{orientation:y,slots:{StartScrollButtonIcon:S.startScrollButtonIcon,EndScrollButtonIcon:S.endScrollButtonIcon},slotProps:{startScrollButtonIcon:ie,endScrollButtonIcon:ae}}}),Ne=()=>{let e={};e.scrollbarSizeListener=M?(0,Z.jsx)(Oe,{...Ae,onChange:je}):null;let t=M&&(b===`auto`&&(V||ue)||b===!0);return e.scrollButtonStart=t?(0,Z.jsx)(J,{direction:i?`right`:`left`,onClick:Ee,disabled:!V,...Me}):null,e.scrollButtonEnd=t?(0,Z.jsx)(J,{direction:i?`left`:`right`,onClick:De,disabled:!ue,...Me}):null,e},Pe=E(e=>{let{tabsMeta:t,tabMeta:n}=xe();if(n&&t){if(n[F]<t[F]){let r=t[P]+(n[F]-t[F]);Ce(r,{animation:e})}else if(n[re]>t[re]){let r=t[P]+(n[re]-t[re]);Ce(r,{animation:e})}}}),Ie=E(()=>{M&&b!==!1&&fe(!U)});X.useEffect(()=>{let e=O(()=>{W.current&&Se()}),t,n=n=>{n.forEach(e=>{e.removedNodes.forEach(e=>{t?.unobserve(e)}),e.addedNodes.forEach(e=>{t?.observe(e)})}),e(),Ie()},r=v(W.current);r.addEventListener(`resize`,e);let i;return typeof ResizeObserver<`u`&&(t=new ResizeObserver(e),Array.from(G.current.children).forEach(e=>{t.observe(e)})),typeof MutationObserver<`u`&&(i=new MutationObserver(n),i.observe(G.current,{childList:!0})),()=>{e.clear(),r.removeEventListener(`resize`,e),i?.disconnect(),t?.disconnect()}},[Se,Ie]),X.useEffect(()=>{let e=Array.from(G.current.children),t=e.length;if(typeof IntersectionObserver<`u`&&t>0&&M&&b!==!1){let n=e[0],r=e[t-1],i={root:W.current,threshold:.99},a=new IntersectionObserver(e=>{H(!e[0].isIntersecting)},i);a.observe(n);let o=new IntersectionObserver(e=>{de(!e[0].isIntersecting)},i);return o.observe(r),()=>{a.disconnect(),o.disconnect()}}},[M,b,U,u?.length]),X.useEffect(()=>{se(!0)},[]),X.useEffect(()=>{Se()}),X.useEffect(()=>{Pe(jn!==ce)},[Pe,ce]),X.useImperativeHandle(c,()=>({updateIndicator:Se,updateScrollButtons:Ie}),[Se,Ie]);let[Re,Be]=A(`indicator`,{className:z.indicator,elementType:kn,externalForwardedProps:be,ownerState:R,additionalProps:{style:ce}}),Ve=(0,Z.jsx)(Re,{...Be}),He=Le({activeItemId:me?void 0:pe,orientation:y,isRtl:i}),Ue=He.getContainerProps(),We=X.Children.toArray(u).filter(X.isValidElement).map((e,t)=>{let n=e.props.value===void 0?t:e.props.value;return ye.set(n,t),{child:e,index:t,childValue:n}}).map(({child:e,childValue:t})=>{let n=t===T;return X.cloneElement(e,{fullWidth:D===`fullWidth`,indicator:n&&!B&&Ve,selected:n,selectionFollowsFocus:x,onChange:_,textColor:w,value:t})}),Ge=Ne(),[Ke,Y]=A(`root`,{ref:t,className:K(z.root,d),elementType:En,externalForwardedProps:{...be,...ne,component:m},ownerState:R}),[qe,Je]=A(`scroller`,{ref:W,className:z.scroller,elementType:Dn,externalForwardedProps:be,ownerState:R,additionalProps:{style:{overflow:_e.overflow,[N?`margin${i?`Left`:`Right`}`:`marginBottom`]:k?void 0:-_e.scrollbarWidth}}}),Ye=f(Ue.ref,G),Xe=e=>{let t=G.current;p(j(t))?.getAttribute(`role`)===`tab`&&Ue.onKeyDown(e)},[Ze,Qe]=A(`list`,{ref:Ye,className:z.list,elementType:On,externalForwardedProps:be,ownerState:R,getSlotProps:e=>({...e,onBlur:t=>{ze(t.currentTarget,t.relatedTarget)||ge(!1),e.onBlur?.(t)},onKeyDown:t=>{Xe(t),e.onKeyDown?.(t)},onFocus:t=>{ge(!0),Ue.onFocus(t),e.onFocus?.(t)}})});return(0,Z.jsxs)(Ke,{...Y,children:[Ge.scrollButtonStart,Ge.scrollbarSizeListener,(0,Z.jsxs)(qe,{...Je,children:[(0,Z.jsx)(Ze,{"aria-label":o,"aria-labelledby":s,"aria-orientation":y===`vertical`?`vertical`:null,role:`tablist`,...Qe,children:(0,Z.jsx)(te.Provider,{value:He,children:We})}),B&&Ve]}),Ge.scrollButtonEnd]})});function Nn(e){return q(`MuiTab`,e)}var Pn=H(`MuiTab`,[`root`,`labelIcon`,`textColorInherit`,`textColorPrimary`,`textColorSecondary`,`selected`,`disabled`,`fullWidth`,`wrapped`,`icon`]),Fn=e=>{let{classes:t,textColor:n,fullWidth:r,wrapped:i,icon:a,label:o,selected:s,disabled:c}=e,l={root:[`root`,a&&o&&`labelIcon`,`textColor${_(n)}`,r&&`fullWidth`,i&&`wrapped`,s&&`selected`,c&&`disabled`],icon:[`icon`]};return ke(l,Nn,t)},In=F(_e,{name:`MuiTab`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${_(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${Pn.icon}`]:t.icon}]}})(g(({theme:e})=>({...e.typography.button,maxWidth:360,minWidth:90,position:`relative`,minHeight:48,flexShrink:0,padding:`12px 16px`,overflow:`hidden`,whiteSpace:`normal`,textAlign:`center`,lineHeight:1.25,...e.focusVisible&&z(3),variants:[{props:({ownerState:e})=>e.label&&(e.iconPosition===`top`||e.iconPosition===`bottom`),style:{flexDirection:`column`}},{props:({ownerState:e})=>e.label&&e.iconPosition!==`top`&&e.iconPosition!==`bottom`,style:{flexDirection:`row`}},{props:({ownerState:e})=>e.icon&&e.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`top`,style:{[`& > .${Pn.icon}`]:{marginBottom:6}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`bottom`,style:{[`& > .${Pn.icon}`]:{marginTop:6}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`start`,style:{[`& > .${Pn.icon}`]:{marginRight:e.spacing(1)}}},{props:({ownerState:e,iconPosition:t})=>e.icon&&e.label&&t===`end`,style:{[`& > .${Pn.icon}`]:{marginLeft:e.spacing(1)}}},{props:{textColor:`inherit`},style:{color:`inherit`,opacity:.6,[`&.${Pn.selected}`]:{opacity:1},...e.focusVisible&&{[`&.${t.focusVisible}`]:{opacity:1}},[`&.${Pn.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}}},{props:{textColor:`primary`},style:{color:(e.vars||e).palette.text.secondary,[`&.${Pn.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Pn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:{textColor:`secondary`},style:{color:(e.vars||e).palette.text.secondary,[`&.${Pn.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Pn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:({ownerState:e})=>e.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:`none`}},{props:({ownerState:e})=>e.wrapped,style:{fontSize:e.typography.pxToRem(12)}}]}))),Ln=X.forwardRef(function(e,t){let n=Te({props:e,name:`MuiTab`}),{className:r,disabled:a=!1,disableFocusRipple:o=!1,fullWidth:s,icon:c,iconPosition:l=`top`,indicator:u,label:d,onChange:f,onClick:p,onFocus:m,selected:h,selectionFollowsFocus:g,textColor:_=`inherit`,value:v,wrapped:y=!1,...b}=n,x=i(),S=ie({id:v,ref:t,disabled:a,selected:h}),C=x.getItemMap().size===0&&h?0:S.tabIndex,w={...n,disabled:a,disableFocusRipple:o,selected:h,icon:!!c,iconPosition:l,label:!!d,fullWidth:s,textColor:_,wrapped:y},T=Fn(w),E=c&&d&&X.isValidElement(c)?X.cloneElement(c,{className:K(T.icon,c.props.className)}):c;return(0,Z.jsxs)(In,{internalNativeButton:!0,focusRipple:!o,className:K(T.root,r),ref:S.ref,role:`tab`,"aria-selected":h,disabled:a,onClick:e=>{!h&&f&&f(e,v),p&&p(e)},onFocus:e=>{g&&!h&&f&&f(e,v),m&&m(e)},tabIndex:C,ownerState:w,...b,children:[l===`top`||l===`start`?(0,Z.jsxs)(X.Fragment,{children:[E,d]}):(0,Z.jsxs)(X.Fragment,{children:[d,E]}),u]})}),Rn=`<!-- octopus-revision -->`,zn=e=>String(e).padStart(2,`0`);function Bn(e){return`lab-lock-${`${e.getUTCFullYear()}${zn(e.getUTCMonth()+1)}${zn(e.getUTCDate())}T${zn(e.getUTCHours())}${zn(e.getUTCMinutes())}${zn(e.getUTCSeconds())}Z`}.md`}var Vn=y(Ne(),1),Hn=[{id:`page`,label:`Page`},{id:`labels`,label:`Labels`},{id:`lists`,label:`Lists`},{id:`assistant`,label:`Assistant`}],Un=[{id:`frame`,kind:`choice`,group:`page`,label:`Frame`,attr:`frame`,default:k,question:`Whether the plane fills the main area with no frame, as before the frame; is capped at the page's width and centred in the window; or fills the window with the page's content centred inside it, as Gmail does. Corner beside the assistant applies only under a frame.`,options:[{value:`full`,label:`Full`},{value:`capped`,label:`Capped`},{value:`stretch`,label:`Stretch`}]},{id:`planeCorner`,kind:`choice`,group:`page`,label:`Corner beside the assistant`,attr:`planeCorner`,default:a,question:`The page's top-right corner beside the open assistant. Square, meeting the pane with its shadow along the seam, as the sidebar does; or round, the page above the pane casting its own shadow off its right edge.`,options:[{value:`square`,label:`Square`},{value:`round`,label:`Round`}]},{id:`metaGlassOpacity`,kind:`slider`,group:`page`,label:`Meta field glass`,hook:`metaGlassOpacity`,min:0,max:100,step:5,unit:`%`,default:{light:parseFloat(ne.light),dark:parseFloat(ne.dark)},question:`How much of a raised card's fill a glass meta field takes (MetaField variant = glass): 0 is none, 100 the card. Each mode keeps its own value; the slider moves the one for the mode in view.`},{id:`metaPadY`,kind:`slider`,group:`page`,label:`Meta row padding`,hook:`metaPadY`,min:0,max:24,step:1,unit:`px`,default:0,question:`Padding above and below a subject page's row of facts (its meta slot: on a case, the summary strip). None as designed; Compact sets its own.`},{id:`tabsScrollFade`,kind:`slider`,group:`page`,label:`Fade under the tabs`,hook:`tabsScrollFade`,min:0,max:64,step:2,unit:`px`,default:parseFloat(n),question:`How far below the tab strip the page's content dissolves as it scrolls under. 0 cuts it at the seam, as before.`},{id:`railFoot`,kind:`slider`,group:`page`,label:`Rail foot`,hook:`railFoot`,min:0,max:32,step:1,unit:`px`,default:parseFloat(h),question:`The space under the rail's last item (the settings cog) down to the window's edge. It was 22px.`},{id:`bandGlassOpacity`,kind:`slider`,group:`page`,label:`Header band wash`,hook:`bandGlassOpacity`,min:0,max:1,step:.05,unit:``,default:{light:s.light.band.opacity,dark:s.dark.band.opacity},question:`How much of the page's ground tone a table header's band lays over what scrolls under it. Each mode keeps its own value; the slider moves the one for the mode in view.`},{id:`bandGlassBlur`,kind:`slider`,group:`page`,label:`Header band blur`,hook:`bandGlassBlur`,min:0,max:16,step:1,unit:`px`,default:s.light.band.blur,question:`How far a table header's band blurs what scrolls under it.`},{id:`themeFade`,kind:`slider`,group:`page`,label:`Switch fade`,hook:`appearanceFade`,min:0,max:1e3,step:50,unit:`ms`,default:parseFloat(ae),question:`How long a change of theme or mode crossfades, the whole page at once. 0 swaps it in a single frame.`}],Wn=[{id:`countStyle`,kind:`choice`,group:`labels`,label:`Count drawing`,attr:`countStyle`,default:Ie,question:`The figure beside a tab's or heading's label ("Analysis 9"): a tinted label, an outlined one, or the bare figure.`,options:[{value:`fill`,label:`Fill`},{value:`outline`,label:`Outline`},{value:`plain`,label:`Plain`}]},{id:`countRadius`,kind:`slider`,group:`labels`,label:`Count radius`,hook:`countRadius`,min:0,max:6,step:1,unit:``,default:D.kbd,question:`How rounded the count label's corners are, as a radius token before the radius scale. 6 is a full pill at its height; ${D.kbd} is the kbd radius it defaults to.`},{id:`chipRadius`,kind:`slider`,group:`labels`,label:`Chip radius`,hook:`chipRadius`,min:0,max:16,step:1,unit:`px`,default:16,question:`How rounded a chip's corners are. 14px and up is a full pill on a medium chip (11px on a small one); 4px is a tag.`},{id:`chipPadX`,kind:`slider`,group:`labels`,label:`Chip padding`,hook:`chipPadX`,min:2,max:20,step:1,unit:`px`,default:parseFloat(Re.medium),question:`The space either side of a medium chip's label. MUI's 12px.`},{id:`chipPadXSmall`,kind:`slider`,group:`labels`,label:`Chip padding, small`,hook:`chipPadXSmall`,min:2,max:16,step:1,unit:`px`,default:parseFloat(Re.small),question:`The space either side of a small chip's label: tables, filters, counts beside tabs. MUI's 8px.`},{id:`chipPadY`,kind:`slider`,group:`labels`,label:`Chip padding, vertical`,hook:`chipPadY`,min:0,max:10,step:1,unit:`px`,default:d.medium,question:`The space above and below a medium chip's label, which sets its height: 4px is the 28px it has always been.`},{id:`chipPadYSmall`,kind:`slider`,group:`labels`,label:`Chip padding, vertical, small`,hook:`chipPadYSmall`,min:0,max:8,step:1,unit:`px`,default:d.small,question:`The same for a small chip: 3px is its 22px.`}],Gn=[{id:`rowIconGap`,kind:`slider`,group:`lists`,label:`Row icon gap`,hook:`rowIconGap`,min:0,max:20,step:1,unit:`px`,default:8,question:`The space between a row's icon (the settings cog, the agent) and its label. Investigations drew about 18px.`},{id:`rowIconSize`,kind:`slider`,group:`lists`,label:`Row icon size`,hook:`rowIconSize`,min:12,max:24,step:1,unit:`px`,default:parseFloat(l),question:`How big a row's icon is beside its 14px label. Investigations drew 20px.`}],Kn=[{id:`seamBlur`,kind:`slider`,group:`assistant`,label:`Seam shadow blur`,hook:`seamBlur`,min:0,max:40,step:1,unit:`px`,default:parseFloat(x.blur),question:`The shadow the plane casts onto the assistant's pane along their seam: how far it spreads. It was 12px.`},{id:`seamStrength`,kind:`slider`,group:`assistant`,label:`Seam shadow strength`,hook:`seamStrength`,min:0,max:2,step:.05,unit:``,default:1,question:`How dark that shadow is, as a share of the designed opacity (0.14 in light, 0.5 in dark; light was 0.18). It falls over the pane's content, the assistant's header rule included.`},{id:`assistantScrollFade`,kind:`slider`,group:`assistant`,label:`Conversation fade`,hook:`assistantScrollFade`,min:0,max:48,step:2,unit:`px`,default:parseFloat(ge),question:`How far the conversation dissolves at its top and bottom edges, under the header and above the composer. 0 cuts it.`}],qn=[...Un,...Wn,...Gn,...Kn],Jn={width:340,height:640},Yn=`This browser can't open a Picture-in-Picture window.`;function Xn(e=globalThis){return`documentPictureInPicture`in e}function Zn(e=globalThis){let t=e.documentPictureInPicture;return t?t.requestWindow(Jn):Promise.reject(Error(Yn))}function Qn(e,t){let n=t.join(` `).toLowerCase();return e.toLowerCase().split(/\s+/).filter(Boolean).every(e=>n.includes(e))}function $n(e){let t=Hn.find(t=>t.id===e.group)?.label,n=e.kind===`choice`?e.options.map(e=>e.label):[];return[e.label,e.question,e.id,t,...n]}function er(e){let t=e.options.flatMap(e=>[e.label,e.description]);return[e.title,e.id,e.group,e.description,...t]}function tr(e){let t=e,n=new Set;return{get:()=>t,set(e){t=typeof e==`function`?e(t):e;for(let e of[...n])e()},subscribe(e){return n.add(e),()=>{n.delete(e)}}}}function nr(e,t){return(0,X.useSyncExternalStore)(e.subscribe,()=>t(e.get()),()=>t(e.get()))}var rr=`aistrike.lab`,ir=[`light`,`dark`],ar=`data-ds-mode`;function or(e){return e.kind===`slider`&&typeof e.default==`object`}function sr(e,t){if(!or(e))return e.id;if(t===void 0)throw Error(`The lab control ${e.id} holds a value per mode; name the mode`);return`${e.id}.${t}`}function cr(e){return e.getAttribute(ar)===`light`?`light`:`dark`}function lr(e){if(e.kind===`slider`&&typeof e.default==`object`){let t=e.default;return ir.map(n=>({key:sr(e,n),fallback:t[n]}))}return[{key:e.id,fallback:e.default}]}function ur(e,t){return e.kind===`slider`&&typeof e.default==`object`?e.default[t]:e.default}function dr(e){return Object.fromEntries(e.flatMap(lr).map(({key:e,fallback:t})=>[e,t]))}function fr(e,t){return e.kind===`slider`?typeof t==`number`&&Number.isFinite(t)&&t>=e.min&&t<=e.max:typeof t==`string`&&e.options.some(e=>e.value===t)}function pr(e,t){let n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};return Object.fromEntries(t.flatMap(e=>lr(e).map(({key:t,fallback:r})=>{let i=n[t];return[t,fr(e,i)?i:r]})))}function mr(e,t=localStorage){try{return pr(JSON.parse(t.getItem(`aistrike.lab`)??`null`),e)}catch{return dr(e)}}function hr(e,t=localStorage){try{t.setItem(rr,JSON.stringify(e))}catch{}}function gr(e,t,n=document.documentElement,r=cr(n)){for(let i of t)if(i.kind===`choice`)i.attr!==void 0&&n.setAttribute(ve[i.attr],String(e[i.id]??i.default));else if(i.hook!==void 0){let t=T[i.hook],a=ur(i,r),o=e[sr(i,r)]??a;o===a?n.style.removeProperty(t):n.style.setProperty(t,`${o}${i.kind===`slider`?i.unit:``}`)}}function _r(e,t=document.documentElement){for(let n of e)n.kind===`choice`?n.attr!==void 0&&t.removeAttribute(ve[n.attr]):n.hook!==void 0&&t.style.removeProperty(T[n.hook])}var vr=(e,t)=>{if(typeof MutationObserver>`u`||typeof Node>`u`||!(e instanceof Node))return()=>void 0;let n=new MutationObserver(t);return n.observe(e,{attributes:!0,attributeFilter:[ar]}),()=>{n.disconnect()}};function yr(e){let{controls:t}=e,n=e.root??document.documentElement,r=e.storage??localStorage,i=e.experiments??Ae(),a=new Map(t.map(e=>[e.id,e])),o=tr(mr(t,r)),s=i.isPaused(),c=e=>{s?_r(t,n):gr(e,t,n)};c(o.get());let l=e=>{c(e),hr(e,r),o.set(e)},u=(e.observeMode??vr)(n,()=>{c(o.get()),o.set({...o.get()})}),d=i.subscribe(()=>{i.isPaused()!==s&&(s=i.isPaused(),c(o.get()))}),f=()=>{u(),d()};return{store:o,set(e,t,r){let i=a.get(e);i===void 0||!fr(i,t)||l({...o.get(),[sr(i,r??cr(n))]:t})},replace(e){l(pr(e,t))},reset(){l(dr(t))},dispose(){f()}}}var br=`docs/decisions/2026-10-21-design-lab-in-octopus.md`,xr=[`light`,`dark`],Sr=(e,t)=>`${t}${e.kind===`slider`?e.unit:``}`;function Cr(e){return e.kind===`choice`?e.attr===void 0?`—`:ve[e.attr]:e.hook===void 0?`—`:T[e.hook]}function wr(e,t,n){return t.filter(e=>n.includes(e.id)).flatMap(t=>{let n=(n,r)=>{let i=sr(t,n??void 0);return{id:t.id,label:t.label,hook:Cr(t),mode:n,old:Sr(t,r),next:Sr(t,e[i]??r)}};if(t.kind===`slider`&&typeof t.default==`object`&&or(t)){let e=t.default;return xr.map(t=>n(t,e[t]))}return[n(null,t.default)]})}function Tr({rows:e,url:t,host:n,version:r,lockedAt:i}){let a=[...new Set(e.map(e=>e.id))],o=i.toISOString(),s=e.map(e=>`| ${e.id} | ${e.hook} | ${e.mode??`—`} | ${e.old} | ${e.next} |`);return[`---`,`status: new`,`type: background`,`title: Promote lab lock ${o.slice(0,16)}Z`,`summary: Settle ${a.length} lab controls: ${a.join(`, `)}`,`depends:`,`groomed:`,`worktree:`,`dev:`,`---`,``,`## Request`,``,`Design Lab lock from ${t} (${n}), judged against @aistrike-dev/ui ${r}${Rn}, ${o}.`,``,`| Control | Hook | Mode | Old | New |`,`| --- | --- | --- | --- | --- |`,...s,``,`Promote: set each control's Octopus default to New; remove the control from the lab; remove its hook from`,"`DS_HOOKS` and every read of it (the value becomes the constant); record the decision in",`${br}. Leave the change uncommitted.`,``,`## Clarifications`,``,`## Progress`,``].join(`
2
2
  `)}var Er={light:`Light`,dark:`Dark`},Dr=e=>e.old!==e.next;function Or(e){return e.map(e=>{let t=Dr(e)?`${e.old} → ${e.next}`:`keep`;return e.mode===null?t:`${Er[e.mode]}: ${t}`}).join(` · `)}function kr({values:e,controls:t,onCancel:n,onConfirm:r}){let i=new Map(t.map(t=>[t.id,wr(e,[t],[t.id])])),[a,s]=(0,X.useState)(()=>new Set(t.filter(e=>i.get(e.id)?.some(Dr)).map(e=>e.id))),c=e=>{s(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n})},l=t.filter(e=>a.has(e.id)).length;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(V,{children:`Lock in`}),(0,Z.jsxs)(se,{children:[(0,Z.jsx)(U,{variant:`body2`,sx:{mb:1.5,color:`var(--ds-text-quiet)`},children:`Tick what this lock settles. Each becomes a row of a backlog item that promotes it to the design system's default.`}),Hn.map(e=>{let n=t.filter(t=>t.group===e.id);return n.length===0?null:(0,Z.jsxs)(o,{component:`section`,"aria-label":e.label,sx:{mb:1.5},children:[(0,Z.jsx)(U,{variant:`overline`,component:`h3`,sx:{display:`block`},children:e.label}),n.map(e=>(0,Z.jsxs)(o,{component:`label`,sx:{display:`flex`,alignItems:`center`,gap:1,cursor:`pointer`},children:[(0,Z.jsx)(ct,{size:`small`,checked:a.has(e.id),onChange:()=>c(e.id),slotProps:{input:{"aria-label":e.label}}}),(0,Z.jsx)(U,{variant:`body2`,component:`span`,sx:{flex:1},children:e.label}),(0,Z.jsx)(U,{variant:`caption`,component:`span`,sx:{fontFamily:C.mono,color:`var(--ds-text-quiet)`,textAlign:`right`},children:Or(i.get(e.id)??[])})]},e.id))]},e.id)})]}),(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(J,{variant:`ghost`,onClick:n,children:`Cancel`}),(0,Z.jsx)(J,{variant:`primary`,disabled:l===0,onClick:()=>r(t.filter(e=>a.has(e.id)).map(e=>e.id)),children:`Lock ${l}`})]})]})}function Ar({open:e,onCancel:t,container:n,...r}){return(0,Z.jsx)(Oe,{open:e,onClose:t,container:n,fullWidth:!0,maxWidth:`sm`,children:(0,Z.jsx)(kr,{...r,onCancel:t})})}var jr=`style[data-ds-theme]`,Mr=[`fonts.googleapis.com`,`fonts.bunny.net`,`use.typekit.net`,`fonts.adobe.com`];function Nr(e,t){for(let{name:n}of Array.from(t.attributes))e.hasAttribute(n)||t.removeAttribute(n);for(let{name:n,value:r}of Array.from(e.attributes))t.getAttribute(n)!==r&&t.setAttribute(n,r)}function Pr(e,t){let n=e.head.querySelector(jr),r=t.head.querySelector(jr);if(!n){r?.remove();return}r||(r=t.createElement(`style`),r.setAttribute(`data-ds-theme`,``),t.head.appendChild(r)),r.textContent!==n.textContent&&(r.textContent=n.textContent)}var Fr=`data-ds-mirror-font`;function Ir(e,t){let n=new Set,r=``;for(let t of Array.from(e.styleSheets)){let e;try{e=t.cssRules}catch{continue}t.href&&n.add(t.href);for(let t of Array.from(e))t instanceof CSSFontFaceRule&&(r+=`${t.cssText}\n`)}if(r&&!t.head.querySelector(`style[${Fr}]`)){let e=t.createElement(`style`);e.setAttribute(Fr,``),e.textContent=r,t.head.appendChild(e)}let i=new Set(Array.from(t.head.querySelectorAll(`link[${Fr}]`),e=>e.href));for(let r of Array.from(e.head.querySelectorAll(`link[rel="stylesheet"]`))){if(!Mr.some(e=>r.href.includes(e))||n.has(r.href)||i.has(r.href))continue;let e=t.createElement(`link`);e.setAttribute(Fr,``),e.rel=`stylesheet`,e.href=r.href,t.head.appendChild(e),i.add(r.href)}}function Lr(e,t){let n=()=>{Nr(e.documentElement,t.documentElement),Pr(e,t)};n(),Ir(e,t);let r=new MutationObserver(n);r.observe(e.documentElement,{attributes:!0});let i=()=>Pr(e,t),a=e.defaultView;return a?.addEventListener(Pe,i),()=>{r.disconnect(),a?.removeEventListener(Pe,i)}}var Rr=new Set([404,405]);function zr(e,t){let n=URL.createObjectURL(new Blob([t],{type:`text/markdown`})),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0)}async function Br(e){if(e.status!==200)return null;try{let t=await e.json(),n=typeof t==`object`&&t?t.file:void 0;return typeof n==`string`&&n!==``?n:null}catch{return null}}async function Vr(e,t,n){let{endpoint:r,fetch:i=fetch,download:a=zr}=n,o=null,s;try{let n=await i(r,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({fileName:t,markdown:e})});o=await Br(n),!n.ok&&!Rr.has(n.status)&&(s=n.status)}catch{}return o===null?(a(t,e),s===void 0?{kind:`downloaded`,file:t}:{kind:`downloaded`,file:t,refused:s}):{kind:`written`,file:o}}var Hr=e=>{window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))},Ur=`aistrike.lab.snapshots`,Wr=`aistrike.lab.snapshot`;function Gr(e=localStorage){try{return e.getItem(`aistrike.lab.snapshot`)??``}catch{return``}}function Kr(e,t=localStorage){try{t.setItem(Wr,e)}catch{}}function qr(e=localStorage){try{let t=JSON.parse(e.getItem(`aistrike.lab.snapshots`)??`[]`);return Array.isArray(t)?t.filter(e=>typeof e?.name==`string`):[]}catch{return[]}}function Jr(e,t=localStorage){try{t.setItem(Ur,JSON.stringify(e))}catch{}}function Yr(e,t,n,r){let i=dr(r),a=Object.fromEntries(Object.entries(t.store.get()).filter(([e,t])=>t!==i[e])),o={};for(let e of n.definitions()){let t=n.picked(e.id);t!==void 0&&t!==e.baseline&&(o[e.id]=t)}return{name:e,design:a,switches:o}}function Xr(e,t){let n=e.findIndex(e=>e.name===t.name);return n===-1?[...e,t]:e.map((e,r)=>r===n?t:e)}function Zr(e,t,n){t.replace(e.design),n.reset(`experiment`),n.reset(`scenario`),n.setMany(e.switches)}var Qr=`aria-label`,$r={padding:`0 16px 8px`,display:`flex`,gap:8,alignItems:`center`};function ei({lab:e,controls:t,session:n,notify:r}){let[i,a]=(0,X.useState)(()=>qr()),[o,s]=(0,X.useState)(Gr),c=e=>{Kr(e),s(e)},[l,u]=(0,X.useState)(null),d=e=>{Jr(e),a(e)},f=t=>{let a=i.find(e=>e.name===t);a!==void 0&&(Zr(a,e,n),c(t),r(`Loaded ${t}`))},p=(a,o)=>{d(Xr(i,Yr(a,e,n,t))),c(a),u(null),r(`${o} ${a}`)},m=()=>{let e=(l??``).trim();e!==``&&p(e,`Saved`)};return l===null?(0,Z.jsxs)(`div`,{style:$r,children:[(0,Z.jsx)(I,{fullWidth:!0,displayEmpty:!0,size:`small`,value:i.some(e=>e.name===o)?o:``,onChange:e=>f(String(e.target.value)),renderValue:e=>e===``?i.length===0?`No snapshots yet`:`Load a snapshot`:e,SelectDisplayProps:{[Qr]:`Snapshots`},children:i.map(e=>(0,Z.jsx)(G,{value:e.name,children:e.name},e.name))}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,disabled:!i.some(e=>e.name===o),onClick:()=>p(o,`Updated`),children:`Update`}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:()=>u(``),children:`Save`}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,disabled:!i.some(e=>e.name===o),onClick:()=>{d(i.filter(e=>e.name!==o)),r(`Deleted ${o}`),c(``)},children:`Delete`})]}):(0,Z.jsxs)(`div`,{style:$r,children:[(0,Z.jsx)(ue,{autoFocus:!0,fullWidth:!0,size:`small`,placeholder:`Snapshot name`,value:l,slotProps:{htmlInput:{[Qr]:`Snapshot name`}},onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`?m():e.key===`Escape`&&u(null)}}),(0,Z.jsx)(J,{variant:`primary`,size:`small`,disabled:l.trim()===``,onClick:m,children:`Save`}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:()=>u(null),children:`Cancel`})]})}var ti=`var(--ds-text-quiet)`,ni=`aria-label`;function ri({query:e}){return(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,color:ti},children:`Nothing matches "${e.trim()}".`})}var ii=500;function ai(){return(0,X.useSyncExternalStore)(e=>{window.addEventListener(`popstate`,e);let t=window.setInterval(e,ii);return()=>{window.removeEventListener(`popstate`,e),window.clearInterval(t)}},()=>window.location.pathname)}var oi=e=>e.group??`Other`,si=e=>e.options.length===2&&e.options[0]?.id===`off`&&e.options[1]?.id===`on`;function ci({definition:e,session:t,copy:n,go:r}){let i=t.picked(e.id)??e.baseline,a=e.options.find(e=>e.id===i),o=si(e);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,gap:8},children:[(0,Z.jsx)(U,{variant:`subtitle2`,component:`span`,sx:{flex:1,minWidth:0},children:e.title}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,title:`Copy the id`,"aria-label":`Copy ${e.id}`,onClick:()=>n(e.id,e.id),sx:{fontFamily:C.mono,textTransform:`none`,minWidth:0,px:.5,color:ti},children:e.id})]}),e.description===void 0?null:(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,mb:.75,color:ti},children:e.description}),(0,Z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[o?(0,Z.jsx)(dn,{sx:{flex:1,m:0},label:i===`on`?`On`:`Off`,control:(0,Z.jsx)(ht,{size:`small`,checked:i===`on`,slotProps:{input:{[ni]:e.title}},onChange:(...[,n])=>t.set(e.id,n?`on`:`off`)})}):(0,Z.jsx)(I,{fullWidth:!0,size:`small`,value:i,onChange:n=>t.set(e.id,String(n.target.value)),SelectDisplayProps:{[ni]:e.title},children:e.options.map(t=>(0,Z.jsx)(G,{value:t.id,children:t.id===e.baseline?`${t.label} (ships)`:t.label},t.id))}),r===void 0?null:(0,Z.jsx)(J,{variant:`secondary`,size:`small`,onClick:r,children:`Go`})]}),o?null:(0,Z.jsxs)(U,{variant:`caption`,component:`p`,sx:{m:0,mt:.5,color:ti},children:[(0,Z.jsx)(`span`,{style:{fontFamily:C.mono},children:i}),a?.description===void 0?null:` · ${a.description}`]})]})}var li={experiment:{one:`experiment`,many:`Experiments`,register:`registerExperiment`},scenario:{one:`scenario`,many:`Scenarios`,register:`registerScenario`}};function ui({kind:e,session:t,navigate:n,copy:r,query:i=``}){(0,X.useSyncExternalStore)(t.subscribe,()=>t.shared.revision);let a=ai(),[o,s]=(0,X.useState)(!1),c=t.definitions(e),l=i.trim()!==``,u=c.filter(e=>Qn(i,er(e))),d=u.filter(e=>t.applies(e,a)),f=u.filter(e=>!d.includes(e)),p=li[e],m=e=>{let r=t.hrefOf(e);if(r!==void 0||e.when!==void 0)return()=>{t.setMany(e.when??{}),r!==void 0&&n(r)}},h=(e,n)=>(0,Z.jsx)(ci,{definition:e,session:t,copy:r,go:n?m(e):void 0},e.id),g=(e,t)=>c.some(e=>e.group!==void 0)?[...new Set(c.map(oi))].filter(t=>e.some(e=>oi(e)===t)).map(n=>(0,Z.jsxs)(`section`,{"aria-label":n,style:{display:`grid`,gap:14},children:[(0,Z.jsx)(U,{variant:`subtitle2`,component:`h3`,sx:{m:0,mt:.5,color:ti},children:n}),e.filter(e=>oi(e)===n).map(e=>h(e,t))]},n)):e.map(e=>h(e,t)),_=e===`experiment`?be(t):``;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{role:`tabpanel`,"aria-label":p.many,style:{flex:1,minHeight:0,overflowY:`auto`,padding:`4px 16px 12px`,display:`grid`,alignContent:`start`,gap:14},children:c.length===0?(0,Z.jsxs)(U,{variant:`body2`,component:`p`,sx:{m:0,color:ti},children:[`No ${p.one} is registered. An app declares one with `,(0,Z.jsx)(`span`,{style:{fontFamily:C.mono},children:p.register}),` from `,(0,Z.jsx)(`span`,{style:{fontFamily:C.mono},children:`@aistrike-dev/ui/experiments`}),`.`]}):l&&u.length===0?(0,Z.jsx)(ri,{query:i}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(U,{variant:`overline`,component:`h2`,sx:{m:0,color:ti},children:`On this page`}),d.length===0?(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,color:ti},children:`No ${p.one} applies here.`}):g(d,!1),f.length===0?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(J,{variant:`ghost`,size:`small`,"aria-expanded":o,onClick:()=>s(e=>!e),sx:{justifySelf:`start`},children:`${o?`Hide`:`Show`} library (${f.length})`}),o||l?g(f,!0):null]})]})}),(0,Z.jsxs)(`div`,{style:{padding:`10px 16px 12px`,display:`flex`,gap:8,justifyContent:`flex-end`,borderTop:`1px solid var(--ds-separator)`},children:[(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:()=>t.reset(e),children:`Reset`}),e===`experiment`?(0,Z.jsx)(J,{variant:`primary`,size:`small`,disabled:_===``,onClick:()=>r(_,`the picks`),children:`Copy picks`}):null]})]})}var di=`6.0.0-alpha.13`,fi=`/__octopus/lab/lock`;function pi(e){return e.kind===`written`?`Locked: ${e.file}`:e.refused===void 0?`Downloaded ${e.file}: no design-system checkout is configured`:`Downloaded ${e.file}: the dev server refused the lock (${e.refused})`}var mi=`aistrike.lab.section`,hi=`aistrike.lab.scroll`,gi=`section[aria-label="Design Lab"] [role="tabpanel"]`;function _i(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function vi(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var yi=[{id:`design`,label:`Design`},{id:`experiment`,label:`Experiments`},{id:`scenario`,label:`Scenarios`}],bi=4,xi=`aria-label`,Si={light:`Light`,dark:`Dark`},Ci=`var(--ds-text-quiet)`,wi=e=>(String(e).split(`.`)[1]??``).length;function Ti(e,t){let n=Math.round((t-e.min)/e.step),r=Number((e.min+n*e.step).toFixed(Math.max(wi(e.step),wi(e.min))));return Math.min(e.max,Math.max(e.min,r))}function Ei({label:e,question:t}){return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(U,{variant:`subtitle2`,component:`span`,children:e}),(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,mb:.75,color:Ci},children:t})]})}function Di({control:e,label:t,value:n,other:r,onChange:i}){return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`baseline`},children:[(0,Z.jsx)(U,{variant:`subtitle2`,component:`span`,children:t}),(0,Z.jsx)(U,{variant:`caption`,component:`span`,sx:{fontVariantNumeric:`tabular-nums`},children:`${n}${e.unit}`})]}),(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,color:Ci},children:e.question}),(0,Z.jsx)(qt,{size:`small`,"aria-label":t,min:e.min,max:e.max,step:e.step,value:n,onChange:(...[,t])=>i(Ti(e,Array.isArray(t)?t[0]??n:t))}),r===void 0?null:(0,Z.jsx)(U,{variant:`caption`,component:`p`,sx:{m:0,color:Ci,fontVariantNumeric:`tabular-nums`},children:`${Si[r.mode]}: ${r.value}${e.unit}`})]})}function Oi({control:e,value:t,onChange:n}){return e.options.length>bi?(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(Ei,{label:e.label,question:e.question}),(0,Z.jsx)(I,{fullWidth:!0,size:`small`,value:t,onChange:e=>n(String(e.target.value)),SelectDisplayProps:{[xi]:e.label},children:e.options.map(e=>(0,Z.jsx)(G,{value:e.value,children:e.label},e.value))})]}):(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(Ei,{label:e.label,question:e.question}),(0,Z.jsx)(sn,{exclusive:!0,fullWidth:!0,size:`small`,"aria-label":e.label,value:t,onChange:(...[,e])=>{e!==null&&n(e)},children:e.options.map(e=>(0,Z.jsx)(tn,{value:e.value,sx:{textTransform:`none`,py:.25},children:e.label},e.value))})]})}function ki({control:e,values:t,mode:n,set:r}){if(e.kind===`choice`)return(0,Z.jsx)(Oi,{control:e,value:String(t[e.id]??e.default),onChange:t=>r(e.id,t)});if(or(e)&&typeof e.default==`object`){let i=n===`light`?`dark`:`light`;return(0,Z.jsx)(Di,{control:e,label:`${e.label} (${n})`,value:Number(t[sr(e,n)]??e.default[n]),other:{mode:i,value:Number(t[sr(e,i)]??e.default[i])},onChange:t=>r(e.id,t,n)})}return(0,Z.jsx)(Di,{control:e,label:e.label,value:Number(t[e.id]??e.default),onChange:t=>r(e.id,t)})}function Ai(){return typeof location>`u`?{url:``,host:``}:{url:location.href,host:location.host}}function ji({lab:e,controls:t,lockEndpoint:n,submit:r,experiments:i,navigate:a,container:o,actions:s}){let c=nr(e.store,e=>e),l=(0,X.useSyncExternalStore)(i.subscribe,()=>i.isPaused()),[u,d]=(0,X.useState)(()=>{let e=_i(mi,`design`);return yi.some(t=>t.id===e)?e:`design`}),f=e=>{vi(mi,e),d(e)};(0,X.useLayoutEffect)(()=>{let e=_i(hi,{})[u],t=o.querySelector(gi);t!==null&&typeof e==`number`&&(t.scrollTop=e)},[u,o]);let p=e=>{e.target===o.querySelector(gi)&&vi(hi,{..._i(hi,{}),[u]:e.target.scrollTop})},[m,h]=(0,X.useState)({design:``,experiment:``,scenario:``}),g=m[u],_=yi.find(e=>e.id===u)?.label??``,v=g.trim()!==``,y=cr(document.documentElement),[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(null),w=Hn.filter(e=>t.some(t=>t.group===e.id)),[T,E]=(0,X.useState)(null),D=w.find(e=>e.id===T)?.id??w[0]?.id,ee=async i=>{x(!1);try{let a=new Date;C(pi(await r(Tr({rows:wr(e.store.get(),t,i),...Ai(),version:di,lockedAt:a}),Bn(a),{endpoint:n})))}catch(e){C(`Lock failed: ${e instanceof Error?e.message:String(e)}`)}},O=(e,t)=>{let n=o.ownerDocument.defaultView?.navigator.clipboard;(n===void 0?Promise.reject(Error(`no clipboard`)):n.writeText(e)).then(()=>C(`Copied ${t}`),()=>C(e))},te=v?t.filter(e=>Qn(g,$n(e))):t.filter(e=>e.group===D),k=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{style:{padding:`4px 16px 8px`,display:v?`none`:void 0},children:(0,Z.jsx)(I,{fullWidth:!0,size:`small`,value:D??``,onChange:e=>E(e.target.value),SelectDisplayProps:{[xi]:`Control group`},children:w.map(e=>(0,Z.jsx)(G,{value:e.id,children:e.label},e.id))})}),(0,Z.jsxs)(`div`,{role:`tabpanel`,"aria-label":v?`Matching controls`:w.find(e=>e.id===D)?.label,style:{flex:1,minHeight:0,overflowY:`auto`,padding:`4px 16px 12px`,display:`grid`,alignContent:`start`,gap:14},children:[te.map(t=>(0,Z.jsx)(ki,{control:t,values:c,mode:y,set:e.set},t.id)),te.length===0?(0,Z.jsx)(ri,{query:g}):null]}),(0,Z.jsxs)(`div`,{style:{padding:`10px 16px 12px`,display:`flex`,gap:8,justifyContent:`flex-end`,borderTop:`1px solid var(--ds-separator)`},children:[(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:()=>e.reset(),children:`Reset`}),(0,Z.jsx)(J,{variant:`primary`,size:`small`,onClick:()=>x(!0),children:`Lock in`})]})]});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(pe,{rung:`raised`,component:`section`,"aria-label":`Design Lab`,onScrollCapture:p,sx:{height:`100vh`,display:`flex`,flexDirection:`column`,borderRadius:0},children:[(0,Z.jsxs)(`div`,{style:{padding:`12px 16px 4px`,display:`flex`,alignItems:`center`,gap:8},children:[(0,Z.jsx)(dn,{sx:{m:0,flex:1,justifyContent:`space-between`},labelPlacement:`start`,label:(0,Z.jsx)(U,{variant:`subtitle2`,component:`span`,children:l?`Overrides off: as it ships`:`Overrides on`}),control:(0,Z.jsx)(ht,{size:`small`,checked:!l,slotProps:{input:{[xi]:`Overrides`}},onChange:(...[,e])=>i.setPaused(!e)})}),s]}),(0,Z.jsx)(ei,{lab:e,controls:t,session:i,notify:C}),(0,Z.jsx)(`div`,{style:{padding:`0 16px 8px`},children:(0,Z.jsx)(Mn,{value:u,variant:`fullWidth`,sx:{display:`flex`},"aria-label":`Lab sections`,onChange:(...[,e])=>f(e),children:yi.map(e=>(0,Z.jsx)(Ln,{value:e.id,label:e.label},e.id))})}),(0,Z.jsx)(`div`,{style:{padding:`0 16px 4px`},children:(0,Z.jsx)(R,{fullWidth:!0,size:`small`,value:g,onChange:e=>h({...m,[u]:e}),placeholder:`Filter ${_.toLowerCase()}`,slotProps:{htmlInput:{[xi]:`Filter ${_.toLowerCase()}`}}})}),u===`design`?k:(0,Z.jsx)(ui,{kind:u,session:i,navigate:a,copy:O,query:g})]}),(0,Z.jsx)(Ar,{open:b,values:c,controls:t,container:o,onCancel:()=>x(!1),onConfirm:e=>{ee(e)}}),(0,Z.jsx)(we,{open:S!==null,message:S??``,autoHideDuration:8e3,anchorOrigin:{vertical:`bottom`,horizontal:`right`},onClose:(...[,e])=>{e!==`clickaway`&&C(null)}})]})}var Mi={disableNestedContext:!0};function Ni(e){return e.title=`Design Lab`,Lr(document,e)}function Pi({lab:e,target:t,controls:n=qn,lockEndpoint:i=fi,submit:a=Vr,experiments:o=Ae(),navigate:s=Hr,actions:c}){let l=(0,X.useMemo)(()=>L({key:`lab`,container:t.document.head}),[t]);(0,X.useLayoutEffect)(()=>Ni(t.document),[t]);let u=t.document.body;return(0,Vn.createPortal)((0,Z.jsx)(de,{value:l,children:(0,Z.jsxs)(B,{theme:ye,...Mi,children:[(0,Z.jsx)(r,{}),(0,Z.jsx)(ji,{lab:e,controls:n,lockEndpoint:i,submit:a,experiments:o,navigate:s,container:u,actions:c})]})}),u)}var Fi=1250,Ii=`--ds-lab-dock`,Li=`octopus.lab.pinned`;function Ri(){try{return localStorage.getItem(Li)===`1`}catch{return!1}}function zi(e){try{localStorage.setItem(Li,e?`1`:`0`)}catch{}}function Bi(e){let t=`${String(Jn.width)}px`;return(0,X.useLayoutEffect)(()=>{let e=document.documentElement;return e.style.setProperty(Ii,t),()=>{e.style.removeProperty(Ii)}},[t]),(0,Z.jsx)(`div`,{style:{position:`fixed`,top:0,right:0,bottom:0,width:t,zIndex:Fi,borderLeft:`1px solid var(--ds-separator)`},children:(0,Z.jsx)(ji,{...e})})}function Vi({lab:e,controls:t=qn,lockEndpoint:n=fi,submit:r=Vr,open:i=Zn,supported:a=Xn(),experiments:o=Ae(),navigate:s=Hr}){(0,X.useLayoutEffect)(()=>{o.activate()},[o]);let[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(()=>a&&Ri()),f=e=>{zi(e),d(e)},[p,m]=(0,X.useState)(!1),h=(0,X.useRef)(!0);(0,X.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,X.useEffect)(()=>{if(c===null)return;let e=!1,t=()=>{e=!0,l(null)};return c.addEventListener(`pagehide`,t),()=>{c.removeEventListener(`pagehide`,t),e||c.close()}},[c]);let g=()=>{m(!0),i().then(e=>{if(!h.current){e.close();return}m(!1),f(!1),l(e)},e=>{h.current&&m(!1),console.warn(`Design Lab: the window did not open.`,e)})},_={lab:e,controls:t,lockEndpoint:n,submit:r,experiments:o,navigate:s};if(c!==null){let e=()=>{f(!0),l(null)};return(0,Z.jsx)(Pi,{..._,target:c,actions:(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:e,children:`Pin`})})}if(u){let e=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(J,{variant:`ghost`,size:`small`,disabled:p,onClick:g,children:`Float`}),(0,Z.jsx)(J,{variant:`ghost`,size:`small`,onClick:()=>f(!1),children:`Close`})]});return(0,Z.jsx)(Bi,{..._,container:document.body,actions:e})}return(0,Z.jsxs)(`div`,{style:{position:`fixed`,left:100,bottom:14,zIndex:Fi,display:`flex`,alignItems:`center`,gap:8},children:[(0,Z.jsx)(J,{variant:`secondary`,size:`small`,startIcon:(0,Z.jsx)(Ee,{}),"aria-label":`Open Design Lab`,disabled:!a||p,onClick:g,children:`Design Lab`}),a?null:(0,Z.jsx)(U,{variant:`caption`,component:`span`,sx:{color:`var(--ds-text-quiet)`},children:Yn})]})}var Hi;function Ui(){return Hi===void 0&&Xn()&&(Hi=yr({controls:qn})),Hi}function Wi(){Hi?.dispose(),Hi=void 0,_r(qn)}function Gi(){return yr({controls:qn,root:document.createElement(`html`),storage:{getItem:()=>null,setItem:()=>void 0,removeItem:()=>void 0},observeMode:()=>()=>void 0})}function Ki(){let e=Ui();return e===void 0?(0,Z.jsx)(Vi,{lab:Gi(),supported:!1}):(0,Z.jsx)(Vi,{lab:e})}export{Ki as default,Wi as dropLab,Ui as getLab};