everyscreen 0.0.0-stage → 0.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/LICENSE +21 -0
- package/README.md +241 -2
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +2958 -0
- package/dist/commands-logic-DVWfSe3O.mjs +217 -0
- package/dist/dashboard/assets/button-N-Nucq_K.js +1 -0
- package/dist/dashboard/assets/cn-DMYzmXtt.js +1 -0
- package/dist/dashboard/assets/device-status-logic-Silf3YXA.js +1 -0
- package/dist/dashboard/assets/devices-5pEUg6rA.js +1 -0
- package/dist/dashboard/assets/dist-CnPFbxes.js +1 -0
- package/dist/dashboard/assets/focus._deviceId-DGel-kWw.js +1 -0
- package/dist/dashboard/assets/frame-layout-logic-H_x71NvW.js +1 -0
- package/dist/dashboard/assets/index-DNHZ-i1B.css +2 -0
- package/dist/dashboard/assets/index-DwPQ0eY_.js +10 -0
- package/dist/dashboard/assets/modal-dialog-BaO9xkRr.js +1 -0
- package/dist/dashboard/assets/rolldown-runtime-WkwZ5CU-.js +1 -0
- package/dist/dashboard/assets/routes-CUFa9tL0.js +1 -0
- package/dist/dashboard/assets/run-origin-badge-BeFqg0AC.js +1 -0
- package/dist/dashboard/assets/runs-queries-BYBE7R9S.js +2 -0
- package/dist/dashboard/assets/runs._runId-CokpJ1Rr.js +1 -0
- package/dist/dashboard/assets/runs.index-ZsynzkKU.js +1 -0
- package/dist/dashboard/assets/schemas-BPFqmBjG.js +55 -0
- package/dist/dashboard/assets/screen-boundary-BauyD9pu.js +1 -0
- package/dist/dashboard/assets/status-chip-yqTTTuyZ.js +1 -0
- package/dist/dashboard/assets/tile-status-chip-DisgbNnH.js +1 -0
- package/dist/dashboard/assets/toggle-nciug_di.js +1 -0
- package/dist/dashboard/assets/use-run-totals-B3G4yamQ.js +1 -0
- package/dist/dashboard/assets/useNavigate-8mkM-ffY.js +1 -0
- package/dist/dashboard/assets/useParams-D2lK5BEg.js +1 -0
- package/dist/dashboard/index.html +29 -0
- package/dist/devices-store-edScJDie.mjs +1228 -0
- package/dist/playwright-logic-QFlBFspE.d.mts +138 -0
- package/dist/playwright.d.mts +2 -0
- package/dist/playwright.mjs +18 -0
- package/dist/read-hub-file-N4rZ-6Wr.mjs +180 -0
- package/dist/report-hub-trouble-BjbcuK21.d.mts +2 -0
- package/dist/report-hub-trouble-CaUiyteI.mjs +41 -0
- package/dist/reporter.d.mts +47 -0
- package/dist/reporter.mjs +250 -0
- package/dist/run-one-at-a-time-BeV_a3Fm.mjs +48 -0
- package/dist/runs-store-Bd_ITPFj.mjs +283 -0
- package/dist/test.d.mts +11 -0
- package/dist/test.mjs +69 -0
- package/package.json +106 -4
- package/src/dashboard/ui/theme.css +28 -0
- package/src/skill/SKILL.md +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-WkwZ5CU-.js";import{N as t,P as n,a as r,i,t as a}from"./cn-DMYzmXtt.js";import{n as o,t as s}from"./button-N-Nucq_K.js";import{n as c,o as l}from"./dist-CnPFbxes.js";import{a as u,i as d,n as f,o as p,r as m,s as h,t as g}from"./schemas-BPFqmBjG.js";import{t as _}from"./toggle-nciug_di.js";import{n as v,r as y,t as b}from"./frame-layout-logic-H_x71NvW.js";import{n as x,t as S}from"./screen-boundary-BauyD9pu.js";var C=e(n(),1),w=e=>e.type===`checkbox`,ee=e=>e.type===`file`,T=e=>e instanceof Date,E=e=>e==null,D=e=>typeof e==`object`,O=e=>!E(e)&&!Array.isArray(e)&&D(e)&&!T(e),te=e=>O(e)&&e.target?w(e.target)?e.target.checked:ee(e.target)?e.target.files:e.target.value:e,k=/[.[\]'"]/,A=e=>e.split(k).filter(Boolean),ne=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),re=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function j(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e);let t=typeof Blob<`u`&&e instanceof Blob,n=typeof FileList<`u`&&e instanceof FileList;if(re&&(t||n))return e;let r=Array.isArray(e),i=Object.getPrototypeOf(e);if(!r&&i&&i.constructor!==Object)return e;let a=r?Array(e.length):Object.create(i);for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(a[t]=j(e[t]));return a}var ie={BLUR:`blur`,FOCUS_OUT:`focusout`,CHANGE:`change`,SUBMIT:`submit`,TRIGGER:`trigger`,VALID:`valid`},M={onBlur:`onBlur`,onChange:`onChange`,onSubmit:`onSubmit`,onTouched:`onTouched`,all:`all`},N={max:`max`,min:`min`,maxLength:`maxLength`,minLength:`minLength`,pattern:`pattern`,required:`required`,validate:`validate`},ae=[N.required,N.min,N.max,N.minLength,N.maxLength,N.pattern,N.validate],oe=`form`,se=`root`,P=[`__proto__`,`constructor`,`prototype`],ce=/^\w*$/,le=e=>ce.test(e),F=e=>e===void 0,I=(e,t,n)=>{if(!t||!O(e))return n;let r=le(t)?[t]:A(t);if(r.some(e=>P.includes(e)))return n;let i=r.reduce((e,t)=>E(e)?void 0:e[t],e);return F(i)||i===e?F(e[t])?n:e[t]:i},L=e=>typeof e==`boolean`,R=e=>typeof e==`function`,z=(e,t,n)=>{let r=-1,i=le(t)?[t]:A(t),a=i.length,o=a-1;for(;++r<a;){let t=i[r],a=n;if(r!==o){let n=e[t];a=O(n)||Array.isArray(n)?n:isNaN(+i[r+1])?{}:[]}if(P.includes(t))return;e[t]=a,e=e[t]}},B=C.createContext(null);B.displayName=`HookFormControlContext`;var ue=(e,t,n,r=!0)=>{let i={};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==M.all&&(t._proxyFormState[i]=!r||M.all),n&&(n[i]=!0),e[i]}});return i},V=re?C.useLayoutEffect:C.useEffect,de=e=>{let t=e.constructor&&e.constructor.prototype;return O(t)&&t.hasOwnProperty(`isPrototypeOf`)},fe=e=>E(e)||!D(e),pe=(e,t)=>t.length===0&&!Array.isArray(e)&&Object.getPrototypeOf(e)!==null&&!de(e);function H(e,t,n=!1,r=new WeakMap){if(e===t)return!0;if(fe(e)||fe(t))return Object.is(e,t);if(T(e)&&T(t))return Object.is(e.getTime(),t.getTime());if(Array.isArray(e)&&Array.isArray(t)&&e.length!==t.length)return!1;let i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;if(pe(e,i)||pe(t,a))return Object.is(e,t);if(!i.length&&Array.isArray(e)!==Array.isArray(t))return!1;let o=r.get(e);if(o&&o.has(t))return!0;if(o)o.add(t);else{let n=new WeakSet;n.add(t),r.set(e,n)}for(let a of i){let i=e[a];if(!Object.prototype.hasOwnProperty.call(t,a))return!1;if(!n||a!==`ref`){let e=t[a];if(T(i)&&T(e)||(O(i)||Array.isArray(i))&&(O(e)||Array.isArray(e))?!H(i,e,n,r):!Object.is(i,e))return!1}}return!0}function me(e){let t=C.useRef(!1),n=C.useRef(!1),r=C.useRef(void 0),i=C.useRef(0);return i.current++,!n.current&&e&&(n.current=!0,r.current=j(e())),{resyncIfNeeded:C.useCallback((e,a,o)=>{if(e&&(t.current||n.current&&i.current>1)){let e=a();H(r.current,e)||o(e)}t.current=!0},[]),snapshot:C.useCallback((e,t)=>{e&&(r.current=j(t()))},[])}}var U=e=>typeof e==`string`,he=(e,t,n,r,i)=>U(e)?(r&&t.watch.add(e),I(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),I(n,e,I(i,e)))):(r&&(t.watchAll=!0),n),ge=e=>({isOnSubmit:!e||e===M.onSubmit,isOnBlur:e===M.onBlur,isOnChange:e===M.onChange,isOnAll:e===M.all,isOnTouch:e===M.onTouched}),_e=(e,t,n)=>{if(n)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let n of t.watch)if(e.startsWith(n)&&e.charAt(n.length)===`.`)return!0;return!1},ve=(e,t,n)=>{for(let r of n||Object.keys(e)){if(r===`_f`)continue;let i=n?I(e,r):e[r];if(i){let{_f:e}=i;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],e.name)||e.ref&&t(e.ref,e.name)||ve(i,t))return!0}else if((O(i)||Array.isArray(i))&&ve(i,t))return!0}}},ye=(e,t,n)=>{let r=I(e,n),i=Array.isArray(r)?r:[];return z(i,se,t[n]),z(e,n,i),e},W=e=>O(e)&&!Object.keys(e).length,be=e=>{if(!re)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},G=e=>e.type===`radio`,xe=e=>e instanceof RegExp,Se=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},Ce={value:!1,isValid:!1},we={value:!0,isValid:!0},Te=e=>{if(!Array.isArray(e))return Ce;if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}let t=e[0];return!t||!t.checked||t.disabled?Ce:!t.attributes||!(`value`in t.attributes)||F(t.value)||t.value===``?we:{value:t.value,isValid:!0}},Ee={isValid:!1,value:null},K=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Ee):Ee;function De(e,t,n=`validate`){if(U(e)||Array.isArray(e)&&e.length&&e.every(U)||L(e)&&!e)return{type:n,message:U(e)?e:``,ref:t}}var q=e=>O(e)&&!xe(e)?e:{value:e,message:``},Oe=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:f,pattern:p,validate:m,name:h,valueAsNumber:g,mount:_,_c:v}=e._f,y=I(n,h);if(!_||t.has(h))return{};let b=s?s[0]:o,x=e=>{if(i&&b.reportValidity){let t=L(e)?``:e||``;s?s.forEach(e=>R(e.setCustomValidity)&&e.setCustomValidity(t)):b.setCustomValidity(t),b.reportValidity()}},S={},C=!v&&G(o),D=!v&&w(o),te=C||D,k=(g||ee(o))&&F(o.value)&&F(y)||be(o)&&o.value===``&&!v||y===``||Array.isArray(y)&&!y.length,A=Se.bind(null,h,r,S),ne=(e,t,n,r=N.maxLength,i=N.minLength)=>{let a=e?t:n;S[h]={type:e?r:i,message:a,ref:o,...A(e?r:i,a)}};if(a?!Array.isArray(y)||!y.length:c&&(!te&&(k||E(y))||L(y)&&!y||D&&!Te(s).isValid||C&&!K(s).isValid)){let{value:e,message:t}=U(c)?{value:!!c,message:c}:q(c);if(e&&(S[h]={type:N.required,message:t,ref:b,...A(N.required,t)},!r))return x(t),S}if(!k&&(!E(d)||!E(f))){let e,t,n=q(f),i=q(d);if(!E(y)&&!T(y)&&!isNaN(y)){let r=!v&&o.valueAsNumber||y&&+y;E(n.value)||(e=r>n.value),E(i.value)||(t=r<i.value)}else{let r=!v&&o.valueAsDate||new Date(y),a=e=>new Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;U(n.value)&&y&&(e=s?a(y)>a(n.value):c?y>n.value:r>new Date(n.value)),U(i.value)&&y&&(t=s?a(y)<a(i.value):c?y<i.value:r<new Date(i.value))}if((e||t)&&(ne(!!e,n.message,i.message,N.max,N.min),!r))return x(S[h].message),S}if((!E(l)||!E(u))&&!k&&(U(y)||a&&Array.isArray(y))){let e=q(l),t=q(u),n=!E(e.value)&&y.length>+e.value,i=!E(t.value)&&y.length<+t.value;if((n||i)&&(ne(n,e.message,t.message),!r))return x(S[h].message),S}if(p&&!k&&U(y)){let{value:e,message:t}=q(p);if(xe(e)&&!y.match(e)&&(S[h]={type:N.pattern,message:t,ref:o,...A(N.pattern,t)},!r))return x(t),S}if(m){if(R(m)){let e=De(await m(y,n),b);if(e&&(S[h]={...e,...A(N.validate,e.message)},!r))return x(e.message),S}else if(O(m)){let e={};for(let t in m){if(!W(e)&&!r)break;let i=De(await m[t](y,n),b,t);i&&(e={...i,...A(t,i.message)},r||x(i.message),r&&(S[h]=e))}if(!W(e)&&(S[h]={ref:b,...e},!r))return S}}let re=S[h];return x(!re||re.message),S},ke=e=>Array.isArray(e)?e:[e],Ae=e=>Array.isArray(e)?e.filter(Boolean):[];function J(e,t){let n=t.length-1,r=0;for(;r<n;){if(E(e)){e=void 0;break}e=e[t[r]],r++}return e}function je(e){for(let t in e)if(e.hasOwnProperty(t)&&!F(e[t]))return!1;return!0}function Y(e,t){if(U(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let n=Array.isArray(t)?t:le(t)?[t]:A(t);if(n.some(e=>P.includes(String(e))))return e;let r=n.length===1?e:J(e,n),i=n.length-1,a=n[i];return r&&delete r[a],i!==0&&(O(r)&&W(r)||Array.isArray(r)&&je(r))&&Y(e,n.slice(0,-1)),e}var Me=()=>{let e=new Set,t=0;return{get observers(){return Array.from(e)},next:n=>{let r=e;t++;for(let e of r)e.next&&e.next(n);r===e&&t--},subscribe:n=>(e.add(n),{unsubscribe:()=>{t&&=(e=new Set(e),0),e.delete(n)}}),unsubscribe:()=>{e=new Set,t=0}}};function Ne(e,t){let n=Array.isArray(e)?[]:{};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=t[r];i&&(O(i)||Array.isArray(i))&&a?n[r]=Ne(i,a):e[r]&&(n[r]=a)}return n}var X=(e,t)=>e!==null&&D(e)&&Object.prototype.hasOwnProperty.call(e,t),Pe=(e,t)=>{if(!t)return!1;let n=e;for(let r of le(t)?[t]:A(t)){if(!X(n,r))return X(e,t);n=n[r]}return!0},Fe=e=>e.type===`select-multiple`,Ie=e=>{let t=[...e.options];return!e.multiple&&e.size<2&&!t.some(e=>e.defaultSelected)?e.selectedIndex!==t.findIndex(e=>!e.disabled):t.some(e=>e.selected!==e.defaultSelected)},Le=e=>w(e)?e.checked!==e.defaultChecked:e.type===`select-one`||Fe(e)?Ie(e):!G(e)&&`defaultValue`in e&&e.value!==e.defaultValue,Re=e=>G(e)||w(e),ze=e=>be(e)&&e.isConnected;function Be(e){return Array.isArray(e)||O(e)}function Ve(e,t,n=``,r=[]){for(let i in e){let a=n?`${n}.${i}`:i,o=e[i];Be(o)&&Be(I(t,a))?Ve(o,t,a,r):r.push(a)}return r}var He=e=>{for(let t in e)if(R(e[t]))return!0;return!1};function Ue(e){return Array.isArray(e)||O(e)&&!He(e)}function We(e){return!!(e&&`_f`in e)}function Z(e){return Array.isArray(e)?!e.some(e=>!F(e)):!Object.keys(e).length}function Ge(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function Ke(e,t={},n){for(let r in e){let i=e[r],a=n&&n[r];Ue(i)&&(!Array.isArray(i)||!We(a))?(t[r]=Array.isArray(i)?[]:{},Ke(i,t[r],a),Z(t[r])&&Ge(t,r)):F(i)||(t[r]=!0)}return t}function Q(e,t,n,r){n||=Ke(t,Array.isArray(E(t)?e:t)?[]:{},r);for(let i in e){let a=e[i],o=r&&r[i];Ue(a)&&(!Array.isArray(a)||!We(o))?(F(t)||fe(n[i])?n[i]=Ke(a,Array.isArray(a)?[]:{},o):Q(a,E(t)?{}:t[i],n[i],o),Z(n[i])&&Ge(n,i)):H(a,E(t)?void 0:t[i])?Ge(n,i):n[i]=!0}return n}var qe=(e,t)=>{let n=t.split(`.`),r=[],i=n[0];for(let t=1;t<n.length;i+=`.`+n[t++])!isNaN(+n[t])&&e.has(i)&&r.push(`${i}.${n[t]}`);return r},Je=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>F(e)?e:t?e===``?NaN:e&&+e:n&&U(e)?new Date(e):r?r(e):e;function Ye(e){let t=e.ref;return ee(t)?t.files:G(t)?K(e.refs).value:Fe(t)?[...t.selectedOptions].map(({value:e})=>e):w(t)?Te(e.refs).value:Je(t.value,e)}var Xe=(e,t,n,r)=>{let i={};for(let n of e){let e=I(t,n);e&&z(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},Ze=e=>F(e)?e:xe(e)?e.source:O(e)?xe(e.value)?e.value.source:e.value:e,Qe=`AsyncFunction`,$e=e=>{if(!e||!e.validate)return!1;if(R(e.validate))return e.validate.constructor.name===Qe;if(O(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===Qe)return!0}return!1},et=e=>e.mount&&(e.required||!F(e.required)&&e.required!==!1||!F(e.min)||!F(e.max)||!F(e.maxLength)||!F(e.minLength)||e.pattern||e.validate);function tt(e,t,n){let r=I(e,n);if(r&&(r.type||r.message)||Array.isArray(r))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=I(t,r),o=I(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var nt=(e,t,n)=>{let r=Object.keys(e).filter(e=>e!==`name`);return!r.length||n&&r.length>=Object.keys(t).length||r.find(e=>t[e]===(!n||M.all))},rt=(e,t,n)=>n?e===t||e.startsWith(t+`.`):e.startsWith(t)||t.startsWith(e),it=(e,t,n)=>{if(!e||!t||e===t)return!0;if(!Array.isArray(e))return rt(e,t,n);for(let r of e)if(r&&rt(r,t,n))return!0;return!1},at=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:!(n?r.isOnChange:i.isOnChange)||e,ot=(e,t)=>{let n=I(e,t);!Ae(n).length&&!(n&&n.root)&&Y(e,t)},st={mode:M.onSubmit,reValidateMode:M.onChange,shouldFocusError:!0},ct=(e,t)=>{for(let t in e)delete e[t];Object.assign(e,t)},lt={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function ut(e={}){let t={...st,...e},n={...j(lt),isLoading:R(t.defaultValues),errors:j(t.errors)||{},disabled:t.disabled||!1},r={},i=(O(t.defaultValues)||O(t.values))&&j(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:j(i),o={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},s=!1,c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},l={},u={},d=new Set,f=ge(t.mode),p=ge(t.reValidateMode),m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={...m},g={},_=(...e)=>e.some(e=>h[e]||g[e]),v=e=>{for(let t of d)if(it(t.name,e,t.exact))return!0;return!1},y={array:Me(),state:Me()},b=0,x=0,S=0,C={},D=t.criteriaMode===M.all,k=(e,t)=>n=>{clearTimeout(u[e]),u[e]=setTimeout(t,n)},P=e=>{clearTimeout(u[e]),delete u[e],delete l[e]},ce=e=>{P(e);let t=`${e}.`;for(let e of Object.keys(l))e.startsWith(t)&&P(e)},B=async e=>{if(!o.keepIsValid&&!t.disabled&&(_(`isValid`)||e)){let e=++b,i;t.resolver?(i=W((await K()).errors),e===b&&V()):i=await J({fields:r,onlyCheckValid:!0,eventType:ie.VALID}),e===b&&i!==n.isValid&&y.state.next({isValid:i})}},ue=(e,t)=>{let r=[...e];if(!r.some(e=>e&&(t?I(n.validatingFields,e)!==!0:Pe(n.validatingFields,e))))return;let i=j(n.validatingFields);for(let e of r)e&&(t?z(i,e,!0):Y(i,e));H(n.validatingFields,i)||(n.validatingFields=i)},V=(e,r)=>{!t.disabled&&_(`isValidating`,`validatingFields`)&&(ue(e||c.mount,r),y.state.next({validatingFields:n.validatingFields,isValidating:!W(n.validatingFields)}))},de=()=>{n.dirtyFields=Q(i,a,void 0,r)},fe=(e,i=[],c,l,u=!0,d=!0)=>{if(l&&c&&!t.disabled){o.action=!0,o.keepIsValid=!1;let t=I(r,e),a=t&&t._f,f=a?Object.assign([],t):t;if(o.actionArrayLengths.has(e)||o.actionArrayLengths.set(e,Array.isArray(f)?f.length:0),d&&Array.isArray(f)){let t=c(f,l.argA,l.argB)||f;a?z(r,e,{...t,_f:a}):u&&z(r,e,t)}let p=I(n.errors,e);if(d&&Array.isArray(p)){let t=p.root,r=c(p,l.argA,l.argB)||p;t&&(r.root=t),u&&z(n.errors,e,r),ot(n.errors,e),n.errors={...n.errors}}let m=I(n.touchedFields,e),h=d&&Array.isArray(m);if(h){let t=c(m,l.argA,l.argB);u&&z(n.touchedFields,e,t)}let g=I(n.dirtyFields,e);if(d&&Array.isArray(g)){let t=c(g,l.argA,l.argB)||g;u&&z(n.dirtyFields,e,t)}_(`dirtyFields`)?de():s=!0,y.state.next({name:e,isDirty:X(e,i),dirtyFields:n.dirtyFields,...h&&{touchedFields:n.touchedFields},errors:n.errors,isValid:n.isValid})}else z(a,e,i)},pe=(e,t)=>{z(n.errors,e,t),n.errors={...n.errors},y.state.next({errors:n.errors})},me=e=>{Object.keys(l).forEach(P);let t=!W(e);n.errors=j(e),y.state.next({errors:n.errors,...t?{isValid:!1}:{}}),!t&&o.mount&&B()},G=e=>le(e)?[e]:A(e),xe=e=>{let t=G(e),n=a,r=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(n=E(n)?n:n[i],r=E(r)?r:r[i],n===null&&r!==null)return!0}return!1},Se=e=>{if(!o.actionArrayLengths.size)return!1;let t=G(e),n=a,r=``,i=-1,s=0;for(let e=0;e<t.length;e++){if(E(n))return!1;let a=t[e];if(r=r?`${r}.${a}`:a,Array.isArray(n)&&+a>=n.length)return i===-1?!1:e!==i||+a<s;if(o.actionArrayLengths.has(r)&&(i=e+1,s=o.actionArrayLengths.get(r)),n=n[a],F(n)&&i!==-1&&e>i&&+t[i]<s)return!0}return!1},Ce=e=>{let t=a;for(let n of G(e)){if(Array.isArray(t)&&+n>=t.length)return!0;t&&=t[n]}return!1},we=(e,l,u,d)=>{let f=I(r,e);if(f){if(xe(e)||Se(e))return;let r=F(I(a,e)),p=I(a,e,F(u)?I(i,e):u),m=!!d&&!n.isReady&&Le(d);if(F(p)||d&&d.defaultChecked||m||l){let t=l?p:Ye(f._f);F(t)&&Ce(e)||(_(`dirtyFields`)&&!H(I(a,e),t)&&(s=!0),z(a,e,t),m&&Te(e,t))}else He(e,p);o.mount&&!o.action&&(t.resolver&&_(`isValidating`,`validatingFields`)?Promise.resolve().then(()=>B()):B(),r&&n.isDirty&&_(`isDirty`)&&(X()||(n.isDirty=!1,y.state.next({...n}))),t.shouldUnregister&&r&&!F(I(a,e))&&_e(e,c)&&(o.watch=!0))}},Te=(e,o,c,l,u)=>{let d=!1,f=!1,p={name:e};if(!t.disabled||l===!0){if(!c||l){let t=H(I(i,e),o);if(_(`isDirty`)&&(f=n.isDirty,n.isDirty=p.isDirty=!t||X(),d=f!==p.isDirty),f=!!I(n.dirtyFields,e),t)Y(n.dirtyFields,e);else{let t=I(i,e),a=I(r,e),s=!(a&&a._f)&&(O(t)||Array.isArray(t))?Q(t,o,void 0,a):!0;z(n.dirtyFields,e,s)}let c=!1;if(s||t&&(_(`isDirty`)?n.isDirty:X())){s=!1;let e=Q(i,a,void 0,r);H(n.dirtyFields,e)||(c=!0,ct(n.dirtyFields,e))}p.dirtyFields=n.dirtyFields,d||=_(`dirtyFields`)&&(c||f!==!t)}if(c){let t=Pe(n.touchedFields,e)?I(n.touchedFields,e):void 0;t||(z(n.touchedFields,e,c),p.touchedFields=n.touchedFields,d||=_(`touchedFields`)&&t!==c)}d&&u&&y.state.next(p)}return d?p:{}},Ee=(e,r,i,a)=>{let o=I(n.errors,e),s=_(`isValid`)&&L(r)&&n.isValid!==r;if(t.delayError&&i?(l[e]=k(e,()=>pe(e,i)),l[e](t.delayError)):(P(e),i?z(n.errors,e,i):Y(n.errors,e),n.errors={...n.errors}),(i?!H(o,i,!0):o)||!W(a)||s){let t={...a,...s&&L(r)?{isValid:r}:{},errors:n.errors,name:e};y.state.next(t)}},K=async e=>(V(e,!0),await t.resolver(a,t.context,Xe(e||c.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),De=async e=>{let t=x,i=S,a=e?e.filter(e=>I(r,e)):[],{errors:o}=await K(e);if(t!==x)return o;if(V(e),e){for(let t of e){if(a.includes(t)&&(!I(r,t)||C[t]>i)){Y(o,t);continue}let e=I(o,t);ce(t);let s=c.array.has(t)&&O(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e))),l=I(r,t),u=O(l)&&Object.keys(l).some(e=>e!==`_f`);s?ye(n.errors,{[t]:e},t):e&&(e.type||e.message)||Array.isArray(e)||O(e)&&u?z(n.errors,t,e):Y(n.errors,t)}n.errors={...n.errors}}else Object.keys(l).forEach(P),n.errors=o;return o},q=async({name:e,eventType:r})=>{if(t.validate){let i=x,o=await t.validate({formValues:a,formState:n,name:e,eventType:r});if(i!==x)return!0;if(O(o)){let e=!0;pt(oe);for(let t in o){let n=o[t];n&&(e=!1,mt(`${oe}.${t}`,{message:U(n.message)?n.message:``,type:n.type||N.validate}))}return e}return U(o)||!o?(mt(oe,{message:o||``,type:N.validate}),!1):(pt(oe),!0)}return!0},J=async({fields:e,onlyCheckValid:i,name:o,eventType:s,context:l={valid:!0,runRootValidation:!1}})=>{let u=x;if(t.validate&&!l.runRootValidation&&(l.runRootValidation=!0,!await q({name:o,eventType:s})&&(l.valid=!1,i)))return l.valid;for(let o in e){let d=e[o];if(d){let{_f:e,...f}=d;if(e){let o=c.array.has(e.name),s=d._f&&$e(d._f),f=_(`isValidating`,`validatingFields`);s&&f&&V([e.name],!0);let p=S,m=await Oe(d,c.disabled,a,D,t.shouldUseNativeValidation&&!i,o);if(u!==x)return l.valid;if(s&&f&&V([e.name]),!I(r,e.name)||C[e.name]>p)continue;if(m[e.name]&&(l.valid=!1,i)||(i||(P(e.name),I(m,e.name)?o?ye(n.errors,m,e.name):z(n.errors,e.name,m[e.name]):Y(n.errors,e.name)),t.shouldUseNativeValidation&&m[e.name]))break}!W(f)&&await J({context:l,onlyCheckValid:i,fields:f,name:o,eventType:s})}}return l.valid},je=()=>{for(let e of c.unMount){let t=I(r,e);t&&(t._f.refs?t._f.refs.every(e=>!ze(e)):!ze(t._f.ref))&&vt(e)}c.unMount=new Set},X=(e,t)=>(e&&!F(t)&&z(a,e,t),!H(o.mount?a:i,i)),Ie=(e,t,n)=>{let r=o.mount?a:F(t)||!F(e)?i:t;return he(e,c,F(e)?{...r}:r,n,t)},Be=e=>Ae(I(o.mount?a:i,e,t.shouldUnregister?I(i,e,[]):[])),He=(e,t,n={},i=!1,o=!1,s=!1)=>{let c=I(r,e),l=t;if(c){let n=c._f;n&&(!n.disabled&&z(a,e,Je(t,n)),l=be(n.ref)&&E(t)?``:t,Fe(n.ref)?[...n.ref.options].forEach(e=>e.selected=l.includes(e.value)):n.refs?w(n.ref)?n.refs.forEach(e=>{e.defaultChecked&&e.disabled||(e.checked=Array.isArray(l)?!!l.find(t=>t===e.value):l===e.value||!!l)}):n.refs.forEach(e=>e.checked=e.value===l):ee(n.ref)?n.ref.value=``:(n.ref.value=l,n.ref.type||o||s||y.state.next({name:e,values:i?a:v(e)?j(a):void 0})))}(n.shouldDirty||n.shouldTouch)&&Te(e,c&&c._f&&!c._f.disabled&&(c._f.valueAsNumber||c._f.valueAsDate||c._f.setValueAs)?Je(t,c._f):l,n.shouldTouch,n.shouldDirty,!o),n.shouldValidate&&rt(e,{delayError:n.delayError}),n.shouldValidate&&c&&c._f&&c._f.deps&&(!Array.isArray(c._f.deps)||c._f.deps.length>0)&&rt(c._f.deps)},Ue=(e,t,n,i=!1,o=!1,s=!1)=>{for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let u=t[l],d=e+`.`+l,f=I(r,d);c.array.has(d)&&y.array.next({name:d,values:i?a:j(a)}),(c.array.has(e)||O(u)||f&&!f._f)&&!T(u)?Ue(d,u,n,i,o,s):He(d,u,n,i,o,s)}},We=(e,t,i,s,l=!1)=>{let u=I(r,e),d=c.array.has(e),f=s?t:j(t),p=H(I(a,e),f);if(p||z(a,e,f),d)y.array.next({name:e,values:s?a:j(a)}),_(`isDirty`,`dirtyFields`)&&i.shouldDirty&&(de(),n.isDirty=X(e,f),l||y.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:n.isDirty})),i.shouldValidate&&rt(e,{delayError:i.delayError});else{let t=Array.isArray(f)&&!f.length||W(f),n=!p&&!l;!u||u._f||E(f)||t?He(e,f,i,s,l,n):Ue(e,f,i,s,l,n)}if(!p&&!l){let t=_e(e,c),r=o.mount||t?e:void 0,i=d?[]:qe(c.array,e),l=s?a:v(r)||i.some(v)?j(a):void 0;y.state.next({...t&&n,name:r,values:l});for(let e of i)y.state.next({name:e,values:l})}},Z=(e,t,n={})=>We(e,t,n,!1),Ge=(e,t={})=>{let r=R(e)?e(a):e;if(!H(a,r)){a={...a,...r};for(let e of new Set([...c.mount,...c.array]))Pe(r,e)&&We(e,I(r,e),t,!0,!0);y.state.next({...n,name:void 0,type:void 0,...d.size?{values:a}:{}}),t.shouldValidate&&B()}},Ke=async e=>{o.mount=!0;let i=e.target,s=i.name,u=!0,d=I(r,s),m=S,h=e=>{u=!!I(r,s)&&!(C[s]>m)&&H(e,I(a,s,e))};if(d){o.keepIsValid=!1;let m,g,S=!1,C=i.type?Ye(d._f):te(e),w=e.type===ie.BLUR||e.type===ie.FOCUS_OUT,ee=!et(d._f)&&!t.validate&&!t.resolver&&!I(n.errors,s)&&!d._f.deps,T=ee||at(w,I(n.touchedFields,s),n.isSubmitted,p,f),E=_e(s,c,w);z(a,s,j(C)),w?i&&i.readOnly||(d._f.onBlur&&d._f.onBlur(e),Object.prototype.hasOwnProperty.call(l,s)&&(S=!0,l[s](0))):d._f.onChange&&d._f.onChange(e);let O=Te(s,C,w),k=!W(O)||E;if(!w&&y.state.next({name:s,type:e.type,...v(s)?{values:j(a)}:{}}),T)return ee&&n.isValid||!_(`isValid`)||(t.mode===`onBlur`?w&&B():w||B()),k&&y.state.next({name:s,...E?{}:O});if(!t.resolver&&t.validate&&await q({name:s,eventType:e.type}),!w&&E&&y.state.next({...n}),t.resolver){let e=x,{errors:t}=await K([s]);if(e!==x)return;if(V([s]),h(C),!u){!W(O)&&y.state.next(O);return}let i=tt(n.errors,r,s),a=tt(t,r,i.name||s);m=a.error,s=a.name,g=W(t)}else{let n=x,i=++b;if(V([s],!0),m=(await Oe(d,c.disabled,a,D,t.shouldUseNativeValidation))[s],n!==x)return;if(V([s]),h(C),u){if(m)g=!1;else if(_(`isValid`)){if(g=await J({fields:r,onlyCheckValid:!0,name:s,eventType:e.type}),n!==x)return;h(C),i!==b&&(g=void 0)}}}u&&(d._f.deps&&(!Array.isArray(d._f.deps)||d._f.deps.length>0)&&rt(d._f.deps),Ee(s,g,m,O),S&&Object.prototype.hasOwnProperty.call(l,s)&&l[s](0))}},Qe=(e,t)=>{if(I(n.errors,t)&&e.focus)return e.focus(),1},rt=async(e,i={})=>{o.keepIsValid=!1;let a,s,u=ke(e),d=x;if(t.resolver){let t=await De(F(e)?e:u);a=W(t),s=e?!u.some(e=>I(t,e)):a}else e?(s=(await Promise.all(u.map(async e=>{let t=I(r,e);return await J({fields:t&&t._f?{[e]:t}:t,eventType:ie.TRIGGER})}))).every(Boolean),(s||n.isValid)&&B()):s=a=await J({fields:r,name:e,eventType:ie.TRIGGER});if(d!==x)return s;if(i.delayError&&t.delayError&&U(e)){let r=I(n.errors,e);r?(Y(n.errors,e),l[e]=k(e,()=>pe(e,r)),l[e](t.delayError)):P(e)}if(i.shouldTouch)for(let t of e?u:c.mount)!c.array.has(t)&&z(n.touchedFields,t,!0);return n.errors={...n.errors},y.state.next({...!U(e)||_(`isValid`)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},...i.shouldTouch&&_(`touchedFields`)?{touchedFields:n.touchedFields}:{},errors:n.errors}),i.shouldFocus&&!s&&ve(r,Qe,e?u:c.mount),s},ut=((e,t)=>{let r=F(e)&&!t?{...o.mount?a:i}:o.mount?a:i;return t&&(r=Ne(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),F(e)?r:U(e)?I(r,e):e.map(e=>I(r,e))}),dt=(e=>F(e)?{...n.errors}:U(e)?I(n.errors,e):e.map(e=>I(n.errors,e))),ft=(e,t)=>{let r=t||n,i=I(r.errors,e);return{invalid:!!i,isDirty:!!I(r.dirtyFields,e),error:i,isValidating:!!I(r.validatingFields,e),isTouched:!!I(r.touchedFields,e)}},pt=e=>{let t=e?ke(e):void 0;t?t.forEach(e=>{ce(e),Y(n.errors,e),n.errors={...n.errors},y.state.next({name:e,errors:n.errors})}):(Object.keys(l).forEach(P),n.errors={},y.state.next({errors:n.errors}))},mt=(e,t,i)=>{ce(e);let a=I(r,e,{_f:{}}),o=a._f&&a._f.ref,{ref:s,message:c,type:l,types:u,...d}=I(n.errors,e)||{};z(n.errors,e,{...d,...t,ref:o}),n.errors={...n.errors},y.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&o&&o.focus&&o.focus()},ht=(e,t)=>{if(R(e)){let n={};d.add(n);let{unsubscribe:r}=y.state.subscribe({next:n=>`values`in n&&e(n.values||Ie(void 0,t),n)});return{unsubscribe:()=>{d.delete(n),r()}}}return Ie(e,t,!0)},gt=e=>{let t={name:e.name,exact:e.exact};e.formState&&e.formState.values&&d.add(t);let{unsubscribe:r}=y.state.subscribe({next:t=>{if(it(e.name,t.name,e.exact)&&nt(t,e.formState||h,e.reRenderRoot)){let r=t.values||{...a};e.callback({...n,...t,validatingFields:n.validatingFields,isValidating:n.isValidating,values:r,defaultValues:i})}}});return()=>{d.delete(t),r()}},_t=e=>{o.mount=!0;let t=Object.keys(e.formState||{}).filter(t=>e.formState&&e.formState[t]);for(let e of t)g[e]=(g[e]||0)+1;let n=gt({...e,formState:{...m,...e.formState}});return()=>{for(let e of t.splice(0))g[e]--;n()}},vt=(e,o={})=>{let s=e?ke(e):c.mount;o.keepIsValidating||ue(s);for(let e of s)c.mount.delete(e),c.array.delete(e),c.disabled.delete(e),Y(r,e),!o.keepValue&&Y(a,e),o.keepError||(ce(e),Y(n.errors,e)),!o.keepDirty&&Y(n.dirtyFields,e),!o.keepTouched&&Y(n.touchedFields,e),!t.shouldUnregister&&!o.keepDefaultValue&&Y(i,e);o.keepError||(n.errors={...n.errors}),d.size&&y.state.next({values:j(a)}),y.state.next({...n,...o.keepDirty?{}:{isDirty:X()},...o.keepIsValidating?{}:{isValidating:!W(n.validatingFields)}}),!o.keepIsValid&&B()},yt=({disabled:e,name:t})=>{if(L(e)&&o.mount||e||c.disabled.has(t)){let n=c.disabled.has(t)!==!!e;e?c.disabled.add(t):c.disabled.delete(t),n&&o.mount&&!o.action&&B()}},bt=(e,n={})=>{let a=I(r,e),s=L(n.disabled)||L(t.disabled),l=!c.registerName.has(e)&&a&&a._f&&!a._f.mount;if(a&&a._f||(C[e]=++S),z(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),c.mount.add(e),a&&a._f){let t=I(r,e);for(let e of ae)e in n||delete t._f[e]}return a&&!l?yt({disabled:L(n.disabled)?n.disabled:t.disabled,name:e}):we(e,!0,n.value),{...s?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!Ze(n.required),min:Ze(n.min),max:Ze(n.max),minLength:Ze(n.minLength),maxLength:Ze(n.maxLength),pattern:Ze(n.pattern)}:{},name:e,onChange:Ke,onBlur:Ke,ref:s=>{if(s){c.registerName.add(e),bt(e,n),c.registerName.delete(e),a=I(r,e);let t=F(s.value)&&s.querySelectorAll&&s.querySelectorAll(`input,select,textarea`)[0]||s,o=Re(t),l=a._f.refs||[];if(o?l.find(e=>e===t):t===a._f.ref)return;let u={...a._f};o?(u.refs=[...l.filter(ze),t,...Array.isArray(I(i,e))?[{}]:[]],u.ref={type:t.type,name:e}):(u.ref=t,delete u.refs),z(r,e,{_f:u}),we(e,!1,void 0,t)}else a=I(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(ne(c.array,e)&&o.action)&&c.unMount.add(e)}}},xt=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&ve(r,Qe,c.mount),St=e=>{L(e)&&(y.state.next({disabled:e}),ve(r,(t,n)=>{let i=I(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0))},Ct=(e,i)=>async o=>{let s,u;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let d=j(a);y.state.next({isSubmitting:!0});let f=x,p=e=>{throw f===x&&y.state.next({isSubmitting:!1}),e};if(t.resolver){let e;try{e=await K()}catch(e){p(e)}let{errors:t,values:r}=e;if(f!==x)return;V(),Object.keys(l).forEach(P),n.errors=t,d=j(r)}else{try{await J({fields:r,eventType:ie.SUBMIT})}catch(e){p(e)}if(f!==x)return;Y(n.errors,se),n.errors={...n.errors}}if(c.disabled.size)for(let e of c.disabled)Y(d,e);if(W(n.errors)){y.state.next({errors:{}});try{s=await e(d,o)}catch(e){u=e}}else{if(i)try{await i({...n.errors},o)}catch(e){p(e)}xt(),setTimeout(xt)}if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:W(n.errors)&&!u,submitCount:n.submitCount+1,errors:n.errors}),u)throw u;return s},wt=(e,t={})=>{I(r,e)&&(ue([e]),F(t.defaultValue)?Z(e,j(I(i,e))):(Z(e,t.defaultValue),z(i,e,j(t.defaultValue))),t.keepTouched||Y(n.touchedFields,e),t.keepDirty||(Y(n.dirtyFields,e),n.isDirty=F(t.defaultValue)?X():X(e,j(I(i,e)))),t.keepError||(ce(e),Y(n.errors,e),n.errors={...n.errors},B()),y.state.next({...n,isValidating:!W(n.validatingFields)}))},Tt=(e,u={})=>{x++,b++;let d=e?j(e):i,f=j(d),p=W(e),m=f,g=r;if(Object.keys(l).forEach(P),u.keepDefaultValues||(i=d),!u.keepValues){if(u.keepDirtyValues){let e=new Set([...c.mount,...Ve(Q(i,a,void 0,g),n.dirtyFields)]);for(let t of e){let e=I(n.dirtyFields,t),r=I(a,t),i=I(m,t);e&&!F(r)?z(m,t,r):!e&&!F(i)&&Z(t,i)}}else{if(re&&F(e))for(let e of c.mount){let t=I(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(be(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(u.keepFieldsRef)for(let e of c.mount)Z(e,I(m,e));else r={}}if(t.shouldUnregister){if(a=u.keepDefaultValues?j(i):{},u.keepFieldsRef)for(let e of c.mount)z(a,e,I(m,e))}else a=j(m);y.array.next({values:{...m}}),y.state.next({name:void 0,type:void 0,values:{...m}})}c={mount:u.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:u.keepValues||u.keepDirtyValues||u.keepFieldsRef?new Set([...c.disabled].filter(e=>I(r,e))):new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!h.isValid||!!u.keepIsValid||!!u.keepDirtyValues||!t.shouldUnregister&&!W(m),o.watch=!!t.shouldUnregister,o.keepIsValid=!!u.keepIsValid,o.action=!1,o.actionArrayLengths.clear(),s=!1,u.keepErrors||(n.errors={}),y.state.next({submitCount:u.keepSubmitCount?n.submitCount:0,isDirty:p?!1:u.keepDirty?n.isDirty:u.keepValues?X():!!(u.keepDefaultValues&&e&&!H(e,i)),isSubmitted:u.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:p?{}:u.keepDirtyValues?u.keepDefaultValues&&a?Q(i,a,void 0,g):n.dirtyFields:u.keepDefaultValues&&e?Q(i,e,void 0,g):u.keepDirty?n.dirtyFields:u.keepValues?Q(i,a,void 0,g):{},touchedFields:u.keepTouched?n.touchedFields:{},...!u.keepIsValidating&&(n.isValidating||!W(n.validatingFields))?{validatingFields:{},isValidating:!1}:null,errors:u.keepErrors?n.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Et=(e,n)=>Tt(R(e)?e(a):e,{...t.resetOptions,...n}),Dt=(e,t={})=>{let n=I(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&R(e.select)&&e.select()})}};y.state.subscribe({next:e=>{let{name:t,type:r,values:i,...a}=e;Object.keys(a).length&&(n={...n,...a})}});let Ot={control:{register:bt,unregister:vt,getFieldState:ft,handleSubmit:Ct,setError:mt,_subscribe:gt,_runSchema:K,_updateIsValidating:V,_focusError:xt,_getWatch:Ie,_getDirty:X,_setValid:B,_setFieldArray:fe,_setDisabledField:yt,_setErrors:me,_getFieldArray:Be,_reset:Tt,_resetDefaultValues:()=>R(t.defaultValues)&&t.defaultValues().then(e=>{Et(e,t.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:je,_disableForm:St,_subjects:y,_proxyFormState:h,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return c},set _names(e){c=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e},f=ge(t.mode),p=ge(t.reValidateMode),D=t.criteriaMode===M.all}},subscribe:_t,trigger:rt,register:bt,handleSubmit:Ct,watch:ht,setValue:Z,setValues:Ge,getValues:ut,getErrors:dt,reset:Et,resetField:wt,resetDefaultValues:(e,t={})=>{if(i=j(e),!t.keepDirty){let e=Q(i,a,void 0,r);n.dirtyFields=e,n.isDirty=!W(e)}t.keepIsValid||B(),y.state.next({...n,defaultValues:i})},clearErrors:pt,unregister:vt,setError:mt,setFocus:Dt,getFieldState:ft};return{...Ot,formControl:Ot}}var dt={mode:st.mode,reValidateMode:st.reValidateMode,shouldFocusError:st.shouldFocusError,resolver:void 0,criteriaMode:void 0,delayError:void 0,shouldUnregister:void 0,shouldUseNativeValidation:void 0,context:void 0,progressive:void 0,resetOptions:void 0};function ft(e={}){let t=C.useRef(void 0),n=C.useRef(void 0),r=C.useRef(e.formControl),i=C.useRef(!1),a=C.useRef(!!e.validate),o=C.useRef(!!e.errors),s=C.useRef(!1),[c,l]=C.useState(()=>({...j(lt),isLoading:R(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:R(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl){if(r.current=e.formControl,i.current=!1,e.formControl)t.current={...e.formControl,formState:c},e.defaultValues&&!R(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...r}=ut(e);t.current={...r,formState:c}}}let u=t.current.control,d=u._options,f={};for(let t in dt)t in d&&!(t in e)&&(f[t]=dt[t]);i.current&&!e.disabled&&(f.disabled=!1),u._options={...f,...e,validate:e.validate};let p=()=>({...u._formState,defaultValues:u._defaultValues}),{resyncIfNeeded:m,snapshot:h}=me(p);return V(()=>{m(!0,p,l);let e=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(e=>({...e,isReady:!0})),u._formState.isReady=!0,u._subjects.state.next({isReady:!0}),()=>{e(),h(!0,p)}},[u,m,h]),C.useEffect(()=>{u._disableForm(i.current&&!e.disabled?!1:e.disabled),i.current=!!e.disabled},[u,e.disabled]),C.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),C.useEffect(()=>{e.errors?(u._setErrors(e.errors),u._focusError()):o.current&&u._setErrors({}),o.current=!!e.errors},[u,e.errors]),C.useEffect(()=>{a.current&&!e.validate&&t.current&&t.current.clearErrors(oe),a.current=!!e.validate},[e.validate]),C.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),C.useEffect(()=>{if(u._proxyFormState.isDirty){let e=u._getDirty();e!==c.isDirty&&u._subjects.state.next({isDirty:e})}},[u,c.isDirty]),C.useEffect(()=>{e.values&&!H(e.values,n.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),u._options.resetOptions&&u._options.resetOptions.keepIsValid||u._setValid(),n.current=e.values,l(e=>({...e}))):u._resetDefaultValues()},[u,e.values]),C.useEffect(()=>{u._state.mount&&(s.current||e.values)||(u._setValid(),u._state.mount=!0),s.current=!0,u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),t.current.formState=C.useMemo(()=>ue(c,u),[u,c]),t.current}var pt=C.createContext(null);pt.displayName=`HookFormContext`;var mt=(e,t,n)=>{if(e&&`reportValidity`in e){let r=I(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},ht=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?mt(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>mt(t,n,e))}},gt=(e,t)=>{t.shouldUseNativeValidation&&ht(e,t);let n={};for(let r in e){let i=I(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.refs?i.refs[0]:i&&i.ref});if(_t(t.names||Object.keys(e),r)){let e=Object.assign({},I(n,r));z(e,`root`,a),z(n,r,e)}else z(n,r,a)}return n},_t=(e,t)=>{let n=vt(t).replace(/[.*+?^${}()|\\]/g,`\\$&`);return e.some(e=>vt(e).match(`^${n}\\.\\d+`))};function vt(e){return e.replace(/\[(\d+)]/g,`.$1`).replace(/[[\]]/g,``)}function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yt.apply(null,arguments)}function bt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function xt(e,t){for(var n=Object.create(null);e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o]){if(`unionErrors`in r){var s=r.unionErrors.reduce(function(e,t){return t.errors.length<e.errors.length?t:e}).errors[0];n[o]={message:s?.message??a,type:s?.code??i}}else n[o]={message:a,type:i}}if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=Se(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function St(e,t){for(var n=Object.create(null),r=function(){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o]){if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors.reduce(function(e,t){return t.length<e.length?t:e})[0];n[o]={message:s?.message??a,type:s?.code??i}}else n[o]={message:a,type:i}}if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(yt({},t,{path:[].concat(r.path,t.path)}))})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=Se(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()};e.length;)r();return n}function Ct(e,t,n){if(n===void 0&&(n={}),function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(r,i,a){try{return Promise.resolve(bt(function(){function i(e){return a.shouldUseNativeValidation&&ht({},a),{errors:{},values:n.raw?Object.assign({},r):e}}var o=e;return n.mode===`sync`?i(o.parse(r,t)):Promise.resolve(o.parseAsync(r,t)).then(i)},function(e){if(function(e){var t;return!(e==null||(t=e._zod)==null||(t=t.traits)==null||!t.has(`$ZodError`))}(e))return{values:{},errors:gt(St(e.issues,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_def`in e&&typeof e._def==`object`}(e))return function(r,i,a){try{return Promise.resolve(bt(function(){return Promise.resolve(e[n.mode===`sync`?`parse`:`parseAsync`](r,t)).then(function(e){return a.shouldUseNativeValidation&&ht({},a),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:gt(xt(e.errors,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}var wt=e=>ft({resolver:Ct(e.schema),mode:e.mode,defaultValues:e.defaultValues}),Tt=[`iphone-se`,`iphone-17`,`iphone-17-pro-max`,`galaxy-s25`,`pixel-10`,`xiaomi-15`,`ipad-mini`,`ipad-pro-11`,`galaxy-tab-s9`,`macbook-air-13`,`windows-laptop-1366`,`linux-1920`],Et=[`chromium`,`webkit`,`firefox`],Dt=[`home-button`,`dynamic-island`,`punch-hole`,`tablet`,`laptop`,`kiosk`],Ot=[`full-screen`,`browser`],kt=/[\p{L}\p{N}]/u,At=40,jt=240,Mt=3840,Nt=1,Pt=4,Ft=1,It=e=>e.startsWith(`/`)&&!e.startsWith(`//`),Lt=e=>{let t=`--${e} must be a whole number from ${jt} to ${Mt}`;return d({error:t}).int({error:t}).min(jt,{error:t}).max(Mt,{error:t})},Rt=`--pixel-ratio must be a number from ${Nt} to ${Pt}`,zt=u({name:h({error:`needs --name <device name>`}).max(At,{error:`--name must be ${At} characters or less`}).regex(kt,`--name needs a letter or digit`),width:Lt(`width`),height:Lt(`height`),pixelRatio:d({error:Rt}).min(Nt,{error:Rt}).max(Pt,{error:Rt}).default(Ft),hasTouch:m().default(!1),frameShape:g(Dt).default(`kiosk`),browserName:g(Et).default(`chromium`)});u({devices:f(zt).default([]),routes:f(h().refine(It,`Use a path that starts with a single /`)).default([]),grid:f(h()).default(Tt),viewportModes:p(h(),g(Ot)).default({})}),u({deviceIds:f(h().min(1))});var Bt={name:``,width:390,height:844,pixelRatio:2,hasTouch:!0,frameShape:`dynamic-island`,browserName:`chromium`},Vt=()=>{let e=wt({schema:zt,mode:`onBlur`,defaultValues:Bt}),t=o({mutationFn:async e=>{let t=await i.api.devices.$post({json:e});if(!t.ok)throw Error(`Add device: ${t.status}`)},onSuccess:()=>e.reset()}),n=e.handleSubmit(e=>{t.isPending||t.mutate(e)}),r=Object.values(e.formState.errors).map(e=>e.message);return{form:e,addDevice:n,isSaving:t.isPending,hasFailed:t.isError,errorMessages:r}},$=t(),Ht=({fieldId:e,label:t,children:n})=>(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5 text-xs text-ink-2`,children:[(0,$.jsx)(`label`,{htmlFor:e,children:t}),n]}),Ut=zt.shape.browserName.unwrap().options,Wt=zt.shape.frameShape.unwrap().options,Gt=[`width`,`height`,`pixelRatio`],Kt=`h-11 w-full min-w-0 rounded-lg border border-line bg-card px-3 text-sm text-ink`,qt=()=>{let{t:e}=r(),{form:t,addDevice:n,isSaving:i,hasFailed:a,errorMessages:o}=Vt(),c=e(i?`devices.add.saving`:`devices.add.submit`);return(0,$.jsxs)(`form`,{onSubmit:n,noValidate:!0,className:`flex flex-col gap-4`,children:[(0,$.jsx)(`h2`,{className:`m-0 text-lg font-medium`,children:e(`devices.add.title`)}),(0,$.jsx)(Ht,{fieldId:`name`,label:e(`devices.add.name`),children:(0,$.jsx)(`input`,{id:`name`,className:Kt,...t.register(`name`)})}),(0,$.jsx)(`div`,{className:`flex gap-3`,children:Gt.map(n=>(0,$.jsx)(Ht,{fieldId:n,label:e(`devices.add.${n}`),children:(0,$.jsx)(`input`,{id:n,type:`number`,step:`any`,className:Kt,...t.register(n,{valueAsNumber:!0})})},n))}),(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsx)(Ht,{fieldId:`browserName`,label:e(`devices.add.browserName`),children:(0,$.jsx)(`select`,{id:`browserName`,className:Kt,...t.register(`browserName`),children:Ut.map(t=>(0,$.jsx)(`option`,{value:t,children:e(`tile.engines.${t}`)},t))})}),(0,$.jsx)(Ht,{fieldId:`frameShape`,label:e(`devices.add.frameShape`),children:(0,$.jsx)(`select`,{id:`frameShape`,className:Kt,...t.register(`frameShape`),children:Wt.map(t=>(0,$.jsx)(`option`,{value:t,children:e(`devices.add.frames.${t}`)},t))})})]}),(0,$.jsxs)(`div`,{className:`flex min-h-11 items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`label`,{htmlFor:`hasTouch`,children:e(`devices.add.touch`)}),(0,$.jsx)(_,{id:`hasTouch`,...t.register(`hasTouch`)})]}),o.map(e=>(0,$.jsx)(`p`,{role:`alert`,className:`m-0 text-sm text-failed`,children:e},e)),a&&(0,$.jsx)(`p`,{role:`alert`,className:`m-0 text-sm text-failed`,children:e(`devices.add.failed`)}),(0,$.jsx)(s,{icon:`plus`,type:`submit`,variant:`dark`,disabled:i,className:`w-full`,children:c})]})},Jt=()=>o({mutationFn:async e=>{let t=await i.api.devices[`:deviceId`].$delete({param:{deviceId:e}});if(!t.ok)throw Error(`Remove device: ${t.status}`)}}),Yt={width:200,height:128},Xt=({device:e})=>{let{t}=r(),n=Jt(),{deviceId:i,name:o,isCustom:c}=e,l=v(e),u=b(l,Yt),d=e.hasTouch?t(`devices.touch`):t(`devices.noTouch`);return(0,$.jsxs)(`article`,{className:a(`flex flex-col gap-3 rounded-2xl border bg-card p-3`,c&&`border-dashed border-cobalt`,!c&&`border-line`),children:[(0,$.jsx)(`div`,{className:`grid h-36 place-items-center rounded-xl bg-soft`,children:(0,$.jsx)(y,{layout:l,scale:u,children:(0,$.jsx)(`span`,{})})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`m-0 text-base font-medium`,children:o}),(0,$.jsx)(`p`,{className:`mt-1 mb-0 font-mono text-xs text-ink-2`,children:t(`devices.viewport`,{width:e.viewportWidth,height:e.viewportHeight,pixelRatio:e.pixelRatio})})]}),(0,$.jsxs)(`p`,{className:`m-0 flex items-center justify-between font-mono text-xs text-ink-2`,children:[(0,$.jsx)(`span`,{className:`rounded-md border border-line px-2 py-0.5`,children:t(`tile.engines.${e.browserName}`)}),(0,$.jsx)(`span`,{children:d})]}),c&&(0,$.jsx)(s,{icon:`trash`,variant:`outline`,size:`small`,"aria-label":t(`devices.remove`,{name:o}),disabled:n.isPending,onClick:()=>n.mutate(i),children:t(`devices.removeLabel`)}),n.isError&&(0,$.jsx)(`p`,{role:`alert`,className:`m-0 text-xs text-failed`,children:t(`devices.removeFailed`)})]})},Zt=()=>{let{t:e}=r(),t=c(),[n,i]=(0,C.useState)(!1),a=t.data??[],o=a.length===0,s=e(n?`devices.closeForm`:`devices.openForm`);return{deviceCount:a.length,deviceGroups:l(a),devicesStatus:x(t.status,o),isFormOpen:n,toggleLabel:s,toggleForm:()=>i(!n)}},Qt=()=>{let{t:e}=r(),{deviceCount:t,deviceGroups:n,devicesStatus:i,isFormOpen:a,toggleLabel:o,toggleForm:c}=Zt();return(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-290 flex-col gap-6 p-4 md:p-7`,children:[(0,$.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`m-0 text-3xl font-medium tracking-[-0.02em]`,children:e(`devices.title`)}),(0,$.jsx)(`p`,{className:`mt-1 mb-0 text-sm text-ink-2`,children:e(`devices.subtitle`,{count:t})})]}),(0,$.jsx)(s,{icon:`device-add`,variant:`outline`,size:`small`,"aria-expanded":a,onClick:c,children:o})]}),a&&(0,$.jsx)(`section`,{className:`rounded-2xl border border-line bg-card p-4 md:p-5`,children:(0,$.jsx)(qt,{})}),(0,$.jsx)(S,{status:i,children:n.map(t=>(0,$.jsxs)(`section`,{"aria-label":e(`devices.groups.${t.group}`),className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`h2`,{className:`m-0 text-xl font-medium`,children:[e(`devices.groups.${t.group}`),` `,(0,$.jsx)(`span`,{className:`font-mono text-xs text-ink-2`,children:t.devices.length})]}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-4 min-[500px]:grid-cols-2 md:grid-cols-3 lg:grid-cols-4`,children:t.devices.map(e=>(0,$.jsx)(Xt,{device:e},e.deviceId))})]},t.group))})]})};export{Qt as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-WkwZ5CU-.js";import{P as t,S as n,d as r,i,n as a,u as o}from"./cn-DMYzmXtt.js";var s=e(t(),1),c=crypto.randomUUID(),ee=1,te=(e,t)=>[...e.filter(({stepIndex:e})=>e!==t.stepIndex),t].sort((e,t)=>e.stepIndex-t.stepIndex),l=(e,t)=>{let n=e===`ok`,r=t.at(-1);return!n||r===void 0?null:r.stepIndex},u=(e,t,n)=>e===void 0?`pending`:e.status===`failed`||t&&n===`failed`?`failed`:e.status===`running`?`current`:`done`,ne=(e,t,n)=>{let r=e.at(-1);if(r===void 0)return null;let i=t===null?null:Math.max(t,r.stepIndex),a=i??0,o=Array.from({length:a},(t,i)=>{let a=i+ee;return{stepIndex:a,state:u(e.find(e=>e.stepIndex===a),a===r.stepIndex,n)}});return{stepNumber:r.stepIndex,stepTitle:r.stepTitle,totalSteps:i,segments:o}},d=e=>{let t=e.filter(({status:e})=>e===`running`).at(-1);return t===void 0?e.at(-1)??null:t},f=`http://127.0.0.1:4100`,re=`/api/live`,p=1e3,m=3e4,h=20,g=8,_=`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}${re}?clientId=${c}`,v=[],y={status:`closed`,socket:null,retryTimer:null,retryDelayMs:p},b={deviceTests:new Map,testSteps:new Map,stepTotals:new Map,latestTest:null,runTotals:null,screenImageUrls:new Map,deviceLoads:new Map,findings:[],commandNotices:[],lastRunMessage:null,deviceListVersion:0},x=new Set,S=()=>{for(let e of x)e()},C=e=>{try{return JSON.parse(e)}catch(e){return console.error({error:e}),null}},w=()=>{b.deviceTests=new Map,b.testSteps=new Map,b.stepTotals=new Map,b.latestTest=null},T=e=>{let t=b.deviceTests.get(e);if(t===void 0)return;let n=b.testSteps.get(e)??v,r=l(t.status,n);r!==null&&(b.stepTotals=new Map(b.stepTotals).set(t.title,r))},E=e=>{let{kind:t,...n}=e,{testId:r,status:i}=n,a=new Map(b.deviceTests);a.delete(r),b.deviceTests=a.set(r,n),b.latestTest=n,i===`running`?b.testSteps=new Map(b.testSteps).set(r,v):T(r)},D=e=>{let{testId:t}=e,n=te(b.testSteps.get(t)??v,e);b.testSteps=new Map(b.testSteps).set(t,n),T(t)},O=e=>{switch(e.kind){case`screen`:{let t=`data:image/jpeg;base64,${e.imageBase64}`;b.screenImageUrls=new Map(b.screenImageUrls).set(e.deviceId,t);return}case`estimate`:b.deviceLoads=new Map(b.deviceLoads).set(e.deviceId,e.deviceLoad);return;case`test`:E(e);return;case`step`:D(e);return;case`run-totals`:e.phase===`start`&&w(),b.runTotals=e;return;case`finding`:b.findings=[e.finding,...b.findings].slice(0,h);return;case`command`:b.commandNotices=[e.commandNotice,...b.commandNotices].slice(0,g);return;case`run`:b.lastRunMessage={runId:e.runId};return;case`device-list`:b.deviceListVersion+=1;return}},k=()=>{y.status=`closed`,y.socket=null,b.screenImageUrls=new Map,b.deviceLoads=new Map,w(),b.runTotals=null,S()},A=()=>{let e=new WebSocket(_);y.socket=e,y.status=`connecting`,S(),e.onopen=()=>{y.status=`open`,y.retryDelayMs=p,S()},e.onmessage=e=>{let t=C(e.data);t!==null&&(O(t),S())},e.onclose=()=>{k(),y.retryTimer=setTimeout(A,y.retryDelayMs),y.retryDelayMs=Math.min(y.retryDelayMs*2,m)}},j=()=>{let{socket:e,retryTimer:t}=y;t!==null&&clearTimeout(t),y.retryTimer=null,y.retryDelayMs=p,e!==null&&(e.onclose=null,e.close()),k()},M=e=>(x.add(e),x.size===1&&A(),()=>{x.delete(e),x.size===0&&j()}),N=()=>y.status,P=e=>b.screenImageUrls.get(e)??null,F=()=>b.lastRunMessage,I=()=>b.deviceListVersion,L=e=>b.deviceLoads.get(e)??null,R=e=>d([...b.deviceTests.values()].filter(t=>t.deviceId===e)),z=e=>b.testSteps.get(e)??v,ie=e=>b.stepTotals.get(e)??null,B=()=>b.runTotals,V=()=>b.latestTest,H=()=>[...b.deviceTests.values()].filter(({status:e})=>e===`running`).length,U=()=>b.findings,W=()=>b.commandNotices,G=()=>b.screenImageUrls.size>0,K=[`phones`,`tablets`,`desktop`,`custom`],q=1,J=e=>{let{viewport:t}=e.use;if(t==null)throw Error(`The device ${e.id} has no viewport`);let n=e.use.screen??t;return{deviceId:e.id,name:e.name,browserName:e.browserName,frameShape:e.frameShape,platform:e.platform,cutout:e.cutout,cornerRadius:e.cornerRadius,safeAreaInsets:e.safeAreaInsets,viewportMode:e.viewportMode,viewportWidth:t.width,viewportHeight:t.height,screenWidth:n.width,screenHeight:n.height,pixelRatio:e.use.deviceScaleFactor??q,hasTouch:e.use.hasTouch===!0,isCustom:e.isCustom}},Y=e=>{switch(e){case`home-button`:case`dynamic-island`:case`punch-hole`:return`phones`;case`tablet`:return`tablets`;case`laptop`:case`kiosk`:return`desktop`}},ae=e=>e.isCustom?`custom`:Y(e.frameShape),oe=e=>K.map(t=>({group:t,devices:e.filter(e=>ae(e)===t)})).filter(e=>e.devices.length>0),se=(e,t)=>e.find(e=>e.deviceId===t)?.name??t,X={list:()=>o({queryKey:[`devices`],queryFn:async()=>{let e=await i.api.devices.$get();if(!e.ok)throw Error(`Devices failed: ${e.status}`);return e.json()},select:e=>e.map(J)}),catalog:()=>o({queryKey:[`devices`,`catalog`],queryFn:async()=>{let e=await i.api.devices.catalog.$get();if(!e.ok)throw Error(`Catalog failed: ${e.status}`);return e.json()}})},ce={open:e=>o({queryKey:[`app-url`,e],placeholderData:n,queryFn:async()=>{let e=await i.api.commands.app.$get();if(!e.ok)throw Error(`App url failed: ${e.status}`);let{appUrl:t}=await e.json();return t}})},Z=()=>(0,s.useSyncExternalStore)(M,W),le=()=>{let e=Z()[0]?.sentAt??null;return r(ce.open(e)).data??null},ue=()=>r(X.list()),Q=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,$=a,de=(e,t)=>n=>{if(t?.variants==null)return $(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Q(t)||Q(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return $(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{ne as C,f as S,P as _,X as a,G as b,N as c,R as d,U as f,H as g,B as h,Z as i,I as l,V as m,ue as n,oe as o,F as p,le as r,se as s,de as t,L as u,ie as v,c as w,M as x,z as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{N as e,a as t,r as n}from"./cn-DMYzmXtt.js";import{f as r}from"./runs-queries-BYBE7R9S.js";import{t as i}from"./useParams-D2lK5BEg.js";import{n as a}from"./dist-CnPFbxes.js";import{t as o}from"./status-chip-yqTTTuyZ.js";import{n as s,r as c,t as l}from"./frame-layout-logic-H_x71NvW.js";import{n as u,t as d}from"./screen-boundary-BauyD9pu.js";import{a as f,i as p,n as m,o as h,r as g,t as _}from"./tile-status-chip-DisgbNnH.js";import{r as v}from"./device-status-logic-Silf3YXA.js";var y=e(),b=({deviceId:e,browserName:n})=>{let{t:r}=t(),i=f(e),a=i===null,o=p(n);if(a){let e=r(`tile.engines.${n}`),t=r(`tile.noEstimate`),i=r(`tile.noEstimateOnEngine`,{engine:e}),a=o?t:i;return(0,y.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(`h2`,{className:`m-0 text-base font-medium`,children:r(`focus.estimatesTitle`)}),(0,y.jsx)(`p`,{className:`m-0 text-sm text-ink-2`,children:a})]})}let s=[{figureKey:`fps`,figureLabel:`${Math.round(i.fps)} fps`},{figureKey:`cpu`,figureLabel:`${Math.round(i.cpuPercent)}%`},{figureKey:`memory`,figureLabel:`${Math.round(i.memoryMegabytes)} MB`},{figureKey:`layoutShift`,figureLabel:i.layoutShift.toFixed(2)}];return(0,y.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(`h2`,{className:`m-0 text-base font-medium`,children:r(`focus.estimatesTitle`)}),(0,y.jsx)(`dl`,{className:`m-0 grid grid-cols-2 gap-3`,children:s.map(e=>(0,y.jsxs)(`div`,{className:`rounded-xl border border-line bg-card p-3`,children:[(0,y.jsx)(`dt`,{className:`text-xs text-ink-2`,children:r(`focus.figures.${e.figureKey}`)}),(0,y.jsxs)(`dd`,{className:`m-0 mt-1 text-xl`,children:[e.figureLabel,` `,(0,y.jsx)(`span`,{className:`font-mono text-[11px] text-ink-2`,children:r(`focus.est`)})]})]},e.figureKey))})]})},x=({deviceId:e})=>{let{t:n}=t(),r=g(),i=v(e,r),a=i.length===0;return(0,y.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(`h2`,{className:`m-0 text-base font-medium`,children:n(`focus.findingsTitle`)}),a&&(0,y.jsx)(`p`,{className:`m-0 text-sm text-ink-2`,children:n(`focus.noFindings`)}),(0,y.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-3 p-0`,children:i.map(e=>(0,y.jsxs)(`li`,{className:`rounded-2xl border border-line bg-card p-4`,children:[(0,y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,y.jsx)(`h3`,{className:`m-0 text-sm font-medium`,children:n(`checks.${e.kind}`)}),(0,y.jsx)(o,{status:e.severity,label:n(`status.${e.severity}`),isLabelHidden:!0})]}),(0,y.jsx)(`p`,{className:`mt-2 mb-1 text-sm`,children:e.message}),(0,y.jsx)(`p`,{className:`m-0 font-mono text-xs break-words text-ink-2`,children:e.selector})]},`${e.kind}-${e.selector}-${e.message}`))})]})},S={width:420,height:720},C=13,w=({device:e})=>{let{t:n}=t(),{deviceId:r,name:i,browserName:a}=e,o=h(r),u=m(a),d=o!==null,f=s(e),p=l(f,S),g=Math.round(C/p);return(0,y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,y.jsxs)(`header`,{className:`flex flex-wrap items-center gap-3`,children:[(0,y.jsx)(`h1`,{className:`m-0 text-2xl font-medium tracking-[-0.02em]`,children:i}),(0,y.jsx)(_,{deviceId:r}),(0,y.jsxs)(`p`,{className:`m-0 font-mono text-xs text-ink-2`,children:[n(`tile.engines.${a}`),` ·`,` `,n(`tile.${u}`),` ·`,` `,n(`focus.viewport`,{width:e.viewportWidth,height:e.viewportHeight,pixelRatio:e.pixelRatio})]})]}),(0,y.jsxs)(`div`,{className:`grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,22rem)]`,children:[(0,y.jsx)(`div`,{className:`flex justify-center overflow-hidden rounded-2xl border border-line bg-card py-6`,children:(0,y.jsxs)(c,{layout:f,scale:p,children:[(0,y.jsx)(`p`,{"aria-hidden":d,className:`m-0 grid size-full place-items-center px-4 text-center text-ink-2`,style:{fontSize:g},children:n(`tile.waiting`)}),d&&(0,y.jsx)(`img`,{src:o,alt:i,className:`absolute inset-0 size-full object-cover`})]})}),(0,y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6`,children:[(0,y.jsx)(x,{deviceId:r}),(0,y.jsx)(b,{deviceId:r,browserName:a})]})]})]})},T=({otherDevices:e})=>{let{t:n}=t();return(0,y.jsxs)(`nav`,{"aria-label":n(`focus.railLabel`),className:`hidden w-48 flex-none flex-col gap-2 overflow-y-auto border-e border-line bg-card p-3 md:flex`,children:[(0,y.jsx)(`h2`,{className:`m-0 px-1 font-mono text-[11px] tracking-[0.08em] text-ink-3 uppercase`,children:n(`focus.railTitle`)}),e.map(e=>(0,y.jsxs)(r,{to:`/focus/$deviceId`,params:{deviceId:e.deviceId},className:`flex min-h-11 flex-col justify-center rounded-lg border border-line px-3 py-1.5 text-ink no-underline hover:bg-soft`,children:[(0,y.jsx)(`span`,{className:`text-[13px] font-semibold`,children:e.name}),(0,y.jsxs)(`span`,{className:`font-mono text-[10px] text-ink-2`,children:[e.viewportWidth,`×`,e.viewportHeight]})]},e.deviceId))]})},E=()=>{let{deviceId:e}=i({from:`/focus/$deviceId`}),t=a(),n=t.data??[],r=n.find(t=>t.deviceId===e)??null,o=n.filter(t=>t.deviceId!==e),s=r===null;return{focusDevice:r,otherDevices:o,screenStatus:u(t.status,s)}},D=()=>{let{t:e}=t(),{focusDevice:i,otherDevices:a,screenStatus:o}=E(),s=i!==null;return(0,y.jsxs)(`div`,{className:`flex min-h-full flex-1`,children:[(0,y.jsx)(T,{otherDevices:a}),(0,y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-4 p-4 md:p-6`,children:[(0,y.jsxs)(r,{to:`/`,className:`inline-flex min-h-11 w-fit items-center gap-1 text-sm text-ink-2 no-underline hover:text-ink`,children:[(0,y.jsx)(n,{name:`chevron-left`,size:14}),e(`focus.back`)]}),(0,y.jsx)(d,{status:o,children:s&&(0,y.jsx)(w,{device:i})})]})]})};export{D as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{N as e,r as t,t as n}from"./cn-DMYzmXtt.js";import{r}from"./dist-CnPFbxes.js";var i=e(),a=()=>{let e=r();return(0,i.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-3 text-center font-mono text-xs text-ink-2`,children:e})},o=.62,s=.5,c=({box:e})=>(0,i.jsx)(`div`,{"aria-hidden":`true`,className:`absolute flex items-center justify-center border-line border-y bg-soft`,style:{left:e.left,top:e.top,width:e.width,height:e.height},children:(0,i.jsx)(`span`,{className:`flex items-center rounded-full bg-line`,style:{width:e.width*o,height:e.height*s},children:(0,i.jsx)(a,{})})}),l={island:`rounded-full bg-ink`,notch:`rounded-b-[22px] bg-ink`,hole:`rounded-full bg-ink ring-1 ring-frame-detail`,"home-button":`rounded-full border-2 border-frame-detail`,camera:`rounded-full bg-frame-detail`},u=({drawing:e,box:t})=>(0,i.jsx)(`div`,{"aria-hidden":`true`,"data-frame-cutout":``,className:n(`absolute`,l[e]),style:{left:t.left,top:t.top,width:t.width,height:t.height}}),d=[{name:`signal`,viewBox:`0 0 16 11`,widthInEm:1.1,path:`M1 8h2.4v3H1zM5.2 6h2.4v5H5.2zM9.4 3.5h2.4V11H9.4zM13.6 1H16v10h-2.4z`},{name:`wifi`,viewBox:`0 0 16 11`,widthInEm:1.1,path:`M8 10.5 5.7 8a3.3 3.3 0 0 1 4.6 0zM3.9 5.9a6.2 6.2 0 0 1 8.2 0l-1.2 1.3a4.4 4.4 0 0 0-5.8 0zM1.6 3.6a9.4 9.4 0 0 1 12.8 0l-1.2 1.3a7.6 7.6 0 0 0-10.4 0z`},{name:`battery`,viewBox:`0 0 26 12`,widthInEm:1.8,path:`M2.5.5h18A2.5 2.5 0 0 1 23 3v6a2.5 2.5 0 0 1-2.5 2.5h-18A2.5 2.5 0 0 1 0 9V3A2.5 2.5 0 0 1 2.5.5zm0 1.6a.9.9 0 0 0-.9.9v6a.9.9 0 0 0 .9.9h18a.9.9 0 0 0 .9-.9V3a.9.9 0 0 0-.9-.9zM3 3.4h17v5.2H3zM24.2 4.2v3.6c.8-.3 1.4-1 1.4-1.8s-.6-1.5-1.4-1.8z`}],f=.35,p=()=>(0,i.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex items-center`,style:{gap:`${f}em`},children:d.map(e=>(0,i.jsx)(`svg`,{"aria-hidden":`true`,viewBox:e.viewBox,fill:`currentColor`,fillRule:`evenodd`,style:{height:`0.8em`,width:`${e.widthInEm}em`},children:(0,i.jsx)(`path`,{d:e.path})},e.name))}),m=`9:41`,h=({statusBar:e})=>{let{box:t,centerY:r,fontSize:a,sidePadding:o,style:s}=e,{startZoneWidth:c,endZoneWidth:l}=e,u=c!==null&&l!==null?0:o,d=s===`ios`,f=n(`flex justify-center`,d&&`font-semibold`,!d&&`font-medium`);return(0,i.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 flex items-center text-ink`,style:{top:0,width:t.width,height:r*2,fontSize:a,paddingInline:u,justifyContent:`space-between`},children:[(0,i.jsx)(`span`,{className:f,style:{width:c??void 0},children:m}),(0,i.jsx)(`span`,{className:`flex justify-center`,style:{width:l??void 0},children:(0,i.jsx)(p,{})})]})},g=()=>(0,i.jsxs)(`div`,{className:`flex size-full items-center gap-2 border-line border-b bg-soft px-3`,children:[(0,i.jsx)(`span`,{className:`h-6 w-14 rounded-md bg-line`}),(0,i.jsx)(`span`,{className:`mx-auto flex h-6 w-[40%] items-center rounded-md bg-line`,children:(0,i.jsx)(a,{})}),(0,i.jsx)(`span`,{className:`grid size-[26px] place-items-center rounded-full bg-line text-ink`,children:(0,i.jsx)(t,{name:`close`,size:12,strokeWidth:1.6})})]}),_=[`bg-window-close`,`bg-window-minimize`,`bg-window-maximize`],v=()=>(0,i.jsxs)(`div`,{className:`flex size-full items-center border-line border-b bg-soft ps-[19px]`,children:[(0,i.jsx)(`span`,{className:`flex gap-2`,children:_.map(e=>(0,i.jsx)(`span`,{className:n(`size-3 rounded-full`,e)},e))}),(0,i.jsx)(`span`,{className:`mx-auto flex h-7 w-[46%] items-center rounded-md bg-line`,children:(0,i.jsx)(a,{})}),(0,i.jsx)(`span`,{className:`w-[79px]`})]}),y=[{key:`minimize`,glyph:(0,i.jsx)(`span`,{className:`h-px w-2.5 bg-ink`})},{key:`maximize`,glyph:(0,i.jsx)(`span`,{className:`size-2.5 border border-ink`})},{key:`close`,glyph:(0,i.jsx)(t,{name:`close`,size:14,strokeWidth:1.4})}],b={macos:v,windows:()=>(0,i.jsxs)(`div`,{className:`flex size-full flex-col bg-soft`,children:[(0,i.jsxs)(`div`,{className:`flex h-10 items-start`,children:[(0,i.jsx)(`span`,{className:`mt-2 ms-2 flex h-8 w-44 items-center rounded-t-lg bg-card px-3`,children:(0,i.jsx)(`span`,{className:`h-2 w-24 rounded bg-line`})}),(0,i.jsx)(`span`,{className:`ms-auto flex`,children:y.map(e=>(0,i.jsx)(`span`,{className:`flex h-8 w-[46px] items-center justify-center text-ink`,children:e.glyph},e.key))})]}),(0,i.jsxs)(`div`,{className:`flex h-10 items-center gap-2 border-line border-b bg-card px-3`,children:[(0,i.jsx)(`span`,{className:`h-6 w-16 rounded bg-soft`}),(0,i.jsx)(`span`,{className:`flex h-7 min-w-0 flex-1 items-center rounded-full bg-soft`,children:(0,i.jsx)(a,{})})]})]}),linux:g},x=({kind:e,box:t})=>{let n=b[e];return(0,i.jsx)(`div`,{className:`absolute top-0 left-0 w-full`,style:{height:t.height},children:(0,i.jsx)(n,{})})},S=({layout:e,scale:t,children:r})=>{let{width:a,height:o,screen:s,page:l,windowBar:d}=e,{statusBar:f,toolbar:p,cutout:m,homeIndicator:g}=e,_=e.hasBody,v=d!==null,y=p!==null,b=f!==null,S=g!==null,C=m!==null;return(0,i.jsx)(`div`,{"data-frame-family":e.family,className:`relative flex-none`,style:{width:a*t,height:o*t},children:(0,i.jsxs)(`div`,{dir:`ltr`,className:`absolute top-0 left-0 origin-top-left`,style:{width:a,height:o,transform:`scale(${t})`},children:[_&&(0,i.jsx)(`div`,{className:`absolute inset-0 bg-ink shadow-[inset_0_0_0_2px_var(--color-frame-detail)]`,style:{borderRadius:e.bodyRadius}}),(0,i.jsxs)(`div`,{className:n(`absolute overflow-hidden bg-card`,v&&`border border-line shadow-lift`),style:{left:s.left,top:s.top,width:s.width,height:s.height,borderRadius:s.radius},children:[(0,i.jsx)(`div`,{"data-frame-page":``,className:`absolute overflow-hidden`,style:{left:l.left,top:l.top,width:l.width,height:l.height},children:r}),v&&(0,i.jsx)(x,{kind:d.kind,box:d.box}),y&&(0,i.jsx)(c,{box:p}),b&&(0,i.jsx)(h,{statusBar:f}),S&&(0,i.jsx)(`span`,{"aria-hidden":`true`,className:`absolute rounded-full bg-ink`,style:{left:g.left,top:g.top,width:g.width,height:g.height}})]}),C&&(0,i.jsx)(u,{drawing:m.drawing,box:m.box})]})})},C={width:0,height:0,top:0,left:null},w={width:126,height:37,top:11,left:null},T={width:209,height:30,top:0,left:null},E={width:11,height:11,top:8,left:null},D={width:11,height:11,top:8,left:24},O={width:66,height:66,top:0,left:null},k={width:52,height:52,top:0,left:null},A={width:8,height:8,top:0,left:null},j={bezelSide:14,bezelTop:13,bezelBottom:13,minBodyRadius:0,screenRadius:55,statusBarHeight:59,statusBarSidePadding:28,toolbarHeight:50,hasHomeIndicator:!0,cutoutDrawing:null,cutoutDefault:C,windowBarHeight:0,windowRadius:0},M={...j,bezelSide:12,bezelTop:11,bezelBottom:11,screenRadius:36,statusBarHeight:24,statusBarSidePadding:24,toolbarHeight:56},N={...j,bezelSide:52,bezelTop:52,bezelBottom:52,screenRadius:18,statusBarHeight:24,statusBarSidePadding:24,cutoutDrawing:`camera`,cutoutDefault:A},P={...j,bezelSide:0,bezelTop:0,bezelBottom:0,screenRadius:0,statusBarHeight:0,hasHomeIndicator:!1},F={"phone-home-button":{...j,bezelSide:28,bezelTop:110,bezelBottom:110,minBodyRadius:46,screenRadius:0,statusBarHeight:20,statusBarSidePadding:8,toolbarHeight:44,hasHomeIndicator:!1,cutoutDrawing:`home-button`,cutoutDefault:O},"phone-notch":{...j,screenRadius:47,statusBarHeight:47,cutoutDrawing:`notch`,cutoutDefault:T},"phone-island":{...j,cutoutDrawing:`island`,cutoutDefault:w},"phone-hole-center":{...M,cutoutDrawing:`hole`,cutoutDefault:E},"phone-hole-corner":{...M,cutoutDrawing:`hole`,cutoutDefault:D},"phone-plain":M,"tablet-home-button":{...N,bezelSide:40,bezelTop:90,bezelBottom:90,minBodyRadius:28,screenRadius:0,statusBarHeight:20,hasHomeIndicator:!1,cutoutDrawing:`home-button`,cutoutDefault:k},"tablet-hole":{...N,bezelSide:16,bezelTop:16,bezelBottom:16,screenRadius:20,statusBarHeight:30,cutoutDrawing:`hole`,cutoutDefault:E},tablet:N,"window-macos":{...P,windowBarHeight:52,windowRadius:14},"window-windows":{...P,windowBarHeight:80,windowRadius:8},"window-linux":{...P,windowBarHeight:47,windowRadius:12},kiosk:{...P,bezelSide:14,bezelTop:14,bezelBottom:14,minBodyRadius:6}},I={ios:17,android:14},L=.6,R={ios:{width:134,height:5},android:{width:108,height:4}},z=8,B={"home-button":`phone-home-button`,"dynamic-island":`phone-island`,"punch-hole":`phone-hole-center`,tablet:`tablet`,laptop:`window-macos`,kiosk:`kiosk`},V={none:`phone-plain`,notch:`phone-notch`,"dynamic-island":`phone-island`,"punch-hole-center":`phone-hole-center`,"punch-hole-corner":`phone-hole-corner`,"home-button":`phone-home-button`},H={none:`tablet`,notch:`tablet`,"dynamic-island":`tablet`,"punch-hole-center":`tablet-hole`,"punch-hole-corner":`tablet-hole`,"home-button":`tablet-home-button`},U={ios:`window-macos`,ipados:`window-macos`,android:`window-macos`,macos:`window-macos`,windows:`window-windows`,linux:`window-linux`},W={ios:`ios`,ipados:`ios`,android:`android`,macos:null,windows:null,linux:null},G={"home-button":`ios`,"dynamic-island":`ios`,"punch-hole":`android`,tablet:null,laptop:null,kiosk:null},K={"window-macos":`macos`,"window-windows":`windows`,"window-linux":`linux`,"phone-home-button":null,"phone-notch":null,"phone-island":null,"phone-hole-center":null,"phone-hole-corner":null,"phone-plain":null,"tablet-home-button":null,"tablet-hole":null,tablet:null,kiosk:null},q=e=>e===`home-button`||e===`dynamic-island`||e===`punch-hole`,J=e=>{let{frameShape:t,platform:n,cutout:r}=e,i=r!==null;return q(t)&&i?V[r.kind]:t===`tablet`&&i?H[r.kind]:t===`laptop`&&n!==null?U[n]:B[t]},Y=e=>{let{platform:t,frameShape:n}=e;return t===null?G[n]:W[t]},X=(e,t,n)=>{let{cutoutDrawing:r,cutoutDefault:i}=t;if(r===null)return null;let{bezelSide:a,bezelTop:o,bezelBottom:s}=t,{viewportWidth:c}=e;if(r===`home-button`){let{width:e}=i;return{drawing:r,box:{left:a+(c-e)/2,top:o+n+(s-e)/2,width:e,height:e},screenLeft:0}}if(r===`camera`){let{width:e}=i;return{drawing:r,box:{left:a+(c-e)/2,top:(o-e)/2,width:e,height:e},screenLeft:0}}let l=e.cutout,u=l?.width??i.width,d=l?.height??i.height,f=l?.top??i.top,p=i.left??(c-u)/2,m=l?.left??p;return{drawing:r,box:{left:a+m,top:o+f,width:u,height:d},screenLeft:m}},Z=e=>e===`island`||e===`notch`,Q=(e,t,n,r,i)=>{let a=Math.min(I[e],Math.round(t*L)),o={left:0,top:0,width:n,height:t},s=i===null,c={style:e,box:o,fontSize:a,sidePadding:r.statusBarSidePadding};if(s)return{...c,centerY:t/2,startZoneWidth:null,endZoneWidth:null};let{drawing:l,screenLeft:u}=i,d=i.box.width,f=Z(l),p=l===`island`||l===`hole`,m=i.box.top-r.bezelTop+i.box.height/2,h=p&&m<t?m:t/2,g=f?u:null,_=f?n-u-d:null;return{...c,centerY:h,startZoneWidth:g,endZoneWidth:_}},$=(e,t,n)=>{let r=F[t],{viewportWidth:i,viewportHeight:a}=e,o=i,s=r.windowBarHeight+a,c={left:0,top:0,width:o,height:r.windowBarHeight};return{family:t,width:o,height:s,bodyRadius:r.windowRadius,hasBody:!1,screen:{left:0,top:0,width:o,height:s,radius:r.windowRadius},page:{left:0,top:r.windowBarHeight,width:i,height:a},statusBar:null,toolbar:null,windowBar:{kind:n,box:c},cutout:null,homeIndicator:null}},ee=(e,t,n)=>{if(n===null||t.statusBarHeight===0)return 0;if(e.viewportMode!==`browser`)return Math.max(0,e.screenHeight-e.viewportHeight);let{top:r}=e.safeAreaInsets;return r>0?r:t.statusBarHeight},te=(e,t,n)=>{if(n===0)return{total:0,toolbar:0};if(e.viewportMode!==`browser`)return{total:n,toolbar:0};let r=e.screenHeight-e.viewportHeight;return r>n?{total:r,toolbar:r-n}:{total:n+t.toolbarHeight,toolbar:t.toolbarHeight}},ne=(e,t,n)=>{if(e===null||!t.hasHomeIndicator)return null;let{width:r,height:i}=R[e];return{left:(n.width-r)/2,top:n.height-z-i,width:r,height:i}},re=(e,t)=>{let n=F[t],r=Y(e),i=ee(e,n,r),a=te(e,n,i),{viewportWidth:o,viewportHeight:s}=e,c={width:o,height:s+a.total},l=e.cornerRadius??n.screenRadius,u=a.toolbar>0,d=r===`ios`,f=d?i+s:i,p=u?{left:0,top:f,width:o,height:a.toolbar}:null,m=a.total>0,h=d?i:i+a.toolbar,g=m?h:0,_=X(e,n,c.height),v=r!==null&&i>0?Q(r,i,o,n,_):null;return{family:t,width:c.width+2*n.bezelSide,height:c.height+n.bezelTop+n.bezelBottom,bodyRadius:Math.max(l+n.bezelSide,n.minBodyRadius),hasBody:!0,screen:{left:n.bezelSide,top:n.bezelTop,width:c.width,height:c.height,radius:l},page:{left:0,top:g,width:o,height:s},statusBar:v,toolbar:p,windowBar:null,cutout:_,homeIndicator:ne(r,n,c)}},ie=e=>{let t=J(e),n=K[t];return n===null?re(e,t):$(e,t,n)},ae=(e,t)=>Math.min(1,t.width/e.width,t.height/e.height);export{ie as n,S as r,ae as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#eef0f4;--color-card:#fff;--color-line:#d7dbe5;--color-soft:#f6f7fa;--color-ink:#0e1222;--color-ink-2:#4e5468;--color-ink-3:#5f6579;--color-muted:#8b91a8;--color-frame-detail:#2e3450;--color-window-close:#ff5f57;--color-window-minimize:#febc2e;--color-window-maximize:#28c840;--color-pink:#ff4f9a;--color-cobalt:#2b35e0;--color-ok:#0b7a4b;--color-ok-soft:#e6f4ec;--color-warn:#a35a00;--color-warn-soft:#fff3e0;--color-failed:#c8361b;--color-failed-soft:#fdece8}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background:var(--color-paper);color:var(--color-ink);line-height:normal;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--color-cobalt);outline-offset:2px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.end-1\.5{inset-inline-end:calc(var(--spacing) * 1.5)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.z-10{z-index:10}.order-last{order:9999}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.ms-1{margin-inline-start:var(--spacing)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-auto{margin-inline-start:auto}.-me-2\.5{margin-inline-end:calc(var(--spacing) * -2.5)}.-mt-2\.5{margin-top:calc(var(--spacing) * -2.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-\[26px\]{width:26px;height:26px}.size-full{width:100%;height:100%}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-\[3px\]{height:3px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-130{max-height:calc(var(--spacing) * 130)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[96dvh\]{max-height:96dvh}.max-h-\[calc\(96dvh-9\.5rem\)\]{max-height:calc(96dvh - 9.5rem)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-full{min-height:100%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-\[40\%\]{width:40%}.w-\[46\%\]{width:46%}.w-\[46px\]{width:46px}.w-\[79px\]{width:79px}.w-\[min\(92vw\,64rem\)\]{width:min(92vw,64rem)}.w-\[min\(96vw\,520px\)\]{width:min(96vw,520px)}.w-\[min\(96vw\,1600px\)\]{width:min(96vw,1600px)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-160{max-width:calc(var(--spacing) * 160)}.max-w-290{max-width:calc(var(--spacing) * 290)}.max-w-\[96vw\]{max-width:96vw}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-48{min-width:calc(var(--spacing) * 48)}.flex-1{flex:1}.flex-none{flex:none}.basis-60{flex-basis:calc(var(--spacing) * 60)}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-top-left{transform-origin:0 0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\[3px\]{gap:3px}.gap-x-1{column-gap:var(--spacing)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-\[22px\]{border-bottom-right-radius:22px;border-bottom-left-radius:22px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-cobalt{border-color:var(--color-cobalt)}.border-failed{border-color:var(--color-failed)}.border-frame-detail{border-color:var(--color-frame-detail)}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.border-muted{border-color:var(--color-muted)}.border-warn{border-color:var(--color-warn)}.bg-card{background-color:var(--color-card)}.bg-cobalt{background-color:var(--color-cobalt)}.bg-failed{background-color:var(--color-failed)}.bg-failed-soft{background-color:var(--color-failed-soft)}.bg-frame-detail{background-color:var(--color-frame-detail)}.bg-ink{background-color:var(--color-ink)}.bg-line{background-color:var(--color-line)}.bg-ok{background-color:var(--color-ok)}.bg-ok-soft{background-color:var(--color-ok-soft)}.bg-paper{background-color:var(--color-paper)}.bg-pink{background-color:var(--color-pink)}.bg-soft{background-color:var(--color-soft)}.bg-transparent{background-color:#0000}.bg-warn-soft{background-color:var(--color-warn-soft)}.bg-window-close{background-color:var(--color-window-close)}.bg-window-maximize{background-color:var(--color-window-maximize)}.bg-window-minimize{background-color:var(--color-window-minimize)}.bg-\[repeating-linear-gradient\(90deg\,var\(--color-pink\)_0_6px\,transparent_6px_10px\)\]{background-image:repeating-linear-gradient(90deg,var(--color-pink) 0 6px,transparent 6px 10px)}.fill-card{fill:var(--color-card)}.fill-cobalt{fill:var(--color-cobalt)}.fill-pink{fill:var(--color-pink)}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.ps-2\.5{padding-inline-start:calc(var(--spacing) * 2.5)}.ps-4{padding-inline-start:calc(var(--spacing) * 4)}.ps-\[19px\]{padding-inline-start:19px}.pe-1{padding-inline-end:var(--spacing)}.pe-3{padding-inline-end:calc(var(--spacing) * 3)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-\[9px\]{padding-bottom:9px}.text-center{text-align:center}.text-end{text-align:end}.text-start{text-align:start}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[28px\]{font-size:28px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[14px\]{--tw-leading:14px;line-height:14px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[25px\]{--tw-leading:25px;line-height:25px}.leading-\[34px\]{--tw-leading:34px;line-height:34px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-card{color:var(--color-card)}.text-cobalt{color:var(--color-cobalt)}.text-failed{color:var(--color-failed)}.text-ink{color:var(--color-ink)}.text-ink-2{color:var(--color-ink-2)}.text-ink-3{color:var(--color-ink-3)}.text-muted{color:var(--color-muted)}.text-ok{color:var(--color-ok)}.text-pink{color:var(--color-pink)}.text-warn{color:var(--color-warn)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-\[inset_0_0_0_1px_rgb\(255_255_255\/0\.14\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff24);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgb\(255_255_255\/0\.35\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff59);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_2px_var\(--color-frame-detail\)\]{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,var(--color-frame-detail));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lift{--tw-shadow:0 18px 40px -16px var(--tw-shadow-color,#0e122252), 0 2px 6px var(--tw-shadow-color,#0e12220f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-frame-detail{--tw-ring-color:var(--color-frame-detail)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-offset-4{outline-offset:4px}.transition-\[translate\,background-color\]{transition-property:translate,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,box-shadow\]{transition-property:translate,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.backdrop\:bg-ink\/60::backdrop{background-color:#0e122299}@supports (color:color-mix(in lab, red, red)){.backdrop\:bg-ink\/60::backdrop{background-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:start-0\.5:before{content:var(--tw-content);inset-inline-start:calc(var(--spacing) * .5)}.before\:top-0\.5:before{content:var(--tw-content);top:calc(var(--spacing) * .5)}.before\:size-5:before{content:var(--tw-content);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.before\:rounded-full:before{content:var(--tw-content);border-radius:2147483647px}.before\:bg-card:before{content:var(--tw-content);background-color:var(--color-card)}.before\:transition-\[translate\]:before{content:var(--tw-content);transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:duration-200:before{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.checked\:bg-cobalt:checked{background-color:var(--color-cobalt)}.checked\:before\:translate-x-4:checked:before{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-soft:hover{background-color:var(--color-soft)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:shadow-lift:hover{--tw-shadow:0 18px 40px -16px var(--tw-shadow-color,#0e122252), 0 2px 6px var(--tw-shadow-color,#0e12220f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media (width>=500px){.min-\[500px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=48rem){.md\:inset-x-auto{inset-inline:auto}.md\:end-5{inset-inline-end:calc(var(--spacing) * 5)}.md\:order-none{order:0}.md\:col-span-1{grid-column:span 1/span 1}.md\:flex{display:flex}.md\:inline{display:inline}.md\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.md\:h-9{height:calc(var(--spacing) * 9)}.md\:h-10{height:calc(var(--spacing) * 10)}.md\:min-h-7{min-height:calc(var(--spacing) * 7)}.md\:w-56{width:calc(var(--spacing) * 56)}.md\:w-95{width:calc(var(--spacing) * 95)}.md\:w-auto{width:auto}.md\:max-w-96{max-width:calc(var(--spacing) * 96)}.md\:min-w-56{min-width:calc(var(--spacing) * 56)}.md\:flex-1{flex:1}.md\:flex-none{flex:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.md\:grid-cols-\[minmax\(0\,3fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.md\:flex-row{flex-direction:row}.md\:justify-center{justify-content:center}.md\:rounded-full{border-radius:2147483647px}.md\:p-0{padding:0}.md\:p-5{padding:calc(var(--spacing) * 5)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-0{padding-block:0}.md\:py-6{padding-block:calc(var(--spacing) * 6)}.md\:ps-4{padding-inline-start:calc(var(--spacing) * 4)}.md\:pe-2{padding-inline-end:calc(var(--spacing) * 2)}}@media (width>=64rem){.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:flex-none{flex:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,22rem\)\]{grid-template-columns:minmax(0,1fr) minmax(0,22rem)}.lg\:flex-row{flex-direction:row}}@media (hover:none){.\[\@media\(hover\:none\)\]\:hidden{display:none}}}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:no-preference){.live-dot{animation:1.8s ease-in-out infinite live-pulse}}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|