@buildbase/sdk 0.0.81 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/react/chunks/{SettingsDialog-CUBciXwN.cjs → SettingsDialog-B0s01DfC.cjs} +1 -1
  4. package/dist/react/chunks/{SettingsDialog-BOCot3J_.mjs → SettingsDialog-BDzOpoTW.mjs} +1 -1
  5. package/dist/react/chunks/SubscriptionDialog-ClWD2NgN.mjs +2 -0
  6. package/dist/react/chunks/SubscriptionDialog-CuUoM9hd.cjs +2 -0
  7. package/dist/react/chunks/ar-4O9xrkV6.mjs +2 -0
  8. package/dist/react/chunks/ar-Dcph0Rl-.cjs +2 -0
  9. package/dist/react/chunks/de-D0wYkKfr.cjs +2 -0
  10. package/dist/react/chunks/de-ITC4I4gE.mjs +2 -0
  11. package/dist/react/chunks/es-D4d7IQzB.cjs +2 -0
  12. package/dist/react/chunks/es-DDUCoxrg.mjs +2 -0
  13. package/dist/react/chunks/fr-BomsBzOa.cjs +2 -0
  14. package/dist/react/chunks/fr-BsWwwise.mjs +2 -0
  15. package/dist/react/chunks/hi-BmpRGcI3.cjs +2 -0
  16. package/dist/react/chunks/hi-D5uXZGQc.mjs +2 -0
  17. package/dist/react/chunks/ja-D5amIGZT.cjs +2 -0
  18. package/dist/react/chunks/ja-DkMcdOxv.mjs +2 -0
  19. package/dist/react/chunks/react-Cs1KN_wQ.mjs +2 -0
  20. package/dist/react/chunks/react-DWVzbgNV.cjs +2 -0
  21. package/dist/react/chunks/zh-BRYcvEMm.cjs +2 -0
  22. package/dist/react/chunks/zh-C8cgAVXA.mjs +2 -0
  23. package/dist/react/index.cjs +1 -1
  24. package/dist/react/index.d.ts +2 -0
  25. package/dist/react/index.mjs +1 -1
  26. package/package.json +1 -1
  27. package/dist/react/chunks/SubscriptionDialog-0FsCZJTS.cjs +0 -2
  28. package/dist/react/chunks/SubscriptionDialog-DLAas784.mjs +0 -2
  29. package/dist/react/chunks/ar-CY5Dq0by.cjs +0 -2
  30. package/dist/react/chunks/ar-Dex5Ufml.mjs +0 -2
  31. package/dist/react/chunks/de-3FhmseQO.mjs +0 -2
  32. package/dist/react/chunks/de-DNxAYrVz.cjs +0 -2
  33. package/dist/react/chunks/es-CkPgg0z3.cjs +0 -2
  34. package/dist/react/chunks/es-D24eERya.mjs +0 -2
  35. package/dist/react/chunks/fr-BFy3cJkq.mjs +0 -2
  36. package/dist/react/chunks/fr-CtjhOWPB.cjs +0 -2
  37. package/dist/react/chunks/hi-B_O-ka_f.cjs +0 -2
  38. package/dist/react/chunks/hi-B_enIYaV.mjs +0 -2
  39. package/dist/react/chunks/ja-DvcJc9aC.mjs +0 -2
  40. package/dist/react/chunks/ja-DxP_yPZv.cjs +0 -2
  41. package/dist/react/chunks/react-BE4DCscY.cjs +0 -2
  42. package/dist/react/chunks/react-CDLs_iVH.mjs +0 -2
  43. package/dist/react/chunks/zh-Ca0rUF4N.cjs +0 -2
  44. package/dist/react/chunks/zh-CsEL_Cc6.mjs +0 -2
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ "use strict";exports.zh={settings:{titles:{profile:"账户",security:"安全",devices:"设备与会话",general:"工作区设置",users:"工作区成员",subscription:"套餐与账单",usage:"用量",credits:"积分",features:"工作区功能",notifications:"通知",permissions:"权限",danger:"危险区域"},sidebar:{account:"账户",workspace:"工作区",profile:"账户",security:"安全",devices:"设备",general:"设置",users:"成员",subscription:"套餐与账单",usage:"用量",credits:"积分",features:"功能",notifications:"通知",permissions:"权限",danger:"危险区域"},common:{refresh:"刷新",refreshing:"正在刷新...",retry:"重试",retrying:"正在重试...",save:"保存",saving:"正在保存...",cancel:"取消",delete:"删除",dismiss:"关闭",loading:"正在加载...",success:"操作成功!",error:"错误",refreshAction:"{loading, select, true {正在刷新...} other {刷新}}",retryAction:"{loading, select, true {正在重试...} other {重试}}",noPermissionTitle:"访问受限",noPermissionDescription:"您没有权限访问此部分。如需访问权限,请联系工作区管理员。",billingManageOnly:"只有具有账单管理权限的用户才能执行此操作。",openSettings:"打开设置",back:"返回",close:"关闭"}},subscription:{managePlan:"管理您的套餐和账单",changePlan:"更改套餐",viewPricingPlans:"查看价格方案",viewPlans:"查看套餐",upgradePlan:"立即升级",subscribe:"订阅",startFree:"免费开始",currentPlan:"当前套餐",noSubscription:"您没有有效的订阅",choosePlan:"选择您的套餐",choosePlanDescription:"比较各套餐,选择最适合您需求的方案",forWorkspace:"适用于 {name}",planUpdateAvailable:"套餐更新可用",updateSuccess:"订阅已成功更新!",updateFailed:"更新失败",cancelTitle:"取消订阅",cancelConfirm:"您确定要取消订阅吗?",cancelKeep:"保留订阅",cancelButton:"是的,取消订阅",cancelTrialTitle:"取消试用",cancelTrialConfirm:"您确定要取消试用吗?",cancelTrialAccess:"您的试用将持续到",cancelTrialNoCharge:"不会向您收费 — 试用期将自动到期",cancelTrialResume:"您可以在试用结束前随时恢复试用",cancelTrialKeep:"保留试用",cancelTrialButton:"是的,取消试用",canceling:"正在取消...",cancelSuccess:"订阅将在当前计费周期结束时取消。",cancelNotCharged:"取消后将不再收费",cancelResumeAnytime:"您可以在订阅结束前随时恢复",resumeTitle:"恢复订阅",resumeTrial:"恢复试用",resumeConfirm:"您确定要恢复订阅吗?",resumeKeep:"保持取消状态",resumeButton:"是的,恢复订阅",resuming:"正在恢复...",resumeSuccess:"订阅已恢复。",managePayment:"管理支付方式",openingPortal:"正在打开...",viewAllPlans:"查看所有套餐",scheduledCancellation:"订阅已安排取消",scheduledTrialCancellation:"试用已安排取消",paymentPastDue:"付款逾期",paymentPastDueDescription:"请更新您的支付方式以避免服务中断。",subscriptionPaused:"订阅已暂停",subscriptionPausedDescription:"您的订阅当前已暂停。恢复订阅以获得完整访问权限。",errorLoading:"加载订阅数据时出错",errorLoadingDescription:"请检查您的网络连接并重试。",errorProcessing:"订阅处理失败",errorCanceling:"取消订阅失败",errorResuming:"恢复订阅失败",invalidWorkspace:"无效的工作区 ID",billingInterval:{monthly:"月付",quarterly:"季付",yearly:"年付",perMonth:"/月",perQuarter:"/季",perYear:"/年"},seats:{title:"席位",members:"成员",included:"包含",billable:"计费",perExtraSeat:"每增加一个席位",limit:"上限",includedSeats:"包含席位数",maxSeats:"最大席位数",freeWithBase:"包含在基础价格中",allIncluded:"全部包含",extra:"额外",unlimited:"不限"},items:{unlimited:"无限制",features:"功能",limits:"限制",quotas:"用量配额",credits:"AI 积分",creditsPerMonth:"每月积分",creditsOneTime:"积分(一次性授予)",creditRenewal:"积分续期",creditModeLifetime:"一次性授予",creditsPerPeriod:"每月积分",creditRollover:"积分续期",creditModeReset:"每月重置",creditModeTopup:"每月累加"},checkout:{upgrade:"升级",downgrade:"降级",switchTo:"切换至",select:"选择"},status:{active:"有效",canceling:"取消中",trial:"试用",canceled:"已取消",pastDue:"逾期",paused:"已暂停",deprecated:"已弃用",unknown:"未知"},plan:"套餐",invoicesTab:"账单",tabsLabel:"订阅标签",endsOn:"(结束于 {date})",versionLabel:"版本 {version}",changePlanButton:"更改套餐",noPlanAssigned:"未分配套餐",free:"免费",perSeatDisplay:"+ {price}/席位{interval}",estTotalDisplay:"预估总计:{total}{interval}({count, plural, one {# 个额外席位} other {# 个额外席位}})",nextBillingDisplay:"下次计费日:{date}",membersInWorkspace:"工作区有 {count, plural, one {# 名成员} other {# 名成员}}",billingInCurrency:"以{currency}计费",savingsPercent:"节省 {percent, number}%",switchToInterval:"切换至{interval}",seatPriceDisplay:"+ {price}/席位{interval}({included} {includedLabel})",trialEnded:"您的试用期已结束。",trialEndsIn:"您的试用期将在 {days, plural, one {# 天} other {# 天}}后结束。",onTrial:"您正在试用中。",upgradeToKeepAccess:"升级以保留访问权限。",viewInvoices:"查看账单",cancelTrial:"取消试用",dunningFinal:"最终警告:订阅将被暂停",dunningSuspended:"订阅已暂停",dunningRecovery:"付款恢复中",dunningSuspendedDescription:"由于多次付款失败,您的订阅已被暂停。请更新支付方式以恢复访问权限。",dunningRecoveryDescription:"我们无法处理您的付款。请更新您的支付方式以避免失去访问权限。",cancelEndDescription:"您的订阅将于以下日期结束:",trialEndDescription:"您的试用将于以下日期结束:",cancelEndFallback:"您的订阅将在当前计费周期结束时取消,之后将不再收费。",resumeChargeDate:"将于以下日期再次收费:",resumeChargeFallback:"下一个计费日",resumeContinue:"您的订阅将自动继续,并按照套餐计费",resumeCancelAnytime:"如果您改变主意,可以在下一个计费日之前随时取消",retainAccess:"您将保留此套餐的完整访问权限直到",retainAccessFallback:"当前计费周期结束",noPlansAvailable:"此工作区没有可用的套餐组。如果您认为这是一个错误,请联系客服。",noPlansAvailableHint:"此工作区没有可用的套餐组。",startTrialDescription:"免费试用完整套餐,无需承诺。您可以随时升级或取消。",noSubscriptionDescription:"选择一个套餐来开始使用您的工作区",startFreeTrial:"开始免费试用",startTrialDays:"开始 {days} 天免费试用",trialBadge:"{days} 天试用"},users:{emailPlaceholder:"example@example.com",title:"工作区成员",adminOnly:"只有工作区管理员才能管理用户和角色。",inviteByEmail:"通过电子邮件邀请成员",inviteButton:"邀请",inviting:"正在邀请...",inviteSuccess:"用户邀请成功",emailRequired:"电子邮件为必填项",invalidEmail:"电子邮件地址格式无效",inviteFailed:"邀请成员失败",seatLimitReached:"已达到席位上限",memberLimitReached:"已达到成员上限",role:"角色",you:"您",owner:"拥有者",noMembers:"此工作区未找到成员。",extraSeatCost:"每增加一名成员将增加{price}/{interval, select, yearly {年} quarterly {季} other {月}}的订阅费用",unknownUser:"未知用户",seats:"席位",members:"成员",included:"包含",perExtraSeat:"/额外席位",maxMembers:"最大成员数",available:"可用",noMemberLimit:"无成员限制",seatHeading:"{hasSeatPricing, select, true {席位} other {成员}}",limitReached:"{reason, select, seat_limit_reached {已达到席位上限} other {已达到成员上限}}",memberCount:"{count, plural, one {# 名成员} other {# 名成员}}",subscriptionRequired:"邀请成员需要有效订阅。",seatLimitMessage:"您的套餐最多允许 {maxUsers, number} 名成员。升级以获得更多席位。",settingsLimitMessage:"此工作区最多允许 {maxUsers, number} 名成员。",memberLimitMessage:"已达到成员上限 {maxUsers, number}。",selectRole:"选择角色",inviteAs:"以{role}身份邀请",invitations:{title:"待处理的邀请",pendingCount:"{count, plural, other {# 个待处理}}",sent:"已向 {email} 发送邀请",resend:"重新发送",resendIn:"{minutes, plural, other {# 分钟}}后可重新发送",revoke:"撤回",revokeTitle:"撤回邀请?",revokeConfirm:"撤回发给 {email} 的邀请?对方将收到邀请已失效的通知。",sentAt:"发送于 {date}",expiresAt:"到期于 {date}",seatNote:"{count, plural, other {# 个待处理邀请}}在被接受、拒绝、撤回或过期之前,将按席位计费。",formerMember:"前成员",loadFailed:"无法加载邀请",resendFailed:"无法重新发送邀请",revokeFailed:"无法撤回邀请",status:{invited:"待处理",accepted:"已接受",rejected:"已拒绝",expired:"已过期"}}},invitations:{title:"您收到了邀请",description:"{inviter} 邀请您以 {role} 身份加入 {workspace}。",listDescription:"等待您回复的工作区。",titleJoined:"欢迎加入 {workspace}",titleUnavailable:"邀请已不可用",sentTo:"发送至 {email}",invitedAs:"{inviter} 邀请您担任 {role}",accept:"接受",decline:"拒绝",accepted:"您已加入 {workspace}。",declined:"已拒绝邀请。",expired:"此邀请已过期。请让 {inviter} 重新发送。",revoked:"此邀请已失效。",alreadyAccepted:"您已接受此邀请。",wrongAccount:"此邀请发送至 {email}。请退出登录并使用该地址登录。",verifyFirst:"请先验证您的电子邮件地址,然后再接受此邀请。",workspaceFull:"此工作区已达到成员上限。请联系管理员腾出名额。",disabled:"此工作区不再接受邀请。",empty:"没有等待您处理的邀请",signInToAccept:"登录以接受",dismiss:"关闭",signOut:"退出登录",loadFailed:"无法加载邀请",acceptFailed:"无法接受邀请",declineFailed:"无法拒绝邀请"},invoices:{title:"账单历史",description:"查看和下载您的账单",pay:"支付",view:"查看",viewDetails:"查看详情",download:"PDF",errorLoading:"加载账单时出错",noInvoices:"暂无账单。订阅套餐后将生成账单。",noInvoicesWithSub:"未找到可下载的账单",paidAmount:"已支付:{amount}",na:"不适用",status:{draft:"草稿",open:"待支付",paid:"已支付",uncollectible:"无法收回",void:"已作废"}},usage:{title:"用量",description:"监控您的资源消耗和配额",totalResources:"总资源",overallUsage:"总体用量",inOverage:"超额中",estOverageCost:"预估超额费用",overageDetected:"检测到超额",overageDescription:"额外用量将作为超额部分在下次账单中收取。",overageUnits:"超额单位",rate:"费率",billableBlocks:"计费块",estimatedCharge:"预估费用",noData:"此工作区没有可用的配额使用数据。",noDataHint:"当您的套餐包含计量资源时,配额将在此处显示。",used:"已使用",remaining:"剩余",overLimit:"超出上限",percentUsed:"已使用 {percent, number}%",availableRemaining:"剩余 {count}",overLimitCount:"{count} 超出上限",overageWarning:"{count, plural, one {# 项资源已超出包含的配额。} other {# 项资源已超出包含的配额。}}额外用量将作为超额部分在下次账单中收取。",fullyUsed:"已全部使用",renewingSoon:"即将续期",almostFull:"即将用完",overage:"超额",errorLoading:"加载用量数据失败",perUnit:"/ 单位",perUnits:"/ 单位",rateDisplay:"{rate} {unitSize, plural, =1 {/ 单位} other {/ {unitSize, number} 单位}}",resourcesExceeded:"{count, plural, one {# 项资源已超出包含的配额。} other {# 项资源已超出包含的配额。}}",estOverageCharges:"本期预估超额费用:{amount}",overageRateDisplay:"超额费率:{rate}",resetDateDisplay:"用量将于 {date} 重置",daysRemainingDisplay:"{count, plural, one {剩余 # 天} other {剩余 # 天}}"},profile:{email:"电子邮件",name:"姓名",language:"语言",country:"国家/地区",currency:"货币",timezone:"时区",profileImage:"头像",success:"个人资料保存成功",nameMinLength:"姓名至少需要2个字符。",save:"保存",reset:"重置"},general:{ownerOnly:"只有工作区拥有者才能更改设置。",name:"名称",namePlaceholder:"我的工作区",nameMinLength:"工作区名称至少需要2个字符。",billingCurrency:"计费货币",icon:"图标",iconDescription:"选择一个表情符号或为您的工作区上传自定义图片。",imageUrl:"图片 URL",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"输入工作区图片的有效 URL。支持 PNG、JPG 和 SVG 格式。",previewLabel:"预览:",previewImageAlt:"工作区预览",success:"工作区设置保存成功",chooseEmoji:"选择表情",customImageUrl:"自定义图片 URL",updateWorkspace:"更新工作区"},features:{title:"工作区功能",ownerOnly:"只有工作区拥有者才能更改功能。",noFeatures:"工作区没有可管理的功能。",enabled:"已启用",disabled:"已禁用",enabling:"正在启用",disabling:"正在禁用",featureSuccess:"成功",updateSuccess:"{feature}已成功{enabled, select, true {启用} other {禁用}}",actionStatus:"{action, select, enabling {正在启用} disabling {正在禁用} other {}}",fallbackName:"功能"},danger:{title:"删除工作区",adminOnly:"只有管理员才能删除工作区。",deleteWorkspace:"删除工作区",deleteConfirm:"您确定吗?",deleteWarning:"此操作不可撤销。这将永久删除工作区及所有相关数据。",deleting:"正在删除...",deleteDescription:"一旦删除工作区,将无法恢复。这将永久删除工作区及其所有数据,包括成员、设置和功能。",deleteConfirmDescription:"此操作不可撤销。这将永久删除工作区及所有相关数据。",failedToDelete:"删除工作区失败"},notifications:{inbox:{title:"通知",description:"此应用发送给你的所有内容。",bellLabel:"通知",bellUnread:"{count, plural, other {# 条未读通知}}",filterAll:"全部",filterUnread:"未读",markAllRead:"全部标为已读",markRead:"标为已读",markUnread:"标为未读",archive:"归档",loadMore:"加载更多",empty:"你已查看全部内容。",emptyUnread:"没有未读通知。",loadFailed:"无法加载通知",updateFailed:"无法更新通知",channelEmail:"邮件",channelPush:"推送",opened:"已打开",clicked:"已点击",notDelivered:"未送达"},title:"通知偏好设置",permissionDenied:"通知权限被拒绝",notSupported:"此浏览器不支持推送通知。",manageDescription:"管理您从此工作区接收通知的方式。",blocked:"通知已被阻止",blockedDescription:"您之前阻止了此网站的通知。要启用通知,请更新浏览器设置:",pushTitle:"推送通知",pushEnabledDescription:"您将收到重要更新的浏览器通知。",pushDisabledDescription:"接收有关付款问题、试用到期和其他重要更新的通知。",enabling:"正在启用...",disabling:"正在禁用...",enable:"启用",disable:"禁用",toggleAction:"{loading, select, true {{subscribed, select, true {正在禁用...} other {正在启用...}}} other {{subscribed, select, true {禁用} other {启用}}}}",pushDescription:"{subscribed, select, true {您将收到重要更新的浏览器通知。} other {接收有关付款问题、试用到期和其他重要更新的通知。}}",deviceNote:"通知将发送到此设备。请在其他设备上单独启用。",prefsSaved:"通知偏好设置已保存。",prefsSaveFailed:"无法保存你的通知设置",yourTitle:"你的通知",yourDescription:"选择如何接收此工作区中每个事件的通知。所有内容仍会出现在你的收件箱中。",defaultsTitle:"工作区默认设置",defaultsDescription:"成员未另行选择时使用的设置。必需的事件成员无法更改。",requiredLabel:"必需",requiredHint:"此工作区要求",loadingPrefs:"正在加载偏好设置...",categories:{workspace:"工作区",billing:"账单与付款"},events:{workspace_invite:"成员受邀",workspace_invite_desc:"当新成员被添加到工作区时",workspace_removed:"成员被移除",workspace_removed_desc:"当成员被从工作区移除时",workspace_role_changed:"角色变更",workspace_role_changed_desc:"当成员的角色被更新时",subscription_created:"订阅已创建",subscription_created_desc:"当新订阅被激活时",subscription_upgraded:"套餐已升级",subscription_upgraded_desc:"当订阅套餐升级时",subscription_canceled:"订阅已取消",subscription_canceled_desc:"当订阅被取消时",subscription_suspended:"访问已暂停",subscription_suspended_desc:"当因付款失败而暂停访问时",trial_ending:"试用即将结束",trial_ending_desc:"试用期到期前几天",trial_expired:"试用已过期",trial_expired_desc:"当试用期结束时",payment_failed:"付款失败",payment_failed_desc:"当付款无法处理时",payment_action_required:"需要付款操作",payment_action_required_desc:"当付款需要额外验证时",payment_succeeded:"已收到付款",payment_succeeded_desc:"当付款成功处理时"},unblock:{firefox:{step1:"点击地址栏中的锁形图标(或盾形图标)",step2:'在权限列表中找到"通知"',step3:'将"阻止"更改为"允许"',step4:"重新加载此页面"},safari:{step1:"打开 Safari → 设置 → 网站 → 通知",step2:"在列表中找到此网站",step3:'将"拒绝"更改为"允许"',step4:"重新加载此页面"},edge:{step1:"点击地址栏中的锁形图标",step2:'点击"此站点的权限"',step3:'将"通知"设置为"允许"',step4:"重新加载此页面"},chrome:{step1:"点击地址栏中的锁形图标(或调节图标)",step2:'点击"网站设置"',step3:'将"通知"设置为"允许"',step4:"重新加载此页面"}}},quota:{includedOnly:"包含 {count, number} 个",includedWithOverage:"包含 {count, number} 个,之后 {price} / {unit}",includedHardLimit:"包含 {count, number} 个(硬性限制)",unitFallback:"单位"},pricing:{title:"选择您的套餐",description:"比较各套餐,选择最适合您需求的方案",currency:"货币",billingIn:"计费货币",noPlansCurrency:"没有适用于您的计费货币的套餐。",noPlansCurrencyHint:"出现错误,请联系客服。",noPlans:"没有可用的套餐",free:"免费",included:"包含",save:"节省",current:"当前",processing:"正在处理...",unavailable:"不可用",selectCurrency:"选择计费货币",billingInterval:"计费周期"},beta:{logoAlt:"标志",nameLabel:"姓名",emailLabel:"电子邮件",submitText:"提交",submittingText:"正在提交...",errorMessage:"发生错误",tryAgain:"重试",privacyConsent:"提交此表单即表示您同意我们的",privacyPolicy:"隐私政策",and:"和",termsOfService:"服务条款"},workspace:{switchTitle:"切换工作区",switchDescription:"选择一个工作区或创建新的工作区。",notLoggedIn:"您似乎尚未登录。请登录后继续。",availableWorkspaces:"可用工作区 ({count, number})",loadingWorkspaces:"正在加载工作区...",searchPlaceholder:"搜索工作区...",noWorkspacesFound:"未找到工作区",noWorkspacesAvailable:"没有可用的工作区",switchTo:"切换至",membersCount:"{count, plural, one {# 名成员} other {# 名成员}}",createNew:"创建新工作区",createTitle:"创建新工作区",createDescription:"创建一个新的工作区来开始使用。",workspaceName:"工作区名称",workspaceNamePlaceholder:"我的工作区",workspaceNameMinLength:"工作区名称至少需要2个字符。",workspaceIcon:"工作区图标",iconDescription:"选择一个表情符号或为您的工作区上传自定义图片。",chooseEmoji:"选择表情",customImageUrl:"自定义图片 URL",imageUrl:"图片 URL",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"输入工作区图片的有效 URL。支持 PNG、JPG 和 SVG 格式。",invalidUrl:"请输入有效的 URL",creating:"正在创建...",createWorkspace:"创建工作区"},dropdowns:{search:"搜索...",chooseOption:"选择选项",chooseCountry:"选择国家/地区",searchCountry:"选择国家/地区...",chooseLanguage:"选择语言",searchLanguage:"选择语言...",chooseCurrency:"选择货币",searchCurrency:"选择货币...",chooseTimezone:"选择时区",searchTimezone:"选择时区...",noResults:"未找到结果"},push:{failedToSubscribe:"订阅推送通知失败",failedToUnsubscribe:"取消订阅推送通知失败"},permissions:{title:"权限",description:"配置每个角色在此工作区中的操作权限。",ownerOnly:"只有工作区拥有者才能管理权限。",save:"保存权限",saving:"正在保存...",saveSuccess:"权限保存成功"},credits:{title:"积分",description:"积分可用于 AI 生成等高级操作。",balance:"积分余额",available:"可用",totalGranted:"总授予",totalConsumed:"总消耗",totalExpired:"总过期",noCredits:"暂无积分",noCreditsHint:"当您的套餐授予或购买积分时,积分将显示在此处。",buyCredits:"购买积分",buyAmount:"购买 {count} 积分",purchasing:"正在跳转...",packages:"积分套餐包",noPackages:"没有可用的积分套餐包。",creditsAmount:"{count} 积分",validityDays:"有效期 {count} 天",validityUnlimited:"永不过期",transactions:"最近交易",noTransactions:"暂无交易记录。",loadMore:"加载更多",viewAll:"查看全部",expiringSoon:"即将过期",expiringInDays:"{count} 积分将在 {days} 天内过期",noExpiring:"没有即将过期的积分。",type:{plan_grant:"套餐授予",pack_purchased:"已购买",consumed:"已消耗",expired:"已过期",admin_grant:"已授予",admin_revoke:"已撤销",refund:"退款"},dialogTitle:"购买积分套餐包",dialogDescription:"选择要购买的积分套餐包。",dialogDescriptionWorkspace:"为 {workspace} 购买积分。",perCredit:"每积分 {price}",purchaseSuccess:"积分购买成功!您的余额已更新。",purchaseCanceled:"积分购买已取消,未产生任何费用。",purchaseFailed:"积分购买失败。请重试或联系客服。",errorLoading:"加载积分数据失败",insufficientCredits:"积分不足",insufficientDetail:"积分不足。可用:{available},请求:{requested}"},loading:{restoringSession:"正在恢复会话...",redirecting:"正在跳转...",signingIn:"正在登录...",verifyingAccount:"正在验证您的账户...",almostThere:"即将完成..."},errors:{networkError:"网络错误:请检查您的网络连接",unauthorized:"未授权 — 请检查您的会话",notFound:"资源未找到",generic:"发生错误",fetchPlans:"获取套餐失败",fetchPlanGroup:"获取套餐组失败",fetchPlanGroupVersion:"获取套餐组版本失败",fetchPlanGroupVersions:"获取套餐组版本列表失败",fetchSubscription:"获取订阅信息失败",createCheckout:"创建结账会话失败",updateSubscription:"更新订阅失败",fetchInvoices:"获取账单失败",fetchInvoice:"获取账单失败",openBillingPortal:"打开账单门户失败",cancelSubscription:"取消订阅失败",resumeSubscription:"恢复订阅失败",recordUsage:"记录用量失败",fetchQuotaUsage:"获取配额使用状态失败",fetchAllQuotaUsage:"获取所有配额使用情况失败",fetchUsageLogs:"获取使用日志失败",fetchCreditBalance:"获取积分余额失败",consumeCredits:"消耗积分失败",purchaseCredits:"购买积分失败",fetchCreditPackages:"获取积分套餐包失败",fetchCreditTransactions:"获取积分交易记录失败",fetchExpiringCredits:"获取即将过期的积分失败",fetchWorkspaces:"获取工作区失败"},security:{connectedAgentsTitle:"已连接的代理",connectedAgentsDescription:"你已授权访问账户的 AI 代理。断开你不再使用的代理,访问权限会立即撤销。",connectedAgentsDisconnect:"断开连接",connectedAgentsEmpty:"没有已连接的代理。",connectedAgentsAccess:"访问权限",connectedAgentsGranted:"授权时间",connectedAgentsLoadFailed:"加载已连接的代理失败",connectedAgentsRevokeFailed:"断开连接失败",mcpConnectAction:"连接代理",mcpGuideTitle:"连接 AI 代理",mcpGuideDescription:"让 AI 助手安全地在你的账户中操作。在下面选择你的应用并按步骤操作,只需一分钟。",mcpServerUrlLabel:"服务器地址",mcpServerUrlHint:"有些应用只需你粘贴这个地址。",mcpPromptLabel:"或将此粘贴到你的 AI",mcpPromptHint:"适用于可以添加工具的聊天助手——把它粘贴到聊天中并发送。",mcpPromptTemplate:"请使用 {{url}} 上的 MCP 服务器连接到我的 {{name}} 账户,然后使用它的工具来帮助我。",mcpClientsLabel:"热门应用的分步指南",mcpAddToConfigFile:"打开文件 {path} 并添加以下内容:",mcpClientChatgptInstructions:"在 ChatGPT 中,进入“设置 → 连接器”,选择“添加自定义连接器”,然后粘贴上面的服务器地址。",mcpClientClaudeInstructions:"在 Claude 中,进入“设置 → 连接器”,选择“添加自定义连接器”,然后粘贴上面的服务器地址。",mcpClientClineInstructions:"在 Cline 中,打开 MCP 服务器面板,选择“添加远程服务器”,然后粘贴上面的服务器地址。",mcpCopy:"复制",mcpCopied:"已复制",mcpLearnMore:"了解更多",inactive:"已失效",inactiveHint:"注册于之前的登录域名,已无法使用。您可以将其移除。",passkeysTitle:"通行密钥",passkeysDescription:"通行密钥支持使用指纹、面容或设备 PIN 登录。",noPasskeys:"未注册通行密钥",addHint:'要添加通行密钥,请在需要使用的设备上下次登录时选择"添加通行密钥"。',rename:"重命名",remove:"移除",removeTitle:"移除通行密钥",removeDescription:"您将无法再使用此通行密钥登录。",renamePlaceholder:"通行密钥名称",lastUsed:"上次使用",added:"添加时间",devicesTitle:"您的设备",devicesDescription:"您用于登录的手机和电脑。请退出或移除任何您不认识的设备。",devicesEmpty:"您还没有从任何设备登录过。",devicesLoadFailed:"无法加载您的设备。请重试。",deviceCurrent:"当前设备",deviceTrusted:"受信任",deviceActiveSessions:"{count, plural, other {# 个活跃会话}}",devicePushEnabled:"通知已开启",deviceLastActive:"上次使用:{date}",deviceRename:"重命名",deviceRenamePlaceholder:"设备名称",deviceRenameFailed:"无法重命名该设备。请重试。",deviceSave:"保存",deviceCancel:"取消",deviceSignOut:"退出登录",deviceSignOutFailed:"无法退出该设备的登录。请重试。",deviceForget:"移除",deviceForgetFailed:"无法移除该设备。请重试。",deviceForgetConfirmTitle:"移除此设备?",deviceForgetConfirmBody:"这会使该设备退出登录并将其从您的列表中移除。如果您再次从该设备登录,它将重新显示在此处。",sessionsTitle:"您的登录位置",sessionsDescription:"您目前在这些设备上处于登录状态。请退出任何您不认识的设备。",sessionsEmpty:"您没有在其他任何地方登录。",sessionsLoadFailed:"无法加载您的会话。请重试。",sessionCurrent:"此会话",sessionExpires:"退出时间:{date}",sessionLastActive:"上次使用:{date}",sessionSignOut:"退出登录",sessionSignOutFailed:"无法退出该会话。请重试。"}};
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ const e={settings:{titles:{profile:"账户",security:"安全",devices:"设备与会话",general:"工作区设置",users:"工作区成员",subscription:"套餐与账单",usage:"用量",credits:"积分",features:"工作区功能",notifications:"通知",permissions:"权限",danger:"危险区域"},sidebar:{account:"账户",workspace:"工作区",profile:"账户",security:"安全",devices:"设备",general:"设置",users:"成员",subscription:"套餐与账单",usage:"用量",credits:"积分",features:"功能",notifications:"通知",permissions:"权限",danger:"危险区域"},common:{refresh:"刷新",refreshing:"正在刷新...",retry:"重试",retrying:"正在重试...",save:"保存",saving:"正在保存...",cancel:"取消",delete:"删除",dismiss:"关闭",loading:"正在加载...",success:"操作成功!",error:"错误",refreshAction:"{loading, select, true {正在刷新...} other {刷新}}",retryAction:"{loading, select, true {正在重试...} other {重试}}",noPermissionTitle:"访问受限",noPermissionDescription:"您没有权限访问此部分。如需访问权限,请联系工作区管理员。",billingManageOnly:"只有具有账单管理权限的用户才能执行此操作。",openSettings:"打开设置",back:"返回",close:"关闭"}},subscription:{managePlan:"管理您的套餐和账单",changePlan:"更改套餐",viewPricingPlans:"查看价格方案",viewPlans:"查看套餐",upgradePlan:"立即升级",subscribe:"订阅",startFree:"免费开始",currentPlan:"当前套餐",noSubscription:"您没有有效的订阅",choosePlan:"选择您的套餐",choosePlanDescription:"比较各套餐,选择最适合您需求的方案",forWorkspace:"适用于 {name}",planUpdateAvailable:"套餐更新可用",updateSuccess:"订阅已成功更新!",updateFailed:"更新失败",cancelTitle:"取消订阅",cancelConfirm:"您确定要取消订阅吗?",cancelKeep:"保留订阅",cancelButton:"是的,取消订阅",cancelTrialTitle:"取消试用",cancelTrialConfirm:"您确定要取消试用吗?",cancelTrialAccess:"您的试用将持续到",cancelTrialNoCharge:"不会向您收费 — 试用期将自动到期",cancelTrialResume:"您可以在试用结束前随时恢复试用",cancelTrialKeep:"保留试用",cancelTrialButton:"是的,取消试用",canceling:"正在取消...",cancelSuccess:"订阅将在当前计费周期结束时取消。",cancelNotCharged:"取消后将不再收费",cancelResumeAnytime:"您可以在订阅结束前随时恢复",resumeTitle:"恢复订阅",resumeTrial:"恢复试用",resumeConfirm:"您确定要恢复订阅吗?",resumeKeep:"保持取消状态",resumeButton:"是的,恢复订阅",resuming:"正在恢复...",resumeSuccess:"订阅已恢复。",managePayment:"管理支付方式",openingPortal:"正在打开...",viewAllPlans:"查看所有套餐",scheduledCancellation:"订阅已安排取消",scheduledTrialCancellation:"试用已安排取消",paymentPastDue:"付款逾期",paymentPastDueDescription:"请更新您的支付方式以避免服务中断。",subscriptionPaused:"订阅已暂停",subscriptionPausedDescription:"您的订阅当前已暂停。恢复订阅以获得完整访问权限。",errorLoading:"加载订阅数据时出错",errorLoadingDescription:"请检查您的网络连接并重试。",errorProcessing:"订阅处理失败",errorCanceling:"取消订阅失败",errorResuming:"恢复订阅失败",invalidWorkspace:"无效的工作区 ID",billingInterval:{monthly:"月付",quarterly:"季付",yearly:"年付",perMonth:"/月",perQuarter:"/季",perYear:"/年"},seats:{title:"席位",members:"成员",included:"包含",billable:"计费",perExtraSeat:"每增加一个席位",limit:"上限",includedSeats:"包含席位数",maxSeats:"最大席位数",freeWithBase:"包含在基础价格中",allIncluded:"全部包含",extra:"额外",unlimited:"不限"},items:{unlimited:"无限制",features:"功能",limits:"限制",quotas:"用量配额",credits:"AI 积分",creditsPerMonth:"每月积分",creditsOneTime:"积分(一次性授予)",creditRenewal:"积分续期",creditModeLifetime:"一次性授予",creditsPerPeriod:"每月积分",creditRollover:"积分续期",creditModeReset:"每月重置",creditModeTopup:"每月累加"},checkout:{upgrade:"升级",downgrade:"降级",switchTo:"切换至",select:"选择"},status:{active:"有效",canceling:"取消中",trial:"试用",canceled:"已取消",pastDue:"逾期",paused:"已暂停",deprecated:"已弃用",unknown:"未知"},plan:"套餐",invoicesTab:"账单",tabsLabel:"订阅标签",endsOn:"(结束于 {date})",versionLabel:"版本 {version}",changePlanButton:"更改套餐",noPlanAssigned:"未分配套餐",free:"免费",perSeatDisplay:"+ {price}/席位{interval}",estTotalDisplay:"预估总计:{total}{interval}({count, plural, one {# 个额外席位} other {# 个额外席位}})",nextBillingDisplay:"下次计费日:{date}",membersInWorkspace:"工作区有 {count, plural, one {# 名成员} other {# 名成员}}",billingInCurrency:"以{currency}计费",savingsPercent:"节省 {percent, number}%",switchToInterval:"切换至{interval}",seatPriceDisplay:"+ {price}/席位{interval}({included} {includedLabel})",trialEnded:"您的试用期已结束。",trialEndsIn:"您的试用期将在 {days, plural, one {# 天} other {# 天}}后结束。",onTrial:"您正在试用中。",upgradeToKeepAccess:"升级以保留访问权限。",viewInvoices:"查看账单",cancelTrial:"取消试用",dunningFinal:"最终警告:订阅将被暂停",dunningSuspended:"订阅已暂停",dunningRecovery:"付款恢复中",dunningSuspendedDescription:"由于多次付款失败,您的订阅已被暂停。请更新支付方式以恢复访问权限。",dunningRecoveryDescription:"我们无法处理您的付款。请更新您的支付方式以避免失去访问权限。",cancelEndDescription:"您的订阅将于以下日期结束:",trialEndDescription:"您的试用将于以下日期结束:",cancelEndFallback:"您的订阅将在当前计费周期结束时取消,之后将不再收费。",resumeChargeDate:"将于以下日期再次收费:",resumeChargeFallback:"下一个计费日",resumeContinue:"您的订阅将自动继续,并按照套餐计费",resumeCancelAnytime:"如果您改变主意,可以在下一个计费日之前随时取消",retainAccess:"您将保留此套餐的完整访问权限直到",retainAccessFallback:"当前计费周期结束",noPlansAvailable:"此工作区没有可用的套餐组。如果您认为这是一个错误,请联系客服。",noPlansAvailableHint:"此工作区没有可用的套餐组。",startTrialDescription:"免费试用完整套餐,无需承诺。您可以随时升级或取消。",noSubscriptionDescription:"选择一个套餐来开始使用您的工作区",startFreeTrial:"开始免费试用",startTrialDays:"开始 {days} 天免费试用",trialBadge:"{days} 天试用"},users:{emailPlaceholder:"example@example.com",title:"工作区成员",adminOnly:"只有工作区管理员才能管理用户和角色。",inviteByEmail:"通过电子邮件邀请成员",inviteButton:"邀请",inviting:"正在邀请...",inviteSuccess:"用户邀请成功",emailRequired:"电子邮件为必填项",invalidEmail:"电子邮件地址格式无效",inviteFailed:"邀请成员失败",seatLimitReached:"已达到席位上限",memberLimitReached:"已达到成员上限",role:"角色",you:"您",owner:"拥有者",noMembers:"此工作区未找到成员。",extraSeatCost:"每增加一名成员将增加{price}/{interval, select, yearly {年} quarterly {季} other {月}}的订阅费用",unknownUser:"未知用户",seats:"席位",members:"成员",included:"包含",perExtraSeat:"/额外席位",maxMembers:"最大成员数",available:"可用",noMemberLimit:"无成员限制",seatHeading:"{hasSeatPricing, select, true {席位} other {成员}}",limitReached:"{reason, select, seat_limit_reached {已达到席位上限} other {已达到成员上限}}",memberCount:"{count, plural, one {# 名成员} other {# 名成员}}",subscriptionRequired:"邀请成员需要有效订阅。",seatLimitMessage:"您的套餐最多允许 {maxUsers, number} 名成员。升级以获得更多席位。",settingsLimitMessage:"此工作区最多允许 {maxUsers, number} 名成员。",memberLimitMessage:"已达到成员上限 {maxUsers, number}。",selectRole:"选择角色",inviteAs:"以{role}身份邀请",invitations:{title:"待处理的邀请",pendingCount:"{count, plural, other {# 个待处理}}",sent:"已向 {email} 发送邀请",resend:"重新发送",resendIn:"{minutes, plural, other {# 分钟}}后可重新发送",revoke:"撤回",revokeTitle:"撤回邀请?",revokeConfirm:"撤回发给 {email} 的邀请?对方将收到邀请已失效的通知。",sentAt:"发送于 {date}",expiresAt:"到期于 {date}",seatNote:"{count, plural, other {# 个待处理邀请}}在被接受、拒绝、撤回或过期之前,将按席位计费。",formerMember:"前成员",loadFailed:"无法加载邀请",resendFailed:"无法重新发送邀请",revokeFailed:"无法撤回邀请",status:{invited:"待处理",accepted:"已接受",rejected:"已拒绝",expired:"已过期"}}},invitations:{title:"您收到了邀请",description:"{inviter} 邀请您以 {role} 身份加入 {workspace}。",listDescription:"等待您回复的工作区。",titleJoined:"欢迎加入 {workspace}",titleUnavailable:"邀请已不可用",sentTo:"发送至 {email}",invitedAs:"{inviter} 邀请您担任 {role}",accept:"接受",decline:"拒绝",accepted:"您已加入 {workspace}。",declined:"已拒绝邀请。",expired:"此邀请已过期。请让 {inviter} 重新发送。",revoked:"此邀请已失效。",alreadyAccepted:"您已接受此邀请。",wrongAccount:"此邀请发送至 {email}。请退出登录并使用该地址登录。",verifyFirst:"请先验证您的电子邮件地址,然后再接受此邀请。",workspaceFull:"此工作区已达到成员上限。请联系管理员腾出名额。",disabled:"此工作区不再接受邀请。",empty:"没有等待您处理的邀请",signInToAccept:"登录以接受",dismiss:"关闭",signOut:"退出登录",loadFailed:"无法加载邀请",acceptFailed:"无法接受邀请",declineFailed:"无法拒绝邀请"},invoices:{title:"账单历史",description:"查看和下载您的账单",pay:"支付",view:"查看",viewDetails:"查看详情",download:"PDF",errorLoading:"加载账单时出错",noInvoices:"暂无账单。订阅套餐后将生成账单。",noInvoicesWithSub:"未找到可下载的账单",paidAmount:"已支付:{amount}",na:"不适用",status:{draft:"草稿",open:"待支付",paid:"已支付",uncollectible:"无法收回",void:"已作废"}},usage:{title:"用量",description:"监控您的资源消耗和配额",totalResources:"总资源",overallUsage:"总体用量",inOverage:"超额中",estOverageCost:"预估超额费用",overageDetected:"检测到超额",overageDescription:"额外用量将作为超额部分在下次账单中收取。",overageUnits:"超额单位",rate:"费率",billableBlocks:"计费块",estimatedCharge:"预估费用",noData:"此工作区没有可用的配额使用数据。",noDataHint:"当您的套餐包含计量资源时,配额将在此处显示。",used:"已使用",remaining:"剩余",overLimit:"超出上限",percentUsed:"已使用 {percent, number}%",availableRemaining:"剩余 {count}",overLimitCount:"{count} 超出上限",overageWarning:"{count, plural, one {# 项资源已超出包含的配额。} other {# 项资源已超出包含的配额。}}额外用量将作为超额部分在下次账单中收取。",fullyUsed:"已全部使用",renewingSoon:"即将续期",almostFull:"即将用完",overage:"超额",errorLoading:"加载用量数据失败",perUnit:"/ 单位",perUnits:"/ 单位",rateDisplay:"{rate} {unitSize, plural, =1 {/ 单位} other {/ {unitSize, number} 单位}}",resourcesExceeded:"{count, plural, one {# 项资源已超出包含的配额。} other {# 项资源已超出包含的配额。}}",estOverageCharges:"本期预估超额费用:{amount}",overageRateDisplay:"超额费率:{rate}",resetDateDisplay:"用量将于 {date} 重置",daysRemainingDisplay:"{count, plural, one {剩余 # 天} other {剩余 # 天}}"},profile:{email:"电子邮件",name:"姓名",language:"语言",country:"国家/地区",currency:"货币",timezone:"时区",profileImage:"头像",success:"个人资料保存成功",nameMinLength:"姓名至少需要2个字符。",save:"保存",reset:"重置"},general:{ownerOnly:"只有工作区拥有者才能更改设置。",name:"名称",namePlaceholder:"我的工作区",nameMinLength:"工作区名称至少需要2个字符。",billingCurrency:"计费货币",icon:"图标",iconDescription:"选择一个表情符号或为您的工作区上传自定义图片。",imageUrl:"图片 URL",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"输入工作区图片的有效 URL。支持 PNG、JPG 和 SVG 格式。",previewLabel:"预览:",previewImageAlt:"工作区预览",success:"工作区设置保存成功",chooseEmoji:"选择表情",customImageUrl:"自定义图片 URL",updateWorkspace:"更新工作区"},features:{title:"工作区功能",ownerOnly:"只有工作区拥有者才能更改功能。",noFeatures:"工作区没有可管理的功能。",enabled:"已启用",disabled:"已禁用",enabling:"正在启用",disabling:"正在禁用",featureSuccess:"成功",updateSuccess:"{feature}已成功{enabled, select, true {启用} other {禁用}}",actionStatus:"{action, select, enabling {正在启用} disabling {正在禁用} other {}}",fallbackName:"功能"},danger:{title:"删除工作区",adminOnly:"只有管理员才能删除工作区。",deleteWorkspace:"删除工作区",deleteConfirm:"您确定吗?",deleteWarning:"此操作不可撤销。这将永久删除工作区及所有相关数据。",deleting:"正在删除...",deleteDescription:"一旦删除工作区,将无法恢复。这将永久删除工作区及其所有数据,包括成员、设置和功能。",deleteConfirmDescription:"此操作不可撤销。这将永久删除工作区及所有相关数据。",failedToDelete:"删除工作区失败"},notifications:{inbox:{title:"通知",description:"此应用发送给你的所有内容。",bellLabel:"通知",bellUnread:"{count, plural, other {# 条未读通知}}",filterAll:"全部",filterUnread:"未读",markAllRead:"全部标为已读",markRead:"标为已读",markUnread:"标为未读",archive:"归档",loadMore:"加载更多",empty:"你已查看全部内容。",emptyUnread:"没有未读通知。",loadFailed:"无法加载通知",updateFailed:"无法更新通知",channelEmail:"邮件",channelPush:"推送",opened:"已打开",clicked:"已点击",notDelivered:"未送达"},title:"通知偏好设置",permissionDenied:"通知权限被拒绝",notSupported:"此浏览器不支持推送通知。",manageDescription:"管理您从此工作区接收通知的方式。",blocked:"通知已被阻止",blockedDescription:"您之前阻止了此网站的通知。要启用通知,请更新浏览器设置:",pushTitle:"推送通知",pushEnabledDescription:"您将收到重要更新的浏览器通知。",pushDisabledDescription:"接收有关付款问题、试用到期和其他重要更新的通知。",enabling:"正在启用...",disabling:"正在禁用...",enable:"启用",disable:"禁用",toggleAction:"{loading, select, true {{subscribed, select, true {正在禁用...} other {正在启用...}}} other {{subscribed, select, true {禁用} other {启用}}}}",pushDescription:"{subscribed, select, true {您将收到重要更新的浏览器通知。} other {接收有关付款问题、试用到期和其他重要更新的通知。}}",deviceNote:"通知将发送到此设备。请在其他设备上单独启用。",prefsSaved:"通知偏好设置已保存。",prefsSaveFailed:"无法保存你的通知设置",yourTitle:"你的通知",yourDescription:"选择如何接收此工作区中每个事件的通知。所有内容仍会出现在你的收件箱中。",defaultsTitle:"工作区默认设置",defaultsDescription:"成员未另行选择时使用的设置。必需的事件成员无法更改。",requiredLabel:"必需",requiredHint:"此工作区要求",loadingPrefs:"正在加载偏好设置...",categories:{workspace:"工作区",billing:"账单与付款"},events:{workspace_invite:"成员受邀",workspace_invite_desc:"当新成员被添加到工作区时",workspace_removed:"成员被移除",workspace_removed_desc:"当成员被从工作区移除时",workspace_role_changed:"角色变更",workspace_role_changed_desc:"当成员的角色被更新时",subscription_created:"订阅已创建",subscription_created_desc:"当新订阅被激活时",subscription_upgraded:"套餐已升级",subscription_upgraded_desc:"当订阅套餐升级时",subscription_canceled:"订阅已取消",subscription_canceled_desc:"当订阅被取消时",subscription_suspended:"访问已暂停",subscription_suspended_desc:"当因付款失败而暂停访问时",trial_ending:"试用即将结束",trial_ending_desc:"试用期到期前几天",trial_expired:"试用已过期",trial_expired_desc:"当试用期结束时",payment_failed:"付款失败",payment_failed_desc:"当付款无法处理时",payment_action_required:"需要付款操作",payment_action_required_desc:"当付款需要额外验证时",payment_succeeded:"已收到付款",payment_succeeded_desc:"当付款成功处理时"},unblock:{firefox:{step1:"点击地址栏中的锁形图标(或盾形图标)",step2:'在权限列表中找到"通知"',step3:'将"阻止"更改为"允许"',step4:"重新加载此页面"},safari:{step1:"打开 Safari → 设置 → 网站 → 通知",step2:"在列表中找到此网站",step3:'将"拒绝"更改为"允许"',step4:"重新加载此页面"},edge:{step1:"点击地址栏中的锁形图标",step2:'点击"此站点的权限"',step3:'将"通知"设置为"允许"',step4:"重新加载此页面"},chrome:{step1:"点击地址栏中的锁形图标(或调节图标)",step2:'点击"网站设置"',step3:'将"通知"设置为"允许"',step4:"重新加载此页面"}}},quota:{includedOnly:"包含 {count, number} 个",includedWithOverage:"包含 {count, number} 个,之后 {price} / {unit}",includedHardLimit:"包含 {count, number} 个(硬性限制)",unitFallback:"单位"},pricing:{title:"选择您的套餐",description:"比较各套餐,选择最适合您需求的方案",currency:"货币",billingIn:"计费货币",noPlansCurrency:"没有适用于您的计费货币的套餐。",noPlansCurrencyHint:"出现错误,请联系客服。",noPlans:"没有可用的套餐",free:"免费",included:"包含",save:"节省",current:"当前",processing:"正在处理...",unavailable:"不可用",selectCurrency:"选择计费货币",billingInterval:"计费周期"},beta:{logoAlt:"标志",nameLabel:"姓名",emailLabel:"电子邮件",submitText:"提交",submittingText:"正在提交...",errorMessage:"发生错误",tryAgain:"重试",privacyConsent:"提交此表单即表示您同意我们的",privacyPolicy:"隐私政策",and:"和",termsOfService:"服务条款"},workspace:{switchTitle:"切换工作区",switchDescription:"选择一个工作区或创建新的工作区。",notLoggedIn:"您似乎尚未登录。请登录后继续。",availableWorkspaces:"可用工作区 ({count, number})",loadingWorkspaces:"正在加载工作区...",searchPlaceholder:"搜索工作区...",noWorkspacesFound:"未找到工作区",noWorkspacesAvailable:"没有可用的工作区",switchTo:"切换至",membersCount:"{count, plural, one {# 名成员} other {# 名成员}}",createNew:"创建新工作区",createTitle:"创建新工作区",createDescription:"创建一个新的工作区来开始使用。",workspaceName:"工作区名称",workspaceNamePlaceholder:"我的工作区",workspaceNameMinLength:"工作区名称至少需要2个字符。",workspaceIcon:"工作区图标",iconDescription:"选择一个表情符号或为您的工作区上传自定义图片。",chooseEmoji:"选择表情",customImageUrl:"自定义图片 URL",imageUrl:"图片 URL",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"输入工作区图片的有效 URL。支持 PNG、JPG 和 SVG 格式。",invalidUrl:"请输入有效的 URL",creating:"正在创建...",createWorkspace:"创建工作区"},dropdowns:{search:"搜索...",chooseOption:"选择选项",chooseCountry:"选择国家/地区",searchCountry:"选择国家/地区...",chooseLanguage:"选择语言",searchLanguage:"选择语言...",chooseCurrency:"选择货币",searchCurrency:"选择货币...",chooseTimezone:"选择时区",searchTimezone:"选择时区...",noResults:"未找到结果"},push:{failedToSubscribe:"订阅推送通知失败",failedToUnsubscribe:"取消订阅推送通知失败"},permissions:{title:"权限",description:"配置每个角色在此工作区中的操作权限。",ownerOnly:"只有工作区拥有者才能管理权限。",save:"保存权限",saving:"正在保存...",saveSuccess:"权限保存成功"},credits:{title:"积分",description:"积分可用于 AI 生成等高级操作。",balance:"积分余额",available:"可用",totalGranted:"总授予",totalConsumed:"总消耗",totalExpired:"总过期",noCredits:"暂无积分",noCreditsHint:"当您的套餐授予或购买积分时,积分将显示在此处。",buyCredits:"购买积分",buyAmount:"购买 {count} 积分",purchasing:"正在跳转...",packages:"积分套餐包",noPackages:"没有可用的积分套餐包。",creditsAmount:"{count} 积分",validityDays:"有效期 {count} 天",validityUnlimited:"永不过期",transactions:"最近交易",noTransactions:"暂无交易记录。",loadMore:"加载更多",viewAll:"查看全部",expiringSoon:"即将过期",expiringInDays:"{count} 积分将在 {days} 天内过期",noExpiring:"没有即将过期的积分。",type:{plan_grant:"套餐授予",pack_purchased:"已购买",consumed:"已消耗",expired:"已过期",admin_grant:"已授予",admin_revoke:"已撤销",refund:"退款"},dialogTitle:"购买积分套餐包",dialogDescription:"选择要购买的积分套餐包。",dialogDescriptionWorkspace:"为 {workspace} 购买积分。",perCredit:"每积分 {price}",purchaseSuccess:"积分购买成功!您的余额已更新。",purchaseCanceled:"积分购买已取消,未产生任何费用。",purchaseFailed:"积分购买失败。请重试或联系客服。",errorLoading:"加载积分数据失败",insufficientCredits:"积分不足",insufficientDetail:"积分不足。可用:{available},请求:{requested}"},loading:{restoringSession:"正在恢复会话...",redirecting:"正在跳转...",signingIn:"正在登录...",verifyingAccount:"正在验证您的账户...",almostThere:"即将完成..."},errors:{networkError:"网络错误:请检查您的网络连接",unauthorized:"未授权 — 请检查您的会话",notFound:"资源未找到",generic:"发生错误",fetchPlans:"获取套餐失败",fetchPlanGroup:"获取套餐组失败",fetchPlanGroupVersion:"获取套餐组版本失败",fetchPlanGroupVersions:"获取套餐组版本列表失败",fetchSubscription:"获取订阅信息失败",createCheckout:"创建结账会话失败",updateSubscription:"更新订阅失败",fetchInvoices:"获取账单失败",fetchInvoice:"获取账单失败",openBillingPortal:"打开账单门户失败",cancelSubscription:"取消订阅失败",resumeSubscription:"恢复订阅失败",recordUsage:"记录用量失败",fetchQuotaUsage:"获取配额使用状态失败",fetchAllQuotaUsage:"获取所有配额使用情况失败",fetchUsageLogs:"获取使用日志失败",fetchCreditBalance:"获取积分余额失败",consumeCredits:"消耗积分失败",purchaseCredits:"购买积分失败",fetchCreditPackages:"获取积分套餐包失败",fetchCreditTransactions:"获取积分交易记录失败",fetchExpiringCredits:"获取即将过期的积分失败",fetchWorkspaces:"获取工作区失败"},security:{connectedAgentsTitle:"已连接的代理",connectedAgentsDescription:"你已授权访问账户的 AI 代理。断开你不再使用的代理,访问权限会立即撤销。",connectedAgentsDisconnect:"断开连接",connectedAgentsEmpty:"没有已连接的代理。",connectedAgentsAccess:"访问权限",connectedAgentsGranted:"授权时间",connectedAgentsLoadFailed:"加载已连接的代理失败",connectedAgentsRevokeFailed:"断开连接失败",mcpConnectAction:"连接代理",mcpGuideTitle:"连接 AI 代理",mcpGuideDescription:"让 AI 助手安全地在你的账户中操作。在下面选择你的应用并按步骤操作,只需一分钟。",mcpServerUrlLabel:"服务器地址",mcpServerUrlHint:"有些应用只需你粘贴这个地址。",mcpPromptLabel:"或将此粘贴到你的 AI",mcpPromptHint:"适用于可以添加工具的聊天助手——把它粘贴到聊天中并发送。",mcpPromptTemplate:"请使用 {{url}} 上的 MCP 服务器连接到我的 {{name}} 账户,然后使用它的工具来帮助我。",mcpClientsLabel:"热门应用的分步指南",mcpAddToConfigFile:"打开文件 {path} 并添加以下内容:",mcpClientChatgptInstructions:"在 ChatGPT 中,进入“设置 → 连接器”,选择“添加自定义连接器”,然后粘贴上面的服务器地址。",mcpClientClaudeInstructions:"在 Claude 中,进入“设置 → 连接器”,选择“添加自定义连接器”,然后粘贴上面的服务器地址。",mcpClientClineInstructions:"在 Cline 中,打开 MCP 服务器面板,选择“添加远程服务器”,然后粘贴上面的服务器地址。",mcpCopy:"复制",mcpCopied:"已复制",mcpLearnMore:"了解更多",inactive:"已失效",inactiveHint:"注册于之前的登录域名,已无法使用。您可以将其移除。",passkeysTitle:"通行密钥",passkeysDescription:"通行密钥支持使用指纹、面容或设备 PIN 登录。",noPasskeys:"未注册通行密钥",addHint:'要添加通行密钥,请在需要使用的设备上下次登录时选择"添加通行密钥"。',rename:"重命名",remove:"移除",removeTitle:"移除通行密钥",removeDescription:"您将无法再使用此通行密钥登录。",renamePlaceholder:"通行密钥名称",lastUsed:"上次使用",added:"添加时间",devicesTitle:"您的设备",devicesDescription:"您用于登录的手机和电脑。请退出或移除任何您不认识的设备。",devicesEmpty:"您还没有从任何设备登录过。",devicesLoadFailed:"无法加载您的设备。请重试。",deviceCurrent:"当前设备",deviceTrusted:"受信任",deviceActiveSessions:"{count, plural, other {# 个活跃会话}}",devicePushEnabled:"通知已开启",deviceLastActive:"上次使用:{date}",deviceRename:"重命名",deviceRenamePlaceholder:"设备名称",deviceRenameFailed:"无法重命名该设备。请重试。",deviceSave:"保存",deviceCancel:"取消",deviceSignOut:"退出登录",deviceSignOutFailed:"无法退出该设备的登录。请重试。",deviceForget:"移除",deviceForgetFailed:"无法移除该设备。请重试。",deviceForgetConfirmTitle:"移除此设备?",deviceForgetConfirmBody:"这会使该设备退出登录并将其从您的列表中移除。如果您再次从该设备登录,它将重新显示在此处。",sessionsTitle:"您的登录位置",sessionsDescription:"您目前在这些设备上处于登录状态。请退出任何您不认识的设备。",sessionsEmpty:"您没有在其他任何地方登录。",sessionsLoadFailed:"无法加载您的会话。请重试。",sessionCurrent:"此会话",sessionExpires:"退出时间:{date}",sessionLastActive:"上次使用:{date}",sessionSignOut:"退出登录",sessionSignOutFailed:"无法退出该会话。请重试。"}};export{e as zh};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";var e=require("./chunks/react-BE4DCscY.cjs");require("react/jsx-runtime"),require("react"),require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("lucide-react"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@hookform/resolvers/zod"),require("react-hook-form"),require("@radix-ui/react-label"),require("zod"),require("@radix-ui/react-avatar"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("@radix-ui/react-separator"),require("@radix-ui/react-accordion"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-popover"),exports.APP_PERMISSION_FALLBACK_GROUP=e.APP_PERMISSION_FALLBACK_GROUP,Object.defineProperty(exports,"ApiVersion",{enumerable:!0,get:function(){return e.ApiVersion}}),exports.AuthApi=e.AuthApi,Object.defineProperty(exports,"AuthStatus",{enumerable:!0,get:function(){return e.AuthStatus}}),exports.BBAction=e.BBAction,exports.BBScreen=e.BBScreen,exports.BBStatus=e.BBStatus,exports.BB_PARAM=e.BB_PARAM,exports.BaseApi=e.BaseApi,exports.BetaForm=e.BetaForm,exports.BillingIntervals=e.BillingIntervals,exports.BuildBaseBadge=e.BuildBaseBadge,exports.BuildBaseProvider=e.SaaSOSProvider,exports.CURRENCY_DISPLAY=e.CURRENCY_DISPLAY,exports.CURRENCY_FLAG=e.CURRENCY_FLAG,exports.ConnectMcpGuide=e.ConnectMcpGuide,exports.ConnectedAgents=e.ConnectedAgents,exports.ConnectedAgentsApi=e.ConnectedAgentsApi,exports.CreditActionsProvider=e.CreditActionsProvider,exports.CreditBalance=e.CreditBalance,exports.CreditBalanceContextProvider=e.CreditBalanceContextProvider,exports.CreditBucketSource=e.CreditBucketSource,exports.CreditBucketStatus=e.CreditBucketStatus,exports.CreditStorePage=e.CreditStorePage,exports.CreditTransactionType=e.CreditTransactionType,exports.DEFAULT_ROLE_PERMISSIONS=e.DEFAULT_ROLE_PERMISSIONS,exports.Devices=e.Devices,exports.DevicesApi=e.DevicesApi,exports.DunningState=e.DunningState,exports.EmptyState=e.EmptyState,exports.EventEmitter=e.EventEmitter,exports.FALLBACK_WORKSPACE_ROLE=e.FALLBACK_WORKSPACE_ROLE,exports.FullScreenLoader=e.FullScreenLoader,exports.INVITATION_ERROR_CODE=e.INVITATION_ERROR_CODE,exports.InvoiceStatuses=e.InvoiceStatuses,exports.LoadingState=e.LoadingState,exports.NotificationBell=e.NotificationBell,exports.NotificationInbox=e.NotificationInbox,exports.NotificationsApi=e.NotificationsApi,exports.PLAN_CURRENCY_CODES=e.PLAN_CURRENCY_CODES,exports.PLAN_CURRENCY_OPTIONS=e.PLAN_CURRENCY_OPTIONS,exports.PUSH_SERVICE_WORKER_SCRIPT=e.PUSH_SERVICE_WORKER_SCRIPT,exports.PendingInvitations=e.PendingInvitations,exports.Permission=e.Permission,exports.PricingPage=e.PricingPage,exports.PushApi=e.PushApi,exports.PushNotificationProvider=e.PushNotificationProvider,exports.QuotaUsageContextProvider=e.QuotaUsageContextProvider,exports.SDKEvent=e.SDKEvent,exports.SETTINGS_SCREENS=e.SETTINGS_SCREENS,exports.SUPPORTED_LOCALES=e.SUPPORTED_LOCALES,exports.SaaSOSProvider=e.SaaSOSProvider,exports.SectionHeader=e.SectionHeader,exports.Sessions=e.Sessions,exports.SessionsApi=e.SessionsApi,exports.SettingsApi=e.SettingsApi,exports.SettingsScreen=e.SettingsScreen,exports.SidebarNavItem=e.SidebarNavItem,exports.SidebarNavSection=e.SidebarNavSection,exports.StatusBanner=e.StatusBanner,exports.SubscriptionContextProvider=e.SubscriptionContextProvider,exports.SubscriptionItemType=e.SubscriptionItemType,exports.SubscriptionStatus=e.SubscriptionStatus,exports.UserApi=e.UserApi,exports.WhenAuthenticated=e.WhenAuthenticated,exports.WhenCreditsAvailable=e.WhenCreditsAvailable,exports.WhenCreditsExhausted=e.WhenCreditsExhausted,exports.WhenCreditsLow=e.WhenCreditsLow,exports.WhenNoSubscription=e.WhenNoSubscription,exports.WhenNotTrialing=e.WhenNotTrialing,exports.WhenPendingInvitations=e.WhenPendingInvitations,exports.WhenPermission=e.WhenPermission,exports.WhenQuotaAvailable=e.WhenQuotaAvailable,exports.WhenQuotaExhausted=e.WhenQuotaExhausted,exports.WhenQuotaOverage=e.WhenQuotaOverage,exports.WhenQuotaThreshold=e.WhenQuotaThreshold,exports.WhenRoles=e.WhenRoles,exports.WhenSubscription=e.WhenSubscription,exports.WhenSubscriptionToPlans=e.WhenSubscriptionToPlans,exports.WhenTrialEnding=e.WhenTrialEnding,exports.WhenTrialing=e.WhenTrialing,exports.WhenUnauthenticated=e.WhenUnauthenticated,exports.WhenUserFeatureDisabled=e.WhenUserFeatureDisabled,exports.WhenUserFeatureEnabled=e.WhenUserFeatureEnabled,exports.WhenWorkspaceFeatureDisabled=e.WhenWorkspaceFeatureDisabled,exports.WhenWorkspaceFeatureEnabled=e.WhenWorkspaceFeatureEnabled,exports.WhenWorkspaceRoles=e.WhenWorkspaceRoles,exports.WorkspaceApi=e.WorkspaceApi,exports.WorkspaceSwitcher=e.WorkspaceSwitcher,exports.actionableInvitations=e.actionableInvitations,exports.appPermissionCatalogue=e.appPermissionCatalogue,exports.calculateBillableSeats=e.calculateBillableSeats,exports.calculateSeatOverageCents=e.calculateSeatOverageCents,exports.calculateTotalSubscriptionCents=e.calculateTotalSubscriptionCents,exports.cleanBBParams=e.cleanBBParams,exports.clearAuthIntent=e.clearAuthIntent,exports.clearPendingInvite=e.clearPendingInvite,exports.coerceBadgeRef=e.coerceBadgeRef,exports.consumeAuthIntent=e.consumeAuthIntent,exports.createBBUrl=e.createBBUrl,exports.createCheckoutRedirectUrls=e.createCheckoutRedirectUrls,exports.createCreditPurchaseRedirectUrls=e.createCreditPurchaseRedirectUrls,exports.eventEmitter=e.eventEmitter,exports.fillMcpTemplate=e.fillMcpTemplate,exports.formatCents=e.formatCents,exports.formatMinorAmountIntl=e.formatMinorAmountIntl,exports.formatOverageRate=e.formatOverageRate,exports.formatOverageRateWithLabel=e.formatOverageRateWithLabel,exports.formatQuotaIncludedOverage=e.formatQuotaIncludedOverage,exports.formatQuotaWithPrice=e.formatQuotaWithPrice,exports.getAvailableBillingIntervals=e.getAvailableBillingIntervals,exports.getAvailableCurrenciesFromPlans=e.getAvailableCurrenciesFromPlans,exports.getBasePriceCents=e.getBasePriceCents,exports.getBillingIntervalAndCurrencyFromPriceId=e.getBillingIntervalAndCurrencyFromPriceId,exports.getCurrencyDecimals=e.getCurrencyDecimals,exports.getCurrencyFlag=e.getCurrencyFlag,exports.getCurrencySymbol=e.getCurrencySymbol,exports.getDisplayCurrency=e.getDisplayCurrency,exports.getPerSeatPriceCents=e.getPerSeatPriceCents,exports.getPricingVariant=e.getPricingVariant,exports.getQuotaDisplayValue=e.getQuotaDisplayValue,exports.getQuotaDisplayWithVariant=e.getQuotaDisplayWithVariant,exports.getQuotaOverageCents=e.getQuotaOverageCents,exports.getQuotaUnitLabelFromName=e.getQuotaUnitLabelFromName,exports.getSeatPricing=e.getSeatPricing,exports.getStripePriceIdForInterval=e.getStripePriceIdForInterval,exports.hasPermission=e.hasPermission,exports.invalidateCreditBalance=e.invalidateCreditBalance,exports.invalidateQuotaUsage=e.invalidateQuotaUsage,exports.invalidateSubscription=e.invalidateSubscription,exports.inviterNameOf=e.inviterNameOf,exports.isInvitationActionable=e.isInvitationActionable,exports.isInvitationError=e.isInvitationError,exports.isInvitationLapsed=e.isInvitationLapsed,exports.isZeroDecimalCurrency=e.isZeroDecimalCurrency,exports.mcpServerKey=e.mcpServerKey,exports.mergeUIConfig=e.mergeUIConfig,exports.minorAmountToDisplay=e.minorAmountToDisplay,exports.parkPendingInvite=e.parkPendingInvite,exports.pickDefaultRole=e.pickDefaultRole,exports.readBBParams=e.readBBParams,exports.readPendingInvite=e.readPendingInvite,exports.resendCooldownSeconds=e.resendCooldownSeconds,exports.resolveMaxUsers=e.resolveMaxUsers,exports.resolvePermissions=e.resolvePermissions,exports.resolveRolePermissions=e.resolveRolePermissions,exports.safeRedirect=e.safeRedirect,exports.saveAuthIntent=e.saveAuthIntent,exports.sortInvitations=e.sortInvitations,exports.useAllQuotaUsage=e.useAllQuotaUsage,exports.useBillingPortal=e.useBillingPortal,exports.useCancelSubscription=e.useCancelSubscription,exports.useConnectedAgents=e.useConnectedAgents,exports.useConnectedAgentsApi=e.useConnectedAgentsApi,exports.useConsumeCredits=e.useConsumeCredits,exports.useCreateCheckoutSession=e.useCreateCheckoutSession,exports.useCreditBalance=e.useCreditBalance,exports.useCreditBalanceContext=e.useCreditBalanceContext,exports.useCreditPackages=e.useCreditPackages,exports.useCreditTransactions=e.useCreditTransactions,exports.useDevices=e.useDevices,exports.useDevicesApi=e.useDevicesApi,exports.useExpiringCredits=e.useExpiringCredits,exports.useFullScreenLoader=e.useFullScreenLoader,exports.useInvoice=e.useInvoice,exports.useInvoices=e.useInvoices,exports.useMcpConnection=e.useMcpConnection,exports.useMyInvitations=e.useMyInvitations,exports.useNotifications=e.useNotifications,exports.useNotificationsApi=e.useNotificationsApi,exports.usePermissions=e.usePermissions,exports.usePlanGroup=e.usePlanGroup,exports.usePlanGroupVersions=e.usePlanGroupVersions,exports.usePublicCreditPackages=e.usePublicCreditPackages,exports.usePublicPlanGroupVersion=e.usePublicPlanGroupVersion,exports.usePublicPlans=e.usePublicPlans,exports.usePurchaseCredits=e.usePurchaseCredits,exports.usePushNotifications=e.usePushNotifications,exports.useQuotaUsageContext=e.useQuotaUsageContext,exports.useQuotaUsageStatus=e.useQuotaUsageStatus,exports.useRecordUsage=e.useRecordUsage,exports.useResumeSubscription=e.useResumeSubscription,exports.useSaaSAuth=e.useSaaSAuth,exports.useSaaSOs=e.useSaaSOs,exports.useSaaSSettings=e.useSaaSSettings,exports.useSaaSWorkspaces=e.useSaaSWorkspaces,exports.useSeatStatus=e.useSeatStatus,exports.useSessions=e.useSessions,exports.useSessionsApi=e.useSessionsApi,exports.useSubscription=e.useSubscription,exports.useSubscriptionContext=e.useSubscriptionContext,exports.useSubscriptionManagement=e.useSubscriptionManagement,exports.useTranslation=e.useTranslation,exports.useTrialStatus=e.useTrialStatus,exports.useUIConfig=e.useUIConfig,exports.useUIVisibility=e.useUIVisibility,exports.useUpdateSubscription=e.useUpdateSubscription,exports.useUsageLogs=e.useUsageLogs,exports.useUserAttributes=e.useUserAttributes,exports.useUserFeatures=e.useUserFeatures,exports.useWorkspaceInvitations=e.useWorkspaceInvitations,exports.validateInvite=e.validateInvite,exports.validateRedirectUrl=e.validateRedirectUrl,exports.workspaceIdOf=e.workspaceIdOf,exports.workspaceNameOf=e.workspaceNameOf,exports.workspaceSettingsManager=e.workspaceSettingsManager;
2
+ "use strict";var e=require("./chunks/react-DWVzbgNV.cjs");require("react/jsx-runtime"),require("react"),require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("lucide-react"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@hookform/resolvers/zod"),require("react-hook-form"),require("@radix-ui/react-label"),require("zod"),require("@radix-ui/react-avatar"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("@radix-ui/react-separator"),require("@radix-ui/react-accordion"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-popover"),exports.APP_PERMISSION_FALLBACK_GROUP=e.APP_PERMISSION_FALLBACK_GROUP,Object.defineProperty(exports,"ApiVersion",{enumerable:!0,get:function(){return e.ApiVersion}}),exports.AuthApi=e.AuthApi,Object.defineProperty(exports,"AuthStatus",{enumerable:!0,get:function(){return e.AuthStatus}}),exports.BBAction=e.BBAction,exports.BBScreen=e.BBScreen,exports.BBStatus=e.BBStatus,exports.BB_PARAM=e.BB_PARAM,exports.BaseApi=e.BaseApi,exports.BetaForm=e.BetaForm,exports.BillingIntervals=e.BillingIntervals,exports.BuildBaseBadge=e.BuildBaseBadge,exports.BuildBaseProvider=e.SaaSOSProvider,exports.CURRENCY_DISPLAY=e.CURRENCY_DISPLAY,exports.CURRENCY_FLAG=e.CURRENCY_FLAG,exports.ConnectMcpGuide=e.ConnectMcpGuide,exports.ConnectedAgents=e.ConnectedAgents,exports.ConnectedAgentsApi=e.ConnectedAgentsApi,exports.CreditActionsProvider=e.CreditActionsProvider,exports.CreditBalance=e.CreditBalance,exports.CreditBalanceContextProvider=e.CreditBalanceContextProvider,exports.CreditBucketSource=e.CreditBucketSource,exports.CreditBucketStatus=e.CreditBucketStatus,exports.CreditStorePage=e.CreditStorePage,exports.CreditTransactionType=e.CreditTransactionType,exports.DEFAULT_ROLE_PERMISSIONS=e.DEFAULT_ROLE_PERMISSIONS,exports.Devices=e.Devices,exports.DevicesApi=e.DevicesApi,exports.DunningState=e.DunningState,exports.EmptyState=e.EmptyState,exports.EventEmitter=e.EventEmitter,exports.FALLBACK_WORKSPACE_ROLE=e.FALLBACK_WORKSPACE_ROLE,exports.FullScreenLoader=e.FullScreenLoader,exports.INVITATION_ERROR_CODE=e.INVITATION_ERROR_CODE,exports.InvoiceStatuses=e.InvoiceStatuses,exports.LoadingState=e.LoadingState,exports.NotificationBell=e.NotificationBell,exports.NotificationInbox=e.NotificationInbox,exports.NotificationsApi=e.NotificationsApi,exports.PLAN_CURRENCY_CODES=e.PLAN_CURRENCY_CODES,exports.PLAN_CURRENCY_OPTIONS=e.PLAN_CURRENCY_OPTIONS,exports.PUSH_SERVICE_WORKER_SCRIPT=e.PUSH_SERVICE_WORKER_SCRIPT,exports.PendingInvitations=e.PendingInvitations,exports.Permission=e.Permission,exports.PricingPage=e.PricingPage,exports.PushApi=e.PushApi,exports.PushNotificationProvider=e.PushNotificationProvider,exports.QuotaUsageContextProvider=e.QuotaUsageContextProvider,exports.SDKEvent=e.SDKEvent,exports.SETTINGS_SCREENS=e.SETTINGS_SCREENS,exports.SUPPORTED_LOCALES=e.SUPPORTED_LOCALES,exports.SaaSOSProvider=e.SaaSOSProvider,exports.SectionHeader=e.SectionHeader,exports.Sessions=e.Sessions,exports.SessionsApi=e.SessionsApi,exports.SettingsApi=e.SettingsApi,exports.SettingsScreen=e.SettingsScreen,exports.SidebarNavItem=e.SidebarNavItem,exports.SidebarNavSection=e.SidebarNavSection,exports.StatusBanner=e.StatusBanner,exports.SubscriptionContextProvider=e.SubscriptionContextProvider,exports.SubscriptionItemType=e.SubscriptionItemType,exports.SubscriptionStatus=e.SubscriptionStatus,exports.UserApi=e.UserApi,exports.WhenAuthenticated=e.WhenAuthenticated,exports.WhenCreditsAvailable=e.WhenCreditsAvailable,exports.WhenCreditsExhausted=e.WhenCreditsExhausted,exports.WhenCreditsLow=e.WhenCreditsLow,exports.WhenNoSubscription=e.WhenNoSubscription,exports.WhenNotTrialing=e.WhenNotTrialing,exports.WhenPendingInvitations=e.WhenPendingInvitations,exports.WhenPermission=e.WhenPermission,exports.WhenQuotaAvailable=e.WhenQuotaAvailable,exports.WhenQuotaExhausted=e.WhenQuotaExhausted,exports.WhenQuotaOverage=e.WhenQuotaOverage,exports.WhenQuotaThreshold=e.WhenQuotaThreshold,exports.WhenRoles=e.WhenRoles,exports.WhenSubscription=e.WhenSubscription,exports.WhenSubscriptionToPlans=e.WhenSubscriptionToPlans,exports.WhenTrialEnding=e.WhenTrialEnding,exports.WhenTrialing=e.WhenTrialing,exports.WhenUnauthenticated=e.WhenUnauthenticated,exports.WhenUserFeatureDisabled=e.WhenUserFeatureDisabled,exports.WhenUserFeatureEnabled=e.WhenUserFeatureEnabled,exports.WhenWorkspaceFeatureDisabled=e.WhenWorkspaceFeatureDisabled,exports.WhenWorkspaceFeatureEnabled=e.WhenWorkspaceFeatureEnabled,exports.WhenWorkspaceRoles=e.WhenWorkspaceRoles,exports.WorkspaceApi=e.WorkspaceApi,exports.WorkspaceSwitcher=e.WorkspaceSwitcher,exports.actionableInvitations=e.actionableInvitations,exports.appPermissionCatalogue=e.appPermissionCatalogue,exports.calculateBillableSeats=e.calculateBillableSeats,exports.calculateSeatOverageCents=e.calculateSeatOverageCents,exports.calculateTotalSubscriptionCents=e.calculateTotalSubscriptionCents,exports.cleanBBParams=e.cleanBBParams,exports.clearAuthIntent=e.clearAuthIntent,exports.clearPendingInvite=e.clearPendingInvite,exports.coerceBadgeRef=e.coerceBadgeRef,exports.consumeAuthIntent=e.consumeAuthIntent,exports.createBBUrl=e.createBBUrl,exports.createCheckoutRedirectUrls=e.createCheckoutRedirectUrls,exports.createCreditPurchaseRedirectUrls=e.createCreditPurchaseRedirectUrls,exports.eventEmitter=e.eventEmitter,exports.fillMcpTemplate=e.fillMcpTemplate,exports.formatCents=e.formatCents,exports.formatMinorAmountIntl=e.formatMinorAmountIntl,exports.formatOverageRate=e.formatOverageRate,exports.formatOverageRateWithLabel=e.formatOverageRateWithLabel,exports.formatQuotaIncludedOverage=e.formatQuotaIncludedOverage,exports.formatQuotaWithPrice=e.formatQuotaWithPrice,exports.getAvailableBillingIntervals=e.getAvailableBillingIntervals,exports.getAvailableCurrenciesFromPlans=e.getAvailableCurrenciesFromPlans,exports.getBasePriceCents=e.getBasePriceCents,exports.getBillingIntervalAndCurrencyFromPriceId=e.getBillingIntervalAndCurrencyFromPriceId,exports.getCurrencyDecimals=e.getCurrencyDecimals,exports.getCurrencyFlag=e.getCurrencyFlag,exports.getCurrencySymbol=e.getCurrencySymbol,exports.getDisplayCurrency=e.getDisplayCurrency,exports.getPerSeatPriceCents=e.getPerSeatPriceCents,exports.getPricingVariant=e.getPricingVariant,exports.getQuotaDisplayValue=e.getQuotaDisplayValue,exports.getQuotaDisplayWithVariant=e.getQuotaDisplayWithVariant,exports.getQuotaOverageCents=e.getQuotaOverageCents,exports.getQuotaUnitLabelFromName=e.getQuotaUnitLabelFromName,exports.getSeatPricing=e.getSeatPricing,exports.getStripePriceIdForInterval=e.getStripePriceIdForInterval,exports.hasPermission=e.hasPermission,exports.invalidateCreditBalance=e.invalidateCreditBalance,exports.invalidateQuotaUsage=e.invalidateQuotaUsage,exports.invalidateSubscription=e.invalidateSubscription,exports.inviterNameOf=e.inviterNameOf,exports.isInvitationActionable=e.isInvitationActionable,exports.isInvitationError=e.isInvitationError,exports.isInvitationLapsed=e.isInvitationLapsed,exports.isZeroDecimalCurrency=e.isZeroDecimalCurrency,exports.mcpServerKey=e.mcpServerKey,exports.mergeUIConfig=e.mergeUIConfig,exports.minorAmountToDisplay=e.minorAmountToDisplay,exports.parkPendingInvite=e.parkPendingInvite,exports.pickDefaultRole=e.pickDefaultRole,exports.readBBParams=e.readBBParams,exports.readPendingInvite=e.readPendingInvite,exports.resendCooldownSeconds=e.resendCooldownSeconds,exports.resolveMaxUsers=e.resolveMaxUsers,exports.resolvePermissions=e.resolvePermissions,exports.resolveRolePermissions=e.resolveRolePermissions,exports.safeRedirect=e.safeRedirect,exports.saveAuthIntent=e.saveAuthIntent,exports.sortInvitations=e.sortInvitations,exports.useAllQuotaUsage=e.useAllQuotaUsage,exports.useBillingPortal=e.useBillingPortal,exports.useCancelSubscription=e.useCancelSubscription,exports.useConnectedAgents=e.useConnectedAgents,exports.useConnectedAgentsApi=e.useConnectedAgentsApi,exports.useConsumeCredits=e.useConsumeCredits,exports.useCreateCheckoutSession=e.useCreateCheckoutSession,exports.useCreditBalance=e.useCreditBalance,exports.useCreditBalanceContext=e.useCreditBalanceContext,exports.useCreditPackages=e.useCreditPackages,exports.useCreditTransactions=e.useCreditTransactions,exports.useDevices=e.useDevices,exports.useDevicesApi=e.useDevicesApi,exports.useExpiringCredits=e.useExpiringCredits,exports.useFullScreenLoader=e.useFullScreenLoader,exports.useInvoice=e.useInvoice,exports.useInvoices=e.useInvoices,exports.useMcpConnection=e.useMcpConnection,exports.useMyInvitations=e.useMyInvitations,exports.useNotifications=e.useNotifications,exports.useNotificationsApi=e.useNotificationsApi,exports.usePermissions=e.usePermissions,exports.usePlanGroup=e.usePlanGroup,exports.usePlanGroupVersions=e.usePlanGroupVersions,exports.usePublicCreditPackages=e.usePublicCreditPackages,exports.usePublicPlanGroupVersion=e.usePublicPlanGroupVersion,exports.usePublicPlans=e.usePublicPlans,exports.usePurchaseCredits=e.usePurchaseCredits,exports.usePushNotifications=e.usePushNotifications,exports.useQuotaUsageContext=e.useQuotaUsageContext,exports.useQuotaUsageStatus=e.useQuotaUsageStatus,exports.useRecordUsage=e.useRecordUsage,exports.useResumeSubscription=e.useResumeSubscription,exports.useSaaSAuth=e.useSaaSAuth,exports.useSaaSOs=e.useSaaSOs,exports.useSaaSSettings=e.useSaaSSettings,exports.useSaaSWorkspaces=e.useSaaSWorkspaces,exports.useSeatStatus=e.useSeatStatus,exports.useSessions=e.useSessions,exports.useSessionsApi=e.useSessionsApi,exports.useSubscription=e.useSubscription,exports.useSubscriptionContext=e.useSubscriptionContext,exports.useSubscriptionManagement=e.useSubscriptionManagement,exports.useTranslation=e.useTranslation,exports.useTrialStatus=e.useTrialStatus,exports.useUIConfig=e.useUIConfig,exports.useUIVisibility=e.useUIVisibility,exports.useUpdateSubscription=e.useUpdateSubscription,exports.useUsageLogs=e.useUsageLogs,exports.useUserAttributes=e.useUserAttributes,exports.useUserFeatures=e.useUserFeatures,exports.useWorkspaceInvitations=e.useWorkspaceInvitations,exports.validateInvite=e.validateInvite,exports.validateRedirectUrl=e.validateRedirectUrl,exports.workspaceIdOf=e.workspaceIdOf,exports.workspaceNameOf=e.workspaceNameOf,exports.workspaceSettingsManager=e.workspaceSettingsManager;
@@ -3131,6 +3131,8 @@ interface SDKMessages {
3131
3131
  unlimited: string;
3132
3132
  };
3133
3133
  items: {
3134
+ /** A limit with no ceiling. The catalog stores -1. */
3135
+ unlimited: string;
3134
3136
  features: string;
3135
3137
  limits: string;
3136
3138
  quotas: string;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{b3 as APP_PERMISSION_FALLBACK_GROUP,b4 as ApiVersion,b5 as AuthApi,b6 as AuthStatus,o as BBAction,b7 as BBScreen,p as BBStatus,b8 as BB_PARAM,b9 as BaseApi,ba as BetaForm,ak as BillingIntervals,bb as BuildBaseBadge,bc as BuildBaseProvider,bd as CURRENCY_DISPLAY,be as CURRENCY_FLAG,bf as ConnectMcpGuide,C as ConnectedAgents,bg as ConnectedAgentsApi,bh as CreditActionsProvider,bi as CreditBalance,bj as CreditBalanceContextProvider,bk as CreditBucketSource,bl as CreditBucketStatus,bm as CreditStorePage,y as CreditTransactionType,bn as DEFAULT_ROLE_PERMISSIONS,R as Devices,bo as DevicesApi,aB as DunningState,E as EmptyState,bp as EventEmitter,bq as FALLBACK_WORKSPACE_ROLE,br as FullScreenLoader,bs as INVITATION_ERROR_CODE,ai as InvoiceStatuses,L as LoadingState,bt as NotificationBell,bu as NotificationInbox,bv as NotificationsApi,bw as PLAN_CURRENCY_CODES,bx as PLAN_CURRENCY_OPTIONS,by as PUSH_SERVICE_WORKER_SCRIPT,bz as PendingInvitations,P as Permission,bA as PricingPage,bB as PushApi,bC as PushNotificationProvider,bD as QuotaUsageContextProvider,bE as SDKEvent,a_ as SETTINGS_SCREENS,bF as SUPPORTED_LOCALES,bc as SaaSOSProvider,s as SectionHeader,T as Sessions,bG as SessionsApi,bH as SettingsApi,aU as SettingsScreen,aW as SidebarNavItem,aV as SidebarNavSection,r as StatusBanner,bI as SubscriptionContextProvider,al as SubscriptionItemType,ao as SubscriptionStatus,bJ as UserApi,bK as WhenAuthenticated,bL as WhenCreditsAvailable,bM as WhenCreditsExhausted,bN as WhenCreditsLow,bO as WhenNoSubscription,bP as WhenNotTrialing,bQ as WhenPendingInvitations,bR as WhenPermission,bS as WhenQuotaAvailable,bT as WhenQuotaExhausted,bU as WhenQuotaOverage,bV as WhenQuotaThreshold,bW as WhenRoles,bX as WhenSubscription,bY as WhenSubscriptionToPlans,bZ as WhenTrialEnding,b_ as WhenTrialing,b$ as WhenUnauthenticated,c0 as WhenUserFeatureDisabled,c1 as WhenUserFeatureEnabled,c2 as WhenWorkspaceFeatureDisabled,c3 as WhenWorkspaceFeatureEnabled,c4 as WhenWorkspaceRoles,c5 as WorkspaceApi,c6 as WorkspaceSwitcher,c7 as actionableInvitations,aa as appPermissionCatalogue,c8 as calculateBillableSeats,c9 as calculateSeatOverageCents,ca as calculateTotalSubscriptionCents,cb as cleanBBParams,cc as clearAuthIntent,cd as clearPendingInvite,ce as coerceBadgeRef,cf as consumeAuthIntent,cg as createBBUrl,aD as createCheckoutRedirectUrls,v as createCreditPurchaseRedirectUrls,ch as eventEmitter,ci as fillMcpTemplate,cj as formatCents,f as formatMinorAmountIntl,ck as formatOverageRate,cl as formatOverageRateWithLabel,cm as formatQuotaIncludedOverage,cn as formatQuotaWithPrice,b1 as getAvailableBillingIntervals,b0 as getAvailableCurrenciesFromPlans,ay as getBasePriceCents,ax as getBillingIntervalAndCurrencyFromPriceId,e as getCurrencyDecimals,a0 as getCurrencyFlag,g as getCurrencySymbol,co as getDisplayCurrency,aA as getPerSeatPriceCents,a$ as getPricingVariant,an as getQuotaDisplayValue,am as getQuotaDisplayWithVariant,aH as getQuotaOverageCents,cp as getQuotaUnitLabelFromName,az as getSeatPricing,aC as getStripePriceIdForInterval,cq as hasPermission,q as invalidateCreditBalance,cr as invalidateQuotaUsage,aE as invalidateSubscription,cs as inviterNameOf,ct as isInvitationActionable,cu as isInvitationError,aR as isInvitationLapsed,cv as isZeroDecimalCurrency,cw as mcpServerKey,aX as mergeUIConfig,cx as minorAmountToDisplay,cy as parkPendingInvite,aO as pickDefaultRole,cz as readBBParams,cA as readPendingInvite,aQ as resendCooldownSeconds,cB as resolveMaxUsers,cC as resolvePermissions,ab as resolveRolePermissions,x as safeRedirect,cD as saveAuthIntent,cE as sortInvitations,cF as useAllQuotaUsage,au as useBillingPortal,as as useCancelSubscription,cG as useConnectedAgents,cH as useConnectedAgentsApi,cI as useConsumeCredits,ar as useCreateCheckoutSession,cJ as useCreditBalance,j as useCreditBalanceContext,k as useCreditPackages,m as useCreditTransactions,cK as useDevices,cL as useDevicesApi,l as useExpiringCredits,cM as useFullScreenLoader,cN as useInvoice,ag as useInvoices,cO as useMcpConnection,cP as useMyInvitations,cQ as useNotifications,cR as useNotificationsApi,h as usePermissions,cS as usePlanGroup,av as usePlanGroupVersions,cT as usePublicCreditPackages,cU as usePublicPlanGroupVersion,cV as usePublicPlans,n as usePurchaseCredits,a7 as usePushNotifications,aF as useQuotaUsageContext,cW as useQuotaUsageStatus,cX as useRecordUsage,at as useResumeSubscription,aJ as useSaaSAuth,cY as useSaaSOs,A as useSaaSSettings,z as useSaaSWorkspaces,aN as useSeatStatus,cZ as useSessions,c_ as useSessionsApi,c$ as useSubscription,aG as useSubscriptionContext,aq as useSubscriptionManagement,u as useTranslation,d0 as useTrialStatus,aP as useUIConfig,i as useUIVisibility,d1 as useUpdateSubscription,d2 as useUsageLogs,d3 as useUserAttributes,d4 as useUserFeatures,aL as useWorkspaceInvitations,d5 as validateInvite,d6 as validateRedirectUrl,d7 as workspaceIdOf,d8 as workspaceNameOf,w as workspaceSettingsManager}from"./chunks/react-CDLs_iVH.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";import"@radix-ui/react-accordion";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-popover";
2
+ export{b3 as APP_PERMISSION_FALLBACK_GROUP,b4 as ApiVersion,b5 as AuthApi,b6 as AuthStatus,o as BBAction,b7 as BBScreen,p as BBStatus,b8 as BB_PARAM,b9 as BaseApi,ba as BetaForm,ak as BillingIntervals,bb as BuildBaseBadge,bc as BuildBaseProvider,bd as CURRENCY_DISPLAY,be as CURRENCY_FLAG,bf as ConnectMcpGuide,C as ConnectedAgents,bg as ConnectedAgentsApi,bh as CreditActionsProvider,bi as CreditBalance,bj as CreditBalanceContextProvider,bk as CreditBucketSource,bl as CreditBucketStatus,bm as CreditStorePage,y as CreditTransactionType,bn as DEFAULT_ROLE_PERMISSIONS,R as Devices,bo as DevicesApi,aB as DunningState,E as EmptyState,bp as EventEmitter,bq as FALLBACK_WORKSPACE_ROLE,br as FullScreenLoader,bs as INVITATION_ERROR_CODE,ai as InvoiceStatuses,L as LoadingState,bt as NotificationBell,bu as NotificationInbox,bv as NotificationsApi,bw as PLAN_CURRENCY_CODES,bx as PLAN_CURRENCY_OPTIONS,by as PUSH_SERVICE_WORKER_SCRIPT,bz as PendingInvitations,P as Permission,bA as PricingPage,bB as PushApi,bC as PushNotificationProvider,bD as QuotaUsageContextProvider,bE as SDKEvent,a_ as SETTINGS_SCREENS,bF as SUPPORTED_LOCALES,bc as SaaSOSProvider,s as SectionHeader,T as Sessions,bG as SessionsApi,bH as SettingsApi,aU as SettingsScreen,aW as SidebarNavItem,aV as SidebarNavSection,r as StatusBanner,bI as SubscriptionContextProvider,al as SubscriptionItemType,ao as SubscriptionStatus,bJ as UserApi,bK as WhenAuthenticated,bL as WhenCreditsAvailable,bM as WhenCreditsExhausted,bN as WhenCreditsLow,bO as WhenNoSubscription,bP as WhenNotTrialing,bQ as WhenPendingInvitations,bR as WhenPermission,bS as WhenQuotaAvailable,bT as WhenQuotaExhausted,bU as WhenQuotaOverage,bV as WhenQuotaThreshold,bW as WhenRoles,bX as WhenSubscription,bY as WhenSubscriptionToPlans,bZ as WhenTrialEnding,b_ as WhenTrialing,b$ as WhenUnauthenticated,c0 as WhenUserFeatureDisabled,c1 as WhenUserFeatureEnabled,c2 as WhenWorkspaceFeatureDisabled,c3 as WhenWorkspaceFeatureEnabled,c4 as WhenWorkspaceRoles,c5 as WorkspaceApi,c6 as WorkspaceSwitcher,c7 as actionableInvitations,aa as appPermissionCatalogue,c8 as calculateBillableSeats,c9 as calculateSeatOverageCents,ca as calculateTotalSubscriptionCents,cb as cleanBBParams,cc as clearAuthIntent,cd as clearPendingInvite,ce as coerceBadgeRef,cf as consumeAuthIntent,cg as createBBUrl,aD as createCheckoutRedirectUrls,v as createCreditPurchaseRedirectUrls,ch as eventEmitter,ci as fillMcpTemplate,cj as formatCents,f as formatMinorAmountIntl,ck as formatOverageRate,cl as formatOverageRateWithLabel,cm as formatQuotaIncludedOverage,cn as formatQuotaWithPrice,b1 as getAvailableBillingIntervals,b0 as getAvailableCurrenciesFromPlans,ay as getBasePriceCents,ax as getBillingIntervalAndCurrencyFromPriceId,e as getCurrencyDecimals,a0 as getCurrencyFlag,g as getCurrencySymbol,co as getDisplayCurrency,aA as getPerSeatPriceCents,a$ as getPricingVariant,an as getQuotaDisplayValue,am as getQuotaDisplayWithVariant,aH as getQuotaOverageCents,cp as getQuotaUnitLabelFromName,az as getSeatPricing,aC as getStripePriceIdForInterval,cq as hasPermission,q as invalidateCreditBalance,cr as invalidateQuotaUsage,aE as invalidateSubscription,cs as inviterNameOf,ct as isInvitationActionable,cu as isInvitationError,aR as isInvitationLapsed,cv as isZeroDecimalCurrency,cw as mcpServerKey,aX as mergeUIConfig,cx as minorAmountToDisplay,cy as parkPendingInvite,aO as pickDefaultRole,cz as readBBParams,cA as readPendingInvite,aQ as resendCooldownSeconds,cB as resolveMaxUsers,cC as resolvePermissions,ab as resolveRolePermissions,x as safeRedirect,cD as saveAuthIntent,cE as sortInvitations,cF as useAllQuotaUsage,au as useBillingPortal,as as useCancelSubscription,cG as useConnectedAgents,cH as useConnectedAgentsApi,cI as useConsumeCredits,ar as useCreateCheckoutSession,cJ as useCreditBalance,j as useCreditBalanceContext,k as useCreditPackages,m as useCreditTransactions,cK as useDevices,cL as useDevicesApi,l as useExpiringCredits,cM as useFullScreenLoader,cN as useInvoice,ag as useInvoices,cO as useMcpConnection,cP as useMyInvitations,cQ as useNotifications,cR as useNotificationsApi,h as usePermissions,cS as usePlanGroup,av as usePlanGroupVersions,cT as usePublicCreditPackages,cU as usePublicPlanGroupVersion,cV as usePublicPlans,n as usePurchaseCredits,a7 as usePushNotifications,aF as useQuotaUsageContext,cW as useQuotaUsageStatus,cX as useRecordUsage,at as useResumeSubscription,aJ as useSaaSAuth,cY as useSaaSOs,A as useSaaSSettings,z as useSaaSWorkspaces,aN as useSeatStatus,cZ as useSessions,c_ as useSessionsApi,c$ as useSubscription,aG as useSubscriptionContext,aq as useSubscriptionManagement,u as useTranslation,d0 as useTrialStatus,aP as useUIConfig,i as useUIVisibility,d1 as useUpdateSubscription,d2 as useUsageLogs,d3 as useUserAttributes,d4 as useUserFeatures,aL as useWorkspaceInvitations,d5 as validateInvite,d6 as validateRedirectUrl,d7 as workspaceIdOf,d8 as workspaceNameOf,w as workspaceSettingsManager}from"./chunks/react-Cs1KN_wQ.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";import"@radix-ui/react-accordion";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-popover";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildbase/sdk",
3
- "version": "0.0.81",
3
+ "version": "0.0.82",
4
4
  "type": "module",
5
5
  "description": "A SDK for Buildbase",
6
6
  "main": "dist/index.cjs",
@@ -1,2 +0,0 @@
1
- "use client";
2
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./react-BE4DCscY.cjs");require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("lucide-react"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@hookform/resolvers/zod"),require("react-hook-form"),require("@radix-ui/react-label"),require("zod"),require("@radix-ui/react-avatar"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("@radix-ui/react-separator"),require("@radix-ui/react-accordion"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-popover");const s={[t.BillingIntervals.Monthly]:"subscription.billingInterval.perMonth",[t.BillingIntervals.Quarterly]:"subscription.billingInterval.perQuarter",[t.BillingIntervals.Yearly]:"subscription.billingInterval.perYear"},i=(e,r,s)=>{if(!e||0===e)return null;let i;switch(s){case t.BillingIntervals.Yearly:i=r/12;break;case t.BillingIntervals.Quarterly:i=r/3;break;default:return null}const n=(e-i)/e*100;return n>0?Math.round(n):null},n=(e,r)=>t.getPricingVariant(e,r)?r:e.plan?.currency??r??"",a=e=>e.renewOnPeriod?"reset"===e.mode?"subscription.items.creditModeReset":"subscription.items.creditModeTopup":"subscription.items.creditModeLifetime",l=({planVersion:r})=>{const{t:s,fmtNum:i}=t.useTranslation(),n=r.creditGrant;return n?.enabled&&"object"==typeof n.creditPackage&&null!==n.creditPackage?e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-info uppercase tracking-wider mb-1.5",children:s("subscription.items.credits")}),e.jsxs("div",{className:"space-y-1 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:n.renewOnPeriod?s("subscription.items.creditsPerMonth"):s("subscription.items.creditsOneTime")}),e.jsx("span",{className:"font-semibold text-info",children:i(n.creditPackage.creditAmount)})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:s("subscription.items.creditRenewal")}),e.jsx("span",{className:"font-medium text-foreground",children:s(a(n))})]})]})]}):null},d=({hasVariant:r,price:s,displayCurrency:i,selectedInterval:n,getIntervalLabel:a})=>{const{t:l,fmtCents:d}=t.useTranslation();return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-2xl font-bold text-foreground",children:r&&null!==s?(c=s,o=i,(null==c||0===c?"":d(c,o))||l("pricing.free")):"—"}),null!==s&&s>0&&r&&e.jsx("span",{className:"text-sm text-muted-foreground",children:a(n)})]});var c,o},c=({planVersion:r,isCurrent:s,trialUsedAt:i,currentStripePriceId:n})=>{const{t:a}=t.useTranslation(),l=r.trial;return l?.enabled&&l.durationDays>0&&!s&&!i&&!n?e.jsx("span",{className:"shrink-0 rounded-md bg-success/15 text-success px-2 py-0.5 text-xs font-semibold uppercase tracking-wider",children:a("subscription.trialBadge",{days:l.durationDays})}):null};exports.default=({open:o,onOpenChange:u,source:m,planVersions:x,currentPlanVersionId:p,currentStripePriceId:b,billingCurrency:g,currentMemberCount:h,trialUsedAt:f,workspaceName:y,initialInterval:j,initialCurrency:v,onSelectPlan:N,loading:k=!1})=>{const[w,_]=r.useState(!1),{t:I,formattingLocale:P,dir:S,fmtNum:C,fmtCents:B}=t.useTranslation(),q=e=>I(s[e]??s[t.BillingIntervals.Monthly]),[M,T]=r.useState(null),F=r.useRef(!1),L=r.useMemo(()=>t.getBillingIntervalAndCurrencyFromPriceId(b,x),[b,x]),D=L?.interval??null,z=L?.currency??null,V=r.useMemo(()=>t.getAvailableCurrenciesFromPlans(x),[x]),K=r.useMemo(()=>{const e=g?.trim().toLowerCase();return e?V.includes(e)?[e]:[]:V},[g,V]),[O,Q]=r.useState(j||D||t.BillingIntervals.Monthly),[A,U]=r.useState(()=>v&&K.includes(v)?v:z&&K.includes(z)?z:K.length>0?K[0]:""),G=g?.trim()||A;r.useEffect(()=>{if(o){Q(j||D||t.BillingIntervals.Monthly);const e=v||z;e&&K.includes(e)?U(e):K.length>0&&!K.includes(A)&&U(K[0])}},[o,j,v,D,z,K]);const W=x,E=r.useMemo(()=>t.getAvailableBillingIntervals(W,G),[W,G]);r.useEffect(()=>{E.length&&!E.includes(O)&&Q(E[0])},[E,O]);const R=r.useMemo(()=>(e=>{const r=new Map;return e.forEach(e=>{e.subscriptionItems?.forEach(e=>{r.has(e._id)||r.set(e._id,e)})}),Array.from(r.values())})(W),[W]),Y=R.filter(e=>e.type===t.SubscriptionItemType.Feature),$=R.filter(e=>e.type===t.SubscriptionItemType.Limit),H=R.filter(e=>e.type===t.SubscriptionItemType.Quota),{emit:J,ready:X}=t.useFunnel(),Z=r.useRef(!1),ee=r.useRef(!1);r.useEffect(()=>{if(!o)return Z.current&&!ee.current&&J("plan_picker_dismissed",{source:m,billing_interval:O}),Z.current=!1,void(ee.current=!1);!Z.current&&X&&(Z.current=!0,J("plan_picker_opened",{source:m,plan_count:x.length,has_subscription:!!p,current_plan_version_id:p,billing_interval:O,currency:G?G.toUpperCase():void 0}))},[o,X]);const re=e=>{if(!p)return"new";if(e._id===p)return"interval_change";const r=x.find(e=>e._id===p),s=r?t.getBasePriceCents(r,G,O):null,i=t.getBasePriceCents(e,G,O);return null==s||null==i?"change":i>=s?"upgrade":"downgrade"},te=async e=>{if(e===p&&D===O||k||w||F.current)return;const r=x.find(r=>r._id===e);if(r){const s=t.getBasePriceCents(r,G,O);ee.current=!0,J("plan_selected",{source:m,plan_version_id:e,plan_slug:r.plan?.slug,billing_interval:O,currency:G?G.toUpperCase():void 0,value:null==s?void 0:t.toMajorUnits(s,G),change:re(r),is_free:!!r.plan?.isFreemium})}F.current=!0,_(!0),T(e);try{await N(e,O,G),u(!1)}catch(e){}finally{F.current=!1,_(!1),T(null)}},se=e=>t.getBasePriceCents(e,G,O),ie=e=>!!e.pricingVariants?.some(e=>e.currency?.toLowerCase()===G.toLowerCase()),ne=k||w,ae=e=>{switch(e){case t.BillingIntervals.Monthly:return I("subscription.billingInterval.monthly");case t.BillingIntervals.Quarterly:return I("subscription.billingInterval.quarterly");case t.BillingIntervals.Yearly:return I("subscription.billingInterval.yearly");default:return I("subscription.billingInterval.monthly")}},le=e=>{const r=e._id===p,t=D===O;if(r&&t)return{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0};if(r&&!t)return e.plan?.isFreemium?{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0}:{labelKey:"_dynamic",dynamicLabel:I("subscription.switchToInterval",{interval:ae(O)}),variant:"default",disabled:!1};const s=e.trial?.enabled&&e.trial.durationDays>0&&!f&&!b;if(!p)return s?{labelKey:"_dynamic",dynamicLabel:I("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:e.plan?.isFreemium?"subscription.startFree":"subscription.subscribe",variant:"default",disabled:!1};const i=W.findIndex(e=>e._id===p),n=W.findIndex(r=>r._id===e._id);return-1===i||-1===n?s?{labelKey:"_dynamic",dynamicLabel:I("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}:n<i?{labelKey:"subscription.checkout.downgrade",variant:"outline",disabled:!1}:n>i?s?{labelKey:"_dynamic",dynamicLabel:I("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.upgrade",variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}},de=(e,r,s=t.BillingIntervals.Monthly)=>{if(r.type===t.SubscriptionItemType.Feature)return e.features?.[r.slug]??!1;if(r.type===t.SubscriptionItemType.Limit)return e.limits?.[r.slug]??null;if(r.type===t.SubscriptionItemType.Quota){const i=t.getQuotaDisplayWithVariant(e,G,r.slug,s);return i||t.getQuotaDisplayValue(e.quotas?.[r.slug],s)}return null},ce=(e,r,s)=>{if(r.type===t.SubscriptionItemType.Feature)return!0===e?"✓":"—";if(r.type===t.SubscriptionItemType.Limit)return null!=e&&"number"==typeof e?C(e):"—";if(r.type===t.SubscriptionItemType.Quota){const i="object"==typeof e&&null!==e&&"included"in e?e:null,n=t.getQuotaDisplayParts(i,r.name.toLowerCase(),{currency:s,locale:P});return n?n.allowOverage?n.hasOverage?I("quota.includedWithOverage",{count:n.included,price:n.price,unit:n.unit}):I("quota.includedOnly",{count:n.included}):I("quota.includedHardLimit",{count:n.included}):"—"}return"—"};return e.jsx(t.Dialog,{open:o,onOpenChange:u,children:e.jsxs(t.DialogContent,{dir:S,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:I("pricing.title")}),e.jsxs(t.DialogDescription,{className:"mt-1 text-sm",children:[I("subscription.choosePlanDescription"),y&&e.jsx("span",{className:"ml-1 font-medium text-foreground",children:I("subscription.forWorkspace",{name:y})})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[!g?.trim()&&K.length>1&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:I("pricing.currency")}),e.jsx("select",{"aria-label":I("pricing.selectCurrency"),value:A,onChange:e=>U(e.target.value),className:"rounded-md border border-border bg-background px-3 py-2 text-sm font-medium text-foreground shadow-sm focus:outline-none focus:ring-2 focus:ring-primary",children:K.map(r=>{const s=t.getCurrencyFlag(r);return e.jsx("option",{value:r,children:s?`${s} ${r.toUpperCase()}`:r.toUpperCase()},r)})})]}),g?.trim()&&e.jsx("span",{className:"text-xs text-muted-foreground",children:I("subscription.billingInCurrency",{currency:g.toUpperCase()})})]}),E.length>1&&e.jsx("div",{className:"flex items-center gap-0.5 sm:gap-1 p-1 bg-muted rounded-lg w-full sm:w-auto",role:"group","aria-label":I("pricing.billingInterval"),children:E.map(r=>{const s=D===r;return e.jsx("button",{onClick:()=>(e=>{e!==O&&J("billing_interval_changed",{from:O,to:e}),Q(e)})(r),"aria-pressed":O===r,className:"flex-1 sm:flex-initial px-3 sm:px-4 py-2 text-sm font-medium rounded-md transition-all relative "+(O===r?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:e.jsxs("span",{className:"flex items-center justify-center gap-1 sm:gap-1.5",children:[r===t.BillingIntervals.Monthly&&I("subscription.billingInterval.monthly"),r===t.BillingIntervals.Quarterly&&I("subscription.billingInterval.quarterly"),r===t.BillingIntervals.Yearly&&I("subscription.billingInterval.yearly"),r===t.BillingIntervals.Yearly&&e.jsx("span",{className:"text-xs px-1 sm:px-1.5 py-0.5 bg-success/15 text-success rounded-full font-semibold",children:I("pricing.save")}),s&&p&&e.jsx("span",{className:"hidden sm:inline text-xs px-1.5 py-0.5 bg-info/15 text-info rounded-full font-semibold",children:I("pricing.current")})]})},r)})})]})]}),e.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:g?.trim()&&0===K.length?e.jsxs("div",{className:"text-center py-12 px-4",children:[e.jsx("p",{className:"text-muted-foreground font-medium",children:I("pricing.noPlansCurrency")}),e.jsx("p",{className:"text-muted-foreground text-sm mt-2",children:I("pricing.noPlansCurrencyHint")})]}):0===W.length?e.jsx("div",{className:"text-center py-12 text-muted-foreground",children:e.jsx("p",{children:I("pricing.noPlans")})}):e.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden bg-background",children:[e.jsx("div",{className:"md:hidden overflow-auto h-full",style:{maxHeight:"calc(100vh - 13rem)"},children:e.jsx("div",{className:"p-4 space-y-4",children:W.map(r=>{const s=r._id===p,a=le(r),o=ne&&r._id===M,u=se(r),m=ie(r),x=n(r,G),g=t.getBasePriceCents(r,G,t.BillingIntervals.Monthly)??0,y=O!==t.BillingIntervals.Monthly&&null!==u?i(g,u,O):null,j=t.getSeatPricing(r,G),v=j?t.getPerSeatPriceCents(r,G,O):null;return e.jsxs("div",{className:"rounded-xl border-2 p-4 "+(s?"border-info bg-info/5":"border-border bg-background"),children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-lg font-bold text-foreground",children:r.plan.name}),e.jsx(c,{planVersion:r,isCurrent:s,trialUsedAt:f,currentStripePriceId:b})]}),r.plan.description&&e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-2",children:r.plan.description})]}),s&&e.jsx("span",{className:"shrink-0 rounded-md bg-info px-2 py-0.5 text-xs font-semibold uppercase tracking-wider text-info-foreground",children:I("pricing.current")})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:e.jsx(d,{hasVariant:m,price:u,displayCurrency:x,selectedInterval:O,getIntervalLabel:q})}),null!==y&&y>0&&m&&e.jsx("span",{className:"text-xs text-success font-medium",children:I("subscription.savingsPercent",{percent:y})}),j?.enabled&&v&&v>0&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:I("subscription.seatPriceDisplay",{price:B(v,x),interval:q(O),included:C(j.includedSeats),includedLabel:I("pricing.included")})})]}),Y.length>0&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1.5",children:I("subscription.items.features")}),e.jsx("div",{className:"space-y-1",children:Y.map(s=>{const i=de(r,s,O),n=s.type===t.SubscriptionItemType.Feature&&!0===i;return e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[s.type===t.SubscriptionItemType.Feature?n?e.jsx("span",{className:"text-success text-xs",children:"✓"}):e.jsx("span",{className:"text-muted-foreground/50 text-xs",children:"✕"}):null,e.jsx("span",{className:n?"text-foreground":"text-muted-foreground/70",children:s.name})]},s._id)})})]}),$.length>0&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1.5",children:I("subscription.items.limits")}),e.jsx("div",{className:"space-y-1",children:$.map(t=>{const s=de(r,t,O);return e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:t.name}),e.jsx("span",{className:"font-medium text-foreground",children:"number"==typeof s?C(s):"—"})]},t._id)})})]}),j?.enabled&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-success uppercase tracking-wider mb-1.5",children:I("subscription.seats.title")}),e.jsxs("div",{className:"space-y-1 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:I("subscription.seats.included")}),e.jsx("span",{className:"font-medium",children:C(j.includedSeats||0)})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:I("subscription.seats.maxSeats")}),e.jsx("span",{className:"font-medium",children:(j?.maxSeats??0)>0?C(j.maxSeats):I("subscription.seats.unlimited")})]}),null!=h&&h>0&&(()=>{const r=Math.max(0,h-(j.includedSeats||0));return e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:I("subscription.seats.billable")}),e.jsx("span",{className:"font-medium "+(0===r?"text-success":"text-warning"),children:0===r?I("subscription.seats.allIncluded"):`${C(r)} ${I("subscription.seats.extra")}`})]})})()]})]}),e.jsx(l,{planVersion:r}),e.jsx(t.Button,{className:"w-full mt-2",variant:a.variant,disabled:a.disabled||ne||!m,progress:o,onClick:()=>te(r._id),children:o?I("pricing.processing"):m?a.dynamicLabel??I(a.labelKey):I("pricing.unavailable")})]},r._id)})})}),e.jsx("div",{className:"hidden md:block overflow-auto h-full",style:{maxHeight:"calc(100vh - 12rem)"},children:e.jsxs("table",{"aria-label":I("subscription.choosePlan"),className:"w-full border-separate border-spacing-0",style:{minWidth:260+220*W.length+"px",borderCollapse:"separate"},children:[e.jsxs("colgroup",{children:[e.jsx("col",{style:{width:260,minWidth:260}}),W.map(r=>e.jsx("col",{style:{width:220,minWidth:220}},r._id))]}),e.jsx("thead",{children:e.jsxs("tr",{className:"align-top",children:[e.jsx("th",{className:"sticky top-0 start-0 z-30 p-0 bg-background text-start"}),W.map(r=>{const s=r._id===p,a=le(r),l=ne&&r._id===M,o=se(r),u=t.getBasePriceCents(r,G,t.BillingIntervals.Monthly)??0,m=O!==t.BillingIntervals.Monthly&&null!==o?i(u,o,O):null,x=ie(r),g=n(r,G);return e.jsx("th",{className:"sticky top-0 z-20 border-b border-border p-3 shadow-sticky-row "+(r._id===p?"bg-info/10":"bg-background"),children:e.jsxs("div",{className:"flex h-full flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("h3",{className:"text-base font-bold text-foreground truncate",children:r.plan.name}),e.jsx(c,{planVersion:r,isCurrent:s,trialUsedAt:f,currentStripePriceId:b})]}),s&&e.jsx("span",{className:"shrink-0 rounded-md bg-info px-2 py-0.5 text-xs font-semibold uppercase tracking-wider text-info-foreground",children:I("pricing.current")})]}),e.jsxs("div",{className:"flex flex-col items-start min-h-[3rem]",children:[e.jsxs("div",{className:"flex items-baseline gap-1 flex-wrap",children:[e.jsx(d,{hasVariant:x,price:o,displayCurrency:g,selectedInterval:O,getIntervalLabel:q}),null!==m&&m>0&&x&&e.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-success/15 text-success rounded-full font-semibold whitespace-nowrap",children:I("subscription.savingsPercent",{percent:m})})]}),(()=>{const s=t.getSeatPricing(r,G);if(!s)return null;const i=t.getPerSeatPriceCents(r,G,O);return!i||i<=0?null:e.jsx("div",{className:"text-xs text-muted-foreground mt-1.5 border-t border-border/60 pt-1 leading-tight",children:e.jsx("div",{children:I("subscription.seatPriceDisplay",{price:B(i,g),interval:q(O),included:C(s.includedSeats),includedLabel:I("pricing.included")})})})})()]}),r.plan.description&&e.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed text-start",children:r.plan.description}),e.jsx(t.Button,{className:"mt-auto w-full",variant:a.variant,disabled:a.disabled||ne||!x,progress:l,onClick:()=>te(r._id),children:l?I("pricing.processing"):x?a.dynamicLabel??I(a.labelKey):I("pricing.unavailable")})]})},r._id)})]})}),e.jsxs("tbody",{children:[Y.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:I("subscription.items.features")}),e.jsx("td",{colSpan:W.length,className:"border-t border-border bg-muted"})]}),Y.map(r=>e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[e.jsx("div",{className:"font-medium text-sm text-foreground",children:r.name}),r.description&&e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:r.description})]}),W.map(s=>{const i=de(s,r,O),a=n(s,G),l=ce(i,r,a),d=r.type===t.SubscriptionItemType.Feature&&!0===i;return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(s._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium "+(d?"text-success":"—"===l?"text-muted-foreground/70":"text-foreground"),children:l})},s._id)})]},r._id))]}),$.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:I("subscription.items.limits")}),e.jsx("td",{colSpan:W.length,className:"border-t border-border bg-muted"})]}),$.map(r=>e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[e.jsx("div",{className:"font-medium text-sm text-foreground",children:r.name}),r.description&&e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:r.description})]}),W.map(t=>{const s=de(t,r,O),i=n(t,G),a=ce(s,r,i);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(t._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium "+("—"===a?"text-muted-foreground/70":"text-foreground"),children:a})},t._id)})]},r._id))]}),H.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:I("subscription.items.quotas")}),e.jsx("td",{colSpan:W.length,className:"border-t border-border bg-muted"})]}),H.map(r=>e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[e.jsx("div",{className:"font-medium text-sm text-foreground",children:r.name}),r.description&&e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:r.description})]}),W.map(t=>{const s=de(t,r,O),i=n(t,G),a=ce(s,r,i);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(t._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium "+("—"===a?"text-muted-foreground/70":"text-foreground"),children:a})},t._id)})]},r._id))]}),W.some(e=>{const r=t.getSeatPricing(e,G);return r?.enabled})&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-success/20 bg-success/10 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-success shadow-sticky-col",children:I("subscription.seats.title")}),e.jsx("td",{colSpan:W.length,className:"border-t border-success/20 bg-success/10"})]}),e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[e.jsx("div",{className:"font-medium text-sm text-foreground",children:I("subscription.seats.includedSeats")}),e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:I("subscription.seats.freeWithBase")})]}),W.map(r=>{const s=t.getSeatPricing(r,G);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium text-foreground",children:s?.enabled?C(s.includedSeats||0):"—"})},r._id)})]}),e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:e.jsx("div",{className:"font-medium text-sm text-foreground",children:I("subscription.seats.maxSeats")})}),W.map(r=>{const s=t.getSeatPricing(r,G);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium text-foreground",children:s?.enabled?(s?.maxSeats??0)>0?C(s.maxSeats):I("subscription.seats.unlimited"):"—"})},r._id)})]}),e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:e.jsx("div",{className:"font-medium text-sm text-foreground",children:I("subscription.seats.perExtraSeat")})}),W.map(r=>{const s=t.getPerSeatPriceCents(r,G,O),i=n(r,G);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm font-medium text-foreground",children:s&&s>0?`${B(s,i)}${q(O)}`:"—"})},r._id)})]}),null!=h&&h>0&&e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[e.jsx("div",{className:"font-medium text-sm text-foreground",children:I("subscription.seats.billable")}),e.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:I("subscription.membersInWorkspace",{count:h})})]}),W.map(r=>{const s=t.getSeatPricing(r,G);if(!s?.enabled)return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:e.jsx("span",{className:"text-sm text-muted-foreground/70",children:"—"})},r._id);const i=s.includedSeats||0,n=Math.max(0,h-i);return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:0===n?e.jsx("span",{className:"text-sm font-medium text-success",children:I("subscription.seats.allIncluded")}):e.jsxs("span",{className:"text-sm font-medium text-warning",children:[C(n)," ",I("subscription.seats.extra")]})},r._id)})]})]}),W.some(e=>e.creditGrant?.enabled&&"object"==typeof e.creditGrant.creditPackage&&null!==e.creditGrant.creditPackage)&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-info/20 bg-info/10 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-info shadow-sticky-col",children:I("subscription.items.credits")}),e.jsx("td",{colSpan:W.length,className:"border-t border-info/20 bg-info/10"})]}),e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:e.jsx("div",{className:"font-medium text-sm text-foreground",children:W.every(e=>!e.creditGrant?.enabled||!e.creditGrant.renewOnPeriod)?I("subscription.items.creditsOneTime"):I("subscription.items.creditsPerMonth")})}),W.map(r=>{const t=r.creditGrant,s=t?.enabled&&"object"==typeof t.creditPackage&&null!==t.creditPackage?t.creditPackage:null;return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:s?e.jsx("span",{className:"text-sm font-semibold text-info",children:C(s.creditAmount)}):e.jsx("span",{className:"text-sm text-muted-foreground/70",children:"—"})},r._id)})]}),e.jsxs("tr",{className:"group hover:bg-muted/30",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:e.jsx("div",{className:"font-medium text-sm text-foreground",children:I("subscription.items.creditRenewal")})}),W.map(r=>{const t=r.creditGrant;return e.jsx("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(r._id===p?"bg-info/5":"bg-background"),children:t?.enabled?e.jsx("span",{className:"text-sm font-medium text-foreground",children:I(a(t))}):e.jsx("span",{className:"text-sm text-muted-foreground/70",children:"—"})},r._id)})]})]})]})]})})]})})]})})};
@@ -1,2 +0,0 @@
1
- "use client";
2
- import{jsxs as e,jsx as r,Fragment as t}from"react/jsx-runtime";import s,{useState as i,useMemo as n,useEffect as a}from"react";import{a$ as d,ak as l,u as c,ax as o,b0 as u,b1 as m,al as p,aw as b,D as g,a as h,b as x,c as f,a0 as y,ay as N,az as v,aA as k,B as w,am as _,an as C,b2 as I,aj as P}from"./react-CDLs_iVH.mjs";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";import"@radix-ui/react-accordion";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-popover";const S={[l.Monthly]:"subscription.billingInterval.perMonth",[l.Quarterly]:"subscription.billingInterval.perQuarter",[l.Yearly]:"subscription.billingInterval.perYear"},M=(e,r,t)=>{if(!e||0===e)return null;let s;switch(t){case l.Yearly:s=r/12;break;case l.Quarterly:s=r/3;break;default:return null}const i=(e-s)/e*100;return i>0?Math.round(i):null},L=(e,r)=>d(e,r)?r:e.plan?.currency??r??"",z=e=>e.renewOnPeriod?"reset"===e.mode?"subscription.items.creditModeReset":"subscription.items.creditModeTopup":"subscription.items.creditModeLifetime",j=({planVersion:t})=>{const{t:s,fmtNum:i}=c(),n=t.creditGrant;return n?.enabled&&"object"==typeof n.creditPackage&&null!==n.creditPackage?e("div",{className:"mb-3",children:[r("div",{className:"text-xs font-semibold text-info uppercase tracking-wider mb-1.5",children:s("subscription.items.credits")}),e("div",{className:"space-y-1 text-sm",children:[e("div",{className:"flex justify-between",children:[r("span",{className:"text-muted-foreground",children:n.renewOnPeriod?s("subscription.items.creditsPerMonth"):s("subscription.items.creditsOneTime")}),r("span",{className:"font-semibold text-info",children:i(n.creditPackage.creditAmount)})]}),e("div",{className:"flex justify-between",children:[r("span",{className:"text-muted-foreground",children:s("subscription.items.creditRenewal")}),r("span",{className:"font-medium text-foreground",children:s(z(n))})]})]})]}):null},D=({hasVariant:s,price:i,displayCurrency:n,selectedInterval:a,getIntervalLabel:d})=>{const{t:l,fmtCents:o}=c();return e(t,{children:[r("span",{className:"text-2xl font-bold text-foreground",children:s&&null!==i?(u=i,m=n,(null==u||0===u?"":o(u,m))||l("pricing.free")):"—"}),null!==i&&i>0&&s&&r("span",{className:"text-sm text-muted-foreground",children:d(a)})]});var u,m},K=({planVersion:e,isCurrent:t,trialUsedAt:s,currentStripePriceId:i})=>{const{t:n}=c(),a=e.trial;return a?.enabled&&a.durationDays>0&&!t&&!s&&!i?r("span",{className:"shrink-0 rounded-md bg-success/15 text-success px-2 py-0.5 text-xs font-semibold uppercase tracking-wider",children:n("subscription.trialBadge",{days:a.durationDays})}):null},O=({open:d,onOpenChange:O,source:V,planVersions:F,currentPlanVersionId:U,currentStripePriceId:A,billingCurrency:G,currentMemberCount:Q,trialUsedAt:q,workspaceName:T,initialInterval:W,initialCurrency:$,onSelectPlan:R,loading:Y=!1})=>{const[H,B]=i(!1),{t:E,formattingLocale:J,dir:X,fmtNum:Z,fmtCents:ee}=c(),re=e=>E(S[e]??S[l.Monthly]),[te,se]=i(null),ie=s.useRef(!1),ne=n(()=>o(A,F),[A,F]),ae=ne?.interval??null,de=ne?.currency??null,le=n(()=>u(F),[F]),ce=n(()=>{const e=G?.trim().toLowerCase();return e?le.includes(e)?[e]:[]:le},[G,le]),[oe,ue]=i(W||ae||l.Monthly),[me,pe]=i(()=>$&&ce.includes($)?$:de&&ce.includes(de)?de:ce.length>0?ce[0]:""),be=G?.trim()||me;a(()=>{if(d){ue(W||ae||l.Monthly);const e=$||de;e&&ce.includes(e)?pe(e):ce.length>0&&!ce.includes(me)&&pe(ce[0])}},[d,W,$,ae,de,ce]);const ge=F,he=n(()=>m(ge,be),[ge,be]);a(()=>{he.length&&!he.includes(oe)&&ue(he[0])},[he,oe]);const xe=n(()=>(e=>{const r=new Map;return e.forEach(e=>{e.subscriptionItems?.forEach(e=>{r.has(e._id)||r.set(e._id,e)})}),Array.from(r.values())})(ge),[ge]),fe=xe.filter(e=>e.type===p.Feature),ye=xe.filter(e=>e.type===p.Limit),Ne=xe.filter(e=>e.type===p.Quota),{emit:ve,ready:ke}=b(),we=s.useRef(!1),_e=s.useRef(!1);a(()=>{if(!d)return we.current&&!_e.current&&ve("plan_picker_dismissed",{source:V,billing_interval:oe}),we.current=!1,void(_e.current=!1);!we.current&&ke&&(we.current=!0,ve("plan_picker_opened",{source:V,plan_count:F.length,has_subscription:!!U,current_plan_version_id:U,billing_interval:oe,currency:be?be.toUpperCase():void 0}))},[d,ke]);const Ce=e=>{if(!U)return"new";if(e._id===U)return"interval_change";const r=F.find(e=>e._id===U),t=r?N(r,be,oe):null,s=N(e,be,oe);return null==t||null==s?"change":s>=t?"upgrade":"downgrade"},Ie=async e=>{if(e===U&&ae===oe||Y||H||ie.current)return;const r=F.find(r=>r._id===e);if(r){const t=N(r,be,oe);_e.current=!0,ve("plan_selected",{source:V,plan_version_id:e,plan_slug:r.plan?.slug,billing_interval:oe,currency:be?be.toUpperCase():void 0,value:null==t?void 0:I(t,be),change:Ce(r),is_free:!!r.plan?.isFreemium})}ie.current=!0,B(!0),se(e);try{await R(e,oe,be),O(!1)}catch(e){}finally{ie.current=!1,B(!1),se(null)}},Pe=e=>N(e,be,oe),Se=e=>!!e.pricingVariants?.some(e=>e.currency?.toLowerCase()===be.toLowerCase()),Me=Y||H,Le=e=>{switch(e){case l.Monthly:return E("subscription.billingInterval.monthly");case l.Quarterly:return E("subscription.billingInterval.quarterly");case l.Yearly:return E("subscription.billingInterval.yearly");default:return E("subscription.billingInterval.monthly")}},ze=e=>{const r=e._id===U,t=ae===oe;if(r&&t)return{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0};if(r&&!t)return e.plan?.isFreemium?{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0}:{labelKey:"_dynamic",dynamicLabel:E("subscription.switchToInterval",{interval:Le(oe)}),variant:"default",disabled:!1};const s=e.trial?.enabled&&e.trial.durationDays>0&&!q&&!A;if(!U)return s?{labelKey:"_dynamic",dynamicLabel:E("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:e.plan?.isFreemium?"subscription.startFree":"subscription.subscribe",variant:"default",disabled:!1};const i=ge.findIndex(e=>e._id===U),n=ge.findIndex(r=>r._id===e._id);return-1===i||-1===n?s?{labelKey:"_dynamic",dynamicLabel:E("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}:n<i?{labelKey:"subscription.checkout.downgrade",variant:"outline",disabled:!1}:n>i?s?{labelKey:"_dynamic",dynamicLabel:E("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.upgrade",variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}},je=(e,r,t=l.Monthly)=>{if(r.type===p.Feature)return e.features?.[r.slug]??!1;if(r.type===p.Limit)return e.limits?.[r.slug]??null;if(r.type===p.Quota){const s=_(e,be,r.slug,t);return s||C(e.quotas?.[r.slug],t)}return null},De=(e,r,t)=>{if(r.type===p.Feature)return!0===e?"✓":"—";if(r.type===p.Limit)return null!=e&&"number"==typeof e?Z(e):"—";if(r.type===p.Quota){const s=P("object"==typeof e&&null!==e&&"included"in e?e:null,r.name.toLowerCase(),{currency:t,locale:J});return s?s.allowOverage?s.hasOverage?E("quota.includedWithOverage",{count:s.included,price:s.price,unit:s.unit}):E("quota.includedOnly",{count:s.included}):E("quota.includedHardLimit",{count:s.included}):"—"}return"—"};return r(g,{open:d,onOpenChange:O,children:e(h,{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("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("div",{children:[r(x,{className:"text-xl font-semibold",children:E("pricing.title")}),e(f,{className:"mt-1 text-sm",children:[E("subscription.choosePlanDescription"),T&&r("span",{className:"ml-1 font-medium text-foreground",children:E("subscription.forWorkspace",{name:T})})]})]}),e("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-4",children:[e("div",{className:"flex items-center gap-2",children:[!G?.trim()&&ce.length>1&&e(t,{children:[r("span",{className:"text-sm text-muted-foreground",children:E("pricing.currency")}),r("select",{"aria-label":E("pricing.selectCurrency"),value:me,onChange:e=>pe(e.target.value),className:"rounded-md border border-border bg-background px-3 py-2 text-sm font-medium text-foreground shadow-sm focus:outline-none focus:ring-2 focus:ring-primary",children:ce.map(e=>{const t=y(e);return r("option",{value:e,children:t?`${t} ${e.toUpperCase()}`:e.toUpperCase()},e)})})]}),G?.trim()&&r("span",{className:"text-xs text-muted-foreground",children:E("subscription.billingInCurrency",{currency:G.toUpperCase()})})]}),he.length>1&&r("div",{className:"flex items-center gap-0.5 sm:gap-1 p-1 bg-muted rounded-lg w-full sm:w-auto",role:"group","aria-label":E("pricing.billingInterval"),children:he.map(t=>{const s=ae===t;return r("button",{onClick:()=>(e=>{e!==oe&&ve("billing_interval_changed",{from:oe,to:e}),ue(e)})(t),"aria-pressed":oe===t,className:"flex-1 sm:flex-initial px-3 sm:px-4 py-2 text-sm font-medium rounded-md transition-all relative "+(oe===t?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:e("span",{className:"flex items-center justify-center gap-1 sm:gap-1.5",children:[t===l.Monthly&&E("subscription.billingInterval.monthly"),t===l.Quarterly&&E("subscription.billingInterval.quarterly"),t===l.Yearly&&E("subscription.billingInterval.yearly"),t===l.Yearly&&r("span",{className:"text-xs px-1 sm:px-1.5 py-0.5 bg-success/15 text-success rounded-full font-semibold",children:E("pricing.save")}),s&&U&&r("span",{className:"hidden sm:inline text-xs px-1.5 py-0.5 bg-info/15 text-info rounded-full font-semibold",children:E("pricing.current")})]})},t)})})]})]}),r("div",{className:"flex-1 min-h-0 flex flex-col",children:G?.trim()&&0===ce.length?e("div",{className:"text-center py-12 px-4",children:[r("p",{className:"text-muted-foreground font-medium",children:E("pricing.noPlansCurrency")}),r("p",{className:"text-muted-foreground text-sm mt-2",children:E("pricing.noPlansCurrencyHint")})]}):0===ge.length?r("div",{className:"text-center py-12 text-muted-foreground",children:r("p",{children:E("pricing.noPlans")})}):e("div",{className:"flex-1 min-h-0 overflow-hidden bg-background",children:[r("div",{className:"md:hidden overflow-auto h-full",style:{maxHeight:"calc(100vh - 13rem)"},children:r("div",{className:"p-4 space-y-4",children:ge.map(t=>{const s=t._id===U,i=ze(t),n=Me&&t._id===te,a=Pe(t),d=Se(t),c=L(t,be),o=N(t,be,l.Monthly)??0,u=oe!==l.Monthly&&null!==a?M(o,a,oe):null,m=v(t,be),b=m?k(t,be,oe):null;return e("div",{className:"rounded-xl border-2 p-4 "+(s?"border-info bg-info/5":"border-border bg-background"),children:[e("div",{className:"flex items-start justify-between mb-3",children:[e("div",{children:[e("div",{className:"flex items-center gap-2",children:[r("h3",{className:"text-lg font-bold text-foreground",children:t.plan.name}),r(K,{planVersion:t,isCurrent:s,trialUsedAt:q,currentStripePriceId:A})]}),t.plan.description&&r("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-2",children:t.plan.description})]}),s&&r("span",{className:"shrink-0 rounded-md bg-info px-2 py-0.5 text-xs font-semibold uppercase tracking-wider text-info-foreground",children:E("pricing.current")})]}),e("div",{className:"mb-4",children:[r("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:r(D,{hasVariant:d,price:a,displayCurrency:c,selectedInterval:oe,getIntervalLabel:re})}),null!==u&&u>0&&d&&r("span",{className:"text-xs text-success font-medium",children:E("subscription.savingsPercent",{percent:u})}),m?.enabled&&b&&b>0&&r("div",{className:"text-xs text-muted-foreground mt-1",children:E("subscription.seatPriceDisplay",{price:ee(b,c),interval:re(oe),included:Z(m.includedSeats),includedLabel:E("pricing.included")})})]}),fe.length>0&&e("div",{className:"mb-3",children:[r("div",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1.5",children:E("subscription.items.features")}),r("div",{className:"space-y-1",children:fe.map(s=>{const i=je(t,s,oe),n=s.type===p.Feature&&!0===i;return e("div",{className:"flex items-center gap-2 text-sm",children:[s.type===p.Feature?r("span",n?{className:"text-success text-xs",children:"✓"}:{className:"text-muted-foreground/50 text-xs",children:"✕"}):null,r("span",{className:n?"text-foreground":"text-muted-foreground/70",children:s.name})]},s._id)})})]}),ye.length>0&&e("div",{className:"mb-3",children:[r("div",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1.5",children:E("subscription.items.limits")}),r("div",{className:"space-y-1",children:ye.map(s=>{const i=je(t,s,oe);return e("div",{className:"flex items-center justify-between text-sm",children:[r("span",{className:"text-muted-foreground",children:s.name}),r("span",{className:"font-medium text-foreground",children:"number"==typeof i?Z(i):"—"})]},s._id)})})]}),m?.enabled&&e("div",{className:"mb-3",children:[r("div",{className:"text-xs font-semibold text-success uppercase tracking-wider mb-1.5",children:E("subscription.seats.title")}),e("div",{className:"space-y-1 text-sm",children:[e("div",{className:"flex justify-between",children:[r("span",{className:"text-muted-foreground",children:E("subscription.seats.included")}),r("span",{className:"font-medium",children:Z(m.includedSeats||0)})]}),e("div",{className:"flex justify-between",children:[r("span",{className:"text-muted-foreground",children:E("subscription.seats.maxSeats")}),r("span",{className:"font-medium",children:(m?.maxSeats??0)>0?Z(m.maxSeats):E("subscription.seats.unlimited")})]}),null!=Q&&Q>0&&(()=>{const t=Math.max(0,Q-(m.includedSeats||0));return e("div",{className:"flex justify-between",children:[r("span",{className:"text-muted-foreground",children:E("subscription.seats.billable")}),r("span",{className:"font-medium "+(0===t?"text-success":"text-warning"),children:0===t?E("subscription.seats.allIncluded"):`${Z(t)} ${E("subscription.seats.extra")}`})]})})()]})]}),r(j,{planVersion:t}),r(w,{className:"w-full mt-2",variant:i.variant,disabled:i.disabled||Me||!d,progress:n,onClick:()=>Ie(t._id),children:n?E("pricing.processing"):d?i.dynamicLabel??E(i.labelKey):E("pricing.unavailable")})]},t._id)})})}),r("div",{className:"hidden md:block overflow-auto h-full",style:{maxHeight:"calc(100vh - 12rem)"},children:e("table",{"aria-label":E("subscription.choosePlan"),className:"w-full border-separate border-spacing-0",style:{minWidth:260+220*ge.length+"px",borderCollapse:"separate"},children:[e("colgroup",{children:[r("col",{style:{width:260,minWidth:260}}),ge.map(e=>r("col",{style:{width:220,minWidth:220}},e._id))]}),r("thead",{children:e("tr",{className:"align-top",children:[r("th",{className:"sticky top-0 start-0 z-30 p-0 bg-background text-start"}),ge.map(t=>{const s=t._id===U,i=ze(t),n=Me&&t._id===te,a=Pe(t),d=N(t,be,l.Monthly)??0,c=oe!==l.Monthly&&null!==a?M(d,a,oe):null,o=Se(t),u=L(t,be);return r("th",{className:"sticky top-0 z-20 border-b border-border p-3 shadow-sticky-row "+(t._id===U?"bg-info/10":"bg-background"),children:e("div",{className:"flex h-full flex-col gap-2",children:[e("div",{className:"flex items-center justify-between gap-2",children:[e("div",{className:"flex items-center gap-2 min-w-0",children:[r("h3",{className:"text-base font-bold text-foreground truncate",children:t.plan.name}),r(K,{planVersion:t,isCurrent:s,trialUsedAt:q,currentStripePriceId:A})]}),s&&r("span",{className:"shrink-0 rounded-md bg-info px-2 py-0.5 text-xs font-semibold uppercase tracking-wider text-info-foreground",children:E("pricing.current")})]}),e("div",{className:"flex flex-col items-start min-h-[3rem]",children:[e("div",{className:"flex items-baseline gap-1 flex-wrap",children:[r(D,{hasVariant:o,price:a,displayCurrency:u,selectedInterval:oe,getIntervalLabel:re}),null!==c&&c>0&&o&&r("span",{className:"text-xs px-1.5 py-0.5 bg-success/15 text-success rounded-full font-semibold whitespace-nowrap",children:E("subscription.savingsPercent",{percent:c})})]}),(()=>{const e=v(t,be);if(!e)return null;const s=k(t,be,oe);return!s||s<=0?null:r("div",{className:"text-xs text-muted-foreground mt-1.5 border-t border-border/60 pt-1 leading-tight",children:r("div",{children:E("subscription.seatPriceDisplay",{price:ee(s,u),interval:re(oe),included:Z(e.includedSeats),includedLabel:E("pricing.included")})})})})()]}),t.plan.description&&r("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed text-start",children:t.plan.description}),r(w,{className:"mt-auto w-full",variant:i.variant,disabled:i.disabled||Me||!o,progress:n,onClick:()=>Ie(t._id),children:n?E("pricing.processing"):o?i.dynamicLabel??E(i.labelKey):E("pricing.unavailable")})]})},t._id)})]})}),e("tbody",{children:[fe.length>0&&e(t,{children:[e("tr",{children:[r("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:E("subscription.items.features")}),r("td",{colSpan:ge.length,className:"border-t border-border bg-muted"})]}),fe.map(t=>e("tr",{className:"group hover:bg-muted/30",children:[e("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[r("div",{className:"font-medium text-sm text-foreground",children:t.name}),t.description&&r("div",{className:"text-xs text-muted-foreground mt-0.5",children:t.description})]}),ge.map(e=>{const s=je(e,t,oe),i=L(e,be),n=De(s,t,i),a=t.type===p.Feature&&!0===s;return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium "+(a?"text-success":"—"===n?"text-muted-foreground/70":"text-foreground"),children:n})},e._id)})]},t._id))]}),ye.length>0&&e(t,{children:[e("tr",{children:[r("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:E("subscription.items.limits")}),r("td",{colSpan:ge.length,className:"border-t border-border bg-muted"})]}),ye.map(t=>e("tr",{className:"group hover:bg-muted/30",children:[e("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[r("div",{className:"font-medium text-sm text-foreground",children:t.name}),t.description&&r("div",{className:"text-xs text-muted-foreground mt-0.5",children:t.description})]}),ge.map(e=>{const s=je(e,t,oe),i=L(e,be),n=De(s,t,i);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium "+("—"===n?"text-muted-foreground/70":"text-foreground"),children:n})},e._id)})]},t._id))]}),Ne.length>0&&e(t,{children:[e("tr",{children:[r("td",{className:"sticky start-0 z-10 border-t border-border bg-muted px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-muted-foreground shadow-sticky-col",children:E("subscription.items.quotas")}),r("td",{colSpan:ge.length,className:"border-t border-border bg-muted"})]}),Ne.map(t=>e("tr",{className:"group hover:bg-muted/30",children:[e("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[r("div",{className:"font-medium text-sm text-foreground",children:t.name}),t.description&&r("div",{className:"text-xs text-muted-foreground mt-0.5",children:t.description})]}),ge.map(e=>{const s=je(e,t,oe),i=L(e,be),n=De(s,t,i);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium "+("—"===n?"text-muted-foreground/70":"text-foreground"),children:n})},e._id)})]},t._id))]}),ge.some(e=>{const r=v(e,be);return r?.enabled})&&e(t,{children:[e("tr",{children:[r("td",{className:"sticky start-0 z-10 border-t border-success/20 bg-success/10 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-success shadow-sticky-col",children:E("subscription.seats.title")}),r("td",{colSpan:ge.length,className:"border-t border-success/20 bg-success/10"})]}),e("tr",{className:"group hover:bg-muted/30",children:[e("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[r("div",{className:"font-medium text-sm text-foreground",children:E("subscription.seats.includedSeats")}),r("div",{className:"text-xs text-muted-foreground mt-0.5",children:E("subscription.seats.freeWithBase")})]}),ge.map(e=>{const t=v(e,be);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium text-foreground",children:t?.enabled?Z(t.includedSeats||0):"—"})},e._id)})]}),e("tr",{className:"group hover:bg-muted/30",children:[r("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:r("div",{className:"font-medium text-sm text-foreground",children:E("subscription.seats.maxSeats")})}),ge.map(e=>{const t=v(e,be);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium text-foreground",children:t?.enabled?(t?.maxSeats??0)>0?Z(t.maxSeats):E("subscription.seats.unlimited"):"—"})},e._id)})]}),e("tr",{className:"group hover:bg-muted/30",children:[r("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:r("div",{className:"font-medium text-sm text-foreground",children:E("subscription.seats.perExtraSeat")})}),ge.map(e=>{const t=k(e,be,oe),s=L(e,be);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm font-medium text-foreground",children:t&&t>0?`${ee(t,s)}${re(oe)}`:"—"})},e._id)})]}),null!=Q&&Q>0&&e("tr",{className:"group hover:bg-muted/30",children:[e("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:[r("div",{className:"font-medium text-sm text-foreground",children:E("subscription.seats.billable")}),r("div",{className:"text-xs text-muted-foreground mt-0.5",children:E("subscription.membersInWorkspace",{count:Q})})]}),ge.map(t=>{const s=v(t,be);if(!s?.enabled)return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(t._id===U?"bg-info/5":"bg-background"),children:r("span",{className:"text-sm text-muted-foreground/70",children:"—"})},t._id);const i=s.includedSeats||0,n=Math.max(0,Q-i);return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(t._id===U?"bg-info/5":"bg-background"),children:0===n?r("span",{className:"text-sm font-medium text-success",children:E("subscription.seats.allIncluded")}):e("span",{className:"text-sm font-medium text-warning",children:[Z(n)," ",E("subscription.seats.extra")]})},t._id)})]})]}),ge.some(e=>e.creditGrant?.enabled&&"object"==typeof e.creditGrant.creditPackage&&null!==e.creditGrant.creditPackage)&&e(t,{children:[e("tr",{children:[r("td",{className:"sticky start-0 z-10 border-t border-info/20 bg-info/10 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-info shadow-sticky-col",children:E("subscription.items.credits")}),r("td",{colSpan:ge.length,className:"border-t border-info/20 bg-info/10"})]}),e("tr",{className:"group hover:bg-muted/30",children:[r("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:r("div",{className:"font-medium text-sm text-foreground",children:ge.every(e=>!e.creditGrant?.enabled||!e.creditGrant.renewOnPeriod)?E("subscription.items.creditsOneTime"):E("subscription.items.creditsPerMonth")})}),ge.map(e=>{const t=e.creditGrant,s=t?.enabled&&"object"==typeof t.creditPackage&&null!==t.creditPackage?t.creditPackage:null;return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",s?{className:"text-sm font-semibold text-info",children:Z(s.creditAmount)}:{className:"text-sm text-muted-foreground/70",children:"—"})},e._id)})]}),e("tr",{className:"group hover:bg-muted/30",children:[r("td",{className:"sticky start-0 z-10 border-t border-border/60 bg-background p-4 shadow-sticky-col group-hover:bg-muted/50",children:r("div",{className:"font-medium text-sm text-foreground",children:E("subscription.items.creditRenewal")})}),ge.map(e=>{const t=e.creditGrant;return r("td",{className:"border-t border-border/60 p-4 text-center align-middle "+(e._id===U?"bg-info/5":"bg-background"),children:r("span",t?.enabled?{className:"text-sm font-medium text-foreground",children:E(z(t))}:{className:"text-sm text-muted-foreground/70",children:"—"})},e._id)})]})]})]})]})})]})})]})})};export{O as default};
@@ -1,2 +0,0 @@
1
- "use client";
2
- "use strict";exports.ar={settings:{titles:{profile:"الحساب",security:"الأمان",devices:"الأجهزة والجلسات",general:"إعدادات مساحة العمل",users:"أعضاء مساحة العمل",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"ميزات مساحة العمل",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},sidebar:{account:"الحساب",workspace:"مساحة العمل",profile:"الحساب",security:"الأمان",devices:"الأجهزة",general:"الإعدادات",users:"الأعضاء",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"الميزات",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},common:{refresh:"تحديث",refreshing:"جارٍ التحديث...",retry:"إعادة المحاولة",retrying:"جارٍ إعادة المحاولة...",save:"حفظ",saving:"جارٍ الحفظ...",cancel:"إلغاء",delete:"حذف",dismiss:"تجاهل",loading:"جارٍ التحميل...",success:"تم بنجاح!",error:"خطأ",refreshAction:"{loading, select, true {جارٍ التحديث...} other {تحديث}}",retryAction:"{loading, select, true {جارٍ إعادة المحاولة...} other {إعادة المحاولة}}",noPermissionTitle:"الوصول مقيد",noPermissionDescription:"ليس لديك إذن للوصول إلى هذا القسم. تواصل مع مسؤول مساحة العمل إذا كنت بحاجة إلى الوصول.",billingManageOnly:"فقط المستخدمون الذين لديهم أذونات إدارة الفواتير يمكنهم تنفيذ هذا الإجراء.",openSettings:"فتح الإعدادات",back:"رجوع",close:"إغلاق"}},subscription:{managePlan:"إدارة خطتك وفوترتك",changePlan:"تغيير الخطة",viewPricingPlans:"عرض خطط الأسعار",viewPlans:"عرض الخطط",upgradePlan:"ترقية الآن",subscribe:"اشتراك",startFree:"ابدأ مجانًا",currentPlan:"الخطة الحالية",noSubscription:"ليس لديك اشتراك نشط",choosePlan:"اختر خطتك",choosePlanDescription:"قارن بين الخطط واختر ما يناسب احتياجاتك",forWorkspace:"لـ {name}",planUpdateAvailable:"تحديث الخطة متوفر",updateSuccess:"تم تحديث الاشتراك بنجاح!",updateFailed:"فشل التحديث",cancelTitle:"إلغاء الاشتراك",cancelConfirm:"هل أنت متأكد من رغبتك في إلغاء اشتراكك؟",cancelKeep:"الاحتفاظ بالاشتراك",cancelButton:"نعم، إلغاء الاشتراك",cancelTrialTitle:"إلغاء التجربة",cancelTrialConfirm:"هل أنت متأكد من رغبتك في إلغاء فترتك التجريبية؟",cancelTrialAccess:"ستستمر فترتك التجريبية حتى",cancelTrialNoCharge:"لن يتم تحصيل أي رسوم منك — ستنتهي فترتك التجريبية ببساطة",cancelTrialResume:"يمكنك استئناف فترتك التجريبية في أي وقت قبل انتهائها",cancelTrialKeep:"الاحتفاظ بالتجربة",cancelTrialButton:"نعم، إلغاء التجربة",canceling:"جارٍ الإلغاء...",cancelSuccess:"سيتم إلغاء الاشتراك في نهاية فترة الفوترة.",cancelNotCharged:"لن يتم تحصيل رسوم منك مرة أخرى بعد الإلغاء",cancelResumeAnytime:"يمكنك استئناف اشتراكك في أي وقت قبل انتهائه",resumeTitle:"استئناف الاشتراك",resumeTrial:"استئناف التجربة",resumeConfirm:"هل أنت متأكد من رغبتك في استئناف اشتراكك؟",resumeKeep:"إبقاء الإلغاء",resumeButton:"نعم، استئناف الاشتراك",resuming:"جارٍ الاستئناف...",resumeSuccess:"تم استئناف الاشتراك.",managePayment:"إدارة الدفع",openingPortal:"جارٍ الفتح...",viewAllPlans:"عرض جميع الخطط",scheduledCancellation:"تم جدولة إلغاء الاشتراك",scheduledTrialCancellation:"تم جدولة إلغاء التجربة",paymentPastDue:"الدفع متأخر",paymentPastDueDescription:"يرجى تحديث طريقة الدفع لتجنب انقطاع الخدمة.",subscriptionPaused:"الاشتراك موقوف",subscriptionPausedDescription:"اشتراكك موقوف حالياً. استأنف لاستعادة الوصول الكامل.",errorLoading:"خطأ في تحميل بيانات الاشتراك",errorLoadingDescription:"يرجى التحقق من اتصالك والمحاولة مرة أخرى.",errorProcessing:"فشل في معالجة الاشتراك",errorCanceling:"فشل في إلغاء الاشتراك",errorResuming:"فشل في استئناف الاشتراك",invalidWorkspace:"معرّف مساحة العمل غير صالح",billingInterval:{monthly:"شهري",quarterly:"ربع سنوي",yearly:"سنوي",perMonth:"/شهر",perQuarter:"/ربع سنة",perYear:"/سنة"},seats:{title:"المقاعد",members:"الأعضاء",included:"مشمول",billable:"قابل للفوترة",perExtraSeat:"لكل مقعد إضافي",limit:"الحد",includedSeats:"المقاعد المشمولة",maxSeats:"الحد الأقصى للمقاعد",freeWithBase:"مجاني مع السعر الأساسي",allIncluded:"الكل مشمول",extra:"إضافي",unlimited:"غير محدود"},items:{features:"الميزات",limits:"الحدود",quotas:"حصص الاستخدام",credits:"رصيد الذكاء الاصطناعي",creditsPerMonth:"الرصيد شهرياً",creditsOneTime:"رصيد (يُمنح مرة واحدة)",creditRenewal:"تجديد الرصيد",creditModeLifetime:"يُمنح مرة واحدة",creditsPerPeriod:"الرصيد شهرياً",creditRollover:"تجديد الرصيد",creditModeReset:"يتجدد كل شهر",creditModeTopup:"يتراكم كل شهر"},checkout:{upgrade:"ترقية",downgrade:"تخفيض",switchTo:"التبديل إلى",select:"اختيار"},status:{active:"نشط",canceling:"جارٍ الإلغاء",trial:"تجريبي",canceled:"ملغى",pastDue:"متأخر",paused:"موقوف",deprecated:"قديم",unknown:"غير معروف"},plan:"الخطة",invoicesTab:"الفواتير",tabsLabel:"علامات تبويب الاشتراك",endsOn:"(ينتهي في {date})",versionLabel:"الإصدار {version}",changePlanButton:"تغيير الخطة",noPlanAssigned:"لم يتم تعيين خطة",free:"مجاني",perSeatDisplay:"+ {price}/مقعد{interval}",estTotalDisplay:"الإجمالي التقديري: {total}{interval} ({count, plural, zero {بدون مقاعد إضافية} one {مقعد إضافي واحد} two {مقعدان إضافيان} few {# مقاعد إضافية} many {# مقعداً إضافياً} other {# مقعد إضافي}})",nextBillingDisplay:"الفوترة التالية: {date}",membersInWorkspace:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}} في مساحة العمل",billingInCurrency:"الفوترة بـ {currency}",savingsPercent:"وفّر {percent, number}%",switchToInterval:"التبديل إلى {interval}",seatPriceDisplay:"+ {price}/مقعد{interval} ({included} {includedLabel})",trialEnded:"انتهت فترتك التجريبية.",trialEndsIn:"تنتهي فترتك التجريبية خلال {days, plural, zero {اليوم} one {يوم واحد} two {يومين} few {# أيام} many {# يوماً} other {# يوم}}.",onTrial:"أنت في فترة تجريبية.",upgradeToKeepAccess:"قم بالترقية للحفاظ على الوصول.",viewInvoices:"عرض الفواتير",cancelTrial:"إلغاء التجربة",dunningFinal:"تحذير أخير: سيتم تعليق الاشتراك",dunningSuspended:"الاشتراك معلق",dunningRecovery:"جارٍ استرداد الدفع",dunningSuspendedDescription:"تم تعليق اشتراكك بسبب فشل الدفع المتكرر. حدّث طريقة الدفع لاستعادة الوصول.",dunningRecoveryDescription:"لم نتمكن من معالجة دفعتك. يرجى تحديث طريقة الدفع لتجنب فقدان الوصول.",cancelEndDescription:"سينتهي اشتراكك في",trialEndDescription:"ستنتهي فترتك التجريبية في",cancelEndFallback:"سيتم إلغاء اشتراكك في نهاية فترة الفوترة الحالية. لن يتم تحصيل رسوم منك مرة أخرى.",resumeChargeDate:"سيتم تحصيل الرسوم منك مرة أخرى في",resumeChargeFallback:"تاريخ الفوترة التالي",resumeContinue:"سيستمر اشتراكك تلقائياً وسيتم فوترتك وفقاً لخطتك",resumeCancelAnytime:"يمكنك الإلغاء في أي وقت قبل تاريخ الفوترة التالي إذا غيرت رأيك",retainAccess:"ستحتفظ بالوصول الكامل إلى هذه الخطة حتى",retainAccessFallback:"نهاية فترة الفوترة الحالية",noPlansAvailable:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه. يرجى الاتصال بالدعم إذا كنت تعتقد أن هذا خطأ.",noPlansAvailableHint:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه.",startTrialDescription:"جرب الخطة الكاملة بدون التزام. يمكنك الترقية أو الإلغاء في أي وقت.",noSubscriptionDescription:"اختر خطة للبدء مع مساحة العمل الخاصة بك",startFreeTrial:"ابدأ التجربة المجانية",startTrialDays:"ابدأ تجربة مجانية لمدة {days} يوم",trialBadge:"تجربة {days} يوم"},users:{emailPlaceholder:"example@example.com",title:"أعضاء مساحة العمل",adminOnly:"فقط مدير مساحة العمل يمكنه إدارة المستخدمين والأدوار.",inviteByEmail:"دعوة عضو عبر البريد الإلكتروني",inviteButton:"دعوة",inviting:"جارٍ الدعوة...",inviteSuccess:"تمت دعوة المستخدم بنجاح",emailRequired:"البريد الإلكتروني مطلوب",invalidEmail:"صيغة البريد الإلكتروني غير صالحة",inviteFailed:"فشل في دعوة العضو",seatLimitReached:"تم الوصول لحد المقاعد",memberLimitReached:"تم الوصول لحد الأعضاء",role:"الدور",you:"أنت",owner:"المالك",noMembers:"لم يتم العثور على أعضاء في مساحة العمل هذه.",extraSeatCost:"كل عضو إضافي يضيف {price}/{interval, select, yearly {سنة} quarterly {ربع سنة} other {شهر}} لاشتراكك",unknownUser:"مستخدم غير معروف",seats:"المقاعد",members:"الأعضاء",included:"مشمول",perExtraSeat:"/مقعد إضافي",maxMembers:"الحد الأقصى للأعضاء",available:"متاح",noMemberLimit:"لا حد للأعضاء",seatHeading:"{hasSeatPricing, select, true {المقاعد} other {الأعضاء}}",limitReached:"{reason, select, seat_limit_reached {تم الوصول لحد المقاعد} other {تم الوصول لحد الأعضاء}}",memberCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",subscriptionRequired:"الاشتراك مطلوب لدعوة الأعضاء.",seatLimitMessage:"خطتك تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}. قم بالترقية للحصول على مقاعد إضافية.",settingsLimitMessage:"مساحة العمل هذه تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}.",memberLimitMessage:"تم الوصول لحد الأعضاء: {maxUsers, number}.",selectRole:"اختر دوراً",inviteAs:"دعوة كـ {role}",invitations:{title:"الدعوات المعلقة",pendingCount:"{count, plural, =0 {لا توجد دعوات معلقة} one {دعوة واحدة معلقة} other {# دعوات معلقة}}",sent:"تم إرسال الدعوة إلى {email}",resend:"إعادة الإرسال",resendIn:"إعادة الإرسال خلال {minutes, plural, one {دقيقة واحدة} other {# دقائق}}",revoke:"سحب",revokeTitle:"سحب الدعوة؟",revokeConfirm:"هل تريد سحب الدعوة المرسلة إلى {email}؟ سيتم إبلاغهم بأنها لم تعد صالحة.",sentAt:"أُرسلت {date}",expiresAt:"تنتهي {date}",seatNote:"{count, plural, one {دعوة معلقة واحدة تُحتسب كمقعد} other {# دعوات معلقة تُحتسب كمقاعد}} حتى يتم قبولها أو رفضها أو سحبها أو انتهاء صلاحيتها.",formerMember:"عضو سابق",loadFailed:"تعذر تحميل الدعوات",resendFailed:"تعذر إعادة إرسال الدعوة",revokeFailed:"تعذر سحب الدعوة",status:{invited:"معلقة",accepted:"مقبولة",rejected:"مرفوضة",expired:"منتهية"}}},invitations:{title:"تمت دعوتك",description:"دعاك {inviter} للانضمام إلى {workspace} بصفة {role}.",listDescription:"مساحات عمل بانتظار ردك.",titleJoined:"مرحبًا بك في {workspace}",titleUnavailable:"الدعوة غير متاحة",sentTo:"أُرسلت إلى {email}",invitedAs:"دعاك {inviter} بصفة {role}",accept:"قبول",decline:"رفض",accepted:"انضممت إلى {workspace}.",declined:"تم رفض الدعوة.",expired:"انتهت صلاحية هذه الدعوة. اطلب من {inviter} إرسال دعوة جديدة.",revoked:"هذه الدعوة لم تعد صالحة.",alreadyAccepted:"لقد قبلت هذه الدعوة بالفعل.",wrongAccount:"أُرسلت هذه الدعوة إلى {email}. سجّل الخروج ثم سجّل الدخول بهذا العنوان.",verifyFirst:"تحقق من بريدك الإلكتروني لقبول هذه الدعوة.",workspaceFull:"وصلت مساحة العمل هذه إلى حد الأعضاء. اطلب من مسؤول إفساح المجال.",disabled:"لم تعد مساحة العمل هذه تقبل الدعوات.",empty:"لا توجد دعوات بانتظارك",signInToAccept:"سجّل الدخول للقبول",dismiss:"إغلاق",signOut:"تسجيل الخروج",loadFailed:"تعذر تحميل الدعوة",acceptFailed:"تعذر قبول الدعوة",declineFailed:"تعذر رفض الدعوة"},invoices:{title:"سجل الفوترة",description:"عرض وتحميل فواتيرك",pay:"دفع",view:"عرض",viewDetails:"عرض التفاصيل",download:"PDF",errorLoading:"خطأ في تحميل الفواتير",noInvoices:"لا توجد فواتير بعد. اشترك في خطة لاستلام الفواتير.",noInvoicesWithSub:"لم يتم العثور على فواتير مع خيار التحميل",paidAmount:"المدفوع: {amount}",na:"غ/م",status:{draft:"مسودة",open:"مفتوح",paid:"مدفوع",uncollectible:"غير قابل للتحصيل",void:"ملغى"}},usage:{title:"الاستخدام",description:"راقب استهلاك مواردك وحصصك",totalResources:"إجمالي الموارد",overallUsage:"الاستخدام الإجمالي",inOverage:"تجاوز الحد",estOverageCost:"التكلفة التقديرية للتجاوز",overageDetected:"تم اكتشاف تجاوز",overageDescription:"سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",overageUnits:"وحدات التجاوز",rate:"المعدل",billableBlocks:"الكتل القابلة للفوترة",estimatedCharge:"الرسوم التقديرية",noData:"لا تتوفر بيانات استخدام الحصص لمساحة العمل هذه.",noDataHint:"ستظهر الحصص هنا عندما تتضمن خطتك موارد مقاسة.",used:"مستخدم",remaining:"متبقٍ",overLimit:"فوق الحد",percentUsed:"{percent, number}% مستخدم",availableRemaining:"{count} متبقٍ",overLimitCount:"{count} فوق الحد",overageWarning:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}} سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",fullyUsed:"مستخدم بالكامل",renewingSoon:"يتجدد قريباً",almostFull:"ممتلئ تقريباً",overage:"تجاوز",errorLoading:"فشل في تحميل بيانات الاستخدام",perUnit:"/ وحدة",perUnits:"/ وحدات",rateDisplay:"{rate} {unitSize, plural, =1 {/ وحدة} other {/ {unitSize, number} وحدة}}",resourcesExceeded:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}}",estOverageCharges:"الرسوم التقديرية للتجاوز في هذه الفترة: {amount}",overageRateDisplay:"معدل التجاوز: {rate}",resetDateDisplay:"يتم إعادة تعيين الاستخدام في {date}",daysRemainingDisplay:"{count, plural, zero {اليوم} one {يوم واحد متبقٍ} two {يومان متبقيان} few {# أيام متبقية} many {# يوماً متبقياً} other {# يوم متبقٍ}}"},profile:{email:"البريد الإلكتروني",name:"الاسم",language:"اللغة",country:"البلد",currency:"العملة",timezone:"المنطقة الزمنية",profileImage:"صورة الملف الشخصي",success:"تم حفظ الملف الشخصي بنجاح",nameMinLength:"يجب أن يتكون الاسم من حرفين على الأقل.",save:"حفظ",reset:"إعادة تعيين"},general:{ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير إعدادات مساحة العمل.",name:"الاسم",namePlaceholder:"مساحة العمل الرائعة",nameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",billingCurrency:"عملة الفوترة",icon:"الأيقونة",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",previewLabel:"معاينة:",previewImageAlt:"معاينة مساحة العمل",success:"تم حفظ إعدادات مساحة العمل بنجاح",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",updateWorkspace:"تحديث مساحة العمل"},features:{title:"ميزات مساحة العمل",ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير الميزات.",noFeatures:"لا توجد ميزات لإدارتها.",enabled:"مفعّل",disabled:"معطّل",enabling:"جارٍ التفعيل",disabling:"جارٍ التعطيل",featureSuccess:"بنجاح",updateSuccess:"تم {enabled, select, true {تفعيل} other {تعطيل}} {feature} بنجاح",actionStatus:"{action, select, enabling {جارٍ التفعيل} disabling {جارٍ التعطيل} other {}}",fallbackName:"الميزة"},danger:{title:"حذف مساحة العمل",adminOnly:"فقط مديرو مساحة العمل يمكنهم حذف مساحات العمل.",deleteWorkspace:"حذف مساحة العمل",deleteConfirm:"هل أنت متأكد تماماً؟",deleteWarning:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع البيانات المرتبطة نهائياً.",deleting:"جارٍ الحذف...",deleteDescription:"بمجرد حذف مساحة العمل لا يمكن العودة. سيتم حذف مساحة العمل وجميع بياناتها نهائياً، بما في ذلك الأعضاء والإعدادات والميزات.",deleteConfirmDescription:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع بياناتها نهائياً.",failedToDelete:"فشل في حذف مساحة العمل"},notifications:{inbox:{title:"الإشعارات",description:"كل ما أرسله إليك هذا التطبيق.",bellLabel:"الإشعارات",bellUnread:"{count, plural, zero {لا توجد إشعارات غير مقروءة} one {إشعار واحد غير مقروء} two {إشعاران غير مقروءين} few {# إشعارات غير مقروءة} many {# إشعارًا غير مقروء} other {# إشعار غير مقروء}}",filterAll:"الكل",filterUnread:"غير المقروءة",markAllRead:"تحديد الكل كمقروء",markRead:"تحديد كمقروء",markUnread:"تحديد كغير مقروء",archive:"أرشفة",loadMore:"تحميل المزيد",empty:"لقد اطلعت على كل شيء.",emptyUnread:"لا توجد إشعارات غير مقروءة.",loadFailed:"تعذر تحميل الإشعارات",updateFailed:"تعذر تحديث الإشعار",channelEmail:"البريد الإلكتروني",channelPush:"إشعار فوري",opened:"تم الفتح",clicked:"تم النقر",notDelivered:"لم يتم التسليم"},title:"تفضيلات الإشعارات",permissionDenied:"تم رفض إذن الإشعارات",notSupported:"الإشعارات الفورية غير مدعومة في هذا المتصفح.",manageDescription:"أدِر كيفية تلقي الإشعارات من مساحة العمل هذه.",blocked:"الإشعارات محظورة",blockedDescription:"لقد حظرت الإشعارات لهذا الموقع سابقاً. لتفعيلها، حدّث إعدادات متصفحك:",pushTitle:"الإشعارات الفورية",pushEnabledDescription:"ستتلقى إشعارات المتصفح للتحديثات المهمة.",pushDisabledDescription:"احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.",enabling:"جارٍ التفعيل...",disabling:"جارٍ التعطيل...",enable:"تفعيل",disable:"تعطيل",toggleAction:"{loading, select, true {{subscribed, select, true {جارٍ التعطيل...} other {جارٍ التفعيل...}}} other {{subscribed, select, true {تعطيل} other {تفعيل}}}}",pushDescription:"{subscribed, select, true {ستتلقى إشعارات المتصفح للتحديثات المهمة.} other {احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.}}",deviceNote:"يتم إرسال الإشعارات إلى هذا الجهاز. فعّلها على الأجهزة الأخرى بشكل منفصل.",prefsSaved:"تم حفظ تفضيلات الإشعارات.",prefsSaveFailed:"تعذر حفظ إعدادات الإشعارات",yourTitle:"إشعاراتك",yourDescription:"كيف تُبلَّغ بكل حدث في مساحة العمل هذه. يظل كل شيء في صندوق الوارد لديك.",defaultsTitle:"الإعدادات الافتراضية لمساحة العمل",defaultsDescription:"ما يحصل عليه الأعضاء ما لم يختاروا غير ذلك. لا يمكن للأعضاء تغيير حدث إلزامي.",requiredLabel:"إلزامي",requiredHint:"إلزامي في مساحة العمل هذه",loadingPrefs:"جارٍ تحميل التفضيلات...",categories:{workspace:"مساحة العمل",billing:"الفوترة والمدفوعات"},events:{workspace_invite:"تمت دعوة عضو",workspace_invite_desc:"عند إضافة عضو جديد إلى مساحة العمل",workspace_removed:"تمت إزالة عضو",workspace_removed_desc:"عند إزالة عضو من مساحة العمل",workspace_role_changed:"تم تغيير الدور",workspace_role_changed_desc:"عند تحديث دور أحد الأعضاء",subscription_created:"تم إنشاء الاشتراك",subscription_created_desc:"عند تفعيل اشتراك جديد",subscription_upgraded:"تمت ترقية الخطة",subscription_upgraded_desc:"عند ترقية خطة الاشتراك",subscription_canceled:"تم إلغاء الاشتراك",subscription_canceled_desc:"عند إلغاء الاشتراك",subscription_suspended:"تم تعليق الوصول",subscription_suspended_desc:"عند تعليق الوصول بسبب فشل المدفوعات",trial_ending:"الفترة التجريبية على وشك الانتهاء",trial_ending_desc:"قبل انتهاء الفترة التجريبية بأيام قليلة",trial_expired:"انتهت الفترة التجريبية",trial_expired_desc:"عند انتهاء الفترة التجريبية",payment_failed:"فشل الدفع",payment_failed_desc:"عند تعذر معالجة إحدى الدفعات",payment_action_required:"إجراء الدفع مطلوب",payment_action_required_desc:"عندما تتطلب إحدى الدفعات تحققاً إضافياً",payment_succeeded:"تم استلام الدفعة",payment_succeeded_desc:"عند معالجة الدفعة بنجاح"},unblock:{firefox:{step1:"انقر على أيقونة القفل (أو الدرع) في شريط العنوان",step2:'ابحث عن "Notifications" في قائمة الأذونات',step3:'غيّر من "Blocked" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},safari:{step1:"افتح Safari ← الإعدادات ← مواقع الويب ← الإشعارات",step2:"ابحث عن هذا الموقع في القائمة",step3:'غيّر من "Deny" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},edge:{step1:"انقر على أيقونة القفل في شريط العنوان",step2:'انقر على "Permissions for this site"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"},chrome:{step1:"انقر على أيقونة القفل (أو الضبط) في شريط العنوان",step2:'انقر على "Site settings"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"}}},quota:{includedOnly:"{count, number} مشمول",includedWithOverage:"{count, number} مشمول، ثم {price} / {unit}",includedHardLimit:"{count, number} مشمول (حد أقصى)",unitFallback:"وحدة"},pricing:{title:"اختر خطتك",description:"قارن بين الخطط واختر ما يناسب احتياجاتك",currency:"العملة",billingIn:"الفوترة بـ",noPlansCurrency:"لا توجد خطط متاحة لعملة الفوترة الخاصة بك.",noPlansCurrencyHint:"حدث خطأ ما. يرجى الاتصال بالدعم.",noPlans:"لا توجد خطط متاحة",free:"مجاني",included:"مشمول",save:"وفّر",current:"الحالي",processing:"جارٍ المعالجة...",unavailable:"غير متاح",selectCurrency:"اختر عملة الفوترة",billingInterval:"فترة الفوترة"},beta:{logoAlt:"الشعار",nameLabel:"الاسم",emailLabel:"البريد الإلكتروني",submitText:"إرسال",submittingText:"جارٍ الإرسال...",errorMessage:"حدث خطأ",tryAgain:"حاول مرة أخرى",privacyConsent:"بإرسال هذا النموذج، فإنك توافق على",privacyPolicy:"سياسة الخصوصية",and:"و",termsOfService:"شروط الخدمة"},workspace:{switchTitle:"تبديل مساحة العمل",switchDescription:"اختر مساحة عمل للتبديل إليها أو أنشئ واحدة جديدة.",notLoggedIn:"يبدو أنك لم تسجل الدخول. يرجى تسجيل الدخول للمتابعة.",availableWorkspaces:"مساحات العمل المتاحة ({count, number})",loadingWorkspaces:"جارٍ تحميل مساحات العمل...",searchPlaceholder:"بحث في مساحات العمل...",noWorkspacesFound:"لم يتم العثور على مساحات عمل",noWorkspacesAvailable:"لا تتوفر مساحات عمل",switchTo:"التبديل إلى",membersCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",createNew:"إنشاء مساحة عمل جديدة",createTitle:"إنشاء مساحة عمل جديدة",createDescription:"أنشئ مساحة عمل جديدة للبدء.",workspaceName:"اسم مساحة العمل",workspaceNamePlaceholder:"مساحة العمل الرائعة",workspaceNameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",workspaceIcon:"أيقونة مساحة العمل",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",invalidUrl:"يرجى إدخال رابط صالح",creating:"جارٍ الإنشاء...",createWorkspace:"إنشاء مساحة العمل"},dropdowns:{search:"بحث...",chooseOption:"اختر خياراً",chooseCountry:"اختر البلد",searchCountry:"اختر البلد...",chooseLanguage:"اختر اللغة",searchLanguage:"اختر اللغة...",chooseCurrency:"اختر العملة",searchCurrency:"اختر العملة...",chooseTimezone:"اختر المنطقة الزمنية",searchTimezone:"اختر المنطقة الزمنية...",noResults:"لم يتم العثور على نتائج"},push:{failedToSubscribe:"فشل في الاشتراك في الإشعارات الفورية",failedToUnsubscribe:"فشل في إلغاء الاشتراك من الإشعارات الفورية"},permissions:{title:"الصلاحيات",description:"قم بتكوين ما يمكن لكل دور القيام به في مساحة العمل هذه.",ownerOnly:"يمكن لمالك مساحة العمل فقط إدارة الصلاحيات.",save:"حفظ الصلاحيات",saving:"جارٍ الحفظ...",saveSuccess:"تم حفظ الصلاحيات بنجاح"},credits:{title:"الرصيد",description:"يمكن استخدام الرصيد للإجراءات المميزة مثل التوليد بالذكاء الاصطناعي.",balance:"رصيد الائتمان",available:"متاح",totalGranted:"إجمالي الممنوح",totalConsumed:"إجمالي المستهلك",totalExpired:"إجمالي المنتهي",noCredits:"لا يوجد رصيد بعد",noCreditsHint:"سيظهر الرصيد هنا عند منحه من خطتك أو شرائه.",buyCredits:"شراء رصيد",buyAmount:"شراء {count} رصيد",purchasing:"جارٍ إعادة التوجيه...",packages:"حزم الرصيد",noPackages:"لا تتوفر حزم رصيد.",creditsAmount:"{count} رصيد",validityDays:"صالح لمدة {count} يوم",validityUnlimited:"بدون انتهاء صلاحية",transactions:"المعاملات الأخيرة",noTransactions:"لا توجد معاملات بعد.",loadMore:"تحميل المزيد",viewAll:"عرض الكل",expiringSoon:"ينتهي قريباً",expiringInDays:"{count} رصيد ينتهي خلال {days} يوم",noExpiring:"لا يوجد رصيد ينتهي قريباً.",type:{plan_grant:"منحة الخطة",pack_purchased:"تم الشراء",consumed:"مستهلك",expired:"منتهي",admin_grant:"ممنوح",admin_revoke:"مسحوب",refund:"استرداد"},dialogTitle:"شراء حزم الرصيد",dialogDescription:"اختر حزمة رصيد للشراء.",dialogDescriptionWorkspace:"شراء رصيد لـ {workspace}.",perCredit:"{price} لكل وحدة رصيد",purchaseSuccess:"تم شراء الرصيد بنجاح! تم تحديث رصيدك.",purchaseCanceled:"تم إلغاء شراء الرصيد. لم يتم تحصيل أي رسوم.",purchaseFailed:"فشل شراء الرصيد. يرجى المحاولة مرة أخرى أو التواصل مع الدعم.",errorLoading:"فشل في تحميل بيانات الرصيد",insufficientCredits:"رصيد غير كافٍ",insufficientDetail:"رصيد غير كافٍ. المتاح: {available}، المطلوب: {requested}"},loading:{restoringSession:"جارٍ استعادة الجلسة...",redirecting:"جارٍ إعادة التوجيه...",signingIn:"جارٍ تسجيل الدخول...",verifyingAccount:"جارٍ التحقق من حسابك...",almostThere:"أوشكنا على الانتهاء..."},errors:{networkError:"خطأ في الشبكة: يرجى التحقق من اتصالك بالإنترنت",unauthorized:"غير مصرح - يرجى التحقق من جلستك",notFound:"المورد غير موجود",generic:"حدث خطأ",fetchPlans:"فشل في جلب الخطط",fetchPlanGroup:"فشل في جلب مجموعة الخطط",fetchPlanGroupVersion:"فشل في جلب إصدار مجموعة الخطط",fetchPlanGroupVersions:"فشل في جلب إصدارات مجموعة الخطط",fetchSubscription:"فشل في جلب الاشتراك",createCheckout:"فشل في إنشاء جلسة الدفع",updateSubscription:"فشل في تحديث الاشتراك",fetchInvoices:"فشل في جلب الفواتير",fetchInvoice:"فشل في جلب الفاتورة",openBillingPortal:"فشل في فتح بوابة الفوترة",cancelSubscription:"فشل في إلغاء الاشتراك",resumeSubscription:"فشل في استئناف الاشتراك",recordUsage:"فشل في تسجيل الاستخدام",fetchQuotaUsage:"فشل في جلب حالة استخدام الحصص",fetchAllQuotaUsage:"فشل في جلب جميع استخدامات الحصص",fetchUsageLogs:"فشل في جلب سجلات الاستخدام",fetchCreditBalance:"فشل في جلب رصيد الائتمان",consumeCredits:"فشل في استهلاك الرصيد",purchaseCredits:"فشل في شراء الرصيد",fetchCreditPackages:"فشل في جلب حزم الرصيد",fetchCreditTransactions:"فشل في جلب معاملات الرصيد",fetchExpiringCredits:"فشل في جلب الرصيد المنتهي قريباً",fetchWorkspaces:"فشل في تحميل مساحات العمل"},security:{connectedAgentsTitle:"الوكلاء المتصلون",connectedAgentsDescription:"وكلاء الذكاء الاصطناعي الذين منحتهم حق الوصول إلى حسابك. افصل أي وكيل لم تعد تستخدمه، وسيُلغى الوصول فورًا.",connectedAgentsDisconnect:"قطع الاتصال",connectedAgentsEmpty:"لا يوجد وكلاء متصلون.",connectedAgentsAccess:"الوصول",connectedAgentsGranted:"مُنح",connectedAgentsLoadFailed:"فشل في تحميل الوكلاء المتصلين",connectedAgentsRevokeFailed:"فشل في قطع الاتصال",mcpConnectAction:"توصيل وكيل",mcpGuideTitle:"توصيل وكيل ذكاء اصطناعي",mcpGuideDescription:"اسمح لمساعد ذكاء اصطناعي بالعمل بأمان في حسابك. اختر تطبيقك أدناه واتبع الخطوات — لن يستغرق الأمر سوى دقيقة.",mcpServerUrlLabel:"عنوان الخادم",mcpServerUrlHint:"بعض التطبيقات تطلب فقط لصق هذا العنوان.",mcpPromptLabel:"أو الصق هذا في الذكاء الاصطناعي",mcpPromptHint:"يعمل مع مساعدي الدردشة الذين يمكنهم إضافة أدوات — الصقه في الدردشة وأرسله.",mcpPromptTemplate:"يرجى الاتصال بحسابي على {{name}} باستخدام خادم MCP على {{url}}، ثم استخدم أدواته لمساعدتي.",mcpClientsLabel:"خطوة بخطوة للتطبيقات الشائعة",mcpAddToConfigFile:"افتح الملف {path} وأضِف هذا:",mcpClientChatgptInstructions:"في ChatGPT، انتقل إلى الإعدادات ← الموصّلات، اختر «إضافة موصّل مخصص»، والصق عنوان الخادم أعلاه.",mcpClientClaudeInstructions:"في Claude، انتقل إلى الإعدادات ← الموصّلات، اختر «إضافة موصّل مخصص»، والصق عنوان الخادم أعلاه.",mcpClientClineInstructions:"في Cline، افتح لوحة خوادم MCP، اختر «إضافة خادم بعيد»، والصق عنوان الخادم أعلاه.",mcpCopy:"نسخ",mcpCopied:"تم النسخ",mcpLearnMore:"اعرف المزيد",inactive:"غير نشط",inactiveHint:"سُجّل على نطاق تسجيل دخول سابق ولم يعد قابلاً للاستخدام. يمكنك إزالته.",passkeysTitle:"مفاتيح المرور",passkeysDescription:"تتيح مفاتيح المرور تسجيل الدخول ببصمة الإصبع أو الوجه أو رمز PIN للجهاز.",noPasskeys:"لا توجد مفاتيح مرور مسجلة",addHint:'لإضافة مفتاح مرور، اختر "إضافة مفتاح مرور" عند تسجيل الدخول التالي على الجهاز الذي تريد استخدامه.',rename:"إعادة تسمية",remove:"إزالة",removeTitle:"إزالة مفتاح المرور",removeDescription:"لن تتمكن من تسجيل الدخول بمفتاح المرور هذا بعد الآن.",renamePlaceholder:"اسم مفتاح المرور",lastUsed:"آخر استخدام",added:"أُضيف",devicesTitle:"أجهزتك",devicesDescription:"الهواتف وأجهزة الكمبيوتر التي استخدمتها لتسجيل الدخول. سجّل الخروج من أي جهاز لا تعرفه أو أزِله.",devicesEmpty:"لم تسجّل الدخول من أي جهاز بعد.",devicesLoadFailed:"تعذّر تحميل أجهزتك. يُرجى المحاولة مرة أخرى.",deviceCurrent:"هذا الجهاز",deviceTrusted:"موثوق",deviceActiveSessions:"{count, plural, zero {لا جلسات نشطة} one {جلسة نشطة واحدة} two {جلستان نشطتان} few {# جلسات نشطة} many {# جلسة نشطة} other {# جلسة نشطة}}",devicePushEnabled:"الإشعارات مفعّلة",deviceLastActive:"آخر استخدام: {date}",deviceRename:"إعادة تسمية",deviceRenamePlaceholder:"اسم الجهاز",deviceRenameFailed:"تعذّرت إعادة تسمية الجهاز. يُرجى المحاولة مرة أخرى.",deviceSave:"حفظ",deviceCancel:"إلغاء",deviceSignOut:"تسجيل الخروج",deviceSignOutFailed:"تعذّر تسجيل خروج الجهاز. يُرجى المحاولة مرة أخرى.",deviceForget:"إزالة",deviceForgetFailed:"تعذّرت إزالة الجهاز. يُرجى المحاولة مرة أخرى.",deviceForgetConfirmTitle:"إزالة هذا الجهاز؟",deviceForgetConfirmBody:"يؤدي هذا إلى تسجيل خروج الجهاز وإزالته من قائمتك. إذا سجّلت الدخول منه مرة أخرى، فسيظهر هنا من جديد.",sessionsTitle:"أين سجّلت الدخول",sessionsDescription:"أنت مُسجَّل الدخول حاليًا على هذه الأجهزة. سجّل الخروج من أي جهاز لا تعرفه.",sessionsEmpty:"لست مُسجَّل الدخول في أي مكان آخر.",sessionsLoadFailed:"تعذّر تحميل جلساتك. يُرجى المحاولة مرة أخرى.",sessionCurrent:"هذه الجلسة",sessionExpires:"يُسجَّل الخروج: {date}",sessionLastActive:"آخر استخدام: {date}",sessionSignOut:"تسجيل الخروج",sessionSignOutFailed:"تعذّر تسجيل الخروج من تلك الجلسة. يُرجى المحاولة مرة أخرى."}};