@buildbase/sdk 0.0.53 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +11 -5
- package/CHANGELOG.md +46 -0
- package/README.md +87 -52
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +393 -33
- package/dist/index.mjs +1 -1
- package/dist/mcp/index.cjs +1 -1
- package/dist/mcp/index.d.ts +562 -8
- package/dist/mcp/index.mjs +1 -1
- package/dist/react/chunks/{SettingsDialog-Dy8W3NA6.cjs → SettingsDialog-B28WJsAr.cjs} +1 -1
- package/dist/react/chunks/{SettingsDialog-BxDYsie6.mjs → SettingsDialog-blhppbNm.mjs} +1 -1
- package/dist/react/chunks/{SubscriptionDialog-6c5dHoQd.mjs → SubscriptionDialog-BTWVX3cH.mjs} +1 -1
- package/dist/react/chunks/{SubscriptionDialog-CpVnnXJg.cjs → SubscriptionDialog-QKmwvJU1.cjs} +1 -1
- package/dist/react/chunks/react-6QJCOE-D.cjs +2 -0
- package/dist/react/chunks/react-CC6T7Zky.mjs +2 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.d.ts +60 -12
- package/dist/react/index.mjs +1 -1
- package/package.json +4 -2
- package/dist/react/chunks/react-4SlWxHdh.cjs +0 -2
- package/dist/react/chunks/react-OL1uSkpr.mjs +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var e=require("react/jsx-runtime"),a=require("lucide-react"),s=require("react"),t=require("./react-4SlWxHdh.cjs"),i=require("@radix-ui/react-alert-dialog"),n=require("@radix-ui/react-switch"),r=require("@hookform/resolvers/zod"),c=require("react-hook-form"),o=require("zod"),l=require("@radix-ui/react-icons"),d=require("cmdk"),u=require("@radix-ui/react-popover"),m=require("@radix-ui/react-select");function x(e){var a=Object.create(null);return e&&Object.keys(e).forEach(function(s){if("default"!==s){var t=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(a,s,t.get?t:{enumerable:!0,get:function(){return e[s]}})}}),a.default=e,Object.freeze(a)}var p=x(s),g=x(i),f=x(n),b=x(u),h=x(m);const S=()=>e.jsx(t.ConnectedAgents,{title:null}),v=({open:i,onOpenChange:n,packages:r,billingCurrency:c,workspaceName:o,onSelectPackage:l,purchasingPackageId:d,loading:u=!1})=>{const{t:m,dir:x,fmtNum:p,fmtCents:g}=t.useTranslation(),f=s.useMemo(()=>{const e=new Set;return r.forEach(a=>{a.pricingVariants?.forEach(a=>{a.currency&&e.add(a.currency.toLowerCase())})}),Array.from(e)},[r]),b=s.useMemo(()=>{const e=c?.trim().toLowerCase();return e?f.includes(e)?[e]:[]:f},[c,f]),[h,S]=s.useState(()=>b.length>0?b[0]:""),v=c?.trim().toLowerCase()||h,j=u||!!d;return e.jsx(t.Dialog,{open:i,onOpenChange:n,children:e.jsxs(t.DialogContent,{dir:x,className:"inset-0 w-screen h-screen max-w-none rounded-none translate-x-0 translate-y-0 p-0 flex flex-col",children:[e.jsxs("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:[e.jsxs("div",{children:[e.jsx(t.DialogTitle,{className:"text-xl font-semibold",children:m("credits.dialogTitle")}),e.jsxs(t.DialogDescription,{className:"mt-1 text-sm",children:[m("credits.dialogDescription"),o&&e.jsx("span",{className:"ms-1 font-medium text-foreground",children:m("credits.dialogDescriptionWorkspace",{workspace:o})})]})]}),!c?.trim()&&b.length>1&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:m("pricing.currency")}),e.jsx("div",{className:"flex gap-1 rounded-lg border border-border bg-muted/30 p-1",children:b.map(a=>e.jsxs("button",{type:"button",onClick:()=>S(a),className:t.cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors",v===a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[t.getCurrencySymbol(a)," ",a.toUpperCase()]},a))})]})]}),e.jsx("div",{className:"flex-1 overflow-y-auto",children:0===r.length?e.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-muted-foreground/70",children:[e.jsx(a.Coins,{className:"h-12 w-12 mb-3"}),e.jsx("p",{className:"text-sm",children:m("credits.noPackages")})]}):e.jsx("div",{className:"max-w-2xl mx-auto px-4 py-6 sm:px-6 space-y-4",children:r.map(s=>{const i=s.pricingVariants?.find(e=>e.currency?.toLowerCase()===v)??s.pricingVariants?.[0],n=i?.amount,r=i?.currency??v,c=d===s._id,o=null!=n&&n>0&&s.creditAmount>0?Math.round(n/s.creditAmount):null;return e.jsxs("div",{className:t.cn("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:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground",children:s.name}),e.jsxs("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.jsx(a.Coins,{className:"h-3.5 w-3.5"}),m("credits.creditsAmount",{count:p(s.creditAmount)})]})]}),s.description&&e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:s.description}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground/70",children:[e.jsx("span",{children:s.validityDays?m("credits.validityDays",{count:s.validityDays}):m("credits.validityUnlimited")}),null!=o&&e.jsx("span",{children:m("credits.perCredit",{price:g(o,r)})})]})]}),e.jsxs("div",{className:"flex items-center gap-4 sm:flex-col sm:items-end sm:gap-2 shrink-0",children:[null!=n&&e.jsx("span",{className:"text-2xl sm:text-3xl font-bold text-foreground whitespace-nowrap",children:g(n,r)}),e.jsx(t.Button,{size:"sm",onClick:()=>l(s),disabled:j,progress:c,className:"whitespace-nowrap",children:c?m("credits.purchasing"):m("credits.buyAmount",{count:p(s.creditAmount)})})]})]},s._id)})})})]})})},j=({titleKey:s,descriptionKey:i})=>{const{t:n}=t.useTranslation();return e.jsx("div",{className:"border border-warning/20 bg-warning/10 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.ShieldAlert,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-warning",children:n(s??"settings.common.noPermissionTitle")}),e.jsx("p",{className:"text-xs text-warning/80 mt-1",children:n(i??"settings.common.noPermissionDescription")})]})]})})};function N(){return e.jsxs("div",{className:"space-y-3.5",children:[e.jsx(t.Skeleton,{className:"h-10 w-full"}),e.jsx(t.Skeleton,{className:"h-10 w-full"}),e.jsx(t.Skeleton,{className:"h-10 w-full"})]})}function A(e,a="en-US",s){try{const t=new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat(a,s??{month:"short",day:"numeric",year:"numeric"}).format(t)}catch{return""}}function y(e,a="en-US"){return A(e,a,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"})}function T(e,a="en-US"){return e?new Date(1e3*e).toLocaleDateString(a,{year:"numeric",month:"short",day:"numeric"}):""}const C={[t.CreditTransactionType.PlanGrant]:"credits.type.plan_grant",[t.CreditTransactionType.PackPurchased]:"credits.type.pack_purchased",[t.CreditTransactionType.Consumed]:"credits.type.consumed",[t.CreditTransactionType.Expired]:"credits.type.expired",[t.CreditTransactionType.AdminGrant]:"credits.type.admin_grant",[t.CreditTransactionType.AdminRevoke]:"credits.type.admin_revoke",[t.CreditTransactionType.Refund]:"credits.type.refund"};const w=({workspace:i})=>{const n=i._id?.toString(),{t:r,fmtNum:c}=t.useTranslation(),{can:o}=t.usePermissions(),{visible:l}=t.useUIVisibility(),d=l(e=>e.settings?.credits?.transactions),u=o(t.Permission.WORKSPACE_BILLING_VIEW),m=l(e=>e.settings?.credits?.buyButton,t.Permission.WORKSPACE_BILLING_MANAGE),{balance:x,loading:p,error:g,refetch:f}=t.useCreditBalanceContext(),{packages:b,loading:h}=t.useCreditPackages(n),{expiringCredits:S,loading:A}=t.useExpiringCredits(n,7),[y,T]=s.useState(1),{transactions:C,hasNextPage:w,loading:E,refetch:P}=t.useCreditTransactions(n,{limit:10,page:y}),[M,U]=s.useState([]);s.useEffect(()=>{E||0===C.length||U(1===y?C:e=>{const a=new Set(e.map(e=>e._id)),s=C.filter(e=>!a.has(e._id));return s.length>0?[...e,...s]:e})},[C,y,E]);const I=s.useCallback(()=>{w&&!E&&T(e=>e+1)},[w,E]),D=M,{purchaseCredits:R,loading:B}=t.usePurchaseCredits(n),[G,L]=s.useState(!1),[K,_]=s.useState(null),[F,O]=s.useState(!1),[W,V]=s.useState(!1),[z,H]=s.useState(null),[J,Y]=s.useState(!1),Z=s.useRef(!1),q=p&&!x;s.useEffect(()=>{if(Z.current)return;const e=t.workspaceSettingsManager.getState();if(!e.params?.action)return;if(e.params.action===t.BBAction.OpenCreditStore)return Z.current=!0,t.workspaceSettingsManager.clearParams(),void Y(!0);if(e.params.action!==t.BBAction.CreditPurchase)return;Z.current=!0;const a=e.params.status;if(t.workspaceSettingsManager.clearParams(),a===t.BBStatus.Success){O(!0),t.invalidateCreditBalance();const e=setTimeout(()=>O(!1),8e3);return()=>clearTimeout(e)}if(a===t.BBStatus.Cancel){V(!0);const e=setTimeout(()=>V(!1),5e3);return()=>clearTimeout(e)}a===t.BBStatus.Error&&_(r("credits.purchaseFailed"))},[]);if(q)return e.jsx(N,{});if(!u)return e.jsx(j,{});if(!n)return e.jsx("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e.jsx("p",{children:r("subscription.invalidWorkspace")})});const $=!h&&b.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r("credits.description")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[$&&m&&e.jsxs(t.Button,{size:"sm",onClick:()=>Y(!0),children:[e.jsx(a.ShoppingCart,{className:"h-3.5 w-3.5 me-1.5"}),r("credits.buyCredits")]}),e.jsxs(t.Button,{variant:"ghost",size:"sm",onClick:async()=>{L(!0);try{await f()}finally{L(!1)}},disabled:G,children:[e.jsx(a.RefreshCw,{className:t.cn("h-3.5 w-3.5 me-1.5",G&&"animate-spin")}),r("settings.common.refreshAction",{loading:String(G)})]})]})]}),g&&e.jsx(t.StatusBanner,{variant:"error",title:r("credits.errorLoading"),message:g}),F&&e.jsx(t.StatusBanner,{variant:"success",icon:e.jsx(a.CheckCircle2,{className:"h-4 w-4 flex-shrink-0"}),title:r("credits.purchaseSuccess"),actionLabel:r("settings.common.dismiss"),onAction:()=>O(!1)}),W&&e.jsx(t.StatusBanner,{variant:"warning",title:r("credits.purchaseCanceled"),actionLabel:r("settings.common.dismiss"),onAction:()=>V(!1)}),K&&e.jsx(t.StatusBanner,{variant:"error",message:K,actionLabel:r("settings.common.dismiss"),onAction:()=>_(null)}),e.jsxs("div",{className:"border border-border rounded-lg overflow-hidden",children:[e.jsxs("div",{className:"bg-muted/30 p-4 sm:p-5",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wider",children:r("credits.balance")}),e.jsx(a.Coins,{className:"h-5 w-5 text-muted-foreground/70"})]}),x?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-3xl font-bold text-foreground mb-4",children:c(x.available)}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalGranted")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalGranted)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalConsumed")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalConsumed)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalExpired")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalExpired)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.available")}),e.jsx("p",{className:"text-sm font-semibold text-success",children:c(x.available)})]})]})]}):e.jsxs("div",{className:"text-center py-4",children:[e.jsx(a.Coins,{className:"h-10 w-10 text-muted-foreground/50 mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:r("credits.noCredits")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:r("credits.noCreditsHint")}),$&&m&&e.jsxs(t.Button,{size:"sm",className:"mt-3",onClick:()=>Y(!0),children:[e.jsx(a.ShoppingCart,{className:"h-3.5 w-3.5 me-1.5"}),r("credits.buyCredits")]})]})]}),!A&&S>0&&e.jsx("div",{className:"px-4 py-3 bg-warning/10 border-t border-warning/30 text-sm text-warning",children:r("credits.expiringInDays",{count:S,days:7})})]}),d&&e.jsxs("div",{children:[e.jsx(t.SectionHeader,{title:r("credits.transactions"),className:"mb-3"}),E&&0===D.length?e.jsx(t.LoadingState,{}):0===D.length?e.jsx(t.EmptyState,{icon:e.jsx(a.History,{className:"h-5 w-5 text-muted-foreground"}),description:r("credits.noTransactions"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:E,onClick:P,children:r("settings.common.refreshAction",{loading:String(E)})})}):e.jsxs("div",{className:"border border-border rounded-lg overflow-hidden",children:[e.jsx("div",{className:"divide-y divide-border/60",children:D.map(a=>e.jsx(k,{tx:a},a._id))}),w&&e.jsx("div",{className:"border-t border-border px-4 py-3 text-center",children:e.jsx(t.Button,{variant:"ghost",size:"sm",onClick:I,disabled:E,progress:E&&y>1,children:r("credits.loadMore")})})]})]}),$&&m&&e.jsx(v,{open:J,onOpenChange:Y,packages:b,billingCurrency:i.billingCurrency,workspaceName:i.name,onSelectPackage:async e=>{if(n){_(null),H(e._id);try{const{successUrl:a,cancelUrl:s}=t.createCreditPurchaseRedirectUrls(n),i=await R({creditPackageId:e._id,successUrl:a,cancelUrl:s});i.url&&t.safeRedirect(i.url)}catch(e){_(e instanceof Error?e.message:r("errors.purchaseCredits")),H(null)}}},purchasingPackageId:z,loading:B})]})};function k({tx:a}){const{t:s,formattingLocale:i,fmtNum:n}=t.useTranslation(),r=C[a.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"}}(a.type),o=a.amount>0;return e.jsx("div",{className:"px-3 py-3 sm:px-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0",c),children:s(r)}),a.description&&e.jsx("p",{className:"text-sm text-foreground truncate",children:a.description})]}),e.jsx("p",{className:"text-xs text-muted-foreground/70",children:y(a.createdAt,i)})]}),e.jsxs("div",{className:"text-end shrink-0",children:[e.jsxs("span",{className:t.cn("text-sm font-semibold",o?"text-success":"text-foreground"),children:[o?"+":"",n(a.amount)]}),e.jsx("p",{className:"text-xs text-muted-foreground/70",children:n(a.balanceAfter)})]})]})})}const E=g.Root,P=g.Trigger,M=g.Portal,U=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Overlay,{className:t.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...s,ref:i}));U.displayName=g.Overlay.displayName;const I=p.forwardRef(({className:a,...s},i)=>{const{container:n}=p.useContext(t.PortalContext);return e.jsxs(M,{container:n,children:[e.jsx(U,{}),e.jsx(g.Content,{ref:i,className:t.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",a),...s})]})});I.displayName=g.Content.displayName;const D=({className:a,...s})=>e.jsx("div",{className:t.cn("flex flex-col space-y-2 text-center sm:text-start",a),...s});D.displayName="AlertDialogHeader";const R=({className:a,...s})=>e.jsx("div",{className:t.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...s});R.displayName="AlertDialogFooter";const B=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Title,{ref:i,className:t.cn("text-lg font-semibold",a),...s}));B.displayName=g.Title.displayName;const G=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Description,{ref:i,className:t.cn("text-sm text-muted-foreground",a),...s}));G.displayName=g.Description.displayName;const L=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Action,{ref:i,className:t.cn(t.buttonVariants(),a),...s}));L.displayName=g.Action.displayName;const K=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Cancel,{ref:i,className:t.cn(t.buttonVariants({variant:"outline"}),"mt-2 sm:mt-0",a),...s}));K.displayName=g.Cancel.displayName;const _=({workspace:i})=>{const[n,r]=s.useState(!1),{deleteWorkspace:c}=t.useSaaSWorkspaces(),{can:o}=t.usePermissions(),{settings:l}=t.useSaaSSettings(),{t:d}=t.useTranslation();if(1===(l?.workspace?.maxWorkspacesPerUser??0))return null;if(!i)return e.jsx(N,{});return o(t.Permission.WORKSPACE_DELETE)?e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:d("danger.title"),titleClassName:"text-destructive",description:d("danger.deleteDescription")}),e.jsxs(E,{children:[e.jsx(P,{asChild:!0,children:e.jsxs(t.Button,{variant:"destructive",disabled:n,progress:n,children:[e.jsx(a.Trash2,{className:"h-4 w-4 me-2"}),d("danger.deleteWorkspace")]})}),e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:d("danger.deleteConfirm")}),e.jsx(G,{children:d("danger.deleteConfirmDescription")})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:n,children:d("settings.common.cancel")}),e.jsx(L,{onClick:async()=>{r(!0);try{await c(i._id)}catch(e){t.handleError(e,{component:"WorkspaceSettingsDanger",action:"handleDeleteWorkspace",metadata:{workspaceId:i._id}})}finally{r(!1)}},disabled:n,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:n?e.jsxs(e.Fragment,{children:[e.jsx(a.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),d("danger.deleting")]}):d("danger.deleteWorkspace")})]})]})]})]}):e.jsx(j,{descriptionKey:"danger.adminOnly"})},F=p.forwardRef(({className:a,...s},i)=>e.jsx(f.Root,{className:t.cn("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),...s,ref:i,children:e.jsx(f.Thumb,{className:t.cn("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 O(e=5e3){const[a,t]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);return{message:a,show:s.useCallback(a=>{t(a),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{t(null)},e)},[e]),clear:s.useCallback(()=>{t(null),i.current&&clearTimeout(i.current)},[])}}F.displayName=f.Root.displayName;const W=({workspaceId:i})=>{const{t:n}=t.useTranslation(),{allFeatures:r,updateFeature:c,getWorkspace:o}=t.useSaaSWorkspaces(),{can:l}=t.usePermissions(),[d,u]=s.useState({}),m=O(),[x,p]=s.useState(null);if(s.useEffect(()=>{o(i).then(p).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsFeatures",action:"getWorkspace"})})},[i]),!x)return e.jsx(N,{});const g=l(t.Permission.WORKSPACE_FEATURES_EDIT);return e.jsxs("div",{children:[m.message&&e.jsx(t.StatusBanner,{variant:"success",title:n("settings.common.success"),message:m.message,className:"mb-4"}),e.jsxs("div",{className:"flex flex-col gap-y-3.5 pe-4",children:[!g&&e.jsx(j,{descriptionKey:"features.ownerOnly"}),!r.length&&e.jsx(t.EmptyState,{icon:e.jsx(a.ToggleRight,{className:"h-5 w-5 text-muted-foreground"}),description:n("features.noFeatures")}),r.length>0&&e.jsx("div",{className:"flex flex-col gap-y-3.5",children:r.map(s=>{const i=x?.features?.[s.slug],o=null!==d[s.slug]&&void 0!==d[s.slug],l=d[s.slug],f=n("features.actionStatus",{action:!0===l?"enabling":!1===l?"disabling":"none"});return e.jsxs("div",{className:"flex items-center gap-x-2 justify-between w-full",children:[e.jsxs("div",{className:"flex gap-x-2 flex-col",children:[e.jsx("h3",{className:"font-medium text-ellipsis",children:s.name}),e.jsx("p",{className:"text-muted-foreground",children:s.description})]}),o?e.jsxs("div",{className:"flex items-center gap-x-1",children:[e.jsx(a.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[f,"..."]})]}):e.jsx(F,{disabled:!g,checked:i??s.defaultValue,onCheckedChange:e=>async function(e,a){if(x){u(s=>({...s,[e]:a})),m.clear();try{const s=await c(x._id,e,a);p(s);const t=r.find(a=>a.slug===e),i=t?.name||"Feature";m.show(n("features.updateSuccess",{feature:i,enabled:String(a)}))}catch(a){t.handleError(a,{component:"WorkspaceSettingsFeatures",action:"updateFeature",metadata:{workspaceId:x._id,featureKey:e}})}finally{u(a=>({...a,[e]:null}))}}}(s.slug,e)})]},s._id)})})]})]})},V=({workspace:i})=>{const{t:n}=t.useTranslation(),{visible:l}=t.useUIVisibility(),d=l(e=>e.settings?.general?.nameEdit),u=l(e=>e.settings?.general?.iconEditor),{updateWorkspace:m}=t.useSaaSWorkspaces(),{can:x}=t.usePermissions(),[p,g]=s.useState(!1),[f,b]=s.useState("emoji"),[h,S]=s.useState(),v=O(),A=o.z.object({name:o.z.string().min(2,{message:n("general.nameMinLength")}),image:o.z.string().optional()}),y=c.useForm({resolver:r.zodResolver(A),defaultValues:{name:i.name||"",image:i.image||""}});if(!i)return e.jsx(N,{});const T=x(t.Permission.WORKSPACE_SETTINGS_EDIT);return e.jsxs("div",{children:[v.message&&e.jsx(t.StatusBanner,{variant:"success",title:n("settings.common.success"),message:v.message,className:"mb-4"}),!T&&e.jsx(j,{descriptionKey:"general.ownerOnly"}),e.jsx(t.Form,{...y,children:e.jsxs("form",{onSubmit:y.handleSubmit(async function(e){g(!0),v.clear();try{await m(i,e),v.show(n("general.success"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsGeneral",action:"updateWorkspace",metadata:{workspaceId:i._id}})}finally{g(!1)}}),className:"space-y-6",children:[d&&e.jsx(t.FormField,{control:y.control,name:"name",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:n("general.name")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{placeholder:n("general.namePlaceholder"),...a,disabled:!T})}),e.jsx(t.FormMessage,{})]})}),i.billingCurrency?.trim()&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(t.Label,{className:"text-sm font-medium text-muted-foreground",children:n("general.billingCurrency")}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.getCurrencyFlag(i.billingCurrency)&&e.jsx("span",{className:"text-base",children:t.getCurrencyFlag(i.billingCurrency)}),e.jsx("span",{children:i.billingCurrency.trim().toUpperCase()})]})]}),u&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(t.Label,{className:"text-sm font-medium",children:n("general.icon")}),e.jsx(t.FormDescription,{children:n("general.iconDescription")})]}),e.jsxs(t.RadioGroup,{value:f,disabled:!T,onValueChange:e=>b(e),className:"flex flex-col space-y-3",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(t.RadioGroupItem,{value:"emoji",id:"emoji"}),e.jsxs(t.Label,{htmlFor:"emoji",className:"flex items-center gap-2",children:[e.jsx(a.Smile,{className:"h-4 w-4"}),n("general.chooseEmoji")]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(t.RadioGroupItem,{value:"url",id:"url"}),e.jsxs(t.Label,{htmlFor:"url",className:"flex items-center gap-2",children:[e.jsx(a.ImageIcon,{className:"h-4 w-4"}),n("general.customImageUrl")]})]})]}),"emoji"===f&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),e.jsxs("div",{className:"w-12 h-12 rounded-lg border-2 border-border flex items-center justify-center text-2xl bg-muted",children:[h&&e.jsx("span",{className:"text-2xl",children:h}),!h&&y.watch("image")?.trim()&&e.jsx("img",{src:y.watch("image")||void 0,alt:"Workspace preview"})]})]}),T&&e.jsx(t.ScrollArea,{className:"h-32 w-full rounded-md border",children:e.jsx("div",{className:"p-4 grid grid-cols-8 gap-2",children:t.workspaceEmojis.map((a,s)=>e.jsx("button",{type:"button",onClick:()=>(e=>{S(e),y.setValue("image",t.getSvgImage(e))})(a),disabled:!T,"aria-label":a,"aria-pressed":h===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 "+(h===a?"bg-primary text-primary-foreground":""),children:a},s))})})]}),"url"===f&&e.jsxs("div",{className:"space-y-3",children:[e.jsx(t.FormField,{control:y.control,name:"image",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:n("general.imageUrl")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{placeholder:n("general.imageUrlPlaceholder"),...a,disabled:!T})}),e.jsx(t.FormDescription,{children:n("general.imageUrlDescription")}),e.jsx(t.FormMessage,{})]})}),y.watch("image")&&y.watch("image")?.trim()&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),e.jsx("div",{className:"w-12 h-12 rounded-lg border-2 border-border overflow-hidden bg-muted",children:e.jsx("img",{src:y.watch("image")||void 0,className:"w-full h-full object-cover",alt:"Workspace preview"})})]})]})]}),e.jsx("div",{className:"flex justify-end gap-3 pt-4",children:T&&(d||u)&&e.jsx(t.Button,{type:"submit",disabled:p,progress:p,children:n("general.updateWorkspace")})})]})})]})};const z={firefox:4,safari:4,edge:4,chrome:4},H=({workspace:i})=>{const{isSupported:n,permission:r,isSubscribed:c,loading:o,error:l,subscribe:d,unsubscribe:u}=t.usePushNotifications(),{t:m}=t.useTranslation(),{api:x}=t.useWorkspaceApiWithOs(),{can:p}=t.usePermissions(),{visible:g}=t.useUIVisibility(),f=p(t.Permission.WORKSPACE_SETTINGS_EDIT),b=g(e=>e.settings?.notifications?.push),h=g(e=>e.settings?.notifications?.emailToggles),S=g(e=>e.settings?.notifications?.pushToggles),v=s.useMemo(()=>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"}(),[]),j=z[v],[N,A]=s.useState([]),[y,T]=s.useState(!0),[C,w]=s.useState({}),[k,E]=s.useState(!0),[P,M]=s.useState(null),[U,I]=s.useState(null),D=s.useRef(null);s.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]),s.useEffect(()=>{if(!i?._id)return;const e=i._id.toString();T(!0),E(!0),Promise.all([x.getNotificationEvents(e).catch(()=>[]),x.getNotificationPreferences(e).catch(()=>({}))]).then(([e,a])=>{A(e),w(a)}).finally(()=>{T(!1),E(!1)})},[i?._id]);const R=s.useCallback(async(e,a,s)=>{if(!i?._id||!f)return;const n=!s;M(`${e}.${a}`),I(null),w(s=>({...s,[e]:{...s[e],[a]:n}}));try{const s=await x.updateNotificationPreferences(i._id.toString(),{[e]:{[a]:n}});w(s),I(m("notifications.prefsSaved")),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>I(null),3e3)}catch(i){w(t=>({...t,[e]:{...t[e],[a]:s}})),t.handleError(i,{component:"SettingsNotifications",action:"toggleChannel"})}finally{M(null)}},[i?._id,f,x,m]),B=(e,a)=>!1!==C[e]?.[a],G=s.useMemo(()=>{const e=new Map;for(const a of N){const s=a.category||"general";e.has(s)||e.set(s,[]),e.get(s).push(a)}return Array.from(e.entries())},[N]),L=y||k,K=N.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:m("notifications.manageDescription")}),b&&n&&e.jsxs(e.Fragment,{children:[l&&"denied"!==r&&e.jsx(t.StatusBanner,{variant:"error",message:l}),"denied"===r&&e.jsx("div",{className:"border border-warning/30 bg-warning/10 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.ShieldAlert,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-warning",children:m("notifications.blocked")}),e.jsx("p",{className:"text-xs text-warning mt-1",children:m("notifications.blockedDescription")}),e.jsx("ol",{className:"text-xs text-warning mt-2 space-y-1 list-decimal list-inside",children:Array.from({length:j},(a,s)=>e.jsx("li",{children:m(`notifications.unblock.${v}.step${s+1}`)},s))})]})]})}),"denied"!==r&&e.jsxs("div",{className:"border rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5 p-2 rounded-lg "+(c?"bg-success/15":"bg-muted"),children:c?e.jsx(a.Bell,{className:"h-4 w-4 text-success"}):e.jsx(a.BellOff,{className:"h-4 w-4 text-muted-foreground/70"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-foreground",children:m("notifications.pushTitle")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:m("notifications.pushDescription",{subscribed:String(c)})})]})]}),e.jsx(t.Button,{variant:c?"outline":"default",size:"sm",className:"shrink-0",onClick:c?u:d,disabled:o,progress:o,children:m("notifications.toggleAction",{loading:String(o),subscribed:String(c)})})]}),c&&e.jsx("div",{className:"mt-3 pt-3 border-t border-border/60 text-xs text-muted-foreground",children:m("notifications.deviceNote")})]})]}),L&&e.jsx("div",{className:"text-center text-sm text-muted-foreground/70 py-4",children:m("notifications.loadingPrefs")}),!L&&K&&f&&(h||S)&&e.jsxs(e.Fragment,{children:[U&&e.jsx(t.StatusBanner,{variant:"success",message:U}),G.map(([s,t])=>e.jsxs("div",{className:"border rounded-lg overflow-hidden",children:[e.jsx("div",{className:"bg-muted/50 px-4 py-2.5 border-b",children:e.jsx("h4",{className:"text-sm font-medium text-foreground capitalize",children:s})}),e.jsxs("div",{className:"divide-y",children:[e.jsxs("div",{className:"flex items-center px-4 py-2 bg-muted/30",children:[e.jsx("div",{className:"flex-1"}),e.jsxs("div",{className:"flex items-center gap-6",children:[h&&e.jsx("div",{className:"w-12 flex justify-center",children:e.jsx(a.Mail,{className:"h-3.5 w-3.5 text-muted-foreground/70"})}),S&&e.jsx("div",{className:"w-12 flex justify-center",children:e.jsx(a.Smartphone,{className:"h-3.5 w-3.5 text-muted-foreground/70"})})]})]}),t.map(a=>{const s=B(a.slug,"email"),t=B(a.slug,"push"),i=P===`${a.slug}.email`,n=P===`${a.slug}.push`;return e.jsxs("div",{className:"flex items-center px-4 py-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-sm font-medium text-foreground",children:a.name}),a.description&&e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:a.description})]}),e.jsxs("div",{className:"flex items-center gap-6 shrink-0",children:[h&&e.jsx("div",{className:"w-12 flex justify-center",children:a.channels.email?e.jsx(F,{checked:s,onCheckedChange:()=>R(a.slug,"email",s),disabled:i}):e.jsx("span",{className:"text-xs text-muted-foreground/50",children:"—"})}),S&&e.jsx("div",{className:"w-12 flex justify-center",children:a.channels.push?e.jsx(F,{checked:t,onCheckedChange:()=>R(a.slug,"push",t),disabled:n}):e.jsx("span",{className:"text-xs text-muted-foreground/50",children:"—"})})]})]},a.slug)})]})]},s))]})]})},J=({workspace:a})=>{const{t:i}=t.useTranslation(),{isOwner:n}=t.usePermissions(),{settings:r}=t.useSaaSSettings(),{appPermissions:c}=t.usePermissionConfig(),{updateWorkspacePermissions:o}=t.useSaaSWorkspaces(),[l,d]=s.useState(!1),u=O(),m=s.useMemo(()=>r?.workspace?.roles??a.roles??[],[r?.workspace?.roles,a.roles]),x=s.useMemo(()=>{if(!c)return[];const e=new Set;for(const a of Object.values(c))for(const s of a)s.startsWith("workspace:")||e.add(s);return Array.from(e).sort()},[c]),[p,g]=s.useState({});if(s.useEffect(()=>{if(!c)return;const e=a.permissions,s={};for(const a of m)s[a]=e&&a in e?e[a].filter(e=>!e.startsWith("workspace:")):a in c?c[a].filter(e=>!e.startsWith("workspace:")):[];g(s)},[a.permissions,c,m]),!a)return e.jsx(N,{});if(!c||0===x.length)return null;return e.jsxs("div",{children:[u.message&&e.jsx(t.StatusBanner,{variant:"success",title:i("settings.common.success"),message:u.message,className:"mb-4"}),!n&&e.jsx(j,{descriptionKey:"permissions.ownerOnly"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:i("permissions.description")}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-start py-2 pe-4 font-medium text-muted-foreground min-w-[160px]"}),m.map(a=>e.jsx("th",{className:"text-center py-2 px-3 font-medium text-foreground capitalize min-w-[80px]",children:a},a))]})}),e.jsx("tbody",{children:x.map(a=>e.jsxs("tr",{className:"border-b border-border/40 hover:bg-muted/30",children:[e.jsx("td",{className:"py-2 pe-4 text-foreground font-mono text-xs",children:a}),m.map(s=>{const t="admin"===s,i=t||(p[s]??[]).includes(a);return e.jsx("td",{className:"text-center py-2 px-3",children:e.jsx(F,{checked:i,disabled:!n||t,onCheckedChange:()=>((e,a)=>{g(s=>{const t=s[e]??[],i=t.includes(a);return{...s,[e]:i?t.filter(e=>e!==a):[...t,a]}})})(s,a),className:"mx-auto"})},s)})]},a))})]})}),n&&e.jsx("div",{className:"mt-6",children:e.jsx(t.Button,{onClick:async()=>{d(!0),u.clear();try{const e=a.permissions??{},s={},t=new Set([...Object.keys(e),...Object.keys(p)]);for(const a of t){const t=(e[a]??[]).filter(e=>e.startsWith("workspace:")),i=p[a]??[];s[a]=[...t,...i]}await o(a._id,s),u.show(i("permissions.saveSuccess"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsPermissions",action:"savePermissions",metadata:{workspaceId:a._id}})}finally{d(!1)}},disabled:l,progress:l,children:i(l?"permissions.saving":"permissions.save")})})]})},Y=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command,{ref:i,className:t.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...s}));Y.displayName=d.Command.displayName;const Z=p.forwardRef(({className:a,...s},i)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(l.MagnifyingGlassIcon,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(d.Command.Input,{ref:i,className:t.cn("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",a),...s})]}));Z.displayName=d.Command.Input.displayName;const q=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.List,{ref:i,className:t.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...s}));q.displayName=d.Command.List.displayName;const $=p.forwardRef((a,s)=>e.jsx(d.Command.Empty,{ref:s,className:"py-6 text-center text-sm",...a}));$.displayName=d.Command.Empty.displayName;const X=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Group,{ref:i,className:t.cn("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),...s}));X.displayName=d.Command.Group.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Separator,{ref:i,className:t.cn("-mx-1 h-px bg-border",a),...s})).displayName=d.Command.Separator.displayName;const Q=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Item,{ref:i,className:t.cn("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),...s}));Q.displayName=d.Command.Item.displayName;const ee=b.Root,ae=b.Trigger,se=p.forwardRef(({className:a,align:s="center",sideOffset:i=4,...n},r)=>{const{container:c}=p.useContext(t.PortalContext);return e.jsx(b.Portal,{container:c,children:e.jsx(b.Content,{ref:r,align:s,sideOffset:i,className:t.cn("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",a),...n})})});function te({options:i,value:n,onChange:r,placeholder:c="Search...",emptyLabel:o="Choose option"}){const{t:l}=t.useTranslation(),[d,u]=s.useState(n??""),[m,x]=s.useState(!1);s.useEffect(()=>{void 0!==n&&u(n)},[n]);const p=i.find(e=>e.value===d);return e.jsxs(ee,{open:m,onOpenChange:x,children:[e.jsx(ae,{asChild:!0,children:e.jsxs(t.Button,{variant:"outline",role:"combobox","aria-expanded":m,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:[p?e.jsxs("div",{className:"truncate",children:[String(p.label).trim(),p.icon&&e.jsx("span",{className:"ms-2 text-xs text-muted-foreground",children:p.icon})]}):e.jsx("span",{className:"text-muted-foreground",children:o}),e.jsx(a.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(se,{className:"p-0 overflow-hidden text-ellipsis",asChild:!0,children:e.jsxs(Y,{children:[e.jsx(Z,{placeholder:c}),e.jsxs(q,{children:[e.jsx($,{children:l("dropdowns.noResults")}),e.jsx(X,{children:i.map(s=>e.jsxs(Q,{className:t.cn("whitespace-nowrap text-start",{"text-success":d===s.value}),value:s.value,keywords:[s.label],onSelect:()=>{return e=s.value,u(e),r?.(e),void x(!1);var e},children:[d===s.value&&e.jsx(a.CheckCheck,{className:t.cn("me-2 h-4 w-4 text-success",d===s.value?"opacity-100":"opacity-0")}),String(s.label).trim(),s.icon&&e.jsx("span",{className:"ms-2 text-xs text-muted-foreground",children:s.icon})]},s.value))})]})]})})]})}se.displayName=b.Content.displayName;const ie={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"},ne={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"},re=[{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=ne[e.code]||"USD",s=ie[a]||"";return{value:e.code,flag:(t=e.code,t.toUpperCase().replace(/./g,e=>String.fromCodePoint(127397+e.charCodeAt(0)))),text:e.name,currencyCode:a,currencyIcon:s};var t});function ce({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=re.map(e=>({value:e.value,label:e.text,icon:e.flag}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchCountry"),emptyLabel:i("dropdowns.chooseCountry")})}const oe=re.map(e=>({value:e.currencyCode,text:e.currencyCode,icon:e.currencyIcon??null})),le=Array.from(new Set(oe.map(e=>e.value))).map(e=>oe.find(a=>a.value===e)).filter(e=>void 0!==e);function de({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=le.map(e=>({value:e.value,label:e.text,icon:e.icon??void 0}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchCurrency"),emptyLabel:i("dropdowns.chooseCurrency")})}let ue=[{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:"🇮🇱"}];ue=ue.filter((e,a,s)=>a===s.findIndex(a=>a.code===e.code&&a.label===e.label)),ue.sort((e,a)=>e.label<a.label?-1:e.label>a.label?1:0);const me=ue.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,s)=>a===s.findIndex(a=>a.code===e.code&&a.label===e.label)).map(e=>({value:e.code,label:e.label,flag:e.flag}));function xe({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=me.map(e=>({value:e.value,label:e.label,icon:e.flag}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchLanguage"),emptyLabel:i("dropdowns.chooseLanguage")})}const pe=[{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 s=a.utc;for(let t=0;t<s.length;t++){const i=s[t],n=a.text;let r=n.substring(n.indexOf("(")+1,n.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,s)=>a===s.findIndex(a=>a.value===e.value));function ge({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=pe.map(e=>({value:e.value,label:e.text}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchTimezone"),emptyLabel:i("dropdowns.chooseTimezone")})}const fe=({workspace:a})=>{const{t:i}=t.useTranslation(),{visible:n}=t.useUIVisibility(),l=n(e=>e.settings?.profile?.language),d=n(e=>e.settings?.profile?.country),u=n(e=>e.settings?.profile?.currency),m=n(e=>e.settings?.profile?.timezone),{updateUserProfile:x,getProfile:p}=t.useSaaSWorkspaces(),[g,f]=s.useState(!1),[b,h]=s.useState(),[S,v]=s.useState(0),j=O(),A=o.z.object({name:o.z.string().min(2,{message:i("profile.nameMinLength")}),country:o.z.string().optional(),timezone:o.z.string().optional(),language:o.z.string().optional(),currency:o.z.string().optional()}),y=c.useForm({resolver:r.zodResolver(A),defaultValues:{name:b?.name||"",country:b?.country||"",timezone:b?.timezone||"",language:b?.language||"",currency:b?.currency||""}});return s.useEffect(()=>{p().then(e=>{h(e),y.setValue("name",e.name),y.setValue("country",e.country),y.setValue("timezone",e.timezone),y.setValue("language",e.language),y.setValue("currency",e.currency)}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsProfile",action:"getProfile"})})},[S]),b?e.jsxs("div",{children:[j.message&&e.jsx(t.StatusBanner,{variant:"success",title:i("settings.common.success"),message:j.message,className:"mb-4"}),e.jsx("div",{className:"space-y-4",children:e.jsx(t.Form,{...y,children:e.jsxs("form",{onSubmit:y.handleSubmit(async function(e){f(!0),j.clear();try{await x({name:e.name,country:e.country,timezone:e.timezone,language:e.language,currency:e.currency}),j.show(i("profile.success"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsProfile",action:"updateUserProfile",metadata:{workspaceId:a._id}})}finally{f(!1)}}),className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"profile-email",className:"block text-sm font-medium mb-1",children:i("profile.email")}),e.jsx(t.Input,{id:"profile-email",disabled:!0,className:"w-full border rounded px-3 py-2 bg-muted",value:b?.email})]}),e.jsx(t.FormField,{disabled:g,control:y.control,name:"name",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:i("profile.name")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{...a})}),e.jsx(t.FormMessage,{})]})}),e.jsxs("div",{className:"flex gap-y-2 my-4 flex-col",children:[l&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.language")}),e.jsx(xe,{value:y.watch("language"),onChange:e=>{y.setValue("language",e)}})]}),d&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.country")}),e.jsx(ce,{value:y.watch("country"),onChange:e=>{y.setValue("country",e)}})]}),u&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.currency")}),e.jsx(de,{value:y.watch("currency"),onChange:e=>{y.setValue("currency",e)}})]}),m&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.timezone")}),e.jsx(ge,{value:y.watch("timezone"),onChange:e=>{y.setValue("timezone",e)}})]})]}),e.jsxs("div",{className:"flex justify-end gap-x-2",children:[e.jsx(t.Button,{type:"submit",progress:g,disabled:g,children:i("profile.save")}),e.jsx(t.Button,{type:"button",variant:"outline",onClick:()=>{v(e=>e+1)},disabled:g,children:i("profile.reset")})]})]})})}),b?.image&&e.jsxs("div",{children:[e.jsx("p",{className:"block text-sm font-medium mb-1",children:i("profile.profileImage")}),e.jsx("div",{className:"w-16 h-16 rounded-full overflow-hidden",children:e.jsx("img",{src:b.image,alt:b.name,className:"w-full h-full object-cover"})})]})]}):e.jsx(N,{})},be=(e,a,s)=>{const t=new Date(e);return Number.isNaN(t.getTime())?"":new Intl.DateTimeFormat(a,s??{dateStyle:"medium"}).format(t)},he=()=>{const{t:i,formattingLocale:n}=t.useTranslation(),{visible:r,ui:c}=t.useUIVisibility(),o=c.formats?.date,l=r(e=>e.settings?.security?.passkeyRename),d=r(e=>e.settings?.security?.passkeyDelete),{api:u}=t.useWorkspaceApiWithOs(),[m,x]=s.useState(!0),[p,g]=s.useState([]),[f,b]=s.useState(null),[h,S]=s.useState(null),[v,j]=s.useState(""),A=s.useCallback(async()=>{try{const e=await u.getPasskeys();g(e)}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{x(!1)}},[u]);return s.useEffect(()=>{A()},[A]),m?e.jsx(N,{}):e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:i("security.passkeysTitle"),description:i("security.passkeysDescription")}),0===p.length?e.jsx(t.EmptyState,{icon:e.jsx(a.KeyRound,{className:"h-5 w-5 text-muted-foreground"}),description:i("security.noPasskeys")}):e.jsx("div",{className:"space-y-2",children:p.map(s=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md border p-3 "+(!1===s.active?"opacity-70":""),children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(a.KeyRound,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e.jsx("div",{className:"min-w-0",children:h===s.id?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(t.Input,{value:v,onChange:e=>j(e.target.value),placeholder:i("security.renamePlaceholder"),className:"h-8"}),e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",disabled:f===s.id,onClick:()=>async function(e){const a=v.trim();if(a){b(e);try{await u.renamePasskey(e,a),g(s=>s.map(s=>s.id===e?{...s,name:a}:s)),S(null)}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{b(null)}}}(s.id),children:e.jsx(a.Check,{className:"h-4 w-4"})}),e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",onClick:()=>S(null),children:e.jsx(a.X,{className:"h-4 w-4"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:s.name}),!1===s.active&&e.jsx("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:i("security.inactiveHint"),children:i("security.inactive")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:!1===s.active?i("security.inactiveHint"):s.lastUsedAt?`${i("security.lastUsed")}: ${be(s.lastUsedAt,n,o)}`:s.createdAt?`${i("security.added")}: ${be(s.createdAt,n,o)}`:null})]})})]}),h!==s.id&&(l||d)&&e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[l&&e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8","aria-label":i("security.rename"),onClick:()=>{S(s.id),j(s.name)},children:e.jsx(a.Pencil,{className:"h-4 w-4"})}),d&&e.jsxs(E,{children:[e.jsx(P,{asChild:!0,children:e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 text-destructive","aria-label":i("security.remove"),disabled:f===s.id,children:e.jsx(a.Trash2,{className:"h-4 w-4"})})}),e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:i("security.removeTitle")}),e.jsx(G,{children:i("security.removeDescription")})]}),e.jsxs(R,{children:[e.jsx(K,{children:i("settings.common.cancel")}),e.jsx(L,{onClick:()=>async function(e){b(e);try{await u.deletePasskey(e),g(a=>a.filter(a=>a.id!==e))}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{b(null)}}(s.id),children:i("security.remove")})]})]})]})]})]},s.id))}),e.jsx("p",{className:"text-xs text-muted-foreground",children:i("security.addHint")})]})},Se={Personal:"personal"},ve=(e,a,s="en-US")=>{const t=(a??"").trim();return t?new Intl.NumberFormat(s,{style:"currency",currency:t.toUpperCase(),minimumFractionDigits:2}).format(e/100):(e/100).toFixed(2)},je=e=>{switch(e){case t.InvoiceStatuses.Paid:return"bg-success/15 text-success";case t.InvoiceStatuses.Open:return"bg-warning/15 text-warning";case t.InvoiceStatuses.Draft:return"bg-muted text-foreground";case t.InvoiceStatuses.Uncollectible:return"bg-destructive/15 text-destructive";case t.InvoiceStatuses.Void:default:return"bg-muted text-foreground"}},Ne=({workspaceId:s,hasActiveSubscription:i=!1,onViewPricingPlans:n,limit:r=20})=>{const{t:c,formattingLocale:o}=t.useTranslation(),{can:l}=t.usePermissions(),d=l(t.Permission.WORKSPACE_BILLING_VIEW),{invoices:u,loading:m,error:x,refetch:p}=t.useInvoices(s,r);if(!d)return e.jsx(j,{});const g=u.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:c("invoices.title"),description:c("invoices.description"),actions:e.jsx(t.Button,{variant:"ghost",size:"sm",progress:m,onClick:p,disabled:m,children:c("settings.common.refreshAction",{loading:String(m)})})}),x&&e.jsx(t.StatusBanner,{variant:"error",title:c("invoices.errorLoading"),message:x,actionLabel:c("settings.common.retryAction",{loading:String(m)}),onAction:p,actionDisabled:m}),m&&!g?e.jsx("div",{className:"border rounded-lg p-6",children:e.jsx(N,{})}):g?e.jsx("div",{className:"space-y-2",children:u.map(s=>{const i=(e=>{switch(e.status){case t.InvoiceStatuses.Draft:case t.InvoiceStatuses.Open:return{textKey:"invoices.pay",color:"bg-info text-info-foreground hover:bg-info/90"};case t.InvoiceStatuses.Paid:return{textKey:"invoices.view",color:"bg-success text-success-foreground hover:bg-success/90"};case t.InvoiceStatuses.Uncollectible:case t.InvoiceStatuses.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"}}})(s);return e.jsxs("div",{className:"border rounded-md bg-background hover:shadow-sm transition-shadow p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[e.jsx("span",{className:"text-sm font-medium text-foreground truncate min-w-0",children:s.description||s.number||s.id.slice(-8)}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0 ${je(s.status)}`,children:c(`invoices.status.${s.status}`)})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-0.5 text-sm text-muted-foreground mb-2.5",children:[e.jsx("span",{className:"font-medium text-foreground",children:ve(s.amount_due,s.currency,o)}),s.created&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-muted-foreground/50 hidden sm:inline",children:"·"}),e.jsx("span",{children:T(s.created,o)})]}),s.amount_paid>0&&s.amount_due>0&&e.jsx("span",{className:"text-xs text-muted-foreground",children:c("invoices.paidAmount",{amount:ve(s.amount_paid,s.currency,o)})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(t.Button,{size:"sm",disabled:!s.hosted_invoice_url,onClick:()=>s.hosted_invoice_url&&window.open(s.hosted_invoice_url,"_blank","noopener,noreferrer"),className:i.color,children:[c(i.textKey),e.jsx(a.ExternalLink,{className:"h-3.5 w-3.5 ms-1.5"})]}),s.invoice_pdf&&e.jsxs(t.Button,{size:"sm",variant:"outline",onClick:()=>window.open(s.invoice_pdf,"_blank","noopener,noreferrer"),children:[e.jsx(a.Download,{className:"h-3.5 w-3.5 me-1.5"}),c("invoices.download")]})]})]},s.id)})}):e.jsx(t.EmptyState,{icon:e.jsx(a.FileText,{className:"h-5 w-5 text-muted-foreground"}),description:c(i?"invoices.noInvoicesWithSub":"invoices.noInvoices"),action:!i&&n?e.jsx(t.Button,{size:"sm",className:"mt-2",onClick:n,children:c("subscription.viewPricingPlans")}):void 0})]})},Ae=s.lazy(()=>Promise.resolve().then(function(){return require("./SubscriptionDialog-CpVnnXJg.cjs")}).then(e=>({default:e.default}))),ye=(e,a)=>{if(!a)return"";try{const s=new Date(a);return isNaN(s.getTime())?"":new Intl.DateTimeFormat(e,{month:"long",day:"numeric",year:"numeric"}).format(s)}catch{return""}},Te=({workspace:i})=>{const n=i._id?.toString(),{t:r,formattingLocale:c,fmtNum:o,fmtCents:l}=t.useTranslation(),{api:d}=t.useWorkspaceApiWithOs(),{can:u}=t.usePermissions(),{settings:m}=t.useSaaSSettings(),{visible:x,ui:p}=t.useUIVisibility(),g=p.behavior,f=x(e=>e.settings?.subscription?.changePlan),b=x(e=>e.settings?.subscription?.cancel),h=x(e=>e.settings?.subscription?.managePayment),S=x(e=>e.settings?.subscription?.invoicesTab),v=x(e=>e.settings?.subscription?.planDetails),j=u(t.Permission.WORKSPACE_BILLING_VIEW),A=u(t.Permission.WORKSPACE_BILLING_MANAGE),y=m?.workspace?.mode===Se.Personal,{subscription:T,loading:C,error:w,updateSubscription:k,refetch:P}=t.useSubscriptionManagement(n),{createCheckoutSession:M}=t.useCreateCheckoutSession(n),{cancelSubscription:U,loading:_}=t.useCancelSubscription(n),{resumeSubscription:F,loading:O}=t.useResumeSubscription(n),{openBillingPortal:W,loading:V}=t.useBillingPortal(n),{versions:z,loading:H,error:J,refetch:Y}=t.usePlanGroupVersions(n),Z=C||H,q=w||J,{currentVersion:$,latestVersion:X,isDeprecated:Q,plansToShow:ee}=s.useMemo(()=>{const e=z?.currentVersion,a=z?.availableVersions||[],s=null!=T?.subscription;let t=null;a.length>0?t=a.reduce((e,a)=>a.version>e.version?a:e):e&&(t=e);const i=!!(s&&t&&e)&&t.version>e.version;return{currentVersion:e,latestVersion:t,hasNewerVersion:i,isDeprecated:i&&s,plansToShow:t?.plans&&t.plans.length>0?t.plans:[]}},[z,T?.subscription]),[ae,se]=s.useState(!1),[te,ie]=s.useState(null),[ne,re]=s.useState(null),ce=s.useRef(null),[oe,le]=s.useState(!1),[de,ue]=s.useState(!1),me=s.useRef(void 0),xe=s.useRef(!1);s.useEffect(()=>{if(xe.current)return;if(C||!ee||0===ee.length)return;const e=t.workspaceSettingsManager.getState(),a=e.params?.action===t.BBAction.SelectPlan,s=!1!==g?.autoOpenPlanDialog;(!T?.subscription&&s||a)&&(xe.current=!0,a&&(me.current=e.params,t.workspaceSettingsManager.clearParams()),le(!0))},[C,T?.subscription,ee,g?.autoOpenPlanDialog]),s.useEffect(()=>()=>{ce.current&&clearTimeout(ce.current)},[]);const[pe,ge]=s.useState(!1),[fe,be]=s.useState("subscription"),he=async()=>{await Promise.all([P(),Y()])},ve=s.useMemo(()=>t.getBillingIntervalAndCurrencyFromPriceId(T?.subscription?.stripePriceId,ee??[]),[T?.subscription?.stripePriceId,ee]),je=async()=>{if(n){ue(!1),se(!0),ie(null),re(null);try{await U(),re(r("subscription.cancelSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorCanceling");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}};if(Z&&!T&&!z)return e.jsx(N,{});if(!j)return null;const Te=T?.planVersion?._id||null;return n?e.jsxs("div",{className:"space-y-4",children:[q&&e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.errorLoading"),message:q,description:r("subscription.errorLoadingDescription"),actionLabel:r("settings.common.retryAction",{loading:String(Z)}),onAction:he,actionDisabled:Z}),te&&e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.updateFailed"),message:te,actionLabel:r("settings.common.dismiss"),onAction:()=>ie(null)}),ne&&e.jsx(t.StatusBanner,{variant:"success",title:r("settings.common.success"),message:ne,actionLabel:r("settings.common.dismiss"),onAction:()=>re(null)}),S&&e.jsx("div",{className:"border-b border-border",children:e.jsxs("nav",{className:"-mb-px flex gap-6",role:"tablist","aria-label":r("subscription.tabsLabel"),onKeyDown:e=>{"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"Home"!==e.key&&"End"!==e.key||(e.preventDefault(),be("ArrowLeft"===e.key||"End"===e.key?"invoices":"subscription"))},children:[e.jsx("button",{type:"button",role:"tab",id:"subscription-tab-subscription","aria-controls":"subscription-panel-subscription","aria-selected":"subscription"===fe,tabIndex:"subscription"===fe?0:-1,onClick:()=>be("subscription"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("subscription"===fe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:r("subscription.plan")}),e.jsx("button",{type:"button",role:"tab",id:"subscription-tab-invoices","aria-controls":"subscription-panel-invoices","aria-selected":"invoices"===fe,tabIndex:"invoices"===fe?0:-1,onClick:()=>be("invoices"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("invoices"===fe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:r("subscription.invoicesTab")})]})}),"subscription"===fe&&e.jsxs("div",{id:"subscription-panel-subscription",role:"tabpanel","aria-labelledby":"subscription-tab-subscription",tabIndex:0,children:[Z&&e.jsx(t.LoadingState,{}),f&&Q&&T?.subscription&&e.jsxs("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:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(a.AlertTriangle,{className:"h-4 w-4 text-warning shrink-0"}),e.jsxs("span",{className:"text-sm text-warning",children:[e.jsx("span",{className:"font-medium",children:r("subscription.planUpdateAvailable")}),e.jsxs("span",{className:"text-warning",children:[" ","— v",$?.version||"?"," → v",X?.version||"?"]})]})]}),e.jsx(t.Button,{size:"sm",variant:"outline",className:"shrink-0 border-warning/40 text-warning hover:bg-warning/15",onClick:()=>le(!0),children:r("subscription.viewPlans")})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:r("subscription.managePlan")})}),e.jsxs("div",{className:"flex items-center gap-2",children:[(()=>{if(!f)return null;const a=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Canceled,s=T?.subscription?.cancelAtPeriodEnd;return s||_?null:a&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):T?.subscription&&!a&&A?e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>le(!0),children:r("subscription.changePlanButton")}):!T?.subscription&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):null})(),e.jsx(t.Button,{variant:"ghost",size:"sm",progress:Z,onClick:he,disabled:Z||ae,children:r("settings.common.refreshAction",{loading:String(Z)})})]})]}),T?.subscription?(()=>{const s=t.getBillingIntervalAndCurrencyFromPriceId(T.subscription.stripePriceId,ee??[]),n=s?.interval??null,d=s?.currency??T.plan?.currency??i?.billingCurrency??"",u=n&&T.planVersion?t.getBasePriceCents(T.planVersion,d,n):null,m=d,x=T.planVersion?t.getSeatPricing(T.planVersion,d):null,p=x&&n?t.getPerSeatPriceCents(T.planVersion,d,n):null,g=Array.isArray(i?.users)?i.users.length:1,j=x?.includedSeats??0,N=Math.max(0,g-j),C=!!T.plan?.isFreemium,w=null!=u?0===u?r("subscription.free"):l(u,m):C?r("subscription.free"):null,k=n===t.BillingIntervals.Monthly?r("subscription.billingInterval.perMonth"):n===t.BillingIntervals.Quarterly?r("subscription.billingInterval.perQuarter"):n===t.BillingIntervals.Yearly?r("subscription.billingInterval.perYear"):"";return e.jsxs("div",{className:"border rounded-lg overflow-hidden "+(Q?"border-warning/40":"border-border"),children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&!T.subscription.cancelAtPeriodEnd&&(()=>{const a=T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd,s=a?new Date(a):null,i=s&&!isNaN(s.getTime())?s:null,n=i?Math.max(0,Math.ceil((i.getTime()-Date.now())/864e5)):null,c=null!==n&&n<=3;return e.jsxs("div",{className:"px-4 py-3 sm:px-5 text-sm flex flex-col sm:flex-row sm:items-center justify-between gap-2 "+(c?"bg-warning/10 text-warning border-b border-warning/30":"bg-info/10 text-info border-b border-info/20"),children:[e.jsxs("span",{children:[null!==n&&n<=0?r("subscription.trialEnded"):null!==n?r("subscription.trialEndsIn",{days:n}):r("subscription.onTrial")," ",r("subscription.upgradeToKeepAccess")]}),f&&e.jsx(t.Button,{size:"sm",variant:c?"default":"outline",className:"shrink-0 "+(c?"":"border-info/30 text-info hover:bg-info/15"),onClick:()=>le(!0),children:r("subscription.upgradePlan")})]})})(),e.jsxs("div",{className:"p-4 sm:p-5 "+(Q?"bg-warning/5":"bg-muted/30"),children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground",children:T.plan?.name||r("subscription.noPlanAssigned")}),e.jsxs("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active?T.subscription.cancelAtPeriodEnd?"bg-warning/15 text-warning":"bg-success/15 text-success":T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?"bg-info/15 text-info":T.subscription.subscriptionStatus===t.SubscriptionStatus.Canceled?"bg-muted text-foreground":"bg-destructive/15 text-destructive"),children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Active&&(T.subscription.cancelAtPeriodEnd?r("subscription.status.canceling"):r("subscription.status.active")),T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&r("subscription.status.trial"),T.subscription.subscriptionStatus===t.SubscriptionStatus.Canceled&&r("subscription.status.canceled"),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&r("subscription.status.pastDue")]}),T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&ye(c,T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)&&e.jsx("span",{className:"text-xs text-muted-foreground",children:r("subscription.endsOn",{date:ye(c,T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)})}),Q&&e.jsxs("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.jsx(a.AlertTriangle,{className:"h-3.5 w-3.5"}),r("subscription.status.deprecated")]})]}),T.plan?.description&&e.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:T.plan.description}),!C&&e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[e.jsx("span",{className:"text-2xl font-bold text-foreground",children:w||r("invoices.na")}),w&&w!==r("subscription.free")&&k&&e.jsx("span",{className:"text-sm text-muted-foreground",children:k})]}),x&&null!=p&&p>0&&!y&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:r("subscription.perSeatDisplay",{price:l(p,m),interval:k})}),!y&&x&&null!=p&&p>0&&N>0&&w&&w!==r("subscription.free")&&null!=u&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1 pt-1 border-t border-border",children:r("subscription.estTotalDisplay",{total:l(u+p*N,m),interval:k,count:N})})]}),(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing)&&!T.subscription.cancelAtPeriodEnd&&ye(c,T.subscription.stripeCurrentPeriodEnd)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.jsx(a.Calendar,{className:"h-3.5 w-3.5 flex-shrink-0"}),e.jsx("span",{children:r("subscription.nextBillingDisplay",{date:ye(c,T.subscription.stripeCurrentPeriodEnd)??""})})]})]}),Q&&e.jsx("p",{className:"text-xs text-warning mt-2",children:r("subscription.versionLabel",{version:$?.version||r("invoices.na")})}),!C&&(h||b||T.subscription.cancelAtPeriodEnd)&&(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing||T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3 mt-4 pt-4 border-t border-border",children:[h&&T.subscription&&A&&T.subscription?.subscriptionId&&e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>W(),disabled:V,progress:V,children:r(V?"subscription.openingPortal":"subscription.managePayment")}),A&&T.subscription?.subscriptionId&&(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing)&&e.jsx(e.Fragment,{children:T.subscription.cancelAtPeriodEnd?e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>ge(!0),disabled:ae||_||O,progress:O,children:T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.resumeTrial"):r("subscription.resumeTitle")}):b?e.jsx(t.Button,{variant:"outline",size:"sm",className:"text-destructive hover:text-destructive hover:bg-destructive/10 border-destructive/20",onClick:()=>ue(!0),disabled:ae||_||O,progress:_||ae,children:_||ae?r("subscription.canceling"):T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.cancelTrial"):r("subscription.cancelTitle")}):null})]})]}),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&e.jsx("div",{className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:r("subscription.paymentPastDue")}),e.jsx("p",{className:"text-sm text-destructive mt-0.5",children:r("subscription.paymentPastDueDescription")}),S&&e.jsx(t.Button,{variant:"outline",size:"sm",className:"mt-2 border-destructive/20 text-destructive hover:bg-destructive/15",onClick:()=>be("invoices"),children:r("subscription.viewInvoices")})]})]})}),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&T.subscription.dunningState&&T.subscription.dunningState!==t.DunningState.None&&e.jsx("div",{className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:T.subscription.dunningState===t.DunningState.Final?r("subscription.dunningFinal"):T.subscription.dunningState===t.DunningState.Suspended?r("subscription.dunningSuspended"):r("subscription.dunningRecovery")}),e.jsx("p",{className:"text-sm text-destructive mt-0.5",children:T.subscription.dunningState===t.DunningState.Suspended?r("subscription.dunningSuspendedDescription"):r("subscription.dunningRecoveryDescription")})]})]})}),T.subscription.subscriptionStatus===t.SubscriptionStatus.Paused&&e.jsx("div",{className:"px-5 py-3 bg-info/10 border-t border-info/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.Calendar,{className:"h-5 w-5 text-info flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-info",children:r("subscription.subscriptionPaused")}),e.jsx("p",{className:"text-sm text-info mt-0.5",children:r("subscription.subscriptionPausedDescription")})]})]})}),T.subscription.cancelAtPeriodEnd&&e.jsx("div",{className:"px-5 py-3 bg-warning/10 border-t border-warning/30",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.Calendar,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-warning",children:T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.scheduledTrialCancellation"):r("subscription.scheduledCancellation")}),e.jsx("p",{className:"text-sm text-warning mt-0.5",children:ye(c,T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)?e.jsxs(e.Fragment,{children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.trialEndDescription"):r("subscription.cancelEndDescription")," ",e.jsx("span",{className:"font-medium",children:ye(c,T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)}),"."]}):r("subscription.cancelEndFallback")})]})]})}),v&&T.planVersion&&(()=>{const a=((e,a,s=t.BillingIntervals.Monthly)=>{if(!e?.subscriptionItems)return{features:[],limits:[],quotas:[]};const i=[],n=[],r=[];return e.subscriptionItems.forEach(c=>{const o=c.slug;if(c.type===t.SubscriptionItemType.Feature){const a=e.features?.[o]??!1;i.push({item:c,enabled:a})}else if(c.type===t.SubscriptionItemType.Limit){const a=e.limits?.[o]??0;n.push({item:c,value:a})}else if(c.type===t.SubscriptionItemType.Quota){const i=a&&e.pricingVariants?.length?t.getQuotaDisplayWithVariant(e,a,o,s):t.getQuotaDisplayValue(e.quotas?.[o],s);null!=i&&r.push({item:c,value:i})}}),{features:i,limits:n,quotas:r}})(T.planVersion,d,n??"monthly");return a.features.length>0||a.limits.length>0||a.quotas.length>0?e.jsx("div",{className:"px-4 py-4 sm:px-5 sm:py-5 border-t border-border/60",children:e.jsxs("div",{className:"space-y-5",children:[a.features.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.features")}),e.jsx("ul",{className:"space-y-1.5",children:a.features.sort(e=>e.enabled?-1:1).map(({item:a,enabled:s})=>e.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"w-4 text-center shrink-0 "+(s?"text-success":"text-muted-foreground/50"),children:s?"✓":"✕"}),e.jsx("span",{className:s?"text-foreground":"text-muted-foreground/70",children:a.name})]},a._id))})]}),a.limits.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.limits")}),e.jsx("ul",{className:"space-y-1.5",children:a.limits.map(({item:a,value:s})=>e.jsxs("li",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:a.name}),e.jsx("span",{className:"font-medium text-foreground",children:o(s)})]},a._id))})]}),a.quotas.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.quotas")}),e.jsx("ul",{className:"space-y-1.5",children:a.quotas.map(({item:a,value:s})=>{const i=t.getQuotaDisplayParts(s,a.name.toLowerCase(),{currency:d,locale:c}),n=i?i.hasOverage?r("quota.includedWithOverage",{count:i.included,price:i.price,unit:i.unit}):r("quota.includedOnly",{count:i.included}):"—";return e.jsx("li",{className:"text-sm",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:a.name}),e.jsx("span",{className:"font-medium text-foreground text-xs sm:text-sm",children:n})]})},a._id)})})]}),x&&!y&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.seats.title")}),e.jsxs("div",{className:"bg-muted/50 rounded-lg p-3 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.members")}),e.jsx("span",{className:"font-semibold text-foreground",children:o(g)})]}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.included")}),e.jsx("span",{className:"text-foreground",children:o(j)})]}),N>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.billable")}),e.jsxs("span",{className:"font-medium text-warning",children:[o(N)," ",r("subscription.seats.extra")]})]}),null!=p&&p>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.perExtraSeat")}),e.jsxs("span",{className:"text-foreground",children:[l(p,d),k]})]}),(x?.maxSeats??0)>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.limit")}),e.jsx("span",{className:"text-foreground",children:o(x.maxSeats)})]})]})]}),T.planVersion?.creditGrant?.enabled&&"object"==typeof T.planVersion.creditGrant.creditPackage&&null!==T.planVersion.creditGrant.creditPackage&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.credits")}),e.jsxs("div",{className:"bg-info/10 rounded-lg p-3 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:T.planVersion.creditGrant.renewOnPeriod?r("subscription.items.creditsPerMonth"):r("subscription.items.creditsOneTime")}),e.jsx("span",{className:"font-semibold text-info",children:o("object"==typeof T.planVersion.creditGrant.creditPackage?T.planVersion.creditGrant.creditPackage.creditAmount:0)})]}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.items.creditRenewal")}),e.jsx("span",{className:"font-medium text-foreground",children:T.planVersion.creditGrant.renewOnPeriod?"reset"===T.planVersion.creditGrant.mode?r("subscription.items.creditModeReset"):r("subscription.items.creditModeTopup"):r("subscription.items.creditModeLifetime")})]})]})]})]})}):null})()]})})():e.jsx(t.EmptyState,{icon:e.jsx(a.CreditCard,{className:"h-5 w-5 text-muted-foreground"}),title:r("subscription.noSubscription"),description:r("subscription.noSubscriptionDescription"),action:f&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):void 0})]}),!z&&!Z&&(q?e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.errorLoading"),message:q,actionLabel:r("settings.common.refreshAction",{loading:String(Z)}),onAction:he,actionDisabled:Z}):e.jsx(t.EmptyState,{title:r("subscription.errorLoading"),description:r("subscription.noPlansAvailable"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:Z,onClick:he,children:r("settings.common.refreshAction",{loading:String(Z)})})}))]}),S&&"invoices"===fe&&e.jsxs("div",{id:"subscription-panel-invoices",role:"tabpanel","aria-labelledby":"subscription-tab-invoices",tabIndex:0,children:[Z&&e.jsx(t.LoadingState,{}),e.jsx(Ne,{workspaceId:n,hasActiveSubscription:null!=T?.subscription,onViewPricingPlans:()=>be("subscription"),limit:20})]}),ee&&ee.length>0&&e.jsx(s.Suspense,{fallback:oe?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(a.Loader2,{className:"h-5 w-5 animate-spin"}),e.jsx("span",{children:r("settings.common.loading")})]})}):null,children:e.jsx(Ae,{open:oe,onOpenChange:le,planVersions:ee,currentPlanVersionId:Te||null,currentStripePriceId:T?.subscription?.stripePriceId,billingCurrency:i.billingCurrency,trialUsedAt:i.trialUsedAt,workspaceName:i.name,initialInterval:me.current?.interval,initialCurrency:me.current?.currency,currentMemberCount:Array.isArray(i?.users)?i.users.length:void 0,onSelectPlan:async(e,a=t.BillingIntervals.Monthly,s)=>{if(!n)return;const c=ee?.find(a=>a._id===e),o=s??ve?.currency??T?.plan?.currency??i?.billingCurrency??"",l=c?t.getStripePriceIdForInterval(c,o,a):null,u=T?.subscription?.stripePriceId;if(!l||!u||l!==u){se(!0),ie(null),re(null);try{const{successUrl:s,cancelUrl:i}=t.createCheckoutRedirectUrls(n);let l;if(c?.plan?.isFreemium){return T?.subscription?.subscriptionId?(le(!1),void ue(!0)):(await d.selectFreePlan(n,e),le(!1),t.invalidateSubscription(),await he(),void re(r("subscription.updateSuccess")))}const u=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Canceled;if(l=T?.subscription&&!u?await k(e,{billingInterval:a,successUrl:s,cancelUrl:i}):await M({planVersionId:e,billingInterval:a,currency:o||void 0,successUrl:s,cancelUrl:i}),l&&"checkoutUrl"in l&&l.checkoutUrl)return void t.safeRedirect(l.checkoutUrl);re(r("subscription.updateSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorProcessing");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}},loading:ae||Z})}),e.jsx(E,{open:pe,onOpenChange:ge,children:e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:r("subscription.resumeTitle")}),e.jsx(G,{asChild:!0,children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:r("subscription.resumeConfirm")}),e.jsxs("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4 space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(a.AlertTriangle,{className:"h-4 w-4 text-warning mt-0.5 flex-shrink-0"}),e.jsxs("span",{children:[r("subscription.resumeChargeDate")," ",T?.subscription?.stripeCurrentPeriodEnd&&ye(c,T.subscription.stripeCurrentPeriodEnd)?e.jsx("span",{className:"font-medium",children:ye(c,T.subscription.stripeCurrentPeriodEnd)}):r("subscription.resumeChargeFallback")]})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-warning mt-0.5",children:"•"}),e.jsx("span",{children:r("subscription.resumeContinue")})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-info mt-0.5",children:"ℹ"}),e.jsx("span",{children:r("subscription.resumeCancelAnytime")})]})]})]})})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:O,children:r("subscription.resumeKeep")}),e.jsx(L,{onClick:async()=>{if(n){ge(!1),se(!0),ie(null),re(null);try{await F(),re(r("subscription.resumeSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorResuming");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}},disabled:O,children:r(O?"subscription.resuming":"subscription.resumeButton")})]})]})}),(()=>{const a=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Trialing,s=a&&T?.subscription?.trialEnd||T?.subscription?.stripeCurrentPeriodEnd;return e.jsx(E,{open:de,onOpenChange:ue,children:e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:r(a?"subscription.cancelTrialTitle":"subscription.cancelTitle")}),e.jsx(G,{asChild:!0,children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:r(a?"subscription.cancelTrialConfirm":"subscription.cancelConfirm")}),e.jsxs("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-success mt-0.5",children:"✓"}),e.jsxs("span",{children:[r(a?"subscription.cancelTrialAccess":"subscription.retainAccess")," ",s&&ye(c,s)?e.jsx("span",{className:"font-medium",children:ye(c,s)}):r("subscription.retainAccessFallback")]})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-success mt-0.5",children:"✓"}),e.jsx("span",{children:r(a?"subscription.cancelTrialNoCharge":"subscription.cancelNotCharged")})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-info mt-0.5",children:"ℹ"}),e.jsx("span",{children:r(a?"subscription.cancelTrialResume":"subscription.cancelResumeAnytime")})]})]})]})})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:_,children:r(a?"subscription.cancelTrialKeep":"subscription.cancelKeep")}),e.jsx(L,{onClick:je,disabled:_,className:"bg-destructive hover:bg-destructive/90 focus:ring-destructive",children:r(_?"subscription.canceling":a?"subscription.cancelTrialButton":"subscription.cancelButton")})]})]})})})()]}):e.jsx("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e.jsx("p",{children:r("subscription.invalidWorkspace")})})};function Ce(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,e=>e.toUpperCase())}function we(e,a,s){return a+e.toLocaleString(s,{minimumFractionDigits:2,maximumFractionDigits:2})}function ke(e){try{const a=new Date(e);if(isNaN(a.getTime()))return null;const s=new Date;return Math.ceil((a.getTime()-s.getTime())/864e5)}catch{return null}}const Ee=()=>{const{quotas:i,loading:n,error:r,refetch:c}=t.useQuotaUsageContext(),{t:o,formattingLocale:l,fmtNum:d}=t.useTranslation(),{can:u}=t.usePermissions(),m=(e,a)=>we(e,a,l),{response:x}=t.useSubscriptionContext(),[p,g]=s.useState(!1),f=s.useMemo(()=>{const e={};if(!x?.planVersion||!x?.subscription)return e;const a=x.planVersion,s=x.subscription,n=s.billingInterval??"monthly",r=s.plan?.currency??"usd",c=t.getCurrencySymbol(r);if(!i)return e;for(const s of Object.keys(i)){const o=t.getQuotaOverageCents(a,r,s,n);if(null==o||o<=0)continue;const l=a.quotas?.[s],d=l?.[n],u=d?.unitSize??1,m=i[s].overage,x=(u>1?Math.ceil(m/u):m)*o/100;e[s]={overageCents:o,unitSize:u,currency:r,currencySymbol:c,estimatedCost:x}}return e},[x,i]),b=s.useMemo(()=>{const e=x?.subscription?.usageCurrentPeriodEnd||x?.subscription?.stripeCurrentPeriodEnd;if(!e)return null;const a=A(e,l);return a?{endDate:a,daysRemaining:ke(e)}:null},[x,l]),h=async()=>{g(!0);try{await c()}finally{g(!1)}};if(n&&!i)return e.jsx(N,{});if(!u(t.Permission.WORKSPACE_USAGE_VIEW))return null;if(r)return e.jsx(t.StatusBanner,{variant:"error",title:o("usage.errorLoading"),message:r,actionLabel:o("settings.common.retryAction",{loading:String(p)}),onAction:h,actionDisabled:p});const S=function(e){return[...e].sort(([,e],[,a])=>{if(e.hasOverage&&!a.hasOverage)return-1;if(!e.hasOverage&&a.hasOverage)return 1;const s=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)-s})}(i?Object.entries(i):[]);if(0===S.length)return e.jsx(t.EmptyState,{icon:e.jsx(a.BarChart3,{className:"h-5 w-5 text-muted-foreground"}),title:o("usage.noData"),description:o("usage.noDataHint"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:p,onClick:h,children:o("settings.common.refreshAction",{loading:String(p)})})});const v=S.filter(([,e])=>e.hasOverage).length,j=S.length>0?Math.round(S.reduce((e,[,a])=>e+(a.included>0?a.consumed/a.included*100:0),0)/S.length):0,y=Object.values(f).reduce((e,a)=>e+a.estimatedCost,0),T=Object.values(f)[0]?.currencySymbol??"$";return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:o("usage.description")}),e.jsxs(t.Button,{variant:"ghost",size:"sm",onClick:h,disabled:p,children:[e.jsx(a.RefreshCw,{className:t.cn("h-3.5 w-3.5 me-1.5",p&&"animate-spin")}),o("settings.common.refreshAction",{loading:String(p)})]})]}),b&&e.jsxs("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.jsx(a.Calendar,{className:"h-4 w-4 text-muted-foreground/70 flex-shrink-0"}),e.jsxs("span",{children:[o("usage.resetDateDisplay",{date:b.endDate}),null!==b.daysRemaining&&b.daysRemaining>0&&e.jsxs("span",{className:"text-muted-foreground",children:[" ","(",o("usage.daysRemainingDisplay",{count:b.daysRemaining}),")"]}),null!==b.daysRemaining&&b.daysRemaining<=0&&e.jsxs("span",{className:"text-warning font-medium",children:[" (",o("usage.renewingSoon"),")"]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2 sm:gap-3",children:[e.jsxs("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.totalResources")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:d(S.length)})]}),e.jsxs("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.overallUsage")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:d(j)+"%"})]}),e.jsxs("div",{className:t.cn("border rounded-lg p-3 sm:p-4",v>0?"border-destructive/20 bg-destructive/10":"border-border"),children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.inOverage")}),e.jsx("p",{className:t.cn("text-lg sm:text-xl font-semibold mt-1",v>0?"text-destructive":"text-foreground"),children:d(v)})]}),v>0&&y>0&&e.jsxs("div",{className:"border border-destructive/20 bg-destructive/10 rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.estOverageCost")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold mt-1 text-destructive",children:m(y,T)})]})]}),v>0&&e.jsx("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5 hidden sm:block"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-sm font-semibold text-warning mb-1",children:o("usage.overageDetected")}),e.jsx("p",{className:"text-sm text-warning",children:o("usage.overageWarning",{count:v})}),y>0&&e.jsx("p",{className:"text-sm text-warning font-medium mt-1",children:o("usage.estOverageCharges",{amount:m(y,T)})})]})]})}),e.jsx("div",{className:"space-y-3",children:S.map(([a,s])=>{const t=(i=s.consumed,(n=s.included)<=0?i>0?100:0:Math.min(i/n*100,100));var i,n;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/70",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"}}(t,s.hasOverage),c=f[a];return e.jsx(Pe,{slug:a,quota:s,percent:t,colors:r,pricing:c},a)})})]})};function Pe({slug:a,quota:s,percent:i,colors:n,pricing:r}){const{t:c,formattingLocale:o}=t.useTranslation(),l=e=>function(e,a){return e>=1e6?(e/1e6).toLocaleString(a,{maximumFractionDigits:1})+"M":e>=1e3?(e/1e3).toLocaleString(a,{maximumFractionDigits:1})+"K":e.toLocaleString(a)}(e,o),d=(e,a)=>we(e,a,o);return e.jsxs("div",{className:"border border-border rounded-lg p-4 sm:p-5",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-y-1 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("h3",{className:"text-sm font-medium text-foreground truncate",children:Ce(a)}),s.hasOverage&&e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",n.badge,n.badgeText),children:c("usage.overage")}),!s.hasOverage&&i>=90&&e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",n.badge,n.badgeText),children:c("usage.almostFull")})]}),e.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:[l(s.consumed)," / ",l(s.included)]})]}),e.jsx("div",{role:"progressbar","aria-valuenow":Math.round(i),"aria-valuemin":0,"aria-valuemax":100,"aria-label":Ce(a),className:t.cn("h-2 rounded-full w-full",n.bg),children:e.jsx("div",{className:t.cn("h-2 rounded-full transition-all duration-500",n.bar),style:{width:`${i}%`}})}),e.jsxs("div",{className:"flex items-center justify-between mt-2 text-xs text-muted-foreground",children:[e.jsx("span",{children:c("usage.percentUsed",{percent:Math.round(i)})}),e.jsx("span",{children:s.available>0?c("usage.availableRemaining",{count:l(s.available)}):s.hasOverage?c("usage.overLimitCount",{count:l(s.overage)}):c("usage.fullyUsed")})]}),s.hasOverage&&r&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-border space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.overageUnits")}),e.jsx("span",{className:"font-medium text-foreground",children:l(s.overage)})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.rate")}),e.jsx("span",{className:"font-medium text-foreground",children:c("usage.rateDisplay",{rate:d(r.overageCents/100,r.currencySymbol),unitSize:r.unitSize})})]}),r.unitSize>1&&e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.billableBlocks")}),e.jsx("span",{className:"font-medium text-foreground",children:l(Math.ceil(s.overage/r.unitSize))})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs pt-2 border-t border-border",children:[e.jsx("span",{className:"font-medium text-destructive",children:c("usage.estimatedCharge")}),e.jsx("span",{className:"font-semibold text-destructive",children:d(r.estimatedCost,r.currencySymbol)})]})]}),!s.hasOverage&&r&&e.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:c("usage.overageRateDisplay",{rate:c("usage.rateDisplay",{rate:d(r.overageCents/100,r.currencySymbol),unitSize:r.unitSize})})})]})}const Me=h.Root,Ue=p.forwardRef(({className:a,children:s,...i},n)=>e.jsxs(h.Trigger,{ref:n,className:t.cn("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",a),...i,children:[s,e.jsx(h.Icon,{asChild:!0,children:e.jsx(l.CaretSortIcon,{className:"h-4 w-4 opacity-50"})})]}));Ue.displayName=h.Trigger.displayName;const Ie=p.forwardRef(({className:a,children:s,position:i="popper",...n},r)=>{const{container:c}=p.useContext(t.PortalContext);return e.jsx(h.Portal,{container:c,children:e.jsx(h.Content,{ref:r,className:t.cn("relative z-50 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",a),position:i,...n,children:e.jsx(h.Viewport,{className:t.cn("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s})})})});Ie.displayName=h.Content.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(h.Label,{ref:i,className:t.cn("px-2 py-1.5 text-sm font-semibold",a),...s})).displayName=h.Label.displayName;const De=p.forwardRef(({className:a,children:s,...i},n)=>e.jsxs(h.Item,{ref:n,className:t.cn("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",a),...i,children:[e.jsx("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(h.ItemIndicator,{children:e.jsx(l.CheckIcon,{className:"h-4 w-4"})})}),e.jsx(h.ItemText,{children:s})]}));De.displayName=h.Item.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(h.Separator,{ref:i,className:t.cn("-mx-1 my-1 h-px bg-muted",a),...s})).displayName=h.Separator.displayName;const Re=({workspace:i})=>{const{user:n}=t.useSaaSAuth(),{t:r,fmtNum:c,fmtCents:o}=t.useTranslation(),[l,d]=s.useState(0),[u,x]=s.useState(!1),[p,g]=s.useState([]),[f,b]=s.useState(null),{getUsers:h,removeUser:S,updateUser:v}=t.useSaaSWorkspaces(),{settings:A}=t.useSaaSSettings(),{can:y}=t.usePermissions(),{visible:T}=t.useUIVisibility(),{response:C}=t.useSubscriptionContext(),w=t.useSeatStatus(i,{settingsMaxUsers:A?.workspace?.maxWorkspaceUsers});s.useEffect(()=>{i&&(x(!0),h(i._id).then(e=>{g(e)}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsUsers",action:"getUsers",metadata:{workspaceId:i._id}})}).finally(()=>{x(!1)}))},[i,l,h]);const k=()=>{d(e=>e+1)},E=A?.workspace?.mode===Se.Personal;if(u||!i)return e.jsx(N,{});if(E)return null;const P=e=>"string"==typeof e?{name:r("users.unknownUser"),email:e,id:e,role:"-"}:{name:e.name||r("users.unknownUser"),email:e.email,id:e._id},M=p.map(e=>({...e,...P(e.user)})),U=T(e=>e.settings?.users?.invite,t.Permission.WORKSPACE_MEMBERS_INVITE),I=T(e=>e.settings?.users?.remove,t.Permission.WORKSPACE_MEMBERS_REMOVE),D=T(e=>e.settings?.users?.roleChange,t.Permission.WORKSPACE_MEMBERS_ROLE_CHANGE),R=T(e=>e.settings?.users?.seatPricing),{hasSeatPricing:B,includedSeats:G,maxUsers:L,canInvite:K,inviteBlockReason:_,inviteBlockMessageKey:F,inviteBlockMessageValues:O,perSeatPriceCents:W,currency:V}=w,z=p.length,H=C?.subscription?.billingInterval??"monthly",J=B&&z>=G;return e.jsxs("div",{children:[!y(t.Permission.WORKSPACE_MEMBERS_INVITE)&&!y(t.Permission.WORKSPACE_MEMBERS_REMOVE)&&!y(t.Permission.WORKSPACE_MEMBERS_ROLE_CHANGE)&&e.jsx(j,{descriptionKey:"users.adminOnly"}),U&&e.jsx("div",{className:"mb-4",children:K?e.jsxs("div",{children:[e.jsx(Be,{onInvite:k,workspaceId:i._id}),R&&J&&null!=W&&W>0&&e.jsx("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.jsx("span",{children:r("users.extraSeatCost",{price:o(W,V),interval:H})})})]}):e.jsx("div",{className:"flex items-center justify-between p-3 bg-destructive/10 border border-destructive/20 rounded-md",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:r("users.limitReached",{reason:_??"member_limit_reached"})}),e.jsx("p",{className:"text-xs text-destructive mt-0.5",children:F?r(F,O??void 0):""})]})})}),R&&(B||L>0)&&e.jsxs("div",{className:"mb-4 rounded-lg border bg-muted/50 p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h4",{className:"text-sm font-medium text-foreground",children:r("users.seatHeading",{hasSeatPricing:String(B)})}),L>0&&e.jsxs("span",{className:"text-xs font-medium px-2 py-0.5 rounded-full "+(z>=L?"bg-destructive/15 text-destructive":z>=.8*L?"bg-warning/15 text-warning":"bg-success/15 text-success"),children:[c(z)," / ",c(L)]})]}),L>0&&e.jsx("div",{role:"progressbar","aria-valuenow":z,"aria-valuemin":0,"aria-valuemax":L,"aria-label":r("users.seatHeading"),className:"w-full h-1.5 bg-muted rounded-full mb-3",children:e.jsx("div",{className:"h-1.5 rounded-full transition-all "+(z>=L?"bg-destructive":z>=.8*L?"bg-warning":"bg-success"),style:{width:`${Math.min(100,z/L*100)}%`}})}),e.jsxs("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[e.jsx("div",{children:B?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-foreground font-medium",children:c(G)})," ",r("users.included"),null!=W&&W>0&&e.jsxs("span",{className:"text-muted-foreground/70",children:[" ","· ",o(W,V),r("users.perExtraSeat")]})]}):e.jsxs("span",{children:[e.jsx("span",{className:"text-foreground font-medium",children:c(L)})," ",r("users.maxMembers")]})}),L>0?e.jsxs("span",{children:[c(Math.max(0,L-z))," ",r("users.available")]}):e.jsx("span",{className:"text-muted-foreground/70",children:r("users.noMemberLimit")})]})]}),e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("div",{children:e.jsx("div",{className:"text-sm text-muted-foreground",children:r("users.memberCount",{count:z})})}),e.jsx("div",{children:e.jsx(t.Button,{variant:"ghost",size:"sm",onClick:k,progress:u,children:r("settings.common.refreshAction",{loading:String(u)})})})]}),e.jsx("ul",{className:"space-y-2",children:M.map((s,c)=>{const o=s.id===n?.id,l=("object"==typeof i.createdBy&&null!==i.createdBy?i.createdBy._id:i.createdBy)===s.id;return e.jsxs("li",{className:"border rounded-md p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[e.jsx("div",{className:"w-8 h-8 bg-muted rounded-full flex items-center justify-center text-sm font-medium shrink-0",children:s.name.charAt(0).toUpperCase()}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium text-sm truncate",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:s.email})]})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[o&&e.jsx("span",{className:"text-xs bg-info/15 text-info px-2 py-0.5 rounded",children:r("users.you")}),l&&e.jsx("span",{className:"text-xs bg-primary/10 text-primary px-2 py-0.5 rounded",children:r("users.owner")})]})]}),D&&e.jsxs("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:[e.jsxs("div",{className:"relative flex-1 sm:flex-initial",children:[e.jsxs(Me,{disabled:o||!D||l||f===s.id,value:s.role,onValueChange:e=>{return a=i._id,n=s.id,r=e,void(t.isWorkspaceOwner(i,n)?t.handleError(new Error("Cannot change the role of the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:n,role:r}}):(b(n),v(a,n,{role:r}).then(()=>{k()}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:n,role:r}})}).finally(()=>{b(null)})));var a,n,r},children:[e.jsx(Ue,{children:e.jsx(m.SelectValue,{placeholder:r("users.selectRole")})}),e.jsx(Ie,{children:i?.roles.map(a=>e.jsx(De,{value:a,children:a},a))})]}),f===s.id&&e.jsx("div",{className:"absolute end-8 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(a.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]}),!o&&!l&&I&&e.jsx(t.Button,{variant:"destructive",size:"sm",startIcon:e.jsx(a.TrashIcon,{}),"aria-label":r("settings.common.delete"),onClick:()=>{return e=s.id,void(t.isWorkspaceOwner(i,e)?t.handleError(new Error("Cannot remove the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:i._id,userId:e}}):S(i._id,e).then(()=>{k()}).catch(a=>{t.handleError(a,{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:i._id,userId:e}})}));var e}})]})]},s.id??c)})}),0===p.length&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:r("users.noMembers")})]})};function Be({onInvite:a,workspaceId:i}){const{t:n}=t.useTranslation(),{addUser:r,getWorkspace:c}=t.useSaaSWorkspaces(),{settings:o}=t.useSaaSSettings(),[l,d]=s.useState(""),[u,x]=s.useState("admin"),[p,g]=s.useState(!1),[f,b]=s.useState(null),[h,S]=s.useState(null),[v,j]=s.useState(null),N=s.useRef(null),A=o?.workspace.roles??v?.roles??[];s.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]),s.useEffect(()=>{i&&c(i).then(j).catch(e=>{t.handleError(e,{component:"InviteMember",action:"getWorkspace"})})},[i]);const y=()=>{b(null),S(null),d(""),x("admin")};return e.jsxs("div",{className:"flex gap-2 flex-col gap-y-2",children:[f&&e.jsx(t.StatusBanner,{variant:"error",message:f}),h&&e.jsx(t.StatusBanner,{variant:"success",message:h}),e.jsxs("div",{children:[e.jsx(t.Label,{children:n("users.inviteByEmail")}),e.jsx(t.Input,{type:"email",value:l,onChange:e=>d(e.target.value),placeholder:n("users.emailPlaceholder")})]}),e.jsxs("div",{children:[e.jsx(t.Label,{children:n("users.role")}),e.jsxs(Me,{value:u,onValueChange:x,children:[e.jsx(Ue,{children:e.jsx(m.SelectValue,{placeholder:n("users.selectRole")})}),e.jsx(Ie,{children:A.map(a=>e.jsx(De,{value:a,children:a},a))})]})]}),e.jsx("div",{children:e.jsx(t.Button,{progress:p,onClick:async()=>{const e=l.trim();if(!e)return void b(n("users.emailRequired"));/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?(g(!0),await r(i,e,u).then(()=>{S(n("users.inviteSuccess")),a?.()}).catch(a=>{t.handleError(a,{component:"InviteMember",action:"addUser",metadata:{workspaceId:i,email:e,role:u}}),b(a instanceof Error?a.message:n("users.inviteFailed"))}).finally(()=>{g(!1),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{y()},6e3)})):b(n("users.invalidEmail"))},disabled:p||!l||!u,children:p?n("users.inviting"):n("users.inviteAs",{role:u})})})]})}const Ge=({workspace:s,section:i,setSection:n})=>{const{t:r}=t.useTranslation(),{settings:c}=t.useSaaSSettings(),{appPermissions:o}=t.usePermissionConfig(),{visible:l}=t.useUIVisibility(),d=c?.workspace?.mode===Se.Personal,u=o&&Object.keys(o).length>0,m=(e,a)=>l(a=>a.settings?.sections?.[e],a),x=m(t.SettingsScreen.Profile),p=m(t.SettingsScreen.Security),g=m(t.SettingsScreen.ConnectedAgents),f=m(t.SettingsScreen.General,t.Permission.WORKSPACE_SETTINGS_VIEW),b=m(t.SettingsScreen.Users,t.Permission.WORKSPACE_MEMBERS_VIEW)&&!d,h=m(t.SettingsScreen.Subscription,t.Permission.WORKSPACE_BILLING_VIEW),S=m(t.SettingsScreen.Usage,t.Permission.WORKSPACE_USAGE_VIEW),v=m(t.SettingsScreen.Credits,t.Permission.WORKSPACE_BILLING_VIEW),j=m(t.SettingsScreen.Features,t.Permission.WORKSPACE_FEATURES_VIEW),N=m(t.SettingsScreen.Notifications),A=m(t.SettingsScreen.Permissions)&&u&&!d,y=m(t.SettingsScreen.Danger,t.Permission.WORKSPACE_DELETE)&&!d,T=x||p||g,C=f||b||h||S||v||j||N||A||y,w=(a,s,r)=>e.jsx(t.SidebarNavItem,{icon:s,label:r,active:i===a,onClick:()=>n(a)});return e.jsxs("div",{className:"w-full sm:w-56 sm:h-full flex flex-col space-y-4 sm:space-y-6 shrink-0",children:[s&&e.jsx("div",{className:"sticky top-0 z-10 bg-muted border-b p-2 py-4 pe-10 sm:pe-2",children:e.jsxs("div",{className:"flex items-center gap-x-2",children:[s.image&&s.image.trim()&&e.jsx("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.jsx("img",{src:s.image,className:"w-full h-full object-contain",style:{width:"36px",height:"36px",maxWidth:"36px",maxHeight:"36px",objectFit:"contain"},alt:s.name})}),e.jsxs("div",{className:t.cn("flex-1 min-w-0",s.image?"":"ps-2"),children:[e.jsx("div",{className:"font-medium text-sm line-clamp-1 text-ellipsis overflow-hidden",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.workspaceId})]})]})}),T&&e.jsxs(t.SidebarNavSection,{title:r("settings.sidebar.account"),children:[x&&w(t.SettingsScreen.Profile,e.jsx(a.UserIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.profile")),p&&w(t.SettingsScreen.Security,e.jsx(a.KeyRound,{className:"h-3.5 w-3.5"}),r("settings.sidebar.security")),g&&w(t.SettingsScreen.ConnectedAgents,e.jsx(a.Bot,{className:"h-3.5 w-3.5"}),r("security.connectedAgentsTitle"))]}),C&&e.jsxs(t.SidebarNavSection,{title:r("settings.sidebar.workspace"),children:[f&&w(t.SettingsScreen.General,e.jsx(a.SettingsIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.general")),b&&w(t.SettingsScreen.Users,e.jsx(a.UsersIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.users")),h&&w(t.SettingsScreen.Subscription,e.jsx(a.CreditCard,{className:"h-3.5 w-3.5"}),r("settings.sidebar.subscription")),S&&w(t.SettingsScreen.Usage,e.jsx(a.BarChart3,{className:"h-3.5 w-3.5"}),r("settings.sidebar.usage")),v&&w(t.SettingsScreen.Credits,e.jsx(a.Coins,{className:"h-3.5 w-3.5"}),r("settings.sidebar.credits")),j&&w(t.SettingsScreen.Features,e.jsx(a.ToggleRight,{className:"h-3.5 w-3.5"}),r("settings.sidebar.features")),N&&w(t.SettingsScreen.Notifications,e.jsx(a.Bell,{className:"h-3.5 w-3.5"}),r("settings.sidebar.notifications")),A&&w(t.SettingsScreen.Permissions,e.jsx(a.Shield,{className:"h-3.5 w-3.5"}),r("settings.sidebar.permissions")),y&&w(t.SettingsScreen.Danger,e.jsx(a.AlertTriangle,{className:"h-3.5 w-3.5"}),r("settings.sidebar.danger"))]})]})},Le={[t.SettingsScreen.Profile]:"settings.titles.profile",[t.SettingsScreen.Security]:"settings.titles.security",[t.SettingsScreen.ConnectedAgents]:"security.connectedAgentsTitle",[t.SettingsScreen.General]:"settings.titles.general",[t.SettingsScreen.Users]:"settings.titles.users",[t.SettingsScreen.Subscription]:"settings.titles.subscription",[t.SettingsScreen.Usage]:"settings.titles.usage",[t.SettingsScreen.Credits]:"settings.titles.credits",[t.SettingsScreen.Features]:"settings.titles.features",[t.SettingsScreen.Notifications]:"settings.titles.notifications",[t.SettingsScreen.Permissions]:"settings.titles.permissions",[t.SettingsScreen.Danger]:"settings.titles.danger"},Ke=({ui:a,...i})=>{const n=t.useUIConfig(),r=s.useMemo(()=>t.mergeUIConfig(n,a),[n,a]);return a?e.jsx(t.UIConfigProvider,{ui:r,children:e.jsx(_e,{...i})}):e.jsx(_e,{...i})},_e=({workspace:i,onClose:n,open:r,onOpenChange:c,defaultSection:o=t.SettingsScreen.Profile,section:l,onSectionChange:d,showTrigger:u=!0,trigger:m})=>{const{t:x,dir:p}=t.useTranslation(),{visible:g}=t.useUIVisibility(),[f,b]=s.useState(!1),[h,v]=s.useState(o),j=void 0!==r?r:f,N=c||b,A=void 0!==l?l:h,y=d||v,T=e=>g(a=>a.settings?.sections?.[e]),C=T(A)?A:Object.values(t.SettingsScreen).find(T)??null,k=void 0===l&&o===t.SettingsScreen.Profile,[E,P]=s.useState(k),M=s.useRef(C),U=s.useRef(null),I=s.useRef(null),D=s.useRef(E);s.useEffect(()=>{D.current!==E&&(D.current=E,"undefined"==typeof window||window.innerWidth>=640||(E?I:U).current?.focus())},[E]),s.useEffect(()=>{M.current!==C&&(M.current=C,P(!1))},[C]),s.useEffect(()=>{j&&P(k)},[j]);if(!i||!C)return null;const R=e.jsx(t.Button,{variant:"outline",size:"icon","aria-label":x("settings.common.openSettings"),children:e.jsx(a.Settings,{className:"h-4 w-4"})});return e.jsxs(t.Dialog,{open:j,onOpenChange:e=>{N(e),!e&&n&&n()},children:[u&&e.jsx(t.DialogTrigger,{asChild:!0,children:m||R}),e.jsxs(t.DialogContent,{dir:p,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.jsx(t.DialogDescription,{className:"sr-only",children:x(Le[C])}),e.jsx("div",{ref:I,tabIndex:-1,className:t.cn("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",E?"flex":"hidden"),children:e.jsx(Ge,{workspace:i,section:C,setSection:e=>{y(e),P(!1)}})}),e.jsxs("div",{ref:U,tabIndex:-1,className:t.cn("flex-1 p-4 sm:p-6 overflow-auto flex-col bg-background sm:flex focus:outline-none",E?"hidden":"flex"),children:[e.jsxs("div",{className:"flex items-center gap-1 mb-4 pe-10 sm:pe-0",children:[e.jsx(t.Button,{variant:"ghost",size:"icon",className:"sm:hidden -ms-2 shrink-0 text-muted-foreground","aria-label":x("settings.common.back"),onClick:()=>P(!0),children:e.jsx(a.ArrowLeft,{className:"h-5 w-5 rtl:rotate-180"})}),e.jsx(t.DialogTitle,{className:"text-xl font-semibold min-w-0 truncate",children:x(Le[C])})]}),e.jsxs("div",{className:"sm:max-h-[500px] xl:max-h-[65vh] overflow-y-auto",children:[C===t.SettingsScreen.Profile&&e.jsx(fe,{workspace:i}),C===t.SettingsScreen.Security&&e.jsx(he,{}),C===t.SettingsScreen.ConnectedAgents&&e.jsx(S,{}),C===t.SettingsScreen.General&&e.jsx(V,{workspace:i}),C===t.SettingsScreen.Users&&e.jsx(Re,{workspace:i}),C===t.SettingsScreen.Subscription&&e.jsx(Te,{workspace:i}),C===t.SettingsScreen.Usage&&e.jsx(Ee,{}),C===t.SettingsScreen.Credits&&e.jsx(w,{workspace:i}),C===t.SettingsScreen.Features&&e.jsx(W,{workspaceId:i._id?.toString()}),C===t.SettingsScreen.Notifications&&e.jsx(H,{workspace:i}),C===t.SettingsScreen.Permissions&&e.jsx(J,{workspace:i}),C===t.SettingsScreen.Danger&&e.jsx(_,{workspace:i})]})]})]})]})};var Fe=Object.freeze({__proto__:null,SETTINGS_SCREENS:t.SETTINGS_SCREENS,SettingsScreen:t.SettingsScreen,WorkspaceSettingsDialog:Ke,default:Ke});exports.SettingsDialog=Fe,exports.WorkspaceModes=Se;
|
|
2
|
+
"use strict";var e=require("react/jsx-runtime"),a=require("lucide-react"),s=require("react"),t=require("./react-6QJCOE-D.cjs"),i=require("@radix-ui/react-alert-dialog"),n=require("@radix-ui/react-switch"),r=require("@hookform/resolvers/zod"),c=require("react-hook-form"),o=require("zod"),l=require("@radix-ui/react-icons"),d=require("cmdk"),u=require("@radix-ui/react-popover"),m=require("@radix-ui/react-select");function x(e){var a=Object.create(null);return e&&Object.keys(e).forEach(function(s){if("default"!==s){var t=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(a,s,t.get?t:{enumerable:!0,get:function(){return e[s]}})}}),a.default=e,Object.freeze(a)}var p=x(s),g=x(i),f=x(n),b=x(u),h=x(m);const S=()=>e.jsx(t.ConnectedAgents,{title:null}),v=({open:i,onOpenChange:n,packages:r,billingCurrency:c,workspaceName:o,onSelectPackage:l,purchasingPackageId:d,loading:u=!1})=>{const{t:m,dir:x,fmtNum:p,fmtCents:g}=t.useTranslation(),f=s.useMemo(()=>{const e=new Set;return r.forEach(a=>{a.pricingVariants?.forEach(a=>{a.currency&&e.add(a.currency.toLowerCase())})}),Array.from(e)},[r]),b=s.useMemo(()=>{const e=c?.trim().toLowerCase();return e?f.includes(e)?[e]:[]:f},[c,f]),[h,S]=s.useState(()=>b.length>0?b[0]:""),v=c?.trim().toLowerCase()||h,j=u||!!d;return e.jsx(t.Dialog,{open:i,onOpenChange:n,children:e.jsxs(t.DialogContent,{dir:x,className:"inset-0 w-screen h-screen max-w-none rounded-none translate-x-0 translate-y-0 p-0 flex flex-col",children:[e.jsxs("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:[e.jsxs("div",{children:[e.jsx(t.DialogTitle,{className:"text-xl font-semibold",children:m("credits.dialogTitle")}),e.jsxs(t.DialogDescription,{className:"mt-1 text-sm",children:[m("credits.dialogDescription"),o&&e.jsx("span",{className:"ms-1 font-medium text-foreground",children:m("credits.dialogDescriptionWorkspace",{workspace:o})})]})]}),!c?.trim()&&b.length>1&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:m("pricing.currency")}),e.jsx("div",{className:"flex gap-1 rounded-lg border border-border bg-muted/30 p-1",children:b.map(a=>e.jsxs("button",{type:"button",onClick:()=>S(a),className:t.cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors",v===a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[t.getCurrencySymbol(a)," ",a.toUpperCase()]},a))})]})]}),e.jsx("div",{className:"flex-1 overflow-y-auto",children:0===r.length?e.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-muted-foreground/70",children:[e.jsx(a.Coins,{className:"h-12 w-12 mb-3"}),e.jsx("p",{className:"text-sm",children:m("credits.noPackages")})]}):e.jsx("div",{className:"max-w-2xl mx-auto px-4 py-6 sm:px-6 space-y-4",children:r.map(s=>{const i=s.pricingVariants?.find(e=>e.currency?.toLowerCase()===v)??s.pricingVariants?.[0],n=i?.amount,r=i?.currency??v,c=d===s._id,o=null!=n&&n>0&&s.creditAmount>0?Math.round(n/s.creditAmount):null;return e.jsxs("div",{className:t.cn("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:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground",children:s.name}),e.jsxs("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.jsx(a.Coins,{className:"h-3.5 w-3.5"}),m("credits.creditsAmount",{count:p(s.creditAmount)})]})]}),s.description&&e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:s.description}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground/70",children:[e.jsx("span",{children:s.validityDays?m("credits.validityDays",{count:s.validityDays}):m("credits.validityUnlimited")}),null!=o&&e.jsx("span",{children:m("credits.perCredit",{price:g(o,r)})})]})]}),e.jsxs("div",{className:"flex items-center gap-4 sm:flex-col sm:items-end sm:gap-2 shrink-0",children:[null!=n&&e.jsx("span",{className:"text-2xl sm:text-3xl font-bold text-foreground whitespace-nowrap",children:g(n,r)}),e.jsx(t.Button,{size:"sm",onClick:()=>l(s),disabled:j,progress:c,className:"whitespace-nowrap",children:c?m("credits.purchasing"):m("credits.buyAmount",{count:p(s.creditAmount)})})]})]},s._id)})})})]})})},j=({titleKey:s,descriptionKey:i})=>{const{t:n}=t.useTranslation();return e.jsx("div",{className:"border border-warning/20 bg-warning/10 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.ShieldAlert,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-warning",children:n(s??"settings.common.noPermissionTitle")}),e.jsx("p",{className:"text-xs text-warning/80 mt-1",children:n(i??"settings.common.noPermissionDescription")})]})]})})};function N(){return e.jsxs("div",{className:"space-y-3.5",children:[e.jsx(t.Skeleton,{className:"h-10 w-full"}),e.jsx(t.Skeleton,{className:"h-10 w-full"}),e.jsx(t.Skeleton,{className:"h-10 w-full"})]})}function A(e,a="en-US",s){try{const t=new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat(a,s??{month:"short",day:"numeric",year:"numeric"}).format(t)}catch{return""}}function y(e,a="en-US"){return A(e,a,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"})}function T(e,a="en-US"){return e?new Date(1e3*e).toLocaleDateString(a,{year:"numeric",month:"short",day:"numeric"}):""}const C={[t.CreditTransactionType.PlanGrant]:"credits.type.plan_grant",[t.CreditTransactionType.PackPurchased]:"credits.type.pack_purchased",[t.CreditTransactionType.Consumed]:"credits.type.consumed",[t.CreditTransactionType.Expired]:"credits.type.expired",[t.CreditTransactionType.AdminGrant]:"credits.type.admin_grant",[t.CreditTransactionType.AdminRevoke]:"credits.type.admin_revoke",[t.CreditTransactionType.Refund]:"credits.type.refund"};const w=({workspace:i})=>{const n=i._id?.toString(),{t:r,fmtNum:c}=t.useTranslation(),{can:o}=t.usePermissions(),{visible:l}=t.useUIVisibility(),d=l(e=>e.settings?.credits?.transactions),u=o(t.Permission.WORKSPACE_BILLING_VIEW),m=l(e=>e.settings?.credits?.buyButton,t.Permission.WORKSPACE_BILLING_MANAGE),{balance:x,loading:p,error:g,refetch:f}=t.useCreditBalanceContext(),{packages:b,loading:h}=t.useCreditPackages(n),{expiringCredits:S,loading:A}=t.useExpiringCredits(n,7),[y,T]=s.useState(1),{transactions:C,hasNextPage:w,loading:E,refetch:P}=t.useCreditTransactions(n,{limit:10,page:y}),[M,U]=s.useState([]);s.useEffect(()=>{E||0===C.length||U(1===y?C:e=>{const a=new Set(e.map(e=>e._id)),s=C.filter(e=>!a.has(e._id));return s.length>0?[...e,...s]:e})},[C,y,E]);const I=s.useCallback(()=>{w&&!E&&T(e=>e+1)},[w,E]),D=M,{purchaseCredits:R,loading:B}=t.usePurchaseCredits(n),[G,L]=s.useState(!1),[K,_]=s.useState(null),[F,O]=s.useState(!1),[W,V]=s.useState(!1),[z,H]=s.useState(null),[J,Y]=s.useState(!1),Z=s.useRef(!1),q=p&&!x;s.useEffect(()=>{if(Z.current)return;const e=t.workspaceSettingsManager.getState();if(!e.params?.action)return;if(e.params.action===t.BBAction.OpenCreditStore)return Z.current=!0,t.workspaceSettingsManager.clearParams(),void Y(!0);if(e.params.action!==t.BBAction.CreditPurchase)return;Z.current=!0;const a=e.params.status;if(t.workspaceSettingsManager.clearParams(),a===t.BBStatus.Success){O(!0),t.invalidateCreditBalance();const e=setTimeout(()=>O(!1),8e3);return()=>clearTimeout(e)}if(a===t.BBStatus.Cancel){V(!0);const e=setTimeout(()=>V(!1),5e3);return()=>clearTimeout(e)}a===t.BBStatus.Error&&_(r("credits.purchaseFailed"))},[]);if(q)return e.jsx(N,{});if(!u)return e.jsx(j,{});if(!n)return e.jsx("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e.jsx("p",{children:r("subscription.invalidWorkspace")})});const $=!h&&b.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r("credits.description")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[$&&m&&e.jsxs(t.Button,{size:"sm",onClick:()=>Y(!0),children:[e.jsx(a.ShoppingCart,{className:"h-3.5 w-3.5 me-1.5"}),r("credits.buyCredits")]}),e.jsxs(t.Button,{variant:"ghost",size:"sm",onClick:async()=>{L(!0);try{await f()}finally{L(!1)}},disabled:G,children:[e.jsx(a.RefreshCw,{className:t.cn("h-3.5 w-3.5 me-1.5",G&&"animate-spin")}),r("settings.common.refreshAction",{loading:String(G)})]})]})]}),g&&e.jsx(t.StatusBanner,{variant:"error",title:r("credits.errorLoading"),message:g}),F&&e.jsx(t.StatusBanner,{variant:"success",icon:e.jsx(a.CheckCircle2,{className:"h-4 w-4 flex-shrink-0"}),title:r("credits.purchaseSuccess"),actionLabel:r("settings.common.dismiss"),onAction:()=>O(!1)}),W&&e.jsx(t.StatusBanner,{variant:"warning",title:r("credits.purchaseCanceled"),actionLabel:r("settings.common.dismiss"),onAction:()=>V(!1)}),K&&e.jsx(t.StatusBanner,{variant:"error",message:K,actionLabel:r("settings.common.dismiss"),onAction:()=>_(null)}),e.jsxs("div",{className:"border border-border rounded-lg overflow-hidden",children:[e.jsxs("div",{className:"bg-muted/30 p-4 sm:p-5",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wider",children:r("credits.balance")}),e.jsx(a.Coins,{className:"h-5 w-5 text-muted-foreground/70"})]}),x?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-3xl font-bold text-foreground mb-4",children:c(x.available)}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalGranted")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalGranted)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalConsumed")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalConsumed)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.totalExpired")}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:c(x.totalExpired)})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:r("credits.available")}),e.jsx("p",{className:"text-sm font-semibold text-success",children:c(x.available)})]})]})]}):e.jsxs("div",{className:"text-center py-4",children:[e.jsx(a.Coins,{className:"h-10 w-10 text-muted-foreground/50 mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:r("credits.noCredits")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:r("credits.noCreditsHint")}),$&&m&&e.jsxs(t.Button,{size:"sm",className:"mt-3",onClick:()=>Y(!0),children:[e.jsx(a.ShoppingCart,{className:"h-3.5 w-3.5 me-1.5"}),r("credits.buyCredits")]})]})]}),!A&&S>0&&e.jsx("div",{className:"px-4 py-3 bg-warning/10 border-t border-warning/30 text-sm text-warning",children:r("credits.expiringInDays",{count:S,days:7})})]}),d&&e.jsxs("div",{children:[e.jsx(t.SectionHeader,{title:r("credits.transactions"),className:"mb-3"}),E&&0===D.length?e.jsx(t.LoadingState,{}):0===D.length?e.jsx(t.EmptyState,{icon:e.jsx(a.History,{className:"h-5 w-5 text-muted-foreground"}),description:r("credits.noTransactions"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:E,onClick:P,children:r("settings.common.refreshAction",{loading:String(E)})})}):e.jsxs("div",{className:"border border-border rounded-lg overflow-hidden",children:[e.jsx("div",{className:"divide-y divide-border/60",children:D.map(a=>e.jsx(k,{tx:a},a._id))}),w&&e.jsx("div",{className:"border-t border-border px-4 py-3 text-center",children:e.jsx(t.Button,{variant:"ghost",size:"sm",onClick:I,disabled:E,progress:E&&y>1,children:r("credits.loadMore")})})]})]}),$&&m&&e.jsx(v,{open:J,onOpenChange:Y,packages:b,billingCurrency:i.billingCurrency,workspaceName:i.name,onSelectPackage:async e=>{if(n){_(null),H(e._id);try{const{successUrl:a,cancelUrl:s}=t.createCreditPurchaseRedirectUrls(n),i=await R({creditPackageId:e._id,successUrl:a,cancelUrl:s});i.url&&t.safeRedirect(i.url)}catch(e){_(e instanceof Error?e.message:r("errors.purchaseCredits")),H(null)}}},purchasingPackageId:z,loading:B})]})};function k({tx:a}){const{t:s,formattingLocale:i,fmtNum:n}=t.useTranslation(),r=C[a.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"}}(a.type),o=a.amount>0;return e.jsx("div",{className:"px-3 py-3 sm:px-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0",c),children:s(r)}),a.description&&e.jsx("p",{className:"text-sm text-foreground truncate",children:a.description})]}),e.jsx("p",{className:"text-xs text-muted-foreground/70",children:y(a.createdAt,i)})]}),e.jsxs("div",{className:"text-end shrink-0",children:[e.jsxs("span",{className:t.cn("text-sm font-semibold",o?"text-success":"text-foreground"),children:[o?"+":"",n(a.amount)]}),e.jsx("p",{className:"text-xs text-muted-foreground/70",children:n(a.balanceAfter)})]})]})})}const E=g.Root,P=g.Trigger,M=g.Portal,U=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Overlay,{className:t.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...s,ref:i}));U.displayName=g.Overlay.displayName;const I=p.forwardRef(({className:a,...s},i)=>{const{container:n}=p.useContext(t.PortalContext);return e.jsxs(M,{container:n,children:[e.jsx(U,{}),e.jsx(g.Content,{ref:i,className:t.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",a),...s})]})});I.displayName=g.Content.displayName;const D=({className:a,...s})=>e.jsx("div",{className:t.cn("flex flex-col space-y-2 text-center sm:text-start",a),...s});D.displayName="AlertDialogHeader";const R=({className:a,...s})=>e.jsx("div",{className:t.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...s});R.displayName="AlertDialogFooter";const B=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Title,{ref:i,className:t.cn("text-lg font-semibold",a),...s}));B.displayName=g.Title.displayName;const G=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Description,{ref:i,className:t.cn("text-sm text-muted-foreground",a),...s}));G.displayName=g.Description.displayName;const L=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Action,{ref:i,className:t.cn(t.buttonVariants(),a),...s}));L.displayName=g.Action.displayName;const K=p.forwardRef(({className:a,...s},i)=>e.jsx(g.Cancel,{ref:i,className:t.cn(t.buttonVariants({variant:"outline"}),"mt-2 sm:mt-0",a),...s}));K.displayName=g.Cancel.displayName;const _=({workspace:i})=>{const[n,r]=s.useState(!1),{deleteWorkspace:c}=t.useSaaSWorkspaces(),{can:o}=t.usePermissions(),{settings:l}=t.useSaaSSettings(),{t:d}=t.useTranslation();if(1===(l?.workspace?.maxWorkspacesPerUser??0))return null;if(!i)return e.jsx(N,{});return o(t.Permission.WORKSPACE_DELETE)?e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:d("danger.title"),titleClassName:"text-destructive",description:d("danger.deleteDescription")}),e.jsxs(E,{children:[e.jsx(P,{asChild:!0,children:e.jsxs(t.Button,{variant:"destructive",disabled:n,progress:n,children:[e.jsx(a.Trash2,{className:"h-4 w-4 me-2"}),d("danger.deleteWorkspace")]})}),e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:d("danger.deleteConfirm")}),e.jsx(G,{children:d("danger.deleteConfirmDescription")})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:n,children:d("settings.common.cancel")}),e.jsx(L,{onClick:async()=>{r(!0);try{await c(i._id)}catch(e){t.handleError(e,{component:"WorkspaceSettingsDanger",action:"handleDeleteWorkspace",metadata:{workspaceId:i._id}})}finally{r(!1)}},disabled:n,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:n?e.jsxs(e.Fragment,{children:[e.jsx(a.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),d("danger.deleting")]}):d("danger.deleteWorkspace")})]})]})]})]}):e.jsx(j,{descriptionKey:"danger.adminOnly"})},F=p.forwardRef(({className:a,...s},i)=>e.jsx(f.Root,{className:t.cn("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),...s,ref:i,children:e.jsx(f.Thumb,{className:t.cn("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 O(e=5e3){const[a,t]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);return{message:a,show:s.useCallback(a=>{t(a),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{t(null)},e)},[e]),clear:s.useCallback(()=>{t(null),i.current&&clearTimeout(i.current)},[])}}F.displayName=f.Root.displayName;const W=({workspaceId:i})=>{const{t:n}=t.useTranslation(),{allFeatures:r,updateFeature:c,getWorkspace:o}=t.useSaaSWorkspaces(),{can:l}=t.usePermissions(),[d,u]=s.useState({}),m=O(),[x,p]=s.useState(null);if(s.useEffect(()=>{o(i).then(p).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsFeatures",action:"getWorkspace"})})},[i]),!x)return e.jsx(N,{});const g=l(t.Permission.WORKSPACE_FEATURES_EDIT);return e.jsxs("div",{children:[m.message&&e.jsx(t.StatusBanner,{variant:"success",title:n("settings.common.success"),message:m.message,className:"mb-4"}),e.jsxs("div",{className:"flex flex-col gap-y-3.5 pe-4",children:[!g&&e.jsx(j,{descriptionKey:"features.ownerOnly"}),!r.length&&e.jsx(t.EmptyState,{icon:e.jsx(a.ToggleRight,{className:"h-5 w-5 text-muted-foreground"}),description:n("features.noFeatures")}),r.length>0&&e.jsx("div",{className:"flex flex-col gap-y-3.5",children:r.map(s=>{const i=x?.features?.[s.slug],o=null!==d[s.slug]&&void 0!==d[s.slug],l=d[s.slug],f=n("features.actionStatus",{action:!0===l?"enabling":!1===l?"disabling":"none"});return e.jsxs("div",{className:"flex items-center gap-x-2 justify-between w-full",children:[e.jsxs("div",{className:"flex gap-x-2 flex-col",children:[e.jsx("h3",{className:"font-medium text-ellipsis",children:s.name}),e.jsx("p",{className:"text-muted-foreground",children:s.description})]}),o?e.jsxs("div",{className:"flex items-center gap-x-1",children:[e.jsx(a.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[f,"..."]})]}):e.jsx(F,{disabled:!g,checked:i??s.defaultValue,onCheckedChange:e=>async function(e,a){if(x){u(s=>({...s,[e]:a})),m.clear();try{const s=await c(x._id,e,a);p(s);const t=r.find(a=>a.slug===e),i=t?.name||"Feature";m.show(n("features.updateSuccess",{feature:i,enabled:String(a)}))}catch(a){t.handleError(a,{component:"WorkspaceSettingsFeatures",action:"updateFeature",metadata:{workspaceId:x._id,featureKey:e}})}finally{u(a=>({...a,[e]:null}))}}}(s.slug,e)})]},s._id)})})]})]})},V=({workspace:i})=>{const{t:n}=t.useTranslation(),{visible:l}=t.useUIVisibility(),d=l(e=>e.settings?.general?.nameEdit),u=l(e=>e.settings?.general?.iconEditor),{updateWorkspace:m}=t.useSaaSWorkspaces(),{can:x}=t.usePermissions(),[p,g]=s.useState(!1),[f,b]=s.useState("emoji"),[h,S]=s.useState(),v=O(),A=o.z.object({name:o.z.string().min(2,{message:n("general.nameMinLength")}),image:o.z.string().optional()}),y=c.useForm({resolver:r.zodResolver(A),defaultValues:{name:i.name||"",image:i.image||""}});if(!i)return e.jsx(N,{});const T=x(t.Permission.WORKSPACE_SETTINGS_EDIT);return e.jsxs("div",{children:[v.message&&e.jsx(t.StatusBanner,{variant:"success",title:n("settings.common.success"),message:v.message,className:"mb-4"}),!T&&e.jsx(j,{descriptionKey:"general.ownerOnly"}),e.jsx(t.Form,{...y,children:e.jsxs("form",{onSubmit:y.handleSubmit(async function(e){g(!0),v.clear();try{await m(i,e),v.show(n("general.success"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsGeneral",action:"updateWorkspace",metadata:{workspaceId:i._id}})}finally{g(!1)}}),className:"space-y-6",children:[d&&e.jsx(t.FormField,{control:y.control,name:"name",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:n("general.name")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{placeholder:n("general.namePlaceholder"),...a,disabled:!T})}),e.jsx(t.FormMessage,{})]})}),i.billingCurrency?.trim()&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(t.Label,{className:"text-sm font-medium text-muted-foreground",children:n("general.billingCurrency")}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.getCurrencyFlag(i.billingCurrency)&&e.jsx("span",{className:"text-base",children:t.getCurrencyFlag(i.billingCurrency)}),e.jsx("span",{children:i.billingCurrency.trim().toUpperCase()})]})]}),u&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(t.Label,{className:"text-sm font-medium",children:n("general.icon")}),e.jsx(t.FormDescription,{children:n("general.iconDescription")})]}),e.jsxs(t.RadioGroup,{value:f,disabled:!T,onValueChange:e=>b(e),className:"flex flex-col space-y-3",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(t.RadioGroupItem,{value:"emoji",id:"emoji"}),e.jsxs(t.Label,{htmlFor:"emoji",className:"flex items-center gap-2",children:[e.jsx(a.Smile,{className:"h-4 w-4"}),n("general.chooseEmoji")]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(t.RadioGroupItem,{value:"url",id:"url"}),e.jsxs(t.Label,{htmlFor:"url",className:"flex items-center gap-2",children:[e.jsx(a.ImageIcon,{className:"h-4 w-4"}),n("general.customImageUrl")]})]})]}),"emoji"===f&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),e.jsxs("div",{className:"w-12 h-12 rounded-lg border-2 border-border flex items-center justify-center text-2xl bg-muted",children:[h&&e.jsx("span",{className:"text-2xl",children:h}),!h&&y.watch("image")?.trim()&&e.jsx("img",{src:y.watch("image")||void 0,alt:"Workspace preview"})]})]}),T&&e.jsx(t.ScrollArea,{className:"h-32 w-full rounded-md border",children:e.jsx("div",{className:"p-4 grid grid-cols-8 gap-2",children:t.workspaceEmojis.map((a,s)=>e.jsx("button",{type:"button",onClick:()=>(e=>{S(e),y.setValue("image",t.getSvgImage(e))})(a),disabled:!T,"aria-label":a,"aria-pressed":h===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 "+(h===a?"bg-primary text-primary-foreground":""),children:a},s))})})]}),"url"===f&&e.jsxs("div",{className:"space-y-3",children:[e.jsx(t.FormField,{control:y.control,name:"image",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:n("general.imageUrl")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{placeholder:n("general.imageUrlPlaceholder"),...a,disabled:!T})}),e.jsx(t.FormDescription,{children:n("general.imageUrlDescription")}),e.jsx(t.FormMessage,{})]})}),y.watch("image")&&y.watch("image")?.trim()&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-sm font-medium",children:n("general.previewLabel")}),e.jsx("div",{className:"w-12 h-12 rounded-lg border-2 border-border overflow-hidden bg-muted",children:e.jsx("img",{src:y.watch("image")||void 0,className:"w-full h-full object-cover",alt:"Workspace preview"})})]})]})]}),e.jsx("div",{className:"flex justify-end gap-3 pt-4",children:T&&(d||u)&&e.jsx(t.Button,{type:"submit",disabled:p,progress:p,children:n("general.updateWorkspace")})})]})})]})};const z={firefox:4,safari:4,edge:4,chrome:4},H=({workspace:i})=>{const{isSupported:n,permission:r,isSubscribed:c,loading:o,error:l,subscribe:d,unsubscribe:u}=t.usePushNotifications(),{t:m}=t.useTranslation(),{api:x}=t.useWorkspaceApiWithOs(),{can:p}=t.usePermissions(),{visible:g}=t.useUIVisibility(),f=p(t.Permission.WORKSPACE_SETTINGS_EDIT),b=g(e=>e.settings?.notifications?.push),h=g(e=>e.settings?.notifications?.emailToggles),S=g(e=>e.settings?.notifications?.pushToggles),v=s.useMemo(()=>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"}(),[]),j=z[v],[N,A]=s.useState([]),[y,T]=s.useState(!0),[C,w]=s.useState({}),[k,E]=s.useState(!0),[P,M]=s.useState(null),[U,I]=s.useState(null),D=s.useRef(null);s.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]),s.useEffect(()=>{if(!i?._id)return;const e=i._id.toString();T(!0),E(!0),Promise.all([x.getNotificationEvents(e).catch(()=>[]),x.getNotificationPreferences(e).catch(()=>({}))]).then(([e,a])=>{A(e),w(a)}).finally(()=>{T(!1),E(!1)})},[i?._id]);const R=s.useCallback(async(e,a,s)=>{if(!i?._id||!f)return;const n=!s;M(`${e}.${a}`),I(null),w(s=>({...s,[e]:{...s[e],[a]:n}}));try{const s=await x.updateNotificationPreferences(i._id.toString(),{[e]:{[a]:n}});w(s),I(m("notifications.prefsSaved")),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>I(null),3e3)}catch(i){w(t=>({...t,[e]:{...t[e],[a]:s}})),t.handleError(i,{component:"SettingsNotifications",action:"toggleChannel"})}finally{M(null)}},[i?._id,f,x,m]),B=(e,a)=>!1!==C[e]?.[a],G=s.useMemo(()=>{const e=new Map;for(const a of N){const s=a.category||"general";e.has(s)||e.set(s,[]),e.get(s).push(a)}return Array.from(e.entries())},[N]),L=y||k,K=N.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:m("notifications.manageDescription")}),b&&n&&e.jsxs(e.Fragment,{children:[l&&"denied"!==r&&e.jsx(t.StatusBanner,{variant:"error",message:l}),"denied"===r&&e.jsx("div",{className:"border border-warning/30 bg-warning/10 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.ShieldAlert,{className:"h-5 w-5 text-warning shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-warning",children:m("notifications.blocked")}),e.jsx("p",{className:"text-xs text-warning mt-1",children:m("notifications.blockedDescription")}),e.jsx("ol",{className:"text-xs text-warning mt-2 space-y-1 list-decimal list-inside",children:Array.from({length:j},(a,s)=>e.jsx("li",{children:m(`notifications.unblock.${v}.step${s+1}`)},s))})]})]})}),"denied"!==r&&e.jsxs("div",{className:"border rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5 p-2 rounded-lg "+(c?"bg-success/15":"bg-muted"),children:c?e.jsx(a.Bell,{className:"h-4 w-4 text-success"}):e.jsx(a.BellOff,{className:"h-4 w-4 text-muted-foreground/70"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium text-foreground",children:m("notifications.pushTitle")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:m("notifications.pushDescription",{subscribed:String(c)})})]})]}),e.jsx(t.Button,{variant:c?"outline":"default",size:"sm",className:"shrink-0",onClick:c?u:d,disabled:o,progress:o,children:m("notifications.toggleAction",{loading:String(o),subscribed:String(c)})})]}),c&&e.jsx("div",{className:"mt-3 pt-3 border-t border-border/60 text-xs text-muted-foreground",children:m("notifications.deviceNote")})]})]}),L&&e.jsx("div",{className:"text-center text-sm text-muted-foreground/70 py-4",children:m("notifications.loadingPrefs")}),!L&&K&&f&&(h||S)&&e.jsxs(e.Fragment,{children:[U&&e.jsx(t.StatusBanner,{variant:"success",message:U}),G.map(([s,t])=>e.jsxs("div",{className:"border rounded-lg overflow-hidden",children:[e.jsx("div",{className:"bg-muted/50 px-4 py-2.5 border-b",children:e.jsx("h4",{className:"text-sm font-medium text-foreground capitalize",children:s})}),e.jsxs("div",{className:"divide-y",children:[e.jsxs("div",{className:"flex items-center px-4 py-2 bg-muted/30",children:[e.jsx("div",{className:"flex-1"}),e.jsxs("div",{className:"flex items-center gap-6",children:[h&&e.jsx("div",{className:"w-12 flex justify-center",children:e.jsx(a.Mail,{className:"h-3.5 w-3.5 text-muted-foreground/70"})}),S&&e.jsx("div",{className:"w-12 flex justify-center",children:e.jsx(a.Smartphone,{className:"h-3.5 w-3.5 text-muted-foreground/70"})})]})]}),t.map(a=>{const s=B(a.slug,"email"),t=B(a.slug,"push"),i=P===`${a.slug}.email`,n=P===`${a.slug}.push`;return e.jsxs("div",{className:"flex items-center px-4 py-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-sm font-medium text-foreground",children:a.name}),a.description&&e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:a.description})]}),e.jsxs("div",{className:"flex items-center gap-6 shrink-0",children:[h&&e.jsx("div",{className:"w-12 flex justify-center",children:a.channels.email?e.jsx(F,{checked:s,onCheckedChange:()=>R(a.slug,"email",s),disabled:i}):e.jsx("span",{className:"text-xs text-muted-foreground/50",children:"—"})}),S&&e.jsx("div",{className:"w-12 flex justify-center",children:a.channels.push?e.jsx(F,{checked:t,onCheckedChange:()=>R(a.slug,"push",t),disabled:n}):e.jsx("span",{className:"text-xs text-muted-foreground/50",children:"—"})})]})]},a.slug)})]})]},s))]})]})},J=({workspace:a})=>{const{t:i}=t.useTranslation(),{isOwner:n}=t.usePermissions(),{settings:r}=t.useSaaSSettings(),{appPermissions:c}=t.usePermissionConfig(),{updateWorkspacePermissions:o}=t.useSaaSWorkspaces(),[l,d]=s.useState(!1),u=O(),m=s.useMemo(()=>r?.workspace?.roles??a.roles??[],[r?.workspace?.roles,a.roles]),x=s.useMemo(()=>{if(!c)return[];const e=new Set;for(const a of Object.values(c))for(const s of a)s.startsWith("workspace:")||e.add(s);return Array.from(e).sort()},[c]),[p,g]=s.useState({});if(s.useEffect(()=>{if(!c)return;const e=a.permissions,s={};for(const a of m)s[a]=e&&a in e?e[a].filter(e=>!e.startsWith("workspace:")):a in c?c[a].filter(e=>!e.startsWith("workspace:")):[];g(s)},[a.permissions,c,m]),!a)return e.jsx(N,{});if(!c||0===x.length)return null;return e.jsxs("div",{children:[u.message&&e.jsx(t.StatusBanner,{variant:"success",title:i("settings.common.success"),message:u.message,className:"mb-4"}),!n&&e.jsx(j,{descriptionKey:"permissions.ownerOnly"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:i("permissions.description")}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-start py-2 pe-4 font-medium text-muted-foreground min-w-[160px]"}),m.map(a=>e.jsx("th",{className:"text-center py-2 px-3 font-medium text-foreground capitalize min-w-[80px]",children:a},a))]})}),e.jsx("tbody",{children:x.map(a=>e.jsxs("tr",{className:"border-b border-border/40 hover:bg-muted/30",children:[e.jsx("td",{className:"py-2 pe-4 text-foreground font-mono text-xs",children:a}),m.map(s=>{const t="admin"===s,i=t||(p[s]??[]).includes(a);return e.jsx("td",{className:"text-center py-2 px-3",children:e.jsx(F,{checked:i,disabled:!n||t,onCheckedChange:()=>((e,a)=>{g(s=>{const t=s[e]??[],i=t.includes(a);return{...s,[e]:i?t.filter(e=>e!==a):[...t,a]}})})(s,a),className:"mx-auto"})},s)})]},a))})]})}),n&&e.jsx("div",{className:"mt-6",children:e.jsx(t.Button,{onClick:async()=>{d(!0),u.clear();try{const e=a.permissions??{},s={},t=new Set([...Object.keys(e),...Object.keys(p)]);for(const a of t){const t=(e[a]??[]).filter(e=>e.startsWith("workspace:")),i=p[a]??[];s[a]=[...t,...i]}await o(a._id,s),u.show(i("permissions.saveSuccess"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsPermissions",action:"savePermissions",metadata:{workspaceId:a._id}})}finally{d(!1)}},disabled:l,progress:l,children:i(l?"permissions.saving":"permissions.save")})})]})},Y=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command,{ref:i,className:t.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...s}));Y.displayName=d.Command.displayName;const Z=p.forwardRef(({className:a,...s},i)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(l.MagnifyingGlassIcon,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(d.Command.Input,{ref:i,className:t.cn("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",a),...s})]}));Z.displayName=d.Command.Input.displayName;const q=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.List,{ref:i,className:t.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...s}));q.displayName=d.Command.List.displayName;const $=p.forwardRef((a,s)=>e.jsx(d.Command.Empty,{ref:s,className:"py-6 text-center text-sm",...a}));$.displayName=d.Command.Empty.displayName;const X=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Group,{ref:i,className:t.cn("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),...s}));X.displayName=d.Command.Group.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Separator,{ref:i,className:t.cn("-mx-1 h-px bg-border",a),...s})).displayName=d.Command.Separator.displayName;const Q=p.forwardRef(({className:a,...s},i)=>e.jsx(d.Command.Item,{ref:i,className:t.cn("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),...s}));Q.displayName=d.Command.Item.displayName;const ee=b.Root,ae=b.Trigger,se=p.forwardRef(({className:a,align:s="center",sideOffset:i=4,...n},r)=>{const{container:c}=p.useContext(t.PortalContext);return e.jsx(b.Portal,{container:c,children:e.jsx(b.Content,{ref:r,align:s,sideOffset:i,className:t.cn("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",a),...n})})});function te({options:i,value:n,onChange:r,placeholder:c="Search...",emptyLabel:o="Choose option"}){const{t:l}=t.useTranslation(),[d,u]=s.useState(n??""),[m,x]=s.useState(!1);s.useEffect(()=>{void 0!==n&&u(n)},[n]);const p=i.find(e=>e.value===d);return e.jsxs(ee,{open:m,onOpenChange:x,children:[e.jsx(ae,{asChild:!0,children:e.jsxs(t.Button,{variant:"outline",role:"combobox","aria-expanded":m,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:[p?e.jsxs("div",{className:"truncate",children:[String(p.label).trim(),p.icon&&e.jsx("span",{className:"ms-2 text-xs text-muted-foreground",children:p.icon})]}):e.jsx("span",{className:"text-muted-foreground",children:o}),e.jsx(a.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(se,{className:"p-0 overflow-hidden text-ellipsis",asChild:!0,children:e.jsxs(Y,{children:[e.jsx(Z,{placeholder:c}),e.jsxs(q,{children:[e.jsx($,{children:l("dropdowns.noResults")}),e.jsx(X,{children:i.map(s=>e.jsxs(Q,{className:t.cn("whitespace-nowrap text-start",{"text-success":d===s.value}),value:s.value,keywords:[s.label],onSelect:()=>{return e=s.value,u(e),r?.(e),void x(!1);var e},children:[d===s.value&&e.jsx(a.CheckCheck,{className:t.cn("me-2 h-4 w-4 text-success",d===s.value?"opacity-100":"opacity-0")}),String(s.label).trim(),s.icon&&e.jsx("span",{className:"ms-2 text-xs text-muted-foreground",children:s.icon})]},s.value))})]})]})})]})}se.displayName=b.Content.displayName;const ie={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"},ne={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"},re=[{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=ne[e.code]||"USD",s=ie[a]||"";return{value:e.code,flag:(t=e.code,t.toUpperCase().replace(/./g,e=>String.fromCodePoint(127397+e.charCodeAt(0)))),text:e.name,currencyCode:a,currencyIcon:s};var t});function ce({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=re.map(e=>({value:e.value,label:e.text,icon:e.flag}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchCountry"),emptyLabel:i("dropdowns.chooseCountry")})}const oe=re.map(e=>({value:e.currencyCode,text:e.currencyCode,icon:e.currencyIcon??null})),le=Array.from(new Set(oe.map(e=>e.value))).map(e=>oe.find(a=>a.value===e)).filter(e=>void 0!==e);function de({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=le.map(e=>({value:e.value,label:e.text,icon:e.icon??void 0}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchCurrency"),emptyLabel:i("dropdowns.chooseCurrency")})}let ue=[{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:"🇮🇱"}];ue=ue.filter((e,a,s)=>a===s.findIndex(a=>a.code===e.code&&a.label===e.label)),ue.sort((e,a)=>e.label<a.label?-1:e.label>a.label?1:0);const me=ue.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,s)=>a===s.findIndex(a=>a.code===e.code&&a.label===e.label)).map(e=>({value:e.code,label:e.label,flag:e.flag}));function xe({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=me.map(e=>({value:e.value,label:e.label,icon:e.flag}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchLanguage"),emptyLabel:i("dropdowns.chooseLanguage")})}const pe=[{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 s=a.utc;for(let t=0;t<s.length;t++){const i=s[t],n=a.text;let r=n.substring(n.indexOf("(")+1,n.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,s)=>a===s.findIndex(a=>a.value===e.value));function ge({value:a,onChange:s}){const{t:i}=t.useTranslation(),n=pe.map(e=>({value:e.value,label:e.text}));return e.jsx(te,{options:n,value:a,onChange:s,placeholder:i("dropdowns.searchTimezone"),emptyLabel:i("dropdowns.chooseTimezone")})}const fe=({workspace:a})=>{const{t:i}=t.useTranslation(),{visible:n}=t.useUIVisibility(),l=n(e=>e.settings?.profile?.language),d=n(e=>e.settings?.profile?.country),u=n(e=>e.settings?.profile?.currency),m=n(e=>e.settings?.profile?.timezone),{updateUserProfile:x,getProfile:p}=t.useSaaSWorkspaces(),[g,f]=s.useState(!1),[b,h]=s.useState(),[S,v]=s.useState(0),j=O(),A=o.z.object({name:o.z.string().min(2,{message:i("profile.nameMinLength")}),country:o.z.string().optional(),timezone:o.z.string().optional(),language:o.z.string().optional(),currency:o.z.string().optional()}),y=c.useForm({resolver:r.zodResolver(A),defaultValues:{name:b?.name||"",country:b?.country||"",timezone:b?.timezone||"",language:b?.language||"",currency:b?.currency||""}});return s.useEffect(()=>{p().then(e=>{h(e),y.setValue("name",e.name),y.setValue("country",e.country),y.setValue("timezone",e.timezone),y.setValue("language",e.language),y.setValue("currency",e.currency)}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsProfile",action:"getProfile"})})},[S]),b?e.jsxs("div",{children:[j.message&&e.jsx(t.StatusBanner,{variant:"success",title:i("settings.common.success"),message:j.message,className:"mb-4"}),e.jsx("div",{className:"space-y-4",children:e.jsx(t.Form,{...y,children:e.jsxs("form",{onSubmit:y.handleSubmit(async function(e){f(!0),j.clear();try{await x({name:e.name,country:e.country,timezone:e.timezone,language:e.language,currency:e.currency}),j.show(i("profile.success"))}catch(e){t.handleError(e,{component:"WorkspaceSettingsProfile",action:"updateUserProfile",metadata:{workspaceId:a._id}})}finally{f(!1)}}),className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"profile-email",className:"block text-sm font-medium mb-1",children:i("profile.email")}),e.jsx(t.Input,{id:"profile-email",disabled:!0,className:"w-full border rounded px-3 py-2 bg-muted",value:b?.email})]}),e.jsx(t.FormField,{disabled:g,control:y.control,name:"name",render:({field:a})=>e.jsxs(t.FormItem,{children:[e.jsx(t.FormLabel,{children:i("profile.name")}),e.jsx(t.FormControl,{children:e.jsx(t.Input,{...a})}),e.jsx(t.FormMessage,{})]})}),e.jsxs("div",{className:"flex gap-y-2 my-4 flex-col",children:[l&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.language")}),e.jsx(xe,{value:y.watch("language"),onChange:e=>{y.setValue("language",e)}})]}),d&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.country")}),e.jsx(ce,{value:y.watch("country"),onChange:e=>{y.setValue("country",e)}})]}),u&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.currency")}),e.jsx(de,{value:y.watch("currency"),onChange:e=>{y.setValue("currency",e)}})]}),m&&e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("div",{className:"text-sm font-medium",children:i("profile.timezone")}),e.jsx(ge,{value:y.watch("timezone"),onChange:e=>{y.setValue("timezone",e)}})]})]}),e.jsxs("div",{className:"flex justify-end gap-x-2",children:[e.jsx(t.Button,{type:"submit",progress:g,disabled:g,children:i("profile.save")}),e.jsx(t.Button,{type:"button",variant:"outline",onClick:()=>{v(e=>e+1)},disabled:g,children:i("profile.reset")})]})]})})}),b?.image&&e.jsxs("div",{children:[e.jsx("p",{className:"block text-sm font-medium mb-1",children:i("profile.profileImage")}),e.jsx("div",{className:"w-16 h-16 rounded-full overflow-hidden",children:e.jsx("img",{src:b.image,alt:b.name,className:"w-full h-full object-cover"})})]})]}):e.jsx(N,{})},be=(e,a,s)=>{const t=new Date(e);return Number.isNaN(t.getTime())?"":new Intl.DateTimeFormat(a,s??{dateStyle:"medium"}).format(t)},he=()=>{const{t:i,formattingLocale:n}=t.useTranslation(),{visible:r,ui:c}=t.useUIVisibility(),o=c.formats?.date,l=r(e=>e.settings?.security?.passkeyRename),d=r(e=>e.settings?.security?.passkeyDelete),{api:u}=t.useWorkspaceApiWithOs(),[m,x]=s.useState(!0),[p,g]=s.useState([]),[f,b]=s.useState(null),[h,S]=s.useState(null),[v,j]=s.useState(""),A=s.useCallback(async()=>{try{const e=await u.getPasskeys();g(e)}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{x(!1)}},[u]);return s.useEffect(()=>{A()},[A]),m?e.jsx(N,{}):e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:i("security.passkeysTitle"),description:i("security.passkeysDescription")}),0===p.length?e.jsx(t.EmptyState,{icon:e.jsx(a.KeyRound,{className:"h-5 w-5 text-muted-foreground"}),description:i("security.noPasskeys")}):e.jsx("div",{className:"space-y-2",children:p.map(s=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md border p-3 "+(!1===s.active?"opacity-70":""),children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(a.KeyRound,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e.jsx("div",{className:"min-w-0",children:h===s.id?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(t.Input,{value:v,onChange:e=>j(e.target.value),placeholder:i("security.renamePlaceholder"),className:"h-8"}),e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",disabled:f===s.id,onClick:()=>async function(e){const a=v.trim();if(a){b(e);try{await u.renamePasskey(e,a),g(s=>s.map(s=>s.id===e?{...s,name:a}:s)),S(null)}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{b(null)}}}(s.id),children:e.jsx(a.Check,{className:"h-4 w-4"})}),e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 shrink-0",onClick:()=>S(null),children:e.jsx(a.X,{className:"h-4 w-4"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:s.name}),!1===s.active&&e.jsx("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:i("security.inactiveHint"),children:i("security.inactive")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:!1===s.active?i("security.inactiveHint"):s.lastUsedAt?`${i("security.lastUsed")}: ${be(s.lastUsedAt,n,o)}`:s.createdAt?`${i("security.added")}: ${be(s.createdAt,n,o)}`:null})]})})]}),h!==s.id&&(l||d)&&e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[l&&e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8","aria-label":i("security.rename"),onClick:()=>{S(s.id),j(s.name)},children:e.jsx(a.Pencil,{className:"h-4 w-4"})}),d&&e.jsxs(E,{children:[e.jsx(P,{asChild:!0,children:e.jsx(t.Button,{size:"icon",variant:"ghost",className:"h-10 w-10 sm:h-8 sm:w-8 text-destructive","aria-label":i("security.remove"),disabled:f===s.id,children:e.jsx(a.Trash2,{className:"h-4 w-4"})})}),e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:i("security.removeTitle")}),e.jsx(G,{children:i("security.removeDescription")})]}),e.jsxs(R,{children:[e.jsx(K,{children:i("settings.common.cancel")}),e.jsx(L,{onClick:()=>async function(e){b(e);try{await u.deletePasskey(e),g(a=>a.filter(a=>a.id!==e))}catch(e){t.handleError(e,{component:"WorkspaceSettingsSecurity"})}finally{b(null)}}(s.id),children:i("security.remove")})]})]})]})]})]},s.id))}),e.jsx("p",{className:"text-xs text-muted-foreground",children:i("security.addHint")})]})},Se={Personal:"personal"},ve=(e,a,s="en-US")=>{const t=(a??"").trim();return t?new Intl.NumberFormat(s,{style:"currency",currency:t.toUpperCase(),minimumFractionDigits:2}).format(e/100):(e/100).toFixed(2)},je=e=>{switch(e){case t.InvoiceStatuses.Paid:return"bg-success/15 text-success";case t.InvoiceStatuses.Open:return"bg-warning/15 text-warning";case t.InvoiceStatuses.Draft:return"bg-muted text-foreground";case t.InvoiceStatuses.Uncollectible:return"bg-destructive/15 text-destructive";case t.InvoiceStatuses.Void:default:return"bg-muted text-foreground"}},Ne=({workspaceId:s,hasActiveSubscription:i=!1,onViewPricingPlans:n,limit:r=20})=>{const{t:c,formattingLocale:o}=t.useTranslation(),{can:l}=t.usePermissions(),d=l(t.Permission.WORKSPACE_BILLING_VIEW),{invoices:u,loading:m,error:x,refetch:p}=t.useInvoices(s,r);if(!d)return e.jsx(j,{});const g=u.length>0;return e.jsxs("div",{className:"space-y-4",children:[e.jsx(t.SectionHeader,{title:c("invoices.title"),description:c("invoices.description"),actions:e.jsx(t.Button,{variant:"ghost",size:"sm",progress:m,onClick:p,disabled:m,children:c("settings.common.refreshAction",{loading:String(m)})})}),x&&e.jsx(t.StatusBanner,{variant:"error",title:c("invoices.errorLoading"),message:x,actionLabel:c("settings.common.retryAction",{loading:String(m)}),onAction:p,actionDisabled:m}),m&&!g?e.jsx("div",{className:"border rounded-lg p-6",children:e.jsx(N,{})}):g?e.jsx("div",{className:"space-y-2",children:u.map(s=>{const i=(e=>{switch(e.status){case t.InvoiceStatuses.Draft:case t.InvoiceStatuses.Open:return{textKey:"invoices.pay",color:"bg-info text-info-foreground hover:bg-info/90"};case t.InvoiceStatuses.Paid:return{textKey:"invoices.view",color:"bg-success text-success-foreground hover:bg-success/90"};case t.InvoiceStatuses.Uncollectible:case t.InvoiceStatuses.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"}}})(s);return e.jsxs("div",{className:"border rounded-md bg-background hover:shadow-sm transition-shadow p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[e.jsx("span",{className:"text-sm font-medium text-foreground truncate min-w-0",children:s.description||s.number||s.id.slice(-8)}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0 ${je(s.status)}`,children:c(`invoices.status.${s.status}`)})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-0.5 text-sm text-muted-foreground mb-2.5",children:[e.jsx("span",{className:"font-medium text-foreground",children:ve(s.amount_due,s.currency,o)}),s.created&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-muted-foreground/50 hidden sm:inline",children:"·"}),e.jsx("span",{children:T(s.created,o)})]}),s.amount_paid>0&&s.amount_due>0&&e.jsx("span",{className:"text-xs text-muted-foreground",children:c("invoices.paidAmount",{amount:ve(s.amount_paid,s.currency,o)})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(t.Button,{size:"sm",disabled:!s.hosted_invoice_url,onClick:()=>s.hosted_invoice_url&&window.open(s.hosted_invoice_url,"_blank","noopener,noreferrer"),className:i.color,children:[c(i.textKey),e.jsx(a.ExternalLink,{className:"h-3.5 w-3.5 ms-1.5"})]}),s.invoice_pdf&&e.jsxs(t.Button,{size:"sm",variant:"outline",onClick:()=>window.open(s.invoice_pdf,"_blank","noopener,noreferrer"),children:[e.jsx(a.Download,{className:"h-3.5 w-3.5 me-1.5"}),c("invoices.download")]})]})]},s.id)})}):e.jsx(t.EmptyState,{icon:e.jsx(a.FileText,{className:"h-5 w-5 text-muted-foreground"}),description:c(i?"invoices.noInvoicesWithSub":"invoices.noInvoices"),action:!i&&n?e.jsx(t.Button,{size:"sm",className:"mt-2",onClick:n,children:c("subscription.viewPricingPlans")}):void 0})]})},Ae=s.lazy(()=>Promise.resolve().then(function(){return require("./SubscriptionDialog-QKmwvJU1.cjs")}).then(e=>({default:e.default}))),ye=(e,a)=>{if(!a)return"";try{const s=new Date(a);return isNaN(s.getTime())?"":new Intl.DateTimeFormat(e,{month:"long",day:"numeric",year:"numeric"}).format(s)}catch{return""}},Te=({workspace:i})=>{const n=i._id?.toString(),{t:r,formattingLocale:c,fmtNum:o,fmtCents:l}=t.useTranslation(),{api:d}=t.useWorkspaceApiWithOs(),{can:u}=t.usePermissions(),{settings:m}=t.useSaaSSettings(),{visible:x,ui:p}=t.useUIVisibility(),g=p.behavior,f=x(e=>e.settings?.subscription?.changePlan),b=x(e=>e.settings?.subscription?.cancel),h=x(e=>e.settings?.subscription?.managePayment),S=x(e=>e.settings?.subscription?.invoicesTab),v=x(e=>e.settings?.subscription?.planDetails),j=u(t.Permission.WORKSPACE_BILLING_VIEW),A=u(t.Permission.WORKSPACE_BILLING_MANAGE),y=m?.workspace?.mode===Se.Personal,{subscription:T,loading:C,error:w,updateSubscription:k,refetch:P}=t.useSubscriptionManagement(n),{createCheckoutSession:M}=t.useCreateCheckoutSession(n),{cancelSubscription:U,loading:_}=t.useCancelSubscription(n),{resumeSubscription:F,loading:O}=t.useResumeSubscription(n),{openBillingPortal:W,loading:V}=t.useBillingPortal(n),{versions:z,loading:H,error:J,refetch:Y}=t.usePlanGroupVersions(n),Z=C||H,q=w||J,{currentVersion:$,latestVersion:X,isDeprecated:Q,plansToShow:ee}=s.useMemo(()=>{const e=z?.currentVersion,a=z?.availableVersions||[],s=null!=T?.subscription;let t=null;a.length>0?t=a.reduce((e,a)=>a.version>e.version?a:e):e&&(t=e);const i=!!(s&&t&&e)&&t.version>e.version;return{currentVersion:e,latestVersion:t,hasNewerVersion:i,isDeprecated:i&&s,plansToShow:t?.plans&&t.plans.length>0?t.plans:[]}},[z,T?.subscription]),[ae,se]=s.useState(!1),[te,ie]=s.useState(null),[ne,re]=s.useState(null),ce=s.useRef(null),[oe,le]=s.useState(!1),[de,ue]=s.useState(!1),me=s.useRef(void 0),xe=s.useRef(!1);s.useEffect(()=>{if(xe.current)return;if(C||!ee||0===ee.length)return;const e=t.workspaceSettingsManager.getState(),a=e.params?.action===t.BBAction.SelectPlan,s=!1!==g?.autoOpenPlanDialog;(!T?.subscription&&s||a)&&(xe.current=!0,a&&(me.current=e.params,t.workspaceSettingsManager.clearParams()),le(!0))},[C,T?.subscription,ee,g?.autoOpenPlanDialog]),s.useEffect(()=>()=>{ce.current&&clearTimeout(ce.current)},[]);const[pe,ge]=s.useState(!1),[fe,be]=s.useState("subscription"),he=async()=>{await Promise.all([P(),Y()])},ve=s.useMemo(()=>t.getBillingIntervalAndCurrencyFromPriceId(T?.subscription?.stripePriceId,ee??[]),[T?.subscription?.stripePriceId,ee]),je=async()=>{if(n){ue(!1),se(!0),ie(null),re(null);try{await U(),re(r("subscription.cancelSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorCanceling");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}};if(Z&&!T&&!z)return e.jsx(N,{});if(!j)return null;const Te=T?.planVersion?._id||null;return n?e.jsxs("div",{className:"space-y-4",children:[q&&e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.errorLoading"),message:q,description:r("subscription.errorLoadingDescription"),actionLabel:r("settings.common.retryAction",{loading:String(Z)}),onAction:he,actionDisabled:Z}),te&&e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.updateFailed"),message:te,actionLabel:r("settings.common.dismiss"),onAction:()=>ie(null)}),ne&&e.jsx(t.StatusBanner,{variant:"success",title:r("settings.common.success"),message:ne,actionLabel:r("settings.common.dismiss"),onAction:()=>re(null)}),S&&e.jsx("div",{className:"border-b border-border",children:e.jsxs("nav",{className:"-mb-px flex gap-6",role:"tablist","aria-label":r("subscription.tabsLabel"),onKeyDown:e=>{"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"Home"!==e.key&&"End"!==e.key||(e.preventDefault(),be("ArrowLeft"===e.key||"End"===e.key?"invoices":"subscription"))},children:[e.jsx("button",{type:"button",role:"tab",id:"subscription-tab-subscription","aria-controls":"subscription-panel-subscription","aria-selected":"subscription"===fe,tabIndex:"subscription"===fe?0:-1,onClick:()=>be("subscription"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("subscription"===fe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:r("subscription.plan")}),e.jsx("button",{type:"button",role:"tab",id:"subscription-tab-invoices","aria-controls":"subscription-panel-invoices","aria-selected":"invoices"===fe,tabIndex:"invoices"===fe?0:-1,onClick:()=>be("invoices"),className:"border-b-2 py-3 text-sm font-medium transition-colors "+("invoices"===fe?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground"),children:r("subscription.invoicesTab")})]})}),"subscription"===fe&&e.jsxs("div",{id:"subscription-panel-subscription",role:"tabpanel","aria-labelledby":"subscription-tab-subscription",tabIndex:0,children:[Z&&e.jsx(t.LoadingState,{}),f&&Q&&T?.subscription&&e.jsxs("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:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(a.AlertTriangle,{className:"h-4 w-4 text-warning shrink-0"}),e.jsxs("span",{className:"text-sm text-warning",children:[e.jsx("span",{className:"font-medium",children:r("subscription.planUpdateAvailable")}),e.jsxs("span",{className:"text-warning",children:[" ","— v",$?.version||"?"," → v",X?.version||"?"]})]})]}),e.jsx(t.Button,{size:"sm",variant:"outline",className:"shrink-0 border-warning/40 text-warning hover:bg-warning/15",onClick:()=>le(!0),children:r("subscription.viewPlans")})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:r("subscription.managePlan")})}),e.jsxs("div",{className:"flex items-center gap-2",children:[(()=>{if(!f)return null;const a=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Canceled,s=T?.subscription?.cancelAtPeriodEnd;return s||_?null:a&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):T?.subscription&&!a&&A?e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>le(!0),children:r("subscription.changePlanButton")}):!T?.subscription&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):null})(),e.jsx(t.Button,{variant:"ghost",size:"sm",progress:Z,onClick:he,disabled:Z||ae,children:r("settings.common.refreshAction",{loading:String(Z)})})]})]}),T?.subscription?(()=>{const s=t.getBillingIntervalAndCurrencyFromPriceId(T.subscription.stripePriceId,ee??[]),n=s?.interval??null,d=s?.currency??T.plan?.currency??i?.billingCurrency??"",u=n&&T.planVersion?t.getBasePriceCents(T.planVersion,d,n):null,m=d,x=T.planVersion?t.getSeatPricing(T.planVersion,d):null,p=x&&n?t.getPerSeatPriceCents(T.planVersion,d,n):null,g=Array.isArray(i?.users)?i.users.length:1,j=x?.includedSeats??0,N=Math.max(0,g-j),C=!!T.plan?.isFreemium,w=null!=u?0===u?r("subscription.free"):l(u,m):C?r("subscription.free"):null,k=n===t.BillingIntervals.Monthly?r("subscription.billingInterval.perMonth"):n===t.BillingIntervals.Quarterly?r("subscription.billingInterval.perQuarter"):n===t.BillingIntervals.Yearly?r("subscription.billingInterval.perYear"):"";return e.jsxs("div",{className:"border rounded-lg overflow-hidden "+(Q?"border-warning/40":"border-border"),children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&!T.subscription.cancelAtPeriodEnd&&(()=>{const a=T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd,s=a?new Date(a):null,i=s&&!isNaN(s.getTime())?s:null,n=i?Math.max(0,Math.ceil((i.getTime()-Date.now())/864e5)):null,c=null!==n&&n<=3;return e.jsxs("div",{className:"px-4 py-3 sm:px-5 text-sm flex flex-col sm:flex-row sm:items-center justify-between gap-2 "+(c?"bg-warning/10 text-warning border-b border-warning/30":"bg-info/10 text-info border-b border-info/20"),children:[e.jsxs("span",{children:[null!==n&&n<=0?r("subscription.trialEnded"):null!==n?r("subscription.trialEndsIn",{days:n}):r("subscription.onTrial")," ",r("subscription.upgradeToKeepAccess")]}),f&&e.jsx(t.Button,{size:"sm",variant:c?"default":"outline",className:"shrink-0 "+(c?"":"border-info/30 text-info hover:bg-info/15"),onClick:()=>le(!0),children:r("subscription.upgradePlan")})]})})(),e.jsxs("div",{className:"p-4 sm:p-5 "+(Q?"bg-warning/5":"bg-muted/30"),children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground",children:T.plan?.name||r("subscription.noPlanAssigned")}),e.jsxs("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active?T.subscription.cancelAtPeriodEnd?"bg-warning/15 text-warning":"bg-success/15 text-success":T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?"bg-info/15 text-info":T.subscription.subscriptionStatus===t.SubscriptionStatus.Canceled?"bg-muted text-foreground":"bg-destructive/15 text-destructive"),children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Active&&(T.subscription.cancelAtPeriodEnd?r("subscription.status.canceling"):r("subscription.status.active")),T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&r("subscription.status.trial"),T.subscription.subscriptionStatus===t.SubscriptionStatus.Canceled&&r("subscription.status.canceled"),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&r("subscription.status.pastDue")]}),T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&ye(c,T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)&&e.jsx("span",{className:"text-xs text-muted-foreground",children:r("subscription.endsOn",{date:ye(c,T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)})}),Q&&e.jsxs("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.jsx(a.AlertTriangle,{className:"h-3.5 w-3.5"}),r("subscription.status.deprecated")]})]}),T.plan?.description&&e.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:T.plan.description}),!C&&e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[e.jsx("span",{className:"text-2xl font-bold text-foreground",children:w||r("invoices.na")}),w&&w!==r("subscription.free")&&k&&e.jsx("span",{className:"text-sm text-muted-foreground",children:k})]}),x&&null!=p&&p>0&&!y&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:r("subscription.perSeatDisplay",{price:l(p,m),interval:k})}),!y&&x&&null!=p&&p>0&&N>0&&w&&w!==r("subscription.free")&&null!=u&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1 pt-1 border-t border-border",children:r("subscription.estTotalDisplay",{total:l(u+p*N,m),interval:k,count:N})})]}),(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing)&&!T.subscription.cancelAtPeriodEnd&&ye(c,T.subscription.stripeCurrentPeriodEnd)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.jsx(a.Calendar,{className:"h-3.5 w-3.5 flex-shrink-0"}),e.jsx("span",{children:r("subscription.nextBillingDisplay",{date:ye(c,T.subscription.stripeCurrentPeriodEnd)??""})})]})]}),Q&&e.jsx("p",{className:"text-xs text-warning mt-2",children:r("subscription.versionLabel",{version:$?.version||r("invoices.na")})}),!C&&(h||b||T.subscription.cancelAtPeriodEnd)&&(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing||T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3 mt-4 pt-4 border-t border-border",children:[h&&T.subscription&&A&&T.subscription?.subscriptionId&&e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>W(),disabled:V,progress:V,children:r(V?"subscription.openingPortal":"subscription.managePayment")}),A&&T.subscription?.subscriptionId&&(T.subscription.subscriptionStatus===t.SubscriptionStatus.Active||T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing)&&e.jsx(e.Fragment,{children:T.subscription.cancelAtPeriodEnd?e.jsx(t.Button,{variant:"outline",size:"sm",onClick:()=>ge(!0),disabled:ae||_||O,progress:O,children:T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.resumeTrial"):r("subscription.resumeTitle")}):b?e.jsx(t.Button,{variant:"outline",size:"sm",className:"text-destructive hover:text-destructive hover:bg-destructive/10 border-destructive/20",onClick:()=>ue(!0),disabled:ae||_||O,progress:_||ae,children:_||ae?r("subscription.canceling"):T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.cancelTrial"):r("subscription.cancelTitle")}):null})]})]}),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&e.jsx("div",{className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:r("subscription.paymentPastDue")}),e.jsx("p",{className:"text-sm text-destructive mt-0.5",children:r("subscription.paymentPastDueDescription")}),S&&e.jsx(t.Button,{variant:"outline",size:"sm",className:"mt-2 border-destructive/20 text-destructive hover:bg-destructive/15",onClick:()=>be("invoices"),children:r("subscription.viewInvoices")})]})]})}),T.subscription.subscriptionStatus===t.SubscriptionStatus.PastDue&&T.subscription.dunningState&&T.subscription.dunningState!==t.DunningState.None&&e.jsx("div",{className:"px-5 py-3 bg-destructive/10 border-t border-destructive/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:T.subscription.dunningState===t.DunningState.Final?r("subscription.dunningFinal"):T.subscription.dunningState===t.DunningState.Suspended?r("subscription.dunningSuspended"):r("subscription.dunningRecovery")}),e.jsx("p",{className:"text-sm text-destructive mt-0.5",children:T.subscription.dunningState===t.DunningState.Suspended?r("subscription.dunningSuspendedDescription"):r("subscription.dunningRecoveryDescription")})]})]})}),T.subscription.subscriptionStatus===t.SubscriptionStatus.Paused&&e.jsx("div",{className:"px-5 py-3 bg-info/10 border-t border-info/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.Calendar,{className:"h-5 w-5 text-info flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-info",children:r("subscription.subscriptionPaused")}),e.jsx("p",{className:"text-sm text-info mt-0.5",children:r("subscription.subscriptionPausedDescription")})]})]})}),T.subscription.cancelAtPeriodEnd&&e.jsx("div",{className:"px-5 py-3 bg-warning/10 border-t border-warning/30",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.Calendar,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-warning",children:T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.scheduledTrialCancellation"):r("subscription.scheduledCancellation")}),e.jsx("p",{className:"text-sm text-warning mt-0.5",children:ye(c,T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)?e.jsxs(e.Fragment,{children:[T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing?r("subscription.trialEndDescription"):r("subscription.cancelEndDescription")," ",e.jsx("span",{className:"font-medium",children:ye(c,T.subscription.subscriptionStatus===t.SubscriptionStatus.Trialing&&T.subscription.trialEnd||T.subscription.stripeCurrentPeriodEnd)}),"."]}):r("subscription.cancelEndFallback")})]})]})}),v&&T.planVersion&&(()=>{const a=((e,a,s=t.BillingIntervals.Monthly)=>{if(!e?.subscriptionItems)return{features:[],limits:[],quotas:[]};const i=[],n=[],r=[];return e.subscriptionItems.forEach(c=>{const o=c.slug;if(c.type===t.SubscriptionItemType.Feature){const a=e.features?.[o]??!1;i.push({item:c,enabled:a})}else if(c.type===t.SubscriptionItemType.Limit){const a=e.limits?.[o]??0;n.push({item:c,value:a})}else if(c.type===t.SubscriptionItemType.Quota){const i=a&&e.pricingVariants?.length?t.getQuotaDisplayWithVariant(e,a,o,s):t.getQuotaDisplayValue(e.quotas?.[o],s);null!=i&&r.push({item:c,value:i})}}),{features:i,limits:n,quotas:r}})(T.planVersion,d,n??"monthly");return a.features.length>0||a.limits.length>0||a.quotas.length>0?e.jsx("div",{className:"px-4 py-4 sm:px-5 sm:py-5 border-t border-border/60",children:e.jsxs("div",{className:"space-y-5",children:[a.features.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.features")}),e.jsx("ul",{className:"space-y-1.5",children:a.features.sort(e=>e.enabled?-1:1).map(({item:a,enabled:s})=>e.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"w-4 text-center shrink-0 "+(s?"text-success":"text-muted-foreground/50"),children:s?"✓":"✕"}),e.jsx("span",{className:s?"text-foreground":"text-muted-foreground/70",children:a.name})]},a._id))})]}),a.limits.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.limits")}),e.jsx("ul",{className:"space-y-1.5",children:a.limits.map(({item:a,value:s})=>e.jsxs("li",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:a.name}),e.jsx("span",{className:"font-medium text-foreground",children:o(s)})]},a._id))})]}),a.quotas.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.quotas")}),e.jsx("ul",{className:"space-y-1.5",children:a.quotas.map(({item:a,value:s})=>{const i=t.getQuotaDisplayParts(s,a.name.toLowerCase(),{currency:d,locale:c}),n=i?i.hasOverage?r("quota.includedWithOverage",{count:i.included,price:i.price,unit:i.unit}):r("quota.includedOnly",{count:i.included}):"—";return e.jsx("li",{className:"text-sm",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:a.name}),e.jsx("span",{className:"font-medium text-foreground text-xs sm:text-sm",children:n})]})},a._id)})})]}),x&&!y&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.seats.title")}),e.jsxs("div",{className:"bg-muted/50 rounded-lg p-3 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.members")}),e.jsx("span",{className:"font-semibold text-foreground",children:o(g)})]}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.included")}),e.jsx("span",{className:"text-foreground",children:o(j)})]}),N>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.billable")}),e.jsxs("span",{className:"font-medium text-warning",children:[o(N)," ",r("subscription.seats.extra")]})]}),null!=p&&p>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.perExtraSeat")}),e.jsxs("span",{className:"text-foreground",children:[l(p,d),k]})]}),(x?.maxSeats??0)>0&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.seats.limit")}),e.jsx("span",{className:"text-foreground",children:o(x.maxSeats)})]})]})]}),T.planVersion?.creditGrant?.enabled&&"object"==typeof T.planVersion.creditGrant.creditPackage&&null!==T.planVersion.creditGrant.creditPackage&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r("subscription.items.credits")}),e.jsxs("div",{className:"bg-info/10 rounded-lg p-3 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:T.planVersion.creditGrant.renewOnPeriod?r("subscription.items.creditsPerMonth"):r("subscription.items.creditsOneTime")}),e.jsx("span",{className:"font-semibold text-info",children:o("object"==typeof T.planVersion.creditGrant.creditPackage?T.planVersion.creditGrant.creditPackage.creditAmount:0)})]}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r("subscription.items.creditRenewal")}),e.jsx("span",{className:"font-medium text-foreground",children:T.planVersion.creditGrant.renewOnPeriod?"reset"===T.planVersion.creditGrant.mode?r("subscription.items.creditModeReset"):r("subscription.items.creditModeTopup"):r("subscription.items.creditModeLifetime")})]})]})]})]})}):null})()]})})():e.jsx(t.EmptyState,{icon:e.jsx(a.CreditCard,{className:"h-5 w-5 text-muted-foreground"}),title:r("subscription.noSubscription"),description:r("subscription.noSubscriptionDescription"),action:f&&ee&&ee.length>0?e.jsx(t.Button,{size:"sm",onClick:()=>le(!0),children:r("subscription.viewPricingPlans")}):void 0})]}),!z&&!Z&&(q?e.jsx(t.StatusBanner,{variant:"error",title:r("subscription.errorLoading"),message:q,actionLabel:r("settings.common.refreshAction",{loading:String(Z)}),onAction:he,actionDisabled:Z}):e.jsx(t.EmptyState,{title:r("subscription.errorLoading"),description:r("subscription.noPlansAvailable"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:Z,onClick:he,children:r("settings.common.refreshAction",{loading:String(Z)})})}))]}),S&&"invoices"===fe&&e.jsxs("div",{id:"subscription-panel-invoices",role:"tabpanel","aria-labelledby":"subscription-tab-invoices",tabIndex:0,children:[Z&&e.jsx(t.LoadingState,{}),e.jsx(Ne,{workspaceId:n,hasActiveSubscription:null!=T?.subscription,onViewPricingPlans:()=>be("subscription"),limit:20})]}),ee&&ee.length>0&&e.jsx(s.Suspense,{fallback:oe?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(a.Loader2,{className:"h-5 w-5 animate-spin"}),e.jsx("span",{children:r("settings.common.loading")})]})}):null,children:e.jsx(Ae,{open:oe,onOpenChange:le,planVersions:ee,currentPlanVersionId:Te||null,currentStripePriceId:T?.subscription?.stripePriceId,billingCurrency:i.billingCurrency,trialUsedAt:i.trialUsedAt,workspaceName:i.name,initialInterval:me.current?.interval,initialCurrency:me.current?.currency,currentMemberCount:Array.isArray(i?.users)?i.users.length:void 0,onSelectPlan:async(e,a=t.BillingIntervals.Monthly,s)=>{if(!n)return;const c=ee?.find(a=>a._id===e),o=s??ve?.currency??T?.plan?.currency??i?.billingCurrency??"",l=c?t.getStripePriceIdForInterval(c,o,a):null,u=T?.subscription?.stripePriceId;if(!l||!u||l!==u){se(!0),ie(null),re(null);try{const{successUrl:s,cancelUrl:i}=t.createCheckoutRedirectUrls(n);let l;if(c?.plan?.isFreemium){return T?.subscription?.subscriptionId?(le(!1),void ue(!0)):(await d.selectFreePlan(n,e),le(!1),t.invalidateSubscription(),await he(),void re(r("subscription.updateSuccess")))}const u=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Canceled;if(l=T?.subscription&&!u?await k(e,{billingInterval:a,successUrl:s,cancelUrl:i}):await M({planVersionId:e,billingInterval:a,currency:o||void 0,successUrl:s,cancelUrl:i}),l&&"checkoutUrl"in l&&l.checkoutUrl)return void t.safeRedirect(l.checkoutUrl);re(r("subscription.updateSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorProcessing");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}},loading:ae||Z})}),e.jsx(E,{open:pe,onOpenChange:ge,children:e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:r("subscription.resumeTitle")}),e.jsx(G,{asChild:!0,children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:r("subscription.resumeConfirm")}),e.jsxs("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4 space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(a.AlertTriangle,{className:"h-4 w-4 text-warning mt-0.5 flex-shrink-0"}),e.jsxs("span",{children:[r("subscription.resumeChargeDate")," ",T?.subscription?.stripeCurrentPeriodEnd&&ye(c,T.subscription.stripeCurrentPeriodEnd)?e.jsx("span",{className:"font-medium",children:ye(c,T.subscription.stripeCurrentPeriodEnd)}):r("subscription.resumeChargeFallback")]})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-warning mt-0.5",children:"•"}),e.jsx("span",{children:r("subscription.resumeContinue")})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-info mt-0.5",children:"ℹ"}),e.jsx("span",{children:r("subscription.resumeCancelAnytime")})]})]})]})})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:O,children:r("subscription.resumeKeep")}),e.jsx(L,{onClick:async()=>{if(n){ge(!1),se(!0),ie(null),re(null);try{await F(),re(r("subscription.resumeSuccess")),await he()}catch(e){const a=e instanceof Error?e.message:r("subscription.errorResuming");ie(a)}finally{se(!1),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ie(null),re(null)},5e3)}}},disabled:O,children:r(O?"subscription.resuming":"subscription.resumeButton")})]})]})}),(()=>{const a=T?.subscription?.subscriptionStatus===t.SubscriptionStatus.Trialing,s=a&&T?.subscription?.trialEnd||T?.subscription?.stripeCurrentPeriodEnd;return e.jsx(E,{open:de,onOpenChange:ue,children:e.jsxs(I,{children:[e.jsxs(D,{children:[e.jsx(B,{children:r(a?"subscription.cancelTrialTitle":"subscription.cancelTitle")}),e.jsx(G,{asChild:!0,children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:r(a?"subscription.cancelTrialConfirm":"subscription.cancelConfirm")}),e.jsxs("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-success mt-0.5",children:"✓"}),e.jsxs("span",{children:[r(a?"subscription.cancelTrialAccess":"subscription.retainAccess")," ",s&&ye(c,s)?e.jsx("span",{className:"font-medium",children:ye(c,s)}):r("subscription.retainAccessFallback")]})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-success mt-0.5",children:"✓"}),e.jsx("span",{children:r(a?"subscription.cancelTrialNoCharge":"subscription.cancelNotCharged")})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-info mt-0.5",children:"ℹ"}),e.jsx("span",{children:r(a?"subscription.cancelTrialResume":"subscription.cancelResumeAnytime")})]})]})]})})]}),e.jsxs(R,{children:[e.jsx(K,{disabled:_,children:r(a?"subscription.cancelTrialKeep":"subscription.cancelKeep")}),e.jsx(L,{onClick:je,disabled:_,className:"bg-destructive hover:bg-destructive/90 focus:ring-destructive",children:r(_?"subscription.canceling":a?"subscription.cancelTrialButton":"subscription.cancelButton")})]})]})})})()]}):e.jsx("div",{className:"border rounded-lg p-4 text-center text-muted-foreground",children:e.jsx("p",{children:r("subscription.invalidWorkspace")})})};function Ce(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,e=>e.toUpperCase())}function we(e,a,s){return a+e.toLocaleString(s,{minimumFractionDigits:2,maximumFractionDigits:2})}function ke(e){try{const a=new Date(e);if(isNaN(a.getTime()))return null;const s=new Date;return Math.ceil((a.getTime()-s.getTime())/864e5)}catch{return null}}const Ee=()=>{const{quotas:i,loading:n,error:r,refetch:c}=t.useQuotaUsageContext(),{t:o,formattingLocale:l,fmtNum:d}=t.useTranslation(),{can:u}=t.usePermissions(),m=(e,a)=>we(e,a,l),{response:x}=t.useSubscriptionContext(),[p,g]=s.useState(!1),f=s.useMemo(()=>{const e={};if(!x?.planVersion||!x?.subscription)return e;const a=x.planVersion,s=x.subscription,n=s.billingInterval??"monthly",r=s.plan?.currency??"usd",c=t.getCurrencySymbol(r);if(!i)return e;for(const s of Object.keys(i)){const o=t.getQuotaOverageCents(a,r,s,n);if(null==o||o<=0)continue;const l=a.quotas?.[s],d=l?.[n],u=d?.unitSize??1,m=i[s].overage,x=(u>1?Math.ceil(m/u):m)*o/100;e[s]={overageCents:o,unitSize:u,currency:r,currencySymbol:c,estimatedCost:x}}return e},[x,i]),b=s.useMemo(()=>{const e=x?.subscription?.usageCurrentPeriodEnd||x?.subscription?.stripeCurrentPeriodEnd;if(!e)return null;const a=A(e,l);return a?{endDate:a,daysRemaining:ke(e)}:null},[x,l]),h=async()=>{g(!0);try{await c()}finally{g(!1)}};if(n&&!i)return e.jsx(N,{});if(!u(t.Permission.WORKSPACE_USAGE_VIEW))return null;if(r)return e.jsx(t.StatusBanner,{variant:"error",title:o("usage.errorLoading"),message:r,actionLabel:o("settings.common.retryAction",{loading:String(p)}),onAction:h,actionDisabled:p});const S=function(e){return[...e].sort(([,e],[,a])=>{if(e.hasOverage&&!a.hasOverage)return-1;if(!e.hasOverage&&a.hasOverage)return 1;const s=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)-s})}(i?Object.entries(i):[]);if(0===S.length)return e.jsx(t.EmptyState,{icon:e.jsx(a.BarChart3,{className:"h-5 w-5 text-muted-foreground"}),title:o("usage.noData"),description:o("usage.noDataHint"),action:e.jsx(t.Button,{variant:"outline",size:"sm",progress:p,onClick:h,children:o("settings.common.refreshAction",{loading:String(p)})})});const v=S.filter(([,e])=>e.hasOverage).length,j=S.length>0?Math.round(S.reduce((e,[,a])=>e+(a.included>0?a.consumed/a.included*100:0),0)/S.length):0,y=Object.values(f).reduce((e,a)=>e+a.estimatedCost,0),T=Object.values(f)[0]?.currencySymbol??"$";return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:o("usage.description")}),e.jsxs(t.Button,{variant:"ghost",size:"sm",onClick:h,disabled:p,children:[e.jsx(a.RefreshCw,{className:t.cn("h-3.5 w-3.5 me-1.5",p&&"animate-spin")}),o("settings.common.refreshAction",{loading:String(p)})]})]}),b&&e.jsxs("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.jsx(a.Calendar,{className:"h-4 w-4 text-muted-foreground/70 flex-shrink-0"}),e.jsxs("span",{children:[o("usage.resetDateDisplay",{date:b.endDate}),null!==b.daysRemaining&&b.daysRemaining>0&&e.jsxs("span",{className:"text-muted-foreground",children:[" ","(",o("usage.daysRemainingDisplay",{count:b.daysRemaining}),")"]}),null!==b.daysRemaining&&b.daysRemaining<=0&&e.jsxs("span",{className:"text-warning font-medium",children:[" (",o("usage.renewingSoon"),")"]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2 sm:gap-3",children:[e.jsxs("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.totalResources")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:d(S.length)})]}),e.jsxs("div",{className:"border border-border rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.overallUsage")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold text-foreground mt-1",children:d(j)+"%"})]}),e.jsxs("div",{className:t.cn("border rounded-lg p-3 sm:p-4",v>0?"border-destructive/20 bg-destructive/10":"border-border"),children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.inOverage")}),e.jsx("p",{className:t.cn("text-lg sm:text-xl font-semibold mt-1",v>0?"text-destructive":"text-foreground"),children:d(v)})]}),v>0&&y>0&&e.jsxs("div",{className:"border border-destructive/20 bg-destructive/10 rounded-lg p-3 sm:p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground font-medium",children:o("usage.estOverageCost")}),e.jsx("p",{className:"text-lg sm:text-xl font-semibold mt-1 text-destructive",children:m(y,T)})]})]}),v>0&&e.jsx("div",{className:"bg-warning/10 border border-warning/30 rounded-lg p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(a.AlertTriangle,{className:"h-5 w-5 text-warning flex-shrink-0 mt-0.5 hidden sm:block"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-sm font-semibold text-warning mb-1",children:o("usage.overageDetected")}),e.jsx("p",{className:"text-sm text-warning",children:o("usage.overageWarning",{count:v})}),y>0&&e.jsx("p",{className:"text-sm text-warning font-medium mt-1",children:o("usage.estOverageCharges",{amount:m(y,T)})})]})]})}),e.jsx("div",{className:"space-y-3",children:S.map(([a,s])=>{const t=(i=s.consumed,(n=s.included)<=0?i>0?100:0:Math.min(i/n*100,100));var i,n;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/70",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"}}(t,s.hasOverage),c=f[a];return e.jsx(Pe,{slug:a,quota:s,percent:t,colors:r,pricing:c},a)})})]})};function Pe({slug:a,quota:s,percent:i,colors:n,pricing:r}){const{t:c,formattingLocale:o}=t.useTranslation(),l=e=>function(e,a){return e>=1e6?(e/1e6).toLocaleString(a,{maximumFractionDigits:1})+"M":e>=1e3?(e/1e3).toLocaleString(a,{maximumFractionDigits:1})+"K":e.toLocaleString(a)}(e,o),d=(e,a)=>we(e,a,o);return e.jsxs("div",{className:"border border-border rounded-lg p-4 sm:p-5",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-y-1 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("h3",{className:"text-sm font-medium text-foreground truncate",children:Ce(a)}),s.hasOverage&&e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",n.badge,n.badgeText),children:c("usage.overage")}),!s.hasOverage&&i>=90&&e.jsx("span",{className:t.cn("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",n.badge,n.badgeText),children:c("usage.almostFull")})]}),e.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:[l(s.consumed)," / ",l(s.included)]})]}),e.jsx("div",{role:"progressbar","aria-valuenow":Math.round(i),"aria-valuemin":0,"aria-valuemax":100,"aria-label":Ce(a),className:t.cn("h-2 rounded-full w-full",n.bg),children:e.jsx("div",{className:t.cn("h-2 rounded-full transition-all duration-500",n.bar),style:{width:`${i}%`}})}),e.jsxs("div",{className:"flex items-center justify-between mt-2 text-xs text-muted-foreground",children:[e.jsx("span",{children:c("usage.percentUsed",{percent:Math.round(i)})}),e.jsx("span",{children:s.available>0?c("usage.availableRemaining",{count:l(s.available)}):s.hasOverage?c("usage.overLimitCount",{count:l(s.overage)}):c("usage.fullyUsed")})]}),s.hasOverage&&r&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-border space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.overageUnits")}),e.jsx("span",{className:"font-medium text-foreground",children:l(s.overage)})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.rate")}),e.jsx("span",{className:"font-medium text-foreground",children:c("usage.rateDisplay",{rate:d(r.overageCents/100,r.currencySymbol),unitSize:r.unitSize})})]}),r.unitSize>1&&e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:c("usage.billableBlocks")}),e.jsx("span",{className:"font-medium text-foreground",children:l(Math.ceil(s.overage/r.unitSize))})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs pt-2 border-t border-border",children:[e.jsx("span",{className:"font-medium text-destructive",children:c("usage.estimatedCharge")}),e.jsx("span",{className:"font-semibold text-destructive",children:d(r.estimatedCost,r.currencySymbol)})]})]}),!s.hasOverage&&r&&e.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:c("usage.overageRateDisplay",{rate:c("usage.rateDisplay",{rate:d(r.overageCents/100,r.currencySymbol),unitSize:r.unitSize})})})]})}const Me=h.Root,Ue=p.forwardRef(({className:a,children:s,...i},n)=>e.jsxs(h.Trigger,{ref:n,className:t.cn("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",a),...i,children:[s,e.jsx(h.Icon,{asChild:!0,children:e.jsx(l.CaretSortIcon,{className:"h-4 w-4 opacity-50"})})]}));Ue.displayName=h.Trigger.displayName;const Ie=p.forwardRef(({className:a,children:s,position:i="popper",...n},r)=>{const{container:c}=p.useContext(t.PortalContext);return e.jsx(h.Portal,{container:c,children:e.jsx(h.Content,{ref:r,className:t.cn("relative z-50 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",a),position:i,...n,children:e.jsx(h.Viewport,{className:t.cn("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s})})})});Ie.displayName=h.Content.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(h.Label,{ref:i,className:t.cn("px-2 py-1.5 text-sm font-semibold",a),...s})).displayName=h.Label.displayName;const De=p.forwardRef(({className:a,children:s,...i},n)=>e.jsxs(h.Item,{ref:n,className:t.cn("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",a),...i,children:[e.jsx("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(h.ItemIndicator,{children:e.jsx(l.CheckIcon,{className:"h-4 w-4"})})}),e.jsx(h.ItemText,{children:s})]}));De.displayName=h.Item.displayName;p.forwardRef(({className:a,...s},i)=>e.jsx(h.Separator,{ref:i,className:t.cn("-mx-1 my-1 h-px bg-muted",a),...s})).displayName=h.Separator.displayName;const Re=({workspace:i})=>{const{user:n}=t.useSaaSAuth(),{t:r,fmtNum:c,fmtCents:o}=t.useTranslation(),[l,d]=s.useState(0),[u,x]=s.useState(!1),[p,g]=s.useState([]),[f,b]=s.useState(null),{getUsers:h,removeUser:S,updateUser:v}=t.useSaaSWorkspaces(),{settings:A}=t.useSaaSSettings(),{can:y}=t.usePermissions(),{visible:T}=t.useUIVisibility(),{response:C}=t.useSubscriptionContext(),w=t.useSeatStatus(i,{settingsMaxUsers:A?.workspace?.maxWorkspaceUsers});s.useEffect(()=>{i&&(x(!0),h(i._id).then(e=>{g(e)}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsUsers",action:"getUsers",metadata:{workspaceId:i._id}})}).finally(()=>{x(!1)}))},[i,l,h]);const k=()=>{d(e=>e+1)},E=A?.workspace?.mode===Se.Personal;if(u||!i)return e.jsx(N,{});if(E)return null;const P=e=>"string"==typeof e?{name:r("users.unknownUser"),email:e,id:e,role:"-"}:{name:e.name||r("users.unknownUser"),email:e.email,id:e._id},M=p.map(e=>({...e,...P(e.user)})),U=T(e=>e.settings?.users?.invite,t.Permission.WORKSPACE_MEMBERS_INVITE),I=T(e=>e.settings?.users?.remove,t.Permission.WORKSPACE_MEMBERS_REMOVE),D=T(e=>e.settings?.users?.roleChange,t.Permission.WORKSPACE_MEMBERS_ROLE_CHANGE),R=T(e=>e.settings?.users?.seatPricing),{hasSeatPricing:B,includedSeats:G,maxUsers:L,canInvite:K,inviteBlockReason:_,inviteBlockMessageKey:F,inviteBlockMessageValues:O,perSeatPriceCents:W,currency:V}=w,z=p.length,H=C?.subscription?.billingInterval??"monthly",J=B&&z>=G;return e.jsxs("div",{children:[!y(t.Permission.WORKSPACE_MEMBERS_INVITE)&&!y(t.Permission.WORKSPACE_MEMBERS_REMOVE)&&!y(t.Permission.WORKSPACE_MEMBERS_ROLE_CHANGE)&&e.jsx(j,{descriptionKey:"users.adminOnly"}),U&&e.jsx("div",{className:"mb-4",children:K?e.jsxs("div",{children:[e.jsx(Be,{onInvite:k,workspaceId:i._id}),R&&J&&null!=W&&W>0&&e.jsx("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.jsx("span",{children:r("users.extraSeatCost",{price:o(W,V),interval:H})})})]}):e.jsx("div",{className:"flex items-center justify-between p-3 bg-destructive/10 border border-destructive/20 rounded-md",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:r("users.limitReached",{reason:_??"member_limit_reached"})}),e.jsx("p",{className:"text-xs text-destructive mt-0.5",children:F?r(F,O??void 0):""})]})})}),R&&(B||L>0)&&e.jsxs("div",{className:"mb-4 rounded-lg border bg-muted/50 p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h4",{className:"text-sm font-medium text-foreground",children:r("users.seatHeading",{hasSeatPricing:String(B)})}),L>0&&e.jsxs("span",{className:"text-xs font-medium px-2 py-0.5 rounded-full "+(z>=L?"bg-destructive/15 text-destructive":z>=.8*L?"bg-warning/15 text-warning":"bg-success/15 text-success"),children:[c(z)," / ",c(L)]})]}),L>0&&e.jsx("div",{role:"progressbar","aria-valuenow":z,"aria-valuemin":0,"aria-valuemax":L,"aria-label":r("users.seatHeading"),className:"w-full h-1.5 bg-muted rounded-full mb-3",children:e.jsx("div",{className:"h-1.5 rounded-full transition-all "+(z>=L?"bg-destructive":z>=.8*L?"bg-warning":"bg-success"),style:{width:`${Math.min(100,z/L*100)}%`}})}),e.jsxs("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[e.jsx("div",{children:B?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-foreground font-medium",children:c(G)})," ",r("users.included"),null!=W&&W>0&&e.jsxs("span",{className:"text-muted-foreground/70",children:[" ","· ",o(W,V),r("users.perExtraSeat")]})]}):e.jsxs("span",{children:[e.jsx("span",{className:"text-foreground font-medium",children:c(L)})," ",r("users.maxMembers")]})}),L>0?e.jsxs("span",{children:[c(Math.max(0,L-z))," ",r("users.available")]}):e.jsx("span",{className:"text-muted-foreground/70",children:r("users.noMemberLimit")})]})]}),e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("div",{children:e.jsx("div",{className:"text-sm text-muted-foreground",children:r("users.memberCount",{count:z})})}),e.jsx("div",{children:e.jsx(t.Button,{variant:"ghost",size:"sm",onClick:k,progress:u,children:r("settings.common.refreshAction",{loading:String(u)})})})]}),e.jsx("ul",{className:"space-y-2",children:M.map((s,c)=>{const o=s.id===n?.id,l=("object"==typeof i.createdBy&&null!==i.createdBy?i.createdBy._id:i.createdBy)===s.id;return e.jsxs("li",{className:"border rounded-md p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[e.jsx("div",{className:"w-8 h-8 bg-muted rounded-full flex items-center justify-center text-sm font-medium shrink-0",children:s.name.charAt(0).toUpperCase()}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium text-sm truncate",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:s.email})]})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[o&&e.jsx("span",{className:"text-xs bg-info/15 text-info px-2 py-0.5 rounded",children:r("users.you")}),l&&e.jsx("span",{className:"text-xs bg-primary/10 text-primary px-2 py-0.5 rounded",children:r("users.owner")})]})]}),D&&e.jsxs("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:[e.jsxs("div",{className:"relative flex-1 sm:flex-initial",children:[e.jsxs(Me,{disabled:o||!D||l||f===s.id,value:s.role,onValueChange:e=>{return a=i._id,n=s.id,r=e,void(t.isWorkspaceOwner(i,n)?t.handleError(new Error("Cannot change the role of the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:n,role:r}}):(b(n),v(a,n,{role:r}).then(()=>{k()}).catch(e=>{t.handleError(e,{component:"WorkspaceSettingsUsers",action:"handleUpdateRole",metadata:{workspaceId:a,userId:n,role:r}})}).finally(()=>{b(null)})));var a,n,r},children:[e.jsx(Ue,{children:e.jsx(m.SelectValue,{placeholder:r("users.selectRole")})}),e.jsx(Ie,{children:i?.roles.map(a=>e.jsx(De,{value:a,children:a},a))})]}),f===s.id&&e.jsx("div",{className:"absolute end-8 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(a.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]}),!o&&!l&&I&&e.jsx(t.Button,{variant:"destructive",size:"sm",startIcon:e.jsx(a.TrashIcon,{}),"aria-label":r("settings.common.delete"),onClick:()=>{return e=s.id,void(t.isWorkspaceOwner(i,e)?t.handleError(new Error("Cannot remove the workspace owner"),{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:i._id,userId:e}}):S(i._id,e).then(()=>{k()}).catch(a=>{t.handleError(a,{component:"WorkspaceSettingsUsers",action:"handleRemoveUser",metadata:{workspaceId:i._id,userId:e}})}));var e}})]})]},s.id??c)})}),0===p.length&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:r("users.noMembers")})]})};function Be({onInvite:a,workspaceId:i}){const{t:n}=t.useTranslation(),{addUser:r,getWorkspace:c}=t.useSaaSWorkspaces(),{settings:o}=t.useSaaSSettings(),[l,d]=s.useState(""),[u,x]=s.useState("admin"),[p,g]=s.useState(!1),[f,b]=s.useState(null),[h,S]=s.useState(null),[v,j]=s.useState(null),N=s.useRef(null),A=o?.workspace.roles??v?.roles??[];s.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]),s.useEffect(()=>{i&&c(i).then(j).catch(e=>{t.handleError(e,{component:"InviteMember",action:"getWorkspace"})})},[i]);const y=()=>{b(null),S(null),d(""),x("admin")};return e.jsxs("div",{className:"flex gap-2 flex-col gap-y-2",children:[f&&e.jsx(t.StatusBanner,{variant:"error",message:f}),h&&e.jsx(t.StatusBanner,{variant:"success",message:h}),e.jsxs("div",{children:[e.jsx(t.Label,{children:n("users.inviteByEmail")}),e.jsx(t.Input,{type:"email",value:l,onChange:e=>d(e.target.value),placeholder:n("users.emailPlaceholder")})]}),e.jsxs("div",{children:[e.jsx(t.Label,{children:n("users.role")}),e.jsxs(Me,{value:u,onValueChange:x,children:[e.jsx(Ue,{children:e.jsx(m.SelectValue,{placeholder:n("users.selectRole")})}),e.jsx(Ie,{children:A.map(a=>e.jsx(De,{value:a,children:a},a))})]})]}),e.jsx("div",{children:e.jsx(t.Button,{progress:p,onClick:async()=>{const e=l.trim();if(!e)return void b(n("users.emailRequired"));/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?(g(!0),await r(i,e,u).then(()=>{S(n("users.inviteSuccess")),a?.()}).catch(a=>{t.handleError(a,{component:"InviteMember",action:"addUser",metadata:{workspaceId:i,email:e,role:u}}),b(a instanceof Error?a.message:n("users.inviteFailed"))}).finally(()=>{g(!1),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{y()},6e3)})):b(n("users.invalidEmail"))},disabled:p||!l||!u,children:p?n("users.inviting"):n("users.inviteAs",{role:u})})})]})}const Ge=({workspace:s,section:i,setSection:n})=>{const{t:r}=t.useTranslation(),{settings:c}=t.useSaaSSettings(),{appPermissions:o}=t.usePermissionConfig(),{visible:l}=t.useUIVisibility(),d=c?.workspace?.mode===Se.Personal,u=o&&Object.keys(o).length>0,m=(e,a)=>l(a=>a.settings?.sections?.[e],a),x=m(t.SettingsScreen.Profile),p=m(t.SettingsScreen.Security),g=m(t.SettingsScreen.ConnectedAgents),f=m(t.SettingsScreen.General,t.Permission.WORKSPACE_SETTINGS_VIEW),b=m(t.SettingsScreen.Users,t.Permission.WORKSPACE_MEMBERS_VIEW)&&!d,h=m(t.SettingsScreen.Subscription,t.Permission.WORKSPACE_BILLING_VIEW),S=m(t.SettingsScreen.Usage,t.Permission.WORKSPACE_USAGE_VIEW),v=m(t.SettingsScreen.Credits,t.Permission.WORKSPACE_BILLING_VIEW),j=m(t.SettingsScreen.Features,t.Permission.WORKSPACE_FEATURES_VIEW),N=m(t.SettingsScreen.Notifications),A=m(t.SettingsScreen.Permissions)&&u&&!d,y=m(t.SettingsScreen.Danger,t.Permission.WORKSPACE_DELETE)&&!d,T=x||p||g,C=f||b||h||S||v||j||N||A||y,w=(a,s,r)=>e.jsx(t.SidebarNavItem,{icon:s,label:r,active:i===a,onClick:()=>n(a)});return e.jsxs("div",{className:"w-full sm:w-56 sm:h-full flex flex-col space-y-4 sm:space-y-6 shrink-0",children:[s&&e.jsx("div",{className:"sticky top-0 z-10 bg-muted border-b p-2 py-4 pe-10 sm:pe-2",children:e.jsxs("div",{className:"flex items-center gap-x-2",children:[s.image&&s.image.trim()&&e.jsx("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.jsx("img",{src:s.image,className:"w-full h-full object-contain",style:{width:"36px",height:"36px",maxWidth:"36px",maxHeight:"36px",objectFit:"contain"},alt:s.name})}),e.jsxs("div",{className:t.cn("flex-1 min-w-0",s.image?"":"ps-2"),children:[e.jsx("div",{className:"font-medium text-sm line-clamp-1 text-ellipsis overflow-hidden",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.workspaceId})]})]})}),T&&e.jsxs(t.SidebarNavSection,{title:r("settings.sidebar.account"),children:[x&&w(t.SettingsScreen.Profile,e.jsx(a.UserIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.profile")),p&&w(t.SettingsScreen.Security,e.jsx(a.KeyRound,{className:"h-3.5 w-3.5"}),r("settings.sidebar.security")),g&&w(t.SettingsScreen.ConnectedAgents,e.jsx(a.Bot,{className:"h-3.5 w-3.5"}),r("security.connectedAgentsTitle"))]}),C&&e.jsxs(t.SidebarNavSection,{title:r("settings.sidebar.workspace"),children:[f&&w(t.SettingsScreen.General,e.jsx(a.SettingsIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.general")),b&&w(t.SettingsScreen.Users,e.jsx(a.UsersIcon,{className:"h-3.5 w-3.5"}),r("settings.sidebar.users")),h&&w(t.SettingsScreen.Subscription,e.jsx(a.CreditCard,{className:"h-3.5 w-3.5"}),r("settings.sidebar.subscription")),S&&w(t.SettingsScreen.Usage,e.jsx(a.BarChart3,{className:"h-3.5 w-3.5"}),r("settings.sidebar.usage")),v&&w(t.SettingsScreen.Credits,e.jsx(a.Coins,{className:"h-3.5 w-3.5"}),r("settings.sidebar.credits")),j&&w(t.SettingsScreen.Features,e.jsx(a.ToggleRight,{className:"h-3.5 w-3.5"}),r("settings.sidebar.features")),N&&w(t.SettingsScreen.Notifications,e.jsx(a.Bell,{className:"h-3.5 w-3.5"}),r("settings.sidebar.notifications")),A&&w(t.SettingsScreen.Permissions,e.jsx(a.Shield,{className:"h-3.5 w-3.5"}),r("settings.sidebar.permissions")),y&&w(t.SettingsScreen.Danger,e.jsx(a.AlertTriangle,{className:"h-3.5 w-3.5"}),r("settings.sidebar.danger"))]})]})},Le={[t.SettingsScreen.Profile]:"settings.titles.profile",[t.SettingsScreen.Security]:"settings.titles.security",[t.SettingsScreen.ConnectedAgents]:"security.connectedAgentsTitle",[t.SettingsScreen.General]:"settings.titles.general",[t.SettingsScreen.Users]:"settings.titles.users",[t.SettingsScreen.Subscription]:"settings.titles.subscription",[t.SettingsScreen.Usage]:"settings.titles.usage",[t.SettingsScreen.Credits]:"settings.titles.credits",[t.SettingsScreen.Features]:"settings.titles.features",[t.SettingsScreen.Notifications]:"settings.titles.notifications",[t.SettingsScreen.Permissions]:"settings.titles.permissions",[t.SettingsScreen.Danger]:"settings.titles.danger"},Ke=({ui:a,...i})=>{const n=t.useUIConfig(),r=s.useMemo(()=>t.mergeUIConfig(n,a),[n,a]);return a?e.jsx(t.UIConfigProvider,{ui:r,children:e.jsx(_e,{...i})}):e.jsx(_e,{...i})},_e=({workspace:i,onClose:n,open:r,onOpenChange:c,defaultSection:o=t.SettingsScreen.Profile,section:l,onSectionChange:d,showTrigger:u=!0,trigger:m})=>{const{t:x,dir:p}=t.useTranslation(),{visible:g}=t.useUIVisibility(),[f,b]=s.useState(!1),[h,v]=s.useState(o),j=void 0!==r?r:f,N=c||b,A=void 0!==l?l:h,y=d||v,T=e=>g(a=>a.settings?.sections?.[e]),C=T(A)?A:Object.values(t.SettingsScreen).find(T)??null,k=void 0===l&&o===t.SettingsScreen.Profile,[E,P]=s.useState(k),M=s.useRef(C),U=s.useRef(null),I=s.useRef(null),D=s.useRef(E);s.useEffect(()=>{D.current!==E&&(D.current=E,"undefined"==typeof window||window.innerWidth>=640||(E?I:U).current?.focus())},[E]),s.useEffect(()=>{M.current!==C&&(M.current=C,P(!1))},[C]),s.useEffect(()=>{j&&P(k)},[j]);if(!i||!C)return null;const R=e.jsx(t.Button,{variant:"outline",size:"icon","aria-label":x("settings.common.openSettings"),children:e.jsx(a.Settings,{className:"h-4 w-4"})});return e.jsxs(t.Dialog,{open:j,onOpenChange:e=>{N(e),!e&&n&&n()},children:[u&&e.jsx(t.DialogTrigger,{asChild:!0,children:m||R}),e.jsxs(t.DialogContent,{dir:p,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.jsx(t.DialogDescription,{className:"sr-only",children:x(Le[C])}),e.jsx("div",{ref:I,tabIndex:-1,className:t.cn("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",E?"flex":"hidden"),children:e.jsx(Ge,{workspace:i,section:C,setSection:e=>{y(e),P(!1)}})}),e.jsxs("div",{ref:U,tabIndex:-1,className:t.cn("flex-1 p-4 sm:p-6 overflow-auto flex-col bg-background sm:flex focus:outline-none",E?"hidden":"flex"),children:[e.jsxs("div",{className:"flex items-center gap-1 mb-4 pe-10 sm:pe-0",children:[e.jsx(t.Button,{variant:"ghost",size:"icon",className:"sm:hidden -ms-2 shrink-0 text-muted-foreground","aria-label":x("settings.common.back"),onClick:()=>P(!0),children:e.jsx(a.ArrowLeft,{className:"h-5 w-5 rtl:rotate-180"})}),e.jsx(t.DialogTitle,{className:"text-xl font-semibold min-w-0 truncate",children:x(Le[C])})]}),e.jsxs("div",{className:"sm:max-h-[500px] xl:max-h-[65vh] overflow-y-auto",children:[C===t.SettingsScreen.Profile&&e.jsx(fe,{workspace:i}),C===t.SettingsScreen.Security&&e.jsx(he,{}),C===t.SettingsScreen.ConnectedAgents&&e.jsx(S,{}),C===t.SettingsScreen.General&&e.jsx(V,{workspace:i}),C===t.SettingsScreen.Users&&e.jsx(Re,{workspace:i}),C===t.SettingsScreen.Subscription&&e.jsx(Te,{workspace:i}),C===t.SettingsScreen.Usage&&e.jsx(Ee,{}),C===t.SettingsScreen.Credits&&e.jsx(w,{workspace:i}),C===t.SettingsScreen.Features&&e.jsx(W,{workspaceId:i._id?.toString()}),C===t.SettingsScreen.Notifications&&e.jsx(H,{workspace:i}),C===t.SettingsScreen.Permissions&&e.jsx(J,{workspace:i}),C===t.SettingsScreen.Danger&&e.jsx(_,{workspace:i})]})]})]})]})};var Fe=Object.freeze({__proto__:null,SETTINGS_SCREENS:t.SETTINGS_SCREENS,SettingsScreen:t.SettingsScreen,WorkspaceSettingsDialog:Ke,default:Ke});exports.SettingsDialog=Fe,exports.WorkspaceModes=Se;
|