@plumix/admin 0.1.4 → 0.3.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.
Files changed (161) hide show
  1. package/README.md +11 -11
  2. package/dist/assets/-constants-D2aYlJ-p.js +1 -0
  3. package/dist/assets/-constants-GNK7OFwu.js +1 -0
  4. package/dist/assets/-errors-Cm7HAP35.js +1 -0
  5. package/dist/assets/-locale-param-DNqvygi2.js +1 -0
  6. package/dist/assets/-schemas-CIUBpPg7.js +1 -0
  7. package/dist/assets/Match-Dr0Ejexl.js +1 -0
  8. package/dist/assets/_-CdARd5HU.js +1 -0
  9. package/dist/assets/_-TJmg5kBm.js +2 -0
  10. package/dist/assets/_auth-CySOqEGr.js +1 -0
  11. package/dist/assets/_authenticated-BXBqWQO4.js +1 -0
  12. package/dist/assets/_authenticated-BXN54ZIX.js +2 -0
  13. package/dist/assets/_authenticated-CjQ1ovXR.js +1 -0
  14. package/dist/assets/_editor-DRd0V5nT.js +1 -0
  15. package/dist/assets/_name--PFunjJs.js +2 -0
  16. package/dist/assets/_name-BdQXCH-s.js +1 -0
  17. package/dist/assets/_page-BSBKYWFe.js +1 -0
  18. package/dist/assets/_page-BuOOftjn.js +2 -0
  19. package/dist/assets/_page-Cd2qh5Hj.js +1 -0
  20. package/dist/assets/_page-Rj3wR-yR.js +1 -0
  21. package/dist/assets/_slug-CPq3MyRU.js +2 -0
  22. package/dist/assets/_slug-D5T6BGMn.js +1 -0
  23. package/dist/assets/_token-BV3V8P_y.js +1 -0
  24. package/dist/assets/_token-DnOWzW7K.js +2 -0
  25. package/dist/assets/allowed-domains-CQYTKIje.js +1 -0
  26. package/dist/assets/bootstrap-B4UY7ClG.js +1 -0
  27. package/dist/assets/bootstrap-BpS0ha2M.js +2 -0
  28. package/dist/assets/breadcrumb-x0qfIbU9.js +1 -0
  29. package/dist/assets/button-DG1Ca1S5.js +1 -0
  30. package/dist/assets/caps-SYhabp1B.js +1 -0
  31. package/dist/assets/create-D2nZy-Hm.js +1 -0
  32. package/dist/assets/create-D7WMBpH9.js +1 -0
  33. package/dist/assets/create-DWhdHiGH.js +2 -0
  34. package/dist/assets/create-DgEbjT-H.js +1 -0
  35. package/dist/assets/create-Qrx2pnjH.js +2 -0
  36. package/dist/assets/device-Ae_X8x7B.js +2 -0
  37. package/dist/assets/device-COTq1gdI.js +1 -0
  38. package/dist/assets/dist-BP9v0gZx.js +1 -0
  39. package/dist/assets/dist-BaNJ6JYm.js +1 -0
  40. package/dist/assets/dist-BbwCNMFC.js +1 -0
  41. package/dist/assets/dist-BreUs1Gf.js +1 -0
  42. package/dist/assets/dist-C4yHjFuP.js +1 -0
  43. package/dist/assets/dist-CFgtqwWs.js +1 -0
  44. package/dist/assets/dist-Cz1zPiFe.js +1 -0
  45. package/dist/assets/dist-DKhWWf1L.js +11 -0
  46. package/dist/assets/dist-DWZq3eNY.js +1 -0
  47. package/dist/assets/dist-Dgy1ZZMQ.js +1 -0
  48. package/dist/assets/dist-RxmsRBXP.js +1 -0
  49. package/dist/assets/dist-hUh7dFZi.js +1 -0
  50. package/dist/assets/dist-vYFq1OyT.js +1 -0
  51. package/dist/assets/edit-2tkUFGA0.js +1 -0
  52. package/dist/assets/edit-B-2O5ofQ.js +2 -0
  53. package/dist/assets/edit-BLG323-R.js +1 -0
  54. package/dist/assets/edit-C8EfqoCF.js +1 -0
  55. package/dist/assets/edit-C8cjxuy9.js +1 -0
  56. package/dist/assets/edit-CJqG1MnB.js +1 -0
  57. package/dist/assets/edit-CLCmZdBG.js +2 -0
  58. package/dist/assets/edit-D0M8e03b.js +10 -0
  59. package/dist/assets/edit-D64WXGYa.js +2 -0
  60. package/dist/assets/edit-DE8yiDG7.js +1 -0
  61. package/dist/assets/edit-DmKuaq6h.js +1 -0
  62. package/dist/assets/edit-skeleton-oIsvepSM.js +1 -0
  63. package/dist/assets/empty-p3QKoEqD.js +1 -0
  64. package/dist/assets/error-placeholder-ULkA-k6_.js +1 -0
  65. package/dist/assets/errors-BDz8PxwA.js +1 -0
  66. package/dist/assets/es2015-Di0DqwZ-.js +41 -0
  67. package/dist/assets/form-B_PPIck3.js +1 -0
  68. package/dist/assets/headings-B7oI9nfr.js +1 -0
  69. package/dist/assets/image-CYG4gQQy.js +1 -0
  70. package/dist/assets/index-DOeYD9Kh.js +7 -0
  71. package/dist/assets/lazyRouteComponent-CQbKoKTD.js +1 -0
  72. package/dist/assets/link-CI3qhqYu.js +1 -0
  73. package/dist/assets/login-D-k0G5e9.js +1 -0
  74. package/dist/assets/login-D91-q-s1.js +2 -0
  75. package/dist/assets/mailer-DeygotUf.js +2 -0
  76. package/dist/assets/mailer-DoyD5gWW.js +1 -0
  77. package/dist/assets/manifest-CKNOp_Vu.js +1 -0
  78. package/dist/assets/matchContext-DKtpdvCQ.js +1 -0
  79. package/dist/assets/{meta-box-Dd1vNvwM.js → meta-box-9XmyLLTE.js} +1 -1
  80. package/dist/assets/meta-box-field-CK-LNUI9.js +1 -0
  81. package/dist/assets/{meta-box-grid-BfWeRDWA.js → meta-box-grid-CoW6o7O7.js} +1 -1
  82. package/dist/assets/orpc-CmtRGLtZ.js +15 -0
  83. package/dist/assets/palette-commands-UkUQOwz_.js +2 -0
  84. package/dist/assets/{passkey-C_CqNV1S.js → passkey-DN4QfROE.js} +1 -1
  85. package/dist/assets/plugin-error-boundary-FjZbsCsp.js +1 -0
  86. package/dist/assets/plugin-registry-nSDhEMki.js +1 -0
  87. package/dist/assets/popover-BoiNmQB7.js +1 -0
  88. package/dist/assets/register-core-blocks-BlT-RgVA.js +7 -0
  89. package/dist/assets/rich-text-field-CS-OOttw.js +123 -0
  90. package/dist/assets/search-input-BG9KotQw.js +4 -0
  91. package/dist/assets/select-D3kIVy0H.js +1 -0
  92. package/dist/assets/{separator-u9O31sRo.js → separator-DzRLZTkg.js} +1 -1
  93. package/dist/assets/session-Y-9LAiv-.js +1 -0
  94. package/dist/assets/settings-B9srnZ7u.js +2 -0
  95. package/dist/assets/settings-DL7pou9m.js +1 -0
  96. package/dist/assets/sonner-1kBVu4ZN.js +1 -0
  97. package/dist/assets/textarea-iIsBg5jH.js +1 -0
  98. package/dist/assets/toast-CWtRg47-.js +1 -0
  99. package/dist/assets/{toggle-BfrQLxbv.js → toggle-M64NT8hi.js} +1 -1
  100. package/dist/assets/tooltip-Bf2rZUeB.js +1 -0
  101. package/dist/assets/triangle-alert-BpzHmkii.js +1 -0
  102. package/dist/assets/underline-CbWPdoFR.js +1 -0
  103. package/dist/assets/use-formatters-DLJOFcWE.js +1 -0
  104. package/dist/assets/useMutation-vgMtqBOX.js +1 -0
  105. package/dist/assets/useQuery-QAYxQfCx.js +1 -0
  106. package/dist/assets/useStore-Vo4KhxPy.js +1 -0
  107. package/dist/assets/useSuspenseQuery-9GLTSYHf.js +1 -0
  108. package/dist/assets/user-role-labels-NFC7DRSs.js +1 -0
  109. package/dist/assets/users-CMJAWmSV.js +2 -0
  110. package/dist/assets/users-DzXByAic.js +1 -0
  111. package/dist/assets/utils-kFAy0YTP.js +5 -0
  112. package/dist/assets/{valibot-DKJGiWCI.js → valibot-DO4fmSyX.js} +1 -1
  113. package/dist/assets/validation-G0OebWge.js +1 -0
  114. package/dist/assets/vmessage-CRX68a8a.js +1 -0
  115. package/dist/index.html +66 -7
  116. package/package.json +10 -10
  117. package/dist/assets/-errors-DymGkXzf.js +0 -1
  118. package/dist/assets/-locale-param-BBOzOc5c.js +0 -1
  119. package/dist/assets/_-DbGPlcLC.js +0 -1
  120. package/dist/assets/_auth-DwSMg4I8.js +0 -1
  121. package/dist/assets/_authenticated-CxUnTydB.js +0 -1
  122. package/dist/assets/_authenticated-DbZWnirz.js +0 -1
  123. package/dist/assets/_editor-DTQYo5H1.js +0 -1
  124. package/dist/assets/_name-BWrqcSjK.js +0 -1
  125. package/dist/assets/_page-BMWM_crl.js +0 -1
  126. package/dist/assets/_page-ClAHWpJA.js +0 -1
  127. package/dist/assets/_slug-BGJ2I-cS.js +0 -1
  128. package/dist/assets/_token-BDyoqyFe.js +0 -1
  129. package/dist/assets/allowed-domains-DIQ_LoVq.js +0 -1
  130. package/dist/assets/bootstrap-D1ITzrPN.js +0 -1
  131. package/dist/assets/breadcrumb-B-sB8a4_.js +0 -1
  132. package/dist/assets/create-BFQqxGF6.js +0 -1
  133. package/dist/assets/create-BrPyaUMW.js +0 -1
  134. package/dist/assets/create-DwlFRgkL.js +0 -1
  135. package/dist/assets/device-DedwLhBj.js +0 -1
  136. package/dist/assets/dist-9yav4OBD.js +0 -46
  137. package/dist/assets/edit-Ba0VjKvg.js +0 -1
  138. package/dist/assets/edit-BdagVECm.js +0 -1
  139. package/dist/assets/edit-BgcIFZzf.js +0 -1
  140. package/dist/assets/edit-CLa1IU8I.js +0 -1
  141. package/dist/assets/edit-CteELL-K.js +0 -2
  142. package/dist/assets/edit-DiaJf7-W.js +0 -1
  143. package/dist/assets/esm-DfD3iRfG.js +0 -1
  144. package/dist/assets/form-C94uy6_t.js +0 -1
  145. package/dist/assets/index-Ctqj4aiM.js +0 -26
  146. package/dist/assets/login-epTUDW_0.js +0 -1
  147. package/dist/assets/mailer-HpDxW8FX.js +0 -1
  148. package/dist/assets/meta-box-field-C4Orbu3m.js +0 -1
  149. package/dist/assets/orpc-DURDArDu.js +0 -15
  150. package/dist/assets/plugin-error-boundary-DSHOAgQB.js +0 -1
  151. package/dist/assets/rich-text-field-KC3ZBBIm.js +0 -130
  152. package/dist/assets/search-input-J0-6kfsf.js +0 -4
  153. package/dist/assets/settings-CkVoTIwd.js +0 -1
  154. package/dist/assets/textarea-BsZaGkV-.js +0 -1
  155. package/dist/assets/toast-p1K24g-U.js +0 -1
  156. package/dist/assets/tooltip-Dm_CbtVl.js +0 -1
  157. package/dist/assets/underline-CoVrqZEk.js +0 -1
  158. package/dist/assets/use-formatters-Bq4u-MkS.js +0 -1
  159. package/dist/assets/users-S1uN00sD.js +0 -1
  160. package/dist/assets/utils-ByiwTMhM.js +0 -5
  161. package/dist/assets/validation-CwFumc7a.js +0 -1
@@ -0,0 +1 @@
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{n as we,r as Te,t as Ee}from"./tablet-BnclzXSX.js";import{t as T}from"./use-label-CykSHq9A.js";import{d as De,v as Oe,y as ke}from"./manifest-CKNOp_Vu.js";import{D as Ae,T as je,b as Me,d as Ne,h as Pe,k as Fe,l as Ie,r as Le,v as Re,w as ze,y as Be}from"./dist-ClOzYsk5.js";import{n as Ve}from"./vmessage-CRX68a8a.js";import{t as He}from"./caps-SYhabp1B.js";import{t as Ue}from"./use-formatters-DLJOFcWE.js";import{n as We,t as Ge}from"./user-role-labels-NFC7DRSs.js";import{n as Ke,r as qe,t as Je}from"./-constants-D2aYlJ-p.js";import{a as Ye,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-D64WXGYa.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,s as ft,t as pt}from"./form-B_PPIck3.js";import{n as E,t as D}from"./alert-cwX3fWUu.js";import{t as mt}from"./valibot-DO4fmSyX.js";import{n as ht,t as gt}from"./orpc-errors-DWk96ZMY.js";import{t as _t}from"./scopes-C_7AiPdH.js";import{t as vt}from"./dates-CSmOj6E-.js";import{t as yt}from"./meta-box-9XmyLLTE.js";var bt=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`}]]),xt=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`}]]),St=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`}]]),O=e(n(),1),k=e(t(),1),A={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`}},Ct=Pe({name:Be(ze(),Ae(),Ne(1,Ve(A.nameRequired)),Ie(64,Ve(A.nameTooLong))),expires:Re([`7`,`30`,`90`,`never`]),scopeMode:Re([`inherit`,`restrict`]),scopesText:Be(ze(),Ie(4096))}),wt={7:A.expires7,30:A.expires30,90:A.expires90,never:A.expiresNever},Tt={7:7,30:30,90:90,never:null};function Et(){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,k.jsx)(Ot,{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 Dt({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,k.jsx)(Ot,{mode:`admin`,tokens:n.data?.items??[],isLoading:n.isLoading,onRevoke:(e,t)=>r.mutate(e,t),revokePending:r.isPending})}function Ot({mode:e,tokens:t,isLoading:n,onMint:r,mintPending:a=!1,onRevoke:o,revokePending:s}){let c=T(),[l,u]=(0,O.useState)(null),[d,f]=(0,O.useState)(null),[p,m]=(0,O.useState)(null),[h,g]=(0,O.useState)(null),_=(0,k.jsx)(`bdi`,{children:p?.name??``});return(0,k.jsxs)($e,{"data-testid":`api-tokens-card`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(i,{id:`apiTokens.title`,message:`API tokens`})}),(0,k.jsx)(Qe,{children:e===`self`?(0,k.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,k.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,k.jsxs)(Ze,{className:`flex flex-col gap-6`,children:[r?(0,k.jsx)(kt,{onSubmit:e=>{f(null);let t=e.scopeMode===`inherit`?null:_t(e.scopesText);r({name:e.name,expiresInDays:Tt[e.expires],scopes:t},{onSuccess:e=>{u({secret:e.secret,name:e.token.name})},onError:e=>{f(e instanceof Error?e.message:A.mintFallback)}})},pending:a,error:d}):null,n?(0,k.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`api-tokens-loading`,children:(0,k.jsx)(i,{id:`apiTokens.loading`,message:`Loading tokens…`})}):t.length===0?(0,k.jsx)(C,{"data-testid":`api-tokens-empty`,children:(0,k.jsxs)(b,{children:[(0,k.jsx)(x,{children:(0,k.jsx)(i,{id:`apiTokens.empty.title`,message:`No tokens yet`})}),(0,k.jsx)(S,{children:e===`self`?(0,k.jsx)(i,{id:`apiTokens.empty.description.self`,message:`Mint one above for your CLI / MCP server / CI bot.`}):(0,k.jsx)(i,{id:`apiTokens.empty.description.admin`,message:`This user hasn't minted any API tokens.`})})]})}):(0,k.jsxs)(xe,{"data-testid":`api-tokens-table`,children:[(0,k.jsx)(_e,{children:(0,k.jsxs)(ve,{children:[(0,k.jsx)(Se,{children:(0,k.jsx)(i,{id:`apiTokens.col.name`,message:`Name`})}),(0,k.jsx)(Se,{children:(0,k.jsx)(i,{id:`apiTokens.col.prefix`,message:`Prefix`})}),(0,k.jsx)(Se,{children:(0,k.jsx)(i,{id:`apiTokens.col.scopes`,message:`Scopes`})}),(0,k.jsx)(Se,{children:(0,k.jsx)(i,{id:`apiTokens.col.lastUsed`,message:`Last used`})}),(0,k.jsx)(Se,{children:(0,k.jsx)(i,{id:`apiTokens.col.expires`,message:`Expires`})}),(0,k.jsx)(Se,{className:`w-[1%] text-end`,children:(0,k.jsx)(i,{id:`apiTokens.col.actions`,message:`Actions`})})]})}),(0,k.jsx)(ge,{children:t.map(e=>(0,k.jsxs)(ve,{"data-testid":`api-tokens-row-${e.id}`,children:[(0,k.jsx)(be,{children:(0,k.jsx)(`span`,{className:`font-medium`,children:e.name})}),(0,k.jsx)(be,{children:(0,k.jsxs)(`code`,{className:`text-muted-foreground font-mono text-xs`,children:[e.prefix,`…`]})}),(0,k.jsx)(be,{children:(0,k.jsx)(Mt,{scopes:e.scopes})}),(0,k.jsx)(be,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(jt,{when:e.lastUsedAt})}),(0,k.jsx)(be,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(jt,{when:e.expiresAt})}),(0,k.jsx)(be,{className:`text-end`,children:(0,k.jsx)(y,{variant:`ghost`,size:`sm`,onClick:()=>m({id:e.id,name:e.name}),"data-testid":`api-tokens-revoke-${e.id}`,children:(0,k.jsx)(i,{id:`apiTokens.revoke.button`,message:`Revoke`})})})]},e.id))})]})]}),(0,k.jsx)(At,{secret:l?.secret??null,name:l?.name??``,onClose:()=>u(null)}),(0,k.jsx)(pe,{open:p!==null,onOpenChange:e=>{e||(m(null),g(null))},children:(0,k.jsxs)(ue,{children:[(0,k.jsxs)(oe,{children:[(0,k.jsx)(he,{children:(0,k.jsx)(i,{id:`apiTokens.revoke.title`,message:`Revoke "{name}"?`,values:{name:_},comment:`name: the user-chosen token nickname (e.g. 'CI deploy key')`})}),(0,k.jsx)(me,{children:(0,k.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,k.jsx)(D,{variant:`destructive`,"data-testid":`api-tokens-revoke-error`,children:(0,k.jsx)(E,{children:c(h)})}):null,(0,k.jsxs)(Ce,{children:[(0,k.jsx)(ce,{disabled:s,children:(0,k.jsx)(i,{id:`apiTokens.revoke.cancel`,message:`Cancel`})}),(0,k.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:A.revokeFallback)}}))},children:s?(0,k.jsx)(i,{id:`apiTokens.revoke.pending`,message:`Revoking…`}):(0,k.jsx)(i,{id:`apiTokens.revoke.confirm`,message:`Revoke`})})]})]})})]})}function kt({onSubmit:e,pending:t,error:n}){let r=T(),a=st({resolver:mt(Ct),defaultValues:{name:``,expires:`90`,scopeMode:`inherit`,scopesText:``},mode:`onBlur`}),o=dt({control:a.control,name:`scopeMode`});return(0,k.jsx)(pt,{...a,children:(0,k.jsxs)(`form`,{className:`flex flex-col gap-4 border-b pb-6`,onSubmit:a.handleSubmit(t=>{e(t),a.reset()}),children:[(0,k.jsx)(ct,{control:a.control,name:`name`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`apiTokens.create.name`,message:`Name`})}),(0,k.jsx)(lt,{children:(0,k.jsx)(nt,{placeholder:r(A.namePlaceholder),disabled:t,"data-testid":`api-tokens-create-name-input`,...e})}),(0,k.jsx)(ft,{})]})}),(0,k.jsx)(ct,{control:a.control,name:`expires`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`apiTokens.create.expires`,message:`Expires`})}),(0,k.jsxs)(_,{value:e.value,onValueChange:e.onChange,disabled:t,children:[(0,k.jsx)(lt,{children:(0,k.jsx)(p,{className:`w-full`,onBlur:e.onBlur,"data-testid":`api-tokens-create-expires-select`,children:(0,k.jsx)(f,{})})}),(0,k.jsx)(m,{children:Object.keys(wt).map(e=>(0,k.jsx)(h,{value:e,children:r(wt[e])},e))})]}),(0,k.jsx)(ft,{})]})}),(0,k.jsx)(ct,{control:a.control,name:`scopeMode`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{id:`api-token-scope-label`,children:(0,k.jsx)(i,{id:`apiTokens.create.permissions`,message:`Permissions`})}),(0,k.jsx)(lt,{children:(0,k.jsxs)(te,{value:e.value,onValueChange:e.onChange,"aria-labelledby":`api-token-scope-label`,className:`gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(ne,{value:`inherit`,id:`api-token-scope-inherit`,disabled:t,"data-testid":`api-tokens-create-scope-inherit-radio`}),(0,k.jsx)(ot,{htmlFor:`api-token-scope-inherit`,className:`font-normal`,children:(0,k.jsx)(i,{id:`apiTokens.create.scope.inherit`,message:`Inherit all your permissions`})})]}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(ne,{value:`restrict`,id:`api-token-scope-restrict`,disabled:t,"data-testid":`api-tokens-create-scope-restrict-radio`}),(0,k.jsx)(ot,{htmlFor:`api-token-scope-restrict`,className:`font-normal`,children:(0,k.jsx)(i,{id:`apiTokens.create.scope.restrict`,message:`Restrict to specific capabilities`})})]})]})}),(0,k.jsx)(ft,{})]})}),o===`restrict`?(0,k.jsx)(ct,{control:a.control,name:`scopesText`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`apiTokens.create.capabilities`,message:`Capabilities`})}),(0,k.jsx)(lt,{children:(0,k.jsx)(re,{rows:4,placeholder:r(A.capabilitiesPlaceholder),disabled:t,"data-testid":`api-tokens-create-scopes-textarea`,className:`font-mono`,...e})}),(0,k.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:(0,k.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,k.jsx)(ft,{})]})}):null,n?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`api-tokens-create-error`,children:(0,k.jsx)(E,{children:r(n)})}):null,(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsxs)(y,{type:`submit`,disabled:t,"data-testid":`api-tokens-create-submit`,children:[(0,k.jsx)(le,{className:`size-4`}),t?(0,k.jsx)(i,{id:`apiTokens.create.submit.pending`,message:`Minting…`}):(0,k.jsx)(i,{id:`apiTokens.create.submit.idle`,message:`Mint token`})]})})]})})}function At({secret:e,name:t,onClose:n}){let r=T(),[a,o]=(0,O.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,k.jsx)(pe,{open:e!==null,onOpenChange:e=>{e||(o(!1),n())},children:(0,k.jsxs)(ue,{"data-testid":`api-tokens-secret-dialog`,children:[(0,k.jsxs)(oe,{children:[(0,k.jsx)(he,{children:(0,k.jsx)(i,{id:`apiTokens.secret.title`,message:`Token "{name}" minted`,values:{name:(0,k.jsx)(`bdi`,{children:t})},comment:`name: the user-chosen token nickname (e.g. 'CI deploy key')`})}),(0,k.jsx)(me,{children:(0,k.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,k.jsxs)(`div`,{className:`flex gap-2`,children:[(0,k.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,k.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{s()},"data-testid":`api-tokens-secret-copy-button`,"aria-label":r(A.copyAria),children:a?(0,k.jsx)(g,{className:`size-4`}):(0,k.jsx)(ie,{className:`size-4`})})]}),(0,k.jsx)(Ce,{children:(0,k.jsx)(se,{onClick:n,"data-testid":`api-tokens-secret-done-button`,children:(0,k.jsx)(i,{id:`apiTokens.secret.done`,message:`Done`})})})]})})}function jt({when:e}){let{formatRelative:t}=Ue();return e===null?(0,k.jsx)(i,{id:`apiTokens.never`,message:`Never`}):(0,k.jsx)(k.Fragment,{children:t(vt(e))})}function Mt({scopes:e}){return e===null?(0,k.jsx)(de,{variant:`outline`,"data-testid":`api-tokens-scope-inherit`,children:(0,k.jsx)(i,{id:`apiTokens.scope.inheritRole`,message:`Inherit role`})}):e.length===0?(0,k.jsx)(de,{variant:`outline`,"data-testid":`api-tokens-scope-empty`,children:(0,k.jsx)(i,{id:`apiTokens.scope.empty`,message:`No caps`})}):(0,k.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map(e=>(0,k.jsx)(de,{variant:`secondary`,"data-testid":`api-tokens-scope-${e}`,children:e},e))})}function Nt({currentCode:e,manifest:t,onSelect:n}){let{i18n:i}=r(),a=t.i18n?.locales??[];return(0,k.jsxs)(_,{value:e,onValueChange:n,children:[(0,k.jsx)(p,{"data-testid":`locale-switcher-trigger`,"aria-label":i._(`profile.language.aria`,void 0,{message:`Language`}),children:(0,k.jsx)(f,{})}),(0,k.jsx)(m,{children:a.map(e=>(0,k.jsx)(h,{value:e.code,"data-testid":`locale-switcher-option-${e.code}`,children:e.label},e.code))})]})}function Pt({userLocale:e}){let t=De(),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,k.jsxs)($e,{"data-testid":`language-card`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(i,{id:`profile.language.title`,message:`Language`})}),(0,k.jsx)(Qe,{children:(0,k.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,k.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,k.jsx)(Nt,{currentCode:n,manifest:t,onSelect:r.mutate}),r.isError?(0,k.jsx)(D,{variant:`destructive`,children:(0,k.jsx)(E,{children:(0,k.jsx)(i,{id:`profile.language.error`,message:`Couldn't switch language. Please try again.`})})}):null]})]})}var j={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 Ft({userEmail:e}){let t=T(),n=o(),[r,l]=(0,O.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(Bt(e))}});return(0,k.jsxs)($e,{"data-testid":`profile-passkeys-card`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(i,{id:`profile.passkeys.title`,message:`Passkeys`})}),(0,k.jsx)(Qe,{children:(0,k.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,k.jsxs)(Ze,{className:`flex flex-col gap-4`,children:[u.isPending?(0,k.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(i,{id:`profile.passkeys.loading`,message:`Loading…`})}):u.error?(0,k.jsx)(D,{variant:`destructive`,children:(0,k.jsx)(E,{children:(0,k.jsx)(i,{id:`profile.passkeys.loadFailed`,message:`Couldn't load your passkeys. Refresh and try again.`})})}):u.data.length>0?(0,k.jsx)(`ul`,{className:`divide-border divide-y`,"data-testid":`profile-passkeys-list`,children:u.data.map(e=>(0,k.jsx)(It,{cred:e,isLast:u.data.length===1,onChanged:d},e.id))}):(0,k.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(i,{id:`profile.passkeys.empty`,message:`No passkeys registered. Add one to enable sign-in.`})}),r?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`profile-passkeys-enroll-error`,children:(0,k.jsx)(E,{children:t(r)})}):null,(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{f.mutate()},disabled:f.isPending,"data-testid":`profile-passkeys-enroll-button`,children:f.isPending?(0,k.jsx)(i,{id:`profile.passkeys.enroll.pending`,message:`Adding…`}):(0,k.jsx)(i,{id:`profile.passkeys.enroll.idle`,message:`Add passkey`})})})]})]})}function It({cred:e,isLast:t,onChanged:n}){let r=T(),{formatDate:o}=Ue(),s=vt(e.createdAt),l=vt(e.lastUsedAt),[u,d]=(0,O.useState)(!1),[f,p]=(0,O.useState)(e.name??``),[m,h]=(0,O.useState)(!1),[g,_]=(0,O.useState)(null),[b,x]=(0,O.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=>{_(Rt(e))}}),C=c({mutationFn:()=>a.auth.credentials.delete.call({id:e.id}),onMutate:()=>{x(null)},onSuccess:async()=>{h(!1),await n()},onError:e=>{x(zt(e))}}),w=e.name??r(j.unnamed),ee=Lt(e);return(0,k.jsxs)(`li`,{className:`flex flex-col gap-2 py-3`,"data-testid":`profile-passkey-row`,children:[(0,k.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,k.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:u?(0,k.jsxs)(`form`,{className:`flex flex-col gap-2`,onSubmit:e=>{e.preventDefault();let t=f.trim();if(t.length===0){_(j.nameEmpty);return}S.mutate(t)},children:[(0,k.jsxs)(fe,{className:`gap-2`,children:[(0,k.jsx)(ye,{htmlFor:`passkey-name-${e.id}`,className:`text-muted-foreground text-xs`,children:(0,k.jsx)(i,{id:`profile.passkeys.rename.label`,message:`Rename passkey`})}),(0,k.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,k.jsx)(D,{variant:`destructive`,"data-testid":`profile-passkey-rename-error`,children:(0,k.jsx)(E,{children:r(g)})}):null,(0,k.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,k.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{d(!1),p(e.name??``),_(null)},disabled:S.isPending,children:(0,k.jsx)(i,{id:`profile.passkeys.rename.cancel`,message:`Cancel`})}),(0,k.jsx)(y,{type:`submit`,size:`sm`,disabled:S.isPending,"data-testid":`profile-passkey-rename-submit`,children:S.isPending?(0,k.jsx)(i,{id:`profile.passkeys.rename.pending`,message:`Saving…`}):(0,k.jsx)(i,{id:`profile.passkeys.rename.save`,message:`Save`})})]})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`p`,{className:`text-sm font-medium`,"data-testid":`profile-passkey-name`,children:w}),(0,k.jsxs)(`div`,{className:`text-muted-foreground flex flex-wrap gap-2 text-xs`,children:[ee?(0,k.jsx)(`span`,{children:r(ee)}):null,e.isBackedUp?(0,k.jsx)(de,{variant:`secondary`,children:(0,k.jsx)(i,{id:`profile.passkeys.synced`,message:`Synced`})}):null,(0,k.jsx)(`span`,{children:(0,k.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,k.jsx)(`span`,{children:(0,k.jsx)(i,{id:`profile.passkeys.lastUsed`,message:`Last used {date}`,values:{date:o(l)},comment:`date: a locale-formatted date string`})})]})]})}),u?null:(0,k.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,k.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{d(!0),p(e.name??``)},"data-testid":`profile-passkey-rename-button`,children:(0,k.jsx)(i,{id:`profile.passkeys.rename.button`,message:`Rename`})}),(0,k.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,className:`text-destructive hover:text-destructive`,onClick:()=>{h(!0)},disabled:t,title:t?r(j.lastCredential):void 0,"data-testid":`profile-passkey-delete-button`,children:(0,k.jsx)(i,{id:`profile.passkeys.delete.button`,message:`Delete`})})]})]}),(0,k.jsx)(pe,{open:m,onOpenChange:e=>{e||(h(!1),x(null))},children:(0,k.jsxs)(ue,{children:[(0,k.jsxs)(oe,{children:[(0,k.jsx)(he,{children:(0,k.jsx)(i,{id:`profile.passkeys.delete.title`,message:`Delete this passkey?`})}),(0,k.jsx)(me,{children:(0,k.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,k.jsx)(`bdi`,{children:w})},comment:`name: the user-chosen passkey nickname (e.g. 'MacBook', 'iPhone')`})})]}),b?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`profile-passkey-delete-error`,children:(0,k.jsx)(E,{children:r(b)})}):null,(0,k.jsxs)(Ce,{children:[(0,k.jsx)(ce,{disabled:C.isPending,children:(0,k.jsx)(i,{id:`profile.passkeys.delete.cancel`,message:`Cancel`})}),(0,k.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,k.jsx)(i,{id:`profile.passkeys.delete.pending`,message:`Deleting…`}):(0,k.jsx)(i,{id:`profile.passkeys.delete.confirm`,message:`Delete passkey`})})]})]})})]})}function Lt(e){let t=e.transports;return!t||t.length===0?null:t.includes(`internal`)?j.transportInternal:t.includes(`hybrid`)?j.transportHybrid:j.transportSecurityKey}function Rt(e){return gt(e)===`NOT_FOUND`?j.notFound:e instanceof Error?e.message:j.renameFallback}function zt(e){return ht(e)===`last_credential`?j.lastCredential:gt(e)===`NOT_FOUND`?j.notFound:e instanceof Error?e.message:j.deleteFallback}function Bt(e){if(e instanceof rt)switch(e.code){case`user_cancelled`:return j.enrollCancelled;case`credential_already_registered`:return j.enrollAlreadyRegistered;case`no_authenticator`:return j.enrollNoAuthenticator;case`network_error`:return j.enrollNetworkError;case`email_mismatch`:return j.enrollEmailMismatch}return e instanceof Error?e.message:j.enrollFallback}var Vt=`2.0.10`,Ht=500,Ut=`user-agent`,Wt=``,Gt=`?`,M={FUNCTION:`function`,OBJECT:`object`,STRING:`string`,UNDEFINED:`undefined`},N=`browser`,P=`cpu`,F=`device`,I=`engine`,L=`os`,Kt=`result`,R=`name`,z=`type`,B=`vendor`,V=`version`,H=`architecture`,qt=`major`,U=`model`,Jt=`console`,W=`mobile`,G=`tablet`,K=`smarttv`,q=`wearable`,Yt=`xr`,Xt=`embedded`,Zt=`fetcher`,J=`inapp`,Qt=`brands`,$t=`formFactors`,en=`fullVersionList`,tn=`platform`,nn=`platformVersion`,rn=`bitness`,an=`sec-ch-ua`,on=an+`-full-version-list`,sn=an+`-arch`,cn=an+`-`+rn,ln=an+`-form-factors`,un=an+`-`+W,dn=an+`-`+U,fn=an+`-`+tn,pn=fn+`-version`,mn=[Qt,en,W,U,tn,nn,H,$t,rn],hn=`Amazon`,gn=`Apple`,_n=`ASUS`,vn=`BlackBerry`,yn=`Google`,bn=`Huawei`,xn=`Lenovo`,Sn=`Honor`,Cn=`LG`,wn=`Microsoft`,Tn=`Motorola`,En=`Nvidia`,Dn=`OnePlus`,On=`OPPO`,kn=`Samsung`,An=`Sharp`,jn=`Sony`,Mn=`Xiaomi`,Nn=`Zebra`,Pn=`Chrome`,Fn=`Chromium`,In=`Chromecast`,Ln=`Edge`,Rn=`Firefox`,zn=`Opera`,Bn=`Facebook`,Vn=`Sogou`,Hn=`Mobile `,Un=` Browser`,Wn=`Windows`,Y=typeof window!==M.UNDEFINED&&window.navigator?window.navigator:void 0,Gn=Y&&Y.userAgentData?Y.userAgentData:void 0,Kn=function(e,t){var n={},r=t;if(!Yn(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},qn=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},Jn=function(e,t){if(typeof e===M.OBJECT&&e.length>0){for(var n in e)if(Qn(t)==Qn(e[n]))return!0;return!1}return Xn(e)?Qn(t)==Qn(e):!1},Yn=function(e,t){for(var n in e)return/^(browser|cpu|device|engine|os)$/.test(n)||(t?Yn(e[n]):!1)},Xn=function(e){return typeof e===M.STRING},Zn=function(e){if(e){for(var t=[],n=er(e).split(`,`),r=0;r<n.length;r++)if(n[r].indexOf(`;`)>-1){var i=nr(n[r]).split(`;v=`);t[r]={brand:i[0],version:i[1]}}else t[r]=nr(n[r]);return t}},Qn=function(e){return Xn(e)?e.toLowerCase():e},$n=function(e){return Xn(e)?tr(/[^\d\.]/g,e).split(`.`)[0]:void 0},er=function(e){return Xn(e)?nr(tr(/\\?\"/g,e),Ht):void 0},X=function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];typeof n==M.OBJECT&&n.length==2?this[n[0]]=n[1]:this[n]=void 0}return this},tr=function(e,t){return Xn(t)?t.replace(e,Wt):t},nr=function(e,t){return e=tr(/^\s\s*/,String(e)),typeof t===M.UNDEFINED?e:e.substring(0,t)},rr=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===M.OBJECT&&o.length>0?o.length===2?typeof o[1]==M.FUNCTION?this[o[0]]=o[1].call(this,c):this[o[0]]=o[1]:o.length>=3&&(typeof o[1]===M.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}},ir=function(e,t){return t.test.test(e)?t.ifTrue:t.ifFalse},Z=function(e,t){for(var n in t)if(typeof t[n]===M.OBJECT&&t[n].length>0){for(var r=0;r<t[n].length;r++)if(Jn(t[n][r],e))return n===Gt?void 0:n}else if(Jn(t[n],e))return n===Gt?void 0:n;return t.hasOwnProperty(`*`)?t[`*`]:e},ar={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:``},or={embedded:`Automotive`,mobile:`Mobile`,tablet:[`Tablet`,`EInk`],smarttv:`TV`,wearable:`Watch`,xr:[`VR`,`XR`],"?":[`Desktop`,`Unknown`],"*":void 0},sr={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`},cr={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[V,[R,Hn+`Chrome`]],[/webview.+edge\/([\w\.]+)/i],[V,[R,Ln+` WebView`],[z,J]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[V,[R,`Edge`]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[R,V],[/opios[\/ ]+([\w\.]+)/i],[V,[R,zn+` Mini`]],[/\bop(?:rg)?x\/([\w\.]+)/i],[V,[R,zn+` GX`]],[/\bopr\/([\w\.]+)/i],[V,[R,zn]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[V,[R,`Baidu`]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[V,[R,`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],[R,V],[/quark(?:pc)?\/([-\w\.]+)/i],[V,[R,`Quark`]],[/\bddg\/([\w\.]+)/i],[V,[R,`DuckDuckGo`]],[/(?:\buc? ?browser|(?:juc.+)ucweb| ucpc)[\/ ]?([\w\.]+)/i],[V,[R,`UCBrowser`]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[V,[R,`WeChat`]],[/konqueror\/([\w\.]+)/i],[V,[R,`Konqueror`]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[V,[R,`IE`]],[/ya(?:search)?browser\/([\w\.]+)/i],[V,[R,`Yandex`]],[/slbrowser\/([\w\.]+)/i],[V,[R,`Smart `+xn+Un]],[/(av(?:ast|g|ira))\/([\w\.]+)/i],[[R,/(.+)/,`$1 Secure`+Un],V],[/norton\/([\w\.]+)/i],[V,[R,`Norton Private`+Un]],[/\bfocus\/([\w\.]+)/i],[V,[R,Rn+` Focus`]],[/ mms\/([\w\.]+)$/i],[V,[R,zn+` Neon`]],[/ opt\/([\w\.]+)$/i],[V,[R,zn+` Touch`]],[/coc_coc\w+\/([\w\.]+)/i],[V,[R,`Coc Coc`]],[/dolfin\/([\w\.]+)/i],[V,[R,`Dolphin`]],[/coast\/([\w\.]+)/i],[V,[R,zn+` Coast`]],[/miuibrowser\/([\w\.]+)/i],[V,[R,`MIUI`+Un]],[/fxios\/([\w\.-]+)/i],[V,[R,Hn+Rn]],[/\bqihoobrowser\/?([\w\.]*)/i],[V,[R,`360`]],[/\b(qq)\/([\w\.]+)/i],[[R,/(.+)/,`$1Browser`],V],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[R,/(.+)/,`$1`+Un],V],[/ HBPC\/([\w\.]+)/],[V,[R,bn+Un]],[/samsungbrowser\/([\w\.]+)/i],[V,[R,kn+` Internet`]],[/metasr[\/ ]?([\d\.]+)/i],[V,[R,Vn+` Explorer`]],[/(sogou)mo\w+\/([\d\.]+)/i],[[R,Vn+` Mobile`],V],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[R,V],[/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],[R],[/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],[V,R],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[R,Bn],V,[z,J]],[/(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],[R,V,[z,J]],[/\bgsa\/([\w\.]+) .*safari\//i],[V,[R,`GSA`],[z,J]],[/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],[V,[R,`TikTok`],[z,J]],[/\[(linkedin)app\]/i],[R,[z,J]],[/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],[[R,/(.+)/,`Zalo`],V,[z,J]],[/(chromium)[\/ ]([-\w\.]+)/i],[R,V],[/ome-(lighthouse)$/i],[R,[z,Zt]],[/headlesschrome(?:\/([\w\.]+)| )/i],[V,[R,Pn+` Headless`]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[V,[R,Ln+` WebView2`],[z,J]],[/; wv\).+(chrome)\/([\w\.]+)/i],[[R,Pn+` WebView`],V,[z,J]],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[V,[R,`Android`+Un]],[/chrome\/([\w\.]+) mobile/i],[V,[R,Hn+`Chrome`]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[R,V],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[V,[R,Hn+`Safari`]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[R,Hn+`Safari`]],[/version\/([\w\.\,]+) .*(safari)/i],[V,R],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[R,[V,`1`]],[/(webkit|khtml)\/([\w\.]+)/i],[R,V],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[R,Hn+Rn],V],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[R,`Netscape`],V],[/(wolvic|librewolf)\/([\w\.]+)/i],[R,V],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[V,[R,Rn+` 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],[R,[V,/_/g,`.`]],[/(cobalt)\/([\w\.]+)/i],[R,[V,/[^\d\.]+./,Wt]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[H,`amd64`]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[H,`ia32`]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[H,`arm64`]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[H,`armhf`]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[H,`arm`]],[/ sun4\w[;\)]/i],[[H,`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],[[H,/ower/,Wt,Qn]],[/mc680.0/i],[[H,`68k`]],[/winnt.+\[axp/i],[[H,`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],[U,[B,kn],[z,G]],[/\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],[U,[B,kn],[z,W]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],[U,[B,gn],[z,W]],[/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],[U,[B,gn],[z,G]],[/(macintosh);/i],[U,[B,gn]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[U,[B,An],[z,W]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[U,[B,Sn],[z,G]],[/honor([-\w ]+)[;\)]/i],[U,[B,Sn],[z,W]],[/\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],[U,[B,bn],[z,G]],[/(?:huawei) ?([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],[U,[B,bn],[z,W]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[U,/_/g,` `],[B,Mn],[z,G]],[/\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],[[U,/_/g,` `],[B,Mn],[z,W]],[/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],[U,[B,Dn],[z,W]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[U,[B,On],[z,W]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[U,[B,Z,{OnePlus:[`203`,`304`,`403`,`404`,`413`,`415`],"*":On}],[z,G]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[U,[B,`BLU`],[z,W]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[U,[B,`Vivo`],[z,W]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[U,[B,`Realme`],[z,W]],[/(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],[U,[B,xn],[z,G]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[U,[B,xn],[z,W]],[/\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],[U,[B,Tn],[z,W]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[U,[B,Tn],[z,G]],[/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[U,[B,Cn],[z,G]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[U,[B,Cn],[z,W]],[/(nokia) (t[12][01])/i],[B,U,[z,G]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],[[U,/_/g,` `],[z,W],[B,`Nokia`]],[/(pixel (c|tablet))\b/i],[U,[B,yn],[z,G]],[/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],[U,[B,yn],[z,W]],[/(google) (pixelbook( go)?)/i],[B,U],[/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],[U,[B,jn],[z,W]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[U,`Xperia Tablet`],[B,jn],[z,G]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[U,[B,hn],[z,G]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[U,/(.+)/g,`Fire Phone $1`],[B,hn],[z,W]],[/(playbook);[-\w\),; ]+(rim)/i],[U,B,[z,G]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/(?:blackberry|\(bb10;) (\w+)/i],[U,[B,vn],[z,W]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[U,[B,_n],[z,G]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[U,[B,_n],[z,W]],[/(nexus 9)/i],[U,[B,`HTC`],[z,G]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[B,[U,/_/g,` `],[z,W]],[/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],[U,[B,`TCL`],[z,G]],[/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],[U,[B,`TCL`],[z,W]],[/(itel) ((\w+))/i],[[B,Qn],U,[z,Z,{tablet:[`p10001l`,`w7001`],"*":`mobile`}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[U,[B,`Acer`],[z,G]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[U,[B,`Meizu`],[z,W]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[U,[B,`Ulefone`],[z,W]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[U,[B,`Energizer`],[z,W]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[U,[B,`Cat`],[z,W]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[U,[B,`Smartfren`],[z,W]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[U,[B,`Nothing`],[z,W]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[U,[B,`Archos`],[z,G]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[U,[B,`Archos`],[z,W]],[/blackview ([-\w ]+)( b|\))/i,/; (bv\d{4}[-\w ]*)( b|\))/i],[U,[B,`Blackview`],[z,W]],[/; (n159v)/i],[U,[B,`HMD`],[z,W]],[/((revvl[ \w\+]+|tm(?:rv|af)\w*[45]g(?:tb)?))( b|\))/i],[U,[z,ir,{test:/ta?b/i,ifTrue:G,ifFalse:W}],[B,`T-Mobile`]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[B,U,[z,G]],[/(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],[B,U,[z,W]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[B,U,[z,G]],[/(surface duo)/i],[U,[B,wn],[z,G]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[U,[B,`Fairphone`],[z,W]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[U,[B,En],[z,G]],[/(sprint) (\w+)/i],[B,U,[z,W]],[/(kin\.[onetw]{3})/i],[[U,/\./g,` `],[B,wn],[z,W]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[U,[B,Nn],[z,G]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[U,[B,Nn],[z,W]],[/(philips)[\w ]+tv/i,/smart-tv.+(samsung)/i],[B,[z,K]],[/hbbtv.+maple;(\d+)/i],[[U,/^/,`SmartTV`],[B,kn],[z,K]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[B,U,[z,K]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[B,Cn],[z,K]],[/(apple) ?tv/i],[B,[U,gn+` TV`],[z,K]],[/crkey.*devicetype\/chromecast/i],[[U,In+` Third Generation`],[B,yn],[z,K]],[/crkey.*devicetype\/([^/]*)/i],[[U,/^/,`Chromecast `],[B,yn],[z,K]],[/fuchsia.*crkey/i],[[U,In+` Nest Hub`],[B,yn],[z,K]],[/crkey/i],[[U,In],[B,yn],[z,K]],[/(portaltv)/i],[U,[B,Bn],[z,K]],[/droid.+aft(\w+)( bui|\))/i],[U,[B,hn],[z,K]],[/(shield \w+ tv)/i],[U,[B,En],[z,K]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[U,[B,An],[z,K]],[/(bravia[\w ]+)( bui|\))/i],[U,[B,jn],[z,K]],[/(mi(tv|box)-?\w+) bui/i],[U,[B,Mn],[z,K]],[/Hbbtv.*(technisat) (.*);/i],[B,U,[z,K]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[B,/.+\/(\w+)/,`$1`,Z,{LG:`lge`}],[U,nr],[z,K]],[/(playstation \w+)/i],[U,[B,jn],[z,Jt]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[U,[B,wn],[z,Jt]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i,/(valve).+(steam deck)/i,/droid.+; ((shield|rgcube|gr0006))( bui|\))/i],[[B,Z,{Nvidia:`Shield`,Anbernic:`RGCUBE`,Logitech:`GR0006`}],U,[z,Jt]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[U,[B,kn],[z,q]],[/((pebble))app/i,/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[B,U,[z,q]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[U,[B,On],[z,q]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[U,[B,gn],[z,q]],[/(opwwe\d{3})/i],[U,[B,Dn],[z,q]],[/(moto 360)/i],[U,[B,Tn],[z,q]],[/(smartwatch 3)/i],[U,[B,jn],[z,q]],[/(g watch r)/i],[U,[B,Cn],[z,q]],[/droid.+; (wt63?0{2,3})\)/i],[U,[B,Nn],[z,q]],[/droid.+; (glass) \d/i],[U,[B,yn],[z,Yt]],[/(pico) ([\w ]+) os\d/i],[B,U,[z,Yt]],[/(quest( \d| pro)?s?).+vr/i],[U,[B,Bn],[z,Yt]],[/mobile vr; rv.+firefox/i],[[z,Yt]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[B,[z,Xt]],[/(aeobc)\b/i],[U,[B,hn],[z,Xt]],[/(homepod).+mac os/i],[U,[B,gn],[z,Xt]],[/windows iot/i],[[z,Xt]],[/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],[U,[z,K]],[/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],[[z,K]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],[U,[z,Z,{mobile:`Mobile`,xr:`VR`,"*":G}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[z,G]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[z,W]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[U,[B,`Generic`]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[V,[R,Ln+`HTML`]],[/(arkweb)\/([\w\.]+)/i],[R,V],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[V,[R,`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],[R,V],[/ladybird\//i],[[R,`LibWeb`]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[V,R]],os:[[/(windows nt) (6\.[23]); arm/i],[[R,/N/,`R`],[V,Z,ar]],[/(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],[R,V],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[V,/(;|\))/g,``,Z,ar],[R,Wn]],[/(windows ce)\/?([\d\.]*)/i],[R,V],[/[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],[[V,/_/g,`.`],[R,`iOS`]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[R,`macOS`],[V,/_/g,`.`]],[/android ([\d\.]+).*crkey/i],[V,[R,In+` Android`]],[/fuchsia.*crkey\/([\d\.]+)/i],[V,[R,In+` Fuchsia`]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[V,[R,In+` SmartSpeaker`]],[/linux.*crkey\/([\d\.]+)/i],[V,[R,In+` Linux`]],[/crkey\/([\d\.]+)/i],[V,[R,In]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[V,R],[/(ubuntu) ([\w\.]+) like android/i],[[R,/(.+)/,`$1 Touch`],V],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[R,V],[/\(bb(10);/i],[V,[R,vn]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[V,[R,`Symbian`]],[/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],[V,[R,Rn+` OS`]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[V,[R,`webOS`]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[V,Z,{25:`120`,24:`108`,23:`94`,22:`87`,6:`79`,5:`68`,4:`53`,3:`38`,2:`538`,1:`537`,"*":`TV`}],[R,`webOS`]],[/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],[V,[R,`watchOS`]],[/cros [\w]+(?:\)| ([\w\.]+)\b)/i],[V,[R,`Chrome OS`]],[/kepler ([\w\.]+); (aft|aeo)/i],[V,[R,`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],[R,V],[/(sunos) ?([\d\.]*)/i],[[R,`Solaris`],V],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[R,V]]},lr=(function(){var e={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return X.call(e.init,[[N,[R,V,qt,z]],[P,[H]],[F,[z,U,B]],[I,[R,V]],[L,[R,V]]]),X.call(e.isIgnore,[[N,[V,qt]],[I,[V]],[L,[V]]]),X.call(e.isIgnoreRgx,[[N,/ ?browser$/i],[L,/ ?os$/i]]),X.call(e.toString,[[N,[R,V]],[P,[H]],[F,[B,U]],[I,[R,V]],[L,[R,V]]]),e})(),ur=function(e,t){var n=lr.init[t],r=lr.isIgnore[t]||0,i=lr.isIgnoreRgx[t]||0,a=lr.toString[t]||0;function o(){X.call(this,n)}return o.prototype.getItem=function(){return e},o.prototype.withClientHints=function(){return Gn?Gn.getHighEntropyValues(mn).then(function(t){return e.setCH(new dr(t,!1)).parseCH().get()}):e.parseCH().get()},o.prototype.withFeatureCheck=function(){return e.detectFeature().get()},t!=Kt&&(o.prototype.is=function(e){var t=!1;for(var n in this)if(this.hasOwnProperty(n)&&!Jn(r,n)&&Qn(i?tr(i,this[n]):this[n])==Qn(i?tr(i,e):e)){if(t=!0,e!=M.UNDEFINED)break}else if(e==M.UNDEFINED&&t){t=!t;break}return t},o.prototype.toString=function(){var e=Wt;for(var t in a)typeof this[a[t]]!==M.UNDEFINED&&(e+=(e?` `:Wt)+this[a[t]]);return e||M.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 dr(e,t){if(e||={},X.call(this,mn),t)X.call(this,[[Qt,Zn(e[an])],[en,Zn(e[on])],[W,/\?1/.test(e[un])],[U,er(e[dn])],[tn,er(e[fn])],[nn,er(e[pn])],[H,er(e[sn])],[$t,Zn(e[ln])],[rn,er(e[cn])]]);else for(var n in e)this.hasOwnProperty(n)&&typeof e[n]!==M.UNDEFINED&&(this[n]=e[n])}function fr(e,t,n,r){return X.call(this,[[`itemType`,e],[`ua`,t],[`uaCH`,r],[`rgxMap`,n],[`data`,ur(this,e)]]),this}fr.prototype.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data},fr.prototype.set=function(e,t){return this.data[e]=t,this},fr.prototype.setCH=function(e){return this.uaCH=e,this},fr.prototype.detectFeature=function(){if(Y&&Y.userAgent==this.ua)switch(this.itemType){case N:Y.brave&&typeof Y.brave.isBrave==M.FUNCTION&&this.set(R,`Brave`);break;case F:!this.get(z)&&Gn&&Gn[W]&&this.set(z,W),this.get(U)==`Macintosh`&&Y&&typeof Y.standalone!==M.UNDEFINED&&Y.maxTouchPoints&&Y.maxTouchPoints>2&&this.set(U,`iPad`).set(z,G);break;case L:!this.get(R)&&Gn&&Gn[tn]&&this.set(R,Gn[tn]);break;case Kt:var e=this.data,t=function(t){return e[t].getItem().detectFeature().get()};this.set(N,t(N)).set(P,t(P)).set(F,t(F)).set(I,t(I)).set(L,t(L))}return this},fr.prototype.parseUA=function(){switch(this.itemType!=Kt&&rr.call(this.data,this.ua,this.rgxMap),this.itemType){case N:this.set(qt,$n(this.get(V)));break;case L:if(this.get(R)==`iOS`&&this.get(V)&&/^1[89][^\d]/.exec(this.get(V))){var e=/\) Version\/((\d+)[\d\.]*)/.exec(this.ua);e&&parseInt(e[2],10)>=26&&this.set(V,e[1])}break}return this},fr.prototype.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case N:case I:var n=e[en]||e[Qt],r;if(n)for(var i=0;i<n.length;i++){var a=n[i].brand||n[i],o=n[i].version;this.itemType==N&&!/not.a.brand/i.test(a)&&(!r||/Chrom/.test(r)&&a!=Fn||r==Ln&&/WebView2/.test(a))&&(a=Z(a,sr),r=this.get(R),r&&!/Chrom/.test(r)&&/Chrom/.test(a)||this.set(R,a).set(V,o).set(qt,$n(o)),r=a),this.itemType==I&&a==Fn&&this.set(V,o)}break;case P:var s=e[H];s&&(s&&e[rn]==`64`&&(s+=`64`),rr.call(this.data,s+`;`,t));break;case F:if(e[W]&&this.set(z,W),e[U]&&(this.set(U,e[U]),!this.get(z)||!this.get(B))){var c={};rr.call(c,`droid 9; `+e[U]+`)`,t),!this.get(z)&&c.type&&this.set(z,c.type),!this.get(B)&&c.vendor&&this.set(B,c.vendor)}if(e[$t]){var l;if(typeof e[$t]!=`string`)for(var u=0;!l&&u<e[$t].length;)l=Z(e[$t][u++],or);else l=Z(e[$t],or);this.set(z,l)}break;case L:var d=e[tn];if(d){var f=e[nn];d==Wn&&(f=parseInt($n(f),10)>=13?`11`:`10`),this.set(R,d).set(V,f)}this.get(R)==Wn&&e[U]==`Xbox`&&this.set(R,`Xbox`).set(V,void 0);break;case Kt:var p=this.data,m=function(t){return p[t].getItem().setCH(e).parseCH().get()};this.set(N,m(N)).set(P,m(P)).set(F,m(F)).set(I,m(I)).set(L,m(L))}return this};function Q(e,t,n){if(typeof e===M.OBJECT?(Yn(e,!0)?(typeof t===M.OBJECT&&(n=t),t=e):(n=e,t=void 0),e=void 0):typeof e===M.STRING&&!Yn(t,!0)&&(n=t,t=void 0),n)if(typeof n.append===M.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 Q))return new Q(e,t,n).getResult();var o=typeof e===M.STRING?e:n&&n[Ut]?n[Ut]:Y&&Y.userAgent?Y.userAgent:Wt,s=new dr(n,!0),c=cr,l=function(e){return e==Kt?function(){return new fr(e,o,c,s).set(`ua`,o).set(N,this.getBrowser()).set(P,this.getCPU()).set(F,this.getDevice()).set(I,this.getEngine()).set(L,this.getOS()).get()}:function(){return new fr(e,o,c[e],s).parseUA().get()}};return X.call(this,[[`getBrowser`,l(N)],[`getCPU`,l(P)],[`getDevice`,l(F)],[`getEngine`,l(I)],[`getOS`,l(L)],[`getResult`,l(Kt)],[`getUA`,function(){return o}],[`setUA`,function(e){return Xn(e)&&(o=nr(e,Ht)),this}],[`useExtension`,function(e){return e&&(c=Kn(c,e)),this}]]).setUA(o).useExtension(t),this}Q.VERSION=Vt,Q.BROWSER=qn([R,V,qt,z]),Q.CPU=qn([H]),Q.DEVICE=qn([U,B,z,Jt,W,K,G,q,Xt]),Q.ENGINE=Q.OS=qn([R,V]);function pr(e){if(!e)return{browser:null,os:null,icon:bt,raw:null};let t=Q(e);return{browser:t.browser.name??null,os:t.os.name??null,icon:mr(t.device.type),raw:e}}function mr(e){return e===`mobile`?we:e===`tablet`?Ee:e===`wearable`?St:e===`smarttv`||e===`console`?xt:Te}var hr={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 gr(){let e=T(),t=o(),[n,r]=(0,O.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:hr.revokeAllFallback})}}),f=l.data??[],p=f.filter(e=>!e.current).length;return(0,k.jsxs)($e,{"data-testid":`profile-sessions-card`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(i,{id:`profile.sessions.title`,message:`Active sessions`})}),(0,k.jsx)(Qe,{children:(0,k.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,k.jsxs)(Ze,{className:`flex flex-col gap-4`,children:[vr(l,f,u),n?.kind===`ok`?(0,k.jsx)(D,{"data-testid":`profile-sessions-revoke-feedback`,children:(0,k.jsx)(E,{children:(0,k.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,k.jsx)(D,{variant:`destructive`,"data-testid":`profile-sessions-error`,children:(0,k.jsx)(E,{children:e(n.message)})}):null,p>0?(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{d.mutate()},disabled:d.isPending,"data-testid":`profile-sessions-revoke-button`,children:d.isPending?(0,k.jsx)(i,{id:`profile.sessions.revokeAll.pending`,message:`Signing out…`}):(0,k.jsx)(i,{id:`profile.sessions.revokeAll.idle`,message:`Sign out other devices`})})}):null]})]})}function _r({session:e,onChanged:t}){let[n,r]=(0,O.useState)(!1),[o,s]=(0,O.useState)(null),l=pr(e.userAgent),u=l.icon,d=vt(e.createdAt),{formatRelative:f}=Ue(),p=T(),m=yr(l),h=c({mutationFn:()=>a.auth.sessions.revoke.call({id:e.id}),onMutate:()=>{s(null)},onSuccess:async()=>{r(!1),await t()},onError:e=>{s(br(e))}});return(0,k.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,"data-testid":`profile-session-row`,children:[(0,k.jsx)(u,{"aria-hidden":!0,className:`text-muted-foreground mt-0.5 size-5 shrink-0`}),(0,k.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,k.jsx)(`span`,{className:`text-sm font-medium`,"data-testid":`profile-session-label`,children:m}),e.current?(0,k.jsx)(de,{variant:`secondary`,children:(0,k.jsx)(i,{id:`profile.sessions.thisDevice`,message:`This device`})}):null]}),(0,k.jsxs)(`div`,{className:`text-muted-foreground flex flex-wrap gap-2 text-xs`,children:[e.ipAddress?(0,k.jsx)(`span`,{children:e.ipAddress}):null,(0,k.jsx)(`span`,{children:(0,k.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,k.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,k.jsx)(i,{id:`profile.sessions.revoke.button`,message:`Revoke`})}),(0,k.jsx)(pe,{open:n,onOpenChange:e=>{e||(r(!1),s(null))},children:(0,k.jsxs)(ue,{children:[(0,k.jsxs)(oe,{children:[(0,k.jsx)(he,{children:(0,k.jsx)(i,{id:`profile.sessions.revoke.title`,message:`Sign out this device?`})}),(0,k.jsx)(me,{children:e.ipAddress?(0,k.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,k.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,k.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,k.jsx)(`bdi`,{children:m}),when:f(d)},comment:`device: 'Safari on macOS' style label; when: relative-time string`})})]}),o?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`profile-session-revoke-error`,children:(0,k.jsx)(E,{children:p(o)})}):null,(0,k.jsxs)(Ce,{children:[(0,k.jsx)(ce,{disabled:h.isPending,children:(0,k.jsx)(i,{id:`profile.sessions.revoke.cancel`,message:`Cancel`})}),(0,k.jsx)(se,{"data-testid":`profile-session-revoke-confirm`,disabled:h.isPending,onClick:e=>{e.preventDefault(),h.mutate()},children:h.isPending?(0,k.jsx)(i,{id:`profile.sessions.revoke.pending`,message:`Signing out…`}):(0,k.jsx)(i,{id:`profile.sessions.revoke.confirm`,message:`Sign out device`})})]})]})})]})}function vr(e,t,n){return e.isPending?(0,k.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(i,{id:`profile.sessions.loading`,message:`Loading…`})}):e.error?(0,k.jsx)(D,{variant:`destructive`,children:(0,k.jsx)(E,{children:(0,k.jsx)(i,{id:`profile.sessions.loadFailed`,message:`Couldn't load your sessions. Refresh and try again.`})})}):t.length===0?(0,k.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,k.jsx)(i,{id:`profile.sessions.empty`,message:`No plumix-managed sessions. Your sign-in is handled by an external identity provider.`})}):(0,k.jsx)(`ul`,{className:`divide-border divide-y`,"data-testid":`profile-sessions-list`,children:t.map(e=>(0,k.jsx)(_r,{session:e,onChanged:n},e.id))})}function yr(e){let{i18n:t}=r(),n=T();return e.browser&&e.os?t._(hr.browserOnOs.id,{browser:e.browser,os:e.os},{message:hr.browserOnOs.message}):e.browser?e.browser:e.os?e.os:n(hr.unknownDevice)}function br(e){return ht(e)===`current_session`?hr.revokeCurrent:gt(e)===`NOT_FOUND`?hr.revokeNotFound:e instanceof Error?e.message:hr.revokeFallback}var $={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`}},xr=Pe({newEmail:Be(ze(),Ae(),je(),Le(Ve($.invalidEmail)),Ie(255))});function Sr({userId:e,email:t,canEdit:n}){let{i18n:l}=r(),u=o(),{formatRelative:d}=Ue(),f=T(),[p,m]=(0,O.useState)(!1),[h,g]=(0,O.useState)(null),[_,v]=(0,O.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._($.confirmationSent.id,{email:t},{message:$.confirmationSent.message})),await x()},onError:e=>{g(wr(e))}}),C=c({mutationFn:()=>a.user.cancelEmailChange.call({id:e}),onSuccess:async()=>{v(null),await x()}}),w=b?(0,k.jsx)(`bdi`,{children:b.newEmail}):null;return(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsx)(ot,{children:(0,k.jsx)(i,{id:`userEdit.email.label`,message:`Email`})}),(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,k.jsx)(`p`,{className:`text-muted-foreground font-mono text-sm`,"data-testid":`user-edit-email`,children:t}),n?(0,k.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{g(null),v(null),m(!0)},"data-testid":`user-edit-email-change-button`,children:(0,k.jsx)(i,{id:`userEdit.email.changeButton`,message:`Change email`})}):null]}),b?(0,k.jsx)(D,{"data-testid":`user-edit-email-pending`,children:(0,k.jsxs)(E,{className:`flex flex-wrap items-center gap-2`,children:[(0,k.jsx)(`span`,{children:(0,k.jsx)(i,{id:`userEdit.email.pending`,message:`Pending change to <code>{newEmail}</code> — expires {expiresAt}`,values:{newEmail:w,expiresAt:d(vt(b.expiresAt))},components:{code:(0,k.jsx)(`code`,{className:`font-mono`})},comment:`newEmail: the new address awaiting confirmation; expiresAt: pre-formatted relative-time like 'in 2 hours'`})}),n?(0,k.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,k.jsx)(i,{id:`userEdit.email.cancelPending.pending`,message:`Cancelling…`}):(0,k.jsx)(i,{id:`userEdit.email.cancelPending.idle`,message:`Cancel`})}):null]})}):_?(0,k.jsx)(D,{"data-testid":`user-edit-email-change-success`,children:(0,k.jsx)(E,{children:_})}):null,(0,k.jsx)(Cr,{open:p,onOpenChange:e=>{e||g(null),m(e)},currentEmail:t,onSubmit:e=>S.mutate(e),pending:S.isPending,error:h,placeholder:f($.newEmailPlaceholder)})]})}function Cr({open:e,onOpenChange:t,currentEmail:n,onSubmit:r,pending:a,error:o,placeholder:s}){let c=T(),l=st({resolver:mt(xr),defaultValues:{newEmail:``},mode:`onSubmit`});return(0,k.jsx)(pe,{open:e,onOpenChange:t,children:(0,k.jsxs)(ue,{"data-testid":`user-edit-email-change-dialog`,children:[(0,k.jsxs)(oe,{children:[(0,k.jsx)(he,{children:(0,k.jsx)(i,{id:`userEdit.email.dialog.title`,message:`Change email`})}),(0,k.jsx)(me,{children:(0,k.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,k.jsx)(pt,{...l,children:(0,k.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:l.handleSubmit(e=>{r(e.newEmail)}),children:[(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsx)(ot,{className:`text-muted-foreground text-xs`,children:(0,k.jsx)(i,{id:`userEdit.email.dialog.currentLabel`,message:`Current email`})}),(0,k.jsx)(`p`,{className:`text-muted-foreground font-mono text-sm`,"data-testid":`user-edit-email-change-current`,children:n})]}),(0,k.jsx)(ct,{control:l.control,name:`newEmail`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`userEdit.email.dialog.newLabel`,message:`New email`})}),(0,k.jsx)(lt,{children:(0,k.jsx)(nt,{type:`email`,autoComplete:`email`,placeholder:s,disabled:a,"data-testid":`user-edit-email-change-input`,...e})}),(0,k.jsx)(ft,{})]})}),o?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`user-edit-email-change-error`,children:(0,k.jsx)(E,{children:c(o)})}):null,(0,k.jsxs)(Ce,{children:[(0,k.jsx)(ce,{disabled:a,"data-testid":`user-edit-email-change-cancel`,children:(0,k.jsx)(i,{id:`userEdit.email.dialog.cancel`,message:`Cancel`})}),(0,k.jsx)(se,{type:`submit`,disabled:a,"data-testid":`user-edit-email-change-submit`,children:a?(0,k.jsx)(i,{id:`userEdit.email.dialog.submit.pending`,message:`Sending…`}):(0,k.jsx)(i,{id:`userEdit.email.dialog.submit.idle`,message:`Send confirmation`})})]})]})})]})})}function wr(e){if(gt(e)===`CONFLICT`){let t=ht(e);if(t===`email_taken`)return $.emailTaken;if(t===`mailer_not_configured`)return $.mailerNotConfigured;if(t===`account_disabled`)return $.accountDisabled}return e instanceof Error?e.message:$.requestFallback}var Tr=`__keep__`;async function Er(e,t){await Promise.all([e.invalidateQueries({queryKey:a.user.get.queryOptions({input:{id:t}}).queryKey}),e.invalidateQueries({queryKey:a.user.list.key()})])}var Dr=Pe({name:Be(ze(),Ae(),Ie(100)),role:Re(Ke),meta:Me(ze(),Fe())});function Or(){let{id:e}=tt.useParams(),{user:t}=tt.useRouteContext(),n=e===t.id;function r(e){return!n&&He(t.capabilities,e)}let i=r(`user:promote`),o=r(`user:edit`),s=r(`user:delete`),c=r(`user:manage_tokens`),u=n?He(t.capabilities,`user:edit_own`):He(t.capabilities,`user:edit`),{data:d}=l(a.user.get.queryOptions({input:{id:e}}));return(0,k.jsx)(Ar,{target:d,isSelf:n,canPromote:i,canSave:u,canDisable:o,canDelete:s,canManageOtherTokens:c,metaBoxes:Oe(t.capabilities)},d.updatedAt instanceof Date?d.updatedAt.toISOString():String(d.updatedAt))}function kr({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,...t&&r.role!==e.role?{role:r.role}:{},meta:n.length>0?r.meta:void 0}),onMutate:()=>{i(null)},onSuccess:async()=>{await Er(r,e.id)},onError:e=>{i(Pr(e,Fr,et.errUpdateFallback))}})}function Ar({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,O.useState)(null),C=kr({target:e,canPromote:n,metaBoxes:l,queryClient:b,setServerError:S}),w=st({resolver:mt(Dr),defaultValues:{name:e.name??``,role:e.role,meta:ke(l,e.meta)}}),te=w.handleSubmit(e=>{C.mutate(e)}),ne=(0,k.jsx)(`bdi`,{children:e.email});return(0,k.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col gap-4`,children:[(0,k.jsxs)(d,{to:`/users`,search:Je,className:`text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-sm`,"data-testid":`user-edit-back-link`,children:[(0,k.jsx)(ee,{className:`size-4 rtl:rotate-180`}),(0,k.jsx)(i,{id:`userEdit.backToList`,message:`Back to users`})]}),(0,k.jsxs)($e,{children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(`h1`,{"data-testid":`user-edit-heading`,children:t?(0,k.jsx)(i,{id:`userEdit.title.self`,message:`Your profile`}):(0,k.jsx)(i,{id:`userEdit.title.other`,message:`Edit {email}`,values:{email:ne},comment:`email: the user being edited`})})}),(0,k.jsx)(Qe,{children:t?(0,k.jsx)(i,{id:`userEdit.description.self`,message:`Update your display name. Role and account state are managed by administrators.`}):(0,k.jsx)(i,{id:`userEdit.description.other`,message:`Update this account's details. Role changes invalidate existing sessions immediately.`})})]}),(0,k.jsx)(Ze,{children:(0,k.jsx)(pt,{...w,children:(0,k.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:te,children:[(0,k.jsx)(Sr,{userId:e.id,email:e.email,canEdit:r}),(0,k.jsx)(ct,{control:w.control,name:`name`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`userEdit.name.label`,message:`Name`})}),(0,k.jsx)(lt,{children:(0,k.jsx)(nt,{type:`text`,autoComplete:`name`,disabled:C.isPending||!r,"data-testid":`user-edit-name-input`,...e})}),(0,k.jsx)(ft,{})]})}),n?(0,k.jsx)(ct,{control:w.control,name:`role`,render:({field:e})=>(0,k.jsxs)(at,{children:[(0,k.jsx)(ut,{children:(0,k.jsx)(i,{id:`userEdit.role.label`,message:`Role`})}),(0,k.jsxs)(_,{value:e.value,onValueChange:t=>{qe(t)&&e.onChange(t)},disabled:C.isPending,children:[(0,k.jsx)(lt,{children:(0,k.jsx)(p,{className:`w-full`,onBlur:e.onBlur,"data-testid":`user-edit-role-select`,children:(0,k.jsx)(f,{})})}),(0,k.jsx)(m,{children:Ke.map(e=>(0,k.jsx)(h,{value:e,children:v(We[e])},e))})]}),(0,k.jsx)(ft,{})]})}):(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsx)(ot,{children:(0,k.jsx)(i,{id:`userEdit.role.label`,message:`Role`})}),(0,k.jsx)(de,{variant:`secondary`,className:`w-fit`,children:v(Ge[e.role])}),t?(0,k.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:(0,k.jsx)(i,{id:`userEdit.role.selfReadonly`,message:`Only another administrator can change your role.`})}):null]}),l.map(e=>(0,k.jsx)(yt,{box:e,basePath:`meta`,disabled:C.isPending||!r},e.id)),x?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`user-edit-server-error`,children:(0,k.jsx)(E,{children:v(x)})}):null,(0,k.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,k.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{g({to:`/users`,search:Je})},disabled:C.isPending,children:(0,k.jsx)(i,{id:`userEdit.cancel`,message:`Cancel`})}),(0,k.jsx)(y,{type:`submit`,disabled:C.isPending||!r,"data-testid":`user-edit-submit`,children:C.isPending?(0,k.jsx)(i,{id:`userEdit.submit.pending`,message:`Saving…`}):(0,k.jsx)(i,{id:`userEdit.submit.idle`,message:`Save changes`})})]})]})})})]}),a?(0,k.jsx)(jr,{target:e}):null,s?(0,k.jsx)(Nr,{target:e}):null,t?(0,k.jsx)(Pt,{userLocale:e.meta.locale}):null,t?(0,k.jsx)(Ft,{userEmail:e.email}):null,t?(0,k.jsx)(gr,{}):null,t?(0,k.jsx)(Et,{}):null,!t&&c?(0,k.jsx)(Dt,{userId:e.id}):null]})}function jr({target:e}){let t=T(),n=o(),[r,s]=(0,O.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 Er(n,e.id)},onError:e=>{s(Pr(e,Ir,et.errStatusFallback))}});return(0,k.jsxs)($e,{children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{children:(0,k.jsx)(i,{id:`userEdit.status.title`,message:`Account status`})}),(0,k.jsx)(Qe,{children:l?(0,k.jsx)(i,{id:`userEdit.status.description.disabled`,message:`Disabled accounts can't sign in. Re-enabling restores access; their passkey is still registered.`}):(0,k.jsx)(i,{id:`userEdit.status.description.active`,message:`Disabling signs the user out immediately and blocks future sign-ins. Their entries stay published.`})})]}),(0,k.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,k.jsx)(de,{variant:l?`destructive`:`secondary`,children:l?(0,k.jsx)(i,{id:`users.list.row.disabled`,message:`Disabled`}):(0,k.jsx)(i,{id:`users.list.row.active`,message:`Active`})}),(0,k.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(Mr(l,u.isPending))})]}),r?(0,k.jsx)(D,{variant:`destructive`,"data-testid":`user-status-error`,children:(0,k.jsx)(E,{children:t(r)})}):null]})]})}function Mr(e,t){return t?e?et.toggleEnabling:et.toggleDisabling:e?et.toggleEnable:et.toggleDisable}function Nr({target:e}){let t=u(),n=T(),r=o(),[l,d]=(0,O.useState)(!1),[g,v]=(0,O.useState)(null),[b,x]=(0,O.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:Je})},onError:e=>{x(Pr(e,Lr,et.errDeleteFallback))}}),ee=(0,k.jsx)(`bdi`,{children:e.email});return l?(0,k.jsxs)($e,{className:`border-destructive`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{className:`text-destructive`,children:(0,k.jsx)(i,{id:`userEdit.delete.confirm.title`,message:`Confirm delete: {email}`,values:{email:ee},comment:`email: the user account being deleted`})}),(0,k.jsx)(Qe,{children:(0,k.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,k.jsxs)(Ze,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsx)(ot,{htmlFor:`reassign-to`,children:(0,k.jsx)(i,{id:`userEdit.delete.reassign.label`,message:`Reassign entries to`})}),(0,k.jsxs)(_,{value:g==null?Tr:String(g),onValueChange:e=>{v(e===Tr?null:Number(e))},disabled:w.isPending||S.isPending,children:[(0,k.jsx)(p,{id:`reassign-to`,className:`w-full`,"data-testid":`user-delete-reassign-select`,children:(0,k.jsx)(f,{})}),(0,k.jsxs)(m,{children:[(0,k.jsx)(h,{value:Tr,children:n(et.reassignKeepAsIs)}),C.map(e=>(0,k.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,k.jsx)(D,{variant:`destructive`,"data-testid":`user-delete-error`,children:(0,k.jsx)(E,{children:n(b)})}):null,(0,k.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,k.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>{d(!1),v(null),x(null)},disabled:w.isPending,children:(0,k.jsx)(i,{id:`userEdit.cancel`,message:`Cancel`})}),(0,k.jsx)(y,{type:`button`,variant:`destructive`,onClick:()=>{w.mutate()},disabled:w.isPending,"data-testid":`user-delete-confirm-button`,children:w.isPending?(0,k.jsx)(i,{id:`userEdit.delete.confirm.pending`,message:`Deleting…`}):(0,k.jsx)(i,{id:`userEdit.delete.confirm.idle`,message:`Delete forever`})})]})]})]}):(0,k.jsxs)($e,{className:`border-destructive/50`,children:[(0,k.jsxs)(Xe,{children:[(0,k.jsx)(Ye,{className:`text-destructive`,children:(0,k.jsx)(i,{id:`userEdit.delete.title`,message:`Delete user`})}),(0,k.jsx)(Qe,{children:(0,k.jsx)(i,{id:`userEdit.delete.description`,message:`Permanent. Their entries stay, but you'll choose who inherits authorship.`})})]}),(0,k.jsx)(Ze,{children:(0,k.jsx)(y,{variant:`destructive`,onClick:()=>{d(!0)},"data-testid":`user-edit-delete-button`,children:(0,k.jsx)(i,{id:`userEdit.delete.button`,message:`Delete user`})})})]})}function Pr(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 Fr={last_admin:{id:`userEdit.error.lastAdmin.update`},email_taken:{id:`userEdit.error.emailTaken`}},Ir={last_admin:{id:`userEdit.error.lastAdmin.status`}},Lr={last_admin:{id:`userEdit.error.lastAdmin.delete`},has_entries:{id:`userEdit.error.hasEntries`},reassign_to_self:{id:`userEdit.error.reassignToSelf`}};export{Or as component};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{i as n,n as r,t as i}from"./card-L2-kK5VK.js";import{t as a}from"./skeleton-BnBM1862.js";var o=e(t(),1);function s({ariaLabel:e,testId:t}){return(0,o.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-label":e,"data-testid":t,className:`mx-auto flex w-full max-w-xl flex-col gap-4`,children:[(0,o.jsx)(a,{className:`h-4 w-24`}),(0,o.jsxs)(i,{children:[(0,o.jsxs)(n,{children:[(0,o.jsx)(a,{className:`h-6 w-48`}),(0,o.jsx)(a,{className:`h-4 w-72`})]}),(0,o.jsxs)(r,{className:`flex flex-col gap-4`,children:[(0,o.jsx)(a,{className:`h-10 w-full`}),(0,o.jsx)(a,{className:`h-10 w-full`}),(0,o.jsx)(a,{className:`h-10 w-full`})]})]})]})}export{s as t};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./utils-DKOQrNEG.js";import{t as r}from"./dist-B66OmIyr.js";var i=e(t(),1);function a({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`empty`,className:n(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,e),...t})}function o({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`empty-header`,className:n(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var s=r(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function c({className:e,variant:t=`default`,...r}){return(0,i.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:n(s({variant:t,className:e})),...r})}function l({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`empty-title`,className:n(`text-lg font-medium tracking-tight`,e),...t})}function u({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`empty-description`,className:n(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function d({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`empty-content`,className:n(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,e),...t})}export{c as a,o as i,d as n,l as o,u as r,a as t};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{a as n,i as r,o as i,r as a,t as o}from"./empty-p3QKoEqD.js";import{t as s}from"./triangle-alert-BpzHmkii.js";var c=e(t(),1);function l({title:e,description:t,testId:l}){return(0,c.jsx)(o,{className:`mx-auto my-12 max-w-2xl`,"data-testid":l,children:(0,c.jsxs)(r,{children:[(0,c.jsx)(n,{variant:`icon`,children:(0,c.jsx)(s,{})}),(0,c.jsx)(i,{role:`heading`,"aria-level":1,children:e}),(0,c.jsx)(a,{children:t})]})})}export{l as t};
@@ -0,0 +1 @@
1
+ var e=class e extends Error{static{e.prototype.name=`AdminPluginRegistryError`}code;registerName;key;type;blockName;constructor(e,t,n){super(t),this.code=e,this.registerName=n.registerName,this.key=n.key,this.type=n.type,this.blockName=n.blockName}static duplicateKey(t){return new e(`duplicate_key`,`${t.registerName}: "${t.key}" is already registered. Two plugins are claiming the same key; rename one.`,t)}static inputTypeReserved(t){return new e(`input_type_reserved`,`registerPluginFieldType: "${t.type}" is reserved for built-in renderers. Pick a different inputType for your custom field — see the host's RESERVED_INPUT_TYPES list.`,t)}static invalidBlockName(t){return new e(`invalid_block_name`,`registerPluginBlock: spec.name must be a namespaced string ("plugin/slug") to disambiguate from first-party blocks. Got: ${JSON.stringify(t.name)}`,{blockName:t.name})}static ssrWalkedAdminSpec(){return new e(`ssr_walked_admin_spec`,"Admin-only plugin block spec rendered on the SSR walker path. registries.ts contributions are admin-only; the runtime walker must source `component` from `@plumix/blocks` directly.",{})}};export{e as t};
@@ -0,0 +1,41 @@
1
+ import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{o as r}from"./dist-Dgy1ZZMQ.js";import{l as i,n as a}from"./dist-C4yHjFuP.js";var o=e(n(),1),s=e(t(),1),c=`focusScope.autoFocusOnMount`,l=`focusScope.autoFocusOnUnmount`,u={bubbles:!1,cancelable:!0},d=`FocusScope`,f=o.forwardRef((e,t)=>{let{loop:n=!1,trapped:d=!1,onMountAutoFocus:f,onUnmountAutoFocus:g,..._}=e,[v,x]=o.useState(null),S=a(f),w=a(g),T=o.useRef(null),E=r(t,x),D=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(d){let e=function(e){if(D.paused||!v)return;let t=e.target;v.contains(t)?T.current=t:y(T.current,{select:!0})},t=function(e){if(D.paused||!v)return;let t=e.relatedTarget;t!==null&&(v.contains(t)||y(T.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&y(v)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return v&&r.observe(v,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[d,v,D.paused]),o.useEffect(()=>{if(v){b.add(D);let e=document.activeElement;if(!v.contains(e)){let t=new CustomEvent(c,u);v.addEventListener(c,S),v.dispatchEvent(t),t.defaultPrevented||(p(C(h(v)),{select:!0}),document.activeElement===e&&y(v))}return()=>{v.removeEventListener(c,S),setTimeout(()=>{let t=new CustomEvent(l,u);v.addEventListener(l,w),v.dispatchEvent(t),t.defaultPrevented||y(e??document.body,{select:!0}),v.removeEventListener(l,w),b.remove(D)},0)}}},[v,S,w,D]);let O=o.useCallback(e=>{if(!n&&!d||D.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){let t=e.currentTarget,[i,a]=m(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n&&y(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n&&y(a,{select:!0})):r===t&&e.preventDefault()}},[n,d,D.paused]);return(0,s.jsx)(i.div,{tabIndex:-1,..._,ref:E,onKeyDown:O})});f.displayName=d;function p(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(y(r,{select:t}),document.activeElement!==n)return}function m(e){let t=h(e);return[g(t,e),g(t.reverse(),e)]}function h(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function g(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):_(r,{upTo:t})))return r}function _(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function v(e){return e instanceof HTMLInputElement&&`select`in e}function y(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&v(e)&&t&&e.select()}}var b=x();function x(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=S(e,t),e.unshift(t)},remove(t){e=S(e,t),e[0]?.resume()}}}function S(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function C(e){return e.filter(e=>e.tagName!==`A`)}var w=0,T=null;function E(){o.useEffect(()=>{T||={start:D(),end:D()};let{start:e,end:t}=T;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),w++,()=>{w===1&&(T?.start.remove(),T?.end.remove(),T=null),w=Math.max(0,w-1)}},[])}function D(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var O=function(){return O=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},O.apply(this,arguments)};function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function ee(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var A=`right-scroll-bar-position`,j=`width-before-scroll-bar`,te=`with-scroll-bars-hidden`,ne=`--removed-body-scroll-bar-size`;function M(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function re(e,t){var n=(0,o.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ie=typeof window<`u`?o.useLayoutEffect:o.useEffect,N=new WeakMap;function ae(e,t){var n=re(t||null,function(t){return e.forEach(function(e){return M(e,t)})});return ie(function(){var t=N.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||M(e,null)}),i.forEach(function(e){r.has(e)||M(e,a)})}N.set(n,e)},[e]),n}function oe(e){return e}function se(e,t){t===void 0&&(t=oe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function ce(e){e===void 0&&(e={});var t=se(null);return t.options=O({async:!0,ssr:!1},e),t}var le=function(e){var t=e.sideCar,n=k(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return o.createElement(r,O({},n))};le.isSideCarExport=!0;function ue(e,t){return e.useMedium(t),le}var de=ce(),P=function(){},F=o.forwardRef(function(e,t){var n=o.useRef(null),r=o.useState({onScrollCapture:P,onWheelCapture:P,onTouchMoveCapture:P}),i=r[0],a=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=k(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=ae([n,t]),w=O(O({},x),i);return o.createElement(o.Fragment,null,d&&o.createElement(S,{sideCar:de,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?o.cloneElement(o.Children.only(c),O(O({},w),{ref:C})):o.createElement(y,O({},w,{className:l,ref:C}),c))});F.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},F.classNames={fullWidth:j,zeroRight:A};var I,fe=function(){if(I)return I;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function pe(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=fe();return t&&e.setAttribute(`nonce`,t),e}function me(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function he(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ge=function(){var e=0,t=null;return{add:function(n){e==0&&(t=pe())&&(me(t,n),he(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},_e=function(){var e=ge();return function(t,n){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},L=function(){var e=_e();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},ve={left:0,top:0,right:0,gap:0},R=function(e){return parseInt(e||``,10)||0},ye=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[R(n),R(r),R(i)]},be=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return ve;var t=ye(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},xe=L(),z=`data-scroll-locked`,Se=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${te} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${z}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${A} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${j} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${A} .${A} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${j} .${j} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${z}] {
36
+ ${ne}: ${s}px;
37
+ }
38
+ `},B=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Ce=function(){o.useEffect(function(){return document.body.setAttribute(z,(B()+1).toString()),function(){var e=B()-1;e<=0?document.body.removeAttribute(z):document.body.setAttribute(z,e.toString())}},[])},we=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Ce();var a=o.useMemo(function(){return be(i)},[i]);return o.createElement(xe,{styles:Se(a,!t,i,n?``:`!important`)})},V=!1;if(typeof window<`u`)try{var H=Object.defineProperty({},"passive",{get:function(){return V=!0,!0}});window.addEventListener(`test`,H,H),window.removeEventListener(`test`,H,H)}catch{V=!1}var U=V?{passive:!1}:!1,Te=function(e){return e.tagName===`TEXTAREA`},W=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Te(e)&&n[t]===`visible`)},Ee=function(e){return W(e,`overflowY`)},De=function(e){return W(e,`overflowX`)},G=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),K(e,r)){var i=q(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Oe=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},ke=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},K=function(e,t){return e===`v`?Ee(t):De(t)},q=function(e,t){return e===`v`?Oe(t):ke(t)},Ae=function(e,t){return e===`h`&&t===`rtl`?-1:1},je=function(e,t,n,r,i){var a=Ae(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=q(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&K(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},J=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Me=function(e){return[e.deltaX,e.deltaY]},Ne=function(e){return e&&`current`in e?e.current:e},Pe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Fe=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},Ie=0,Y=[];function Le(e){var t=o.useRef([]),n=o.useRef([0,0]),r=o.useRef(),i=o.useState(Ie++)[0],a=o.useState(L)[0],s=o.useRef(e);o.useEffect(function(){s.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=ee([e.lockRef.current],(e.shards||[]).map(Ne),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=o.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=J(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=G(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=G(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return je(h,t,e,h===`h`?o:c,!0)},[]),l=o.useCallback(function(e){var n=e;if(!(!Y.length||Y[Y.length-1]!==a)){var r=`deltaY`in n?Me(n):J(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Pe(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var o=(s.current.shards||[]).map(Ne).filter(Boolean).filter(function(e){return e.contains(n.target)});(o.length>0?c(n,o[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=o.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Re(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=o.useCallback(function(e){n.current=J(e),r.current=void 0},[]),f=o.useCallback(function(t){u(t.type,Me(t),t.target,c(t,e.lockRef.current))},[]),p=o.useCallback(function(t){u(t.type,J(t),t.target,c(t,e.lockRef.current))},[]);o.useEffect(function(){return Y.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,U),document.addEventListener(`touchmove`,l,U),document.addEventListener(`touchstart`,d,U),function(){Y=Y.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,l,U),document.removeEventListener(`touchmove`,l,U),document.removeEventListener(`touchstart`,d,U)}},[]);var m=e.removeScrollBar,h=e.inert;return o.createElement(o.Fragment,null,h?o.createElement(a,{styles:Fe(i)}):null,m?o.createElement(we,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Re(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var ze=ue(de,Le),Be=o.forwardRef(function(e,t){return o.createElement(F,O({},e,{ref:t,sideCar:ze}))});Be.classNames=F.classNames;var Ve=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},X=new WeakMap,Z=new WeakMap,Q={},$=0,He=function(e){return e&&(e.host||He(e.parentNode))},Ue=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=He(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},We=function(e,t,n,r){var i=Ue(t,Array.isArray(e)?e:[e]);Q[n]||(Q[n]=new WeakMap);var a=Q[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(X.get(e)||0)+1,l=(a.get(e)||0)+1;X.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Z.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),$++,function(){o.forEach(function(e){var t=X.get(e)-1,i=a.get(e)-1;X.set(e,t),a.set(e,i),t||(Z.has(e)||e.removeAttribute(r),Z.delete(e)),i||e.removeAttribute(n)}),$--,$||(X=new WeakMap,X=new WeakMap,Z=new WeakMap,Q={})}},Ge=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Ve(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),We(r,i,n,`aria-hidden`)):function(){return null}};export{f as i,Be as n,E as r,Ge as t};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ var e=[1,2,3,4,5,6],t=e.map(e=>`h${e}`);export{t as n,e as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-C0O-yxZG.js";var t=e(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]);export{t};