@plumix/admin 0.5.0 → 0.7.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/dist/assets/-errors-RB-rEi-I.js +1 -0
- package/dist/assets/{_-C6mMIz3l.js → _-DngjjFK4.js} +1 -1
- package/dist/assets/{_-CljmxTlS.js → _-h-_izgKQ.js} +2 -2
- package/dist/assets/_authenticated-Bgi03W1b.js +1 -0
- package/dist/assets/{_authenticated-kVO_-7Sn.js → _authenticated-CH4N_cSi.js} +2 -2
- package/dist/assets/{_authenticated-BYa_DMSE.js → _authenticated-E1SDZnP9.js} +1 -1
- package/dist/assets/{_name-aKYVqU32.js → _name-BEnhsrWI.js} +2 -2
- package/dist/assets/{_name-BGOHegOZ.js → _name-DQVev0AG.js} +1 -1
- package/dist/assets/_page-D0l1kYXx.js +1 -0
- package/dist/assets/_page-wrWlHYyD.js +2 -0
- package/dist/assets/{_slug-Bdb7jL1l.js → _slug-BfC_rJhz.js} +1 -1
- package/dist/assets/{_slug-DWmiGCz6.js → _slug-Bztim-i3.js} +2 -2
- package/dist/assets/{_token-s0TefqyQ.js → _token-D-j4VVVI.js} +1 -1
- package/dist/assets/{_token-DVnFp6Xw.js → _token-Dsc9zTxr.js} +2 -2
- package/dist/assets/{allowed-domains-CQYTKIje.js → allowed-domains-B6oGNO8i.js} +1 -1
- package/dist/assets/{ar-Dh1_Madu.js → ar-D0lPKYVq.js} +1 -1
- package/dist/assets/{bootstrap-DAMkwOTO.js → bootstrap-Dbv-AIOo.js} +2 -2
- package/dist/assets/{bootstrap-oBDU-2AF.js → bootstrap-jj58lGRM.js} +1 -1
- package/dist/assets/breadcrumb-Di_E7s51.js +1 -0
- package/dist/assets/{create-CaxQlu5L.js → create-CXFn-yel.js} +1 -1
- package/dist/assets/{create-DQ5AIyqG.js → create-Cvo5wKBV.js} +2 -2
- package/dist/assets/{create-DgEbjT-H.js → create-CylSqfDG.js} +1 -1
- package/dist/assets/create-Dg10UEnK.js +1 -0
- package/dist/assets/{create-CICYrKqG.js → create-DnLK3SmI.js} +2 -2
- package/dist/assets/{de-BDyIkMJC.js → de-ByPNuZ6R.js} +1 -1
- package/dist/assets/{device-COTq1gdI.js → device-CxnTgMZ6.js} +1 -1
- package/dist/assets/{device-Ae_X8x7B.js → device-vY_uxsCV.js} +2 -2
- package/dist/assets/{edit-BN3TXfeW.js → edit-2aEJRHSG.js} +3 -3
- package/dist/assets/edit-BPw2fZ5B.js +1 -0
- package/dist/assets/{edit-BskWld1E.js → edit-BRhq3mGx.js} +2 -2
- package/dist/assets/{edit-DtsKHyYT.js → edit-Cc5hxhM7.js} +2 -2
- package/dist/assets/{edit-DLcsu05p.js → edit-Cu_XtYMX.js} +1 -1
- package/dist/assets/edit-D9-iSIWu.js +2 -0
- package/dist/assets/edit-DOoYH9tG.js +1 -0
- package/dist/assets/{en-DYui4aSX.js → en-LRPc5lfW.js} +1 -1
- package/dist/assets/form-CY307HEl.js +1 -0
- package/dist/assets/index-B9lFt9M4.css +1 -0
- package/dist/assets/{index-CI4pEEIx.js → index-D7rrOihJ.js} +3 -3
- package/dist/assets/json-code-editor-9PGQwSkN.js +12 -0
- package/dist/assets/{login-DU7y_Ylt.js → login-0-PQLYlS.js} +2 -2
- package/dist/assets/{login-Bify50W1.js → login-Dk-LKP1e.js} +1 -1
- package/dist/assets/{mailer-DoyD5gWW.js → mailer-BemLhNOI.js} +1 -1
- package/dist/assets/{mailer-DeygotUf.js → mailer-CTVZRBU2.js} +2 -2
- package/dist/assets/manifest-2YUNz_ML.js +1 -0
- package/dist/assets/meta-box-CwZHh0Nj.js +1 -0
- package/dist/assets/meta-field-errors-Za3ulViR.js +1 -0
- package/dist/assets/{palette-commands-DX18c0wH.js → palette-commands-Di6Dnj4z.js} +2 -2
- package/dist/assets/{plugin-registry-nSDhEMki.js → plugin-registry-DLDusPOA.js} +1 -1
- package/dist/assets/{register-core-blocks-Bh6u65qH.js → register-core-blocks-CVavxPiP.js} +1 -1
- package/dist/assets/rich-text-field-DGgpOqHQ.js +123 -0
- package/dist/assets/{search-input-BG9KotQw.js → search-input-B7zZp8UE.js} +2 -2
- package/dist/assets/{settings-CXPqdjqb.js → settings-199pUzJn.js} +1 -1
- package/dist/assets/{settings-BtTviWkj.js → settings-DZyJ36D2.js} +2 -2
- package/dist/assets/{toast-CWtRg47-.js → toast-26daCjvR.js} +1 -1
- package/dist/assets/{uk-Cq7H12wQ.js → uk-CTQT1XuD.js} +1 -1
- package/dist/assets/use-visible-fields-C0FKrnz6.js +2 -0
- package/dist/assets/{users-DzXByAic.js → users-BmZY207i.js} +1 -1
- package/dist/assets/{users-CMJAWmSV.js → users-ZRNKnWGa.js} +2 -2
- package/dist/assets/{utils-kFAy0YTP.js → utils-RSNxndzY.js} +2 -2
- package/dist/assets/{valibot-DO4fmSyX.js → valibot-CHirPb_E.js} +1 -1
- package/dist/assets/w3c-keyname-BOAvb0qz.js +1 -0
- package/dist/assets/{zh-CN-YIfV5Hug.js → zh-CN-g4V81dTW.js} +1 -1
- package/dist/index.html +23 -23
- package/package.json +9 -5
- package/dist/assets/-errors-CapunOga.js +0 -1
- package/dist/assets/_authenticated-Dcp2Ynic.js +0 -1
- package/dist/assets/_page--PcGMzdu.js +0 -2
- package/dist/assets/_page-Be9sR1G2.js +0 -1
- package/dist/assets/breadcrumb-x0qfIbU9.js +0 -1
- package/dist/assets/create-3wo13Gal.js +0 -1
- package/dist/assets/edit-CgWGy3PZ.js +0 -2
- package/dist/assets/edit-DU82eAhY.js +0 -1
- package/dist/assets/edit-evcBUaDE.js +0 -1
- package/dist/assets/form-B_PPIck3.js +0 -1
- package/dist/assets/index-BtnQdcjJ.css +0 -1
- package/dist/assets/manifest-Bdiv3Qyq.js +0 -1
- package/dist/assets/meta-box-B-hP57rw.js +0 -1
- package/dist/assets/meta-box-field-BTDudxyS.js +0 -1
- package/dist/assets/meta-box-grid-CoW6o7O7.js +0 -1
- package/dist/assets/rich-text-field-CS-OOttw.js +0 -123
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as r,n as i}from"./dist-BL2bKHuR.js";import{t as a,u as o}from"./orpc-CmtRGLtZ.js";import{t as s}from"./useQuery-QAYxQfCx.js";import{t as c}from"./useMutation-vgMtqBOX.js";import{t as l}from"./useSuspenseQuery-9GLTSYHf.js";import{o as u,t as d}from"./link-CI3qhqYu.js";import{a as f,i as p,n as m,r as h,s as g,t as _}from"./select-D3kIVy0H.js";import{n as v,t as y}from"./button-DG1Ca1S5.js";import{i as b,o as x,r as S,t as C}from"./empty-p3QKoEqD.js";import{t as w}from"./createLucideIcon-C0O-yxZG.js";import{t as ee}from"./arrow-left-CWzmtp8T.js";import{n as te,r as ne,t as re}from"./textarea-iIsBg5jH.js";import{n as ie,t as ae}from"./clipboard-D6ZMYUE8.js";import{B as oe,F as se,I as ce,K as le,L as ue,N as de,O as fe,P as pe,R as me,V as he,c as ge,d as _e,f as ve,k as ye,l as be,s as xe,u as Se,z as Ce}from"./utils-kFAy0YTP.js";import{i as we,n as Te,r as Ee,t as De}from"./slug-CAYcbdmW.js";import{t as T}from"./use-label-CykSHq9A.js";import{b as Oe,f as ke,y as Ae}from"./manifest-Bdiv3Qyq.js";import{D as je,T as Me,b as Ne,d as Pe,h as Fe,k as Ie,l as Le,r as Re,v as ze,w as Be,y as Ve}from"./dist-ClOzYsk5.js";import{n as He}from"./vmessage-CRX68a8a.js";import{t as Ue}from"./caps-SYhabp1B.js";import{t as We}from"./use-formatters-DLJOFcWE.js";import{n as Ge,t as Ke}from"./user-role-labels-NFC7DRSs.js";import{n as qe,r as Je,t as Ye}from"./-constants-D2aYlJ-p.js";import{a as E,i as Xe,n as Ze,r as Qe,t as $e}from"./card-L2-kK5VK.js";import{t as et}from"./edit-2tkUFGA0.js";import{t as tt}from"./edit-BskWld1E.js";import{t as nt}from"./input-xYuLUQID.js";import{a as rt,n as it}from"./passkey-DN4QfROE.js";import{a as at,c as ot,f as st,i as ct,n as lt,o as ut,p as dt,r as ft,s as pt,t as mt}from"./form-B_PPIck3.js";import{n as D,t as O}from"./alert-cwX3fWUu.js";import{t as ht}from"./valibot-DO4fmSyX.js";import{n as gt,t as _t}from"./orpc-errors-DWk96ZMY.js";import{t as vt}from"./scopes-C_7AiPdH.js";import{t as yt}from"./dates-CSmOj6E-.js";import{t as bt}from"./meta-box-B-hP57rw.js";var xt=w(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),St=w(`tv`,[[`path`,{d:`m17 2-5 5-5-5`,key:`16satq`}],[`rect`,{width:`20`,height:`15`,x:`2`,y:`7`,rx:`2`,key:`1e6viu`}]]),Ct=w(`watch`,[[`path`,{d:`M12 10v2.2l1.6 1`,key:`n3r21l`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`,key:`18k57s`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`,key:`16ny36`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}]]),k=e(n(),1),A=e(t(),1),j={nameRequired:{id:`apiTokens.create.nameRequired`},nameTooLong:{id:`apiTokens.create.nameTooLong`},expires7:{id:`apiTokens.expiry.7`},expires30:{id:`apiTokens.expiry.30`},expires90:{id:`apiTokens.expiry.90`},expiresNever:{id:`apiTokens.expiry.never`},mintFallback:{id:`apiTokens.mint.fallback`},revokeFallback:{id:`apiTokens.revoke.fallback`},namePlaceholder:{id:`apiTokens.create.namePlaceholder`},copyAria:{id:`apiTokens.secret.copyAria`},capabilitiesPlaceholder:{id:`apiTokens.create.capabilities.placeholder`}},wt=Fe({name:Ve(Be(),je(),Pe(1,He(j.nameRequired)),Le(64,He(j.nameTooLong))),expires:ze([`7`,`30`,`90`,`never`]),scopeMode:ze([`inherit`,`restrict`]),scopesText:Ve(Be(),Le(4096))}),Tt={7:j.expires7,30:j.expires30,90:j.expires90,never:j.expiresNever},Et={7:7,30:30,90:90,never:null};function Dt(){let e=o(),t=s(a.auth.apiTokens.list.queryOptions({input:{}})),n=c({mutationFn:e=>a.auth.apiTokens.create.call({name:e.name,expiresInDays:e.expiresInDays,scopes:e.scopes===null?null:[...e.scopes]}),onSuccess:()=>e.invalidateQueries({queryKey:a.auth.apiTokens.list.key()})}),r=c({mutationFn:e=>a.auth.apiTokens.revoke.call({id:e}),onSuccess:()=>e.invalidateQueries({queryKey:a.auth.apiTokens.list.key()})});return(0,A.jsx)(kt,{mode:`self`,tokens:t.data??[],isLoading:t.isLoading,onMint:(e,t)=>n.mutate(e,t),mintPending:n.isPending,onRevoke:(e,t)=>r.mutate(e,t),revokePending:r.isPending})}function Ot({userId:e}){let t=o(),n=s(a.auth.apiTokens.adminList.queryOptions({input:{userId:e}})),r=c({mutationFn:e=>a.auth.apiTokens.adminRevoke.call({id:e}),onSuccess:()=>t.invalidateQueries({queryKey:a.auth.apiTokens.adminList.key()})});return(0,A.jsx)(kt,{mode:`admin`,tokens:n.data?.items??[],isLoading:n.isLoading,onRevoke:(e,t)=>r.mutate(e,t),revokePending:r.isPending})}function kt({mode:e,tokens:t,isLoading:n,onMint:r,mintPending:a=!1,onRevoke:o,revokePending:s}){let c=T(),[l,u]=(0,k.useState)(null),[d,f]=(0,k.useState)(null),[p,m]=(0,k.useState)(null),[h,g]=(0,k.useState)(null),_=(0,A.jsx)(`bdi`,{children:p?.name??``});return(0,A.jsxs)($e,{"data-testid":`api-tokens-card`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(i,{id:`apiTokens.title`,message:`API tokens`})}),(0,A.jsx)(Qe,{children:e===`self`?(0,A.jsx)(i,{id:`apiTokens.description.self`,message:`Personal access tokens for CLIs, MCP servers, CI bots, or any other non-browser client. The full secret is shown once at mint time.`}):(0,A.jsx)(i,{id:`apiTokens.description.admin`,message:`Tokens minted by this user. You can revoke any of them — minting requires the owner's authenticated browser session.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-6`,children:[r?(0,A.jsx)(At,{onSubmit:e=>{f(null);let t=e.scopeMode===`inherit`?null:vt(e.scopesText);r({name:e.name,expiresInDays:Et[e.expires],scopes:t},{onSuccess:e=>{u({secret:e.secret,name:e.token.name})},onError:e=>{f(e instanceof Error?e.message:j.mintFallback)}})},pending:a,error:d}):null,n?(0,A.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`api-tokens-loading`,children:(0,A.jsx)(i,{id:`apiTokens.loading`,message:`Loading tokens…`})}):t.length===0?(0,A.jsx)(C,{"data-testid":`api-tokens-empty`,children:(0,A.jsxs)(b,{children:[(0,A.jsx)(x,{children:(0,A.jsx)(i,{id:`apiTokens.empty.title`,message:`No tokens yet`})}),(0,A.jsx)(S,{children:e===`self`?(0,A.jsx)(i,{id:`apiTokens.empty.description.self`,message:`Mint one above for your CLI / MCP server / CI bot.`}):(0,A.jsx)(i,{id:`apiTokens.empty.description.admin`,message:`This user hasn't minted any API tokens.`})})]})}):(0,A.jsxs)(xe,{"data-testid":`api-tokens-table`,children:[(0,A.jsx)(_e,{children:(0,A.jsxs)(ve,{children:[(0,A.jsx)(Se,{children:(0,A.jsx)(i,{id:`apiTokens.col.name`,message:`Name`})}),(0,A.jsx)(Se,{children:(0,A.jsx)(i,{id:`apiTokens.col.prefix`,message:`Prefix`})}),(0,A.jsx)(Se,{children:(0,A.jsx)(i,{id:`apiTokens.col.scopes`,message:`Scopes`})}),(0,A.jsx)(Se,{children:(0,A.jsx)(i,{id:`apiTokens.col.lastUsed`,message:`Last used`})}),(0,A.jsx)(Se,{children:(0,A.jsx)(i,{id:`apiTokens.col.expires`,message:`Expires`})}),(0,A.jsx)(Se,{className:`w-[1%] text-end`,children:(0,A.jsx)(i,{id:`apiTokens.col.actions`,message:`Actions`})})]})}),(0,A.jsx)(ge,{children:t.map(e=>(0,A.jsxs)(ve,{"data-testid":`api-tokens-row-${e.id}`,children:[(0,A.jsx)(be,{children:(0,A.jsx)(`span`,{className:`font-medium`,children:e.name})}),(0,A.jsx)(be,{children:(0,A.jsxs)(`code`,{className:`text-muted-foreground font-mono text-xs`,children:[e.prefix,`…`]})}),(0,A.jsx)(be,{children:(0,A.jsx)(Nt,{scopes:e.scopes})}),(0,A.jsx)(be,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(Mt,{when:e.lastUsedAt})}),(0,A.jsx)(be,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(Mt,{when:e.expiresAt})}),(0,A.jsx)(be,{className:`text-end`,children:(0,A.jsx)(y,{variant:`ghost`,size:`sm`,onClick:()=>m({id:e.id,name:e.name}),"data-testid":`api-tokens-revoke-${e.id}`,children:(0,A.jsx)(i,{id:`apiTokens.revoke.button`,message:`Revoke`})})})]},e.id))})]})]}),(0,A.jsx)(jt,{secret:l?.secret??null,name:l?.name??``,onClose:()=>u(null)}),(0,A.jsx)(pe,{open:p!==null,onOpenChange:e=>{e||(m(null),g(null))},children:(0,A.jsxs)(ue,{children:[(0,A.jsxs)(oe,{children:[(0,A.jsx)(he,{children:(0,A.jsx)(i,{id:`apiTokens.revoke.title`,message:`Revoke "{name}"?`,values:{name:_},comment:`name: the user-chosen token nickname (e.g. 'CI deploy key')`})}),(0,A.jsx)(me,{children:(0,A.jsx)(i,{id:`apiTokens.revoke.description`,message:`The token stops working immediately. Any client using it will start getting 401s on the next request.`})})]}),h?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`api-tokens-revoke-error`,children:(0,A.jsx)(D,{children:c(h)})}):null,(0,A.jsxs)(Ce,{children:[(0,A.jsx)(ce,{disabled:s,children:(0,A.jsx)(i,{id:`apiTokens.revoke.cancel`,message:`Cancel`})}),(0,A.jsx)(se,{"data-testid":`api-tokens-revoke-confirm-button`,disabled:s,className:v({variant:`destructive`}),onClick:e=>{e.preventDefault(),p&&(g(null),o(p.id,{onSuccess:()=>m(null),onError:e=>{g(e instanceof Error?e.message:j.revokeFallback)}}))},children:s?(0,A.jsx)(i,{id:`apiTokens.revoke.pending`,message:`Revoking…`}):(0,A.jsx)(i,{id:`apiTokens.revoke.confirm`,message:`Revoke`})})]})]})})]})}function At({onSubmit:e,pending:t,error:n}){let r=T(),a=st({resolver:ht(wt),defaultValues:{name:``,expires:`90`,scopeMode:`inherit`,scopesText:``},mode:`onBlur`}),o=dt({control:a.control,name:`scopeMode`});return(0,A.jsx)(mt,{...a,children:(0,A.jsxs)(`form`,{className:`flex flex-col gap-4 border-b pb-6`,onSubmit:a.handleSubmit(t=>{e(t),a.reset()}),children:[(0,A.jsx)(ct,{control:a.control,name:`name`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`apiTokens.create.name`,message:`Name`})}),(0,A.jsx)(lt,{children:(0,A.jsx)(nt,{placeholder:r(j.namePlaceholder),disabled:t,"data-testid":`api-tokens-create-name-input`,...e})}),(0,A.jsx)(pt,{})]})}),(0,A.jsx)(ct,{control:a.control,name:`expires`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`apiTokens.create.expires`,message:`Expires`})}),(0,A.jsxs)(_,{value:e.value,onValueChange:e.onChange,disabled:t,children:[(0,A.jsx)(lt,{children:(0,A.jsx)(p,{className:`w-full`,onBlur:e.onBlur,"data-testid":`api-tokens-create-expires-select`,children:(0,A.jsx)(f,{})})}),(0,A.jsx)(m,{children:Object.keys(Tt).map(e=>(0,A.jsx)(h,{value:e,children:r(Tt[e])},e))})]}),(0,A.jsx)(pt,{})]})}),(0,A.jsx)(ct,{control:a.control,name:`scopeMode`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{id:`api-token-scope-label`,children:(0,A.jsx)(i,{id:`apiTokens.create.permissions`,message:`Permissions`})}),(0,A.jsx)(lt,{children:(0,A.jsxs)(te,{value:e.value,onValueChange:e.onChange,"aria-labelledby":`api-token-scope-label`,className:`gap-2`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(ne,{value:`inherit`,id:`api-token-scope-inherit`,disabled:t,"data-testid":`api-tokens-create-scope-inherit-radio`}),(0,A.jsx)(ot,{htmlFor:`api-token-scope-inherit`,className:`font-normal`,children:(0,A.jsx)(i,{id:`apiTokens.create.scope.inherit`,message:`Inherit all your permissions`})})]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(ne,{value:`restrict`,id:`api-token-scope-restrict`,disabled:t,"data-testid":`api-tokens-create-scope-restrict-radio`}),(0,A.jsx)(ot,{htmlFor:`api-token-scope-restrict`,className:`font-normal`,children:(0,A.jsx)(i,{id:`apiTokens.create.scope.restrict`,message:`Restrict to specific capabilities`})})]})]})}),(0,A.jsx)(pt,{})]})}),o===`restrict`?(0,A.jsx)(ct,{control:a.control,name:`scopesText`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`apiTokens.create.capabilities`,message:`Capabilities`})}),(0,A.jsx)(lt,{children:(0,A.jsx)(re,{rows:4,placeholder:r(j.capabilitiesPlaceholder),disabled:t,"data-testid":`api-tokens-create-scopes-textarea`,className:`font-mono`,...e})}),(0,A.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:(0,A.jsx)(i,{id:`apiTokens.create.capabilities.help`,message:`One capability per line. The token can never exceed the caps your role grants — this is an additional narrowing.`})}),(0,A.jsx)(pt,{})]})}):null,n?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`api-tokens-create-error`,children:(0,A.jsx)(D,{children:r(n)})}):null,(0,A.jsx)(`div`,{className:`flex justify-end`,children:(0,A.jsxs)(y,{type:`submit`,disabled:t,"data-testid":`api-tokens-create-submit`,children:[(0,A.jsx)(le,{className:`size-4`}),t?(0,A.jsx)(i,{id:`apiTokens.create.submit.pending`,message:`Minting…`}):(0,A.jsx)(i,{id:`apiTokens.create.submit.idle`,message:`Mint token`})]})})]})})}function jt({secret:e,name:t,onClose:n}){let r=T(),[a,o]=(0,k.useState)(!1),s=async()=>{if(e)try{await ae(e),o(!0),setTimeout(()=>o(!1),2e3)}catch{let e=document.getElementById(`api-tokens-secret-input`);e instanceof HTMLInputElement&&(e.focus(),e.select())}};return(0,A.jsx)(pe,{open:e!==null,onOpenChange:e=>{e||(o(!1),n())},children:(0,A.jsxs)(ue,{"data-testid":`api-tokens-secret-dialog`,children:[(0,A.jsxs)(oe,{children:[(0,A.jsx)(he,{children:(0,A.jsx)(i,{id:`apiTokens.secret.title`,message:`Token "{name}" minted`,values:{name:(0,A.jsx)(`bdi`,{children:t})},comment:`name: the user-chosen token nickname (e.g. 'CI deploy key')`})}),(0,A.jsx)(me,{children:(0,A.jsx)(i,{id:`apiTokens.secret.description`,message:`Copy the secret now. We won't show it again — losing it means revoking and re-minting.`})})]}),(0,A.jsxs)(`div`,{className:`flex gap-2`,children:[(0,A.jsx)(nt,{id:`api-tokens-secret-input`,readOnly:!0,value:e??``,onFocus:e=>e.currentTarget.select(),"data-testid":`api-tokens-secret-input`,className:`bg-muted text-muted-foreground font-mono`}),(0,A.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{s()},"data-testid":`api-tokens-secret-copy-button`,"aria-label":r(j.copyAria),children:a?(0,A.jsx)(g,{className:`size-4`}):(0,A.jsx)(ie,{className:`size-4`})})]}),(0,A.jsx)(Ce,{children:(0,A.jsx)(se,{onClick:n,"data-testid":`api-tokens-secret-done-button`,children:(0,A.jsx)(i,{id:`apiTokens.secret.done`,message:`Done`})})})]})})}function Mt({when:e}){let{formatRelative:t}=We();return e===null?(0,A.jsx)(i,{id:`apiTokens.never`,message:`Never`}):(0,A.jsx)(A.Fragment,{children:t(yt(e))})}function Nt({scopes:e}){return e===null?(0,A.jsx)(de,{variant:`outline`,"data-testid":`api-tokens-scope-inherit`,children:(0,A.jsx)(i,{id:`apiTokens.scope.inheritRole`,message:`Inherit role`})}):e.length===0?(0,A.jsx)(de,{variant:`outline`,"data-testid":`api-tokens-scope-empty`,children:(0,A.jsx)(i,{id:`apiTokens.scope.empty`,message:`No caps`})}):(0,A.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map(e=>(0,A.jsx)(de,{variant:`secondary`,"data-testid":`api-tokens-scope-${e}`,children:e},e))})}function Pt({currentCode:e,manifest:t,onSelect:n}){let{i18n:i}=r(),a=t.i18n?.locales??[];return(0,A.jsxs)(_,{value:e,onValueChange:n,children:[(0,A.jsx)(p,{"data-testid":`locale-switcher-trigger`,"aria-label":i._(`profile.language.aria`,void 0,{message:`Language`}),children:(0,A.jsx)(f,{})}),(0,A.jsx)(m,{children:a.map(e=>(0,A.jsx)(h,{value:e.code,"data-testid":`locale-switcher-option-${e.code}`,children:e.label},e.code))})]})}function Ft({userLocale:e}){let t=ke(),n=typeof e==`string`?e:t.i18n?.defaultLocale??`en`,r=c({mutationFn:e=>a.user.setLocale.call({code:e}),onSuccess:()=>window.location.reload()});return(0,A.jsxs)($e,{"data-testid":`language-card`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(i,{id:`profile.language.title`,message:`Language`})}),(0,A.jsx)(Qe,{children:(0,A.jsx)(i,{id:`profile.language.description`,message:`Your admin chrome renders in this language. The page reloads after you switch so the new translations apply everywhere.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,A.jsx)(Pt,{currentCode:n,manifest:t,onSelect:r.mutate}),r.isError?(0,A.jsx)(O,{variant:`destructive`,children:(0,A.jsx)(D,{children:(0,A.jsx)(i,{id:`profile.language.error`,message:`Couldn't switch language. Please try again.`})})}):null]})]})}var M={unnamed:{id:`profile.passkeys.unnamed`},transportInternal:{id:`profile.passkeys.transport.internal`},transportHybrid:{id:`profile.passkeys.transport.hybrid`},transportSecurityKey:{id:`profile.passkeys.transport.securityKey`},nameEmpty:{id:`profile.passkeys.rename.nameEmpty`},notFound:{id:`profile.passkeys.notFound`},lastCredential:{id:`profile.passkeys.lastCredential`},renameFallback:{id:`profile.passkeys.rename.fallback`},deleteFallback:{id:`profile.passkeys.delete.fallback`},enrollCancelled:{id:`profile.passkeys.enroll.cancelled`},enrollAlreadyRegistered:{id:`profile.passkeys.enroll.alreadyRegistered`},enrollNoAuthenticator:{id:`profile.passkeys.enroll.noAuthenticator`},enrollNetworkError:{id:`profile.passkeys.enroll.networkError`},enrollEmailMismatch:{id:`profile.passkeys.enroll.emailMismatch`},enrollFallback:{id:`profile.passkeys.enroll.fallback`}};function It({userEmail:e}){let t=T(),n=o(),[r,l]=(0,k.useState)(null),u=s(a.auth.credentials.list.queryOptions({input:{}})),d=()=>n.invalidateQueries({queryKey:a.auth.credentials.list.key()}),f=c({mutationFn:()=>it({email:e}),onMutate:()=>{l(null)},onSuccess:()=>d(),onError:e=>{l(Vt(e))}});return(0,A.jsxs)($e,{"data-testid":`profile-passkeys-card`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(i,{id:`profile.passkeys.title`,message:`Passkeys`})}),(0,A.jsx)(Qe,{children:(0,A.jsx)(i,{id:`profile.passkeys.description`,message:`Devices that can sign in to this account. Add a new one before deleting an old one — at least one passkey must remain.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-4`,children:[u.isPending?(0,A.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(i,{id:`profile.passkeys.loading`,message:`Loading…`})}):u.error?(0,A.jsx)(O,{variant:`destructive`,children:(0,A.jsx)(D,{children:(0,A.jsx)(i,{id:`profile.passkeys.loadFailed`,message:`Couldn't load your passkeys. Refresh and try again.`})})}):u.data.length>0?(0,A.jsx)(`ul`,{className:`divide-border divide-y`,"data-testid":`profile-passkeys-list`,children:u.data.map(e=>(0,A.jsx)(Lt,{cred:e,isLast:u.data.length===1,onChanged:d},e.id))}):(0,A.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(i,{id:`profile.passkeys.empty`,message:`No passkeys registered. Add one to enable sign-in.`})}),r?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`profile-passkeys-enroll-error`,children:(0,A.jsx)(D,{children:t(r)})}):null,(0,A.jsx)(`div`,{className:`flex justify-end`,children:(0,A.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{f.mutate()},disabled:f.isPending,"data-testid":`profile-passkeys-enroll-button`,children:f.isPending?(0,A.jsx)(i,{id:`profile.passkeys.enroll.pending`,message:`Adding…`}):(0,A.jsx)(i,{id:`profile.passkeys.enroll.idle`,message:`Add passkey`})})})]})]})}function Lt({cred:e,isLast:t,onChanged:n}){let r=T(),{formatDate:o}=We(),s=yt(e.createdAt),l=yt(e.lastUsedAt),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(e.name??``),[m,h]=(0,k.useState)(!1),[g,_]=(0,k.useState)(null),[b,x]=(0,k.useState)(null),S=c({mutationFn:t=>a.auth.credentials.rename.call({id:e.id,name:t}),onMutate:()=>{_(null)},onSuccess:async()=>{d(!1),await n()},onError:e=>{_(zt(e))}}),C=c({mutationFn:()=>a.auth.credentials.delete.call({id:e.id}),onMutate:()=>{x(null)},onSuccess:async()=>{h(!1),await n()},onError:e=>{x(Bt(e))}}),w=e.name??r(M.unnamed),ee=Rt(e);return(0,A.jsxs)(`li`,{className:`flex flex-col gap-2 py-3`,"data-testid":`profile-passkey-row`,children:[(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:u?(0,A.jsxs)(`form`,{className:`flex flex-col gap-2`,onSubmit:e=>{e.preventDefault();let t=f.trim();if(t.length===0){_(M.nameEmpty);return}S.mutate(t)},children:[(0,A.jsxs)(fe,{className:`gap-2`,children:[(0,A.jsx)(ye,{htmlFor:`passkey-name-${e.id}`,className:`text-muted-foreground text-xs`,children:(0,A.jsx)(i,{id:`profile.passkeys.rename.label`,message:`Rename passkey`})}),(0,A.jsx)(nt,{id:`passkey-name-${e.id}`,value:f,maxLength:64,onChange:e=>{p(e.target.value)},"data-testid":`profile-passkey-rename-input`,autoFocus:!0})]}),g?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`profile-passkey-rename-error`,children:(0,A.jsx)(D,{children:r(g)})}):null,(0,A.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,A.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{d(!1),p(e.name??``),_(null)},disabled:S.isPending,children:(0,A.jsx)(i,{id:`profile.passkeys.rename.cancel`,message:`Cancel`})}),(0,A.jsx)(y,{type:`submit`,size:`sm`,disabled:S.isPending,"data-testid":`profile-passkey-rename-submit`,children:S.isPending?(0,A.jsx)(i,{id:`profile.passkeys.rename.pending`,message:`Saving…`}):(0,A.jsx)(i,{id:`profile.passkeys.rename.save`,message:`Save`})})]})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`p`,{className:`text-sm font-medium`,"data-testid":`profile-passkey-name`,children:w}),(0,A.jsxs)(`div`,{className:`text-muted-foreground flex flex-wrap gap-2 text-xs`,children:[ee?(0,A.jsx)(`span`,{children:r(ee)}):null,e.isBackedUp?(0,A.jsx)(de,{variant:`secondary`,children:(0,A.jsx)(i,{id:`profile.passkeys.synced`,message:`Synced`})}):null,(0,A.jsx)(`span`,{children:(0,A.jsx)(i,{id:`profile.passkeys.added`,message:`Added {date}`,values:{date:o(s)},comment:`date: a locale-formatted date string`})}),l.getTime()===s.getTime()?null:(0,A.jsx)(`span`,{children:(0,A.jsx)(i,{id:`profile.passkeys.lastUsed`,message:`Last used {date}`,values:{date:o(l)},comment:`date: a locale-formatted date string`})})]})]})}),u?null:(0,A.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,A.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{d(!0),p(e.name??``)},"data-testid":`profile-passkey-rename-button`,children:(0,A.jsx)(i,{id:`profile.passkeys.rename.button`,message:`Rename`})}),(0,A.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,className:`text-destructive hover:text-destructive`,onClick:()=>{h(!0)},disabled:t,title:t?r(M.lastCredential):void 0,"data-testid":`profile-passkey-delete-button`,children:(0,A.jsx)(i,{id:`profile.passkeys.delete.button`,message:`Delete`})})]})]}),(0,A.jsx)(pe,{open:m,onOpenChange:e=>{e||(h(!1),x(null))},children:(0,A.jsxs)(ue,{children:[(0,A.jsxs)(oe,{children:[(0,A.jsx)(he,{children:(0,A.jsx)(i,{id:`profile.passkeys.delete.title`,message:`Delete this passkey?`})}),(0,A.jsx)(me,{children:(0,A.jsx)(i,{id:`profile.passkeys.delete.description`,message:`The device that registered "{name}" will no longer be able to sign in. You can re-enrol it later.`,values:{name:(0,A.jsx)(`bdi`,{children:w})},comment:`name: the user-chosen passkey nickname (e.g. 'MacBook', 'iPhone')`})})]}),b?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`profile-passkey-delete-error`,children:(0,A.jsx)(D,{children:r(b)})}):null,(0,A.jsxs)(Ce,{children:[(0,A.jsx)(ce,{disabled:C.isPending,children:(0,A.jsx)(i,{id:`profile.passkeys.delete.cancel`,message:`Cancel`})}),(0,A.jsx)(se,{"data-testid":`profile-passkey-delete-confirm`,className:v({variant:`destructive`}),disabled:C.isPending,onClick:e=>{e.preventDefault(),C.mutate()},children:C.isPending?(0,A.jsx)(i,{id:`profile.passkeys.delete.pending`,message:`Deleting…`}):(0,A.jsx)(i,{id:`profile.passkeys.delete.confirm`,message:`Delete passkey`})})]})]})})]})}function Rt(e){let t=e.transports;return!t||t.length===0?null:t.includes(`internal`)?M.transportInternal:t.includes(`hybrid`)?M.transportHybrid:M.transportSecurityKey}function zt(e){return _t(e)===`NOT_FOUND`?M.notFound:e instanceof Error?e.message:M.renameFallback}function Bt(e){return gt(e)===`last_credential`?M.lastCredential:_t(e)===`NOT_FOUND`?M.notFound:e instanceof Error?e.message:M.deleteFallback}function Vt(e){if(e instanceof rt)switch(e.code){case`user_cancelled`:return M.enrollCancelled;case`credential_already_registered`:return M.enrollAlreadyRegistered;case`no_authenticator`:return M.enrollNoAuthenticator;case`network_error`:return M.enrollNetworkError;case`email_mismatch`:return M.enrollEmailMismatch}return e instanceof Error?e.message:M.enrollFallback}var Ht=`2.0.10`,Ut=500,Wt=`user-agent`,Gt=``,Kt=`?`,N={FUNCTION:`function`,OBJECT:`object`,STRING:`string`,UNDEFINED:`undefined`},P=`browser`,F=`cpu`,I=`device`,L=`engine`,R=`os`,qt=`result`,z=`name`,B=`type`,V=`vendor`,H=`version`,U=`architecture`,Jt=`major`,W=`model`,Yt=`console`,G=`mobile`,K=`tablet`,q=`smarttv`,J=`wearable`,Xt=`xr`,Zt=`embedded`,Qt=`fetcher`,Y=`inapp`,$t=`brands`,en=`formFactors`,tn=`fullVersionList`,nn=`platform`,rn=`platformVersion`,an=`bitness`,on=`sec-ch-ua`,sn=on+`-full-version-list`,cn=on+`-arch`,ln=on+`-`+an,un=on+`-form-factors`,dn=on+`-`+G,fn=on+`-`+W,pn=on+`-`+nn,mn=pn+`-version`,hn=[$t,tn,G,W,nn,rn,U,en,an],gn=`Amazon`,_n=`Apple`,vn=`ASUS`,yn=`BlackBerry`,bn=`Google`,xn=`Huawei`,Sn=`Lenovo`,Cn=`Honor`,wn=`LG`,Tn=`Microsoft`,En=`Motorola`,Dn=`Nvidia`,On=`OnePlus`,kn=`OPPO`,An=`Samsung`,jn=`Sharp`,Mn=`Sony`,Nn=`Xiaomi`,Pn=`Zebra`,Fn=`Chrome`,In=`Chromium`,Ln=`Chromecast`,Rn=`Edge`,zn=`Firefox`,Bn=`Opera`,Vn=`Facebook`,Hn=`Sogou`,Un=`Mobile `,Wn=` Browser`,Gn=`Windows`,X=typeof window!==N.UNDEFINED&&window.navigator?window.navigator:void 0,Kn=X&&X.userAgentData?X.userAgentData:void 0,qn=function(e,t){var n={},r=t;if(!Xn(t))for(var i in r={},t)for(var a in t[i])r[a]=t[i][a].concat(r[a]?r[a]:[]);for(var o in e)n[o]=r[o]&&r[o].length%2==0?r[o].concat(e[o]):e[o];return n},Jn=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},Yn=function(e,t){if(typeof e===N.OBJECT&&e.length>0){for(var n in e)if($n(t)==$n(e[n]))return!0;return!1}return Zn(e)?$n(t)==$n(e):!1},Xn=function(e,t){for(var n in e)return/^(browser|cpu|device|engine|os)$/.test(n)||(t?Xn(e[n]):!1)},Zn=function(e){return typeof e===N.STRING},Qn=function(e){if(e){for(var t=[],n=tr(e).split(`,`),r=0;r<n.length;r++)if(n[r].indexOf(`;`)>-1){var i=rr(n[r]).split(`;v=`);t[r]={brand:i[0],version:i[1]}}else t[r]=rr(n[r]);return t}},$n=function(e){return Zn(e)?e.toLowerCase():e},er=function(e){return Zn(e)?nr(/[^\d\.]/g,e).split(`.`)[0]:void 0},tr=function(e){return Zn(e)?rr(nr(/\\?\"/g,e),Ut):void 0},Z=function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];typeof n==N.OBJECT&&n.length==2?this[n[0]]=n[1]:this[n]=void 0}return this},nr=function(e,t){return Zn(t)?t.replace(e,Gt):t},rr=function(e,t){return e=nr(/^\s\s*/,String(e)),typeof t===N.UNDEFINED?e:e.substring(0,t)},ir=function(e,t){if(!(!e||!t))for(var n=0,r,i,a,o,s,c;n<t.length&&!s;){var l=t[n],u=t[n+1];for(r=i=0;r<l.length&&!s&&l[r];)if(s=l[r++].exec(e),s)for(a=0;a<u.length;a++)c=s[++i],o=u[a],typeof o===N.OBJECT&&o.length>0?o.length===2?typeof o[1]==N.FUNCTION?this[o[0]]=o[1].call(this,c):this[o[0]]=o[1]:o.length>=3&&(typeof o[1]===N.FUNCTION&&!(o[1].exec&&o[1].test)?o.length>3?this[o[0]]=c?o[1].apply(this,o.slice(2)):void 0:this[o[0]]=c?o[1].call(this,c,o[2]):void 0:o.length==3?this[o[0]]=c?c.replace(o[1],o[2]):void 0:o.length==4?this[o[0]]=c?o[3].call(this,c.replace(o[1],o[2])):void 0:o.length>4&&(this[o[0]]=c?o[3].apply(this,[c.replace(o[1],o[2])].concat(o.slice(4))):void 0)):this[o]=c||void 0;n+=2}},ar=function(e,t){return t.test.test(e)?t.ifTrue:t.ifFalse},Q=function(e,t){for(var n in t)if(typeof t[n]===N.OBJECT&&t[n].length>0){for(var r=0;r<t[n].length;r++)if(Yn(t[n][r],e))return n===Kt?void 0:n}else if(Yn(t[n],e))return n===Kt?void 0:n;return t.hasOwnProperty(`*`)?t[`*`]:e},or={ME:`4.90`,"NT 3.51":`3.51`,"NT 4.0":`4.0`,2e3:[`5.0`,`5.01`],XP:[`5.1`,`5.2`],Vista:`6.0`,7:`6.1`,8:`6.2`,"8.1":`6.3`,10:[`6.4`,`10.0`],NT:``},sr={embedded:`Automotive`,mobile:`Mobile`,tablet:[`Tablet`,`EInk`],smarttv:`TV`,wearable:`Watch`,xr:[`VR`,`XR`],"?":[`Desktop`,`Unknown`],"*":void 0},cr={Chrome:`Google Chrome`,Edge:`Microsoft Edge`,"Edge WebView2":`Microsoft Edge WebView2`,"Chrome WebView":`Android WebView`,"Chrome Headless":`HeadlessChrome`,"Huawei Browser":`HuaweiBrowser`,"MIUI Browser":`Miui Browser`,"Opera Mobi":`OperaMobile`,Yandex:`YaBrowser`},lr={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[H,[z,Un+`Chrome`]],[/webview.+edge\/([\w\.]+)/i],[H,[z,Rn+` WebView`],[B,Y]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[H,[z,`Edge`]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[z,H],[/opios[\/ ]+([\w\.]+)/i],[H,[z,Bn+` Mini`]],[/\bop(?:rg)?x\/([\w\.]+)/i],[H,[z,Bn+` GX`]],[/\bopr\/([\w\.]+)/i],[H,[z,Bn]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[H,[z,`Baidu`]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[H,[z,`Maxthon`]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,/(brave)(?: chrome)?\/([\d\.]+)/i,/(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,/(qwant)(?:ios|mobile)\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[z,H],[/quark(?:pc)?\/([-\w\.]+)/i],[H,[z,`Quark`]],[/\bddg\/([\w\.]+)/i],[H,[z,`DuckDuckGo`]],[/(?:\buc? ?browser|(?:juc.+)ucweb| ucpc)[\/ ]?([\w\.]+)/i],[H,[z,`UCBrowser`]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[H,[z,`WeChat`]],[/konqueror\/([\w\.]+)/i],[H,[z,`Konqueror`]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[H,[z,`IE`]],[/ya(?:search)?browser\/([\w\.]+)/i],[H,[z,`Yandex`]],[/slbrowser\/([\w\.]+)/i],[H,[z,`Smart `+Sn+Wn]],[/(av(?:ast|g|ira))\/([\w\.]+)/i],[[z,/(.+)/,`$1 Secure`+Wn],H],[/norton\/([\w\.]+)/i],[H,[z,`Norton Private`+Wn]],[/\bfocus\/([\w\.]+)/i],[H,[z,zn+` Focus`]],[/ mms\/([\w\.]+)$/i],[H,[z,Bn+` Neon`]],[/ opt\/([\w\.]+)$/i],[H,[z,Bn+` Touch`]],[/coc_coc\w+\/([\w\.]+)/i],[H,[z,`Coc Coc`]],[/dolfin\/([\w\.]+)/i],[H,[z,`Dolphin`]],[/coast\/([\w\.]+)/i],[H,[z,Bn+` Coast`]],[/miuibrowser\/([\w\.]+)/i],[H,[z,`MIUI`+Wn]],[/fxios\/([\w\.-]+)/i],[H,[z,Un+zn]],[/\bqihoobrowser\/?([\w\.]*)/i],[H,[z,`360`]],[/\b(qq)\/([\w\.]+)/i],[[z,/(.+)/,`$1Browser`],H],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[z,/(.+)/,`$1`+Wn],H],[/ HBPC\/([\w\.]+)/],[H,[z,xn+Wn]],[/samsungbrowser\/([\w\.]+)/i],[H,[z,An+` Internet`]],[/metasr[\/ ]?([\d\.]+)/i],[H,[z,Hn+` Explorer`]],[/(sogou)mo\w+\/([\d\.]+)/i],[[z,Hn+` Mobile`],H],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[z,H],[/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],[z],[/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],[H,z],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[z,Vn],H,[B,Y]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(bing)(?:web|sapphire)\/([\w\.]+)/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[z,H,[B,Y]],[/\bgsa\/([\w\.]+) .*safari\//i],[H,[z,`GSA`],[B,Y]],[/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],[H,[z,`TikTok`],[B,Y]],[/\[(linkedin)app\]/i],[z,[B,Y]],[/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],[[z,/(.+)/,`Zalo`],H,[B,Y]],[/(chromium)[\/ ]([-\w\.]+)/i],[z,H],[/ome-(lighthouse)$/i],[z,[B,Qt]],[/headlesschrome(?:\/([\w\.]+)| )/i],[H,[z,Fn+` Headless`]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[H,[z,Rn+` WebView2`],[B,Y]],[/; wv\).+(chrome)\/([\w\.]+)/i],[[z,Fn+` WebView`],H,[B,Y]],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[H,[z,`Android`+Wn]],[/chrome\/([\w\.]+) mobile/i],[H,[z,Un+`Chrome`]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[z,H],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[H,[z,Un+`Safari`]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[z,Un+`Safari`]],[/version\/([\w\.\,]+) .*(safari)/i],[H,z],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[z,[H,`1`]],[/(webkit|khtml)\/([\w\.]+)/i],[z,H],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[z,Un+zn],H],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[z,`Netscape`],H],[/(wolvic|librewolf)\/([\w\.]+)/i],[z,H],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[H,[z,zn+` Reality`]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[z,[H,/_/g,`.`]],[/(cobalt)\/([\w\.]+)/i],[z,[H,/[^\d\.]+./,Gt]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[U,`amd64`]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[U,`ia32`]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[U,`arm64`]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[U,`armhf`]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[U,`arm`]],[/ sun4\w[;\)]/i],[[U,`sparc`]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,/((ppc|powerpc)(64)?)( mac|;|\))/i,/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i],[[U,/ower/,Gt,$n]],[/mc680.0/i],[[U,`68k`]],[/winnt.+\[axp/i],[[U,`alpha`]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[W,[V,An],[B,K]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[W,[V,An],[B,G]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],[W,[V,_n],[B,G]],[/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],[W,[V,_n],[B,K]],[/(macintosh);/i],[W,[V,_n]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[W,[V,jn],[B,G]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[W,[V,Cn],[B,K]],[/honor([-\w ]+)[;\)]/i],[W,[V,Cn],[B,G]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[W,[V,xn],[B,K]],[/(?:huawei) ?([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],[W,[V,xn],[B,G]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[W,/_/g,` `],[V,Nn],[B,K]],[/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,/; ([\w ]+) miui\/v?\d/i],[[W,/_/g,` `],[V,Nn],[B,G]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[W,[V,On],[B,G]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[W,[V,kn],[B,G]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[W,[V,Q,{OnePlus:[`203`,`304`,`403`,`404`,`413`,`415`],"*":kn}],[B,K]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[W,[V,`BLU`],[B,G]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[W,[V,`Vivo`],[B,G]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[W,[V,`Realme`],[B,G]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[W,[V,Sn],[B,K]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[W,[V,Sn],[B,G]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[W,[V,En],[B,G]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[W,[V,En],[B,K]],[/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[W,[V,wn],[B,K]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[W,[V,wn],[B,G]],[/(nokia) (t[12][01])/i],[V,W,[B,K]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],[[W,/_/g,` `],[B,G],[V,`Nokia`]],[/(pixel (c|tablet))\b/i],[W,[V,bn],[B,K]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[W,[V,bn],[B,G]],[/(google) (pixelbook( go)?)/i],[V,W],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[W,[V,Mn],[B,G]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[W,`Xperia Tablet`],[V,Mn],[B,K]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[W,[V,gn],[B,K]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[W,/(.+)/g,`Fire Phone $1`],[V,gn],[B,G]],[/(playbook);[-\w\),; ]+(rim)/i],[W,V,[B,K]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/(?:blackberry|\(bb10;) (\w+)/i],[W,[V,yn],[B,G]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[W,[V,vn],[B,K]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[W,[V,vn],[B,G]],[/(nexus 9)/i],[W,[V,`HTC`],[B,K]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[V,[W,/_/g,` `],[B,G]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[W,[V,`TCL`],[B,K]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[W,[V,`TCL`],[B,G]],[/(itel) ((\w+))/i],[[V,$n],W,[B,Q,{tablet:[`p10001l`,`w7001`],"*":`mobile`}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[W,[V,`Acer`],[B,K]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[W,[V,`Meizu`],[B,G]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[W,[V,`Ulefone`],[B,G]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[W,[V,`Energizer`],[B,G]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[W,[V,`Cat`],[B,G]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[W,[V,`Smartfren`],[B,G]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[W,[V,`Nothing`],[B,G]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[W,[V,`Archos`],[B,K]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[W,[V,`Archos`],[B,G]],[/blackview ([-\w ]+)( b|\))/i,/; (bv\d{4}[-\w ]*)( b|\))/i],[W,[V,`Blackview`],[B,G]],[/; (n159v)/i],[W,[V,`HMD`],[B,G]],[/((revvl[ \w\+]+|tm(?:rv|af)\w*[45]g(?:tb)?))( b|\))/i],[W,[B,ar,{test:/ta?b/i,ifTrue:K,ifFalse:G}],[V,`T-Mobile`]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[V,W,[B,K]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|coolpad|cubot|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([-\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i,/(hisense) ([ehv][\w ]+)\)/i,/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i],[V,W,[B,G]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[V,W,[B,K]],[/(surface duo)/i],[W,[V,Tn],[B,K]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[W,[V,`Fairphone`],[B,G]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[W,[V,Dn],[B,K]],[/(sprint) (\w+)/i],[V,W,[B,G]],[/(kin\.[onetw]{3})/i],[[W,/\./g,` `],[V,Tn],[B,G]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[W,[V,Pn],[B,K]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[W,[V,Pn],[B,G]],[/(philips)[\w ]+tv/i,/smart-tv.+(samsung)/i],[V,[B,q]],[/hbbtv.+maple;(\d+)/i],[[W,/^/,`SmartTV`],[V,An],[B,q]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[V,W,[B,q]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[V,wn],[B,q]],[/(apple) ?tv/i],[V,[W,_n+` TV`],[B,q]],[/crkey.*devicetype\/chromecast/i],[[W,Ln+` Third Generation`],[V,bn],[B,q]],[/crkey.*devicetype\/([^/]*)/i],[[W,/^/,`Chromecast `],[V,bn],[B,q]],[/fuchsia.*crkey/i],[[W,Ln+` Nest Hub`],[V,bn],[B,q]],[/crkey/i],[[W,Ln],[V,bn],[B,q]],[/(portaltv)/i],[W,[V,Vn],[B,q]],[/droid.+aft(\w+)( bui|\))/i],[W,[V,gn],[B,q]],[/(shield \w+ tv)/i],[W,[V,Dn],[B,q]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[W,[V,jn],[B,q]],[/(bravia[\w ]+)( bui|\))/i],[W,[V,Mn],[B,q]],[/(mi(tv|box)-?\w+) bui/i],[W,[V,Nn],[B,q]],[/Hbbtv.*(technisat) (.*);/i],[V,W,[B,q]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[V,/.+\/(\w+)/,`$1`,Q,{LG:`lge`}],[W,rr],[B,q]],[/(playstation \w+)/i],[W,[V,Mn],[B,Yt]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[W,[V,Tn],[B,Yt]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i,/(valve).+(steam deck)/i,/droid.+; ((shield|rgcube|gr0006))( bui|\))/i],[[V,Q,{Nvidia:`Shield`,Anbernic:`RGCUBE`,Logitech:`GR0006`}],W,[B,Yt]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[W,[V,An],[B,J]],[/((pebble))app/i,/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[V,W,[B,J]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[W,[V,kn],[B,J]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[W,[V,_n],[B,J]],[/(opwwe\d{3})/i],[W,[V,On],[B,J]],[/(moto 360)/i],[W,[V,En],[B,J]],[/(smartwatch 3)/i],[W,[V,Mn],[B,J]],[/(g watch r)/i],[W,[V,wn],[B,J]],[/droid.+; (wt63?0{2,3})\)/i],[W,[V,Pn],[B,J]],[/droid.+; (glass) \d/i],[W,[V,bn],[B,Xt]],[/(pico) ([\w ]+) os\d/i],[V,W,[B,Xt]],[/(quest( \d| pro)?s?).+vr/i],[W,[V,Vn],[B,Xt]],[/mobile vr; rv.+firefox/i],[[B,Xt]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[V,[B,Zt]],[/(aeobc)\b/i],[W,[V,gn],[B,Zt]],[/(homepod).+mac os/i],[W,[V,_n],[B,Zt]],[/windows iot/i],[[B,Zt]],[/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],[W,[B,q]],[/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],[[B,q]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],[W,[B,Q,{mobile:`Mobile`,xr:`VR`,"*":K}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[B,K]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[B,G]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[W,[V,`Generic`]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[H,[z,Rn+`HTML`]],[/(arkweb)\/([\w\.]+)/i],[z,H],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[H,[z,`Blink`]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[z,H],[/ladybird\//i],[[z,`LibWeb`]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[H,z]],os:[[/(windows nt) (6\.[23]); arm/i],[[z,/N/,`R`],[H,Q,or]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[z,H],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[H,/(;|\))/g,``,Q,or],[z,Gn]],[/(windows ce)\/?([\d\.]*)/i],[z,H],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,/\btvos ?([\w\.]+)/i,/cfnetwork\/.+darwin/i],[[H,/_/g,`.`],[z,`iOS`]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[z,`macOS`],[H,/_/g,`.`]],[/android ([\d\.]+).*crkey/i],[H,[z,Ln+` Android`]],[/fuchsia.*crkey\/([\d\.]+)/i],[H,[z,Ln+` Fuchsia`]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[H,[z,Ln+` SmartSpeaker`]],[/linux.*crkey\/([\d\.]+)/i],[H,[z,Ln+` Linux`]],[/crkey\/([\d\.]+)/i],[H,[z,Ln]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[H,z],[/(ubuntu) ([\w\.]+) like android/i],[[z,/(.+)/,`$1 Touch`],H],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[z,H],[/\(bb(10);/i],[H,[z,yn]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[H,[z,`Symbian`]],[/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],[H,[z,zn+` OS`]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[H,[z,`webOS`]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[H,Q,{25:`120`,24:`108`,23:`94`,22:`87`,6:`79`,5:`68`,4:`53`,3:`38`,2:`538`,1:`537`,"*":`TV`}],[z,`webOS`]],[/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],[H,[z,`watchOS`]],[/cros [\w]+(?:\)| ([\w\.]+)\b)/i],[H,[z,`Chrome OS`]],[/kepler ([\w\.]+); (aft|aeo)/i],[H,[z,`Vega OS`]],[/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[z,H],[/(sunos) ?([\d\.]*)/i],[[z,`Solaris`],H],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[z,H]]},ur=(function(){var e={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return Z.call(e.init,[[P,[z,H,Jt,B]],[F,[U]],[I,[B,W,V]],[L,[z,H]],[R,[z,H]]]),Z.call(e.isIgnore,[[P,[H,Jt]],[L,[H]],[R,[H]]]),Z.call(e.isIgnoreRgx,[[P,/ ?browser$/i],[R,/ ?os$/i]]),Z.call(e.toString,[[P,[z,H]],[F,[U]],[I,[V,W]],[L,[z,H]],[R,[z,H]]]),e})(),dr=function(e,t){var n=ur.init[t],r=ur.isIgnore[t]||0,i=ur.isIgnoreRgx[t]||0,a=ur.toString[t]||0;function o(){Z.call(this,n)}return o.prototype.getItem=function(){return e},o.prototype.withClientHints=function(){return Kn?Kn.getHighEntropyValues(hn).then(function(t){return e.setCH(new fr(t,!1)).parseCH().get()}):e.parseCH().get()},o.prototype.withFeatureCheck=function(){return e.detectFeature().get()},t!=qt&&(o.prototype.is=function(e){var t=!1;for(var n in this)if(this.hasOwnProperty(n)&&!Yn(r,n)&&$n(i?nr(i,this[n]):this[n])==$n(i?nr(i,e):e)){if(t=!0,e!=N.UNDEFINED)break}else if(e==N.UNDEFINED&&t){t=!t;break}return t},o.prototype.toString=function(){var e=Gt;for(var t in a)typeof this[a[t]]!==N.UNDEFINED&&(e+=(e?` `:Gt)+this[a[t]]);return e||N.UNDEFINED}),o.prototype.then=function(e){var t=this,n=function(){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])};n.prototype={is:o.prototype.is,toString:o.prototype.toString,withClientHints:o.prototype.withClientHints,withFeatureCheck:o.prototype.withFeatureCheck};var r=new n;return e(r),r},new o};function fr(e,t){if(e||={},Z.call(this,hn),t)Z.call(this,[[$t,Qn(e[on])],[tn,Qn(e[sn])],[G,/\?1/.test(e[dn])],[W,tr(e[fn])],[nn,tr(e[pn])],[rn,tr(e[mn])],[U,tr(e[cn])],[en,Qn(e[un])],[an,tr(e[ln])]]);else for(var n in e)this.hasOwnProperty(n)&&typeof e[n]!==N.UNDEFINED&&(this[n]=e[n])}function pr(e,t,n,r){return Z.call(this,[[`itemType`,e],[`ua`,t],[`uaCH`,r],[`rgxMap`,n],[`data`,dr(this,e)]]),this}pr.prototype.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data},pr.prototype.set=function(e,t){return this.data[e]=t,this},pr.prototype.setCH=function(e){return this.uaCH=e,this},pr.prototype.detectFeature=function(){if(X&&X.userAgent==this.ua)switch(this.itemType){case P:X.brave&&typeof X.brave.isBrave==N.FUNCTION&&this.set(z,`Brave`);break;case I:!this.get(B)&&Kn&&Kn[G]&&this.set(B,G),this.get(W)==`Macintosh`&&X&&typeof X.standalone!==N.UNDEFINED&&X.maxTouchPoints&&X.maxTouchPoints>2&&this.set(W,`iPad`).set(B,K);break;case R:!this.get(z)&&Kn&&Kn[nn]&&this.set(z,Kn[nn]);break;case qt:var e=this.data,t=function(t){return e[t].getItem().detectFeature().get()};this.set(P,t(P)).set(F,t(F)).set(I,t(I)).set(L,t(L)).set(R,t(R))}return this},pr.prototype.parseUA=function(){switch(this.itemType!=qt&&ir.call(this.data,this.ua,this.rgxMap),this.itemType){case P:this.set(Jt,er(this.get(H)));break;case R:if(this.get(z)==`iOS`&&this.get(H)&&/^1[89][^\d]/.exec(this.get(H))){var e=/\) Version\/((\d+)[\d\.]*)/.exec(this.ua);e&&parseInt(e[2],10)>=26&&this.set(H,e[1])}break}return this},pr.prototype.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case P:case L:var n=e[tn]||e[$t],r;if(n)for(var i=0;i<n.length;i++){var a=n[i].brand||n[i],o=n[i].version;this.itemType==P&&!/not.a.brand/i.test(a)&&(!r||/Chrom/.test(r)&&a!=In||r==Rn&&/WebView2/.test(a))&&(a=Q(a,cr),r=this.get(z),r&&!/Chrom/.test(r)&&/Chrom/.test(a)||this.set(z,a).set(H,o).set(Jt,er(o)),r=a),this.itemType==L&&a==In&&this.set(H,o)}break;case F:var s=e[U];s&&(s&&e[an]==`64`&&(s+=`64`),ir.call(this.data,s+`;`,t));break;case I:if(e[G]&&this.set(B,G),e[W]&&(this.set(W,e[W]),!this.get(B)||!this.get(V))){var c={};ir.call(c,`droid 9; `+e[W]+`)`,t),!this.get(B)&&c.type&&this.set(B,c.type),!this.get(V)&&c.vendor&&this.set(V,c.vendor)}if(e[en]){var l;if(typeof e[en]!=`string`)for(var u=0;!l&&u<e[en].length;)l=Q(e[en][u++],sr);else l=Q(e[en],sr);this.set(B,l)}break;case R:var d=e[nn];if(d){var f=e[rn];d==Gn&&(f=parseInt(er(f),10)>=13?`11`:`10`),this.set(z,d).set(H,f)}this.get(z)==Gn&&e[W]==`Xbox`&&this.set(z,`Xbox`).set(H,void 0);break;case qt:var p=this.data,m=function(t){return p[t].getItem().setCH(e).parseCH().get()};this.set(P,m(P)).set(F,m(F)).set(I,m(I)).set(L,m(L)).set(R,m(R))}return this};function $(e,t,n){if(typeof e===N.OBJECT?(Xn(e,!0)?(typeof t===N.OBJECT&&(n=t),t=e):(n=e,t=void 0),e=void 0):typeof e===N.STRING&&!Xn(t,!0)&&(n=t,t=void 0),n)if(typeof n.append===N.FUNCTION){var r={};n.forEach(function(e,t){r[String(t).toLowerCase()]=e}),n=r}else{var i={};for(var a in n)n.hasOwnProperty(a)&&(i[String(a).toLowerCase()]=n[a]);n=i}if(!(this instanceof $))return new $(e,t,n).getResult();var o=typeof e===N.STRING?e:n&&n[Wt]?n[Wt]:X&&X.userAgent?X.userAgent:Gt,s=new fr(n,!0),c=lr,l=function(e){return e==qt?function(){return new pr(e,o,c,s).set(`ua`,o).set(P,this.getBrowser()).set(F,this.getCPU()).set(I,this.getDevice()).set(L,this.getEngine()).set(R,this.getOS()).get()}:function(){return new pr(e,o,c[e],s).parseUA().get()}};return Z.call(this,[[`getBrowser`,l(P)],[`getCPU`,l(F)],[`getDevice`,l(I)],[`getEngine`,l(L)],[`getOS`,l(R)],[`getResult`,l(qt)],[`getUA`,function(){return o}],[`setUA`,function(e){return Zn(e)&&(o=rr(e,Ut)),this}],[`useExtension`,function(e){return e&&(c=qn(c,e)),this}]]).setUA(o).useExtension(t),this}$.VERSION=Ht,$.BROWSER=Jn([z,H,Jt,B]),$.CPU=Jn([U]),$.DEVICE=Jn([W,V,B,Yt,G,q,K,J,Zt]),$.ENGINE=$.OS=Jn([z,H]);function mr(e){if(!e)return{browser:null,os:null,icon:xt,raw:null};let t=$(e);return{browser:t.browser.name??null,os:t.os.name??null,icon:hr(t.device.type),raw:e}}function hr(e){return e===`mobile`?Ee:e===`tablet`?Te:e===`wearable`?Ct:e===`smarttv`||e===`console`?St:we}var gr={unknownDevice:{id:`profile.sessions.unknownDevice`},browserOnOs:{id:`profile.sessions.device.browserOnOs`},revokeAllFallback:{id:`profile.sessions.revokeAll.fallback`},revokeCurrent:{id:`profile.sessions.revoke.current`},revokeNotFound:{id:`profile.sessions.revoke.notFound`},revokeFallback:{id:`profile.sessions.revoke.fallback`}};function _r(){let e=T(),t=o(),[n,r]=(0,k.useState)(null),l=s(a.auth.sessions.list.queryOptions({input:{}})),u=()=>t.invalidateQueries({queryKey:a.auth.sessions.list.key()}),d=c({mutationFn:()=>a.auth.sessions.revokeOthers.call({}),onMutate:()=>{r(null)},onSuccess:async e=>{r({kind:`ok`,revoked:e.revoked}),await u()},onError:e=>{r({kind:`error`,message:e instanceof Error?e.message:gr.revokeAllFallback})}}),f=l.data??[],p=f.filter(e=>!e.current).length;return(0,A.jsxs)($e,{"data-testid":`profile-sessions-card`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(i,{id:`profile.sessions.title`,message:`Active sessions`})}),(0,A.jsx)(Qe,{children:(0,A.jsx)(i,{id:`profile.sessions.description`,message:`Devices signed in to this account. Revoke any you don't recognise, or sign out everywhere except this browser if you suspect a leak.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-4`,children:[yr(l,f,u),n?.kind===`ok`?(0,A.jsx)(O,{"data-testid":`profile-sessions-revoke-feedback`,children:(0,A.jsx)(D,{children:(0,A.jsx)(i,{id:`profile.sessions.revokeAll.count`,message:`{revoked, plural, =0 {No other sessions to sign out.} one {Signed out # other session.} other {Signed out # other sessions.}}`,values:{revoked:n.revoked},comment:`revoked: number of OTHER sessions just signed out (excluding the current device)`})})}):null,n?.kind===`error`?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`profile-sessions-error`,children:(0,A.jsx)(D,{children:e(n.message)})}):null,p>0?(0,A.jsx)(`div`,{className:`flex justify-end`,children:(0,A.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{d.mutate()},disabled:d.isPending,"data-testid":`profile-sessions-revoke-button`,children:d.isPending?(0,A.jsx)(i,{id:`profile.sessions.revokeAll.pending`,message:`Signing out…`}):(0,A.jsx)(i,{id:`profile.sessions.revokeAll.idle`,message:`Sign out other devices`})})}):null]})]})}function vr({session:e,onChanged:t}){let[n,r]=(0,k.useState)(!1),[o,s]=(0,k.useState)(null),l=mr(e.userAgent),u=l.icon,d=yt(e.createdAt),{formatRelative:f}=We(),p=T(),m=br(l),h=c({mutationFn:()=>a.auth.sessions.revoke.call({id:e.id}),onMutate:()=>{s(null)},onSuccess:async()=>{r(!1),await t()},onError:e=>{s(xr(e))}});return(0,A.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,"data-testid":`profile-session-row`,children:[(0,A.jsx)(u,{"aria-hidden":!0,className:`text-muted-foreground mt-0.5 size-5 shrink-0`}),(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`text-sm font-medium`,"data-testid":`profile-session-label`,children:m}),e.current?(0,A.jsx)(de,{variant:`secondary`,children:(0,A.jsx)(i,{id:`profile.sessions.thisDevice`,message:`This device`})}):null]}),(0,A.jsxs)(`div`,{className:`text-muted-foreground flex flex-wrap gap-2 text-xs`,children:[e.ipAddress?(0,A.jsx)(`span`,{children:e.ipAddress}):null,(0,A.jsx)(`span`,{children:(0,A.jsx)(i,{id:`profile.sessions.signedIn`,message:`Signed in {when}`,values:{when:f(d)},comment:`when: pre-formatted relative-time string like '2 hours ago'`})})]})]}),e.current?null:(0,A.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,className:`text-destructive hover:text-destructive shrink-0`,onClick:()=>{r(!0)},"data-testid":`profile-session-revoke-button`,children:(0,A.jsx)(i,{id:`profile.sessions.revoke.button`,message:`Revoke`})}),(0,A.jsx)(pe,{open:n,onOpenChange:e=>{e||(r(!1),s(null))},children:(0,A.jsxs)(ue,{children:[(0,A.jsxs)(oe,{children:[(0,A.jsx)(he,{children:(0,A.jsx)(i,{id:`profile.sessions.revoke.title`,message:`Sign out this device?`})}),(0,A.jsx)(me,{children:e.ipAddress?(0,A.jsx)(i,{id:`profile.sessions.revoke.descriptionWithIp`,message:`{device} signed in {when} from {ip}. The device will need to sign in again next time.`,values:{device:(0,A.jsx)(`bdi`,{children:m}),when:f(d),ip:e.ipAddress},comment:`device: 'Safari on macOS' style label; when: relative-time string; ip: IPv4/IPv6 address`}):(0,A.jsx)(i,{id:`profile.sessions.revoke.description`,message:`{device} signed in {when}. The device will need to sign in again next time.`,values:{device:(0,A.jsx)(`bdi`,{children:m}),when:f(d)},comment:`device: 'Safari on macOS' style label; when: relative-time string`})})]}),o?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`profile-session-revoke-error`,children:(0,A.jsx)(D,{children:p(o)})}):null,(0,A.jsxs)(Ce,{children:[(0,A.jsx)(ce,{disabled:h.isPending,children:(0,A.jsx)(i,{id:`profile.sessions.revoke.cancel`,message:`Cancel`})}),(0,A.jsx)(se,{"data-testid":`profile-session-revoke-confirm`,disabled:h.isPending,onClick:e=>{e.preventDefault(),h.mutate()},children:h.isPending?(0,A.jsx)(i,{id:`profile.sessions.revoke.pending`,message:`Signing out…`}):(0,A.jsx)(i,{id:`profile.sessions.revoke.confirm`,message:`Sign out device`})})]})]})})]})}function yr(e,t,n){return e.isPending?(0,A.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(i,{id:`profile.sessions.loading`,message:`Loading…`})}):e.error?(0,A.jsx)(O,{variant:`destructive`,children:(0,A.jsx)(D,{children:(0,A.jsx)(i,{id:`profile.sessions.loadFailed`,message:`Couldn't load your sessions. Refresh and try again.`})})}):t.length===0?(0,A.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,A.jsx)(i,{id:`profile.sessions.empty`,message:`No plumix-managed sessions. Your sign-in is handled by an external identity provider.`})}):(0,A.jsx)(`ul`,{className:`divide-border divide-y`,"data-testid":`profile-sessions-list`,children:t.map(e=>(0,A.jsx)(vr,{session:e,onChanged:n},e.id))})}function br(e){let{i18n:t}=r(),n=T();return e.browser&&e.os?t._(gr.browserOnOs.id,{browser:e.browser,os:e.os},{message:gr.browserOnOs.message}):e.browser?e.browser:e.os?e.os:n(gr.unknownDevice)}function xr(e){return gt(e)===`current_session`?gr.revokeCurrent:_t(e)===`NOT_FOUND`?gr.revokeNotFound:e instanceof Error?e.message:gr.revokeFallback}var Sr={invalidEmail:{id:`userEdit.email.invalid`},confirmationSent:{id:`userEdit.email.confirmationSent`},newEmailPlaceholder:{id:`userEdit.email.placeholder`},emailTaken:{id:`userEdit.email.error.taken`},mailerNotConfigured:{id:`userEdit.email.error.mailerNotConfigured`},accountDisabled:{id:`userEdit.email.error.accountDisabled`},requestFallback:{id:`userEdit.email.error.requestFallback`}},Cr=Fe({newEmail:Ve(Be(),je(),Me(),Re(He(Sr.invalidEmail)),Le(255))});function wr({userId:e,email:t,canEdit:n}){let{i18n:l}=r(),u=o(),{formatRelative:d}=We(),f=T(),[p,m]=(0,k.useState)(!1),[h,g]=(0,k.useState)(null),[_,v]=(0,k.useState)(null),b=s(a.user.pendingEmailChange.queryOptions({input:{id:e}})).data?.pending??null,x=()=>u.invalidateQueries({queryKey:a.user.pendingEmailChange.key()}),S=c({mutationFn:t=>a.user.requestEmailChange.call({id:e,newEmail:t}),onSuccess:async(e,t)=>{m(!1),g(null),v(l._(Sr.confirmationSent.id,{email:t},{message:Sr.confirmationSent.message})),await x()},onError:e=>{g(Er(e))}}),C=c({mutationFn:()=>a.user.cancelEmailChange.call({id:e}),onSuccess:async()=>{v(null),await x()}}),w=b?(0,A.jsx)(`bdi`,{children:b.newEmail}):null;return(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(ot,{children:(0,A.jsx)(i,{id:`userEdit.email.label`,message:`Email`})}),(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(`p`,{className:`text-muted-foreground font-mono text-sm`,"data-testid":`user-edit-email`,children:t}),n?(0,A.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{g(null),v(null),m(!0)},"data-testid":`user-edit-email-change-button`,children:(0,A.jsx)(i,{id:`userEdit.email.changeButton`,message:`Change email`})}):null]}),b?(0,A.jsx)(O,{"data-testid":`user-edit-email-pending`,children:(0,A.jsxs)(D,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(`span`,{children:(0,A.jsx)(i,{id:`userEdit.email.pending`,message:`Pending change to <code>{newEmail}</code> — expires {expiresAt}`,values:{newEmail:w,expiresAt:d(yt(b.expiresAt))},components:{code:(0,A.jsx)(`code`,{className:`font-mono`})},comment:`newEmail: the new address awaiting confirmation; expiresAt: pre-formatted relative-time like 'in 2 hours'`})}),n?(0,A.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>C.mutate(),disabled:C.isPending,"data-testid":`user-edit-email-cancel-pending`,children:C.isPending?(0,A.jsx)(i,{id:`userEdit.email.cancelPending.pending`,message:`Cancelling…`}):(0,A.jsx)(i,{id:`userEdit.email.cancelPending.idle`,message:`Cancel`})}):null]})}):_?(0,A.jsx)(O,{"data-testid":`user-edit-email-change-success`,children:(0,A.jsx)(D,{children:_})}):null,(0,A.jsx)(Tr,{open:p,onOpenChange:e=>{e||g(null),m(e)},currentEmail:t,onSubmit:e=>S.mutate(e),pending:S.isPending,error:h,placeholder:f(Sr.newEmailPlaceholder)})]})}function Tr({open:e,onOpenChange:t,currentEmail:n,onSubmit:r,pending:a,error:o,placeholder:s}){let c=T(),l=st({resolver:ht(Cr),defaultValues:{newEmail:``},mode:`onSubmit`});return(0,A.jsx)(pe,{open:e,onOpenChange:t,children:(0,A.jsxs)(ue,{"data-testid":`user-edit-email-change-dialog`,children:[(0,A.jsxs)(oe,{children:[(0,A.jsx)(he,{children:(0,A.jsx)(i,{id:`userEdit.email.dialog.title`,message:`Change email`})}),(0,A.jsx)(me,{children:(0,A.jsx)(i,{id:`userEdit.email.dialog.description`,message:`We'll send a confirmation link to the new address. The change takes effect after the link is clicked. Sessions on this account are signed out at that point — re-sign-in uses the new email.`})})]}),(0,A.jsx)(mt,{...l,children:(0,A.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:l.handleSubmit(e=>{r(e.newEmail)}),children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(ot,{className:`text-muted-foreground text-xs`,children:(0,A.jsx)(i,{id:`userEdit.email.dialog.currentLabel`,message:`Current email`})}),(0,A.jsx)(`p`,{className:`text-muted-foreground font-mono text-sm`,"data-testid":`user-edit-email-change-current`,children:n})]}),(0,A.jsx)(ct,{control:l.control,name:`newEmail`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`userEdit.email.dialog.newLabel`,message:`New email`})}),(0,A.jsx)(lt,{children:(0,A.jsx)(nt,{type:`email`,autoComplete:`email`,placeholder:s,disabled:a,"data-testid":`user-edit-email-change-input`,...e})}),(0,A.jsx)(pt,{})]})}),o?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`user-edit-email-change-error`,children:(0,A.jsx)(D,{children:c(o)})}):null,(0,A.jsxs)(Ce,{children:[(0,A.jsx)(ce,{disabled:a,"data-testid":`user-edit-email-change-cancel`,children:(0,A.jsx)(i,{id:`userEdit.email.dialog.cancel`,message:`Cancel`})}),(0,A.jsx)(se,{type:`submit`,disabled:a,"data-testid":`user-edit-email-change-submit`,children:a?(0,A.jsx)(i,{id:`userEdit.email.dialog.submit.pending`,message:`Sending…`}):(0,A.jsx)(i,{id:`userEdit.email.dialog.submit.idle`,message:`Send confirmation`})})]})]})})]})})}function Er(e){if(_t(e)===`CONFLICT`){let t=gt(e);if(t===`email_taken`)return Sr.emailTaken;if(t===`mailer_not_configured`)return Sr.mailerNotConfigured;if(t===`account_disabled`)return Sr.accountDisabled}return e instanceof Error?e.message:Sr.requestFallback}var Dr=`__keep__`;async function Or(e,t){await Promise.all([e.invalidateQueries({queryKey:a.user.get.queryOptions({input:{id:t}}).queryKey}),e.invalidateQueries({queryKey:a.user.list.key()})])}var kr=Fe({name:Ve(Be(),je(),Le(100)),slug:De,role:ze(qe),meta:Ne(Be(),Ie())});function Ar(){let{id:e}=tt.useParams(),{user:t}=tt.useRouteContext(),n=e===t.id;function r(e){return!n&&Ue(t.capabilities,e)}let i=r(`user:promote`),o=r(`user:edit`),s=r(`user:delete`),c=r(`user:manage_tokens`),u=n?Ue(t.capabilities,`user:edit_own`):Ue(t.capabilities,`user:edit`),{data:d}=l(a.user.get.queryOptions({input:{id:e}}));return(0,A.jsx)(Mr,{target:d,isSelf:n,canPromote:i,canSave:u,canDisable:o,canDelete:s,canManageOtherTokens:c,metaBoxes:Ae(t.capabilities)},d.updatedAt instanceof Date?d.updatedAt.toISOString():String(d.updatedAt))}function jr({target:e,canPromote:t,metaBoxes:n,queryClient:r,setServerError:i}){return c({mutationFn:r=>a.user.update.call({id:e.id,name:r.name.length>0?r.name:null,...r.slug===e.slug?{}:{slug:r.slug},...t&&r.role!==e.role?{role:r.role}:{},meta:n.length>0?r.meta:void 0}),onMutate:()=>{i(null)},onSuccess:async()=>{await Or(r,e.id)},onError:e=>{i(Ir(e,Lr,et.errUpdateFallback))}})}function Mr({target:e,isSelf:t,canPromote:n,canSave:r,canDisable:a,canDelete:s,canManageOtherTokens:c,metaBoxes:l}){let g=u(),v=T(),b=o(),[x,S]=(0,k.useState)(null),C=jr({target:e,canPromote:n,metaBoxes:l,queryClient:b,setServerError:S}),w=st({resolver:ht(kr),defaultValues:{name:e.name??``,slug:e.slug,role:e.role,meta:Oe(l,e.meta)}}),te=w.handleSubmit(e=>{C.mutate(e)}),ne=(0,A.jsx)(`bdi`,{children:e.email});return(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col gap-4`,children:[(0,A.jsxs)(d,{to:`/users`,search:Ye,className:`text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-sm`,"data-testid":`user-edit-back-link`,children:[(0,A.jsx)(ee,{className:`size-4 rtl:rotate-180`}),(0,A.jsx)(i,{id:`userEdit.backToList`,message:`Back to users`})]}),(0,A.jsxs)($e,{children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(`h1`,{"data-testid":`user-edit-heading`,children:t?(0,A.jsx)(i,{id:`userEdit.title.self`,message:`Your profile`}):(0,A.jsx)(i,{id:`userEdit.title.other`,message:`Edit {email}`,values:{email:ne},comment:`email: the user being edited`})})}),(0,A.jsx)(Qe,{children:t?(0,A.jsx)(i,{id:`userEdit.description.self`,message:`Update your display name. Role and account state are managed by administrators.`}):(0,A.jsx)(i,{id:`userEdit.description.other`,message:`Update this account's details. Role changes invalidate existing sessions immediately.`})})]}),(0,A.jsx)(Ze,{children:(0,A.jsx)(mt,{...w,children:(0,A.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:te,children:[(0,A.jsx)(wr,{userId:e.id,email:e.email,canEdit:r}),(0,A.jsx)(ct,{control:w.control,name:`name`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`userEdit.name.label`,message:`Name`})}),(0,A.jsx)(lt,{children:(0,A.jsx)(nt,{type:`text`,autoComplete:`name`,disabled:C.isPending||!r,"data-testid":`user-edit-name-input`,...e})}),(0,A.jsx)(pt,{})]})}),(0,A.jsx)(ct,{control:w.control,name:`slug`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`userEdit.slug.label`,message:`Author slug`})}),(0,A.jsx)(lt,{children:(0,A.jsx)(nt,{type:`text`,autoComplete:`off`,disabled:C.isPending||!r,"data-testid":`user-edit-slug-input`,...e})}),(0,A.jsx)(ft,{children:(0,A.jsx)(i,{id:`userEdit.slug.description`,message:`Used in this author's archive URL under /authors/. Changing it breaks existing links to the old address.`})}),(0,A.jsx)(pt,{})]})}),n?(0,A.jsx)(ct,{control:w.control,name:`role`,render:({field:e})=>(0,A.jsxs)(at,{children:[(0,A.jsx)(ut,{children:(0,A.jsx)(i,{id:`userEdit.role.label`,message:`Role`})}),(0,A.jsxs)(_,{value:e.value,onValueChange:t=>{Je(t)&&e.onChange(t)},disabled:C.isPending,children:[(0,A.jsx)(lt,{children:(0,A.jsx)(p,{className:`w-full`,onBlur:e.onBlur,"data-testid":`user-edit-role-select`,children:(0,A.jsx)(f,{})})}),(0,A.jsx)(m,{children:qe.map(e=>(0,A.jsx)(h,{value:e,children:v(Ge[e])},e))})]}),(0,A.jsx)(pt,{})]})}):(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(ot,{children:(0,A.jsx)(i,{id:`userEdit.role.label`,message:`Role`})}),(0,A.jsx)(de,{variant:`secondary`,className:`w-fit`,children:v(Ke[e.role])}),t?(0,A.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:(0,A.jsx)(i,{id:`userEdit.role.selfReadonly`,message:`Only another administrator can change your role.`})}):null]}),l.map(e=>(0,A.jsx)(bt,{box:e,basePath:`meta`,disabled:C.isPending||!r},e.id)),x?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`user-edit-server-error`,children:(0,A.jsx)(D,{children:v(x)})}):null,(0,A.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,A.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{g({to:`/users`,search:Ye})},disabled:C.isPending,children:(0,A.jsx)(i,{id:`userEdit.cancel`,message:`Cancel`})}),(0,A.jsx)(y,{type:`submit`,disabled:C.isPending||!r,"data-testid":`user-edit-submit`,children:C.isPending?(0,A.jsx)(i,{id:`userEdit.submit.pending`,message:`Saving…`}):(0,A.jsx)(i,{id:`userEdit.submit.idle`,message:`Save changes`})})]})]})})})]}),a?(0,A.jsx)(Nr,{target:e}):null,s?(0,A.jsx)(Fr,{target:e}):null,t?(0,A.jsx)(Ft,{userLocale:e.meta.locale}):null,t?(0,A.jsx)(It,{userEmail:e.email}):null,t?(0,A.jsx)(_r,{}):null,t?(0,A.jsx)(Dt,{}):null,!t&&c?(0,A.jsx)(Ot,{userId:e.id}):null]})}function Nr({target:e}){let t=T(),n=o(),[r,s]=(0,k.useState)(null),l=e.disabledAt!=null,u=c({mutationFn:()=>l?a.user.enable.call({id:e.id}):a.user.disable.call({id:e.id}),onMutate:()=>{s(null)},onSuccess:async()=>{await Or(n,e.id)},onError:e=>{s(Ir(e,Rr,et.errStatusFallback))}});return(0,A.jsxs)($e,{children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(i,{id:`userEdit.status.title`,message:`Account status`})}),(0,A.jsx)(Qe,{children:l?(0,A.jsx)(i,{id:`userEdit.status.description.disabled`,message:`Disabled accounts can't sign in. Re-enabling restores access; their passkey is still registered.`}):(0,A.jsx)(i,{id:`userEdit.status.description.active`,message:`Disabling signs the user out immediately and blocks future sign-ins. Their entries stay published.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,A.jsx)(de,{variant:l?`destructive`:`secondary`,children:l?(0,A.jsx)(i,{id:`users.list.row.disabled`,message:`Disabled`}):(0,A.jsx)(i,{id:`users.list.row.active`,message:`Active`})}),(0,A.jsx)(y,{variant:l?`default`:`outline`,onClick:()=>{u.mutate()},disabled:u.isPending,"data-testid":l?`user-edit-enable-button`:`user-edit-disable-button`,children:t(Pr(l,u.isPending))})]}),r?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`user-status-error`,children:(0,A.jsx)(D,{children:t(r)})}):null]})]})}function Pr(e,t){return t?e?et.toggleEnabling:et.toggleDisabling:e?et.toggleEnable:et.toggleDisable}function Fr({target:e}){let t=u(),n=T(),r=o(),[l,d]=(0,k.useState)(!1),[g,v]=(0,k.useState)(null),[b,x]=(0,k.useState)(null),S=s({...a.user.list.queryOptions({input:{limit:100}}),enabled:l}),C=(S.data??[]).filter(t=>t.id!==e.id),w=c({mutationFn:()=>a.user.delete.call({id:e.id,...g==null?{}:{reassignTo:g}}),onMutate:()=>{x(null)},onSuccess:async()=>{await r.invalidateQueries({queryKey:a.user.list.key()}),t({to:`/users`,search:Ye})},onError:e=>{x(Ir(e,zr,et.errDeleteFallback))}}),ee=(0,A.jsx)(`bdi`,{children:e.email});return l?(0,A.jsxs)($e,{className:`border-destructive`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{className:`text-destructive`,children:(0,A.jsx)(i,{id:`userEdit.delete.confirm.title`,message:`Confirm delete: {email}`,values:{email:ee},comment:`email: the user account being deleted`})}),(0,A.jsx)(Qe,{children:(0,A.jsx)(i,{id:`userEdit.delete.confirm.description`,message:`If this user authored any entries, the next step reassigns them. Leave "Keep entries as-is" if they have none.`})})]}),(0,A.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(ot,{htmlFor:`reassign-to`,children:(0,A.jsx)(i,{id:`userEdit.delete.reassign.label`,message:`Reassign entries to`})}),(0,A.jsxs)(_,{value:g==null?Dr:String(g),onValueChange:e=>{v(e===Dr?null:Number(e))},disabled:w.isPending||S.isPending,children:[(0,A.jsx)(p,{id:`reassign-to`,className:`w-full`,"data-testid":`user-delete-reassign-select`,children:(0,A.jsx)(f,{})}),(0,A.jsxs)(m,{children:[(0,A.jsx)(h,{value:Dr,children:n(et.reassignKeepAsIs)}),C.map(e=>(0,A.jsxs)(h,{value:String(e.id),"data-testid":`user-delete-reassign-select-${e.id}`,children:[e.name??e.email,` (`,e.email,`)`]},e.id))]})]})]}),b?(0,A.jsx)(O,{variant:`destructive`,"data-testid":`user-delete-error`,children:(0,A.jsx)(D,{children:n(b)})}):null,(0,A.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,A.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{d(!1),v(null),x(null)},disabled:w.isPending,children:(0,A.jsx)(i,{id:`userEdit.cancel`,message:`Cancel`})}),(0,A.jsx)(y,{type:`button`,variant:`destructive`,onClick:()=>{w.mutate()},disabled:w.isPending,"data-testid":`user-delete-confirm-button`,children:w.isPending?(0,A.jsx)(i,{id:`userEdit.delete.confirm.pending`,message:`Deleting…`}):(0,A.jsx)(i,{id:`userEdit.delete.confirm.idle`,message:`Delete forever`})})]})]})]}):(0,A.jsxs)($e,{className:`border-destructive/50`,children:[(0,A.jsxs)(Xe,{children:[(0,A.jsx)(E,{className:`text-destructive`,children:(0,A.jsx)(i,{id:`userEdit.delete.title`,message:`Delete user`})}),(0,A.jsx)(Qe,{children:(0,A.jsx)(i,{id:`userEdit.delete.description`,message:`Permanent. Their entries stay, but you'll choose who inherits authorship.`})})]}),(0,A.jsx)(Ze,{children:(0,A.jsx)(y,{variant:`destructive`,onClick:()=>{d(!0)},"data-testid":`user-edit-delete-button`,children:(0,A.jsx)(i,{id:`userEdit.delete.button`,message:`Delete user`})})})]})}function Ir(e,t,n){let r=e&&typeof e==`object`&&`data`in e?e.data?.reason:void 0;return(r==null?void 0:t[r])??n}var Lr={last_admin:{id:`userEdit.error.lastAdmin.update`},email_taken:{id:`userEdit.error.emailTaken`},slug_taken:{id:`userEdit.error.slugTaken`}},Rr={last_admin:{id:`userEdit.error.lastAdmin.status`}},zr={last_admin:{id:`userEdit.error.lastAdmin.delete`},has_entries:{id:`userEdit.error.hasEntries`},reassign_to_self:{id:`userEdit.error.reassignToSelf`}};export{Ar as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{t as r}from"./dist-Dgy1ZZMQ.js";import{t as i}from"./utils-DKOQrNEG.js";var a=e(t(),1),o=e(n(),1),s=e=>e.type===`checkbox`,c=e=>e instanceof Date,l=e=>e==null,u=e=>typeof e==`object`,d=e=>!l(e)&&!Array.isArray(e)&&u(e)&&!c(e),f=e=>d(e)&&e.target?s(e.target)?e.target.checked:e.target.value:e,p=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),m=e=>{let t=e.constructor&&e.constructor.prototype;return d(t)&&t.hasOwnProperty(`isPrototypeOf`)},h=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function g(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(h&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(d(e)&&m(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=g(e[t]));return r}var _={BLUR:`blur`,FOCUS_OUT:`focusout`,CHANGE:`change`,SUBMIT:`submit`,TRIGGER:`trigger`,VALID:`valid`},v={onBlur:`onBlur`,onChange:`onChange`,onSubmit:`onSubmit`,onTouched:`onTouched`,all:`all`},y={max:`max`,min:`min`,maxLength:`maxLength`,minLength:`minLength`,pattern:`pattern`,required:`required`,validate:`validate`},b=`root`,x=[`__proto__`,`constructor`,`prototype`],S=/^\w*$/,C=e=>S.test(e),w=e=>e===void 0,T=/[.[\]'"]/,E=e=>e.split(T).filter(Boolean),D=(e,t,n)=>{if(!t||!d(e))return n;let r=C(t)?[t]:E(t);if(r.some(e=>x.includes(e)))return n;let i=r.reduce((e,t)=>l(e)?void 0:e[t],e);return w(i)||i===e?w(e[t])?n:e[t]:i},O=e=>typeof e==`boolean`,k=e=>typeof e==`function`,A=(e,t,n)=>{let r=-1,i=C(t)?[t]:E(t),a=i.length,o=a-1;for(;++r<a;){let t=i[r],a=n;if(r!==o){let n=e[t];a=d(n)||Array.isArray(n)?n:isNaN(+i[r+1])?{}:[]}if(x.includes(t))return;e[t]=a,e=e[t]}},j=o.createContext(null);j.displayName=`HookFormControlContext`;var M=()=>o.useContext(j),N=(e,t,n,r=!0)=>{let i={};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==v.all&&(t._proxyFormState[i]=!r||v.all),n&&(n[i]=!0),e[i]}});return i},P=h?o.useLayoutEffect:o.useEffect;function F(e){let t=M(),{control:n=t,disabled:r,name:i,exact:a}=e||{},[s,c]=o.useState(()=>({...n._formState,defaultValues:n._defaultValues})),l=o.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return P(()=>n._subscribe({name:i,formState:l.current,exact:a,callback:e=>{!r&&c({...n._formState,...e,defaultValues:n._defaultValues})}}),[i,r,a]),o.useEffect(()=>{l.current.isValid&&n._setValid(!0)},[n]),o.useMemo(()=>N(s,n,l.current,!1),[s,n])}var I=e=>typeof e==`string`,ee=(e,t,n,r,i)=>I(e)?(r&&t.watch.add(e),D(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),D(n,e))):(r&&(t.watchAll=!0),n),L=e=>l(e)||!u(e),te=(e,t)=>t.length===0&&!Array.isArray(e)&&!m(e);function R(e,t,n=new WeakMap){if(e===t)return!0;if(L(e)||L(t))return Object.is(e,t);if(c(e)&&c(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(te(e,r)||te(t,i))return Object.is(e,t);if(!r.length&&Array.isArray(e)!==Array.isArray(t))return!1;let a=n.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{let r=new WeakSet;r.add(t),n.set(e,r)}for(let i of r){let r=e[i];if(!(i in t))return!1;if(i!==`ref`){let e=t[i];if(c(r)&&c(e)||(d(r)||Array.isArray(r))&&(d(e)||Array.isArray(e))?!R(r,e,n):!Object.is(r,e))return!1}}return!0}function z(e){let t=M(),{control:n=t,name:r,defaultValue:i,disabled:a,exact:s,compute:c}=e||{},l=o.useRef(i),u=o.useRef(c),d=o.useRef(void 0),f=o.useRef(n),p=o.useRef(r);u.current=c;let[m,h]=o.useState(()=>{let e=n._getWatch(r,l.current);return u.current?u.current(e):e}),g=o.useCallback(e=>{let t=ee(r,n._names,e||n._formValues,!1,l.current);return u.current?u.current(t):t},[n._formValues,n._names,r]),_=o.useCallback(e=>{if(!a){let t=ee(r,n._names,e||n._formValues,!1,l.current);if(u.current){let e=u.current(t);R(e,d.current)||(h(e),d.current=e)}else h(t)}},[n._formValues,n._names,a,r]);P(()=>((f.current!==n||!R(p.current,r))&&(f.current=n,p.current=r,_()),n._subscribe({name:r,formState:{values:!0},exact:s,callback:e=>{_(e.values)}})),[n,s,r,_]),o.useEffect(()=>n._removeUnmounted());let v=f.current!==n,y=p.current,b=o.useMemo(()=>{if(a)return null;let e=!v&&!R(y,r);return v||e?g():null},[a,v,r,y,g]);return b===null?m:b}function B(e){let t=M(),{name:n,disabled:r,control:i=t,shouldUnregister:a,defaultValue:s,exact:c=!0}=e,l=p(i._names.array,n),u=z({control:i,name:n,defaultValue:o.useMemo(()=>D(i._formValues,n,D(i._defaultValues,n,s)),[i,n,s]),exact:c}),d=F({control:i,name:n,exact:c}),m=o.useRef(e),h=o.useRef(null),v=o.useRef(i.register(n,{...e.rules,value:u,...O(e.disabled)?{disabled:e.disabled}:{}}));m.current=e;let y=o.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!D(d.errors,n)},isDirty:{enumerable:!0,get:()=>!!D(d.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!D(d.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!D(d.validatingFields,n)},error:{enumerable:!0,get:()=>D(d.errors,n)}}),[d,n]),b=o.useCallback(e=>{let t=f(e);return D(i._fields,n)||(v.current=i.register(n,{...m.current.rules,value:t})),v.current.onChange({target:{value:f(e),name:n},type:_.CHANGE})},[n,i]),x=o.useCallback(()=>v.current.onBlur({target:{value:D(i._formValues,n),name:n},type:_.BLUR}),[n,i._formValues]),S=o.useCallback(e=>{e&&(h.current={focus:()=>k(e.focus)&&e.focus(),select:()=>k(e.select)&&e.select(),setCustomValidity:t=>k(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>k(e.reportValidity)&&e.reportValidity()});let t=D(i._fields,n);t&&t._f&&e&&(t._f.ref=h.current)},[i._fields,n]),C=o.useMemo(()=>({name:n,value:u,...O(r)||d.disabled?{disabled:d.disabled||r}:{},onChange:b,onBlur:x,ref:S}),[n,r,d.disabled,b,x,S,u]);return o.useEffect(()=>{let e=i._options.shouldUnregister||a;i.register(n,{...m.current.rules,...O(m.current.disabled)?{disabled:m.current.disabled}:{}});let t=(e,t)=>{let n=D(i._fields,e);n&&n._f&&(n._f.mount=t)};if(t(n,!0),e){let e=g(D(a?i._defaultValues:i._options.values||i._defaultValues,n,D(i._options.defaultValues,n,m.current.defaultValue)));A(i._defaultValues,n,e),w(D(i._formValues,n))&&A(i._formValues,n,e)}if(!l&&i.register(n),h.current){let e=D(i._fields,n);e&&e._f&&(e._f.ref=h.current)}return()=>{(l?e&&!i._state.action:e)?i.unregister(n):t(n,!1)}},[n,i,l,a]),o.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),o.useMemo(()=>({field:C,formState:d,fieldState:y}),[C,d,y])}var ne=e=>e.render(B(e)),re=e=>{let t={};for(let n of Object.keys(e))if(u(e[n])&&e[n]!==null&&!c(e[n])){let r=re(e[n]);for(let e of Object.keys(r))t[`${n}.${e}`]=r[e]}else t[n]=e[n];return t},ie=o.createContext(null);ie.displayName=`HookFormContext`;var ae=()=>o.useContext(ie),oe=({children:e,watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:s,setValues:c,trigger:l,formState:u,resetField:d,reset:f,handleSubmit:p,unregister:m,control:h,register:g,setFocus:_,subscribe:v})=>{let y=o.useMemo(()=>({watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:s,setValues:c,trigger:l,formState:u,resetField:d,reset:f,handleSubmit:p,unregister:m,control:h,register:g,setFocus:_,subscribe:v}),[a,h,u,r,n,p,g,f,d,i,_,s,c,v,l,m,t]);return o.createElement(ie.Provider,{value:y},o.createElement(j.Provider,{value:y.control},e))},se=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},ce=e=>Array.isArray(e)?e.filter(Boolean):[],le=e=>Array.isArray(e)?e:[e],ue=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function de(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&d(i)&&a){let e=de(i,a);d(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var V=e=>d(e)&&!Object.keys(e).length,fe=e=>e.type===`file`,pe=e=>{if(!h)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},me=e=>e.type===`select-multiple`,H=e=>e.type===`radio`,he=e=>H(e)||s(e),ge=e=>pe(e)&&e.isConnected;function _e(e,t){let n=t.slice(0,-1).length,r=0;for(;r<n;){if(l(e)){e=void 0;break}e=e[t[r]],r++}return e}function ve(e){for(let t in e)if(e.hasOwnProperty(t)&&!w(e[t]))return!1;return!0}function U(e,t){if(I(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let n=Array.isArray(t)?t:C(t)?[t]:E(t);if(n.some(e=>x.includes(String(e))))return e;let r=n.length===1?e:_e(e,n),i=n.length-1,a=n[i];return r&&delete r[a],i!==0&&(d(r)&&V(r)||Array.isArray(r)&&ve(r))&&U(e,n.slice(0,-1)),e}var W=e=>{for(let t in e)if(k(e[t]))return!0;return!1};function ye(e){return Array.isArray(e)||d(e)&&!W(e)}function be(e,t={}){for(let n in e){let r=e[n];ye(r)?(t[n]=Array.isArray(r)?[]:{},be(r,t[n])):w(r)||(t[n]=!0)}return t}function G(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){let t=e.map(e=>G(e));return t.some(e=>e!==void 0)?t:void 0}if(d(e)){let t={};for(let n in e){let r=G(e[n]);w(r)||(t[n]=r)}return Object.keys(t).length?t:void 0}}}function K(e,t,n){n||=be(t);for(let r in e){let i=e[r];if(ye(i))w(t)||L(n[r])?n[r]=be(i,Array.isArray(i)?[]:{}):K(i,l(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!R(i,e)}}return G(n)||{}}var xe={value:!1,isValid:!1},q={value:!0,isValid:!0},Se=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!w(e[0].attributes.value)?w(e[0].value)||e[0].value===``?q:{value:e[0].value,isValid:!0}:q:xe}return xe},Ce=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>w(e)?e:t?e===``?NaN:e&&+e:n&&I(e)?new Date(e):r?r(e):e,we={isValid:!1,value:null},Te=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,we):we;function Ee(e){let t=e.ref;return fe(t)?t.files:H(t)?Te(e.refs).value:me(t)?[...t.selectedOptions].map(({value:e})=>e):s(t)?Se(e.refs).value:Ce(w(t.value)?e.ref.value:t.value,e)}var De=(e,t,n,r)=>{let i={};for(let n of e){let e=D(t,n);e&&A(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},J=e=>e instanceof RegExp,Oe=e=>w(e)?e:J(e)?e.source:d(e)?J(e.value)?e.value.source:e.value:e,ke=e=>({isOnSubmit:!e||e===v.onSubmit,isOnBlur:e===v.onBlur,isOnChange:e===v.onChange,isOnAll:e===v.all,isOnTouch:e===v.onTouched}),Ae=`AsyncFunction`,je=e=>{if(!e||!e.validate)return!1;if(k(e.validate))return e.validate.constructor.name===Ae;if(d(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===Ae)return!0}return!1},Me=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ne=(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},Y=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=D(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Y(a,t))break}else if(d(a)&&Y(a,t))break}}};function Pe(e,t,n){let r=D(e,n);if(r||C(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=D(t,r),o=D(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 Fe=(e,t,n,r)=>{n(e);let{name:i,...a}=e,o=Object.keys(a);return!o.length||r&&o.length>=Object.keys(t).length||o.find(e=>t[e]===(!r||v.all))},Ie=(e,t,n)=>!e||!t||e===t||le(e).some(e=>e&&(n?e===t||e.startsWith(t+`.`):e.startsWith(t)||t.startsWith(e))),Le=(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:!0,Re=(e,t)=>!ce(D(e,t)).length&&U(e,t),ze=(e,t,n)=>{let r=D(e,n),i=Array.isArray(r)?r:[];return A(i,b,t[n]),A(e,n,i),e};function X(e,t,n=`validate`){if(I(e)||Array.isArray(e)&&e.every(I)||O(e)&&!e)return{type:n,message:I(e)?e:``,ref:t}}var Z=e=>d(e)&&!J(e)?e:{value:e,message:``},Be=async(e,t,n,r,i,a)=>{let{ref:o,refs:c,required:u,maxLength:f,minLength:p,min:m,max:h,pattern:g,validate:_,name:v,valueAsNumber:b,mount:x}=e._f,S=D(n,v);if(!x||t.has(v))return{};let C=c?c[0]:o,T=e=>{if(i&&C.reportValidity){let t=O(e)?``:e||``;c?c.forEach(e=>e.setCustomValidity(t)):C.setCustomValidity(t),C.reportValidity()}},E={},A=H(o),j=s(o),M=A||j,N=(b||fe(o))&&w(o.value)&&w(S)||pe(o)&&o.value===``||S===``||Array.isArray(S)&&!S.length,P=se.bind(null,v,r,E),F=(e,t,n,r=y.maxLength,i=y.minLength)=>{let a=e?t:n;E[v]={type:e?r:i,message:a,ref:o,...P(e?r:i,a)}};if(a?!Array.isArray(S)||!S.length:u&&(!M&&(N||l(S))||O(S)&&!S||j&&!Se(c).isValid||A&&!Te(c).isValid)){let{value:e,message:t}=I(u)?{value:!!u,message:u}:Z(u);if(e&&(E[v]={type:y.required,message:t,ref:C,...P(y.required,t)},!r))return T(t),E}if(!N&&(!l(m)||!l(h))){let e,t,n=Z(h),i=Z(m);if(!l(S)&&!isNaN(S)){let r=o.valueAsNumber||S&&+S;l(n.value)||(e=r>n.value),l(i.value)||(t=r<i.value)}else{let r=o.valueAsDate||new Date(S),a=e=>new Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;I(n.value)&&S&&(e=s?a(S)>a(n.value):c?S>n.value:r>new Date(n.value)),I(i.value)&&S&&(t=s?a(S)<a(i.value):c?S<i.value:r<new Date(i.value))}if((e||t)&&(F(!!e,n.message,i.message,y.max,y.min),!r))return T(E[v].message),E}if((f||p)&&!N&&(I(S)||a&&Array.isArray(S))){let e=Z(f),t=Z(p),n=!l(e.value)&&S.length>+e.value,i=!l(t.value)&&S.length<+t.value;if((n||i)&&(F(n,e.message,t.message),!r))return T(E[v].message),E}if(g&&!N&&I(S)){let{value:e,message:t}=Z(g);if(J(e)&&!S.match(e)&&(E[v]={type:y.pattern,message:t,ref:o,...P(y.pattern,t)},!r))return T(t),E}if(_){if(k(_)){let e=X(await _(S,n),C);if(e&&(E[v]={...e,...P(y.validate,e.message)},!r))return T(e.message),E}else if(d(_)){let e={};for(let t in _){if(!V(e)&&!r)break;let i=X(await _[t](S,n),C,t);i&&(e={...i,...P(t,i.message)},T(i.message),r&&(E[v]=e))}if(!V(e)&&(E[v]={ref:C,...e},!r))return E}}return T(!0),E},Ve={mode:v.onSubmit,reValidateMode:v.onChange,shouldFocusError:!0},He=`form`,Ue={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function We(e={}){let t={...Ve,...e},n={...g(Ue),isLoading:k(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},i=(d(t.defaultValues)||d(t.values))&&g(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:g(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},m,x=0,S=0,T=ke(t.mode),j=ke(t.reValidateMode),M={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},N={...M},P={...N},F={array:ue(),state:ue()},L=t.criteriaMode===v.all,te=e=>t=>{clearTimeout(x),x=setTimeout(e,t)},z=async e=>{if(!o.keepIsValid&&!t.disabled&&(N.isValid||P.isValid||e)){let e;t.resolver?(e=V((await W()).errors),B()):e=await G({fields:r,onlyCheckValid:!0,eventType:_.VALID}),e!==n.isValid&&F.state.next({isValid:e})}},B=(e,r)=>{!t.disabled&&(N.isValidating||N.validatingFields||P.isValidating||P.validatingFields)&&((e||Array.from(u.mount)).forEach(e=>{e&&(r?A(n.validatingFields,e,r):U(n.validatingFields,e))}),F.state.next({validatingFields:n.validatingFields,isValidating:!V(n.validatingFields)}))},ne=()=>{n.dirtyFields=K(i,a)},ie=(e,i=[],s,c,l=!0,u=!0)=>{if(c&&s&&!t.disabled){if(o.action=!0,u&&Array.isArray(D(r,e))){let t=s(D(r,e),c.argA,c.argB);l&&A(r,e,t)}if(u&&Array.isArray(D(n.errors,e))){let t=s(D(n.errors,e),c.argA,c.argB);l&&A(n.errors,e,t),Re(n.errors,e)}if((N.touchedFields||P.touchedFields)&&u&&Array.isArray(D(n.touchedFields,e))){let t=s(D(n.touchedFields,e),c.argA,c.argB);l&&A(n.touchedFields,e,t)}(N.dirtyFields||P.dirtyFields)&&ne(),F.state.next({name:e,isDirty:q(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else A(a,e,i)},ae=(e,t)=>{A(n.errors,e,t),n.errors={...n.errors},F.state.next({errors:n.errors})},oe=e=>{n.errors=e,F.state.next({errors:n.errors,isValid:!1})},se=e=>{let t=C(e)?[e]:E(e),n=a,r=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(n=l(n)?n:n[i],r=l(r)?r:r[i],n===null&&r!==null)return!0}return!1},H=(t,s,c,l)=>{let d=D(r,t);if(d){if(se(t))return;let r=w(D(a,t)),f=D(a,t,w(c)?D(i,t):c);w(f)||l&&l.defaultChecked||s?A(a,t,s?f:Ee(d._f)):Te(t,f),o.mount&&!o.action&&(z(),r&&n.isDirty&&(N.isDirty||P.isDirty)&&(q()||(n.isDirty=!1,F.state.next({...n}))),e.shouldUnregister&&r&&!w(D(a,t))&&Ne(t,u)&&(o.watch=!0))}},_e=(e,r,o,s,c)=>{let l=!1,u=!1,d={name:e};if(!t.disabled){if(!o||s){let t=R(D(i,e),r);(N.isDirty||P.isDirty)&&(u=n.isDirty,n.isDirty=d.isDirty=!t||q(),l=u!==d.isDirty),u=!!D(n.dirtyFields,e),t===n.isDirty?t?U(n.dirtyFields,e):A(n.dirtyFields,e,!0):n.dirtyFields=K(i,a),d.dirtyFields=n.dirtyFields,l||=(N.dirtyFields||P.dirtyFields)&&u!==!t}if(o){let t=D(n.touchedFields,e);t||(A(n.touchedFields,e,o),d.touchedFields=n.touchedFields,l||=(N.touchedFields||P.touchedFields)&&t!==o)}l&&c&&F.state.next(d)}return l?d:{}},ve=(e,r,i,a)=>{let o=D(n.errors,e),s=(N.isValid||P.isValid)&&O(r)&&n.isValid!==r;if(t.delayError&&i?(m=te(()=>ae(e,i)),m(t.delayError)):(clearTimeout(x),m=null,i?A(n.errors,e,i):U(n.errors,e),n.errors={...n.errors}),(i?!R(o,i):o)||!V(a)||s){let t={...a,...s&&O(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},F.state.next(t)}},W=async e=>(B(e,!0),await t.resolver(a,t.context,De(e||u.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),ye=async e=>{let{errors:t}=await W(e);if(B(e),e){for(let r of e){let e=D(t,r);e?u.array.has(r)&&d(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e)))?ze(n.errors,{[r]:e},r):A(n.errors,r,e):U(n.errors,r)}n.errors={...n.errors}}else n.errors=t;return t},be=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(d(i))for(let e in i){let t=i[e];t&&$(`${He}.${e}`,{message:I(t.message)?t.message:``,type:t.type||y.validate})}else I(i)||!i?$(He,{message:i||``,type:y.validate}):Je(He);return i}return!0},G=async({fields:r,onlyCheckValid:i,name:o,eventType:s,context:c={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(c.runRootValidation=!0,!await be({name:o,eventType:s})&&(c.valid=!1,i)))return c.valid;for(let o in r){let l=r[o];if(l){let{_f:r,...d}=l;if(r){let o=u.array.has(r.name),s=l._f&&je(l._f),d=N.validatingFields||N.isValidating||P.validatingFields||P.isValidating;s&&d&&B([r.name],!0);let f=await Be(l,u.disabled,a,L,t.shouldUseNativeValidation&&!i,o);if(s&&d&&B([r.name]),f[r.name]&&(c.valid=!1,i)||(!i&&(D(f,r.name)?o?ze(n.errors,f,r.name):A(n.errors,r.name,f[r.name]):U(n.errors,r.name)),e.shouldUseNativeValidation&&f[r.name]))break}!V(d)&&await G({context:c,onlyCheckValid:i,fields:d,name:o,eventType:s})}}return c.valid},xe=()=>{for(let e of u.unMount){let t=D(r,e);t&&(t._f.refs?t._f.refs.every(e=>!ge(e)):!ge(t._f.ref))&&Qe(e)}u.unMount=new Set},q=(e,n)=>!t.disabled&&(e&&n&&A(a,e,n),!R(o.mount?a:i,i)),Se=(e,t,n)=>ee(e,u,{...o.mount?a:w(t)?i:I(e)?{[e]:t}:t},n,t),we=e=>ce(D(o.mount?a:i,e,t.shouldUnregister?D(i,e,[]):[])),Te=(e,t,n={},i=!1,o=!1)=>{let c=D(r,e),u=t;if(c){let n=c._f;n&&(!n.disabled&&A(a,e,Ce(t,n)),u=pe(n.ref)&&l(t)?``:t,me(n.ref)?[...n.ref.options].forEach(e=>e.selected=u.includes(e.value)):n.refs?s(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(u)?e.checked=!!u.find(t=>t===e.value):e.checked=u===e.value||!!u)}):n.refs.forEach(e=>e.checked=e.value===u):fe(n.ref)?n.ref.value=``:(n.ref.value=u,!n.ref.type&&!o&&F.state.next({name:e,values:i?a:g(a)})))}(n.shouldDirty||n.shouldTouch)&&_e(e,u,n.shouldTouch,n.shouldDirty,!o),n.shouldValidate&&Q(e)},J=(e,t,n,i=!1,a=!1)=>{for(let o in t){if(!t.hasOwnProperty(o))return;let s=t[o],l=e+`.`+o,f=D(r,l);(u.array.has(e)||d(s)||f&&!f._f)&&!c(s)?J(l,s,n,i,a):Te(l,s,n,i,a)}},Ae=(e,t,i,s,c=!1)=>{let d=D(r,e),f=u.array.has(e),p=s?t:g(t),m=R(D(a,e),p);if(m||A(a,e,p),f)F.array.next({name:e,values:s?a:g(a)}),(N.isDirty||N.dirtyFields||P.isDirty||P.dirtyFields)&&i.shouldDirty&&(ne(),c||F.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:q(e,p)}));else{let t=Array.isArray(p)&&!p.length||V(p);!d||d._f||l(p)||t?Te(e,p,i,s,c):J(e,p,i,s,c)}if(!m&&!c){let t=Ne(e,u),r=s?a:g(a);F.state.next({...t&&n,name:o.mount||t?e:void 0,values:r})}},X=(e,t,n={})=>Ae(e,t,n,!1),Z=(e,t={})=>{let r=k(e)?e(a):e;if(!R(a,r)){a={...a,...r};let e=re(r);for(let n of u.mount)n in e&&Ae(n,e[n],t,!0,!0);F.state.next({...n,name:void 0,type:void 0,...S?{values:a}:{}}),t.shouldValidate&&z()}},We=async i=>{o.mount=!0;let s=i.target,l=s.name,d=!0,p=D(r,l),h=e=>{d=Number.isNaN(e)||c(e)&&isNaN(e.getTime())||R(e,D(a,l,e))};if(p){let o,c,v=s.type?Ee(p._f):f(i),y=i.type===_.BLUR||i.type===_.FOCUS_OUT,b=!Me(p._f)&&!e.validate&&!t.resolver&&!D(n.errors,l)&&!p._f.deps,x=b||Le(y,D(n.touchedFields,l),n.isSubmitted,j,T),C=Ne(l,u,y);A(a,l,v),y?(!s||!s.readOnly)&&(p._f.onBlur&&p._f.onBlur(i),m&&m(0)):p._f.onChange&&p._f.onChange(i);let w=_e(l,v,y),E=!V(w)||C;if(!y&&F.state.next({name:l,type:i.type,...S?{values:g(a)}:{}}),x)return(!b||!n.isValid)&&(N.isValid||P.isValid)&&(t.mode===`onBlur`?y&&z():y||z()),E&&F.state.next({name:l,...C?{}:w});if(!t.resolver&&e.validate&&await be({name:l,eventType:i.type}),!y&&C&&F.state.next({...n}),t.resolver){let{errors:e}=await W([l]);if(B([l]),h(v),!d){!V(w)&&F.state.next(w);return}let t=Pe(n.errors,r,l),i=Pe(e,r,t.name||l);o=i.error,l=i.name,c=V(e)}else B([l],!0),o=(await Be(p,u.disabled,a,L,t.shouldUseNativeValidation))[l],B([l]),h(v),d&&(o?c=!1:(N.isValid||P.isValid)&&(c=await G({fields:r,onlyCheckValid:!0,name:l,eventType:i.type})));d&&(p._f.deps&&(!Array.isArray(p._f.deps)||p._f.deps.length>0)&&Q(p._f.deps),ve(l,c,o,w))}},Ge=(e,t)=>{if(D(n.errors,t)&&e.focus)return e.focus(),1},Q=async(e,i={})=>{let a,o,s=le(e);if(t.resolver){let t=await ye(w(e)?e:s);a=V(t),o=e?!s.some(e=>D(t,e)):a}else e?(o=(await Promise.all(s.map(async e=>{let t=D(r,e);return await G({fields:t&&t._f?{[e]:t}:t,eventType:_.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&z()):o=a=await G({fields:r,name:e,eventType:_.TRIGGER});return F.state.next({...!I(e)||(N.isValid||P.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Y(r,Ge,e?s:u.mount),o},Ke=(e,t)=>{let r={...o.mount?a:i};return t&&(r=de(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),w(e)?r:I(e)?D(r,e):e.map(e=>D(r,e))},qe=(e,t)=>({invalid:!!D((t||n).errors,e),isDirty:!!D((t||n).dirtyFields,e),error:D((t||n).errors,e),isValidating:!!D(n.validatingFields,e),isTouched:!!D((t||n).touchedFields,e)}),Je=e=>{let t=e?le(e):void 0;t?.forEach(e=>U(n.errors,e)),t?t.forEach(e=>{F.state.next({name:e,errors:n.errors})}):F.state.next({errors:{}})},$=(e,t,i)=>{let a=(D(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=D(n.errors,e)||{};A(n.errors,e,{...l,...t,ref:a}),F.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Ye=(e,t)=>{if(k(e)){S++;let{unsubscribe:n}=F.state.subscribe({next:n=>`values`in n&&e(n.values||Se(void 0,t),n)}),r=!1;return{unsubscribe:()=>{r||(r=!0,S--,n())}}}return Se(e,t,!0)},Xe=e=>{let t=!!e.formState?.values;t&&S++;let{unsubscribe:r}=F.state.subscribe({next:t=>{if(Ie(e.name,t.name,e.exact)&&Fe(t,e.formState||N,ct,e.reRenderRoot)){let r={...a};e.callback({values:r,...n,...t,defaultValues:i})}}});if(!t)return r;let o=!1;return()=>{o||(o=!0,S--,r())}},Ze=e=>(o.mount=!0,P={...P,...e.formState},Xe({...e,formState:{...M,...e.formState}})),Qe=(e,o={})=>{for(let s of e?le(e):u.mount)u.mount.delete(s),u.array.delete(s),o.keepValue||(U(r,s),U(a,s)),!o.keepError&&U(n.errors,s),!o.keepDirty&&U(n.dirtyFields,s),!o.keepTouched&&U(n.touchedFields,s),!o.keepIsValidating&&U(n.validatingFields,s),!t.shouldUnregister&&!o.keepDefaultValue&&U(i,s);F.state.next({values:g(a)}),F.state.next({...n,...o.keepDirty?{isDirty:q()}:{}}),!o.keepIsValid&&z()},$e=({disabled:e,name:t})=>{if(O(e)&&o.mount||e||u.disabled.has(t)){let n=u.disabled.has(t)!==!!e;e?u.disabled.add(t):u.disabled.delete(t),n&&o.mount&&!o.action&&z()}},et=(e,n={})=>{let a=D(r,e),s=O(n.disabled)||O(t.disabled),c=!u.registerName.has(e)&&a&&a._f&&!a._f.mount;return A(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),u.mount.add(e),a&&!c?$e({disabled:O(n.disabled)?n.disabled:t.disabled,name:e}):H(e,!0,n.value),{...s?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:Oe(n.min),max:Oe(n.max),minLength:Oe(n.minLength),maxLength:Oe(n.maxLength),pattern:Oe(n.pattern)}:{},name:e,onChange:We,onBlur:We,ref:s=>{if(s){u.registerName.add(e),et(e,n),u.registerName.delete(e),a=D(r,e);let t=w(s.value)&&s.querySelectorAll&&s.querySelectorAll(`input,select,textarea`)[0]||s,o=he(t),c=a._f.refs||[];if(o?c.find(e=>e===t):t===a._f.ref)return;A(r,e,{_f:{...a._f,...o?{refs:[...c.filter(ge),t,...Array.isArray(D(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),H(e,!1,void 0,t)}else a=D(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(p(u.array,e)&&o.action)&&u.unMount.add(e)}}},tt=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&Y(r,Ge,u.mount),nt=e=>{O(e)&&(F.state.next({disabled:e}),Y(r,(t,n)=>{let i=D(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,!1))},rt=(e,i)=>async o=>{let s;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let c=g(a);if(F.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await W();B(),n.errors=e,c=g(t)}else await G({fields:r,eventType:_.SUBMIT});if(u.disabled.size)for(let e of u.disabled)U(c,e);if(U(n.errors,b),V(n.errors)){F.state.next({errors:{}});try{await e(c,o)}catch(e){s=e}}else i&&await i({...n.errors},o),tt(),setTimeout(tt);if(F.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:V(n.errors)&&!s,submitCount:n.submitCount+1,errors:n.errors}),s)throw s},it=(e,t={})=>{D(r,e)&&(w(t.defaultValue)?X(e,g(D(i,e))):(X(e,t.defaultValue),A(i,e,g(t.defaultValue))),t.keepTouched||U(n.touchedFields,e),t.keepDirty||(U(n.dirtyFields,e),n.isDirty=t.defaultValue?q(e,g(D(i,e))):q()),t.keepError||(U(n.errors,e),N.isValid&&z()),F.state.next({...n}))},at=(e,s={})=>{let c=e?g(e):i,l=g(c),d=V(e),f=l;if(s.keepDefaultValues||(i=c),!s.keepValues){if(s.keepDirtyValues){let e=new Set([...u.mount,...Object.keys(K(i,a))]);for(let t of Array.from(e)){let e=D(n.dirtyFields,t),r=D(a,t),i=D(f,t);e&&!w(r)?A(f,t,r):!e&&!w(i)&&X(t,i)}}else{if(h&&w(e))for(let e of u.mount){let t=D(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(pe(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(s.keepFieldsRef)for(let e of u.mount)X(e,D(f,e));else r={}}if(t.shouldUnregister){if(a=s.keepDefaultValues?g(i):{},s.keepFieldsRef)for(let e of u.mount)A(a,e,D(f,e))}else a=g(f);F.array.next({values:{...f}}),F.state.next({name:void 0,type:void 0,values:{...f}})}u={mount:s.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!N.isValid||!!s.keepIsValid||!!s.keepDirtyValues||!t.shouldUnregister&&!V(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!s.keepIsValid,o.action=!1,s.keepErrors||(n.errors={}),F.state.next({submitCount:s.keepSubmitCount?n.submitCount:0,isDirty:d?!1:s.keepDirty?n.isDirty:s.keepValues?q():!!(s.keepDefaultValues&&!R(e,i)),isSubmitted:s.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:s.keepDirtyValues?s.keepDefaultValues&&a?K(i,a):n.dirtyFields:s.keepDefaultValues&&e?K(i,e):s.keepDirty?n.dirtyFields:{},touchedFields:s.keepTouched?n.touchedFields:{},errors:s.keepErrors?n.errors:{},isSubmitSuccessful:s.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},ot=(e,n)=>at(k(e)?e(a):e,{...t.resetOptions,...n}),st=(e,t={})=>{let n=D(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&k(e.select)&&e.select()})}},ct=e=>{let{name:t,type:r,values:i,...a}=e;n={...n,...a}},lt={control:{register:et,unregister:Qe,getFieldState:qe,handleSubmit:rt,setError:$,_subscribe:Xe,_runSchema:W,_updateIsValidating:B,_focusError:tt,_getWatch:Se,_getDirty:q,_setValid:z,_setFieldArray:ie,_setDisabledField:$e,_setErrors:oe,_getFieldArray:we,_reset:at,_resetDefaultValues:()=>k(t.defaultValues)&&t.defaultValues().then(e=>{ot(e,t.resetOptions),F.state.next({isLoading:!1})}),_removeUnmounted:xe,_disableForm:nt,_subjects:F,_proxyFormState:N,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return u},set _names(e){u=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e},T=ke(t.mode),j=ke(t.reValidateMode)}},subscribe:Ze,trigger:Q,register:et,handleSubmit:rt,watch:Ye,setValue:X,setValues:Z,getValues:Ke,reset:ot,resetField:it,resetDefaultValues:(e,t={})=>{if(i=g(e),!t.keepDirty){let e=K(i,a);n.dirtyFields=e,n.isDirty=!V(e)}t.keepIsValid||z(),F.state.next({...n,defaultValues:i})},clearErrors:Je,unregister:Qe,setError:$,setFocus:st,getFieldState:qe};return{...lt,formControl:lt}}function Ge(e={}){let t=o.useRef(void 0),n=o.useRef(void 0),r=o.useRef(e.formControl),[i,a]=o.useState(()=>({...g(Ue),isLoading:k(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:k(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl)if(r.current=e.formControl,e.formControl)t.current={...e.formControl,formState:i},e.defaultValues&&!k(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...r}=We(e);t.current={...r,formState:i}}let s=t.current.control;return s._options=e,P(()=>{let e=s._subscribe({formState:s._proxyFormState,callback:()=>a({...s._formState,defaultValues:s._defaultValues}),reRenderRoot:!0});return a(e=>({...e,isReady:!0})),s._formState.isReady=!0,e},[s]),o.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),o.useEffect(()=>{e.mode&&(s._options.mode=e.mode),e.reValidateMode&&(s._options.reValidateMode=e.reValidateMode)},[s,e.mode,e.reValidateMode]),o.useEffect(()=>{e.errors&&(s._setErrors(e.errors),s._focusError())},[s,e.errors]),o.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),o.useEffect(()=>{if(s._proxyFormState.isDirty){let e=s._getDirty();e!==i.isDirty&&s._subjects.state.next({isDirty:e})}},[s,i.isDirty]),o.useEffect(()=>{e.values&&!R(e.values,n.current)?(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),s._options.resetOptions?.keepIsValid||s._setValid(),n.current=e.values,a(e=>({...e}))):s._resetDefaultValues()},[s,e.values]),o.useEffect(()=>{s._state.mount||(s._setValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),t.current.formState=o.useMemo(()=>N(i,s),[s,i]),t.current}function Q({className:e,...t}){return(0,a.jsx)(`label`,{"data-slot":`label`,className:i(`text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var Ke=oe,qe=o.createContext({}),Je=({...e})=>(0,a.jsx)(qe.Provider,{value:{name:e.name},children:(0,a.jsx)(ne,{...e})}),$=()=>{let e=o.useContext(qe),t=o.useContext(Ye),{getFieldState:n}=ae(),r=F({name:e.name}),i=n(e.name,r);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},Ye=o.createContext({});function Xe({className:e,...t}){let n=o.useId();return(0,a.jsx)(Ye.Provider,{value:{id:n},children:(0,a.jsx)(`div`,{"data-slot":`form-item`,className:i(`grid gap-2`,e),...t})})}function Ze({className:e,...t}){let{error:n,formItemId:r}=$();return(0,a.jsx)(Q,{"data-slot":`form-label`,"data-error":!!n,className:i(`data-[error=true]:text-destructive`,e),htmlFor:r,...t})}function Qe({...e}){let{error:t,formItemId:n,formDescriptionId:i,formMessageId:o}=$();return(0,a.jsx)(r,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${i} ${o}`:`${i}`,"aria-invalid":!!t,...e})}function $e({className:e,...t}){let{formDescriptionId:n}=$();return(0,a.jsx)(`p`,{"data-slot":`form-description`,id:n,className:i(`text-muted-foreground text-sm`,e),...t})}function et({className:e,...t}){let{error:n,formMessageId:r}=$(),o=n?String(n?.message??``):t.children;return o?(0,a.jsx)(`p`,{"data-slot":`form-message`,id:r,className:i(`text-destructive text-sm`,e),...t,children:o}):null}export{Xe as a,Q as c,A as d,Ge as f,Je as i,se as l,Qe as n,Ze as o,z as p,$e as r,et as s,Ke as t,D as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-600:oklch(55.8% .288 302.321);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--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;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--default-mono-font-family:"Geist Mono Variable", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}}@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,ui-sans-serif, system-ui, 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{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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{scrollbar-width:thin;scrollbar-color:var(--muted-foreground) transparent}@supports (color:color-mix(in lab, red, red)){*{scrollbar-color:color-mix(in oklch, var(--muted-foreground) 35%, transparent) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb{background-color:color-mix(in oklch, var(--muted-foreground) 35%, transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklch, var(--muted-foreground) 55%, transparent)}}}@layer components,plumix-plugins;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.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}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-2{inset-inline-start:calc(var(--spacing) * 2)}.start-2\.5{inset-inline-start:calc(var(--spacing) * 2.5)}.start-3{inset-inline-start:calc(var(--spacing) * 3)}.start-\[50\%\]{inset-inline-start:50%}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.top-\(--header-height\){top:var(--header-height)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:var(--spacing)}.my-12{margin-block:calc(var(--spacing) * 12)}.-ms-1{margin-inline-start:calc(var(--spacing) * -1)}.-ms-2{margin-inline-start:calc(var(--spacing) * -2)}.ms-1{margin-inline-start:var(--spacing)}.ms-auto{margin-inline-start:auto}.-me-2{margin-inline-end:calc(var(--spacing) * -2)}.me-1{margin-inline-end:var(--spacing)}.me-2{margin-inline-end:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.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-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.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-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-full{width:100%;height:100%}.\!h-\[calc\(100svh-var\(--header-height\)\)\]{height:calc(100svh - var(--header-height))!important}.h-\(--header-height\){height:var(--header-height)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-\[1\.15rem\]{height:1.15rem}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:0}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-1\/3{width:33.3333%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1\%\]{width:1%}.w-\[180px\]{width:180px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[3ch\]{min-width:3ch}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-border{border-color:var(--border)}.border-destructive,.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/5{background-color:color-mix(in oklab, var(--destructive) 5%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.fill-primary{fill:var(--primary)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.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-4{padding-inline:calc(var(--spacing) * 4)}.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-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-8{padding-inline-start:calc(var(--spacing) * 8)}.ps-9{padding-inline-start:calc(var(--spacing) * 9)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-end{text-align:end}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Geist Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-input{color:var(--input)}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-sky-600{color:var(--color-sky-600)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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-background{--tw-ring-color:var(--background)}.ring-ring\/30{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/30{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\]{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.zoom-out{--tw-exit-scale:0}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}.group-hover\/row\:visible:is(:where(.group\/row):hover *){visibility:visible}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pe-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:start-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-start:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:end-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-end:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-e:is(:where(.group)[data-side=left] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-s:is(:where(.group)[data-side=right] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:start-1\/2:after{content:var(--tw-content);inset-inline-start:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:start-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:0}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:0}.group-data-\[orientation\=vertical\]\/tabs\:after\:-end-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-inline-end:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.last\:mt-0:last-child{margin-top:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:visible:focus-within{visibility:visible}@media (hover:hover){.hover\:border-accent-foreground\/20:hover{border-color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent-foreground\/20:hover{border-color:color-mix(in oklab, var(--accent-foreground) 20%, transparent)}}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-destructive:focus{color:var(--destructive)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:bg-background:focus-visible{background-color:var(--background)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--primary)}.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-selected\:bg-accent[aria-selected=true],.aria-\[current\]\:bg-accent[aria-current]{background-color:var(--accent)}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[inset\]\:ps-8[data-inset]{padding-inline-start:calc(var(--spacing) * 8)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-s-md[data-spacing="0"]:first-child{border-start-start-radius:calc(var(--radius) - 2px);border-end-start-radius:calc(var(--radius) - 2px)}.data-\[spacing\=0\]\:last\:rounded-e-md[data-spacing="0"]:last-child{border-start-end-radius:calc(var(--radius) - 2px);border-end-end-radius:calc(var(--radius) - 2px)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:var(--sidebar-accent-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-s-0[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-s[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media (width>=40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:ps-2\.5{padding-inline-start:calc(var(--spacing) * 2.5)}.sm\:pe-2\.5{padding-inline-end:calc(var(--spacing) * 2.5)}.sm\:text-start{text-align:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ms-0:is(:where(.peer)[data-variant=inset]~*){margin-inline-start:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ms-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-inline-start:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=24rem){.\@sm\:col-span-1{grid-column:span 1/span 1}.\@sm\:col-span-2{grid-column:span 2/span 2}.\@sm\:col-span-3{grid-column:span 3/span 3}.\@sm\:col-span-4{grid-column:span 4/span 4}.\@sm\:col-span-5{grid-column:span 5/span 5}.\@sm\:col-span-6{grid-column:span 6/span 6}.\@sm\:col-span-7{grid-column:span 7/span 7}.\@sm\:col-span-8{grid-column:span 8/span 8}.\@sm\:col-span-9{grid-column:span 9/span 9}.\@sm\:col-span-10{grid-column:span 10/span 10}.\@sm\:col-span-11{grid-column:span 11/span 11}.\@sm\:col-span-12{grid-column:span 12/span 12}}@container (width>=28rem){.\@md\:col-span-1{grid-column:span 1/span 1}.\@md\:col-span-2{grid-column:span 2/span 2}.\@md\:col-span-3{grid-column:span 3/span 3}.\@md\:col-span-4{grid-column:span 4/span 4}.\@md\:col-span-5{grid-column:span 5/span 5}.\@md\:col-span-6{grid-column:span 6/span 6}.\@md\:col-span-7{grid-column:span 7/span 7}.\@md\:col-span-8{grid-column:span 8/span 8}.\@md\:col-span-9{grid-column:span 9/span 9}.\@md\:col-span-10{grid-column:span 10/span 10}.\@md\:col-span-11{grid-column:span 11/span 11}.\@md\:col-span-12{grid-column:span 12/span 12}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}@container (width>=32rem){.\@lg\:col-span-1{grid-column:span 1/span 1}.\@lg\:col-span-2{grid-column:span 2/span 2}.\@lg\:col-span-3{grid-column:span 3/span 3}.\@lg\:col-span-4{grid-column:span 4/span 4}.\@lg\:col-span-5{grid-column:span 5/span 5}.\@lg\:col-span-6{grid-column:span 6/span 6}.\@lg\:col-span-7{grid-column:span 7/span 7}.\@lg\:col-span-8{grid-column:span 8/span 8}.\@lg\:col-span-9{grid-column:span 9/span 9}.\@lg\:col-span-10{grid-column:span 10/span 10}.\@lg\:col-span-11{grid-column:span 11/span 11}.\@lg\:col-span-12{grid-column:span 12/span 12}}.rtl\:-translate-x-\[-50\%\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(-50% * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:-translate-x-px:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:translate-x-px:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.rtl\:group-data-\[collapsible\=offcanvas\]\:-translate-x-0:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *):is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=left]) .rtl\:in-data-\[side\=left\]\:cursor-e-resize:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=right]) .rtl\:in-data-\[side\=right\]\:cursor-w-resize:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){cursor:w-resize}.rtl\:data-\[side\=left\]\:translate-x-1:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:data-\[side\=right\]\:-translate-x-1:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-amber-950\/40:is(.dark *){background-color:#46190166}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/40:is(.dark *){background-color:color-mix(in oklab, var(--color-amber-950) 40%, transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-amber-100:is(.dark *){color:var(--color-amber-100)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-sky-400:is(.dark *){color:var(--color-sky-400)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&_\:focus\]\:outline-none :focus{--tw-outline-style:none;outline-style:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){padding-inline-end:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\>\*\]\:w-full>*{width:100%}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{padding:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=scroll-area-viewport\]\]\:max-h-96>[data-slot=scroll-area-viewport]{max-height:calc(var(--spacing) * 96)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-end-2{inset-inline-end:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left][data-state=collapsed] .rtl\:\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-start-2{inset-inline-start:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-state=collapsed] .rtl\:\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){cursor:e-resize}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.ProseMirror h1{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.ProseMirror h2{margin-top:calc(var(--spacing) * 6);margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.ProseMirror h3{margin-top:calc(var(--spacing) * 5);margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.ProseMirror h4{margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.ProseMirror h5,.ProseMirror h6{margin-top:calc(var(--spacing) * 3);margin-bottom:var(--spacing);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.ProseMirror p{margin-block:calc(var(--spacing) * 2);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.ProseMirror ul{margin-block:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 6);list-style-type:disc}.ProseMirror ol{margin-block:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 6);list-style-type:decimal}.ProseMirror li{margin-block:var(--spacing)}.ProseMirror blockquote{margin-block:calc(var(--spacing) * 3);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.ProseMirror blockquote{border-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.ProseMirror blockquote{padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);font-style:italic}.ProseMirror p code,.ProseMirror li code{background-color:var(--muted);padding-inline:var(--spacing);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em}.ProseMirror pre{margin-block:calc(var(--spacing) * 3);border-radius:calc(var(--radius) - 2px);background-color:var(--muted);padding:calc(var(--spacing) * 3);font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-x:auto}.ProseMirror hr{margin-block:calc(var(--spacing) * 6);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border)}.ProseMirror div[data-plumix-block=core\/columns]{margin-block:calc(var(--spacing) * 3);gap:calc(var(--spacing) * 3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="1:2"]{grid-template-columns:1fr 2fr}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="2:1"]{grid-template-columns:2fr 1fr}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="1:1:1"]{grid-template-columns:1fr 1fr 1fr}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="1:2:1"]{grid-template-columns:1fr 2fr 1fr}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="2:1:2"]{grid-template-columns:2fr 1fr 2fr}.ProseMirror div[data-plumix-block=core\/columns][data-ratio="1:1:1:1"]{grid-template-columns:repeat(4,1fr)}.ProseMirror div[data-plumix-block=core\/column]{min-height:calc(var(--spacing) * 12);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--border);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.ProseMirror div[data-plumix-block=core\/column]{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.ProseMirror div[data-plumix-block=core\/column]{padding:calc(var(--spacing) * 2)}.ProseMirror [data-plumix-block=core\/callout]>aside{margin-block:calc(var(--spacing) * 3);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.ProseMirror [data-plumix-block=core\/callout]>aside{border-color:color-mix(in oklab, var(--muted-foreground) 20%, transparent)}}.ProseMirror [data-plumix-block=core\/callout]>aside{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.ProseMirror [data-plumix-block=core\/callout]>aside{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.ProseMirror [data-plumix-block=core\/callout]>aside{padding:calc(var(--spacing) * 3)}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=warn]{border-color:var(--color-yellow-300);background-color:#fef9c299}@supports (color:color-mix(in lab, red, red)){.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=warn]{background-color:color-mix(in oklab, var(--color-yellow-100) 60%, transparent)}}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=warn]{color:var(--color-yellow-900)}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=error]{border-color:var(--color-red-300);background-color:#ffe2e299}@supports (color:color-mix(in lab, red, red)){.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=error]{background-color:color-mix(in oklab, var(--color-red-100) 60%, transparent)}}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=error]{color:var(--color-red-900)}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=success]{border-color:var(--color-green-300);background-color:#dcfce799}@supports (color:color-mix(in lab, red, red)){.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=success]{background-color:color-mix(in oklab, var(--color-green-100) 60%, transparent)}}.ProseMirror [data-plumix-block=core\/callout]>aside[data-variant=success]{color:var(--color-green-900)}.ProseMirror [data-plumix-block=core\/details]>details{margin-block:calc(var(--spacing) * 3);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 3)}.ProseMirror [data-plumix-block=core\/details]>details>summary{cursor:pointer;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.ProseMirror [data-plumix-block=core\/details]>details[open]>summary{margin-bottom:calc(var(--spacing) * 2)}.ProseMirror [data-plumix-block=core\/buttons]>div{margin-block:calc(var(--spacing) * 3);gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.ProseMirror table{margin-block:calc(var(--spacing) * 3);border-collapse:collapse;border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);width:100%}.ProseMirror th,.ProseMirror td{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing) * 2);padding-block:var(--spacing)}.ProseMirror th{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.ProseMirror th{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.ProseMirror th{text-align:left;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@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}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./style-emitter-CDGtTiRG.js";var t=`plumix-manifest`;function n(e){return(t,n)=>{let r=t.priority??1/0,i=n.priority??1/0;return r===i?e(t).localeCompare(e(n)):r-i}}function r(e,t){let n=t??{},r={};for(let t of e)for(let e of t.fields)r[e.key]=n[e.key]??e.default;return r}RegExp(`<script id="${t}"[^>]*>[\\s\\S]*?<\/script>`,`i`);function i(e=document){let n=e.getElementById(t);if(!n)return{};let r=n.textContent;if(r.trim()===``)return{};try{return o(JSON.parse(r))}catch{return console.error(`[plumix] failed to parse #${t} payload; falling back to an empty manifest`),{}}}var a=[`entryTypes`,`termTaxonomies`,`entryMetaBoxes`,`termMetaBoxes`,`userMetaBoxes`,`settingsGroups`,`settingsPages`,`adminNav`,`fieldTypes`,`blocks`,`marks`,`patterns`];function o(e){if(!e||typeof e!=`object`)return{};let t=e,n={};for(let e of a)Array.isArray(t[e])&&(n[e]=t[e]);return t.tokens&&typeof t.tokens==`object`&&(n.tokens=t.tokens),t.i18n&&typeof t.i18n==`object`&&(n.i18n=t.i18n),t.pluginI18n&&typeof t.pluginI18n==`object`&&(n.pluginI18n=t.pluginI18n),n}var s=i();function c(e=s){return e.tokens??{}}function l(t=s){return t.breakpoints??e}function u(e=s){return e.patterns??[]}function d(e,t=s){return(t.entryTypes??[]).find(t=>t.adminSlug===e)}function f(e,t=s){return(t.entryTypes??[]).find(t=>t.name===e)}function p(e,t=s){return f(e,t)?.namedTemplates??[]}function m(e,t=s){let n=new Set(e);return(t.entryTypes??[]).filter(e=>{if(e.showInSidebar===!1)return!1;let t=`entry:${e.capabilityType??e.name}:edit_own`;return n.has(t)})}function h(e,t=s){return(t.termTaxonomies??[]).find(t=>t.name===e)}function g(e,t=s){let n=new Set(e);return(t.termTaxonomies??[]).filter(e=>n.has(`term:${e.name}:read`))}function _(e,t=s){return e.includes(`settings:manage`)?t.settingsPages??[]:[]}function v(e,t=s){let n=new Set(e);return(t.dashboardWidgets??[]).filter(e=>!e.capability||n.has(e.capability))}function y(e,t,r){return(e??[]).filter(e=>!(!r(e)||e.capability!==void 0&&!t.has(e.capability))).map(e=>({...e,fields:e.fields.filter(e=>e.capability===void 0||t.has(e.capability))})).sort(n(e=>e.id))}function b(e,t,n=s){return y(n.entryMetaBoxes,new Set(t),t=>t.entryTypes.includes(e))}function x(e,t,n=s){return y(n.termMetaBoxes,new Set(t),t=>t.termTaxonomies.includes(e))}function S(e,t=s){return y(t.userMetaBoxes,new Set(e),()=>!0)}function C(e,t=s){return(t.settingsPages??[]).find(t=>t.name===e)}function w(e,t=s){return(t.settingsGroups??[]).find(t=>t.name===e)}function T(e,t=s){return e.groups.map(e=>w(e,t)).filter(e=>e!==void 0)}function E(e,t=s){let n=new Set(e);return(t.adminNav??[]).map(e=>({...e,items:e.items.filter(e=>!e.capability||n.has(e.capability))})).filter(e=>e.items.length>0)}function D(e,t=s){for(let n of t.adminNav??[])for(let t of n.items)if(t.to===e&&t.component)return t}export{_,C as a,r as b,l as c,p as d,i as f,m as g,v as h,D as i,c as l,E as m,f as n,h as o,x as p,d as r,u as s,b as t,T as u,g as v,S as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import"./utils-kFAy0YTP.js";import{t as n}from"./use-label-CykSHq9A.js";import{a as r,i,n as a,r as o,t as s}from"./card-L2-kK5VK.js";import{t as c}from"./meta-box-field-BTDudxyS.js";import{t as l}from"./meta-box-grid-CoW6o7O7.js";var u=e(t(),1);function d({box:e,basePath:t,disabled:c=!1}){let l=n();return(0,u.jsxs)(s,{className:`@container`,"data-testid":`meta-box-${e.id}`,children:[(0,u.jsxs)(i,{children:[(0,u.jsx)(r,{children:(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,"data-testid":`meta-box-heading-${e.id}`,children:l(e.label)})}),e.description?(0,u.jsx)(o,{children:l(e.description)}):null]}),(0,u.jsx)(a,{children:(0,u.jsx)(f,{box:e,basePath:t,disabled:c})})]})}function f({box:e,basePath:t,disabled:n}){return(0,u.jsx)(`div`,{className:`grid grid-cols-12 gap-4`,children:e.fields.map(e=>(0,u.jsx)(c,{field:e,name:`${t}.${e.key}`,disabled:n??!1,className:l(e.span)},e.key))})}export{d as t};
|