@buildbase/sdk 0.0.88 → 0.0.90

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 (58) hide show
  1. package/AGENTS.md +7 -3
  2. package/CHANGELOG.md +515 -0
  3. package/README.md +120 -3
  4. package/dist/cli.mjs +1 -1
  5. package/dist/css/styles.css +1 -1
  6. package/dist/index.cjs +1 -1
  7. package/dist/index.d.ts +1351 -12
  8. package/dist/index.mjs +1 -1
  9. package/dist/mcp/index.cjs +1 -1
  10. package/dist/mcp/index.d.ts +120 -2
  11. package/dist/mcp/index.mjs +1 -1
  12. package/dist/react/chunks/SettingsDialog-BVyV5Zfm.mjs +2 -0
  13. package/dist/react/chunks/SettingsDialog-Ch8X6WXy.cjs +2 -0
  14. package/dist/react/chunks/{SubscriptionDialog-B8FTFRtp.cjs → SubscriptionDialog-CGIvMKpT.cjs} +1 -1
  15. package/dist/react/chunks/SubscriptionDialog-g0LwHhbe.mjs +2 -0
  16. package/dist/react/chunks/ar-3aqWucom.mjs +2 -0
  17. package/dist/react/chunks/ar-DQVB89r8.cjs +2 -0
  18. package/dist/react/chunks/de-DO10bhnU.cjs +2 -0
  19. package/dist/react/chunks/de-HXQk5D6k.mjs +2 -0
  20. package/dist/react/chunks/es-BZsmhBN3.mjs +2 -0
  21. package/dist/react/chunks/es-Cxg-qhUh.cjs +2 -0
  22. package/dist/react/chunks/fr-COCMy3vW.cjs +2 -0
  23. package/dist/react/chunks/fr-rdnNHzxy.mjs +2 -0
  24. package/dist/react/chunks/hi-BB0Z-Dgn.cjs +2 -0
  25. package/dist/react/chunks/hi-t3RH7ITu.mjs +2 -0
  26. package/dist/react/chunks/ja-CDyla2g0.mjs +2 -0
  27. package/dist/react/chunks/ja-D92JgUlk.cjs +2 -0
  28. package/dist/react/chunks/react-DTq7A_PT.mjs +2 -0
  29. package/dist/react/chunks/react-DeapSbq6.cjs +2 -0
  30. package/dist/react/chunks/zh-C5HABZZV.mjs +2 -0
  31. package/dist/react/chunks/zh-DK2yA5wB.cjs +2 -0
  32. package/dist/react/index.cjs +1 -1
  33. package/dist/react/index.d.ts +1517 -14
  34. package/dist/react/index.mjs +1 -1
  35. package/docs/ERROR_CODES.md +218 -0
  36. package/docs/THEMING.md +89 -21
  37. package/docs/UI-CONFIG.md +23 -4
  38. package/docs/USER-IMPORT.md +320 -0
  39. package/package.json +2 -1
  40. package/dist/react/chunks/SettingsDialog-CKVE1PpH.mjs +0 -2
  41. package/dist/react/chunks/SettingsDialog-DrDmxFEj.cjs +0 -2
  42. package/dist/react/chunks/SubscriptionDialog-UN7o9Hqb.mjs +0 -2
  43. package/dist/react/chunks/ar-B2l90OZJ.cjs +0 -2
  44. package/dist/react/chunks/ar-DVVNZhXD.mjs +0 -2
  45. package/dist/react/chunks/de-BspJtvAC.mjs +0 -2
  46. package/dist/react/chunks/de-dURUqbl0.cjs +0 -2
  47. package/dist/react/chunks/es-DArjREi5.cjs +0 -2
  48. package/dist/react/chunks/es-vu4BmI3g.mjs +0 -2
  49. package/dist/react/chunks/fr-DVm5WCvZ.mjs +0 -2
  50. package/dist/react/chunks/fr-DhYDaYrX.cjs +0 -2
  51. package/dist/react/chunks/hi-C_nv_c1T.cjs +0 -2
  52. package/dist/react/chunks/hi-VW8xCj_K.mjs +0 -2
  53. package/dist/react/chunks/ja-C-b88dvw.mjs +0 -2
  54. package/dist/react/chunks/ja-CqtDkLHr.cjs +0 -2
  55. package/dist/react/chunks/react-CHivaJhA.mjs +0 -2
  56. package/dist/react/chunks/react-Ch_Suxxy.cjs +0 -2
  57. package/dist/react/chunks/zh-D1yfhUf0.mjs +0 -2
  58. package/dist/react/chunks/zh-D_tMpsNt.cjs +0 -2
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import{Coins as n,ShieldAlert as i,ShoppingCart as s,RefreshCw as r,CheckCircle2 as c,History as l,Trash2 as o,Loader2 as d,CircleHelp as u,ExternalLink as m,ToggleRight as p,Smile as h,Upload as g,ImageIcon as f,Bell as b,BellOff as v,Lock as x,Mail as y,Smartphone as N,ChevronsUpDown as w,CheckCheck as S,Wallet as A,Link2 as C,Phone as T,KeyRound as k,Check as E,X as P,Pencil as M,MessageSquare as U,FileText as D,Download as R,AlertTriangle as I,Calendar as _,CreditCard as L,BarChart3 as G,TrashIcon as B,UserIcon as K,MonitorSmartphone as O,Bot as F,SettingsIcon as W,UsersIcon as V,Shield as j,Settings as z,ArrowLeft as H}from"lucide-react";import*as $ from"react";import Z,{useCallback as q,useState as Y,useEffect as J,useMemo as X,useRef as Q,useId as ee,Suspense as ae,lazy as te}from"react";import{u as ne,a as ie,b as se,c as re,d as ce,e as le,f as oe,g as de,S as ue,h as me,i as pe,j as he,C as ge,p as fe,D as be,k as ve,l as xe,m as ye,n as Ne,B as we,o as Se,q as Ae,r as Ce,s as Te,t as ke,P as Ee,v as Pe,w as Me,x as Ue,y as De,z as Re,A as Ie,E as _e,F as Le,G as Ge,H as Be,L as Ke,I as Oe,J as Fe,K as We,M as Ve,N as je,O as ze,Q as He,R as $e,T as Ze,U as qe,V as Ye,W as Je,X as Xe,Y as Qe,Z as ea,_ as aa,$ as ta,a0 as na,a1 as ia,a2 as sa,a3 as ra,a4 as ca,a5 as la,a6 as oa,a7 as da,a8 as ua,a9 as ma,aa as pa,ab as ha,ac as ga,ad as fa,ae as ba,af as va,ag as xa,ah as ya,ai as Na,aj as wa,ak as Sa,al as Aa,am as Ca,an as Ta,ao as ka,ap as Ea,aq as Pa,ar as Ma,as as Ua,at as Da,au as Ra,av as Ia,aw as _a,ax as La,ay as Ga,az as Ba,aA as Ka,aB as Oa,aC as Fa,aD as Wa,aE as Va,aF as ja,aG as za,aH as Ha,aI as $a,aJ as Za,aK as qa,aL as Ya,aM as Ja,aN as Xa,aO as Qa,aP as et,aQ as at,aR as tt,aS as nt,aT as it,aU as st,aV as rt,aW as ct,aX as lt,aY as ot,aZ as dt,a_ as ut,a$ as mt,b0 as pt,b1 as ht,b2 as gt,b3 as ft,b4 as bt,b5 as vt,b6 as xt,b7 as yt,b8 as Nt,b9 as wt,ba as St,bb as At,bc as Ct,bd as Tt,be as kt,bf as Et,bg as Pt,bh as Mt,bi as Ut,bj as Dt,bk as Rt,bl as It,bm as _t,bn as Lt,bo as Gt,bp as Bt,bq as Kt,br as Ot}from"./react-DTq7A_PT.mjs";import*as Ft from"@radix-ui/react-switch";import{zodResolver as Wt}from"@hookform/resolvers/zod";import{useForm as Vt}from"react-hook-form";import{z as jt}from"zod";import{MagnifyingGlassIcon as zt,CaretSortIcon as Ht,CheckIcon as $t}from"@radix-ui/react-icons";import{Command as Zt}from"cmdk";import*as qt from"@radix-ui/react-select";import{SelectValue as Yt}from"@radix-ui/react-select";async function Jt(e,a){await e.cancelAccountDeletion(),a()}const Xt=e=>e.session?.user.deleteAfter;function Qt(){const e=ne(Xt),a=ie(),t=q(e=>{const t=a.getState().session;if(!t)return;const n=function(e,a){const t=a||void 0;if(e.deleteAfter===t)return e;const{deleteAfter:n,...i}=e;return t?{...i,deleteAfter:t}:i}(t.user,e);n!==t.user&&a.dispatch(se.setSession({...t,user:n}))},[a]);return[e,t]}const en=({date:t,status:n,onCancel:i,className:s})=>{const{t:r}=re();return"cancelled"===n.kind?e(ue,{variant:"success",title:r("settings.common.success"),message:r("security.deleteAccountCancelled"),className:s}):t?a("div",{className:me("space-y-2",s),children:[e(ue,{variant:"warning",message:r("security.deleteAccountNotice",{date:t}),actionLabel:r("security.deleteAccountCancel"),onAction:i,actionProgress:"cancelling"===n.kind}),"failed"===n.kind&&e(ue,{variant:"error",title:r("settings.common.error"),message:n.message})]}):null},an=({className:a})=>{const{t:t,formattingLocale:n}=re(),i=ce(),{api:s}=le(),[r,c]=Qt(),[l,o]=Y({kind:"idle"}),d=oe();if(J(()=>{r&&o(e=>"idle"===e.kind?e:{kind:"idle"})},[r]),!1===i.settings?.security?.deleteAccount)return null;const u=r?de(r,n,i.formats?.date??{dateStyle:"long"}):void 0;return e(en,{date:u,status:l,onCancel:async function(){o({kind:"cancelling"});try{await Jt(s,()=>c(void 0)),o({kind:"cancelled"}),d(()=>o({kind:"idle"}))}catch(e){pe(e,{component:"ScheduledDeletionNotice",action:"cancelAccountDeletion"}),o({kind:"failed",message:he(e,t)})}},className:a})},tn=()=>e(ge,{title:null});const nn={USD:"$",EUR:"€",JPY:"¥",GBP:"£",AUD:"A$",CAD:"C$",CHF:"CHF",CNY:"¥",SEK:"kr",NZD:"NZ$",INR:"₹",RUB:"₽",KRW:"₩",BRL:"R$",ZAR:"R",HKD:"HK$",SGD:"S$",MXN:"Mex$",NOK:"kr",TRY:"₺",IDR:"Rp",PLN:"zł",THB:"฿",ILS:"₪",PHP:"₱",MYR:"RM",CZK:"Kč",HUF:"Ft",DKK:"kr",PKR:"₨",EGP:"£",NGN:"₦",BDT:"৳",UAH:"₴",KZT:"₸",VND:"₫",ARS:"$",BGN:"лв",COP:"COL$",HRK:"kn",ISK:"kr",KES:"KSh",LKR:"Rs",MAD:"د.م.",MNT:"₮",NPR:"रू",RSD:"дин.",SAR:"ر.س",TWD:"NT$",UYU:"$U",YER:"﷼",FJD:"FJ$",JMD:"J$",HTG:"G",BHD:"ب.د",KWD:"د.ك",OMR:"ر.ع.",BND:"B$",KPW:"₩",GHS:"₵",SYP:"ل.س",SLL:"Le",SSP:"£",AFN:"؋",MGA:"Ar",MDL:"lei",FOK:"kr",GMD:"D",LTL:"Lt",LVL:"Ls",HNL:"L",GEL:"₾",BMD:"$",AWG:"Afl",BTN:"Nu",GTQ:"Q",TZS:"TSh",BBD:"Bds$",NAD:"N$",BZD:"$",JEP:"£",WST:"T",PGK:"K",KGS:"лв",AZN:"₼",QAR:"ر.ق",XOF:"CFA",XPF:"CFP"},sn={AF:"AFN",AX:"EUR",AL:"ALL",DZ:"DZD",AS:"USD",AD:"EUR",AO:"AOA",AI:"XCD",AQ:"USD",AG:"XCD",AR:"ARS",AM:"AMD",AW:"AWG",AU:"AUD",AT:"EUR",AZ:"AZN",BS:"BSD",BH:"BHD",BD:"BDT",BB:"BBD",BY:"BYN",BE:"EUR",BZ:"BZD",BJ:"XOF",BM:"BMD",BT:"BTN",BO:"BOB",BA:"BAM",BW:"BWP",BV:"NOK",BR:"BRL",IO:"USD",BN:"BND",BG:"BGN",BF:"XOF",BI:"BIF",KH:"KHR",CM:"XAF",CA:"CAD",CV:"CVE",KY:"KYD",CF:"XAF",TD:"XAF",CL:"CLP",CN:"CNY",CX:"AUD",CC:"AUD",CO:"COP",KM:"KMF",CG:"XAF",CD:"CDF",CK:"NZD",CR:"CRC",CI:"XOF",HR:"HRK",CU:"CUP",CY:"EUR",CZ:"CZK",DK:"DKK",DJ:"DJF",DM:"XCD",DO:"DOP",EC:"USD",EG:"EGP",SV:"USD",GQ:"XAF",ER:"ERN",EE:"EUR",ET:"ETB",FK:"FKP",FO:"DKK",FJ:"FJD",FI:"EUR",FR:"EUR",GF:"EUR",PF:"XPF",TF:"EUR",GA:"XAF",GM:"GMD",GE:"GEL",DE:"EUR",GH:"GHS",GI:"GIP",GR:"EUR",GL:"DKK",GD:"XCD",GP:"EUR",GU:"USD",GT:"GTQ",GG:"GBP",GN:"GNF",GW:"XOF",GY:"GYD",HT:"HTG",HM:"AUD",VA:"EUR",HN:"HNL",HK:"HKD",HU:"HUF",IS:"ISK",IN:"INR",ID:"IDR",IR:"IRR",IQ:"IQD",IE:"EUR",IM:"GBP",IL:"ILS",IT:"EUR",JM:"JMD",JP:"JPY",JE:"GBP",JO:"JOD",KZ:"KZT",KE:"KES",KI:"AUD",KP:"KPW",KR:"KRW",KW:"KWD",KG:"KGS",LA:"LAK",LV:"EUR",LB:"LBP",LS:"LSL",LR:"LRD",LY:"LYD",LI:"CHF",LT:"EUR",LU:"EUR",MO:"MOP",MK:"MKD",MG:"MGA",MW:"MWK",MY:"MYR",MV:"MVR",ML:"XOF",MT:"EUR",MH:"USD",MQ:"EUR",MR:"MRU",MU:"MUR",YT:"EUR",MX:"MXN",FM:"USD",MD:"MDL",MC:"EUR",MN:"MNT",ME:"EUR",MS:"XCD",MA:"MAD",MZ:"MZN",MM:"MMK",NA:"NAD",NR:"AUD",NP:"NPR",NL:"EUR",AN:"ANG",NC:"XPF",NZ:"NZD",NI:"NIO",NE:"XOF",NG:"NGN",NU:"NZD",NF:"AUD",MP:"USD",NO:"NOK",OM:"OMR",PK:"PKR",PW:"USD",PS:"ILS",PA:"PAB",PG:"PGK",PY:"PYG",PE:"PEN",PH:"PHP",PN:"NZD",PL:"PLN",PT:"EUR",PR:"USD",QA:"QAR",RE:"EUR",RO:"RON",RU:"RUB",RW:"RWF",SH:"SHP",KN:"XCD",LC:"XCD",PM:"EUR",VC:"XCD",WS:"WST",SM:"EUR",ST:"STN",SA:"SAR",SN:"XOF",RS:"RSD",SC:"SCR",SL:"SLL",SG:"SGD",SK:"EUR",SI:"EUR",SB:"SBD",SO:"SOS",ZA:"ZAR",GS:"GBP",ES:"EUR",LK:"LKR",SD:"SDG",SR:"SRD",SJ:"NOK",SZ:"SZL",SE:"SEK",CH:"CHF",SY:"SYP",TW:"TWD",TJ:"TJS",TZ:"TZS",TH:"THB",TL:"USD",TG:"XOF",TK:"NZD",TO:"TOP",TT:"TTD",TN:"TND",TR:"TRY",TM:"TMT",TC:"USD",TV:"AUD",UG:"UGX",UA:"UAH",AE:"AED",GB:"GBP",US:"USD",UM:"USD",UY:"UYU",UZ:"UZS",VU:"VUV",VE:"VES",VN:"VND",VG:"USD",VI:"USD",WF:"XPF",EH:"MAD",YE:"YER",ZM:"ZMW",ZW:"ZWG"};function rn(e){return sn[e.toUpperCase()]??null}const cn=[{name:"Afghanistan",code:"AF"},{name:"land Islands",code:"AX"},{name:"Albania",code:"AL"},{name:"Algeria",code:"DZ"},{name:"American Samoa",code:"AS"},{name:"AndorrA",code:"AD"},{name:"Angola",code:"AO"},{name:"Anguilla",code:"AI"},{name:"Antarctica",code:"AQ"},{name:"Antigua and Barbuda",code:"AG"},{name:"Argentina",code:"AR"},{name:"Armenia",code:"AM"},{name:"Aruba",code:"AW"},{name:"Australia",code:"AU"},{name:"Austria",code:"AT"},{name:"Azerbaijan",code:"AZ"},{name:"Bahamas",code:"BS"},{name:"Bahrain",code:"BH"},{name:"Bangladesh",code:"BD"},{name:"Barbados",code:"BB"},{name:"Belarus",code:"BY"},{name:"Belgium",code:"BE"},{name:"Belize",code:"BZ"},{name:"Benin",code:"BJ"},{name:"Bermuda",code:"BM"},{name:"Bhutan",code:"BT"},{name:"Bolivia",code:"BO"},{name:"Bosnia and Herzegovina",code:"BA"},{name:"Botswana",code:"BW"},{name:"Bouvet Island",code:"BV"},{name:"Brazil",code:"BR"},{name:"British Indian Ocean Territory",code:"IO"},{name:"Brunei Darussalam",code:"BN"},{name:"Bulgaria",code:"BG"},{name:"Burkina Faso",code:"BF"},{name:"Burundi",code:"BI"},{name:"Cambodia",code:"KH"},{name:"Cameroon",code:"CM"},{name:"Canada",code:"CA"},{name:"Cape Verde",code:"CV"},{name:"Cayman Islands",code:"KY"},{name:"Central African Republic",code:"CF"},{name:"Chad",code:"TD"},{name:"Chile",code:"CL"},{name:"China",code:"CN"},{name:"Christmas Island",code:"CX"},{name:"Cocos (Keeling) Islands",code:"CC"},{name:"Colombia",code:"CO"},{name:"Comoros",code:"KM"},{name:"Congo",code:"CG"},{name:"Congo, The Democratic Republic of the",code:"CD"},{name:"Cook Islands",code:"CK"},{name:"Costa Rica",code:"CR"},{name:"Cote D Ivoire",code:"CI"},{name:"Croatia",code:"HR"},{name:"Cuba",code:"CU"},{name:"Cyprus",code:"CY"},{name:"Czech Republic",code:"CZ"},{name:"Denmark",code:"DK"},{name:"Djibouti",code:"DJ"},{name:"Dominica",code:"DM"},{name:"Dominican Republic",code:"DO"},{name:"Ecuador",code:"EC"},{name:"Egypt",code:"EG"},{name:"El Salvador",code:"SV"},{name:"Equatorial Guinea",code:"GQ"},{name:"Eritrea",code:"ER"},{name:"Estonia",code:"EE"},{name:"Ethiopia",code:"ET"},{name:"Falkland Islands (Malvinas)",code:"FK"},{name:"Faroe Islands",code:"FO"},{name:"Fiji",code:"FJ"},{name:"Finland",code:"FI"},{name:"France",code:"FR"},{name:"French Guiana",code:"GF"},{name:"French Polynesia",code:"PF"},{name:"French Southern Territories",code:"TF"},{name:"Gabon",code:"GA"},{name:"Gambia",code:"GM"},{name:"Georgia",code:"GE"},{name:"Germany",code:"DE"},{name:"Ghana",code:"GH"},{name:"Gibraltar",code:"GI"},{name:"Greece",code:"GR"},{name:"Greenland",code:"GL"},{name:"Grenada",code:"GD"},{name:"Guadeloupe",code:"GP"},{name:"Guam",code:"GU"},{name:"Guatemala",code:"GT"},{name:"Guernsey",code:"GG"},{name:"Guinea",code:"GN"},{name:"Guinea-Bissau",code:"GW"},{name:"Guyana",code:"GY"},{name:"Haiti",code:"HT"},{name:"Heard Island and Mcdonald Islands",code:"HM"},{name:"Holy See (Vatican City State)",code:"VA"},{name:"Honduras",code:"HN"},{name:"Hong Kong",code:"HK"},{name:"Hungary",code:"HU"},{name:"Iceland",code:"IS"},{name:"India",code:"IN"},{name:"Indonesia",code:"ID"},{name:"Iran, Islamic Republic Of",code:"IR"},{name:"Iraq",code:"IQ"},{name:"Ireland",code:"IE"},{name:"Isle of Man",code:"IM"},{name:"Israel",code:"IL"},{name:"Italy",code:"IT"},{name:"Jamaica",code:"JM"},{name:"Japan",code:"JP"},{name:"Jersey",code:"JE"},{name:"Jordan",code:"JO"},{name:"Kazakhstan",code:"KZ"},{name:"Kenya",code:"KE"},{name:"Kiribati",code:"KI"},{name:'Korea, Democratic People"S Republic of',code:"KP"},{name:"Korea, Republic of",code:"KR"},{name:"Kuwait",code:"KW"},{name:"Kyrgyzstan",code:"KG"},{name:'Lao People"S Democratic Republic',code:"LA"},{name:"Latvia",code:"LV"},{name:"Lebanon",code:"LB"},{name:"Lesotho",code:"LS"},{name:"Liberia",code:"LR"},{name:"Libyan Arab Jamahiriya",code:"LY"},{name:"Liechtenstein",code:"LI"},{name:"Lithuania",code:"LT"},{name:"Luxembourg",code:"LU"},{name:"Macao",code:"MO"},{name:"Macedonia, The Former Yugoslav Republic of",code:"MK"},{name:"Madagascar",code:"MG"},{name:"Malawi",code:"MW"},{name:"Malaysia",code:"MY"},{name:"Maldives",code:"MV"},{name:"Mali",code:"ML"},{name:"Malta",code:"MT"},{name:"Marshall Islands",code:"MH"},{name:"Martinique",code:"MQ"},{name:"Mauritania",code:"MR"},{name:"Mauritius",code:"MU"},{name:"Mayotte",code:"YT"},{name:"Mexico",code:"MX"},{name:"Micronesia, Federated States of",code:"FM"},{name:"Moldova, Republic of",code:"MD"},{name:"Monaco",code:"MC"},{name:"Mongolia",code:"MN"},{name:"Montenegro",code:"ME"},{name:"Montserrat",code:"MS"},{name:"Morocco",code:"MA"},{name:"Mozambique",code:"MZ"},{name:"Myanmar",code:"MM"},{name:"Namibia",code:"NA"},{name:"Nauru",code:"NR"},{name:"Nepal",code:"NP"},{name:"Netherlands",code:"NL"},{name:"Netherlands Antilles",code:"AN"},{name:"New Caledonia",code:"NC"},{name:"New Zealand",code:"NZ"},{name:"Nicaragua",code:"NI"},{name:"Niger",code:"NE"},{name:"Nigeria",code:"NG"},{name:"Niue",code:"NU"},{name:"Norfolk Island",code:"NF"},{name:"Northern Mariana Islands",code:"MP"},{name:"Norway",code:"NO"},{name:"Oman",code:"OM"},{name:"Pakistan",code:"PK"},{name:"Palau",code:"PW"},{name:"Palestinian Territory, Occupied",code:"PS"},{name:"Panama",code:"PA"},{name:"Papua New Guinea",code:"PG"},{name:"Paraguay",code:"PY"},{name:"Peru",code:"PE"},{name:"Philippines",code:"PH"},{name:"Pitcairn",code:"PN"},{name:"Poland",code:"PL"},{name:"Portugal",code:"PT"},{name:"Puerto Rico",code:"PR"},{name:"Qatar",code:"QA"},{name:"Reunion",code:"RE"},{name:"Romania",code:"RO"},{name:"Russian Federation",code:"RU"},{name:"RWANDA",code:"RW"},{name:"Saint Helena",code:"SH"},{name:"Saint Kitts and Nevis",code:"KN"},{name:"Saint Lucia",code:"LC"},{name:"Saint Pierre and Miquelon",code:"PM"},{name:"Saint Vincent and the Grenadines",code:"VC"},{name:"Samoa",code:"WS"},{name:"San Marino",code:"SM"},{name:"Sao Tome and Principe",code:"ST"},{name:"Saudi Arabia",code:"SA"},{name:"Senegal",code:"SN"},{name:"Serbia",code:"RS"},{name:"Seychelles",code:"SC"},{name:"Sierra Leone",code:"SL"},{name:"Singapore",code:"SG"},{name:"Slovakia",code:"SK"},{name:"Slovenia",code:"SI"},{name:"Solomon Islands",code:"SB"},{name:"Somalia",code:"SO"},{name:"South Africa",code:"ZA"},{name:"South Georgia and the South Sandwich Islands",code:"GS"},{name:"Spain",code:"ES"},{name:"Sri Lanka",code:"LK"},{name:"Sudan",code:"SD"},{name:"Suriname",code:"SR"},{name:"Svalbard and Jan Mayen",code:"SJ"},{name:"Swaziland",code:"SZ"},{name:"Sweden",code:"SE"},{name:"Switzerland",code:"CH"},{name:"Syrian Arab Republic",code:"SY"},{name:"Taiwan, Province of China",code:"TW"},{name:"Tajikistan",code:"TJ"},{name:"Tanzania, United Republic of",code:"TZ"},{name:"Thailand",code:"TH"},{name:"Timor-Leste",code:"TL"},{name:"Togo",code:"TG"},{name:"Tokelau",code:"TK"},{name:"Tonga",code:"TO"},{name:"Trinidad and Tobago",code:"TT"},{name:"Tunisia",code:"TN"},{name:"Turkey",code:"TR"},{name:"Turkmenistan",code:"TM"},{name:"Turks and Caicos Islands",code:"TC"},{name:"Tuvalu",code:"TV"},{name:"Uganda",code:"UG"},{name:"Ukraine",code:"UA"},{name:"United Arab Emirates",code:"AE"},{name:"United Kingdom",code:"GB"},{name:"United States",code:"US"},{name:"United States Minor Outlying Islands",code:"UM"},{name:"Uruguay",code:"UY"},{name:"Uzbekistan",code:"UZ"},{name:"Vanuatu",code:"VU"},{name:"Venezuela",code:"VE"},{name:"Viet Nam",code:"VN"},{name:"Virgin Islands, British",code:"VG"},{name:"Virgin Islands, U.S.",code:"VI"},{name:"Wallis and Futuna",code:"WF"},{name:"Western Sahara",code:"EH"},{name:"Yemen",code:"YE"},{name:"Zambia",code:"ZM"},{name:"Zimbabwe",code:"ZW"}].map(e=>{const a=sn[e.code]||"USD",t=nn[a]||"";return{value:e.code,flag:(n=e.code,n.toUpperCase().replace(/./g,e=>String.fromCodePoint(127397+e.charCodeAt(0)))),text:e.name,currencyCode:a,currencyIcon:t};var n});function ln(e){const a="undefined"==typeof navigator?[]:navigator.languages?.length?navigator.languages:navigator.language?[navigator.language]:[];for(const e of a){const a=on(e),t=a?rn(a):null;if(t)return t.toLowerCase()}return null}function on(e){try{const a=new Intl.Locale(e);return a.region??a.maximize().region??null}catch{return null}}const dn=({open:t,onOpenChange:i,packages:s,billingCurrency:r,workspaceName:c,onSelectPackage:l,purchasingPackageId:o,loading:d=!1})=>{const{t:u,dir:m,fmtNum:p,fmtCents:h,formattingLocale:g}=re(),f=X(()=>{const e=new Set;return s.forEach(a=>{a.pricingVariants?.forEach(a=>{a.currency&&e.add(a.currency.toLowerCase())})}),Array.from(e)},[s]),b=X(()=>{const e=r?.trim().toLowerCase();return e?f.includes(e)?[e]:[]:f},[r,f]),[v,x]=Y(()=>fe(b,[ln()])),y=r?.trim().toLowerCase()||v,N=d||!!o;return e(be,{open:t,onOpenChange:i,children:a(ve,{dir:m,className:"inset-0 w-screen h-screen max-w-none rounded-none translate-x-0 translate-y-0 p-0 flex flex-col",children:[a("div",{className:"flex-shrink-0 px-4 py-4 sm:px-6 sm:py-6 border-b space-y-3 sm:space-y-4",children:[a("div",{children:[e(xe,{className:"text-xl font-semibold",children:u("credits.dialogTitle")}),a(ye,{className:"mt-1 text-sm",children:[u("credits.dialogDescription"),c&&e("span",{className:"ms-1 font-medium text-foreground",children:u("credits.dialogDescriptionWorkspace",{workspace:c})})]})]}),!r?.trim()&&b.length>1&&a("div",{className:"flex items-center gap-2",children:[e("span",{className:"text-sm text-muted-foreground",children:u("pricing.currency")}),e("div",{className:"flex gap-1 rounded-lg border border-border bg-muted/30 p-1",children:b.map(e=>a("button",{type:"button",onClick:()=>x(e),className:me("rounded-md px-3 py-1.5 text-sm font-medium transition-colors",y===e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[Ne(e)," ",e.toUpperCase()]},e))})]})]}),e("div",{className:"flex-1 overflow-y-auto",children:0===s.length?a("div",{className:"flex flex-col items-center justify-center py-16 text-muted-foreground/70",children:[e(n,{className:"h-12 w-12 mb-3"}),e("p",{className:"text-sm",children:u("credits.noPackages")})]}):e("div",{className:"max-w-2xl mx-auto px-4 py-6 sm:px-6 space-y-4",children:s.map(t=>{const i=t.pricingVariants?.find(e=>e.currency?.toLowerCase()===y)??t.pricingVariants?.[0],s=i?.amount,r=i?.currency??y,c=o===t._id,d=null!=s&&s>0&&t.creditAmount>0?function(e,a,t){const n=Math.round(e);if(n>=1)return Se(n,a,t);const i=Ae(a),s=e/10**i,r=Math.min(i+4,Math.max(i,Math.ceil(-Math.log10(s))+1));try{return new Intl.NumberFormat(t,{style:"currency",currency:a.trim().toUpperCase(),minimumFractionDigits:r,maximumFractionDigits:r}).format(s)}catch{return Ne(a)+s.toFixed(r)}}(s/t.creditAmount,r,g):null;return a("div",{className:me("rounded-xl border p-5 sm:p-6 flex flex-col sm:flex-row sm:items-center gap-4 transition-all",c?"border-primary bg-primary/5 shadow-md":"border-border hover:border-border hover:shadow-sm"),children:[a("div",{className:"flex-1 min-w-0",children:[a("div",{className:"flex items-center gap-2 mb-1",children:[e("h3",{className:"text-lg font-semibold text-foreground",children:t.name}),a("span",{className:"inline-flex items-center gap-1 rounded-full bg-info/10 px-2.5 py-0.5 text-xs font-medium text-info",children:[e(n,{className:"h-3.5 w-3.5"}),u("credits.creditsAmount",{count:p(t.creditAmount)})]})]}),t.description&&e("p",{className:"text-sm text-muted-foreground mb-2",children:t.description}),a("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground/70",children:[e("span",{children:t.validityDays?u("credits.validityDays",{count:t.validityDays}):u("credits.validityUnlimited")}),null!=d&&e("span",{children:u("credits.perCredit",{price:d})})]})]}),a("div",{className:"flex items-center gap-4 sm:flex-col sm:items-end sm:gap-2 shrink-0",children:[null!=s&&e("span",{className:"text-2xl sm:text-3xl font-bold text-foreground whitespace-nowrap",children:h(s,r)}),e(we,{size:"sm",onClick:()=>l(t),disabled:N,progress:c,className:"whitespace-nowrap",children:c?u("credits.purchasing"):u("credits.buyAmount",{count:p(t.creditAmount)})})]})]},t._id)})})})]})})},un=({titleKey:t,descriptionKey:n})=>{const{t:s}=re();return e("div",{className:"border border-warning/20 bg-warning/10 rounded-lg p-4",children:a("div",{className:"flex items-start gap-3",children:[e(i,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),a("div",{children:[e("h4",{className:"text-sm font-medium text-warning",children:s(t??"settings.common.noPermissionTitle")}),e("p",{className:"text-xs text-warning/80 mt-1",children:s(n??"settings.common.noPermissionDescription")})]})]})})};function mn(){return a("div",{className:"space-y-3.5",children:[e(Ce,{className:"h-10 w-full"}),e(Ce,{className:"h-10 w-full"}),e(Ce,{className:"h-10 w-full"})]})}const pn={[je.PlanGrant]:"credits.type.plan_grant",[je.PackPurchased]:"credits.type.pack_purchased",[je.Consumed]:"credits.type.consumed",[je.Expired]:"credits.type.expired",[je.AdminGrant]:"credits.type.admin_grant",[je.AdminRevoke]:"credits.type.admin_revoke",[je.Refund]:"credits.type.refund"};const hn=({workspace:i})=>{const o=i._id?.toString(),{t:d,fmtNum:u}=re(),{can:m}=Te(),{visible:p}=ke(),h=p(e=>e.settings?.credits?.transactions),g=m(Ee.WORKSPACE_BILLING_VIEW),f=p(e=>e.settings?.credits?.buyButton,Ee.WORKSPACE_BILLING_MANAGE),{balance:b,loading:v,error:x,refetch:y}=Pe(),{packages:N,loading:w}=Me(o),{expiringCredits:S,loading:A}=Ue(o,7),[C,T]=Y(1),{transactions:k,hasNextPage:E,loading:P,refetch:M}=De(o,{limit:10,page:C}),[U,D]=Y([]);J(()=>{P||0===k.length||D(1===C?k:e=>{const a=new Set(e.map(e=>e._id)),t=k.filter(e=>!a.has(e._id));return t.length>0?[...e,...t]:e})},[k,C,P]);const R=q(()=>{E&&!P&&T(e=>e+1)},[E,P]),I=U,{purchaseCredits:_,loading:L}=Re(o),[G,B]=Y(!1),[K,O]=Y(null),[F,W]=Y(!1),[V,j]=Y(!1),[z,H]=Y(null),[$,Z]=Y(!1),X=Q(!1),ee=v&&!b;J(()=>{if(X.current)return;const e=Ie.getState();if(!e.params?.action)return;if(e.params.action===_e.OpenCreditStore)return X.current=!0,Ie.clearParams(),void Z(!0);if(e.params.action!==_e.CreditPurchase)return;X.current=!0;const a=e.params.status;if(Ie.clearParams(),a===Le.Success){W(!0),Ge();const e=setTimeout(()=>W(!1),8e3);return()=>clearTimeout(e)}if(a===Le.Cancel){j(!0);const e=setTimeout(()=>j(!1),5e3);return()=>clearTimeout(e)}a===Le.Error&&O(d("credits.purchaseFailed"))},[]);if(ee)return e(mn,{});if(!g)return e(un,{});if(!o)return e("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e("p",{children:d("subscription.invalidWorkspace")})});const ae=!w&&N.length>0;return a("div",{className:"space-y-4",children:[a("div",{className:"space-y-3",children:[e("p",{className:"text-sm text-muted-foreground",children:d("credits.description")}),a("div",{className:"flex flex-wrap items-center gap-2",children:[ae&&f&&a(we,{size:"sm",onClick:()=>Z(!0),children:[e(s,{className:"h-3.5 w-3.5 me-1.5"}),d("credits.buyCredits")]}),a(we,{variant:"ghost",size:"sm",onClick:async()=>{B(!0);try{await y()}finally{B(!1)}},disabled:G,children:[e(r,{className:me("h-3.5 w-3.5 me-1.5",G&&"animate-spin")}),d("settings.common.refreshAction",{loading:String(G)})]})]})]}),x&&e(ue,{variant:"error",title:d("credits.errorLoading"),message:x}),F&&e(ue,{variant:"success",icon:e(c,{className:"h-4 w-4 flex-shrink-0"}),title:d("credits.purchaseSuccess"),actionLabel:d("settings.common.dismiss"),onAction:()=>W(!1)}),V&&e(ue,{variant:"warning",title:d("credits.purchaseCanceled"),actionLabel:d("settings.common.dismiss"),onAction:()=>j(!1)}),K&&e(ue,{variant:"error",message:K,actionLabel:d("settings.common.dismiss"),onAction:()=>O(null)}),a("div",{className:"border border-border rounded-lg overflow-hidden",children:[a("div",{className:"bg-muted/30 p-4 sm:p-5",children:[a("div",{className:"flex items-center justify-between mb-3",children:[e("h3",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wider",children:d("credits.balance")}),e(n,{className:"h-5 w-5 text-muted-foreground/70"})]}),b?a(t,{children:[e("div",{className:"text-3xl font-bold text-foreground mb-4",children:u(b.available)}),a("div",{className:"grid grid-cols-2 gap-3",children:[a("div",{children:[e("p",{className:"text-xs text-muted-foreground",children:d("credits.totalGranted")}),e("p",{className:"text-sm font-medium text-foreground",children:u(b.totalGranted)})]}),a("div",{children:[e("p",{className:"text-xs text-muted-foreground",children:d("credits.totalConsumed")}),e("p",{className:"text-sm font-medium text-foreground",children:u(b.totalConsumed)})]}),a("div",{children:[e("p",{className:"text-xs text-muted-foreground",children:d("credits.totalExpired")}),e("p",{className:"text-sm font-medium text-foreground",children:u(b.totalExpired)})]}),a("div",{children:[e("p",{className:"text-xs text-muted-foreground",children:d("credits.available")}),e("p",{className:"text-sm font-semibold text-success",children:u(b.available)})]})]})]}):a("div",{className:"text-center py-4",children:[e(n,{className:"h-10 w-10 text-muted-foreground/50 mx-auto mb-2"}),e("p",{className:"text-sm text-muted-foreground",children:d("credits.noCredits")}),e("p",{className:"text-xs text-muted-foreground mt-1",children:d("credits.noCreditsHint")}),ae&&f&&a(we,{size:"sm",className:"mt-3",onClick:()=>Z(!0),children:[e(s,{className:"h-3.5 w-3.5 me-1.5"}),d("credits.buyCredits")]})]})]}),!A&&S>0&&e("div",{className:"px-4 py-3 bg-warning/10 border-t border-warning/30 text-sm text-warning",children:d("credits.expiringInDays",{count:S,days:7})})]}),h&&a("div",{children:[e(Be,{title:d("credits.transactions"),className:"mb-3"}),P&&0===I.length?e(Ke,{}):0===I.length?e(Oe,{icon:e(l,{className:"h-5 w-5 text-muted-foreground"}),description:d("credits.noTransactions"),action:e(we,{variant:"outline",size:"sm",progress:P,onClick:M,children:d("settings.common.refreshAction",{loading:String(P)})})}):a("div",{className:"border border-border rounded-lg overflow-hidden",children:[e("div",{className:"divide-y divide-border/60",children:I.map(a=>e(gn,{tx:a},a._id))}),E&&e("div",{className:"border-t border-border px-4 py-3 text-center",children:e(we,{variant:"ghost",size:"sm",onClick:R,disabled:P,progress:P&&C>1,children:d("credits.loadMore")})})]})]}),ae&&f&&e(dn,{open:$,onOpenChange:Z,packages:N,billingCurrency:i.billingCurrency,workspaceName:i.name,onSelectPackage:async e=>{if(o){O(null),H(e._id);try{const{successUrl:a,cancelUrl:t}=We(o),n=await _({creditPackageId:e._id,successUrl:a,cancelUrl:t});n.url&&Ve(n.url)}catch(e){O(e instanceof Error?e.message:d("errors.purchaseCredits")),H(null)}}},purchasingPackageId:z,loading:L})]})};function gn({tx:t}){const{t:n,formattingLocale:i,fmtNum:s}=re(),r=pn[t.type]??"credits.type.consumed",c=function(e){switch(e){case"plan_grant":case"admin_grant":case"refund":return"bg-success/15 text-success";case"pack_purchased":return"bg-info/15 text-info";case"consumed":default:return"bg-muted text-foreground";case"expired":case"admin_revoke":return"bg-destructive/15 text-destructive"}}(t.type),l=t.amount>0;return e("div",{className:"px-3 py-3 sm:px-4",children:a("div",{className:"flex items-start justify-between gap-2",children:[a("div",{className:"min-w-0 flex-1",children:[a("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[e("span",{className:me("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0",c),children:n(r)}),t.description&&e("p",{className:"text-sm text-foreground truncate",children:t.description})]}),e("p",{className:"text-xs text-muted-foreground/70",children:Fe(t.createdAt,i)})]}),a("div",{className:"text-end shrink-0",children:[a("span",{className:me("text-sm font-semibold",l?"text-success":"text-foreground"),children:[l?"+":"",s(t.amount)]}),e("p",{className:"text-xs text-muted-foreground/70",children:s(t.balanceAfter)})]})]})})}const fn=({workspace:n})=>{const[i,s]=Y(!1),{deleteWorkspace:r}=ze(),{can:c}=Te(),{settings:l}=He(),{t:u}=re();if(1===(l?.workspace?.maxWorkspacesPerUser??0))return null;if(!n)return e(mn,{});return c(Ee.WORKSPACE_DELETE)?a("div",{className:"space-y-4",children:[e(Be,{title:u("danger.title"),titleClassName:"text-destructive",description:u("danger.deleteDescription")}),a($e,{children:[e(Ze,{asChild:!0,children:a(we,{variant:"destructive",disabled:i,progress:i,children:[e(o,{className:"h-4 w-4 me-2"}),u("danger.deleteWorkspace")]})}),a(qe,{children:[a(Ye,{children:[e(Je,{children:u("danger.deleteConfirm")}),e(Xe,{children:u("danger.deleteConfirmDescription")})]}),a(Qe,{children:[e(ea,{disabled:i,children:u("settings.common.cancel")}),e(aa,{onClick:async()=>{s(!0);try{await r(n._id)}catch(e){pe(e,{component:"WorkspaceSettingsDanger",action:"handleDeleteWorkspace",metadata:{workspaceId:n._id}})}finally{s(!1)}},disabled:i,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:i?a(t,{children:[e(d,{className:"me-2 h-4 w-4 animate-spin"}),u("danger.deleting")]}):u("danger.deleteWorkspace")})]})]})]})]}):e(un,{descriptionKey:"danger.adminOnly"})};function bn({children:n,link:i}){const{t:s}=re();return a(t,{children:[e("div",{className:"space-y-2",children:n}),i&&a("a",{href:i.href,target:"_blank",rel:"noopener noreferrer","aria-label":s("help.linkNewTab",{link:i.label}),className:"inline-flex items-center gap-1 font-medium text-primary underline-offset-4 hover:underline",children:[i.label,e(m,{className:"h-3.5 w-3.5","aria-hidden":"true"})]})]})}function vn({label:t,children:n,link:i,className:s,side:r="bottom",buttonLabel:c}){const{t:l,dir:o}=re(),[d,m]=$.useState(!1),p=$.useRef(null);return a(ta,{open:d,onOpenChange:m,children:[e(na,{asChild:!0,children:e(we,{ref:p,type:"button",variant:"ghost",size:"icon","aria-label":c??l("help.button",{label:t}),"data-field-help":"",className:me("h-6 w-6 shrink-0 align-middle text-muted-foreground hover:text-foreground sm:h-6 sm:w-6",s),children:e(u,{className:"h-4 w-4","aria-hidden":"true"})})}),e(ia,{side:r,align:"start",collisionPadding:16,dir:o,"aria-label":t,onKeyDown:e=>function(e,a){if("Tab"!==e.key)return;const t=Array.from(e.currentTarget.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])')),n=e.currentTarget.ownerDocument.activeElement,i=t.indexOf(n);(e.shiftKey?i<=0:i===t.length-1)&&(e.shiftKey&&e.preventDefault(),a())}(e,()=>{m(!1),p.current?.focus()}),className:"w-80 max-w-[calc(100vw-2rem)] space-y-2 text-sm leading-relaxed",children:e(bn,{link:i,children:n})})]})}const xn=({keys:a})=>{const{t:n}=re();return e(t,{children:a.map(a=>e("p",{children:n(a)},a))})},yn=({items:a})=>e("ul",{className:"list-disc space-y-1.5 ps-4",children:a.map(a=>e("li",{children:a},a))}),Nn=()=>e(xn,{keys:["help.password","help.passwordLeaks","help.passwordForgot"]}),wn=()=>{const{t:a}=re();return e(vn,{label:a("security.passwordTitle"),children:e(Nn,{})})};function Sn({app:e,sms:a}){return["help.twoStep",...e?["help.twoStepApp"]:[],...a?["help.twoStepSms"]:[],...e?["help.twoStepLostPhone"]:[]]}const An=a=>e(xn,{keys:Sn(a)}),Cn=a=>{const{t:t}=re();return e(vn,{label:t("security.twoStepTitle"),children:e(An,{...a})})},Tn=()=>e(xn,{keys:["help.backupCodes","help.backupCodesKeep","help.backupCodesNew"]}),kn=()=>{const{t:a}=re();return e(vn,{label:a("help.backupCodesLabel"),children:e(Tn,{})})},En=()=>e(xn,{keys:["help.passkeys","help.passkeysWhere","help.passkeysRemove"]}),Pn=()=>{const{t:a}=re();return e(vn,{label:a("security.passkeysTitle"),children:e(En,{})})},Mn=()=>e(xn,{keys:["help.connectedAccounts","help.connectedAccountsRemove","help.connectedAccountsLastWay"]}),Un=()=>{const{t:a}=re();return e(vn,{label:a("security.connectedAccountsTitle"),children:e(Mn,{})})},Dn=()=>e(xn,{keys:["help.phone","help.phoneCheck"]}),Rn=()=>{const{t:a}=re();return e(vn,{label:a("security.phoneTitle"),children:e(Dn,{})})},In=()=>e(xn,{keys:["help.reauth","help.reauthHow"]}),_n=({className:a})=>{const{t:t}=re();return e(vn,{label:t("security.reauthConfirm"),className:a,children:e(In,{})})},Ln=({canChange:a})=>e(xn,{keys:a?["help.email","help.emailChange"]:["help.email"]}),Gn=({canChange:a})=>{const{t:t}=re();return e(vn,{label:t("profile.email"),children:e(Ln,{canChange:a})})},Bn=({graceDays:a})=>{const{t:t}=re(),n=t("security.deleteAccountCancel");return e("p",{children:null===a?t("help.deleteAccountRange",{cancel:n}):0===a?t("help.deleteAccountNow"):t("help.deleteAccountDays",{days:a,cancel:n})})},Kn=({graceDays:a})=>{const{t:t}=re();return e(vn,{label:t("security.deleteAccountTitle"),children:e(Bn,{graceDays:a})})},On=({signOut:a,remove:t})=>{const{t:n}=re();return e(yn,{items:[n("help.devicesThis",{label:n("security.deviceCurrent")}),n("help.devicesTrusted",{label:n("security.deviceTrusted")}),...a?[n("help.devicesSignOut",{label:n("security.deviceSignOut")})]:[],...t?[n("help.devicesRemove",{label:n("security.deviceForget")})]:[]]})},Fn=a=>{const{t:t}=re();return e(vn,{label:t("security.devicesTitle"),children:e(On,{...a})})},Wn=({signOut:n})=>{const{t:i}=re();return a(t,{children:[e("p",{children:i("help.sessionsWhat")}),e(yn,{items:[i("help.sessionsThis",{label:i("security.sessionCurrent")}),...n?[i("help.sessionsSignOut",{label:i("security.sessionSignOut")})]:[]]}),e("p",{children:i("help.sessionsEverywhere")})]})},Vn=({signOut:a})=>{const{t:t}=re();return e(vn,{label:t("security.sessionsTitle"),children:e(Wn,{signOut:a})})},jn=()=>{const{t:t}=re(),{visible:n}=ke(),i=n(e=>e.settings?.devices?.sessions),s=n(e=>e.settings?.devices?.signOut),r=n(e=>e.settings?.devices?.forget),c=n(e=>e.settings?.devices?.sessionSignOut);return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e(Be,{description:t("security.devicesDescription"),help:e(Fn,{signOut:s,remove:r})}),e(sa,{title:null,description:null})]}),i&&a("div",{className:"space-y-4",children:[e(Be,{title:t("security.sessionsTitle"),description:t("security.sessionsDescription"),help:e(Vn,{signOut:c})}),e(ra,{title:null,description:null})]})]})},zn=$.forwardRef(({className:a,...t},n)=>e(Ft.Root,{className:me("peer inline-flex h-[20px] w-[36px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...t,ref:n,children:e(Ft.Thumb,{className:me("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 rtl:data-[state=checked]:-translate-x-4 data-[state=unchecked]:translate-x-0")})}));function Hn(e=5e3){const[a,t]=Y(null),n=Q(null);J(()=>()=>{n.current&&clearTimeout(n.current)},[]);return{message:a,show:q(a=>{t(a),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{t(null)},e)},[e]),clear:q(()=>{t(null),n.current&&clearTimeout(n.current)},[])}}zn.displayName=Ft.Root.displayName;const $n=({workspaceId:t})=>{const{t:n}=re(),{allFeatures:i,updateFeature:s,getWorkspace:r}=ze(),{can:c}=Te(),[l,o]=Y({}),u=Hn(),[m,h]=Y(null);if(J(()=>{r(t).then(h).catch(e=>{pe(e,{component:"WorkspaceSettingsFeatures",action:"getWorkspace"})})},[t]),!m)return e(mn,{});const g=c(Ee.WORKSPACE_FEATURES_EDIT);return a("div",{children:[u.message&&e(ue,{variant:"success",title:n("settings.common.success"),message:u.message,className:"mb-4"}),a("div",{className:"flex flex-col gap-y-3.5 pe-4",children:[!g&&e(un,{descriptionKey:"features.ownerOnly"}),!i.length&&e(Oe,{icon:e(p,{className:"h-5 w-5 text-muted-foreground"}),description:n("features.noFeatures")}),i.length>0&&e("div",{className:"flex flex-col gap-y-3.5",children:i.map(t=>{const r=m?.features?.[t.slug],c=null!==l[t.slug]&&void 0!==l[t.slug],p=l[t.slug],f=n("features.actionStatus",{action:!0===p?"enabling":!1===p?"disabling":"none"});return a("div",{className:"flex items-center gap-x-2 justify-between w-full",children:[a("div",{className:"flex gap-x-2 flex-col",children:[e("h3",{className:"font-medium text-ellipsis",children:t.name}),e("p",{className:"text-muted-foreground",children:t.description})]}),c?a("div",{className:"flex items-center gap-x-1",children:[e(d,{className:"h-4 w-4 animate-spin text-muted-foreground"}),a("span",{className:"text-sm text-muted-foreground",children:[f,"..."]})]}):e(zn,{disabled:!g,checked:r??t.defaultValue,onCheckedChange:e=>async function(e,a){if(m){o(t=>({...t,[e]:a})),u.clear();try{const t=await s(m._id,e,a);h(t);const r=i.find(a=>a.slug===e),c=r?.name||n("features.fallbackName");u.show(n("features.updateSuccess",{feature:c,enabled:String(a)}))}catch(a){pe(a,{component:"WorkspaceSettingsFeatures",action:"updateFeature",metadata:{workspaceId:m._id,featureKey:e}})}finally{o(a=>({...a,[e]:null}))}}}(t.slug,e)})]},t._id)})})]})]})},Zn=({workspace:t})=>{const{t:n}=re(),{visible:i}=ke(),s=i(e=>e.settings?.general?.nameEdit),r=i(e=>e.settings?.general?.iconEditor),{updateWorkspace:c}=ze(),{can:l}=Te(),[o,d]=Y(!1),[u,m]=Y("emoji"),[p,b]=Y(),v=ca("workspace-image"),x=Q(null),y=Hn(),N=jt.object({name:jt.string().min(2,{message:n("general.nameMinLength")}),image:jt.string().optional()}),w=Vt({resolver:Wt(N),defaultValues:{name:t.name||"",image:t.image||""}});if(!t)return e(mn,{});const S=l(Ee.WORKSPACE_SETTINGS_EDIT),A="upload"!==u||v.enabled?u:"emoji";return a("div",{children:[y.message&&e(ue,{variant:"success",title:n("settings.common.success"),message:y.message,className:"mb-4"}),!S&&e(un,{descriptionKey:"general.ownerOnly"}),e(la,{...w,children:a("form",{onSubmit:w.handleSubmit(async function(e){d(!0),y.clear();try{await c(t,e),y.show(n("general.success"))}catch(e){pe(e,{component:"WorkspaceSettingsGeneral",action:"updateWorkspace",metadata:{workspaceId:t._id}})}finally{d(!1)}}),className:"space-y-6",children:[s&&e(oa,{control:w.control,name:"name",render:({field:t})=>a(da,{children:[e(ua,{children:n("general.name")}),e(ma,{children:e(pa,{placeholder:n("general.namePlaceholder"),...t,disabled:!S})}),e(ha,{})]})}),t.billingCurrency?.trim()&&a("div",{className:"space-y-1.5",children:[e(ga,{className:"text-sm font-medium text-muted-foreground",children:n("general.billingCurrency")}),a("div",{className:"flex items-center gap-2 text-sm",children:[fa(t.billingCurrency)&&e("span",{className:"text-base",children:fa(t.billingCurrency)}),e("span",{children:t.billingCurrency.trim().toUpperCase()})]})]}),r&&a("div",{className:"space-y-4",children:[a("div",{children:[e(ga,{className:"text-sm font-medium",children:n("general.icon")}),e(ba,{children:n("general.iconDescription")})]}),a(va,{value:A,disabled:!S||v.loading,onValueChange:e=>m(e),className:"flex flex-col space-y-3",children:[a("div",{className:"flex items-center gap-2",children:[e(xa,{value:"emoji",id:"emoji"}),a(ga,{htmlFor:"emoji",className:"flex items-center gap-2",children:[e(h,{className:"h-4 w-4"}),n("general.chooseEmoji")]})]}),v.enabled&&a("div",{className:"flex items-center gap-2",children:[e(xa,{value:"upload",id:"upload"}),a(ga,{htmlFor:"upload",className:"flex items-center gap-2",children:[e(g,{className:"h-4 w-4"}),n("general.uploadImage")]})]}),a("div",{className:"flex items-center gap-2",children:[e(xa,{value:"url",id:"url"}),a(ga,{htmlFor:"url",className:"flex items-center gap-2",children:[e(f,{className:"h-4 w-4"}),n("general.customImageUrl")]})]})]}),"upload"===A&&a("div",{className:"space-y-3",children:[e("input",{ref:x,type:"file",accept:ya,className:"hidden",onChange:e=>{const a=e.target.files?.[0];a&&async function(e){try{const a=await v.upload(e);b(void 0),w.setValue("image",a.url,{shouldDirty:!0})}catch{}finally{x.current&&(x.current.value="")}}(a)}}),a("div",{className:"flex items-center gap-3",children:[e("div",{className:"w-12 h-12 rounded-lg border-2 border-border overflow-hidden bg-muted",children:w.watch("image")?.trim()&&e("img",{src:w.watch("image")||void 0,className:"w-full h-full object-cover",alt:n("general.previewImageAlt")})}),e(we,{type:"button",variant:"outline",disabled:!S||v.loading,progress:v.loading,"aria-describedby":"workspace-image-upload-help",onClick:()=>x.current?.click(),children:v.loading?n("uploads.uploading"):n("general.chooseImage")})]}),e(ba,{id:"workspace-image-upload-help",children:n("uploads.description",{max:v.maxLabel})}),v.error&&e(ue,{variant:"error",message:v.error})]}),"emoji"===A&&a("div",{className:"space-y-3",children:[a("div",{className:"flex items-center gap-3",children:[e("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),a("div",{className:"w-12 h-12 rounded-lg border-2 border-border flex items-center justify-center text-2xl bg-muted",children:[p&&e("span",{className:"text-2xl",children:p}),!p&&w.watch("image")?.trim()&&e("img",{src:w.watch("image")||void 0,alt:n("general.previewImageAlt")})]})]}),S&&e(Na,{className:"h-32 w-full rounded-md border",children:e("div",{className:"p-4 grid grid-cols-8 gap-2",children:wa.map((a,t)=>e("button",{type:"button",onClick:()=>(e=>{b(e),w.setValue("image",Sa(e))})(a),disabled:!S,"aria-label":a,"aria-pressed":p===a,className:"w-10 h-10 sm:w-8 sm:h-8 rounded flex items-center justify-center text-lg hover:bg-muted transition-colors "+(p===a?"bg-primary text-primary-foreground":""),children:a},t))})})]}),"url"===A&&a("div",{className:"space-y-3",children:[e(oa,{control:w.control,name:"image",render:({field:t})=>a(da,{children:[e(ua,{children:n("general.imageUrl")}),e(ma,{children:e(pa,{placeholder:n("general.imageUrlPlaceholder"),...t,disabled:!S})}),e(ba,{children:n("general.imageUrlDescription")}),e(ha,{})]})}),w.watch("image")&&w.watch("image")?.trim()&&a("div",{className:"flex items-center gap-3",children:[e("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),e("div",{className:"w-12 h-12 rounded-lg border-2 border-border overflow-hidden bg-muted",children:e("img",{src:w.watch("image")||void 0,className:"w-full h-full object-cover",alt:n("general.previewImageAlt")})})]})]})]}),e("div",{className:"flex justify-end gap-3 pt-4",children:S&&(s||r)&&e(we,{type:"submit",disabled:o||v.loading,progress:o,children:n("general.updateWorkspace")})})]})})]})};function qn(e,a,t){const n=e.defaults[a],i=n?.required?void 0:e.mine[a]?.[t];return"boolean"==typeof i?i:!1!==n?.[t]}const Yn={firefox:4,safari:4,edge:4,chrome:4},Jn={defaults:{},mine:{}},Xn=({workspace:n})=>{const{isSupported:s,permission:r,isSubscribed:c,loading:l,error:o,subscribe:d,unsubscribe:u}=Aa(),{t:m}=re(),{api:p}=le(),{can:h}=Te(),{visible:g}=ke(),f=h(Ee.WORKSPACE_SETTINGS_EDIT),y=g(e=>e.settings?.notifications?.push),N=g(e=>e.settings?.notifications?.emailToggles),w=g(e=>e.settings?.notifications?.pushToggles),S=X(()=>function(){const e="undefined"!=typeof navigator?navigator.userAgent:"";return e.includes("Firefox")?"firefox":e.includes("Safari")&&!e.includes("Chrome")?"safari":e.includes("Edg")?"edge":"chrome"}(),[]),A=Yn[S],[C,T]=Y([]),[k,E]=Y(!0),[P,M]=Y(Jn),[U,D]=Y(!0),[R,I]=Y(null),[_,L]=Y(null),[G,B]=Y(null),K=Q(null);J(()=>()=>{K.current&&clearTimeout(K.current)},[]),J(()=>{if(!n?._id)return;const e=n._id.toString();E(!0),D(!0),Promise.all([p.getNotificationEvents(e).catch(()=>[]),p.getMyNotificationPreferences(e).catch(()=>Jn)]).then(([e,a])=>{T(e),M(a)}).finally(()=>{E(!1),D(!1)})},[n?._id]);const O=q(()=>{L(m("notifications.prefsSaved")),K.current&&clearTimeout(K.current),K.current=setTimeout(()=>L(null),3e3)},[m]),F=q(async(e,a)=>{if(!n?._id)return;if(P.defaults[e]?.required)return;const t=!qn(P,e,a),i=!1!==P.defaults[e]?.[a]===t?null:t,s=P;I(`mine.${e}.${a}`),L(null),B(null),M(t=>{const n={...t.mine[e]};return null===i?delete n[a]:n[a]=i,{...t,mine:{...t.mine,[e]:n}}});try{const t=await p.updateMyNotificationPreferences(n._id.toString(),{[e]:{[a]:i}});M(t),O()}catch(e){M(s),B(m("notifications.prefsSaveFailed")),pe(e,{component:"SettingsNotifications",action:"toggleMine"})}finally{I(null)}},[n?._id,P,p,O,m]),W=q(async(e,a)=>{if(!n?._id||!f)return;const t=P.defaults[e]??{},i="required"===a?!t.required:!1===t[a],s=P;I(`defaults.${e}.${a}`),L(null),B(null),M(n=>({...n,defaults:{...n.defaults,[e]:{...t,[a]:i}}}));try{const t=await p.updateNotificationPreferences(n._id.toString(),{[e]:{[a]:i}});M(e=>({...e,defaults:t})),O()}catch(e){M(s),B(m("notifications.prefsSaveFailed")),pe(e,{component:"SettingsNotifications",action:"toggleDefault"})}finally{I(null)}},[n?._id,f,P,p,O,m]),V=X(()=>{const e=new Map;for(const a of C){const t=a.category||"general";e.has(t)||e.set(t,[]),e.get(t).push(a)}return Array.from(e.entries())},[C]),j=k||U,z=C.length>0;return a("div",{className:"space-y-4",children:[e("p",{className:"text-sm text-muted-foreground",children:m("notifications.manageDescription")}),y&&s&&a(t,{children:[o&&"denied"!==r&&e(ue,{variant:"error",message:o}),"denied"===r&&e("div",{className:"border border-warning/30 bg-warning/10 rounded-lg p-4",children:a("div",{className:"flex items-start gap-3",children:[e(i,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),a("div",{children:[e("h4",{className:"text-sm font-medium text-warning",children:m("notifications.blocked")}),e("p",{className:"text-xs text-warning mt-1",children:m("notifications.blockedDescription")}),e("ol",{className:"text-xs text-warning mt-2 space-y-1 list-decimal list-inside",children:Array.from({length:A},(a,t)=>e("li",{children:m(`notifications.unblock.${S}.step${t+1}`)},t))})]})]})}),"denied"!==r&&a("div",{className:"border rounded-lg p-4",children:[a("div",{className:"flex items-start justify-between gap-4",children:[a("div",{className:"flex items-start gap-3",children:[e("div",{className:"mt-0.5 p-2 rounded-lg "+(c?"bg-success/15":"bg-muted"),children:c?e(b,{className:"h-4 w-4 text-success"}):e(v,{className:"h-4 w-4 text-muted-foreground/70"})}),a("div",{children:[e("h4",{className:"text-sm font-medium text-foreground",children:m("notifications.pushTitle")}),e("p",{className:"text-xs text-muted-foreground mt-0.5",children:m("notifications.pushDescription",{subscribed:String(c)})})]})]}),e(we,{variant:c?"outline":"default",size:"sm",className:"shrink-0",onClick:c?u:d,disabled:l,progress:l,children:m("notifications.toggleAction",{loading:String(l),subscribed:String(c)})})]}),c&&e("div",{className:"mt-3 pt-3 border-t border-border/60 text-xs text-muted-foreground",children:m("notifications.deviceNote")})]})]}),j&&e("div",{className:"text-center text-sm text-muted-foreground/70 py-4",children:m("notifications.loadingPrefs")}),!j&&z&&(N||w)&&a(t,{children:[_&&e(ue,{variant:"success",message:_}),G&&e(ue,{variant:"error",message:G}),e(Qn,{title:m("notifications.yourTitle"),description:m("notifications.yourDescription"),grouped:V,showEmail:N,showPush:w,renderCell:(a,t)=>{const n=Boolean(P.defaults[a.slug]?.required);return e(zn,{checked:qn(P,a.slug,t),onCheckedChange:()=>F(a.slug,t),disabled:n||R===`mine.${a.slug}.${t}`,"aria-label":`${a.name}: ${t}`})},renderNote:t=>P.defaults[t.slug]?.required?a("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[e(x,{className:"h-3 w-3","aria-hidden":"true"}),m("notifications.requiredHint")]}):null}),f&&e(Qn,{title:m("notifications.defaultsTitle"),description:m("notifications.defaultsDescription"),grouped:V,showEmail:N,showPush:w,extraColumn:{header:m("notifications.requiredLabel"),render:a=>e(zn,{checked:Boolean(P.defaults[a.slug]?.required),onCheckedChange:()=>W(a.slug,"required"),disabled:R===`defaults.${a.slug}.required`,"aria-label":`${a.name}: ${m("notifications.requiredLabel")}`})},renderCell:(a,t)=>e(zn,{checked:!1!==P.defaults[a.slug]?.[t],onCheckedChange:()=>W(a.slug,t),disabled:R===`defaults.${a.slug}.${t}`,"aria-label":`${a.name}: ${t}`})})]})]})};function Qn({title:t,description:n,grouped:i,showEmail:s,showPush:r,renderCell:c,renderNote:l,extraColumn:o}){return a("section",{className:"space-y-2",children:[a("div",{children:[e("h3",{className:"text-sm font-medium text-foreground",children:t}),e("p",{className:"text-xs text-muted-foreground mt-0.5",children:n})]}),i.map(([t,n])=>a("div",{className:"border rounded-lg overflow-hidden",children:[e("div",{className:"bg-muted/50 px-4 py-2.5 border-b",children:e("h4",{className:"text-sm font-medium text-foreground capitalize",children:t})}),a("div",{className:"divide-y",children:[a("div",{className:"flex items-center px-4 py-2 bg-muted/30",children:[e("div",{className:"flex-1"}),a("div",{className:"flex items-center gap-6",children:[s&&e("div",{className:"w-12 flex justify-center",children:e(y,{className:"h-3.5 w-3.5 text-muted-foreground/70","aria-hidden":"true"})}),r&&e("div",{className:"w-12 flex justify-center",children:e(N,{className:"h-3.5 w-3.5 text-muted-foreground/70","aria-hidden":"true"})}),o&&e("div",{className:"w-16 text-center text-xs text-muted-foreground",children:o.header})]})]}),n.map(t=>a("div",{className:"flex items-center px-4 py-3",children:[a("div",{className:"flex-1 min-w-0",children:[e("div",{className:"text-sm font-medium text-foreground",children:t.name}),t.description&&e("div",{className:"text-xs text-muted-foreground mt-0.5",children:t.description}),l?.(t)]}),a("div",{className:"flex items-center gap-6 shrink-0",children:[s&&e("div",{className:"w-12 flex justify-center",children:t.channels.email?c(t,"email"):e("span",{className:"text-xs text-muted-foreground/50",children:"-"})}),r&&e("div",{className:"w-12 flex justify-center",children:t.channels.push?c(t,"push"):e("span",{className:"text-xs text-muted-foreground/50",children:"-"})}),o&&e("div",{className:"w-16 flex justify-center",children:o.render(t)})]})]},t.slug))]})]},t))]})}const ei=({workspace:t})=>{const{t:n}=re(),{isOwner:i}=Te(),{settings:s}=He(),{appPermissions:r}=Ca(),{updateWorkspacePermissions:c}=ze(),[l,o]=Y(!1),d=Hn(),u=X(()=>s?.workspace?.roles??t.roles??[],[s?.workspace?.roles,t.roles]),m=X(()=>Ta(s,r),[s,r]),p=X(()=>e=>ka(e,{workspace:t,settings:s,appPermissions:r},{applyRestrictions:!1}),[t,s,r]),[h,g]=Y({});J(()=>{const e={};for(const a of u)e[a]=[...p(a)].filter(e=>!e.startsWith("workspace:"));g(e)},[p,u]);const f=X(()=>{const e=new Map;for(const a of m){const t=a.group??"";e.set(t,[...e.get(t)??[],a])}return[...e.entries()]},[m]);if(!t)return e(mn,{});if(0===m.length)return null;return a("div",{children:[d.message&&e(ue,{variant:"success",title:n("settings.common.success"),message:d.message,className:"mb-4"}),!i&&e(un,{descriptionKey:"permissions.ownerOnly"}),e("p",{className:"text-sm text-muted-foreground mb-4",children:n("permissions.description")}),e("div",{className:"overflow-x-auto",children:a("table",{className:"w-full text-sm",children:[e("thead",{children:a("tr",{className:"border-b",children:[e("th",{className:"text-start py-2 pe-4 font-medium text-muted-foreground min-w-[160px]"}),u.map(a=>e("th",{className:"text-center py-2 px-3 font-medium text-foreground capitalize min-w-[80px]",children:a},a))]})}),e("tbody",{children:f.map(([t,n])=>a(Z.Fragment,{children:[f.length>1&&t&&e("tr",{children:e("td",{colSpan:u.length+1,className:"pt-4 pb-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:t})}),n.map(({key:t,label:n})=>a("tr",{className:"border-b border-border/40 hover:bg-muted/30",children:[a("td",{className:"py-2 pe-4 text-foreground",children:[e("div",{children:n}),n!==t&&e("div",{className:"font-mono text-xs opacity-60",children:t})]}),u.map(a=>{const s="admin"===a,r=s||(h[a]??[]).includes(t);return e("td",{className:"text-center py-2 px-3",children:e(zn,{checked:r,disabled:!i||s,onCheckedChange:()=>((e,a)=>{g(t=>{const n=t[e]??[],i=n.includes(a);return{...t,[e]:i?n.filter(e=>e!==a):[...n,a]}})})(a,t),className:"mx-auto","aria-label":`${n}: ${a}`})},a)})]},t))]},t||"_"))})]})}),i&&e("div",{className:"mt-6",children:e(we,{onClick:async()=>{o(!0),d.clear();try{const e={};for(const a of u){const t=[...p(a)].filter(e=>e.startsWith("workspace:"));e[a]=[...t,...h[a]??[]]}await c(t._id,e),d.show(n("permissions.saveSuccess"))}catch(e){pe(e,{component:"WorkspaceSettingsPermissions",action:"savePermissions",metadata:{workspaceId:t._id}})}finally{o(!1)}},disabled:l,progress:l,children:n(l?"permissions.saving":"permissions.save")})})]})},ai=$.forwardRef(({className:a,...t},n)=>e(Zt,{ref:n,className:me("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...t}));ai.displayName=Zt.displayName;const ti=$.forwardRef(({className:t,...n},i)=>a("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e(zt,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),e(Zt.Input,{ref:i,className:me("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...n})]}));ti.displayName=Zt.Input.displayName;const ni=$.forwardRef(({className:a,...t},n)=>e(Zt.List,{ref:n,className:me("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...t}));ni.displayName=Zt.List.displayName;const ii=$.forwardRef((a,t)=>e(Zt.Empty,{ref:t,className:"py-6 text-center text-sm",...a}));ii.displayName=Zt.Empty.displayName;const si=$.forwardRef(({className:a,...t},n)=>e(Zt.Group,{ref:n,className:me("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...t}));si.displayName=Zt.Group.displayName;$.forwardRef(({className:a,...t},n)=>e(Zt.Separator,{ref:n,className:me("-mx-1 h-px bg-border",a),...t})).displayName=Zt.Separator.displayName;const ri=$.forwardRef(({className:a,...t},n)=>e(Zt.Item,{ref:n,className:me("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",a),...t}));function ci({options:t,value:n,onChange:i,placeholder:s,emptyLabel:r,"aria-labelledby":c,"aria-label":l}){const{t:o}=re(),d=s??o("dropdowns.search"),u=r??o("dropdowns.chooseOption"),[m,p]=Y(n??""),[h,g]=Y(!1),f=ee();J(()=>{void 0!==n&&p(n)},[n]);const b=t.find(e=>e.value===m);return a(ta,{open:h,onOpenChange:g,children:[e(na,{asChild:!0,children:a(we,{variant:"outline",role:"combobox","aria-expanded":h,"aria-labelledby":c?`${c} ${f}`:void 0,"aria-label":c?void 0:l,className:"h-10 sm:h-9 w-full justify-between rounded-md border-input bg-transparent px-3 py-1 text-base sm:text-sm font-normal shadow-sm hover:bg-transparent",children:[b?a("div",{id:f,className:"truncate",children:[String(b.label).trim(),b.icon&&e("span",{className:"ms-2 text-xs text-muted-foreground",children:b.icon})]}):e("span",{id:f,className:"text-muted-foreground",children:u}),e(w,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),e(ia,{className:"p-0 overflow-hidden text-ellipsis",asChild:!0,children:a(ai,{children:[e(ti,{placeholder:d}),a(ni,{children:[e(ii,{children:o("dropdowns.noResults")}),e(si,{children:t.map(t=>a(ri,{className:me("whitespace-nowrap text-start",{"text-success":m===t.value}),value:t.value,keywords:[t.label],onSelect:()=>{return e=t.value,p(e),i?.(e),void g(!1);var e},children:[m===t.value&&e(S,{className:me("me-2 h-4 w-4 text-success",m===t.value?"opacity-100":"opacity-0")}),String(t.label).trim(),t.icon&&e("span",{className:"ms-2 text-xs text-muted-foreground",children:t.icon})]},t.value))})]})]})})]})}ri.displayName=Zt.Item.displayName;const li=cn.map(e=>({value:e.currencyCode,text:e.currencyCode,icon:e.currencyIcon??null})),oi=Array.from(new Set(li.map(e=>e.value))).map(e=>li.find(a=>a.value===e)).filter(e=>void 0!==e);let di=[{code:"en",label:"English",flag:"🇬🇧"},{code:"en-GB",label:"English (United Kingdom)",flag:"🇬🇧"},{code:"en-US",label:"English (United States)",flag:"🇺🇸"},{code:"en-AU",label:"English (Australia)",flag:"🇦🇺"},{code:"en-CA",label:"English (Canada)",flag:"🇨🇦"},{code:"en-NZ",label:"English (New Zealand)",flag:"🇳🇿"},{code:"es",label:"Spanish",flag:"🇪🇸"},{code:"es-ES",label:"Spanish (Spain)",flag:"🇪🇸"},{code:"es-MX",label:"Spanish (Mexico)",flag:"🇲🇽"},{code:"fr",label:"French",flag:"🇫🇷"},{code:"fr-FR",label:"French (France)",flag:"🇫🇷"},{code:"de",label:"German",flag:"🇩🇪"},{code:"de-DE",label:"German (Germany)",flag:"🇩🇪"},{code:"it",label:"Italian",flag:"🇮🇹"},{code:"it-IT",label:"Italian (Italy)",flag:"🇮🇹"},{code:"pt",label:"Portuguese",flag:"🇵🇹"},{code:"pt-PT",label:"Portuguese (Portugal)",flag:"🇵🇹"},{code:"pt-BR",label:"Portuguese (Brazil)",flag:"🇧🇷"},{code:"ru",label:"Russian",flag:"🇷🇺"},{code:"ru-RU",label:"Russian (Russia)",flag:"🇷🇺"},{code:"zh",label:"Chinese",flag:"🇨🇳"},{code:"zh-CN",label:"Chinese (Simplified)",flag:"🇨🇳"},{code:"zh-TW",label:"Chinese (Traditional)",flag:"🇹🇼"},{code:"ja",label:"Japanese",flag:"🇯🇵"},{code:"ja-JP",label:"Japanese (Japan)",flag:"🇯🇵"},{code:"ko",label:"Korean",flag:"🇰🇷"},{code:"ko-KR",label:"Korean (South Korea)",flag:"🇰🇷"},{code:"ar",label:"Arabic",flag:"🇸🇦"},{code:"ar-SA",label:"Arabic (Saudi Arabia)",flag:"🇸🇦"},{code:"hi",label:"Hindi",flag:"🇮🇳"},{code:"hi-IN",label:"Hindi (India)",flag:"🇮🇳"},{code:"bn",label:"Bengali",flag:"🇮🇳"},{code:"bn-IN",label:"Bengali (India)",flag:"🇮🇳"},{code:"gu",label:"Gujarati",flag:"🇮🇳"},{code:"gu-IN",label:"Gujarati (India)",flag:"🇮🇳"},{code:"ta",label:"Tamil",flag:"🇮🇳"},{code:"ta-IN",label:"Tamil (India)",flag:"🇮🇳"},{code:"te",label:"Telugu",flag:"🇮🇳"},{code:"te-IN",label:"Telugu (India)",flag:"🇮🇳"},{code:"ml",label:"Malayalam",flag:"🇮🇳"},{code:"ml-IN",label:"Malayalam (India)",flag:"🇮🇳"},{code:"kn",label:"Kannada",flag:"🇮🇳"},{code:"kn-IN",label:"Kannada (India)",flag:"🇮🇳"},{code:"mr",label:"Marathi",flag:"🇮🇳"},{code:"mr-IN",label:"Marathi (India)",flag:"🇮🇳"},{code:"pa",label:"Punjabi",flag:"🇮🇳"},{code:"pa-IN",label:"Punjabi (India)",flag:"🇮🇳"},{code:"ur",label:"Urdu",flag:"🇮🇳"},{code:"ur-IN",label:"Urdu (India)",flag:"🇮🇳"},{code:"or",label:"Odia",flag:"🇮🇳"},{code:"or-IN",label:"Odia (India)",flag:"🇮🇳"},{code:"as",label:"Assamese",flag:"🇮🇳"},{code:"as-IN",label:"Assamese (India)",flag:"🇮🇳"},{code:"zh-HK",label:"Chinese (Hong Kong)",flag:"🇭🇰"},{code:"nl",label:"Dutch",flag:"🇳🇱"},{code:"nl-NL",label:"Dutch (Netherlands)",flag:"🇳🇱"},{code:"pl",label:"Polish",flag:"🇵🇱"},{code:"pl-PL",label:"Polish (Poland)",flag:"🇵🇱"},{code:"sv",label:"Swedish",flag:"🇸🇪"},{code:"sv-SE",label:"Swedish (Sweden)",flag:"🇸🇪"},{code:"da",label:"Danish",flag:"🇩🇰"},{code:"da-DK",label:"Danish (Denmark)",flag:"🇩🇰"},{code:"no",label:"Norwegian",flag:"🇳🇴"},{code:"no-NO",label:"Norwegian (Norway)",flag:"🇳🇴"},{code:"fi",label:"Finnish",flag:"🇫🇮"},{code:"fi-FI",label:"Finnish (Finland)",flag:"🇫🇮"},{code:"tr",label:"Turkish",flag:"🇹🇷"},{code:"tr-TR",label:"Turkish (Turkey)",flag:"🇹🇷"},{code:"cs",label:"Czech",flag:"🇨🇿"},{code:"cs-CZ",label:"Czech (Czech Republic)",flag:"🇨🇿"},{code:"sk",label:"Slovak",flag:"🇸🇰"},{code:"sk-SK",label:"Slovak (Slovakia)",flag:"🇸🇰"},{code:"hu",label:"Hungarian",flag:"🇭🇺"},{code:"hu-HU",label:"Hungarian (Hungary)",flag:"🇭🇺"},{code:"ro",label:"Romanian",flag:"🇷🇴"},{code:"ro-RO",label:"Romanian (Romania)",flag:"🇷🇴"},{code:"el",label:"Greek",flag:"🇬🇷"},{code:"el-GR",label:"Greek (Greece)",flag:"🇬🇷"},{code:"th",label:"Thai",flag:"🇹🇭"},{code:"th-TH",label:"Thai (Thailand)",flag:"🇹🇭"},{code:"id",label:"Indonesian",flag:"🇮🇩"},{code:"id-ID",label:"Indonesian (Indonesia)",flag:"🇮🇩"},{code:"ms",label:"Malay",flag:"🇲🇾"},{code:"ms-MY",label:"Malay (Malaysia)",flag:"🇲🇾"},{code:"vi",label:"Vietnamese",flag:"🇻🇳"},{code:"vi-VN",label:"Vietnamese (Vietnam)",flag:"🇻🇳"},{code:"he",label:"Hebrew",flag:"🇮🇱"},{code:"he-IL",label:"Hebrew (Israel)",flag:"🇮🇱"}];di=di.filter((e,a,t)=>a===t.findIndex(a=>a.code===e.code&&a.label===e.label)),di.sort((e,a)=>e.label<a.label?-1:e.label>a.label?1:0);const ui=di.filter(e=>function(e){try{const a=new Intl.DateTimeFormat(e);return a.resolvedOptions().locale===e||a.resolvedOptions().locale.startsWith(e)}catch{return!1}}(e.code)).filter((e,a,t)=>a===t.findIndex(a=>a.code===e.code&&a.label===e.label)).map(e=>({value:e.code,label:e.label,flag:e.flag}));const mi=[{value:"Dateline Standard Time",abbr:"DST",offset:-12,isdst:!1,text:"(UTC-12:00) International Date Line West",utc:["Etc/GMT+12"]},{value:"UTC-11",abbr:"U",offset:-11,isdst:!1,text:"(UTC-11:00) Coordinated Universal Time-11",utc:["Etc/GMT+11","Pacific/Midway","Pacific/Niue","Pacific/Pago_Pago"]},{value:"Hawaiian Standard Time",abbr:"HST",offset:-10,isdst:!1,text:"(UTC-10:00) Hawaii",utc:["Etc/GMT+10","Pacific/Honolulu","Pacific/Johnston","Pacific/Rarotonga","Pacific/Tahiti"]},{value:"Alaskan Standard Time",abbr:"AKDT",offset:-8,isdst:!0,text:"(UTC-09:00) Alaska",utc:["America/Anchorage","America/Juneau","America/Nome","America/Sitka","America/Yakutat"]},{value:"Pacific Standard Time (Mexico)",abbr:"PDT",offset:-7,isdst:!0,text:"(UTC-08:00) Baja California",utc:["America/Santa_Isabel"]},{value:"Pacific Daylight Time",abbr:"PDT",offset:-7,isdst:!0,text:"(UTC-07:00) Pacific Daylight Time (US & Canada)",utc:["America/Los_Angeles","America/Tijuana","America/Vancouver"]},{value:"Pacific Standard Time",abbr:"PST",offset:-8,isdst:!1,text:"(UTC-08:00) Pacific Standard Time (US & Canada)",utc:["America/Los_Angeles","America/Tijuana","America/Vancouver","PST8PDT"]},{value:"US Mountain Standard Time",abbr:"UMST",offset:-7,isdst:!1,text:"(UTC-07:00) Arizona",utc:["America/Creston","America/Dawson","America/Dawson_Creek","America/Hermosillo","America/Phoenix","America/Whitehorse","Etc/GMT+7"]},{value:"Mountain Standard Time (Mexico)",abbr:"MDT",offset:-6,isdst:!0,text:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",utc:["America/Chihuahua","America/Mazatlan"]},{value:"Mountain Standard Time",abbr:"MDT",offset:-6,isdst:!0,text:"(UTC-07:00) Mountain Time (US & Canada)",utc:["America/Boise","America/Cambridge_Bay","America/Denver","America/Edmonton","America/Inuvik","America/Ojinaga","America/Yellowknife","MST7MDT"]},{value:"Central America Standard Time",abbr:"CAST",offset:-6,isdst:!1,text:"(UTC-06:00) Central America",utc:["America/Belize","America/Costa_Rica","America/El_Salvador","America/Guatemala","America/Managua","America/Tegucigalpa","Etc/GMT+6","Pacific/Galapagos"]},{value:"Central Standard Time",abbr:"CDT",offset:-5,isdst:!0,text:"(UTC-06:00) Central Time (US & Canada)",utc:["America/Chicago","America/Indiana/Knox","America/Indiana/Tell_City","America/Matamoros","America/Menominee","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Rainy_River","America/Rankin_Inlet","America/Resolute","America/Winnipeg","CST6CDT"]},{value:"Central Standard Time (Mexico)",abbr:"CDT",offset:-5,isdst:!0,text:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",utc:["America/Bahia_Banderas","America/Cancun","America/Merida","America/Mexico_City","America/Monterrey"]},{value:"Canada Central Standard Time",abbr:"CCST",offset:-6,isdst:!1,text:"(UTC-06:00) Saskatchewan",utc:["America/Regina","America/Swift_Current"]},{value:"SA Pacific Standard Time",abbr:"SPST",offset:-5,isdst:!1,text:"(UTC-05:00) Bogota, Lima, Quito",utc:["America/Bogota","America/Cayman","America/Coral_Harbour","America/Eirunepe","America/Guayaquil","America/Jamaica","America/Lima","America/Panama","America/Rio_Branco","Etc/GMT+5"]},{value:"Eastern Standard Time",abbr:"EST",offset:-5,isdst:!1,text:"(UTC-05:00) Eastern Time (US & Canada)",utc:["America/Detroit","America/Havana","America/Indiana/Petersburg","America/Indiana/Vincennes","America/Indiana/Winamac","America/Iqaluit","America/Kentucky/Monticello","America/Louisville","America/Montreal","America/Nassau","America/New_York","America/Nipigon","America/Pangnirtung","America/Port-au-Prince","America/Thunder_Bay","America/Toronto"]},{value:"Eastern Daylight Time",abbr:"EDT",offset:-4,isdst:!0,text:"(UTC-04:00) Eastern Daylight Time (US & Canada)",utc:["America/Detroit","America/Havana","America/Indiana/Petersburg","America/Indiana/Vincennes","America/Indiana/Winamac","America/Iqaluit","America/Kentucky/Monticello","America/Louisville","America/Montreal","America/Nassau","America/New_York","America/Nipigon","America/Pangnirtung","America/Port-au-Prince","America/Thunder_Bay","America/Toronto"]},{value:"US Eastern Standard Time",abbr:"UEDT",offset:-5,isdst:!1,text:"(UTC-05:00) Indiana (East)",utc:["America/Indiana/Marengo","America/Indiana/Vevay","America/Indianapolis"]},{value:"Venezuela Standard Time",abbr:"VST",offset:-4.5,isdst:!1,text:"(UTC-04:30) Caracas",utc:["America/Caracas"]},{value:"Paraguay Standard Time",abbr:"PYT",offset:-4,isdst:!1,text:"(UTC-04:00) Asuncion",utc:["America/Asuncion"]},{value:"Atlantic Standard Time",abbr:"ADT",offset:-3,isdst:!0,text:"(UTC-04:00) Atlantic Time (Canada)",utc:["America/Glace_Bay","America/Goose_Bay","America/Halifax","America/Moncton","America/Thule","Atlantic/Bermuda"]},{value:"Central Brazilian Standard Time",abbr:"CBST",offset:-4,isdst:!1,text:"(UTC-04:00) Cuiaba",utc:["America/Campo_Grande","America/Cuiaba"]},{value:"SA Western Standard Time",abbr:"SWST",offset:-4,isdst:!1,text:"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan",utc:["America/Anguilla","America/Antigua","America/Aruba","America/Barbados","America/Blanc-Sablon","America/Boa_Vista","America/Curacao","America/Dominica","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guyana","America/Kralendijk","America/La_Paz","America/Lower_Princes","America/Manaus","America/Marigot","America/Martinique","America/Montserrat","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Santo_Domingo","America/St_Barthelemy","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Tortola","Etc/GMT+4"]},{value:"Pacific SA Standard Time",abbr:"PSST",offset:-4,isdst:!1,text:"(UTC-04:00) Santiago",utc:["America/Santiago","Antarctica/Palmer"]},{value:"Newfoundland Standard Time",abbr:"NDT",offset:-2.5,isdst:!0,text:"(UTC-03:30) Newfoundland",utc:["America/St_Johns"]},{value:"E. South America Standard Time",abbr:"ESAST",offset:-3,isdst:!1,text:"(UTC-03:00) Brasilia",utc:["America/Sao_Paulo"]},{value:"Argentina Standard Time",abbr:"AST",offset:-3,isdst:!1,text:"(UTC-03:00) Buenos Aires",utc:["America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Buenos_Aires","America/Catamarca","America/Cordoba","America/Jujuy","America/Mendoza"]},{value:"SA Eastern Standard Time",abbr:"SEST",offset:-3,isdst:!1,text:"(UTC-03:00) Cayenne, Fortaleza",utc:["America/Araguaina","America/Belem","America/Cayenne","America/Fortaleza","America/Maceio","America/Paramaribo","America/Recife","America/Santarem","Antarctica/Rothera","Atlantic/Stanley","Etc/GMT+3"]},{value:"Greenland Standard Time",abbr:"GDT",offset:-3,isdst:!0,text:"(UTC-03:00) Greenland",utc:["America/Godthab"]},{value:"Montevideo Standard Time",abbr:"MST",offset:-3,isdst:!1,text:"(UTC-03:00) Montevideo",utc:["America/Montevideo"]},{value:"Bahia Standard Time",abbr:"BST",offset:-3,isdst:!1,text:"(UTC-03:00) Salvador",utc:["America/Bahia"]},{value:"UTC-02",abbr:"U",offset:-2,isdst:!1,text:"(UTC-02:00) Coordinated Universal Time-02",utc:["America/Noronha","Atlantic/South_Georgia","Etc/GMT+2"]},{value:"Mid-Atlantic Standard Time",abbr:"MDT",offset:-1,isdst:!0,text:"(UTC-02:00) Mid-Atlantic - Old",utc:[]},{value:"Azores Standard Time",abbr:"ADT",offset:0,isdst:!0,text:"(UTC-01:00) Azores",utc:["America/Scoresbysund","Atlantic/Azores"]},{value:"Cape Verde Standard Time",abbr:"CVST",offset:-1,isdst:!1,text:"(UTC-01:00) Cape Verde Is.",utc:["Atlantic/Cape_Verde","Etc/GMT+1"]},{value:"Morocco Standard Time",abbr:"MDT",offset:1,isdst:!0,text:"(UTC) Casablanca",utc:["Africa/Casablanca","Africa/El_Aaiun"]},{value:"UTC",abbr:"UTC",offset:0,isdst:!1,text:"(UTC) Coordinated Universal Time",utc:["America/Danmarkshavn","Etc/GMT"]},{value:"GMT Standard Time",abbr:"GMT",offset:0,isdst:!1,text:"(UTC) Edinburgh, London",utc:["Europe/Isle_of_Man","Europe/Guernsey","Europe/Jersey","Europe/London"]},{value:"British Summer Time",abbr:"BST",offset:1,isdst:!0,text:"(UTC+01:00) Edinburgh, London",utc:["Europe/Isle_of_Man","Europe/Guernsey","Europe/Jersey","Europe/London"]},{value:"GMT Standard Time",abbr:"GDT",offset:1,isdst:!0,text:"(UTC) Dublin, Lisbon",utc:["Atlantic/Canary","Atlantic/Faeroe","Atlantic/Madeira","Europe/Dublin","Europe/Lisbon"]},{value:"Greenwich Standard Time",abbr:"GST",offset:0,isdst:!1,text:"(UTC) Monrovia, Reykjavik",utc:["Africa/Abidjan","Africa/Accra","Africa/Bamako","Africa/Banjul","Africa/Bissau","Africa/Conakry","Africa/Dakar","Africa/Freetown","Africa/Lome","Africa/Monrovia","Africa/Nouakchott","Africa/Ouagadougou","Africa/Sao_Tome","Atlantic/Reykjavik","Atlantic/St_Helena"]},{value:"W. Europe Standard Time",abbr:"WEDT",offset:2,isdst:!0,text:"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",utc:["Arctic/Longyearbyen","Europe/Amsterdam","Europe/Andorra","Europe/Berlin","Europe/Busingen","Europe/Gibraltar","Europe/Luxembourg","Europe/Malta","Europe/Monaco","Europe/Oslo","Europe/Rome","Europe/San_Marino","Europe/Stockholm","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Zurich"]},{value:"Central Europe Standard Time",abbr:"CEDT",offset:2,isdst:!0,text:"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",utc:["Europe/Belgrade","Europe/Bratislava","Europe/Budapest","Europe/Ljubljana","Europe/Podgorica","Europe/Prague","Europe/Tirane"]},{value:"Romance Standard Time",abbr:"RDT",offset:2,isdst:!0,text:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",utc:["Africa/Ceuta","Europe/Brussels","Europe/Copenhagen","Europe/Madrid","Europe/Paris"]},{value:"Central European Standard Time",abbr:"CEDT",offset:2,isdst:!0,text:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",utc:["Europe/Sarajevo","Europe/Skopje","Europe/Warsaw","Europe/Zagreb"]},{value:"W. Central Africa Standard Time",abbr:"WCAST",offset:1,isdst:!1,text:"(UTC+01:00) West Central Africa",utc:["Africa/Algiers","Africa/Bangui","Africa/Brazzaville","Africa/Douala","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Luanda","Africa/Malabo","Africa/Ndjamena","Africa/Niamey","Africa/Porto-Novo","Africa/Tunis","Etc/GMT-1"]},{value:"Namibia Standard Time",abbr:"NST",offset:1,isdst:!1,text:"(UTC+01:00) Windhoek",utc:["Africa/Windhoek"]},{value:"GTB Standard Time",abbr:"GDT",offset:3,isdst:!0,text:"(UTC+02:00) Athens, Bucharest",utc:["Asia/Nicosia","Europe/Athens","Europe/Bucharest","Europe/Chisinau"]},{value:"Middle East Standard Time",abbr:"MEDT",offset:3,isdst:!0,text:"(UTC+02:00) Beirut",utc:["Asia/Beirut"]},{value:"Egypt Standard Time",abbr:"EST",offset:2,isdst:!1,text:"(UTC+02:00) Cairo",utc:["Africa/Cairo"]},{value:"Syria Standard Time",abbr:"SDT",offset:3,isdst:!0,text:"(UTC+02:00) Damascus",utc:["Asia/Damascus"]},{value:"E. Europe Standard Time",abbr:"EEDT",offset:3,isdst:!0,text:"(UTC+02:00) E. Europe",utc:["Asia/Nicosia","Europe/Athens","Europe/Bucharest","Europe/Chisinau","Europe/Helsinki","Europe/Kyiv","Europe/Mariehamn","Europe/Nicosia","Europe/Riga","Europe/Sofia","Europe/Tallinn","Europe/Uzhhorod","Europe/Vilnius","Europe/Zaporizhzhia"]},{value:"South Africa Standard Time",abbr:"SAST",offset:2,isdst:!1,text:"(UTC+02:00) Harare, Pretoria",utc:["Africa/Blantyre","Africa/Bujumbura","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Kigali","Africa/Lubumbashi","Africa/Lusaka","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Etc/GMT-2"]},{value:"FLE Standard Time",abbr:"FDT",offset:3,isdst:!0,text:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",utc:["Europe/Helsinki","Europe/Kyiv","Europe/Mariehamn","Europe/Riga","Europe/Sofia","Europe/Tallinn","Europe/Uzhhorod","Europe/Vilnius","Europe/Zaporizhzhia"]},{value:"Turkey Standard Time",abbr:"TDT",offset:3,isdst:!1,text:"(UTC+03:00) Istanbul",utc:["Europe/Istanbul"]},{value:"Israel Standard Time",abbr:"JDT",offset:3,isdst:!0,text:"(UTC+02:00) Jerusalem",utc:["Asia/Jerusalem"]},{value:"Libya Standard Time",abbr:"LST",offset:2,isdst:!1,text:"(UTC+02:00) Tripoli",utc:["Africa/Tripoli"]},{value:"Jordan Standard Time",abbr:"JST",offset:3,isdst:!1,text:"(UTC+03:00) Amman",utc:["Asia/Amman"]},{value:"Arabic Standard Time",abbr:"AST",offset:3,isdst:!1,text:"(UTC+03:00) Baghdad",utc:["Asia/Baghdad"]},{value:"Kaliningrad Standard Time",abbr:"KST",offset:3,isdst:!1,text:"(UTC+02:00) Kaliningrad",utc:["Europe/Kaliningrad"]},{value:"Arab Standard Time",abbr:"AST",offset:3,isdst:!1,text:"(UTC+03:00) Kuwait, Riyadh",utc:["Asia/Aden","Asia/Bahrain","Asia/Kuwait","Asia/Qatar","Asia/Riyadh"]},{value:"E. Africa Standard Time",abbr:"EAST",offset:3,isdst:!1,text:"(UTC+03:00) Nairobi",utc:["Africa/Addis_Ababa","Africa/Asmera","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Mogadishu","Africa/Nairobi","Antarctica/Syowa","Etc/GMT-3","Indian/Antananarivo","Indian/Comoro","Indian/Mayotte"]},{value:"Moscow Standard Time",abbr:"MSK",offset:3,isdst:!1,text:"(UTC+03:00) Moscow, St. Petersburg, Volgograd, Minsk",utc:["Europe/Kirov","Europe/Moscow","Europe/Simferopol","Europe/Volgograd","Europe/Minsk"]},{value:"Samara Time",abbr:"SAMT",offset:4,isdst:!1,text:"(UTC+04:00) Samara, Ulyanovsk, Saratov",utc:["Europe/Astrakhan","Europe/Samara","Europe/Ulyanovsk"]},{value:"Iran Standard Time",abbr:"IDT",offset:4.5,isdst:!0,text:"(UTC+03:30) Tehran",utc:["Asia/Tehran"]},{value:"Arabian Standard Time",abbr:"AST",offset:4,isdst:!1,text:"(UTC+04:00) Abu Dhabi, Muscat",utc:["Asia/Dubai","Asia/Muscat","Etc/GMT-4"]},{value:"Azerbaijan Standard Time",abbr:"ADT",offset:5,isdst:!0,text:"(UTC+04:00) Baku",utc:["Asia/Baku"]},{value:"Mauritius Standard Time",abbr:"MST",offset:4,isdst:!1,text:"(UTC+04:00) Port Louis",utc:["Indian/Mahe","Indian/Mauritius","Indian/Reunion"]},{value:"Georgian Standard Time",abbr:"GET",offset:4,isdst:!1,text:"(UTC+04:00) Tbilisi",utc:["Asia/Tbilisi"]},{value:"Caucasus Standard Time",abbr:"CST",offset:4,isdst:!1,text:"(UTC+04:00) Yerevan",utc:["Asia/Yerevan"]},{value:"Afghanistan Standard Time",abbr:"AST",offset:4.5,isdst:!1,text:"(UTC+04:30) Kabul",utc:["Asia/Kabul"]},{value:"West Asia Standard Time",abbr:"WAST",offset:5,isdst:!1,text:"(UTC+05:00) Ashgabat, Tashkent",utc:["Antarctica/Mawson","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Dushanbe","Asia/Oral","Asia/Samarkand","Asia/Tashkent","Etc/GMT-5","Indian/Kerguelen","Indian/Maldives"]},{value:"Yekaterinburg Time",abbr:"YEKT",offset:5,isdst:!1,text:"(UTC+05:00) Yekaterinburg",utc:["Asia/Yekaterinburg"]},{value:"Pakistan Standard Time",abbr:"PKT",offset:5,isdst:!1,text:"(UTC+05:00) Islamabad, Karachi",utc:["Asia/Karachi"]},{value:"India Standard Time",abbr:"IST",offset:5.5,isdst:!1,text:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",utc:["Asia/Kolkata","Asia/Calcutta"]},{value:"Sri Lanka Standard Time",abbr:"SLST",offset:5.5,isdst:!1,text:"(UTC+05:30) Sri Jayawardenepura",utc:["Asia/Colombo"]},{value:"Nepal Standard Time",abbr:"NST",offset:5.75,isdst:!1,text:"(UTC+05:45) Kathmandu",utc:["Asia/Kathmandu"]},{value:"Central Asia Standard Time",abbr:"CAST",offset:6,isdst:!1,text:"(UTC+06:00) Nur-Sultan (Astana)",utc:["Antarctica/Vostok","Asia/Almaty","Asia/Bishkek","Asia/Qyzylorda","Asia/Urumqi","Etc/GMT-6","Indian/Chagos"]},{value:"Bangladesh Standard Time",abbr:"BST",offset:6,isdst:!1,text:"(UTC+06:00) Dhaka",utc:["Asia/Dhaka","Asia/Thimphu"]},{value:"Myanmar Standard Time",abbr:"MST",offset:6.5,isdst:!1,text:"(UTC+06:30) Yangon (Rangoon)",utc:["Asia/Rangoon","Indian/Cocos"]},{value:"SE Asia Standard Time",abbr:"SAST",offset:7,isdst:!1,text:"(UTC+07:00) Bangkok, Hanoi, Jakarta",utc:["Antarctica/Davis","Asia/Bangkok","Asia/Hovd","Asia/Jakarta","Asia/Phnom_Penh","Asia/Pontianak","Asia/Saigon","Asia/Vientiane","Etc/GMT-7","Indian/Christmas"]},{value:"N. Central Asia Standard Time",abbr:"NCAST",offset:7,isdst:!1,text:"(UTC+07:00) Novosibirsk",utc:["Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk"]},{value:"China Standard Time",abbr:"CST",offset:8,isdst:!1,text:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",utc:["Asia/Hong_Kong","Asia/Macau","Asia/Shanghai"]},{value:"North Asia Standard Time",abbr:"NAST",offset:8,isdst:!1,text:"(UTC+08:00) Krasnoyarsk",utc:["Asia/Krasnoyarsk"]},{value:"Singapore Standard Time",abbr:"MPST",offset:8,isdst:!1,text:"(UTC+08:00) Kuala Lumpur, Singapore",utc:["Asia/Brunei","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Makassar","Asia/Manila","Asia/Singapore","Etc/GMT-8"]},{value:"W. Australia Standard Time",abbr:"WAST",offset:8,isdst:!1,text:"(UTC+08:00) Perth",utc:["Antarctica/Casey","Australia/Perth"]},{value:"Taipei Standard Time",abbr:"TST",offset:8,isdst:!1,text:"(UTC+08:00) Taipei",utc:["Asia/Taipei"]},{value:"Ulaanbaatar Standard Time",abbr:"UST",offset:8,isdst:!1,text:"(UTC+08:00) Ulaanbaatar",utc:["Asia/Choibalsan","Asia/Ulaanbaatar"]},{value:"North Asia East Standard Time",abbr:"NAEST",offset:8,isdst:!1,text:"(UTC+08:00) Irkutsk",utc:["Asia/Irkutsk"]},{value:"Japan Standard Time",abbr:"JST",offset:9,isdst:!1,text:"(UTC+09:00) Osaka, Sapporo, Tokyo",utc:["Asia/Dili","Asia/Jayapura","Asia/Tokyo","Etc/GMT-9","Pacific/Palau"]},{value:"Korea Standard Time",abbr:"KST",offset:9,isdst:!1,text:"(UTC+09:00) Seoul",utc:["Asia/Pyongyang","Asia/Seoul"]},{value:"Cen. Australia Standard Time",abbr:"CAST",offset:9.5,isdst:!1,text:"(UTC+09:30) Adelaide",utc:["Australia/Adelaide","Australia/Broken_Hill"]},{value:"AUS Central Standard Time",abbr:"ACST",offset:9.5,isdst:!1,text:"(UTC+09:30) Darwin",utc:["Australia/Darwin"]},{value:"E. Australia Standard Time",abbr:"EAST",offset:10,isdst:!1,text:"(UTC+10:00) Brisbane",utc:["Australia/Brisbane","Australia/Lindeman"]},{value:"AUS Eastern Standard Time",abbr:"AEST",offset:10,isdst:!1,text:"(UTC+10:00) Canberra, Melbourne, Sydney",utc:["Australia/Melbourne","Australia/Sydney"]},{value:"West Pacific Standard Time",abbr:"WPST",offset:10,isdst:!1,text:"(UTC+10:00) Guam, Port Moresby",utc:["Antarctica/DumontDUrville","Etc/GMT-10","Pacific/Guam","Pacific/Port_Moresby","Pacific/Saipan","Pacific/Truk"]},{value:"Tasmania Standard Time",abbr:"TST",offset:10,isdst:!1,text:"(UTC+10:00) Hobart",utc:["Australia/Currie","Australia/Hobart"]},{value:"Yakutsk Standard Time",abbr:"YST",offset:9,isdst:!1,text:"(UTC+09:00) Yakutsk",utc:["Asia/Chita","Asia/Khandyga","Asia/Yakutsk"]},{value:"Central Pacific Standard Time",abbr:"CPST",offset:11,isdst:!1,text:"(UTC+11:00) Solomon Is., New Caledonia",utc:["Antarctica/Macquarie","Etc/GMT-11","Pacific/Efate","Pacific/Guadalcanal","Pacific/Kosrae","Pacific/Noumea","Pacific/Ponape"]},{value:"Vladivostok Standard Time",abbr:"VST",offset:11,isdst:!1,text:"(UTC+11:00) Vladivostok",utc:["Asia/Sakhalin","Asia/Ust-Nera","Asia/Vladivostok"]},{value:"New Zealand Standard Time",abbr:"NZST",offset:12,isdst:!1,text:"(UTC+12:00) Auckland, Wellington",utc:["Antarctica/McMurdo","Pacific/Auckland"]},{value:"UTC+12",abbr:"U",offset:12,isdst:!1,text:"(UTC+12:00) Coordinated Universal Time+12",utc:["Etc/GMT-12","Pacific/Funafuti","Pacific/Kwajalein","Pacific/Majuro","Pacific/Nauru","Pacific/Tarawa","Pacific/Wake","Pacific/Wallis"]},{value:"Fiji Standard Time",abbr:"FST",offset:12,isdst:!1,text:"(UTC+12:00) Fiji",utc:["Pacific/Fiji"]},{value:"Magadan Standard Time",abbr:"MST",offset:12,isdst:!1,text:"(UTC+12:00) Magadan",utc:["Asia/Anadyr","Asia/Kamchatka","Asia/Magadan","Asia/Srednekolymsk"]},{value:"Kamchatka Standard Time",abbr:"KDT",offset:13,isdst:!0,text:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",utc:["Asia/Kamchatka"]},{value:"Tonga Standard Time",abbr:"TST",offset:13,isdst:!1,text:"(UTC+13:00) Nuku'alofa",utc:["Etc/GMT-13","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Tongatapu"]},{value:"Samoa Standard Time",abbr:"SST",offset:13,isdst:!1,text:"(UTC+13:00) Samoa",utc:["Pacific/Apia"]}].filter(e=>e.utc.length).reduce((e,a)=>{let t=a.utc;for(let n=0;n<t.length;n++){const i=t[n],s=a.text;let r=s.substring(s.indexOf("(")+1,s.indexOf(")"));-1!==r.indexOf("UTC")&&e.push({value:i,abbr:a.abbr,offset:a.offset,isdst:a.isdst,text:`(${r}) ${i}`,utc:["Etc/GMT-13","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Tongatapu"]})}return e},[]).filter((e,a,t)=>a===t.findIndex(a=>a.value===e.value));const pi={language:{label:"profile.language",Picker:function({value:a,onChange:t,...n}){const{t:i}=re(),s=ui.map(e=>({value:e.value,label:e.label,icon:e.flag}));return e(ci,{...n,options:s,value:a,onChange:t,placeholder:i("dropdowns.searchLanguage"),emptyLabel:i("dropdowns.chooseLanguage")})}},country:{label:"profile.country",Picker:function({value:a,onChange:t,...n}){const{t:i}=re(),s=cn.map(e=>({value:e.value,label:e.text,icon:e.flag}));return e(ci,{...n,options:s,value:a,onChange:t,placeholder:i("dropdowns.searchCountry"),emptyLabel:i("dropdowns.chooseCountry")})}},currency:{label:"profile.currency",Picker:function({value:a,onChange:t,...n}){const{t:i}=re(),s=oi.map(e=>({value:e.value,label:e.text,icon:e.icon??void 0}));return e(ci,{...n,options:s,value:a,onChange:t,placeholder:i("dropdowns.searchCurrency"),emptyLabel:i("dropdowns.chooseCurrency")})}},timezone:{label:"profile.timezone",Picker:function({value:a,onChange:t,...n}){const{t:i}=re(),s=mi.map(e=>({value:e.value,label:e.text}));return e(ci,{...n,options:s,value:a,onChange:t,placeholder:i("dropdowns.searchTimezone"),emptyLabel:i("dropdowns.chooseTimezone")})}}},hi=({field:t,value:n,onChange:i})=>{const{t:s}=re(),r=ee(),{label:c,Picker:l}=pi[t];return a("div",{className:"flex flex-col gap-0.5",children:[e("div",{id:r,className:"text-sm font-medium",children:s(c)}),e(l,{"aria-labelledby":r,value:n,onChange:e=>i(t,e)})]})},gi=({fields:a,values:t,onChange:n})=>e("div",{className:"flex gap-y-2 my-4 flex-col",children:a.map(a=>e(hi,{field:a,value:t[a],onChange:n},a))}),fi=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function bi(){const e=ie();return q(a=>{const t=e.getState().session;t&&e.dispatch(se.setSession({...t,user:{...t.user,...a}}))},[e])}const vi=({currentEmail:t,busy:n,waitSeconds:i,onSubmit:s,onCancel:r})=>{const{t:c}=re(),l=jt.object({newEmail:jt.string().trim().refine(e=>fi.test(e),{message:c("profile.changeEmailInvalid")}).refine(e=>e.toLowerCase()!==t.trim().toLowerCase(),{message:c("profile.changeEmailSame")})}),o=Vt({resolver:Wt(l),defaultValues:{newEmail:""}});return e(la,{...o,children:a("form",{noValidate:!0,onSubmit:o.handleSubmit(e=>s(e.newEmail)),className:"space-y-3 rounded-md border p-4",children:[e(oa,{disabled:n,control:o.control,name:"newEmail",render:({field:t})=>a(da,{children:[e(ua,{children:c("profile.changeEmailNewLabel")}),e(ma,{children:e(pa,{type:"email",dir:"ltr",autoFocus:!0,autoComplete:"email",autoCapitalize:"off",spellCheck:!1,...t})}),e(ha,{})]})}),e("p",{className:"text-xs text-muted-foreground",children:c("profile.changeEmailNewHint")}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:n,onClick:r,children:c("settings.common.cancel")}),e(we,{type:"submit",progress:n,disabled:n||i>0,children:c("profile.changeEmailSend")})]})]})})},xi=({email:t,confirming:n,resending:i,waitSeconds:s,onSubmit:r,onResend:c,onCancel:l})=>{const{t:o}=re(),d=n||i,u=jt.object({code:jt.string().refine(e=>/^\d{6}$/.test((e=>e.replace(/\s+/g,""))(e)),{message:o("profile.changeEmailCodeInvalid")})}),m=Vt({resolver:Wt(u),defaultValues:{code:""}});return e(la,{...m,children:a("form",{onSubmit:m.handleSubmit(e=>r(e.code)),className:"space-y-3 rounded-md border p-4",children:[e("p",{className:"text-sm break-words",children:o("profile.changeEmailSentTo",{email:t})}),e(oa,{disabled:d,control:m.control,name:"code",render:({field:t})=>a(da,{children:[e(ua,{children:o("profile.changeEmailCodeLabel")}),e(ma,{children:e(pa,{dir:"ltr",autoFocus:!0,autoComplete:"one-time-code",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,inputMode:"numeric",maxLength:7,className:"font-mono sm:max-w-xs",...t})}),e(ha,{})]})}),a("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-between",children:[e(we,{type:"button",variant:"outline",progress:i,disabled:d||s>0,onClick:c,children:s>0?o("profile.changeEmailResendIn",{seconds:s}):o("profile.changeEmailResend")}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:d,onClick:l,children:o("settings.common.cancel")}),e(we,{type:"submit",progress:n,disabled:d,children:o("profile.changeEmailConfirm")})]})]})]})})},yi=({user:t,onUserChange:n})=>{const{t:i}=re(),{visible:s}=ke(),r=s(e=>e.settings?.profile?.changeEmail),{api:c}=le(),l=bi(),[o,d]=Y({kind:"idle"}),[u,m]=Y(null),[p,h]=Y(null),[g,f]=Y(0),[b,v]=Y(()=>Date.now());J(()=>{if(g<=Date.now())return;v(Date.now());const e=setInterval(()=>{const a=Date.now();v(a),a>=g&&clearInterval(e)},1e3);return()=>clearInterval(e)},[g]);const x=Math.max(0,Math.ceil((g-b)/1e3)),{canChangeEmail:y,changeEmailBlockedBy:N}=_a(t),w=r&&y,S=r&&"linked_social_account"===N;function A(e){const a=Date.now()+1e3*e;v(Date.now()),f(a)}function C(e,a){pe(e,{component:"WorkspaceSettingsProfile",action:a}),h({ok:!1,message:he(e,i)});const{code:t,retryAfter:s}=e??{};if("number"==typeof s&&A(s),"linked_social_account"===t){const e={canChangeEmail:!1,changeEmailBlockedBy:t};d({kind:"idle"}),n(e),l(e)}}function T(e){h(null),f(0),d(e)}async function k(e,a){m(a?"resend":"send"),h(null);try{const{retryAfter:t}=await c.requestEmailChange(e);A(t),d({kind:"verify",email:e}),a&&h({ok:!0,message:i("profile.changeEmailResent",{email:e})})}catch(e){C(e,"requestEmailChange")}finally{m(null)}}return a("div",{className:"space-y-3",children:[a("div",{children:[a("div",{className:"mb-1 flex items-center gap-1",children:[e("label",{htmlFor:"profile-email",className:"block text-sm font-medium",children:i("profile.email")}),e(Gn,{canChange:w})]}),a("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e(pa,{id:"profile-email",disabled:!0,className:"w-full border rounded px-3 py-2 bg-muted",value:t.email}),w&&"idle"===o.kind&&e(we,{type:"button",variant:"outline",className:"shrink-0",onClick:()=>T({kind:"enter"}),children:i("profile.changeEmail")})]}),S&&e("p",{className:"mt-1 text-xs text-muted-foreground",children:i("profile.changeEmailBlockedSocial")})]}),p&&e(ue,{variant:p.ok?"success":"error",title:p.ok?i("settings.common.success"):i("settings.common.error"),message:p.message}),w&&"enter"===o.kind&&e(vi,{currentEmail:t.email,busy:"send"===u,waitSeconds:x,onSubmit:e=>k(e,!1),onCancel:()=>T({kind:"idle"})}),w&&"verify"===o.kind&&e(xi,{email:o.email,confirming:"confirm"===u,resending:"resend"===u,waitSeconds:x,onSubmit:async function(e){if("verify"===o.kind){m("confirm"),h(null);try{const a=await c.confirmEmailChange(e),t="string"==typeof a?.email&&a.email?a.email:o.email;n({email:t}),l({email:t,emailVerified:!0}),d({kind:"idle"}),f(0),h({ok:!0,message:i("profile.changeEmailChanged",{email:t})})}catch(e){C(e,"confirmEmailChange")}finally{m(null)}}},onResend:()=>k(o.email,!0),onCancel:()=>T({kind:"idle"})})]})},Ni=({username:t,policy:n,onChange:i})=>{const{t:s}=re(),{api:r}=le(),c=bi(),[l,o]=Y(t),[d,u]=Y(!1),[m,p]=Y(null),[h,g]=Y(null);J(()=>{o(t),u(!1)},[t]);const f=null===n||n.enabled,b=!0===n?.required,v=La(l),x=(v??l.trim().toLowerCase())===t;function y(e){i(e),o(e),c({username:e||void 0})}const N="profile-username-hint",w="profile-username-error";return a("div",{className:"space-y-3",children:[a("form",{noValidate:!0,onSubmit:e=>{e.preventDefault(),f&&!x&&null===m&&async function(){if(v){p("save"),g(null);try{const e=await r.setUsername(v);y(e.username),g({ok:!0,message:s("profile.usernameSaved",{username:e.username})})}catch(e){pe(e,{component:"WorkspaceSettingsProfile",action:"setUsername"}),g({ok:!1,message:he(e,s)})}finally{p(null)}}else u(!0)}()},children:[e("label",{htmlFor:"profile-username",className:"mb-1 block text-sm font-medium",children:s("profile.username")}),a("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e(pa,{id:"profile-username",dir:"ltr",autoComplete:"username",autoCapitalize:"off",spellCheck:!1,maxLength:30,value:l,disabled:!f||null!==m,"aria-invalid":d||void 0,"aria-describedby":d?`${N} ${w}`:N,onChange:e=>{o(e.target.value),u(!1)}}),a("div",{className:"flex shrink-0 flex-wrap gap-2",children:[f&&e(we,{type:"submit",variant:"outline",progress:"save"===m,disabled:x||null!==m,children:s("profile.usernameSave")}),t&&!b&&e(we,{type:"button",variant:"outline",className:"text-destructive",progress:"remove"===m,disabled:null!==m,onClick:async function(){p("remove"),g(null);try{await r.removeUsername(),y(""),g({ok:!0,message:s("profile.usernameRemoved")})}catch(e){pe(e,{component:"WorkspaceSettingsProfile",action:"removeUsername"}),g({ok:!1,message:he(e,s)})}finally{p(null)}},children:s("profile.usernameRemove")})]})]}),d&&e("p",{id:w,className:"mt-1 text-xs text-destructive",children:s("profile.usernameInvalid")}),e("p",{id:N,className:"mt-1 text-xs text-muted-foreground",children:s(b?"profile.usernameRequiredNote":"profile.usernameHint")})]}),h&&e(ue,{variant:h.ok?"success":"error",title:h.ok?s("settings.common.success"):s("settings.common.error"),message:h.message})]})};const wi=({workspace:n})=>{const{t:i}=re(),{visible:s}=ke(),r=[["language",s(e=>e.settings?.profile?.language)],["country",s(e=>e.settings?.profile?.country)],["currency",s(e=>e.settings?.profile?.currency)],["timezone",s(e=>e.settings?.profile?.timezone)]].filter(([,e])=>e).map(([e])=>e),c=s(e=>e.settings?.profile?.username),{updateUserProfile:l,getProfile:o}=ze(),[d,u]=Y(!1),[m,p]=Y(),[h,g]=Y(0),[f,b]=Y(!1),[v,x]=Y(null),y=Hn(),N=ca("profile-image"),w=Q(null),S=function(e){const a=Ra(),[t,n]=Y(null);return J(()=>{if(!e||!a.serverUrl||!a.orgId)return;const t=new AbortController;return new Ia({serverUrl:a.serverUrl,version:a.version}).getUsernamePolicy(a.orgId,t.signal).then(n).catch(()=>n(null)),()=>t.abort()},[e,a.serverUrl,a.version,a.orgId]),t}(c),A=!!m&&Ea(m),C="string"==typeof m?.username?m.username:"",T=c&&!A&&(!!C||!!S?.enabled),k=jt.object({name:jt.string().min(2,{message:i("profile.nameMinLength")}),country:jt.string().optional(),timezone:jt.string().optional(),language:jt.string().optional(),currency:jt.string().optional(),image:jt.string().optional()}),E=Vt({resolver:Wt(k),defaultValues:{name:m?.name||"",country:m?.country||"",timezone:m?.timezone||"",language:m?.language||"",currency:m?.currency||"",image:m?.image||""}});function P(){g(e=>e+1)}J(()=>{b(!1),o().then(e=>{p(e),E.setValue("name",e.name),E.setValue("country",e.country),E.setValue("timezone",e.timezone),E.setValue("language",e.language),E.setValue("currency",e.currency),E.setValue("image",e.image??"")}).catch(e=>{pe(e,{component:"WorkspaceSettingsProfile",action:"getProfile"}),b(!0)})},[h]);const M=f&&e(ue,{variant:"error",title:i("settings.common.error"),message:i("profile.loadFailed"),actionLabel:i("settings.common.retry"),onAction:P,className:m?"mb-4":void 0});if(!m)return M||e(mn,{});const U=E.watch("image")?.trim(),D=d||N.loading;return a("div",{children:[M,y.message&&e(ue,{variant:"success",title:i("settings.common.success"),message:y.message,className:"mb-4"}),v&&e(ue,{variant:"error",title:i("settings.common.error"),message:v,className:"mb-4"}),a("div",{className:"space-y-4",children:[a("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center",children:[a(Pa,{className:"h-16 w-16",children:[U&&e(Ma,{src:U,alt:i("profile.profileImage")}),e(Ua,{className:"text-lg",children:(m.name||m.email||"?").trim().charAt(0).toUpperCase()})]}),a("div",{className:"min-w-0 space-y-2",children:[e("p",{className:"text-sm font-medium",children:i("profile.profileImage")}),a("div",{className:"flex flex-wrap gap-2",children:[N.enabled&&a(t,{children:[e("input",{ref:w,type:"file",accept:ya,className:"hidden",tabIndex:-1,"aria-hidden":"true",onChange:e=>{const a=e.target.files?.[0];a&&async function(e){try{const a=await N.upload(e);E.setValue("image",a.url,{shouldDirty:!0})}catch{}finally{w.current&&(w.current.value="")}}(a)}}),e(we,{type:"button",variant:"outline",size:"sm",disabled:D,progress:N.loading,"aria-describedby":"profile-picture-help",onClick:()=>w.current?.click(),children:N.loading?i("uploads.uploading"):i("profile.changePicture")})]}),U&&N.enabled&&e(we,{type:"button",variant:"ghost",size:"sm",disabled:D,onClick:()=>E.setValue("image","",{shouldDirty:!0}),children:i("profile.removePicture")})]}),N.enabled&&e("p",{id:"profile-picture-help",className:"text-xs text-muted-foreground",children:i("uploads.description",{max:N.maxLabel})})]})]}),N.error&&e(ue,{variant:"error",message:N.error}),A?e(Da,{onUpgraded:({profile:e,email:a})=>{e&&(p(e),E.setValue("name",e.name)),P(),y.show(i("guest.done",{email:a}))}}):e(yi,{user:m,onUserChange:e=>p(a=>a?{...a,...e}:a)}),T&&e(Ni,{username:C,policy:S,onChange:e=>p(a=>a?{...a,username:e}:a)}),e(la,{...E,children:a("form",{onSubmit:E.handleSubmit(async function(e){const a=e.image?.trim()??"";u(!0),y.clear(),x(null);try{await l({name:e.name,country:e.country,timezone:e.timezone,language:e.language,currency:e.currency,...a!==(m?.image??"")?{image:a}:{}}),p(e=>e?{...e,image:a}:e),y.show(i("profile.success"))}catch(e){pe(e,{component:"WorkspaceSettingsProfile",action:"updateUserProfile",metadata:{workspaceId:n._id}}),x(he(e,i))}finally{u(!1)}}),className:"space-y-4",children:[e(oa,{disabled:d,control:E.control,name:"name",render:({field:t})=>a(da,{children:[e(ua,{children:i("profile.name")}),e(ma,{children:e(pa,{...t})}),e(ha,{})]})}),e(gi,{fields:r,values:{language:E.watch("language"),country:E.watch("country"),currency:E.watch("currency"),timezone:E.watch("timezone")},onChange:(e,a)=>E.setValue(e,a)}),a("div",{className:"flex justify-end gap-x-2",children:[e(we,{type:"submit",progress:d,disabled:D,children:i("profile.save")}),e(we,{type:"button",variant:"outline",onClick:()=>{P()},disabled:D,children:i("profile.reset")})]})]})})]})]})},Si=[["AC","247","",[5,6]],["AD","376","",[6,8,9]],["AE","971","0",[5,6,7,8,9,10,11,12]],["AF","93","0",[9]],["AG","1","1",[10]],["AI","1","1",[10]],["AL","355","0",[6,7,8,9]],["AM","374","0",[8]],["AO","244","",[9]],["AR","54","0",[10,11]],["AS","1","1",[10]],["AT","43","0",[4,5,6,7,8,9,10,11,12,13]],["AU","61","0",[5,6,7,8,9,10,12]],["AW","297","",[7]],["AX","358","0",[5,6,7,8,9,10,11,12]],["AZ","994","0",[9]],["BA","387","0",[8,9]],["BB","1","1",[10]],["BD","880","0",[6,7,8,9,10]],["BE","32","0",[8,9]],["BF","226","",[8]],["BG","359","0",[6,7,8,9,12]],["BH","973","",[8]],["BI","257","",[8]],["BJ","229","",[8,10]],["BL","590","0",[9]],["BM","1","1",[10]],["BN","673","",[7]],["BO","591","0",[8,9]],["BQ","599","",[7]],["BR","55","0",[8,9,10,11]],["BS","1","1",[10]],["BT","975","",[7,8]],["BW","267","",[7,8,10]],["BY","375","8",[6,7,8,9,10,11]],["BZ","501","",[7,11]],["CA","1","1",[7,10]],["CC","61","0",[6,7,8,9,10,12]],["CD","243","0",[7,8,9,10]],["CF","236","",[8]],["CG","242","",[9]],["CH","41","0",[9,12]],["CI","225","",[10]],["CK","682","",[5]],["CL","56","",[9,10,11]],["CM","237","",[8,9]],["CN","86","0",[7,8,9,10,11,12]],["CO","57","0",[8,10,11]],["CR","506","",[8,10]],["CU","53","0",[6,7,8,10]],["CV","238","",[7]],["CW","599","",[7,8]],["CX","61","0",[6,7,8,9,10,12]],["CY","357","",[8]],["CZ","420","",[9,10,11,12]],["DE","49","0",[4,5,6,7,8,9,10,11,12,13,14,15]],["DJ","253","",[8]],["DK","45","",[8]],["DM","1","1",[10]],["DO","1","1",[10]],["DZ","213","0",[8,9]],["EC","593","0",[8,9,10,11]],["EE","372","",[7,8,10]],["EG","20","0",[8,9,10]],["EH","212","0",[9]],["ER","291","0",[7]],["ES","34","",[9]],["ET","251","0",[9]],["FI","358","0",[5,6,7,8,9,10,11,12]],["FJ","679","",[7,11]],["FK","500","",[5]],["FM","691","",[7]],["FO","298","",[6]],["FR","33","0",[9]],["GA","241","",[7,8]],["GB","44","0",[7,9,10]],["GD","1","1",[10]],["GE","995","0",[9]],["GF","594","0",[9]],["GG","44","0",[7,9,10]],["GH","233","0",[8,9]],["GI","350","",[8]],["GL","299","",[6]],["GM","220","",[7]],["GN","224","",[8,9]],["GP","590","0",[9]],["GQ","240","",[9]],["GR","30","",[10,11,12]],["GT","502","",[8,11]],["GU","1","1",[10]],["GW","245","",[7,9]],["GY","592","",[7]],["HK","852","",[5,6,7,8,9,11]],["HN","504","",[8,11]],["HR","385","0",[7,8,9]],["HT","509","",[8]],["HU","36","06",[8,9]],["ID","62","0",[7,8,9,10,11,12,13,14,15,16,17]],["IE","353","0",[7,8,9,10]],["IL","972","0",[7,8,9,10,11,12]],["IM","44","0",[10]],["IN","91","0",[8,9,10,11,12,13]],["IO","246","",[7]],["IQ","964","0",[8,9,10]],["IR","98","0",[4,5,6,7,10]],["IS","354","",[7,9]],["IT","39","",[6,7,8,9,10,11,12]],["JE","44","0",[10]],["JM","1","1",[10]],["JO","962","0",[8,9]],["JP","81","0",[8,9,10,11,12,13,14,15,16,17]],["KE","254","0",[7,8,9,10]],["KG","996","0",[9,10]],["KH","855","0",[8,9,10]],["KI","686","0",[5,8]],["KM","269","",[7]],["KN","1","1",[10]],["KP","850","0",[8,10]],["KR","82","0",[5,6,8,9,10,11,12,13,14]],["KW","965","",[7,8]],["KY","1","1",[10]],["KZ","7","8",[10,14]],["LA","856","0",[8,9,10]],["LB","961","0",[7,8]],["LC","1","1",[10]],["LI","423","0",[7,9]],["LK","94","0",[9]],["LR","231","0",[7,8,9]],["LS","266","",[8]],["LT","370","0",[8]],["LU","352","",[4,5,6,7,8,9,10,11]],["LV","371","",[8]],["LY","218","0",[9]],["MA","212","0",[9]],["MC","377","0",[8,9]],["MD","373","0",[8]],["ME","382","0",[8,9]],["MF","590","0",[9]],["MG","261","0",[9]],["MH","692","1",[7]],["MK","389","0",[8]],["ML","223","",[8]],["MM","95","0",[6,7,8,9,10]],["MN","976","0",[8,9,10]],["MO","853","",[7,8]],["MP","1","1",[10]],["MQ","596","0",[9]],["MR","222","",[8]],["MS","1","1",[10]],["MT","356","",[8]],["MU","230","",[7,8,10]],["MV","960","",[7,10]],["MW","265","0",[7,9]],["MX","52","",[10]],["MY","60","0",[8,9,10]],["MZ","258","",[8,9]],["NA","264","0",[8,9]],["NC","687","",[6]],["NE","227","",[8]],["NF","672","",[6]],["NG","234","0",[10,11,12,13,14]],["NI","505","",[8]],["NL","31","0",[5,6,7,8,9,10,11]],["NO","47","",[5,8]],["NP","977","0",[8,10,11]],["NR","674","",[7]],["NU","683","",[4,7]],["NZ","64","0",[5,6,7,8,9,10]],["OM","968","",[7,8,9]],["PA","507","",[7,8,10,11]],["PE","51","0",[8,9]],["PF","689","",[6,8,9]],["PG","675","",[7,8]],["PH","63","0",[6,8,9,10,11,12,13]],["PK","92","0",[8,9,10,11,12]],["PL","48","",[6,7,8,9,10]],["PM","508","0",[6,9]],["PR","1","1",[10]],["PS","970","0",[8,9,10]],["PT","351","",[9]],["PW","680","",[7]],["PY","595","0",[6,7,8,9,10,11]],["QA","974","",[7,8,9,11]],["RE","262","0",[9]],["RO","40","0",[6,9]],["RS","381","0",[6,7,8,9,10,11,12]],["RU","7","8",[10,14]],["RW","250","0",[8,9]],["SA","966","0",[9,10]],["SB","677","",[5,7]],["SC","248","",[7]],["SD","249","0",[9]],["SE","46","0",[6,7,8,9,10,12]],["SG","65","",[8,10,11]],["SH","290","",[4,5]],["SI","386","0",[5,6,7,8]],["SJ","47","",[5,8]],["SK","421","0",[6,7,9]],["SL","232","0",[8]],["SM","378","",[8,10]],["SN","221","",[9]],["SO","252","0",[6,7,8,9]],["SR","597","",[6,7]],["SS","211","0",[9]],["ST","239","",[7]],["SV","503","",[7,8,11]],["SX","1","1",[10]],["SY","963","0",[8,9]],["SZ","268","",[8,9]],["TA","290","",[4]],["TC","1","1",[10]],["TD","235","",[8]],["TG","228","",[8]],["TH","66","0",[8,9,10,13]],["TJ","992","",[9]],["TK","690","",[4,5,6,7]],["TL","670","",[7,8]],["TM","993","8",[8]],["TN","216","",[8]],["TO","676","",[5,7]],["TR","90","0",[7,10,12,13]],["TT","1","1",[10]],["TV","688","",[5,6,7]],["TW","886","0",[7,8,9,10,11]],["TZ","255","0",[9]],["UA","380","0",[9,10]],["UG","256","0",[9]],["US","1","1",[10]],["UY","598","0",[4,5,6,7,8,9,10,11,12,13]],["UZ","998","",[9]],["VA","39","",[6,7,8,9,10,11,12]],["VC","1","1",[10]],["VE","58","0",[10]],["VG","1","1",[10]],["VI","1","1",[10]],["VN","84","0",[7,8,9,10]],["VU","678","",[5,7]],["WF","681","",[6,9]],["WS","685","",[5,6,7,10]],["XK","383","0",[8,9,10,11,12]],["YE","967","0",[7,8,9]],["YT","262","0",[9]],["ZA","27","0",[5,6,7,8,9,10]],["ZM","260","0",[9]],["ZW","263","0",[5,6,7,8,9,10]]],Ai=new Map(Si.map(e=>[e[0],e])),Ci=new Set(Si.map(e=>e[1])),Ti=Si.map(e=>e[0]);function ki(e){if(Ga(e))for(let a=1;a<=3;a++){const t=e.slice(1,1+a);if(Ci.has(t))return t}}const Ei=/^\+?[\d\s().\-/]+$/,Pi=/[\u00AD\u200B-\u200F\u202A-\u202E\u2060\u2066-\u2069\uFEFF]/g,Mi=/[\u0660-\u0669\u06F0-\u06F9\u0966-\u096F\uFF10-\uFF19]/g,Ui=[1632,1776,2406,65296];function Di(e,a){const t="string"==typeof e?function(e){return e.replace(Pi,"").replace(/\uFF0B/g,"+").replace(Mi,e=>{const a=e.charCodeAt(0),t=Ui.find(e=>a>=e&&a<=e+9)??a;return String(a-t)})}(e).trim():"";if(!t||t.length>32||!Ei.test(t))return null;const n=t.replace(/\D/g,"");if(!n)return null;if(t.startsWith("+"))return Ri(`+${n}`);if(n.startsWith("00"))return Ri(`+${n.slice(2)}`);const i=Ai.get(a?.toUpperCase?.()??"");if(!i)return null;const[,s,r,c]=i;let l=n;if(!c.includes(l.length)&&l.startsWith(s)&&c.includes(l.length-s.length))l=l.slice(s.length);else if(r&&l.startsWith(r)){const e=l.slice(r.length);c.includes(l.length)&&!c.includes(e.length)||(l=e)}return l?Ri(`+${s}${l}`):null}function Ri(e){return Ga(e)?e:null}function Ii(e){const a=ki(e);if(!a)return e;const t=e.slice(1+a.length);return"1"===a&&/^\d{10}$/.test(t)?`+1 ${t.slice(0,3)} ${t.slice(3,6)} ${t.slice(6)}`:`+${a} ${t}`}function _i(e){const a=String(e).replace(/\D/g,"").slice(-4),t=ki(e);return t?`+${t} ••• ••• ${a}`:`••• ${a}`}function Li(e){return`⁦${e}⁩`}function Gi(e){const a=/^[a-z]{2,3}(?:-[a-z]{4})?-([a-z]{2})(?:-|$)/i.exec(e??"");return a?a[1].toUpperCase():void 0}function Bi(e,a){switch(e){case"last_sign_in_method":return"security.phoneLastWay";case"mfa_sms_enrolled":return"security.phoneUsedForTwoStep";case"sms_unavailable":return"check"===a?"security.phoneCheckUnavailable":"security.phoneSmsUnavailable";case"method_unavailable":return"send"===a?"security.phoneTextUnavailable":void 0;default:return}}function Ki(e){const{code:a,retryAfter:t}=e??{};return"cooldown"===a&&"number"==typeof t&&t>0?t:0}const Oi={link_conflict:"security.connectedAccountsLinkConflict",provider_error:"security.connectedAccountsProviderError",provider_failed:"security.connectedAccountsProviderFailed",session_ended:"security.connectedAccountsSessionEnded",no_verified_email:"security.connectedAccountsNoVerifiedEmail",email_unverified:"security.connectedAccountsEmailUnverified",email_unavailable:"security.connectedAccountsEmailUnavailable",disposable_email:"security.connectedAccountsDisposableEmail",signup_closed:"security.connectedAccountsSignupClosed",signup_restricted:"security.connectedAccountsSignupRestricted",waitlist_required:"security.connectedAccountsWaitlistRequired",not_a_guest:"security.connectedAccountsNotAGuest"},Fi=Object.keys(Oi);function Wi(e){const a=e.searchParams,t=a.get("linked");if(null!==t)return a.delete("linked"),t?{kind:"linked",provider:t}:null;const n=a.get("reason");return a.has("error")&&(i=n,Fi.includes(i??""))?(a.delete("error"),a.delete("reason"),{kind:"error",reason:n}):null;var i}function Vi(e){const a=new URL(e);return Wi(a),a.searchParams.set(Ba,`screen:${Ka.Security}`),a.toString()}const ji=new Set(["reverify_unavailable","invalid_return_url"]),zi=({factors:t,disabled:n=!1})=>{const{t:i}=re(),{user:s,session:r,requireReverification:c,signIn:l,signOut:o}=Oa(),[d,u]=Y(!1),[m,p]=Y(null);return a("div",{className:"flex flex-col items-end gap-1",children:[e(we,{size:"sm",progress:d,disabled:n||d,onClick:async function(){u(!0),p(null);const e=Vi(window.location.href);try{await c({returnUrl:e,factors:t})}catch(a){const t=a?.code,n="string"==typeof t&&ji.has(t);if(n&&r?.impersonation)p(i("security.reauthImpersonating"));else if(n&&!s?.isAnonymous)try{return await o(),void await l(e)}catch{}else p(he(a,i));u(!1)}},children:i("security.reauthConfirm")}),m&&e("p",{role:"alert",className:"text-end text-xs text-destructive",children:m})]})};function Hi(e){const a=e?.factors;return Array.isArray(a)&&a.length>0?a:void 0}const $i=/^\d{4,10}$/,Zi=({sentTo:t,submitLabel:n,confirming:i,resending:s,waitSeconds:r,onSubmit:c,onResend:l,onCancel:o})=>{const{t:d}=re(),u=i||s,m=jt.object({code:jt.string().refine(e=>$i.test((e=>e.replace(/\s+/g,""))(e)),{message:d("security.phoneCodeInvalid")})}),p=Vt({resolver:Wt(m),defaultValues:{code:""}});return e(la,{...p,children:a("form",{onSubmit:p.handleSubmit(e=>c(e.code)),className:"space-y-3 rounded-md border p-4",children:[e("p",{className:"text-sm break-words",children:t}),e(oa,{disabled:u,control:p.control,name:"code",render:({field:t})=>a(da,{children:[e(ua,{children:d("security.phoneCodeLabel")}),e(ma,{children:e(pa,{dir:"ltr",autoFocus:!0,autoComplete:"one-time-code",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,inputMode:"numeric",maxLength:12,className:"font-mono sm:max-w-xs",...t})}),e(ha,{})]})}),a("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-between",children:[e(we,{type:"button",variant:"outline",progress:s,disabled:u||r>0,onClick:l,children:r>0?d("security.phoneResendIn",{seconds:r}):d("security.phoneResend")}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:u,onClick:o,children:d("settings.common.cancel")}),e(we,{type:"submit",progress:i,disabled:u,children:n})]})]})]})})},qi=({outcome:t,disabled:n=!1,waitSeconds:i=0})=>{const{t:s}=re();return"wait"===t.variant?i<=0?null:e(ue,{variant:"info",message:e("span",{role:"timer",children:s("security.phoneWait",{seconds:i})})}):a("div",{className:"space-y-2",children:[e(ue,{variant:t.variant,title:"success"===t.variant?s("settings.common.success"):"error"===t.variant?s("settings.common.error"):void 0,message:t.message}),(t.reauth||t.action)&&a("div",{className:"flex flex-wrap items-start justify-end gap-2",children:[t.action&&e(we,{size:"sm",variant:"outline",disabled:n,onClick:t.action.onClick,children:t.action.label}),t.reauth&&a("div",{className:"flex items-start gap-1",children:[e(zi,{factors:t.factors,disabled:n}),e(_n,{className:"mt-1.5 sm:mt-1"})]})]})]})},Yi=new Set(["last_sign_in_method","already_linked","method_unavailable"]),Ji={rejected:"security.walletRejected",wallet_busy:"security.walletBusy",wrong_network:"security.walletWrongNetwork",no_account:"security.walletNoAccount",wallet_failed:"security.walletFailed"},Xi={ethereum:"Ethereum",solana:"Solana"},Qi=({src:a,wallet:t=!1})=>{const[n,i]=Y(!1);if(!function(e){if("string"!=typeof e||!e)return!1;try{const{protocol:a}=new URL(e);return"https:"===a||"http:"===a}catch{return!1}}(a)||n){return e(t?A:C,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"})}return e("img",{src:a,alt:"","aria-hidden":"true",width:16,height:16,className:"h-4 w-4 shrink-0 object-contain",onError:()=>i(!0)})},es=({data:t,onChange:n,walletsAllowed:i=!0})=>{const{t:s,formattingLocale:r}=re(),{ui:c}=ke(),l=c.formats?.date??{dateStyle:"medium"},{api:o}=le(),[d,u]=Y(null),[m,p]=Y(null),h=Q(t.accounts);J(()=>{if("undefined"==typeof window)return;const e=function(e){let a;try{a=new URL(e)}catch{return null}const t=Wi(a);return t?{result:t,cleanUrl:a.toString()}:null}(window.location.href);if(!e)return;window.history.replaceState(window.history.state,"",e.cleanUrl);const{result:a}=e;if("linked"===a.kind){const e=(t=h.current,n=a.provider,t.find(e=>e.provider===n)?.label||void 0);p({variant:"success",message:e?s("security.connectedAccountsLinked",{provider:e}):s("security.connectedAccountsLinkedGeneric")})}else p({variant:"error",message:s(Oi[a.reason])});var t,n},[s]);const g=q(async()=>{try{n(await o.getConnectedAccounts())}catch(e){pe(e,{component:"WorkspaceSettingsSecurity",action:"getConnectedAccounts"})}},[o,n]);function f(e,a){const t=e?.code;"reauth_required"!==t?(pe(e,{component:"WorkspaceSettingsSecurity",action:a}),p({variant:"error",message:he(e,s)}),"string"==typeof t&&Yi.has(t)&&g()):p({variant:"warning",message:s("security.connectedAccountsReauth"),reauth:!0,factors:Hi(e)})}const b=i&&t.wallet?[...t.wallet.ethereumChainIds.length>0?["ethereum"]:[],...t.wallet.solana?["solana"]:[]]:[];if(0===t.accounts.length&&0===t.available.length&&0===b.length&&!m)return null;const v=(e,a)=>null!==d&&d.kind===e&&d.id===a;return a("div",{className:"space-y-4 border-b pb-6",children:[e(Be,{title:s("security.connectedAccountsTitle"),description:s("security.connectedAccountsDescription"),help:e(Un,{})}),m&&e(qi,{outcome:m,disabled:null!==d}),0===t.accounts.length?(t.available.length>0||b.length>0)&&e("p",{className:"text-sm text-muted-foreground",children:s("security.connectedAccountsEmpty")}):e("div",{className:"space-y-2",children:t.accounts.map(i=>{const c=`bb-connected-account-${i._id}-reason`;return a("div",{className:"flex flex-col gap-3 rounded-md border p-3 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(Qi,{src:i.icon,wallet:Fa(i.provider)}),a("div",{className:"min-w-0",children:[e("p",{className:"truncate text-sm font-medium",children:i.label}),i.detail&&e("p",{dir:"ltr",className:"truncate font-mono text-xs text-muted-foreground",children:i.detail}),i.createdAt&&e("p",{className:"text-xs text-muted-foreground",children:`${s("security.added")}: ${de(i.createdAt,r,l)}`}),!i.canUnlink&&e("p",{id:c,className:"text-xs text-muted-foreground",children:s("security.connectedAccountsLastWay")})]})]}),e("div",{className:"flex shrink-0",children:a($e,{children:[e(Ze,{asChild:!0,children:e(we,{size:"sm",variant:"outline",className:"text-destructive",progress:v("unlink",i._id),disabled:!i.canUnlink||null!==d,"aria-describedby":i.canUnlink?void 0:c,children:s("security.remove")})}),a(qe,{children:[a(Ye,{children:[e(Je,{children:s("security.connectedAccountsRemoveTitle",{provider:i.label})}),e(Xe,{children:s("security.connectedAccountsRemoveDescription",{provider:i.label})})]}),a(Qe,{children:[e(ea,{children:s("settings.common.cancel")}),e(aa,{onClick:()=>async function(e){u({kind:"unlink",id:e._id}),p(null);try{await o.unlinkAccount(e._id);try{n(await o.getConnectedAccounts())}catch{n({...t,accounts:t.accounts.filter(a=>a._id!==e._id)})}p({variant:"success",message:s("security.connectedAccountsRemoved",{provider:e.label})})}catch(e){f(e,"unlinkAccount")}finally{u(null)}}(i),children:s("security.remove")})]})]})]})})]},i._id)})}),(t.available.length>0||b.length>0)&&a("div",{className:"space-y-2",children:[t.accounts.length>0&&e("p",{className:"text-xs font-medium text-muted-foreground",children:s("security.connectedAccountsAvailable")}),a("div",{className:"flex flex-wrap gap-2",children:[b.map(i=>a(we,{size:"sm",variant:"outline",className:"gap-2",progress:v("wallet",i),disabled:null!==d,onClick:()=>async function(e){u({kind:"wallet",id:e}),p(null);try{const a=await Wa(e,{api:o,ethereumChainIds:t.wallet?.ethereumChainIds});try{n(await o.getConnectedAccounts())}catch{n({...t,accounts:[...t.accounts,a]})}p({variant:"success",message:s("security.connectedAccountsLinked",{provider:a.label})})}catch(a){a instanceof Va?p({variant:"rejected"===a.code?"info":"error",message:"no_wallet"===a.code?s("security.walletNotFound",{chain:Xi[e]}):s(Ji[a.code])}):f(a,"linkWallet")}finally{u(null)}}(i),children:[!v("wallet",i)&&e(Qi,{wallet:!0}),s("ethereum"===i?"security.walletConnectEthereum":"security.walletConnectSolana")]},`wallet-${i}`)),t.available.map(t=>a(we,{size:"sm",variant:"outline",className:"gap-2",progress:v("link",t.methodId),disabled:null!==d,onClick:()=>async function(e){u({kind:"link",id:e.methodId}),p(null);try{const{url:a}=await o.linkAccount(e.methodId,Vi(window.location.href));if(!ja(a))throw new Error(s("security.connectedAccountsProviderFailed"));Ve(a)}catch(e){f(e,"linkAccount"),u(null)}}(t),children:[!v("link",t.methodId)&&e(Qi,{src:t.icon}),s("security.connectedAccountsConnect",{provider:t.label})]},t.methodId))]}),b.length>0&&e("p",{className:"text-xs text-muted-foreground",children:s("security.walletHint")})]})]})};const as=e=>e.normalize("NFC").trim().toLocaleUpperCase(),ts=({deleteAfter:t,onChange:n})=>{const{t:i,formattingLocale:s}=re(),{ui:r}=ke(),c=r.formats?.date??{dateStyle:"long"},{api:l}=le(),{signOut:d}=Oa(),[u,m]=Y(!1),[p,h]=Y(""),[g,f]=Y(null),[b,v]=Y(null),[x,y]=Y([]),N=function(){const e=Ra(),[a,t]=Y(null);return J(()=>{if(!e.serverUrl||!e.orgId)return;const a=new AbortController;return new Ia({serverUrl:e.serverUrl,version:e.version}).getAccountDeletionGraceDays(e.orgId,a.signal).then(t).catch(()=>t(null)),()=>a.abort()},[e.serverUrl,e.version,e.orgId]),a}(),w=i("security.deleteAccountWord"),S=[w,"DELETE"].some(e=>as(p)===as(e));function A(e,a){const t=e?.code;if("reauth_required"!==t){if("owns_workspaces"===t){const a=e.workspaces??[];return y(a),void v({variant:"error",message:a.length?i("security.deleteAccountOwnsWorkspaces",{count:a.length}):he(e,i)})}pe(e,{component:"WorkspaceSettingsSecurity",action:a}),v({variant:"error",message:he(e,i)})}else v({variant:"warning",message:i("security.deleteAccountReauth"),reauth:!0,factors:Hi(e)})}const C="bb-security-delete-account-confirm";return a("div",{className:"space-y-4 border-t pt-6",children:[e(Be,{title:i("security.deleteAccountTitle"),titleClassName:"text-destructive",description:i("security.deleteAccountDescription"),help:t?void 0:e(Kn,{graceDays:N})}),b&&e(qi,{outcome:b,disabled:null!==g}),x.length>0&&e("ul",{className:"list-disc space-y-1 ps-5 text-sm",children:x.map(a=>e("li",{className:"break-words",children:a.name},a.id))}),t?a("div",{className:"flex flex-col gap-3 rounded-md border border-destructive/20 bg-destructive/10 p-3 sm:flex-row sm:items-center sm:justify-between",children:[e("p",{className:"text-sm text-destructive",children:i("security.deleteAccountScheduled",{date:de(t,s,c)})}),e(we,{size:"sm",variant:"outline",className:"shrink-0",progress:"cancel"===g,disabled:null!==g,onClick:async function(){f("cancel"),v(null);try{await Jt(l,()=>n(void 0)),v({variant:"success",message:i("security.deleteAccountCancelled")})}catch(e){A(e,"cancelAccountDeletion")}finally{f(null)}},children:i("security.deleteAccountCancel")})]}):u?a("form",{noValidate:!0,className:"space-y-3 rounded-md border border-destructive/20 p-4",onSubmit:e=>{e.preventDefault(),S&&null===g&&async function(){f("delete"),v(null),y([]);try{const e=await l.requestAccountDeletion();if(e.deleted)return void await d();m(!1),h(""),n(e.deleteAfter??void 0)}catch(e){A(e,"requestAccountDeletion")}finally{f(null)}}()},children:[e("p",{className:"text-sm",children:null===N?i("security.deleteAccountWarning"):0===N?i("security.deleteAccountWarningNow"):i("security.deleteAccountWarningDays",{days:N})}),a("div",{className:"space-y-1.5",children:[e("label",{htmlFor:C,className:"block text-sm font-medium",children:i("security.deleteAccountTypeLabel",{word:w})}),e(pa,{id:C,autoFocus:!0,autoComplete:"off",autoCapitalize:"characters",spellCheck:!1,className:"sm:max-w-xs",value:p,disabled:null!==g,onChange:e=>h(e.target.value)})]}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:null!==g,onClick:()=>{m(!1),h("")},children:i("settings.common.cancel")}),e(we,{type:"submit",variant:"destructive",progress:"delete"===g,disabled:!S||null!==g,children:i("security.deleteAccountConfirm")})]})]}):e("div",{className:"flex",children:a(we,{variant:"outline",className:"text-destructive",onClick:()=>{v(null),y([]),m(!0)},children:[e(o,{className:"me-2 h-4 w-4","aria-hidden":"true"}),i("security.deleteAccountTitle")]})})]})},ns=new Map(cn.map(e=>[e.value,e.text]));const is=({defaultCountry:t,busy:n,waitSeconds:i,onSubmit:s,onCancel:r})=>{const{t:c,locale:l}=re(),o=function(e){return X(()=>{let a;try{a=new Intl.DisplayNames([e],{type:"region"})}catch{a=void 0}const t=e=>{try{const t=a?.of(e);if(t&&t!==e)return t}catch{}return ns.get(e)??e};return Ti.map(e=>{return{value:e,label:t(e),icon:`+${a=e,a?Ai.get(a.toUpperCase())?.[1]:void 0}`};var a}).sort((a,t)=>a.label.localeCompare(t.label,e))},[e])}(l),d=jt.object({country:jt.string(),number:jt.string()}).refine(e=>null!==Di(e.number,e.country),{message:c("security.phoneNumberInvalid"),path:["number"]}),u=Vt({resolver:Wt(d),defaultValues:{country:t,number:""}}),m="bb-security-phone-country-label";return e(la,{...u,children:a("form",{noValidate:!0,onSubmit:u.handleSubmit(e=>{const a=Di(e.number,e.country);a&&s(a)}),className:"space-y-3 rounded-md border p-4",children:[a("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start",children:[a("div",{className:"flex flex-col gap-2 sm:w-56 sm:shrink-0",children:[e("div",{id:m,className:"text-sm font-medium",children:c("security.phoneCountryLabel")}),e(ci,{"aria-labelledby":m,options:o,value:u.watch("country"),onChange:e=>u.setValue("country",e,{shouldValidate:!1}),placeholder:c("dropdowns.searchCountry"),emptyLabel:c("dropdowns.chooseCountry")})]}),e(oa,{disabled:n,control:u.control,name:"number",render:({field:t})=>a(da,{className:"min-w-0 flex-1",children:[e(ua,{children:c("security.phoneTitle")}),e(ma,{children:e(pa,{type:"tel",dir:"ltr",autoFocus:!0,autoComplete:"tel",inputMode:"tel",spellCheck:!1,maxLength:32,...t})}),e(ha,{})]})})]}),e("p",{className:"text-xs text-muted-foreground",children:c("security.phoneNumberHint")}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:n,onClick:r,children:c("settings.common.cancel")}),e(we,{type:"submit",progress:n,disabled:n||i>0,children:c("security.phoneSendCode")})]})]})})},ss=({data:t,onChange:n,onStale:i,usedForTwoStep:s,defaultCountry:r,sectionRef:c})=>{const{t:l}=re(),{api:o}=le(),d=za(),[u,m]=Y({kind:"idle"}),[p,h]=Y(null),[g,f]=Y(null),b=t.phone?Li(Ii(t.phone)):"";function v(e){f(null),d.clear(),m(e)}function x(e,a,t){const{code:n,retryAfter:s}=e??{};if("number"==typeof s&&d.wait(s),Ki(e)>0)return void f({variant:"wait"});if("reauth_required"===n)return void f({variant:"warning",message:l("security.phoneReauth"),reauth:!0,factors:Hi(e)});pe(e,{component:"WorkspaceSettingsSecurity",action:t});const r=Bi(n,a);f({variant:"error",message:r?l(r):he(e,l)}),function(e){return"last_sign_in_method"===e||"mfa_sms_enrolled"===e}(n)&&i()}async function y(e,a){h(a?"resend":"send"),f(null);try{const{retryAfter:t}=await o.addPhone(e);d.wait(t),m({kind:"verify",phone:e}),a&&f({variant:"success",message:l("security.phoneResent",{phone:Li(Ii(e))})})}catch(e){x(e,"send","addPhone")}finally{h(null)}}const N="bb-security-phone-reason",w=!0===t.phoneVerified;return a("div",{ref:c,tabIndex:-1,className:"space-y-4 border-b pb-6 outline-none",children:[e(Be,{title:l("security.phoneTitle"),description:l("security.phoneDescription"),help:e(Rn,{})}),g&&e(qi,{outcome:g,disabled:null!==p,waitSeconds:d.waitSeconds}),"idle"===u.kind&&(t.phone?a("div",{className:"flex flex-col gap-3 rounded-md border p-3 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(T,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),a("div",{className:"min-w-0",children:[e("p",{className:"truncate text-sm font-medium",children:b}),e("p",{className:"text-xs "+(w?"text-success":"text-warning"),children:l(w?"security.phoneVerified":"security.phoneNotVerified")}),s&&e("p",{id:N,className:"text-xs text-muted-foreground",children:l("security.phoneUsedForTwoStep")})]})]}),a("div",{className:"flex shrink-0 flex-wrap gap-2",children:[!w&&e(we,{size:"sm",progress:"send"===p,disabled:null!==p||d.waitSeconds>0,onClick:()=>y(t.phone,!1),children:l("security.phoneVerify")}),e(we,{size:"sm",variant:"outline",disabled:null!==p,onClick:()=>v({kind:"enter"}),children:l("security.phoneChange")}),a($e,{children:[e(Ze,{asChild:!0,children:e(we,{size:"sm",variant:"outline",className:"text-destructive",progress:"remove"===p,disabled:s||null!==p,"aria-describedby":s?N:void 0,children:l("security.remove")})}),a(qe,{children:[a(Ye,{children:[e(Je,{children:l("security.phoneRemoveTitle")}),e(Xe,{children:l("security.phoneRemoveDescription",{phone:b})})]}),a(Qe,{children:[e(ea,{children:l("settings.common.cancel")}),e(aa,{onClick:async function(){h("remove"),f(null);try{await o.removePhone(),n({}),f({variant:"success",message:l("security.phoneRemoved")})}catch(e){x(e,"remove","removePhone")}finally{h(null)}},children:l("security.remove")})]})]})]})]})]}):a("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e("p",{className:"text-sm text-muted-foreground",children:l("security.phoneEmpty")}),e(we,{size:"sm",variant:"outline",className:"shrink-0",onClick:()=>v({kind:"enter"}),children:l("security.phoneAdd")})]})),"enter"===u.kind&&e(is,{defaultCountry:r,busy:"send"===p,waitSeconds:d.waitSeconds,onSubmit:e=>y(e,!1),onCancel:()=>v({kind:"idle"})}),"verify"===u.kind&&e(Zi,{sentTo:l("security.phoneSentTo",{phone:Li(Ii(u.phone))}),submitLabel:l("security.phoneVerify"),confirming:"confirm"===p,resending:"resend"===p,waitSeconds:d.waitSeconds,onSubmit:async function(e){if("verify"===u.kind){h("confirm"),f(null);try{const a=(await o.confirmPhone(e)).phone||u.phone;n({phone:a,phoneVerified:!0}),d.clear(),m({kind:"idle"}),f({variant:"success",message:l("security.phoneSaved",{phone:Li(Ii(a))})})}catch(e){x(e,"check","confirmPhone")}finally{h(null)}}},onResend:()=>y(u.phone,!0),onCancel:()=>v({kind:"idle"})})]})},rs=({view:t="change-with-hint"})=>{const{t:n}=re(),{api:i}=le(),[s,r]=Y(!1),[c,l]=Y(null),[o,d]=Y(!1),u=jt.object({currentPassword:jt.string().min(1,{message:n("security.passwordRequired")}),newPassword:jt.string().min(8,{message:n("security.passwordMinLength")})}),m=Vt({resolver:Wt(u),defaultValues:{currentPassword:"",newPassword:""}}),p=()=>l(e=>function(e){return e&&!e.ok?null:e}(e));return a("div","set-on-sign-in"===t?{className:"space-y-2",children:[e(Be,{title:n("security.passwordTitle"),description:n("security.passwordNone")}),e("p",{className:"text-xs text-muted-foreground",children:n("security.passwordNoneHint")})]}:o?{className:"space-y-4",children:[e(Be,{title:n("security.passwordTitle")}),c&&e(ue,{variant:"info",message:c.message})]}:{className:"space-y-4",children:[e(Be,{title:n("security.passwordTitle"),description:n("security.passwordDescription"),help:e(wn,{})}),c&&e(ue,{variant:c.ok?"success":"error",title:c.ok?n("settings.common.success"):n("settings.common.error"),message:c.message}),e(la,{...m,children:a("form",{onSubmit:m.handleSubmit(async function(e){r(!0),l(null);try{await i.changePassword(e.currentPassword,e.newPassword),m.reset(),l({ok:!0,message:n("security.passwordChanged")})}catch(e){if("password_not_set"===e?.code)return m.reset(),d(!0),void l({ok:!1,message:e instanceof Error?e.message:n("security.passwordNone")});pe(e,{component:"WorkspaceSettingsSecurity",action:"changePassword"}),l({ok:!1,message:he(e,n)})}finally{r(!1)}},p),className:"space-y-3",children:[e(oa,{disabled:s,control:m.control,name:"currentPassword",render:({field:t})=>a(da,{children:[e(ua,{children:n("security.currentPassword")}),e(ma,{children:e(pa,{type:"password",autoComplete:"current-password",...t,onChange:e=>{t.onChange(e),p()}})}),e(ha,{})]})}),e(oa,{disabled:s,control:m.control,name:"newPassword",render:({field:t})=>a(da,{children:[e(ua,{children:n("security.newPassword")}),e(ma,{children:e(pa,{type:"password",autoComplete:"new-password",...t,onChange:e=>{t.onChange(e),p()}})}),e(ha,{})]})}),e("div",{className:"flex justify-end",children:e(we,{type:"submit",progress:s,disabled:s,children:n("security.changePassword")})})]})}),"change-with-hint"===t&&e("p",{className:"text-xs text-muted-foreground",children:n("security.passwordSocialHint")})]})},cs=e=>e.replace(/\s+/g,""),ls=new Set(["mfa-off","already-enrolled","not-enrolling","not-enrolled","required-by-org","factor_not_allowed"]);const os=({totpOnly:t=!1,label:n,submitLabel:i,destructive:s=!1,busy:r,onSubmit:c,onCancel:l})=>{const{t:o}=re(),d=jt.object({code:t?jt.string().refine(e=>/^\d{6}$/.test(cs(e)),{message:o("security.twoStepCodeInvalid")}):jt.string().refine(e=>cs(e).length>=6,{message:o("security.twoStepCurrentCodeRequired")})}),u=Vt({resolver:Wt(d),defaultValues:{code:""}});return e(la,{...u,children:a("form",{onSubmit:u.handleSubmit(e=>c(e.code)),className:"space-y-3",children:[e(oa,{disabled:r,control:u.control,name:"code",render:({field:i})=>a(da,{children:[e(ua,{children:n}),e(ma,{children:e(pa,{dir:"ltr",autoFocus:!0,autoComplete:"one-time-code",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,inputMode:t?"numeric":"text",maxLength:t?7:24,className:"font-mono sm:max-w-xs",...i})}),e(ha,{})]})}),a("div",{className:"flex flex-wrap justify-end gap-2",children:[e(we,{type:"button",variant:"ghost",disabled:r,onClick:l,children:o("settings.common.cancel")}),e(we,{type:"submit",variant:s?"destructive":"default",progress:r,disabled:r,children:i})]})]})})},ds=({status:n,onStatusChange:i,phone:s,onGoToPhone:r})=>{const{t:c,formattingLocale:l}=re(),{ui:o}=ke(),d=o.formats?.date??{dateStyle:"medium"},{api:u}=le(),m=za(),[p,h]=Y({kind:"idle"}),[g,f]=Y(!1),[b,v]=Y(null),[x,y]=Y(null),w="required"===n.enforcement,S=g||null!==b,A=!0===n.sms?.enrolled,C=s?.phoneVerified?s.phone:void 0,T="wait"===x?.variant&&m.waitSeconds>0,k=s?.phone;J(()=>{y(e=>function(e){return e?.needsPhone?null:e}(e))},[k,!0===s?.phoneVerified]);const E=q(async()=>{try{i(await u.getMfaStatus())}catch(e){pe(e,{component:"WorkspaceSettingsSecurity",action:"getMfaStatus"})}},[u,i]);function P(){h({kind:"idle"}),y({variant:"warning",message:c("security.twoStepSmsNeedsPhone"),needsPhone:!0,...r?{action:{label:c("security.twoStepSmsGoToPhone"),onClick:r}}:{}})}function M(e,a){const{code:t,retryAfter:n}=e??{};if("number"==typeof n&&m.wait(n),Ki(e)>0)return void y({variant:"wait"});if("reauth_required"===t)return void y({variant:"warning",message:c("security.twoStepSmsReauth"),reauth:!0,factors:Hi(e)});if("phone_required"===t)return void P();pe(e,{component:"WorkspaceSettingsSecurity",action:a});const i=function(e){return"guest_account"===e?"security.twoStepGuest":void 0}(t)??("startSmsEnrollment"===a?Bi(t,"send"):"confirmSmsEnrollment"===a?Bi(t,"check"):void 0);y({variant:"error",message:i?c(i):he(e,c)}),"string"==typeof t&&ls.has(t)&&(h({kind:"idle"}),E())}function D(e){y(null),h(e)}async function R(e){v(e?"resend":"start"),y(null);try{const a=await u.startSmsEnrollment();m.wait(a.retryAfter);const t=a.phone||n.sms?.phone||(C?_i(C):"");h({kind:"smsCode",sentTo:t?c("security.phoneSentTo",{phone:Li(t)}):c("security.twoStepSmsSentGeneric")}),e&&y({variant:"success",message:t?c("security.phoneResent",{phone:Li(t)}):c("security.twoStepSmsSentGeneric")})}catch(e){M(e,"startSmsEnrollment")}finally{v(null)}}const I="off"!==n.enforcement,_=function(e){return"off"===e.enforcement?e.enabled?"remove-only":"hidden":e.enabled?"manage":!1!==e.allowedFactors?.includes("totp")?"set-up":"hidden"}(n),L="remove-only"===_,G=I&&!0===n.sms?.allowed,B=G||A;if("hidden"===_&&!B&&!x)return null;const K=!w||n.enabled,O=n.backupCodesRemaining,F=function(e){const a=e.confirmedAt?Date.parse(e.confirmedAt):NaN,t=e.lastUsedAt?Date.parse(e.lastUsedAt):NaN;return!e.lastUsedAt||Number.isNaN(t)||t-a<6e4?e.confirmedAt?{kind:"added",at:e.confirmedAt}:e.lastUsedAt?{kind:"last-used",at:e.lastUsedAt}:null:{kind:"last-used",at:e.lastUsedAt}}(n),W=F?`${c("last-used"===F.kind?"security.lastUsed":"security.added")}: ${de(F.at,l,d)}`:null;return a("div",{className:"space-y-4 border-b pb-6",children:[e(Be,{title:c("security.twoStepTitle"),description:c(I?"security.twoStepDescription":"security.twoStepOffDescription"),help:e(Cn,{app:"hidden"!==_,sms:B})}),x&&e(qi,{outcome:x,disabled:S,waitSeconds:m.waitSeconds}),w&&("set-up"===_||G)&&!n.enabled&&!A&&e(ue,{variant:"warning",message:c("security.twoStepRequiredSetup")}),"hidden"===_?null:n.enabled?a(t,{children:[a("div",{className:"flex flex-col gap-3 rounded-md border p-3 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(N,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),a("div",{className:"min-w-0",children:[e("p",{className:"truncate text-sm font-medium",children:c("security.twoStepAppName")}),"number"==typeof O&&a("div",{className:"flex items-center gap-1",children:[e("p",{className:"text-xs "+(0===O?"text-warning":"text-muted-foreground"),children:c("security.twoStepBackupLeft",{count:O})}),e(kn,{})]}),W&&e("p",{className:"text-xs text-muted-foreground",children:W})]})]}),"idle"===p.kind&&a("div",{className:"flex shrink-0 flex-wrap gap-2",children:[!L&&e(we,{size:"sm",variant:"outline",disabled:S,onClick:()=>D({kind:"verify",action:"regenerate"}),children:c("security.twoStepNewCodes")}),!w&&e(we,{size:"sm",variant:"outline",className:"text-destructive",disabled:S,onClick:()=>D({kind:"verify",action:"disable"}),children:c(L?"security.remove":"security.twoStepTurnOff")})]})]}),w&&e("p",{className:"text-xs text-muted-foreground",children:c("security.twoStepRequiredNote")}),"verify"===p.kind&&a("div",{className:"space-y-3 rounded-md border p-4",children:[e("p",{className:"text-sm text-muted-foreground",children:"regenerate"===p.action?c("security.twoStepNewCodesHint"):c(L?"security.twoStepRemoveHint":"security.twoStepTurnOffHint")}),e(os,{label:c("security.twoStepCurrentCodeLabel"),submitLabel:"regenerate"===p.action?c("security.twoStepNewCodes"):c(L?"security.remove":"security.twoStepTurnOff"),destructive:"disable"===p.action,busy:g,onSubmit:e=>async function(e,a){f(!0),y(null);try{if("disable"===e)await u.disableTotp(a),i({enabled:!1,enforcement:n.enforcement,allowedFactors:n.allowedFactors,...n.sms?{sms:n.sms}:{}}),h({kind:"idle"}),y({variant:"success",message:"off"===n.enforcement||A?c("security.twoStepRemoved"):c("security.twoStepDisabled")});else{const{backupCodes:e}=await u.regenerateBackupCodes(a);i({...n,backupCodesRemaining:e.length}),h({kind:"codes",codes:e}),y({variant:"success",message:c("security.twoStepCodesRegenerated")})}}catch(a){M(a,"disable"===e?"disableTotp":"regenerateBackupCodes")}finally{f(!1)}}(p.action,e),onCancel:()=>D({kind:"idle"})},p.action)]})]}):"enrolling"===p.kind?a("div",{className:"space-y-4 rounded-md border p-4",children:[e("p",{className:"text-sm",children:c("security.twoStepScan")}),e("img",{src:`data:image/svg+xml;utf8,${encodeURIComponent(p.enrollment.qrSvg)}`,alt:c("security.twoStepQrAlt"),width:176,height:176,className:"h-44 w-44 rounded-md border"}),a("div",{className:"space-y-1.5",children:[e("p",{className:"text-xs text-muted-foreground",children:c("security.twoStepManualKey")}),e(Za,{variant:"code",value:p.enrollment.secret,displayValue:(j=p.enrollment.secret,j.match(/.{1,4}/g)?.join(" ")??j),copyLabel:c("security.twoStepCopy"),copiedLabel:c("security.twoStepCopied")}),e("p",{className:"text-xs text-muted-foreground",children:c("help.twoStepKeyPrivate")})]}),e(os,{totpOnly:!0,label:c("security.twoStepCodeLabel"),submitLabel:c("security.twoStepTurnOn"),busy:g,onSubmit:async function(e){f(!0),y(null);try{const{backupCodes:a}=await u.confirmTotpEnrollment(e),{lastUsedAt:t,...s}=n;i({...s,enabled:!0,confirmedAt:(new Date).toISOString(),backupCodesRemaining:a.length}),h({kind:"codes",codes:a}),y({variant:"success",message:c("security.twoStepEnabled")})}catch(e){M(e,"confirmTotpEnrollment")}finally{f(!1)}},onCancel:()=>D({kind:"idle"})})]}):a("div",{className:"flex flex-col gap-3 rounded-md border p-3 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(N,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),e("p",{className:"truncate text-sm font-medium",children:c("security.twoStepAppName")})]}),e("div",{className:"flex shrink-0",children:e(we,{size:"sm",progress:g,disabled:S,onClick:async function(){f(!0),y(null);try{const e=await u.startTotpEnrollment();h({kind:"enrolling",enrollment:e})}catch(e){M(e,"startTotpEnrollment")}finally{f(!1)}},children:c("security.twoStepSetUp")})})]}),B&&a(t,{children:[a("div",{className:"flex flex-col gap-3 rounded-md border p-3 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(U,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),a("div",{className:"min-w-0",children:[e("p",{className:"truncate text-sm font-medium",children:c("security.twoStepSmsName")}),A&&n.sms?.phone&&e("p",{className:"text-xs text-muted-foreground",children:c("security.twoStepSmsTo",{phone:Li(n.sms.phone)})}),e("p",{className:"text-xs text-muted-foreground",children:c("security.twoStepSmsWeaker")})]})]}),"smsCode"!==p.kind&&e("div",{className:"flex shrink-0 flex-wrap gap-2",children:A?K?a($e,{children:[e(Ze,{asChild:!0,children:e(we,{size:"sm",variant:"outline",className:"text-destructive",progress:"disable"===b,disabled:S,children:c("security.twoStepTurnOff")})}),a(qe,{children:[a(Ye,{children:[e(Je,{children:c("security.twoStepSmsTurnOffTitle")}),e(Xe,{children:c("security.twoStepSmsTurnOffDescription")})]}),a(Qe,{children:[e(ea,{children:c("settings.common.cancel")}),e(aa,{onClick:async function(){v("disable"),y(null);try{await u.disableSms(),i({...n,sms:{allowed:n.sms?.allowed??!0,enrolled:!1}}),h({kind:"idle"}),y({variant:"success",message:c("security.twoStepSmsDisabled")})}catch(e){M(e,"disableSms")}finally{v(null)}},children:c("security.twoStepTurnOff")})]})]})]}):null:e(we,{size:"sm",variant:"outline",progress:"start"===b,disabled:S||T,onClick:function(){!s||C?R(!1):P()},children:c("security.twoStepTurnOn")})})]}),A&&!K&&e("p",{className:"text-xs text-muted-foreground",children:c("security.twoStepRequiredNote")}),"smsCode"===p.kind&&e(Zi,{sentTo:p.sentTo,submitLabel:c("security.twoStepTurnOn"),confirming:"confirm"===b,resending:"resend"===b,waitSeconds:m.waitSeconds,onSubmit:async function(e){v("confirm"),y(null);try{const{backupCodes:a}=await u.confirmSmsEnrollment(e),t=n.sms?.phone??(C?_i(C):void 0);i({...n,sms:{allowed:!0,...n.sms,enrolled:!0,...t?{phone:t}:{}}}),m.clear(),h(a?.length?{kind:"codes",codes:a}:{kind:"idle"}),y({variant:"success",message:c("security.twoStepSmsEnabled")}),E()}catch(e){M(e,"confirmSmsEnrollment")}finally{v(null)}},onResend:()=>R(!0),onCancel:()=>D({kind:"idle"})})]}),"codes"===p.kind&&a("div",{className:"space-y-3 rounded-md border p-4",children:[e(Be,{title:c("security.twoStepBackupTitle"),description:c("security.twoStepBackupDescription"),help:e(kn,{})}),e(Za,{variant:"code",value:p.codes.join("\n"),displayValue:(V=p.codes,V.reduce((e,a,t)=>(t%2==0?e.push(a):e[e.length-1]+=` ${a}`,e),[]).join("\n")),copyLabel:c("security.twoStepCopy"),copiedLabel:c("security.twoStepCopied")}),e("div",{className:"flex justify-end",children:e(we,{onClick:()=>{y(null),h({kind:"idle"})},children:c("security.twoStepDone")})})]})]});var V,j},us=()=>{const{t:n,formattingLocale:i}=re(),{visible:s,ui:r}=ke(),c=r.formats?.date??{dateStyle:"medium"},l=s(e=>e.settings?.security?.passkeyRename),d=s(e=>e.settings?.security?.passkeyDelete),u=s(e=>e.settings?.security?.password),m=s(e=>e.settings?.security?.phone),p=s(e=>e.settings?.security?.twoStep),h=s(e=>e.settings?.security?.connectedAccounts),g=s(e=>e.settings?.security?.wallets),f=s(e=>e.settings?.security?.deleteAccount),{api:b}=le(),v=function(){const e=ie();return q(a=>{const t=e.getState().session;t&&t.user.mfaEnabled!==a&&e.dispatch(se.setSession({...t,user:{...t.user,mfaEnabled:a}}))},[e])}(),x=function(){const e=ie();return q(a=>{const t=e.getState().session;if(!t)return;const{phone:n,phoneVerified:i,...s}=t.user,r={...s,...Ha(a)};e.dispatch(se.setSession({...t,user:r}))},[e])}(),[y,N]=Y(!0),[w,S]=Y(!1),[A,C]=Qt(),[T,U]=Y("change-with-hint"),[D,R]=Y(!1),[I,_]=Y(null),[L,G]=Y(null),[B,K]=Y([]),[O,F]=Y(null),[W,V]=Y(null),[j,z]=Y(null),[H,$]=Y("US"),Z=Q(null),[X,ee]=Y(null),[ae,te]=Y(null),[ne,ce]=Y(""),oe=q(e=>{F(e),v(e.enabled||!0===e.sms?.enrolled)},[v]),me=q(async()=>{const[e,a,t,n]=await Promise.all([b.getPasskeys().catch(e=>(pe(e,{component:"WorkspaceSettingsSecurity"}),null)),p||m?b.getMfaStatus().catch(e=>(404!==e?.status&&pe(e,{component:"WorkspaceSettingsSecurity",action:"getMfaStatus"}),null)):null,h?b.getConnectedAccounts().catch(e=>(404!==e?.status&&pe(e,{component:"WorkspaceSettingsSecurity",action:"getConnectedAccounts"}),null)):null,b.getProfile().catch(e=>(pe(e,{component:"WorkspaceSettingsSecurity",action:"getProfile"}),null))]);e&&K(e),a&&oe(a),t&&V(t),U(function(e){return"boolean"!=typeof e?.passwordSet?"change-with-hint":e.passwordSet?"change":!1===e.passwordSignIn?"hidden":"set-on-sign-in"}(n)),n&&(S(Ea(n)),C(function(e){const a=e?.deleteAfter;return"string"==typeof a&&a&&Number.isFinite(Date.parse(a))?a:void 0}(n))),m&&n&&function(e,a){return null!==e&&("phone"in e||"phoneVerified"in e)||null!==a&&void 0!==a.sms}(n,a)&&(z(Ha(n)),$(function(...e){for(const a of e){const e=a?.toUpperCase();if(e&&Ai.has(e))return e}return"US"}(n.country,..."undefined"==typeof navigator?[]:(navigator.languages?.length?navigator.languages:[navigator.language]).map(Gi)))),N(!1)},[b,p,m,h,oe,C]);J(()=>{me()},[me]),J(()=>{$a()&&R(!0)},[]);const ge=q(()=>{h&&b.getConnectedAccounts().then(V).catch(()=>{}),(p||m)&&b.getMfaStatus().then(oe).catch(()=>{})},[b,h,p,m,oe]),fe=q(e=>{z(e),x(e),ge()},[x,ge]),be=q(()=>{const e=Z.current;e&&(e.scrollIntoView?.({behavior:"smooth",block:"start"}),e.focus({preventScroll:!0}))},[]);return y?e(mn,{}):a("div",{className:"space-y-4",children:[D&&e(ue,{variant:"info",message:n("security.reauthConfirmed")}),null!==I&&e(ue,{variant:"success",title:n("settings.common.success"),message:n("guest.done",{email:I})}),w&&e("div",{className:"border-b pb-6",children:e(Da,{onUpgraded:({email:e})=>{_(e),S(!1),me()}})}),u&&!w&&"hidden"!==T&&e("div",{className:"border-b pb-6",children:e(rs,{view:T})}),j&&!w&&e(ss,{data:j,onChange:fe,onStale:ge,usedForTwoStep:!0===O?.sms?.enrolled,defaultCountry:H,sectionRef:Z}),p&&O&&!w&&e(ds,{status:O,onStatusChange:oe,phone:j??void 0,onGoToPhone:j?be:void 0}),h&&W&&e(es,{data:W,onChange:V,walletsAllowed:g&&!w}),!w&&a(t,{children:[e(Be,{title:n("security.passkeysTitle"),description:n("security.passkeysDescription"),help:e(Pn,{})}),L&&e(ue,{variant:"error",title:n("settings.common.error"),message:L}),0===B.length?e(Oe,{icon:e(k,{className:"h-5 w-5 text-muted-foreground"}),description:n("security.noPasskeys")}):e("div",{className:"space-y-2",children:B.map(s=>a("div",{className:"flex items-center justify-between gap-3 rounded-md border p-3 "+(!1===s.active?"opacity-70":""),children:[a("div",{className:"flex min-w-0 items-center gap-3",children:[e(k,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e("div",{className:"min-w-0",children:ae===s.id?a("div",{className:"flex items-center gap-2",children:[e(pa,{value:ne,onChange:e=>ce(e.target.value),placeholder:n("security.renamePlaceholder"),className:"h-8"}),e(we,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",disabled:X===s.id,onClick:()=>async function(e){const a=ne.trim();if(a){ee(e),G(null);try{await b.renamePasskey(e,a),K(t=>t.map(t=>t.id===e?{...t,name:a}:t)),te(null)}catch(e){pe(e,{component:"WorkspaceSettingsSecurity"}),G(he(e,n))}finally{ee(null)}}}(s.id),children:e(E,{className:"h-4 w-4"})}),e(we,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",onClick:()=>te(null),children:e(P,{className:"h-4 w-4"})})]}):a(t,{children:[a("div",{className:"flex items-center gap-2",children:[e("p",{className:"truncate text-sm font-medium",children:s.name}),!1===s.active&&e("span",{className:"shrink-0 rounded-full border border-warning/40 bg-warning/10 px-2 py-0.5 text-xs font-medium text-warning",title:n("security.inactiveHint"),children:n("security.inactive")})]}),e("p",{className:"text-xs text-muted-foreground",children:!1===s.active?n("security.inactiveHint"):s.lastUsedAt?`${n("security.lastUsed")}: ${de(s.lastUsedAt,i,c)}`:s.createdAt?`${n("security.added")}: ${de(s.createdAt,i,c)}`:null})]})})]}),ae!==s.id&&(l||d)&&a("div",{className:"flex shrink-0 items-center gap-1",children:[l&&e(we,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8","aria-label":n("security.rename"),onClick:()=>{te(s.id),ce(s.name)},children:e(M,{className:"h-4 w-4"})}),d&&a($e,{children:[e(Ze,{asChild:!0,children:e(we,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 text-destructive","aria-label":n("security.remove"),disabled:X===s.id,children:e(o,{className:"h-4 w-4"})})}),a(qe,{children:[a(Ye,{children:[e(Je,{children:n("security.removeTitle")}),e(Xe,{children:n("security.removeDescription")})]}),a(Qe,{children:[e(ea,{children:n("settings.common.cancel")}),e(aa,{onClick:()=>async function(e){ee(e),G(null);try{await b.deletePasskey(e),K(a=>a.filter(a=>a.id!==e))}catch(e){pe(e,{component:"WorkspaceSettingsSecurity"}),G(he(e,n))}finally{ee(null)}}(s.id),children:n("security.remove")})]})]})]})]})]},s.id))}),e("p",{className:"text-xs text-muted-foreground",children:n("security.addHint")})]}),f&&e(ts,{deleteAfter:A,onChange:C})]})},ms=e=>{switch(e){case Ja.Paid:return"bg-success/15 text-success";case Ja.Open:return"bg-warning/15 text-warning";case Ja.Draft:return"bg-muted text-foreground";case Ja.Uncollectible:return"bg-destructive/15 text-destructive";case Ja.Void:default:return"bg-muted text-foreground"}},ps=({workspaceId:n,hasActiveSubscription:i=!1,onViewPricingPlans:s,limit:r=20})=>{const{t:c,formattingLocale:l}=re(),{can:o}=Te(),d=o(Ee.WORKSPACE_BILLING_VIEW),{invoices:u,loading:p,error:h,refetch:g}=qa(n,r);if(!d)return e(un,{});const f=u.length>0;return a("div",{className:"space-y-4",children:[e(Be,{title:c("invoices.title"),description:c("invoices.description"),actions:e(we,{variant:"ghost",size:"sm",progress:p,onClick:g,disabled:p,children:c("settings.common.refreshAction",{loading:String(p)})})}),h&&e(ue,{variant:"error",title:c("invoices.errorLoading"),message:h,actionLabel:c("settings.common.retryAction",{loading:String(p)}),onAction:g,actionDisabled:p}),p&&!f?e("div",{className:"border rounded-lg p-6",children:e(mn,{})}):f?e("div",{className:"space-y-2",children:u.map(n=>{const i=(e=>{switch(e.status){case Ja.Draft:case Ja.Open:return{textKey:"invoices.pay",color:"bg-info text-info-foreground hover:bg-info/90"};case Ja.Paid:return{textKey:"invoices.view",color:"bg-success text-success-foreground hover:bg-success/90"};case Ja.Uncollectible:case Ja.Void:return{textKey:"invoices.viewDetails",color:"bg-muted-foreground text-background hover:bg-muted-foreground/90"};default:return{textKey:"invoices.view",color:"bg-muted-foreground text-background hover:bg-muted-foreground/90"}}})(n);return a("div",{className:"border rounded-md bg-background hover:shadow-sm transition-shadow p-3",children:[a("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[e("span",{className:"text-sm font-medium text-foreground truncate min-w-0",children:n.description||n.number||n.id.slice(-8)}),e("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0 ${ms(n.status)}`,children:c(`invoices.status.${n.status}`)})]}),a("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-0.5 text-sm text-muted-foreground mb-2.5",children:[e("span",{className:"font-medium text-foreground",children:Se(n.amount_due,n.currency,l)}),n.created&&a(t,{children:[e("span",{className:"text-muted-foreground/50 hidden sm:inline",children:"·"}),e("span",{children:Ya(n.created,l)})]}),n.amount_paid>0&&n.amount_due>0&&e("span",{className:"text-xs text-muted-foreground",children:c("invoices.paidAmount",{amount:Se(n.amount_paid,n.currency,l)})})]}),a("div",{className:"flex items-center gap-2",children:[a(we,{size:"sm",disabled:!n.hosted_invoice_url,onClick:()=>n.hosted_invoice_url&&window.open(n.hosted_invoice_url,"_blank","noopener,noreferrer"),className:i.color,children:[c(i.textKey),e(m,{className:"h-3.5 w-3.5 ms-1.5"})]}),n.invoice_pdf&&a(we,{size:"sm",variant:"outline",onClick:()=>window.open(n.invoice_pdf,"_blank","noopener,noreferrer"),children:[e(R,{className:"h-3.5 w-3.5 me-1.5"}),c("invoices.download")]})]})]},n.id)})}):e(Oe,{icon:e(D,{className:"h-5 w-5 text-muted-foreground"}),description:c(i?"invoices.noInvoicesWithSub":"invoices.noInvoices"),action:!i&&s?e(we,{size:"sm",className:"mt-2",onClick:s,children:c("subscription.viewPricingPlans")}):void 0})]})},hs=(e,a)=>a?de(a,e,{month:"long",day:"numeric",year:"numeric"}):"",gs=({planVersion:t,subscriptionCurrency:n,billingInterval:i,seatPricingConfig:s,memberCount:r,includedSeats:c,billableSeats:l,perSeatPrice:o,intervalLabel:d})=>{const{t:u,formattingLocale:m,fmtNum:p,fmtCents:h}=re(),g=((e,a,t=Qa.Monthly)=>{if(!e?.subscriptionItems)return{features:[],limits:[],quotas:[]};const n=[],i=[],s=[];return e.subscriptionItems.forEach(r=>{const c=r.slug;if(r.type===et.Feature){const a=e.features?.[c]??!1;n.push({item:r,enabled:a})}else if(r.type===et.Limit){const a=e.limits?.[c]??0;i.push({item:r,value:a})}else if(r.type===et.Quota){const n=a&&e.pricingVariants?.length?at(e,a,c,t):tt(e.quotas?.[c],t);null!=n&&s.push({item:r,value:n})}}),{features:n,limits:i,quotas:s}})(t,n,i??"monthly");return g.features.length>0||g.limits.length>0||g.quotas.length>0?e("div",{className:"px-4 py-4 sm:px-5 sm:py-5 border-t border-border/60",children:a("div",{className:"space-y-5",children:[g.features.length>0&&a("div",{children:[e("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:u("subscription.items.features")}),e("ul",{className:"space-y-1.5",children:g.features.sort(e=>e.enabled?-1:1).map(({item:t,enabled:n})=>a("li",{className:"flex items-center gap-2 text-sm",children:[e("span",{className:"w-4 text-center shrink-0 "+(n?"text-success":"text-muted-foreground/50"),children:n?"✓":"✕"}),e("span",{className:n?"text-foreground":"text-muted-foreground/70",children:t.name})]},t._id))})]}),g.limits.length>0&&a("div",{children:[e("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:u("subscription.items.limits")}),e("ul",{className:"space-y-1.5",children:g.limits.map(({item:t,value:n})=>a("li",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:t.name}),e("span",{className:"font-medium text-foreground",children:p(n)})]},t._id))})]}),g.quotas.length>0&&a("div",{children:[e("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:u("subscription.items.quotas")}),e("ul",{className:"space-y-1.5",children:g.quotas.map(({item:t,value:i})=>{const s=Xa(i,t.name.toLowerCase(),{currency:n,locale:m}),r=s?s.hasOverage?u("quota.includedWithOverage",{count:s.included,price:s.price,unit:s.unit}):u("quota.includedOnly",{count:s.included}):"—";return e("li",{className:"text-sm",children:a("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-0.5",children:[e("span",{className:"text-muted-foreground",children:t.name}),e("span",{className:"font-medium text-foreground text-xs sm:text-sm",children:r})]})},t._id)})})]}),s&&a("div",{children:[e("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:u("subscription.seats.title")}),a("div",{className:"bg-muted/50 rounded-lg p-3 space-y-1.5",children:[a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.seats.members")}),e("span",{className:"font-semibold text-foreground",children:p(r)})]}),a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.seats.included")}),e("span",{className:"text-foreground",children:p(c)})]}),l>0&&a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.seats.billable")}),a("span",{className:"font-medium text-warning",children:[p(l)," ",u("subscription.seats.extra")]})]}),null!=o&&o>0&&a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.seats.perExtraSeat")}),a("span",{className:"text-foreground",children:[h(o,n),d]})]}),(s?.maxSeats??0)>0&&a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.seats.limit")}),e("span",{className:"text-foreground",children:p(s.maxSeats)})]})]})]}),t?.creditGrant?.enabled&&"object"==typeof t.creditGrant.creditPackage&&null!==t.creditGrant.creditPackage&&a("div",{children:[e("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:u("subscription.items.credits")}),a("div",{className:"bg-info/10 rounded-lg p-3 space-y-1.5",children:[a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:t.creditGrant.renewOnPeriod?u("subscription.items.creditsPerMonth"):u("subscription.items.creditsOneTime")}),e("span",{className:"font-semibold text-info",children:p("object"==typeof t.creditGrant.creditPackage?t.creditGrant.creditPackage.creditAmount:0)})]}),a("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-muted-foreground",children:u("subscription.items.creditRenewal")}),e("span",{className:"font-medium text-foreground",children:t.creditGrant.renewOnPeriod?"reset"===t.creditGrant.mode?u("subscription.items.creditModeReset"):u("subscription.items.creditModeTopup"):u("subscription.items.creditModeLifetime")})]})]})]})]})}):null},fs=({resumeDialogOpen:t,setResumeDialogOpen:n,resumeLoading:i,handleResumeSubscription:s,subscription:r})=>{const{t:c,formattingLocale:l}=re();return e($e,{open:t,onOpenChange:n,children:a(qe,{children:[a(Ye,{children:[e(Je,{children:c("subscription.resumeTitle")}),e(Xe,{asChild:!0,children:a("div",{className:"space-y-3",children:[e("p",{children:c("subscription.resumeConfirm")}),a("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4 space-y-2 text-sm",children:[a("div",{className:"flex items-start gap-2",children:[e(I,{className:"h-4 w-4 text-warning mt-0.5 flex-shrink-0"}),a("span",{children:[c("subscription.resumeChargeDate")," ",r?.subscription?.stripeCurrentPeriodEnd&&hs(l,r.subscription.stripeCurrentPeriodEnd)?e("span",{className:"font-medium",children:hs(l,r.subscription.stripeCurrentPeriodEnd)}):c("subscription.resumeChargeFallback")]})]}),a("div",{className:"flex items-start gap-2",children:[e("span",{className:"text-warning mt-0.5",children:"•"}),e("span",{children:c("subscription.resumeContinue")})]}),a("div",{className:"flex items-start gap-2",children:[e("span",{className:"text-info mt-0.5",children:"ℹ"}),e("span",{children:c("subscription.resumeCancelAnytime")})]})]})]})})]}),a(Qe,{children:[e(ea,{disabled:i,children:c("subscription.resumeKeep")}),e(aa,{onClick:s,disabled:i,children:c(i?"subscription.resuming":"subscription.resumeButton")})]})]})})},bs=({cancelDialogOpen:t,setCancelDialogOpen:n,cancelLoading:i,handleCancelSubscription:s,subscription:r})=>{const{t:c,formattingLocale:l}=re(),o=r?.subscription?.subscriptionStatus===nt.Trialing,d=o&&r?.subscription?.trialEnd||r?.subscription?.stripeCurrentPeriodEnd;return e($e,{open:t,onOpenChange:n,children:a(qe,{children:[a(Ye,{children:[e(Je,{children:c(o?"subscription.cancelTrialTitle":"subscription.cancelTitle")}),e(Xe,{asChild:!0,children:a("div",{className:"space-y-3",children:[e("p",{children:c(o?"subscription.cancelTrialConfirm":"subscription.cancelConfirm")}),a("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2 text-sm",children:[a("div",{className:"flex items-start gap-2",children:[e("span",{className:"text-success mt-0.5",children:"✓"}),a("span",{children:[c(o?"subscription.cancelTrialAccess":"subscription.retainAccess")," ",d&&hs(l,d)?e("span",{className:"font-medium",children:hs(l,d)}):c("subscription.retainAccessFallback")]})]}),a("div",{className:"flex items-start gap-2",children:[e("span",{className:"text-success mt-0.5",children:"✓"}),e("span",{children:c(o?"subscription.cancelTrialNoCharge":"subscription.cancelNotCharged")})]}),a("div",{className:"flex items-start gap-2",children:[e("span",{className:"text-info mt-0.5",children:"ℹ"}),e("span",{children:c(o?"subscription.cancelTrialResume":"subscription.cancelResumeAnytime")})]})]})]})})]}),a(Qe,{children:[e(ea,{disabled:i,children:c(o?"subscription.cancelTrialKeep":"subscription.cancelKeep")}),e(aa,{onClick:s,disabled:i,className:"bg-destructive hover:bg-destructive/90 focus:ring-destructive",children:c(i?"subscription.canceling":o?"subscription.cancelTrialButton":"subscription.cancelButton")})]})]})})},vs=({className:t,icon:n,titleClassName:i,title:s,descriptionClassName:r,description:c,children:l,kind:o})=>(it(!!o,o??"","subscription_notice_shown",{kind:o}),e("div",{className:t,children:a("div",{className:"flex items-start gap-3",children:[n,a("div",{children:[e("p",{className:i,children:s}),e("p",{className:r,children:c}),l]})]})})),xs=({subscription:e})=>{const{t:t}=re();return a("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(e.subscriptionStatus===nt.Active?e.cancelAtPeriodEnd?"bg-warning/15 text-warning":"bg-success/15 text-success":e.subscriptionStatus===nt.Trialing?"bg-info/15 text-info":e.subscriptionStatus===nt.Canceled?"bg-muted text-foreground":"bg-destructive/15 text-destructive"),children:[e.subscriptionStatus===nt.Active&&(e.cancelAtPeriodEnd?t("subscription.status.canceling"):t("subscription.status.active")),e.subscriptionStatus===nt.Trialing&&t("subscription.status.trial"),e.subscriptionStatus===nt.Canceled&&t("subscription.status.canceled"),e.subscriptionStatus===nt.PastDue&&t("subscription.status.pastDue")]})},ys=({subscription:t,showChangePlan:n,setDialogOpen:i,onManagePayment:s,managePaymentLoading:r})=>{const{t:c}=re(),l=t.trialEnd||t.stripeCurrentPeriodEnd,o=l?new Date(l):null,d=o&&!isNaN(o.getTime())?o:null,u=d?Math.max(0,Math.ceil((d.getTime()-Date.now())/864e5)):null,m=null!==u&&u<=3;it(!0,"trial","subscription_notice_shown",{kind:m?"trial_ending":"trial",days_remaining:u??void 0});const p=m?"border-warning/30 text-warning hover:bg-warning/15":"border-info/30 text-info hover:bg-info/15";return a("div",{className:"px-4 py-3 sm:px-5 text-sm flex flex-col sm:flex-row sm:items-center justify-between gap-2 "+(m?"bg-warning/10 text-warning border-b border-warning/30":"bg-info/10 text-info border-b border-info/20"),children:[a("span",{children:[null!==u&&u<=0?c("subscription.trialEnded"):null!==u?c("subscription.trialEndsIn",{days:u}):c("subscription.onTrial")," ",c("subscription.trialKeepAccess")]}),(s||n)&&a("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[s&&e(we,{size:"sm",variant:m?"default":"outline",className:m?"":p,onClick:s,disabled:r,progress:r,children:c(r?"subscription.openingPortal":"subscription.managePayment")}),n&&e(we,{size:"sm",variant:m&&!s?"default":"outline",className:m&&!s?"":p,onClick:()=>i(!0),children:c("subscription.changePlan")})]})]})},Ns=te(()=>import("./SubscriptionDialog-g0LwHhbe.mjs").then(e=>({default:e.default}))),ws=({workspace:n})=>{const i=n._id?.toString(),{t:s,formattingLocale:r,fmtCents:c}=re(),{api:l}=le(),{can:o}=Te(),{visible:u,ui:m}=ke(),p=m.behavior,h=u(e=>e.settings?.subscription?.changePlan),g=u(e=>e.settings?.subscription?.cancel),f=u(e=>e.settings?.subscription?.managePayment),b=u(e=>e.settings?.subscription?.invoicesTab),v=u(e=>e.settings?.subscription?.planDetails),x=o(Ee.WORKSPACE_BILLING_VIEW),y=o(Ee.WORKSPACE_BILLING_MANAGE),{subscription:N,loading:w,error:S,updateSubscription:A,refetch:C}=st(i),{createCheckoutSession:T}=rt(i),{cancelSubscription:k,loading:E}=ct(i),{resumeSubscription:P,loading:M}=lt(i),{openBillingPortal:U,loading:D}=ot(i),{versions:R,loading:G,error:B,refetch:K}=dt(i),O=w||G,F=S||B,{currentVersion:W,latestVersion:V,isDeprecated:j,plansToShow:z}=X(()=>{const e=R?.currentVersion,a=R?.availableVersions||[],t=null!=N?.subscription;let n=null;a.length>0?n=a.reduce((e,a)=>a.version>e.version?a:e):e&&(n=e);return{currentVersion:e,latestVersion:n,isDeprecated:!!(t&&n&&e)&&n.version>e.version&&t,plansToShow:n?.plans&&n.plans.length>0?n.plans:[]}},[R,N?.subscription]),[H,$]=Y(!1),[Z,q]=Y(null),[ee,te]=Y(null),[ne,ie]=Y(null),se=oe(),ce=N?.planVersion?._id;J(()=>{ne&&ce===ne.planVersionId&&ie(null)},[ce,ne]);const[de,me]=Y(!1),[pe,he]=Y(!1),ge=Q("unknown"),fe=e=>{ge.current=e,me(!0)},{emit:be}=ut(),ve=()=>({plan_version_id:N?.planVersion?._id,plan_slug:N?.plan?.slug,subscription_status:N?.subscription?.subscriptionStatus}),xe=e=>{be("subscription_cancel_started",{...ve(),source:e}),he(!0)},ye=Q(void 0),Ne=Q(!1);J(()=>{if(Ne.current)return;if(w||!z||0===z.length)return;const e=Ie.getState(),a=e.params?.action===_e.SelectPlan,t=!1!==p?.autoOpenPlanDialog;(!N?.subscription&&t||a)&&(Ne.current=!0,a&&(ye.current=e.params,Ie.clearParams()),fe(a?"deep_link":"auto_no_subscription"))},[w,N?.subscription,z,p?.autoOpenPlanDialog]);const[Se,Ae]=Y(!1),[Pe,Me]=Y("subscription"),Ue=async()=>{await Promise.all([C(),K()])},De=X(()=>mt(N?.subscription?.stripePriceId,z??[]),[N?.subscription?.stripePriceId,z]);if(!x)return e(un,{});if(O&&!N&&!R)return e(mn,{});const Re=N?.planVersion?._id||null;return i?a("div",{className:"space-y-4",children:[F&&e(ue,{variant:"error",title:s("subscription.errorLoading"),message:F,description:s("subscription.errorLoadingDescription"),actionLabel:s("settings.common.retryAction",{loading:String(O)}),onAction:Ue,actionDisabled:O}),Z&&e(ue,{variant:"error",title:s("subscription.updateFailed"),message:Z,actionLabel:s("settings.common.dismiss"),onAction:()=>q(null)}),ne&&e(ue,{variant:"warning",title:s("subscription.paymentRequiredTitle"),message:s("subscription.paymentRequiredMessage"),actionLabel:ne.url?s("subscription.completePayment"):s("settings.common.dismiss"),onAction:()=>{ne.url?window.open(ne.url,"_blank","noopener,noreferrer"):ie(null)}}),ee&&e(ue,{variant:"success",title:s("settings.common.success"),message:ee,actionLabel:s("settings.common.dismiss"),onAction:()=>te(null)}),b&&e("div",{className:"border-b border-border",children:a("nav",{className:"-mb-px flex gap-6",role:"tablist","aria-label":s("subscription.tabsLabel"),onKeyDown:e=>{"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"Home"!==e.key&&"End"!==e.key||(e.preventDefault(),Me("ArrowLeft"===e.key||"End"===e.key?"invoices":"subscription"))},children:[e("button",{type:"button",role:"tab",id:"subscription-tab-subscription","aria-controls":"subscription-panel-subscription","aria-selected":"subscription"===Pe,tabIndex:"subscription"===Pe?0:-1,onClick:()=>Me("subscription"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("subscription"===Pe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:s("subscription.plan")}),e("button",{type:"button",role:"tab",id:"subscription-tab-invoices","aria-controls":"subscription-panel-invoices","aria-selected":"invoices"===Pe,tabIndex:"invoices"===Pe?0:-1,onClick:()=>Me("invoices"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("invoices"===Pe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:s("subscription.invoicesTab")})]})}),"subscription"===Pe&&a("div",{id:"subscription-panel-subscription",role:"tabpanel","aria-labelledby":"subscription-tab-subscription",tabIndex:0,children:[O&&e(Ke,{}),h&&j&&N?.subscription&&a("div",{className:"bg-warning/10 border border-warning/30 rounded-lg px-4 py-3 flex flex-col sm:flex-row sm:items-center justify-between gap-2",children:[a("div",{className:"flex items-center gap-2 min-w-0",children:[e(I,{className:"h-4 w-4 text-warning shrink-0"}),a("span",{className:"text-sm text-warning",children:[e("span",{className:"font-medium",children:s("subscription.planUpdateAvailable")}),a("span",{className:"text-warning",children:[" ","- v",W?.version||"?"," → v",V?.version||"?"]})]})]}),e(we,{size:"sm",variant:"outline",className:"shrink-0 border-warning/40 text-warning hover:bg-warning/15",onClick:()=>fe("new_version_notice"),children:s("subscription.viewPlans")})]}),a("div",{className:"space-y-4",children:[a("div",{className:"flex items-center justify-between",children:[e("div",{children:e("p",{className:"text-sm text-muted-foreground",children:s("subscription.managePlan")})}),a("div",{className:"flex items-center gap-2",children:[(()=>{if(!h)return null;const a=N?.subscription?.subscriptionStatus===nt.Canceled,t=N?.subscription?.cancelAtPeriodEnd;return t||E?null:a&&z&&z.length>0?e(we,{size:"sm",onClick:()=>fe("resubscribe"),children:s("subscription.viewPricingPlans")}):N?.subscription&&!a&&y?e(we,{variant:"outline",size:"sm",onClick:()=>fe("change_plan"),children:s("subscription.changePlanButton")}):!N?.subscription&&z&&z.length>0?e(we,{size:"sm",onClick:()=>fe("choose_plan"),children:s("subscription.viewPricingPlans")}):null})(),e(we,{variant:"ghost",size:"sm",progress:O,onClick:Ue,disabled:O||H,children:s("settings.common.refreshAction",{loading:String(O)})})]})]}),N?.subscription?(()=>{const i=mt(N.subscription.stripePriceId,z??[]),l=i?.interval??null,o=i?.currency??N.plan?.currency??n?.billingCurrency??"",d=l&&N.planVersion?pt(N.planVersion,o,l):null,u=o,m=N.planVersion?ht(N.planVersion,o):null,p=m&&l?gt(N.planVersion,o,l):null,x=Array.isArray(n?.users)?n.users.length:1,w=m?.includedSeats??0,S=Math.max(0,x-w),A=!!N.plan?.isFreemium,C=null!=d?0===d?s("subscription.free"):c(d,u):A?s("subscription.free"):null,T=l===Qa.Monthly?s("subscription.billingInterval.perMonth"):l===Qa.Quarterly?s("subscription.billingInterval.perQuarter"):l===Qa.Yearly?s("subscription.billingInterval.perYear"):"";return a("div",{className:"border rounded-lg overflow-hidden "+(j?"border-warning/40":"border-border"),children:[N.subscription.subscriptionStatus===nt.Trialing&&!N.subscription.cancelAtPeriodEnd&&e(ys,{subscription:N.subscription,showChangePlan:h,setDialogOpen:e=>{!0===e?fe("trial_banner"):me(e)},onManagePayment:f&&y&&N.subscription.subscriptionId?()=>{be("billing_portal_opened",{...ve(),source:"trial_banner"}),U()}:void 0,managePaymentLoading:D}),a("div",{className:"p-4 sm:p-5 "+(j?"bg-warning/5":"bg-muted/30"),children:[a("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[e("h3",{className:"text-lg font-semibold text-foreground",children:N.plan?.name||s("subscription.noPlanAssigned")}),e(xs,{subscription:N.subscription}),N.subscription.subscriptionStatus===nt.Trialing&&hs(r,N.subscription.trialEnd||N.subscription.stripeCurrentPeriodEnd)&&e("span",{className:"text-xs text-muted-foreground",children:s("subscription.endsOn",{date:hs(r,N.subscription.trialEnd||N.subscription.stripeCurrentPeriodEnd)})}),j&&a("span",{className:"inline-flex items-center gap-1 px-2.5 py-0.5 rounded-full text-xs font-medium bg-warning/15 text-warning",children:[e(I,{className:"h-3.5 w-3.5"}),s("subscription.status.deprecated")]})]}),N.plan?.description&&e("p",{className:"text-sm text-muted-foreground mb-3",children:N.plan.description}),!A&&a("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4",children:[a("div",{children:[a("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[!C&&G?e(Ce,{className:"h-8 w-28"}):e("span",{className:"text-2xl font-bold text-foreground",children:C||s("invoices.na")}),C&&C!==s("subscription.free")&&T&&e("span",{className:"text-sm text-muted-foreground",children:T})]}),m&&null!=p&&p>0&&e("div",{className:"text-xs text-muted-foreground mt-1",children:s("subscription.perSeatDisplay",{price:c(p,u),interval:T})}),m&&null!=p&&p>0&&S>0&&C&&C!==s("subscription.free")&&null!=d&&e("div",{className:"text-xs text-muted-foreground mt-1 pt-1 border-t border-border",children:s("subscription.estTotalDisplay",{total:c(d+p*S,u),interval:T,count:S})})]}),(N.subscription.subscriptionStatus===nt.Active||N.subscription.subscriptionStatus===nt.Trialing)&&!N.subscription.cancelAtPeriodEnd&&hs(r,N.subscription.stripeCurrentPeriodEnd)&&a("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e(_,{className:"h-3.5 w-3.5 flex-shrink-0"}),e("span",{children:s("subscription.nextBillingDisplay",{date:hs(r,N.subscription.stripeCurrentPeriodEnd)??""})})]})]}),j&&e("p",{className:"text-xs text-warning mt-2",children:s("subscription.versionLabel",{version:W?.version||s("invoices.na")})}),!A&&(f||g||N.subscription.cancelAtPeriodEnd)&&(N.subscription.subscriptionStatus===nt.Active||N.subscription.subscriptionStatus===nt.Trialing||N.subscription.subscriptionStatus===nt.PastDue)&&a("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3 mt-4 pt-4 border-t border-border",children:[f&&N.subscription&&y&&N.subscription?.subscriptionId&&e(we,{variant:"outline",size:"sm",onClick:()=>{be("billing_portal_opened",ve()),U()},disabled:D,progress:D,children:s(D?"subscription.openingPortal":"subscription.managePayment")}),y&&N.subscription?.subscriptionId&&(N.subscription.subscriptionStatus===nt.Active||N.subscription.subscriptionStatus===nt.Trialing)&&e(t,{children:N.subscription.cancelAtPeriodEnd?e(we,{variant:"outline",size:"sm",onClick:()=>Ae(!0),disabled:H||E||M,progress:M,children:N.subscription.subscriptionStatus===nt.Trialing?s("subscription.resumeTrial"):s("subscription.resumeTitle")}):g?e(we,{variant:"outline",size:"sm",className:"text-destructive hover:text-destructive hover:bg-destructive/10 border-destructive/20",onClick:()=>xe("billing_tab"),disabled:H||E||M,progress:E||H,children:E||H?s("subscription.canceling"):N.subscription.subscriptionStatus===nt.Trialing?s("subscription.cancelTrial"):s("subscription.cancelTitle")}):null})]})]}),N.subscription.subscriptionStatus===nt.PastDue&&e(vs,{kind:"past_due",className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",icon:e(I,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),titleClassName:"text-sm font-medium text-destructive",title:s("subscription.paymentPastDue"),descriptionClassName:"text-sm text-destructive mt-0.5",description:s("subscription.paymentPastDueDescription"),children:b&&e(we,{variant:"outline",size:"sm",className:"mt-2 border-destructive/20 text-destructive hover:bg-destructive/15",onClick:()=>Me("invoices"),children:s("subscription.viewInvoices")})}),N.subscription.subscriptionStatus===nt.PastDue&&N.subscription.dunningState&&N.subscription.dunningState!==ft.None&&e(vs,{kind:"dunning",className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",icon:e(I,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),titleClassName:"text-sm font-medium text-destructive",title:N.subscription.dunningState===ft.Final?s("subscription.dunningFinal"):N.subscription.dunningState===ft.Suspended?s("subscription.dunningSuspended"):s("subscription.dunningRecovery"),descriptionClassName:"text-sm text-destructive mt-0.5",description:N.subscription.dunningState===ft.Suspended?s("subscription.dunningSuspendedDescription"):s("subscription.dunningRecoveryDescription")}),N.subscription.subscriptionStatus===nt.Paused&&e(vs,{kind:"paused",className:"px-5 py-3 bg-info/10 border-t border-info/20",icon:e(_,{className:"h-5 w-5 text-info flex-shrink-0 mt-0.5"}),titleClassName:"text-sm font-medium text-info",title:s("subscription.subscriptionPaused"),descriptionClassName:"text-sm text-info mt-0.5",description:s("subscription.subscriptionPausedDescription")}),N.subscription.cancelAtPeriodEnd&&e(vs,{kind:"cancel_scheduled",className:"px-5 py-3 bg-warning/10 border-t border-warning/30",icon:e(_,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5"}),titleClassName:"text-sm font-medium text-warning",title:N.subscription.subscriptionStatus===nt.Trialing?s("subscription.scheduledTrialCancellation"):s("subscription.scheduledCancellation"),descriptionClassName:"text-sm text-warning mt-0.5",description:hs(r,N.subscription.subscriptionStatus===nt.Trialing&&N.subscription.trialEnd||N.subscription.stripeCurrentPeriodEnd)?a(t,{children:[N.subscription.subscriptionStatus===nt.Trialing?s("subscription.trialEndDescription"):s("subscription.cancelEndDescription")," ",e("span",{className:"font-medium",children:hs(r,N.subscription.subscriptionStatus===nt.Trialing&&N.subscription.trialEnd||N.subscription.stripeCurrentPeriodEnd)}),"."]}):s("subscription.cancelEndFallback")}),v&&N.planVersion&&e(gs,{planVersion:N.planVersion,subscriptionCurrency:o,billingInterval:l,seatPricingConfig:m,memberCount:x,includedSeats:w,billableSeats:S,perSeatPrice:p,intervalLabel:T})]})})():e(Oe,{icon:e(L,{className:"h-5 w-5 text-muted-foreground"}),title:s("subscription.noSubscription"),description:s("subscription.noSubscriptionDescription"),action:h&&z&&z.length>0?e(we,{size:"sm",onClick:()=>fe("empty_state"),children:s("subscription.viewPricingPlans")}):void 0})]}),!R&&!O&&!F&&e(Oe,{title:s("subscription.errorLoading"),description:s("subscription.noPlansAvailable"),action:e(we,{variant:"outline",size:"sm",progress:O,onClick:Ue,children:s("settings.common.refreshAction",{loading:String(O)})})})]}),b&&"invoices"===Pe&&a("div",{id:"subscription-panel-invoices",role:"tabpanel","aria-labelledby":"subscription-tab-invoices",tabIndex:0,children:[O&&e(Ke,{}),e(ps,{workspaceId:i,hasActiveSubscription:null!=N?.subscription,onViewPricingPlans:()=>Me("subscription"),limit:20})]}),z&&z.length>0&&e(ae,{fallback:de?e("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:a("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e(d,{className:"h-5 w-5 animate-spin"}),e("span",{children:s("settings.common.loading")})]})}):null,children:e(Ns,{open:de,onOpenChange:me,source:ge.current,planVersions:z,currentPlanVersionId:Re||null,currentStripePriceId:N?.subscription?.stripePriceId,billingCurrency:n.billingCurrency,trialUsedAt:n.trialUsedAt,workspaceName:n.name,initialInterval:ye.current?.interval,initialCurrency:ye.current?.currency,currentMemberCount:Array.isArray(n?.users)?n.users.length:void 0,onSelectPlan:async(e,a=Qa.Monthly,t)=>{if(!i)return;const c=z?.find(a=>a._id===e),o=t??De?.currency??N?.plan?.currency??n?.billingCurrency??"",d=c?bt(c,o,a):null,u=N?.subscription?.stripePriceId;if(!d||!u||d!==u){$(!0),q(null),te(null),ie(null);try{const{successUrl:t,cancelUrl:n}=vt(i);let d;if(c?.plan?.isFreemium){return N?.subscription?.subscriptionId?(me(!1),void xe("downgrade_to_free")):(await l.selectFreePlan(i,e),me(!1),xt(),await Ue(),void te(s("subscription.updateSuccess")))}const u=N?.subscription?.subscriptionStatus===nt.Canceled;if(d=N?.subscription&&!u?await A(e,{billingInterval:a,successUrl:t,cancelUrl:n}):await T({planVersionId:e,billingInterval:a,currency:o||void 0,successUrl:t,cancelUrl:n}),d&&"checkoutUrl"in d&&d.checkoutUrl)return void Ve(d.checkoutUrl);if(d&&"paymentRequired"in d&&d.paymentRequired)return ie({planVersionId:e,url:ja(d.paymentUrl??d.invoice?.hosted_invoice_url)}),void await Ue();const m=N?.subscription,p=m?.subscriptionStatus===nt.Trialing?hs(r,m.trialEnd):"";te(p?s("subscription.updateSuccessTrial",{date:p}):s("subscription.updateSuccess")),await Ue()}catch(e){const a=e instanceof Error?e.message:s("subscription.errorProcessing");q(a)}finally{$(!1),se(()=>{q(null),te(null)})}}},loading:H||O})}),e(fs,{resumeDialogOpen:Se,setResumeDialogOpen:Ae,resumeLoading:M,handleResumeSubscription:async()=>{if(i){Ae(!1),$(!0),q(null),te(null);try{await P(),be("subscription_resumed",ve()),te(s("subscription.resumeSuccess")),await Ue()}catch(e){const a=e instanceof Error?e.message:s("subscription.errorResuming");q(a)}finally{$(!1),se(()=>{q(null),te(null)})}}},subscription:N}),e(bs,{cancelDialogOpen:pe,setCancelDialogOpen:he,cancelLoading:E,handleCancelSubscription:async()=>{if(i){he(!1),$(!0),q(null),te(null);try{await k(),be("subscription_cancelled",ve()),te(s("subscription.cancelSuccess")),await Ue()}catch(e){const a=e instanceof Error?e.message:s("subscription.errorCanceling");q(a)}finally{$(!1),se(()=>{q(null),te(null)})}}},subscription:N})]}):e("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e("p",{children:s("subscription.invalidWorkspace")})})};function Ss(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,e=>e.toUpperCase())}function As(e){try{const a=new Date(e);if(isNaN(a.getTime()))return null;const t=new Date;return Math.ceil((a.getTime()-t.getTime())/864e5)}catch{return null}}const Cs=()=>{const{quotas:t,loading:n,error:i,refetch:s}=yt(),{t:c,formattingLocale:l,fmtNum:o}=re(),{can:d}=Te(),{response:u}=Nt(),[m,p]=Y(!1),h=X(()=>{const e={};if(!u?.planVersion||!u?.subscription)return e;const a=u.planVersion,n=u.subscription,i=n.billingInterval??"monthly",s=n.plan?.currency??"usd";if(!t)return e;for(const n of Object.keys(t)){const r=wt(a,s,n,i);if(null==r||r<=0)continue;const c=a.quotas?.[n],l=c?.[i],o=l?.unitSize??1,d=t[n].overage,u=(o>1?Math.ceil(d/o):d)*r;e[n]={overageCents:r,unitSize:o,currency:s,estimatedCostCents:u}}return e},[u,t]),g=X(()=>{const e=u?.subscription?.usageCurrentPeriodEnd||u?.subscription?.stripeCurrentPeriodEnd;if(!e)return null;const a=de(e,l);return a?{endDate:a,daysRemaining:As(e)}:null},[u,l]),f=async()=>{p(!0);try{await s()}finally{p(!1)}};if(n&&!t)return e(mn,{});if(!d(Ee.WORKSPACE_USAGE_VIEW))return null;if(i)return e(ue,{variant:"error",title:c("usage.errorLoading"),message:i,actionLabel:c("settings.common.retryAction",{loading:String(m)}),onAction:f,actionDisabled:m});const b=function(e){return[...e].sort(([,e],[,a])=>{if(e.hasOverage&&!a.hasOverage)return-1;if(!e.hasOverage&&a.hasOverage)return 1;const t=e.included>0?e.consumed/e.included:e.consumed>0?1:0;return(a.included>0?a.consumed/a.included:a.consumed>0?1:0)-t})}(t?Object.entries(t):[]);if(0===b.length)return e(Oe,{icon:e(G,{className:"h-5 w-5 text-muted-foreground"}),title:c("usage.noData"),description:c("usage.noDataHint"),action:e(we,{variant:"outline",size:"sm",progress:m,onClick:f,children:c("settings.common.refreshAction",{loading:String(m)})})});const v=b.filter(([,e])=>e.hasOverage).length,x=b.length>0?Math.round(b.reduce((e,[,a])=>e+(a.included>0?a.consumed/a.included*100:0),0)/b.length):0,y=Object.values(h).reduce((e,a)=>e+a.estimatedCostCents,0),N=Object.values(h)[0]?.currency??"usd",w=e=>Se(e,N,l);return a("div",{className:"space-y-4",children:[a("div",{className:"flex items-center justify-between",children:[e("p",{className:"text-sm text-muted-foreground",children:c("usage.description")}),a(we,{variant:"ghost",size:"sm",onClick:f,disabled:m,children:[e(r,{className:me("h-3.5 w-3.5 me-1.5",m&&"animate-spin")}),c("settings.common.refreshAction",{loading:String(m)})]})]}),g&&a("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted/30 px-4 py-3 text-sm text-muted-foreground",children:[e(_,{className:"h-4 w-4 text-muted-foreground/70 flex-shrink-0"}),a("span",{children:[c("usage.resetDateDisplay",{date:g.endDate}),null!==g.daysRemaining&&g.daysRemaining>0&&a("span",{className:"text-muted-foreground",children:[" ","(",c("usage.daysRemainingDisplay",{count:g.daysRemaining}),")"]}),null!==g.daysRemaining&&g.daysRemaining<=0&&a("span",{className:"text-warning font-medium",children:[" (",c("usage.renewingSoon"),")"]})]})]}),a("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2 sm:gap-3",children:[a("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e("p",{className:"text-xs text-muted-foreground font-medium",children:c("usage.totalResources")}),e("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:o(b.length)})]}),a("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e("p",{className:"text-xs text-muted-foreground font-medium",children:c("usage.overallUsage")}),e("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:o(x)+"%"})]}),a("div",{className:me("border rounded-lg p-3 sm:p-4",v>0?"border-destructive/20 bg-destructive/10":"border-border"),children:[e("p",{className:"text-xs text-muted-foreground font-medium",children:c("usage.inOverage")}),e("p",{className:me("text-lg sm:text-xl font-semibold mt-1",v>0?"text-destructive":"text-foreground"),children:o(v)})]}),v>0&&y>0&&a("div",{className:"border border-destructive/20 bg-destructive/10 rounded-lg p-3 sm:p-4",children:[e("p",{className:"text-xs text-muted-foreground font-medium",children:c("usage.estOverageCost")}),e("p",{className:"text-lg sm:text-xl font-semibold mt-1 text-destructive",children:w(y)})]})]}),v>0&&e("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4",children:a("div",{className:"flex items-start gap-3",children:[e(I,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5 hidden sm:block"}),a("div",{className:"flex-1",children:[e("h3",{className:"text-sm font-semibold text-warning mb-1",children:c("usage.overageDetected")}),e("p",{className:"text-sm text-warning",children:c("usage.overageWarning",{count:v})}),y>0&&e("p",{className:"text-sm text-warning font-medium mt-1",children:c("usage.estOverageCharges",{amount:w(y)})})]})]})}),e("div",{className:"space-y-3",children:b.map(([a,t])=>{const n=(i=t.consumed,(s=t.included)<=0?i>0?100:0:Math.min(i/s*100,100));var i,s;const r=function(e,a){return a?{bar:"bg-destructive",bg:"bg-destructive/15",badge:"bg-destructive/15",badgeText:"text-destructive"}:e>=90?{bar:"bg-warning",bg:"bg-warning/15",badge:"bg-warning/15",badgeText:"text-warning"}:e>=75?{bar:"bg-warning/80",bg:"bg-warning/15",badge:"bg-warning/15",badgeText:"text-warning"}:{bar:"bg-info",bg:"bg-info/15",badge:"bg-info/15",badgeText:"text-info"}}(n,t.hasOverage),c=h[a];return e(Ts,{slug:a,quota:t,percent:n,colors:r,pricing:c},a)})})]})};function Ts({slug:t,quota:n,percent:i,colors:s,pricing:r}){const{t:c,formattingLocale:l}=re(),o=e=>function(e,a){return new Intl.NumberFormat(a,{notation:"compact",maximumFractionDigits:1}).format(e)}(e,l),d=(e,a)=>Se(e,a,l);return a("div",{className:"border border-border rounded-lg p-4 sm:p-5",children:[a("div",{className:"flex flex-wrap items-center justify-between gap-y-1 mb-3",children:[a("div",{className:"flex items-center gap-2 min-w-0",children:[e("h3",{className:"text-sm font-medium text-foreground truncate",children:Ss(t)}),n.hasOverage&&e("span",{className:me("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",s.badge,s.badgeText),children:c("usage.overage")}),!n.hasOverage&&i>=90&&e("span",{className:me("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",s.badge,s.badgeText),children:c("usage.almostFull")})]}),a("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:[o(n.consumed)," / ",o(n.included)]})]}),e("div",{role:"progressbar","aria-valuenow":Math.round(i),"aria-valuemin":0,"aria-valuemax":100,"aria-label":Ss(t),className:me("h-2 rounded-full w-full",s.bg),children:e("div",{className:me("h-2 rounded-full transition-all duration-500",s.bar),style:{width:`${i}%`}})}),a("div",{className:"flex items-center justify-between mt-2 text-xs text-muted-foreground",children:[e("span",{children:c("usage.percentUsed",{percent:Math.round(i)})}),e("span",{children:n.available>0?c("usage.availableRemaining",{count:o(n.available)}):n.hasOverage?c("usage.overLimitCount",{count:o(n.overage)}):c("usage.fullyUsed")})]}),n.hasOverage&&r&&a("div",{className:"mt-3 pt-3 border-t border-border space-y-2",children:[a("div",{className:"flex items-center justify-between text-xs",children:[e("span",{className:"text-muted-foreground",children:c("usage.overageUnits")}),e("span",{className:"font-medium text-foreground",children:o(n.overage)})]}),a("div",{className:"flex items-center justify-between text-xs",children:[e("span",{className:"text-muted-foreground",children:c("usage.rate")}),e("span",{className:"font-medium text-foreground",children:c("usage.rateDisplay",{rate:d(r.overageCents,r.currency),unitSize:r.unitSize})})]}),r.unitSize>1&&a("div",{className:"flex items-center justify-between text-xs",children:[e("span",{className:"text-muted-foreground",children:c("usage.billableBlocks")}),e("span",{className:"font-medium text-foreground",children:o(Math.ceil(n.overage/r.unitSize))})]}),a("div",{className:"flex items-center justify-between text-xs pt-2 border-t border-border",children:[e("span",{className:"font-medium text-destructive",children:c("usage.estimatedCharge")}),e("span",{className:"font-semibold text-destructive",children:d(r.estimatedCostCents,r.currency)})]})]}),!n.hasOverage&&r&&e("div",{className:"mt-2 text-xs text-muted-foreground",children:c("usage.overageRateDisplay",{rate:c("usage.rateDisplay",{rate:d(r.overageCents,r.currency),unitSize:r.unitSize})})})]})}const ks=qt.Root,Es=qt.Value,Ps=$.forwardRef(({className:t,children:n,...i},s)=>a(qt.Trigger,{ref:s,className:me("flex h-10 sm:h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-base sm:text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",t),...i,children:[n,e(qt.Icon,{asChild:!0,children:e(Ht,{className:"h-4 w-4 opacity-50"})})]}));Ps.displayName=qt.Trigger.displayName;const Ms=$.createContext(null),Us="undefined"==typeof window?$.useEffect:$.useLayoutEffect,Ds=$.forwardRef(({className:t,children:n,position:i="popper",style:s,searchable:r,searchPlaceholder:c,emptyText:l,onCloseAutoFocus:o,onKeyDownCapture:d,...u},m)=>{const{container:p}=$.useContext(St),{t:h}=re(),g=c??h("dropdowns.search"),[f,b]=$.useState(""),[v,x]=$.useState(0),[y,N]=$.useState(!1),w=$.useRef(null),S=$.useRef(null),A=function(e){return e.trim().toLowerCase()}(f),C=function(e,a){return e??a>=8}(r,v),T=$.useCallback(()=>(x(e=>e+1),()=>x(e=>e-1)),[]),k=$.useMemo(()=>({query:C?A:"",register:T}),[C,A,T]);Us(()=>{if(!A||!S.current)return N(!1);N(!S.current.querySelector('[role="option"]:not(.hidden)'))},[A,v]);return e(Ms.Provider,{value:k,children:e(qt.Portal,{container:p,children:a(qt.Content,{ref:m,onCloseAutoFocus:e=>{b(""),o?.(e)},onKeyDownCapture:e=>{d?.(e),C&&e.target!==w.current&&(e=>1===e.key.length&&!e.ctrlKey&&!e.metaKey&&!e.altKey)(e)&&(" "!==e.key||""!==f)&&(e.preventDefault(),e.stopPropagation(),b(a=>a+e.key),w.current?.focus())},className:me("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:i,style:{..."popper"===i?{maxHeight:"min(24rem, var(--radix-select-content-available-height))"}:{},...s},...u,children:[C&&e("div",{className:"border-b p-1",children:e("input",{ref:w,type:"search",value:f,placeholder:g,"aria-label":g,autoComplete:"off",className:"h-8 w-full rounded-sm bg-background px-2 text-sm outline-none placeholder:text-muted-foreground",onChange:e=>b(e.target.value),onKeyDown:e=>{if("ArrowDown"===e.key||"Enter"===e.key){e.preventDefault(),e.stopPropagation();const a=S.current?.querySelector('[role="option"]:not(.hidden):not([data-disabled])')??null;if(!a)return;return a.focus(),void("Enter"===e.key&&a.dispatchEvent(new KeyboardEvent("keydown",{key:"Enter",bubbles:!0})))}"Escape"!==e.key&&"Tab"!==e.key&&e.stopPropagation()}})}),a(qt.Viewport,{ref:S,className:me("p-1","![scrollbar-color:hsl(var(--border))_transparent] ![scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border [&::-webkit-scrollbar]:!block [&::-webkit-scrollbar]:w-2","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:[n,y&&e("p",{className:"px-2 py-1.5 text-sm text-muted-foreground",children:l??h("dropdowns.noResults")})]})]})})})});Ds.displayName=qt.Content.displayName;$.forwardRef(({className:a,...t},n)=>{const i=!!$.useContext(Ms)?.query;return e(qt.Label,{ref:n,className:me("px-2 py-1.5 text-sm font-semibold",a,i&&"hidden"),...t})}).displayName=qt.Label.displayName;const Rs=$.forwardRef(({className:t,children:n,disabled:i,textValue:s,...r},c)=>{const l=$.useContext(Ms),o=l?.register,d=$.useRef(null),[u,m]=$.useState(s??"");Us(()=>o?.(),[o]),Us(()=>{m(s??d.current?.textContent??"")},[s,n]);const p=$.useCallback(e=>{d.current=e,"function"==typeof c?c(e):c&&(c.current=e)},[c]),h=!!l?.query&&!function(e,a){return!a||e.toLowerCase().includes(a)}(u,l.query);return a(qt.Item,{ref:p,disabled:i||h,textValue:s,className:me("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t,h&&"hidden"),...r,children:[e("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:e(qt.ItemIndicator,{children:e($t,{className:"h-4 w-4"})})}),e(qt.ItemText,{children:n})]})});Rs.displayName=qt.Item.displayName;$.forwardRef(({className:a,...t},n)=>{const i=!!$.useContext(Ms)?.query;return e(qt.Separator,{ref:n,className:me("-mx-1 my-1 h-px bg-muted",a,i&&"hidden"),...t})}).displayName=qt.Separator.displayName;const Is=({workspace:n})=>{const{user:i}=Oa(),{t:s,fmtNum:r,fmtCents:c}=re(),[l,o]=Y(0),[u,m]=Y(!1),[p,h]=Y(!1),[g,f]=Y([]),[b,v]=Y(null),{getUsers:x,removeUser:y,updateUser:N}=ze(),{settings:w}=He(),{can:S}=Te(),{visible:A}=ke(),{response:C}=Nt(),T=At(w),k=Ct(Tt({canView:S(Ee.WORKSPACE_MEMBERS_VIEW)})?n?._id:null),E=kt(n,{settingsMaxUsers:w?.workspace?.maxWorkspaceUsers,pendingInvitations:k.pendingCount});J(()=>{n&&(m(!0),x(n._id).then(e=>{f(e)}).catch(e=>{pe(e,{component:"WorkspaceSettingsUsers",action:"getUsers",metadata:{workspaceId:n._id}})}).finally(()=>{m(!1),h(!0)}))},[n,l,x]);const P=()=>{o(e=>e+1)};if(!p||!n)return e(mn,{});const M=e=>"string"==typeof e?{name:s("users.unknownUser"),email:e,id:e,role:"-"}:{name:e.name||s("users.unknownUser"),email:e.email,id:e._id},U=g.map(e=>({...e,...M(e.user)})),D=A(e=>e.settings?.users?.invite,Ee.WORKSPACE_MEMBERS_INVITE),R=A(e=>e.settings?.users?.remove,Ee.WORKSPACE_MEMBERS_REMOVE),I=A(e=>e.settings?.users?.roleChange,Ee.WORKSPACE_MEMBERS_ROLE_CHANGE),_=A(e=>e.settings?.users?.seatPricing),L=A(e=>e.settings?.users?.invitations,Ee.WORKSPACE_MEMBERS_VIEW),{hasSeatPricing:G,includedSeats:K,maxUsers:O,canInvite:F,inviteBlockReason:W,inviteBlockMessageKey:V,inviteBlockMessageValues:j,perSeatPriceCents:z,currency:H}=E,$=g.length+k.pendingCount,Z=C?.subscription?.billingInterval??"monthly",q=G&&$>=K,X=$>=O?{bar:"bg-destructive",track:"bg-destructive/15"}:$>=.8*O?{bar:"bg-warning",track:"bg-warning/15"}:{bar:"bg-success",track:"bg-success/15"};return a("div",{children:[!S(Ee.WORKSPACE_MEMBERS_INVITE)&&!S(Ee.WORKSPACE_MEMBERS_REMOVE)&&!S(Ee.WORKSPACE_MEMBERS_ROLE_CHANGE)&&e(un,{descriptionKey:"users.adminOnly"}),D&&T&&e("div",{className:"mb-4",children:F?a("div",{children:[e(_s,{onInvite:()=>{P(),k.refresh().catch(()=>{})},workspaceId:n._id}),_&&q&&null!=z&&z>0&&e("div",{className:"flex items-center gap-1.5 mt-2 text-xs text-warning bg-warning/10 px-3 py-1.5 rounded-md",children:e("span",{children:s("users.extraSeatCost",{price:c(z,H),interval:Z})})})]}):e("div",{className:"flex items-center justify-between p-3 bg-destructive/10 border border-destructive/20 rounded-md",children:a("div",{children:[e("p",{className:"text-sm font-medium text-destructive",children:s("users.limitReached",{reason:W??"member_limit_reached"})}),e("p",{className:"text-xs text-destructive mt-0.5",children:V?s(V,j??void 0):""})]})})}),_&&(G||O>0)&&a("div",{className:"mb-4 rounded-lg border p-4",children:[a("div",{className:"flex items-center justify-between mb-2",children:[e("h4",{className:"text-sm font-medium text-foreground",children:s("users.seatHeading",{hasSeatPricing:String(G)})}),O>0&&a("span",{className:"text-xs font-medium px-2 py-0.5 rounded-full "+($>=O?"bg-destructive/15 text-destructive":$>=.8*O?"bg-warning/15 text-warning":"bg-success/15 text-success"),children:[r($)," / ",r(O)]})]}),O>0&&e("div",{role:"progressbar","aria-valuenow":$,"aria-valuemin":0,"aria-valuemax":O,"aria-label":s("users.seatHeading"),className:`w-full h-1.5 rounded-full mb-3 ${X.track}`,children:e("div",{className:`h-1.5 rounded-full transition-all ${X.bar}`,style:{width:`${Math.min(100,$/O*100)}%`}})}),a("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[e("div",{children:G?a(t,{children:[e("span",{className:"text-foreground font-medium",children:r(K)})," ",s("users.included"),null!=z&&z>0&&a("span",{className:"text-muted-foreground/70",children:[" ","· ",c(z,H),s("users.perExtraSeat")]})]}):a("span",{children:[e("span",{className:"text-foreground font-medium",children:r(O)})," ",s("users.maxMembers")]})}),O>0?a("span",{children:[r(Math.max(0,O-$))," ",s("users.available")]}):e("span",{className:"text-muted-foreground/70",children:s("users.noMemberLimit")})]}),k.pendingCount>0&&e("p",{className:"mt-2 text-xs text-muted-foreground",children:s("users.invitations.seatNote",{count:k.pendingCount})})]}),L&&e(Ls,{state:k,canResend:D&&T,canRevoke:D,onChanged:P}),a("div",{className:"mb-4 flex items-center justify-between",children:[e("div",{children:e("div",{className:"text-sm text-muted-foreground",children:s("users.memberCount",{count:g.length})})}),e("div",{children:e(we,{variant:"ghost",size:"sm",onClick:P,progress:u,children:s("settings.common.refreshAction",{loading:String(u)})})})]}),e("ul",{className:"space-y-2",children:U.map((t,r)=>{const c=t.id===i?.id,l=("object"==typeof n.createdBy&&null!==n.createdBy?n.createdBy._id:n.createdBy)===t.id;return a("li",{className:"border rounded-md p-3",children:[a("div",{className:"flex items-center justify-between gap-2",children:[a("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[e("div",{className:"w-8 h-8 bg-muted rounded-full flex items-center justify-center text-sm font-medium shrink-0",children:t.name.charAt(0).toUpperCase()}),a("div",{className:"min-w-0",children:[e("div",{className:"font-medium text-sm truncate",children:t.name}),e("div",{className:"text-xs text-muted-foreground truncate",children:t.email})]})]}),a("div",{className:"flex items-center gap-1 shrink-0",children:[c&&e("span",{className:"text-xs bg-info/15 text-info px-2 py-0.5 rounded",children:s("users.you")}),l&&e("span",{className:"text-xs bg-primary/10 text-primary px-2 py-0.5 rounded",children:s("users.owner")})]})]}),I&&a("div",{className:"flex items-center gap-2 mt-2 pt-2 border-t border-border/60 sm:mt-0 sm:pt-0 sm:border-0",children:[a("div",{className:"relative flex-1 sm:flex-initial",children:[a(ks,{disabled:c||!I||l||b===t.id,value:t.role,onValueChange:e=>{return a=n._id,i=t.id,s=e,void(Ut(n,i)?pe(new Error("Cannot change the role of the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:i,role:s}}):(v(i),N(a,i,{role:s}).then(()=>{P()}).catch(e=>{pe(e,{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:i,role:s}})}).finally(()=>{v(null)})));var a,i,s},children:[e(Ps,{children:e(Yt,{placeholder:s("users.selectRole")})}),e(Ds,{children:(w?.workspace?.roles??n?.roles??[]).map(a=>e(Rs,{value:a,children:a},a))})]}),b===t.id&&e("div",{className:"absolute end-8 top-1/2 -translate-y-1/2 pointer-events-none",children:e(d,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]}),!c&&!l&&R&&e(we,{variant:"destructive",size:"sm",startIcon:e(B,{}),"aria-label":s("settings.common.delete"),onClick:()=>{return e=t.id,void(Ut(n,e)?pe(new Error("Cannot remove the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:n._id,userId:e}}):y(n._id,e).then(()=>{P()}).catch(a=>{pe(a,{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:n._id,userId:e}})}));var e}})]})]},t.id??r)})}),0===g.length&&e("div",{className:"text-center py-8 text-muted-foreground",children:s("users.noMembers")})]})};function _s({onInvite:t,workspaceId:n}){const{t:i}=re(),{inviteMember:s,getWorkspace:r}=ze(),{settings:c}=He(),[l,o]=Y(""),[d,u]=Y(null),m=c?.workspace.roles??d?.roles??[],p=Et(m,c?.workspace.defaultRole),[h,g]=Y(p),[f,b]=Y(!1),[v,x]=Y(null),[y,N]=Y(null),w=oe();J(()=>{!h&&p&&g(p)},[p]),J(()=>{n&&r(n).then(u).catch(e=>{pe(e,{component:"InviteMember",action:"getWorkspace"})})},[n]);const S=()=>{x(null),N(null),o(""),g(p)};return a("div",{className:"flex gap-2 flex-col gap-y-2",children:[v&&e(ue,{variant:"error",message:v}),y&&e(ue,{variant:"success",message:y}),a("div",{children:[e(ga,{children:i("users.inviteByEmail")}),e(pa,{type:"email",value:l,onChange:e=>o(e.target.value),placeholder:i("users.emailPlaceholder")})]}),a("div",{children:[e(ga,{children:i("users.role")}),a(ks,{value:h,onValueChange:g,children:[e(Ps,{children:e(Yt,{placeholder:i("users.selectRole")})}),e(Ds,{children:m.map(a=>e(Rs,{value:a,children:a},a))})]})]}),e("div",{children:e(we,{progress:f,onClick:async()=>{const e=l.trim();if(!e)return void x(i("users.emailRequired"));/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?(b(!0),x(null),N(null),await s(n,e,h).then(()=>{N(i("users.invitations.sent",{email:e})),t?.()}).catch(a=>{pe(a,{component:"InviteMember",action:"inviteMember",metadata:{workspaceId:n,email:e,role:h}}),x(a instanceof Error?a.message:i("users.inviteFailed"))}).finally(()=>{b(!1),w(S,6e3)})):x(i("users.invalidEmail"))},disabled:f||!l||!h,children:f?i("users.inviting"):i("users.inviteAs",{role:h})})})]})}function Ls({state:n,canResend:i,canRevoke:s,onChanged:r}){const{t:c,formattingLocale:l}=re(),{formats:o}=ce(),{invitations:d,loading:u,error:m,busy:p,resend:h,revoke:g}=n,[f,b]=Y(null),[v,x]=Y(null),y=oe(),[,N]=Y(0);if(J(()=>{if(!d.some(e=>Pt(e)>0))return;const e=setInterval(()=>N(e=>e+1),1e3);return()=>clearInterval(e)},[d]),!u&&0===d.length&&!m)return null;const w=e=>e?de(e,l,o?.date??{dateStyle:"medium"}):"";return a("div",{className:"mb-4",children:[a("div",{className:"mb-2 flex items-center justify-between",children:[e("h4",{className:"text-sm font-medium text-foreground",children:c("users.invitations.title")}),e("span",{className:"text-xs text-muted-foreground",children:c("users.invitations.pendingCount",{count:n.pendingCount})})]}),m&&e(ue,{variant:"error",message:m}),v&&e(ue,{variant:"success",message:v}),e("ul",{className:"space-y-2",children:d.map(n=>{const l=Mt(n),o="invited"===n.status&&!l,d=o?Pt(n):0,u=p===n._id;return e("li",{className:"rounded-md border p-3",children:a("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[a("div",{className:"min-w-0",children:[a("div",{className:"flex flex-wrap items-center gap-1.5",children:[e("span",{className:"truncate text-sm font-medium",children:n.email}),e("span",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:n.role}),e("span",{className:"rounded px-2 py-0.5 text-xs "+(o?"bg-info/15 text-info":"accepted"===n.status?"bg-success/15 text-success":"bg-muted text-muted-foreground"),children:c(`users.invitations.status.${l?"expired":n.status}`)})]}),a("div",{className:"text-xs text-muted-foreground",children:[c("users.invitations.sentAt",{date:w(n.lastSentAt??n.invitedAt)}),o&&n.validTill&&a(t,{children:[" · ",c("users.invitations.expiresAt",{date:w(n.validTill)})]})]})]}),(i&&(o||l)||s&&o)&&a("div",{className:"flex shrink-0 items-center gap-2",children:[i&&e(we,{variant:"outline",size:"sm",disabled:u||d>0,progress:u,onClick:()=>(e=>{h(e._id).then(()=>{x(c("users.invitations.sent",{email:e.email})),y(()=>x(null),6e3),r()}).catch(()=>{})})(n),children:d>0?c("users.invitations.resendIn",{minutes:Math.max(1,Math.ceil(d/60))}):c("users.invitations.resend")}),s&&o&&e(we,{variant:"destructive",size:"sm",disabled:u,onClick:()=>b(n),children:c("users.invitations.revoke")})]})]})},n._id)})}),e($e,{open:null!==f,onOpenChange:e=>!e&&b(null),children:a(qe,{children:[a(Ye,{children:[e(Je,{children:c("users.invitations.revokeTitle")}),e(Xe,{children:c("users.invitations.revokeConfirm",{email:f?.email??""})})]}),a(Qe,{children:[e(ea,{children:c("settings.common.cancel")}),e(aa,{onClick:()=>{return f&&(e=f,b(null),void g(e._id).then(r).catch(()=>{}));var e},className:"bg-destructive hover:bg-destructive/90 focus:ring-destructive",children:c("users.invitations.revoke")})]})]})})]})}const Gs=({workspace:t,section:i,setSection:s})=>{const{t:r}=re(),{settings:c}=He(),{appPermissions:l}=Ca(),{visible:o}=ke(),d=Dt(c),u=Ta(c,l).length>0,m=(e,a)=>o(a=>a.settings?.sections?.[e],a),h=m(Rt.Profile),g=m(Rt.Security),f=m(Rt.Devices),v=m(Rt.ConnectedAgents),x=m(Rt.General,Ee.WORKSPACE_SETTINGS_VIEW),y=m(Rt.Users,Ee.WORKSPACE_MEMBERS_VIEW),N=m(Rt.Subscription,Ee.WORKSPACE_BILLING_VIEW),w=m(Rt.Usage,Ee.WORKSPACE_USAGE_VIEW),S=m(Rt.Credits,Ee.WORKSPACE_BILLING_VIEW),A=m(Rt.Features,Ee.WORKSPACE_FEATURES_VIEW),C=m(Rt.Notifications),T=m(Rt.Permissions)&&u,E=m(Rt.Danger,Ee.WORKSPACE_DELETE)&&d,P=h||g||f||v,M=x||y||N||w||S||A||C||T||E,U=(a,t,n)=>e(Lt,{icon:t,label:n,active:i===a,onClick:()=>s(a)});return a("div",{className:"w-full sm:w-56 sm:h-full flex flex-col space-y-4 sm:space-y-6 shrink-0",children:[t&&e("div",{className:"sticky top-0 z-10 bg-muted border-b p-2 py-4 pe-10 sm:pe-2",children:a("div",{className:"flex items-center gap-x-2",children:[t.image&&t.image.trim()&&e("div",{className:"bg-info/15 rounded flex items-center justify-center text-info font-medium px-0.5 py-0.5",style:{width:"40px",height:"40px",minWidth:"40px",minHeight:"40px"},children:e("img",{src:t.image,className:"w-full h-full object-contain",style:{width:"36px",height:"36px",maxWidth:"36px",maxHeight:"36px",objectFit:"contain"},alt:t.name})}),a("div",{className:me("flex-1 min-w-0",t.image?"":"ps-2"),children:[e("div",{className:"font-medium text-sm line-clamp-1 text-ellipsis overflow-hidden",children:t.name}),e("div",{className:me("text-xs",It),children:t.workspaceId})]})]})}),P&&a(_t,{title:r("settings.sidebar.account"),children:[h&&U(Rt.Profile,e(K,{className:"h-3.5 w-3.5"}),r("settings.sidebar.profile")),g&&U(Rt.Security,e(k,{className:"h-3.5 w-3.5"}),r("settings.sidebar.security")),f&&U(Rt.Devices,e(O,{className:"h-3.5 w-3.5"}),r("settings.sidebar.devices")),v&&U(Rt.ConnectedAgents,e(F,{className:"h-3.5 w-3.5"}),r("security.connectedAgentsTitle"))]}),M&&a(_t,{title:r("settings.sidebar.workspace"),children:[x&&U(Rt.General,e(W,{className:"h-3.5 w-3.5"}),r("settings.sidebar.general")),y&&U(Rt.Users,e(V,{className:"h-3.5 w-3.5"}),r("settings.sidebar.users")),N&&U(Rt.Subscription,e(L,{className:"h-3.5 w-3.5"}),r("settings.sidebar.subscription")),w&&U(Rt.Usage,e(G,{className:"h-3.5 w-3.5"}),r("settings.sidebar.usage")),S&&U(Rt.Credits,e(n,{className:"h-3.5 w-3.5"}),r("settings.sidebar.credits")),A&&U(Rt.Features,e(p,{className:"h-3.5 w-3.5"}),r("settings.sidebar.features")),C&&U(Rt.Notifications,e(b,{className:"h-3.5 w-3.5"}),r("settings.sidebar.notifications")),T&&U(Rt.Permissions,e(j,{className:"h-3.5 w-3.5"}),r("settings.sidebar.permissions")),E&&U(Rt.Danger,e(I,{className:"h-3.5 w-3.5"}),r("settings.sidebar.danger"))]})]})},Bs={[Rt.Profile]:"settings.titles.profile",[Rt.Security]:"settings.titles.security",[Rt.Devices]:"settings.titles.devices",[Rt.ConnectedAgents]:"security.connectedAgentsTitle",[Rt.General]:"settings.titles.general",[Rt.Users]:"settings.titles.users",[Rt.Subscription]:"settings.titles.subscription",[Rt.Usage]:"settings.titles.usage",[Rt.Credits]:"settings.titles.credits",[Rt.Features]:"settings.titles.features",[Rt.Notifications]:"settings.titles.notifications",[Rt.Permissions]:"settings.titles.permissions",[Rt.Danger]:"settings.titles.danger"},Ks=({ui:a,...t})=>{const n=ce(),i=X(()=>Gt(n,a),[n,a]);return a?e(Bt,{ui:i,children:e(Os,{...t})}):e(Os,{...t})},Os=({workspace:t,onClose:n,open:i,onOpenChange:s,defaultSection:r=Rt.Profile,section:c,onSectionChange:l,showTrigger:o=!0,trigger:d})=>{const{t:u,dir:m}=re(),{visible:p}=ke(),[h,g]=Y(!1),[f,b]=Y(r),v=void 0!==i?i:h,x=s||g,y=void 0!==c?c:f,N=l||b,w=e=>p(a=>a.settings?.sections?.[e]),S=w(y)?y:Object.values(Rt).find(w)??null,A=void 0===c&&r===Rt.Profile,[C,T]=Y(A),k=Q(S),E=Q(null),P=Q(null),M=Q(C);J(()=>{M.current!==C&&(M.current=C,"undefined"==typeof window||window.innerWidth>=640||(C?P:E).current?.focus())},[C]),J(()=>{k.current!==S&&(k.current=S,T(!1))},[S]),J(()=>{v&&T(A)},[v]);const{emit:U}=ut(),D=Q(!1),R=Q(null);J(()=>v?S?D.current?void(R.current!==S&&(R.current=S,U("workspace_settings_section_viewed",{section:S}))):(D.current=!0,R.current=S,void U("workspace_settings_opened",{section:S})):void 0:(D.current=!1,void(R.current=null)),[v,S,U]);if(!t||!S)return null;const I=e(we,{variant:"outline",size:"icon","aria-label":u("settings.common.openSettings"),children:e(z,{className:"h-4 w-4"})});return a(be,{open:v,onOpenChange:e=>{x(e),!e&&n&&n()},children:[o&&e(Kt,{asChild:!0,children:d||I}),a(ve,{dir:m,className:"flex flex-col sm:flex-row max-w-2xl min-w-full md:min-w-[800px] xl:min-w-[960px] p-0 m-0 bg-muted h-dvh max-h-dvh sm:h-auto sm:max-h-[90vh] sm:min-h-[600px] overflow-hidden gap-x-0 space-x-0",children:[e(ye,{className:"sr-only",children:u(Bs[S])}),e("div",{ref:P,tabIndex:-1,className:me("flex-col flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2 sm:p-0 sm:flex sm:flex-none focus:outline-none",C?"flex":"hidden"),children:e(Gs,{workspace:t,section:S,setSection:e=>{N(e),T(!1)}})}),a("div",{ref:E,tabIndex:-1,className:me("flex-1 p-4 sm:p-6 overflow-auto flex-col bg-background sm:flex focus:outline-none",C?"hidden":"flex"),children:[a("div",{className:"flex items-center gap-1 mb-4 pe-10 sm:pe-0",children:[e(we,{variant:"ghost",size:"icon",className:"sm:hidden -ms-2 shrink-0 text-muted-foreground","aria-label":u("settings.common.back"),onClick:()=>T(!0),children:e(H,{className:"h-5 w-5 rtl:rotate-180"})}),e(xe,{className:"text-xl font-semibold min-w-0 truncate",children:u(Bs[S])})]}),e(an,{className:"mb-4"}),a("div",{className:"sm:max-h-[500px] xl:max-h-[65vh] overflow-y-auto",children:[S===Rt.Profile&&e(wi,{workspace:t}),S===Rt.Security&&e(us,{}),S===Rt.Devices&&e(jn,{}),S===Rt.ConnectedAgents&&e(tn,{}),S===Rt.General&&e(Zn,{workspace:t}),S===Rt.Users&&e(Is,{workspace:t}),S===Rt.Subscription&&e(ws,{workspace:t}),S===Rt.Usage&&e(Cs,{}),S===Rt.Credits&&e(hn,{workspace:t}),S===Rt.Features&&e($n,{workspaceId:t._id?.toString()}),S===Rt.Notifications&&e(Xn,{workspace:t}),S===Rt.Permissions&&e(ei,{workspace:t}),S===Rt.Danger&&e(fn,{workspace:t})]})]})]})]})};var Fs=Object.freeze({__proto__:null,SETTINGS_SCREENS:Ot,SettingsScreen:Rt,WorkspaceSettingsDialog:Ks,default:Ks});export{ks as S,Ps as a,Es as b,Ds as c,Rs as d,Fs as e,ln as g};