@burdenoff/microfe-billing 2026.614.1 → 2026.623.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/billing/BillingAdminRoutes.js +7 -6
- package/dist/billing/BillingAdminRoutes.js.map +1 -1
- package/dist/billing/BillingRoot.js +1 -1
- package/dist/billing/BillingRoot.js.map +1 -1
- package/dist/billing/modules/addons/components/FloatingCartDrawer.js +22 -22
- package/dist/billing/modules/addons/components/FloatingCartDrawer.js.map +1 -1
- package/dist/billing/modules/addons/pages/AddonCreatePage.js +31 -31
- package/dist/billing/modules/addons/pages/AddonCreatePage.js.map +1 -1
- package/dist/billing/modules/addons/pages/AddonDetailPage.js +39 -39
- package/dist/billing/modules/addons/pages/AddonDetailPage.js.map +1 -1
- package/dist/billing/modules/addons/pages/AddonEditPage.js +29 -29
- package/dist/billing/modules/addons/pages/AddonEditPage.js.map +1 -1
- package/dist/billing/modules/addons/pages/AddonsListPage.js +91 -91
- package/dist/billing/modules/addons/pages/AddonsListPage.js.map +1 -1
- package/dist/billing/modules/analytics/pages/AnalyticsPage.js +40 -40
- package/dist/billing/modules/analytics/pages/AnalyticsPage.js.map +1 -1
- package/dist/billing/modules/billing/pages/InvoiceDetailPage.js +115 -115
- package/dist/billing/modules/billing/pages/InvoiceDetailPage.js.map +1 -1
- package/dist/billing/modules/billing/pages/InvoicesListPage.js +75 -72
- package/dist/billing/modules/billing/pages/InvoicesListPage.js.map +1 -1
- package/dist/billing/modules/billing/pages/RefundsPage.js +126 -126
- package/dist/billing/modules/billing/pages/RefundsPage.js.map +1 -1
- package/dist/billing/modules/billing/pages/UserRefundsPage.js +45 -45
- package/dist/billing/modules/billing/pages/UserRefundsPage.js.map +1 -1
- package/dist/billing/modules/checkout/components/BillingAccountSelector.js +25 -25
- package/dist/billing/modules/checkout/components/BillingAccountSelector.js.map +1 -1
- package/dist/billing/modules/checkout/components/CompleteBillingAccountModal.js +31 -35
- package/dist/billing/modules/checkout/components/CompleteBillingAccountModal.js.map +1 -1
- package/dist/billing/modules/checkout/components/CreditsAmountInput.js +9 -9
- package/dist/billing/modules/checkout/components/CreditsAmountInput.js.map +1 -1
- package/dist/billing/modules/checkout/components/OrderSummary.js +31 -31
- package/dist/billing/modules/checkout/components/OrderSummary.js.map +1 -1
- package/dist/billing/modules/checkout/components/PromoCodeInput.js +8 -8
- package/dist/billing/modules/checkout/components/PromoCodeInput.js.map +1 -1
- package/dist/billing/modules/checkout/components/RazorpayPaymentButton.js +5 -5
- package/dist/billing/modules/checkout/components/RazorpayPaymentButton.js.map +1 -1
- package/dist/billing/modules/checkout/components/SimpleAutoPayToggle.js +9 -9
- package/dist/billing/modules/checkout/components/SimpleAutoPayToggle.js.map +1 -1
- package/dist/billing/modules/checkout/components/StripePaymentForm.js +21 -21
- package/dist/billing/modules/checkout/components/StripePaymentForm.js.map +1 -1
- package/dist/billing/modules/checkout/components/SubscriptionSelector.js +11 -11
- package/dist/billing/modules/checkout/components/SubscriptionSelector.js.map +1 -1
- package/dist/billing/modules/checkout/components/UnifiedPaymentMethodSelector.js +31 -31
- package/dist/billing/modules/checkout/components/UnifiedPaymentMethodSelector.js.map +1 -1
- package/dist/billing/modules/checkout/components/WorkspaceQuotaAssignmentModal.js +23 -23
- package/dist/billing/modules/checkout/components/WorkspaceQuotaAssignmentModal.js.map +1 -1
- package/dist/billing/modules/checkout/pages/CheckoutPage.js +91 -91
- package/dist/billing/modules/checkout/pages/CheckoutPage.js.map +1 -1
- package/dist/billing/modules/coupons/pages/CouponDetailPage.js +62 -62
- package/dist/billing/modules/coupons/pages/CouponDetailPage.js.map +1 -1
- package/dist/billing/modules/coupons/pages/CouponsListPage.js +72 -60
- package/dist/billing/modules/coupons/pages/CouponsListPage.js.map +1 -1
- package/dist/billing/modules/coupons/pages/CreateCouponPage.js +66 -66
- package/dist/billing/modules/coupons/pages/CreateCouponPage.js.map +1 -1
- package/dist/billing/modules/coupons/pages/EditCouponPage.js +46 -46
- package/dist/billing/modules/coupons/pages/EditCouponPage.js.map +1 -1
- package/dist/billing/modules/credits/pages/AdminCreditsPage.js +19 -19
- package/dist/billing/modules/credits/pages/AdminCreditsPage.js.map +1 -1
- package/dist/billing/modules/credits/pages/CreditTransactionsPage.js +37 -37
- package/dist/billing/modules/credits/pages/CreditTransactionsPage.js.map +1 -1
- package/dist/billing/modules/credits/pages/CreditWithdrawalPage.js +90 -90
- package/dist/billing/modules/credits/pages/CreditWithdrawalPage.js.map +1 -1
- package/dist/billing/modules/credits/pages/CreditsPage.js +41 -41
- package/dist/billing/modules/credits/pages/CreditsPage.js.map +1 -1
- package/dist/billing/modules/dashboard/components/ActiveSubscriptionCard.js +31 -31
- package/dist/billing/modules/dashboard/components/ActiveSubscriptionCard.js.map +1 -1
- package/dist/billing/modules/dashboard/components/AddPaymentMethodModal.js +35 -35
- package/dist/billing/modules/dashboard/components/AddPaymentMethodModal.js.map +1 -1
- package/dist/billing/modules/dashboard/components/BillingAccountCard.js +24 -24
- package/dist/billing/modules/dashboard/components/BillingAccountCard.js.map +1 -1
- package/dist/billing/modules/dashboard/components/CreateBillingAccountModal.js +99 -99
- package/dist/billing/modules/dashboard/components/CreateBillingAccountModal.js.map +1 -1
- package/dist/billing/modules/dashboard/components/PaymentMethodsSection.js +23 -23
- package/dist/billing/modules/dashboard/components/PaymentMethodsSection.js.map +1 -1
- package/dist/billing/modules/dashboard/components/RecommendedAddonsSection.js +22 -22
- package/dist/billing/modules/dashboard/components/RecommendedAddonsSection.js.map +1 -1
- package/dist/billing/modules/dashboard/pages/OverviewPage.js +58 -58
- package/dist/billing/modules/dashboard/pages/OverviewPage.js.map +1 -1
- package/dist/billing/modules/discounts/pages/DiscountsListPage.js +126 -126
- package/dist/billing/modules/discounts/pages/DiscountsListPage.js.map +1 -1
- package/dist/billing/modules/earnings/pages/PayoutAdminPage.js +83 -79
- package/dist/billing/modules/earnings/pages/PayoutAdminPage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlanAssignFreePage.js +16 -16
- package/dist/billing/modules/plans/pages/PlanAssignFreePage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlanBrowseDetailPage.js +40 -40
- package/dist/billing/modules/plans/pages/PlanBrowseDetailPage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlanCreatePage.js +35 -35
- package/dist/billing/modules/plans/pages/PlanCreatePage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlanDetailPage.js +57 -57
- package/dist/billing/modules/plans/pages/PlanDetailPage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlanEditPage.js +35 -35
- package/dist/billing/modules/plans/pages/PlanEditPage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlansBrowsePage.js +57 -57
- package/dist/billing/modules/plans/pages/PlansBrowsePage.js.map +1 -1
- package/dist/billing/modules/plans/pages/PlansListPage.js +52 -52
- package/dist/billing/modules/plans/pages/PlansListPage.js.map +1 -1
- package/dist/billing/modules/promotions/pages/CreatePromotionPage.js +40 -39
- package/dist/billing/modules/promotions/pages/CreatePromotionPage.js.map +1 -1
- package/dist/billing/modules/promotions/pages/PromotionsListPage.js +22 -19
- package/dist/billing/modules/promotions/pages/PromotionsListPage.js.map +1 -1
- package/dist/billing/modules/quota/pages/QuotaTemplateCreatePage.js +34 -34
- package/dist/billing/modules/quota/pages/QuotaTemplateCreatePage.js.map +1 -1
- package/dist/billing/modules/quota/pages/QuotaTemplateDetailPage.js +47 -47
- package/dist/billing/modules/quota/pages/QuotaTemplateDetailPage.js.map +1 -1
- package/dist/billing/modules/quota/pages/QuotaTemplateEditPage.js +39 -39
- package/dist/billing/modules/quota/pages/QuotaTemplateEditPage.js.map +1 -1
- package/dist/billing/modules/quota/pages/QuotaTemplatesListPage.js +52 -52
- package/dist/billing/modules/quota/pages/QuotaTemplatesListPage.js.map +1 -1
- package/dist/billing/modules/subscriptions/components/ManageSeatsModal.js +23 -23
- package/dist/billing/modules/subscriptions/components/ManageSeatsModal.js.map +1 -1
- package/dist/billing/modules/subscriptions/pages/SubscriptionDetailPage.js +259 -246
- package/dist/billing/modules/subscriptions/pages/SubscriptionDetailPage.js.map +1 -1
- package/dist/billing/modules/subscriptions/pages/SubscriptionsListPage.js +88 -85
- package/dist/billing/modules/subscriptions/pages/SubscriptionsListPage.js.map +1 -1
- package/dist/billing/modules/subscriptions/pages/UpgradeSubscriptionPage.js +51 -51
- package/dist/billing/modules/subscriptions/pages/UpgradeSubscriptionPage.js.map +1 -1
- package/dist/billing/modules/usage/pages/UsagePage.js +206 -196
- package/dist/billing/modules/usage/pages/UsagePage.js.map +1 -1
- package/dist/billing/shared/components/ServerError.js +4 -4
- package/dist/billing/shared/components/ServerError.js.map +1 -1
- package/dist/billing/shared/components/StatCard.js +11 -33
- package/dist/billing/shared/components/StatCard.js.map +1 -1
- package/dist/billing/shared/ui/Card.js +15 -0
- package/dist/billing/shared/ui/Card.js.map +1 -0
- package/dist/billing/shared/ui/MetricCard.js +44 -0
- package/dist/billing/shared/ui/MetricCard.js.map +1 -0
- package/dist/billing/shared/ui/ProgressBar.js +30 -0
- package/dist/billing/shared/ui/ProgressBar.js.map +1 -0
- package/dist/billing/shared/ui/SectionHeader.js +2 -0
- package/dist/billing/shared/ui/StatusPill.js +28 -0
- package/dist/billing/shared/ui/StatusPill.js.map +1 -0
- package/dist/billing/shared/ui/index.js +5 -0
- package/dist/billing/shared/utils/tokens.js +13 -30
- package/dist/billing/shared/utils/tokens.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
24
24
|
default: return /* @__PURE__ */ A(C, { className: `${n} ${t.neutral.icon}` });
|
|
25
25
|
}
|
|
26
26
|
}, N = ({ status: e }) => /* @__PURE__ */ A("span", {
|
|
27
|
-
className: `px-2 py-0.5 text-xs font-medium rounded ${{
|
|
27
|
+
className: `px-2 py-0.5 text-xs font-medium rounded-full ${{
|
|
28
28
|
EXHAUSTED: `${t.error.bg} ${t.error.text}`,
|
|
29
29
|
CRITICAL: `${t.error.bg} ${t.error.text}`,
|
|
30
30
|
WARNING: `${t.warning.bg} ${t.warning.text}`,
|
|
@@ -35,7 +35,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
35
35
|
}), P = ({ percentage: e, status: n }) => {
|
|
36
36
|
let r = Math.min(100, Math.max(0, e));
|
|
37
37
|
return /* @__PURE__ */ A("div", {
|
|
38
|
-
className: "w-full bg-
|
|
38
|
+
className: "w-full bg-bg-sunken rounded-full h-2.5 overflow-hidden",
|
|
39
39
|
children: /* @__PURE__ */ A("div", {
|
|
40
40
|
className: `h-full rounded-full transition-all duration-300 ${{
|
|
41
41
|
EXHAUSTED: t.error.dot,
|
|
@@ -55,18 +55,6 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
55
55
|
red: t.error,
|
|
56
56
|
gray: t.neutral
|
|
57
57
|
}[i], c = {
|
|
58
|
-
blue: `${s.bg} ${s.border}`,
|
|
59
|
-
emerald: `${s.bg} ${s.border}`,
|
|
60
|
-
amber: `${s.bg} ${s.border}`,
|
|
61
|
-
red: `${s.bg} ${s.border}`,
|
|
62
|
-
gray: `${s.bg} ${s.border}`
|
|
63
|
-
}, l = {
|
|
64
|
-
blue: `ring-2 ring-offset-2 dark:ring-offset-background ${t.info.border.replace("border-", "ring-")}`,
|
|
65
|
-
emerald: `ring-2 ring-offset-2 dark:ring-offset-background ${t.success.border.replace("border-", "ring-")}`,
|
|
66
|
-
amber: `ring-2 ring-offset-2 dark:ring-offset-background ${t.warning.border.replace("border-", "ring-")}`,
|
|
67
|
-
red: `ring-2 ring-offset-2 dark:ring-offset-background ${t.error.border.replace("border-", "ring-")}`,
|
|
68
|
-
gray: `ring-2 ring-offset-2 dark:ring-offset-background ${t.neutral.border.replace("border-", "ring-")}`
|
|
69
|
-
}, u = {
|
|
70
58
|
blue: t.info.icon,
|
|
71
59
|
emerald: t.success.icon,
|
|
72
60
|
amber: t.warning.icon,
|
|
@@ -76,18 +64,22 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
76
64
|
return /* @__PURE__ */ j("button", {
|
|
77
65
|
type: "button",
|
|
78
66
|
onClick: o,
|
|
79
|
-
|
|
67
|
+
"aria-pressed": a,
|
|
68
|
+
className: `rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1 p-5 w-full text-left ${o ? "cursor-pointer transition-all duration-200 ease-[var(--motion-easing-out)] hover:border-border-strong hover:shadow-elevation-2 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]" : ""} ${a ? "ring-1 ring-[var(--color-focus-ring)] border-border-strong" : ""}`,
|
|
80
69
|
children: [/* @__PURE__ */ j("div", {
|
|
81
|
-
className: "flex items-
|
|
70
|
+
className: "flex items-start justify-between gap-3",
|
|
82
71
|
children: [/* @__PURE__ */ A("span", {
|
|
83
|
-
className:
|
|
84
|
-
children: r
|
|
85
|
-
}), /* @__PURE__ */ A("span", {
|
|
86
|
-
className: "text-sm text-muted-foreground",
|
|
72
|
+
className: "text-sm text-text-secondary",
|
|
87
73
|
children: e
|
|
74
|
+
}), /* @__PURE__ */ A("span", {
|
|
75
|
+
className: `flex size-9 shrink-0 items-center justify-center rounded-lg ${s.bg}`,
|
|
76
|
+
children: /* @__PURE__ */ A("span", {
|
|
77
|
+
className: c[i],
|
|
78
|
+
children: r
|
|
79
|
+
})
|
|
88
80
|
})]
|
|
89
81
|
}), /* @__PURE__ */ A("p", {
|
|
90
|
-
className: "text-2xl font-
|
|
82
|
+
className: "mt-2 text-2xl font-semibold tabular-nums text-text-primary",
|
|
91
83
|
children: n
|
|
92
84
|
})]
|
|
93
85
|
});
|
|
@@ -95,31 +87,31 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
95
87
|
let r = e.totalLimit != null && e.totalLimit > 0 && !e.noLimit;
|
|
96
88
|
return /* @__PURE__ */ j("tr", {
|
|
97
89
|
onClick: n,
|
|
98
|
-
className: "cursor-pointer hover:bg-
|
|
90
|
+
className: "cursor-pointer hover:bg-bg-sunken transition-colors border-b border-border-subtle last:border-b-0",
|
|
99
91
|
children: [
|
|
100
92
|
/* @__PURE__ */ j("td", {
|
|
101
93
|
className: "px-4 py-3",
|
|
102
94
|
children: [
|
|
103
95
|
/* @__PURE__ */ A("span", {
|
|
104
|
-
className: "text-sm font-medium text-
|
|
96
|
+
className: "text-sm font-medium text-text-link hover:underline capitalize",
|
|
105
97
|
children: e.displayName || e.name.replace(/_/g, " ")
|
|
106
98
|
}),
|
|
107
99
|
/* @__PURE__ */ A("span", {
|
|
108
|
-
className: "block text-xs font-mono text-muted
|
|
100
|
+
className: "block text-xs font-mono text-text-muted mt-0.5",
|
|
109
101
|
children: e.name
|
|
110
102
|
}),
|
|
111
103
|
e.description && /* @__PURE__ */ A("span", {
|
|
112
|
-
className: "block text-xs text-
|
|
104
|
+
className: "block text-xs text-text-secondary mt-0.5 max-w-[220px] truncate",
|
|
113
105
|
children: e.description
|
|
114
106
|
}),
|
|
115
107
|
e.quotaCount > 1 && /* @__PURE__ */ j("span", {
|
|
116
|
-
className: "block text-xs text-
|
|
108
|
+
className: "block text-xs text-text-secondary mt-0.5",
|
|
117
109
|
children: [e.quotaCount, " assignments"]
|
|
118
110
|
})
|
|
119
111
|
]
|
|
120
112
|
}),
|
|
121
113
|
t !== void 0 && /* @__PURE__ */ A("td", {
|
|
122
|
-
className: "px-4 py-3 text-sm text-
|
|
114
|
+
className: "px-4 py-3 text-sm text-text-secondary whitespace-nowrap",
|
|
123
115
|
children: t
|
|
124
116
|
}),
|
|
125
117
|
/* @__PURE__ */ A("td", {
|
|
@@ -127,7 +119,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
127
119
|
children: /* @__PURE__ */ j("div", {
|
|
128
120
|
className: "space-y-1.5",
|
|
129
121
|
children: [/* @__PURE__ */ j("span", {
|
|
130
|
-
className: "text-sm text-
|
|
122
|
+
className: "text-sm text-text-primary tabular-nums",
|
|
131
123
|
children: [
|
|
132
124
|
i(e.totalUsed),
|
|
133
125
|
"\xA0/\xA0",
|
|
@@ -141,7 +133,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
141
133
|
})
|
|
142
134
|
}),
|
|
143
135
|
/* @__PURE__ */ A("td", {
|
|
144
|
-
className: "px-4 py-3 text-sm text-
|
|
136
|
+
className: "px-4 py-3 text-sm text-text-secondary tabular-nums whitespace-nowrap",
|
|
145
137
|
children: r ? i(e.totalLimit) : "∞"
|
|
146
138
|
}),
|
|
147
139
|
/* @__PURE__ */ A("td", {
|
|
@@ -151,30 +143,30 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
151
143
|
]
|
|
152
144
|
});
|
|
153
145
|
}, re = ({ quotas: e, planLabel: t, showPlanColumn: n = !0, onQuotaClick: r }) => /* @__PURE__ */ A("div", {
|
|
154
|
-
className: "overflow-x-auto rounded-
|
|
146
|
+
className: "overflow-x-auto rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1",
|
|
155
147
|
children: /* @__PURE__ */ j("table", {
|
|
156
148
|
className: "w-full text-left",
|
|
157
149
|
children: [/* @__PURE__ */ A("thead", { children: /* @__PURE__ */ j("tr", {
|
|
158
|
-
className: "border-b border-border bg-
|
|
150
|
+
className: "border-b border-border-subtle bg-bg-sunken",
|
|
159
151
|
children: [
|
|
160
152
|
/* @__PURE__ */ A("th", {
|
|
161
|
-
className: "px-4 py-2.5 text-xs font-semibold text-muted
|
|
153
|
+
className: "px-4 py-2.5 text-xs font-semibold text-text-muted uppercase tracking-wider",
|
|
162
154
|
children: "Quotas"
|
|
163
155
|
}),
|
|
164
156
|
n && /* @__PURE__ */ A("th", {
|
|
165
|
-
className: "px-4 py-2.5 text-xs font-semibold text-muted
|
|
157
|
+
className: "px-4 py-2.5 text-xs font-semibold text-text-muted uppercase tracking-wider",
|
|
166
158
|
children: "Plan"
|
|
167
159
|
}),
|
|
168
160
|
/* @__PURE__ */ A("th", {
|
|
169
|
-
className: "px-4 py-2.5 text-xs font-semibold text-muted
|
|
161
|
+
className: "px-4 py-2.5 text-xs font-semibold text-text-muted uppercase tracking-wider",
|
|
170
162
|
children: "Current Usage"
|
|
171
163
|
}),
|
|
172
164
|
/* @__PURE__ */ A("th", {
|
|
173
|
-
className: "px-4 py-2.5 text-xs font-semibold text-muted
|
|
165
|
+
className: "px-4 py-2.5 text-xs font-semibold text-text-muted uppercase tracking-wider",
|
|
174
166
|
children: "Limit"
|
|
175
167
|
}),
|
|
176
168
|
/* @__PURE__ */ A("th", {
|
|
177
|
-
className: "px-4 py-2.5 text-xs font-semibold text-muted
|
|
169
|
+
className: "px-4 py-2.5 text-xs font-semibold text-text-muted uppercase tracking-wider",
|
|
178
170
|
children: "Status"
|
|
179
171
|
})
|
|
180
172
|
]
|
|
@@ -194,27 +186,31 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
194
186
|
upgraded: `${t.primary.bg} ${t.primary.text}`
|
|
195
187
|
};
|
|
196
188
|
return /* @__PURE__ */ j("div", {
|
|
197
|
-
className: "border border-border rounded-
|
|
189
|
+
className: "border border-border-subtle rounded-card bg-bg-surface shadow-elevation-1 overflow-hidden",
|
|
198
190
|
children: [
|
|
199
191
|
/* @__PURE__ */ j("button", {
|
|
200
192
|
type: "button",
|
|
201
193
|
onClick: () => a(!i),
|
|
202
|
-
|
|
194
|
+
"aria-expanded": i,
|
|
195
|
+
className: "w-full flex items-center justify-between p-4 hover:bg-bg-sunken transition-colors",
|
|
203
196
|
children: [/* @__PURE__ */ j("div", {
|
|
204
197
|
className: "flex items-center gap-3",
|
|
205
|
-
children: [/* @__PURE__ */ A(
|
|
198
|
+
children: [/* @__PURE__ */ A("span", {
|
|
199
|
+
className: "flex size-9 shrink-0 items-center justify-center rounded-lg bg-[var(--color-accent-soft)]",
|
|
200
|
+
children: /* @__PURE__ */ A(T, { className: "size-5 text-text-link" })
|
|
201
|
+
}), /* @__PURE__ */ j("div", {
|
|
206
202
|
className: "text-left",
|
|
207
203
|
children: [/* @__PURE__ */ j("div", {
|
|
208
204
|
className: "flex items-center gap-2",
|
|
209
205
|
children: [/* @__PURE__ */ A("span", {
|
|
210
|
-
className: "font-medium text-
|
|
206
|
+
className: "font-medium text-text-primary",
|
|
211
207
|
children: "Subscription"
|
|
212
208
|
}), /* @__PURE__ */ A("span", {
|
|
213
|
-
className: `px-2 py-0.5 text-xs font-medium rounded capitalize ${o[e.status.toLowerCase()] || o.active}`,
|
|
209
|
+
className: `px-2 py-0.5 text-xs font-medium rounded-full capitalize ${o[e.status.toLowerCase()] || o.active}`,
|
|
214
210
|
children: e.status
|
|
215
211
|
})]
|
|
216
212
|
}), /* @__PURE__ */ j("p", {
|
|
217
|
-
className: "text-xs text-
|
|
213
|
+
className: "text-xs text-text-secondary",
|
|
218
214
|
children: [
|
|
219
215
|
e.aggregatedQuotas.length,
|
|
220
216
|
" quota type",
|
|
@@ -222,10 +218,10 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
222
218
|
]
|
|
223
219
|
})]
|
|
224
220
|
})]
|
|
225
|
-
}), A(i ? y : x, { className: "size-5 text-muted
|
|
221
|
+
}), A(i ? y : x, { className: "size-5 text-text-muted" })]
|
|
226
222
|
}),
|
|
227
223
|
i && e.aggregatedQuotas.length > 0 && /* @__PURE__ */ A("div", {
|
|
228
|
-
className: "border-t border-border",
|
|
224
|
+
className: "border-t border-border-subtle",
|
|
229
225
|
children: /* @__PURE__ */ A(re, {
|
|
230
226
|
quotas: e.aggregatedQuotas,
|
|
231
227
|
planLabel: e.planName || e.productId || void 0,
|
|
@@ -234,9 +230,9 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
234
230
|
})
|
|
235
231
|
}),
|
|
236
232
|
i && e.aggregatedQuotas.length === 0 && /* @__PURE__ */ A("div", {
|
|
237
|
-
className: "border-t border-border p-6 text-center",
|
|
233
|
+
className: "border-t border-border-subtle p-6 text-center",
|
|
238
234
|
children: /* @__PURE__ */ A("p", {
|
|
239
|
-
className: "text-sm text-
|
|
235
|
+
className: "text-sm text-text-secondary",
|
|
240
236
|
children: "No quotas assigned to this subscription"
|
|
241
237
|
})
|
|
242
238
|
})
|
|
@@ -254,13 +250,13 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
254
250
|
className: "absolute inset-0 bg-overlay-scrim",
|
|
255
251
|
onClick: o
|
|
256
252
|
}), /* @__PURE__ */ j("div", {
|
|
257
|
-
className: "relative bg-
|
|
253
|
+
className: "relative bg-bg-elevated border border-border-subtle rounded-card shadow-[var(--shadow-elevation-4)] max-w-2xl w-full mx-4 max-h-[90vh] overflow-auto",
|
|
258
254
|
role: "dialog",
|
|
259
255
|
"aria-modal": "true",
|
|
260
256
|
"aria-labelledby": "quota-detail-title",
|
|
261
257
|
children: [
|
|
262
258
|
/* @__PURE__ */ j("div", {
|
|
263
|
-
className: "sticky top-0 bg-
|
|
259
|
+
className: "sticky top-0 bg-bg-elevated border-b border-border-subtle p-4 flex items-center justify-between",
|
|
264
260
|
children: [/* @__PURE__ */ j("div", {
|
|
265
261
|
className: "flex items-center gap-3",
|
|
266
262
|
children: [/* @__PURE__ */ A(ne, {
|
|
@@ -269,19 +265,19 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
269
265
|
}), /* @__PURE__ */ j("div", { children: [
|
|
270
266
|
/* @__PURE__ */ A("h2", {
|
|
271
267
|
id: "quota-detail-title",
|
|
272
|
-
className: "text-lg font-semibold capitalize",
|
|
268
|
+
className: "text-lg font-semibold capitalize text-text-primary",
|
|
273
269
|
children: n.displayName || n.name.replace(/_/g, " ")
|
|
274
270
|
}),
|
|
275
271
|
/* @__PURE__ */ A("p", {
|
|
276
|
-
className: "text-xs font-mono text-muted
|
|
272
|
+
className: "text-xs font-mono text-text-muted",
|
|
277
273
|
children: n.name
|
|
278
274
|
}),
|
|
279
275
|
n.description && /* @__PURE__ */ A("p", {
|
|
280
|
-
className: "text-sm text-
|
|
276
|
+
className: "text-sm text-text-secondary mt-0.5",
|
|
281
277
|
children: n.description
|
|
282
278
|
}),
|
|
283
279
|
/* @__PURE__ */ j("p", {
|
|
284
|
-
className: "text-sm text-
|
|
280
|
+
className: "text-sm text-text-secondary mt-0.5",
|
|
285
281
|
children: [
|
|
286
282
|
n.quotaCount,
|
|
287
283
|
" quota assignment",
|
|
@@ -292,20 +288,20 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
292
288
|
}), /* @__PURE__ */ A("button", {
|
|
293
289
|
type: "button",
|
|
294
290
|
onClick: o,
|
|
295
|
-
className: "p-1 rounded-
|
|
291
|
+
className: "p-1 rounded-button text-text-secondary hover:text-text-primary hover:bg-bg-sunken transition-colors",
|
|
296
292
|
"aria-label": "Close quota details",
|
|
297
293
|
children: /* @__PURE__ */ A(D, { className: "size-5" })
|
|
298
294
|
})]
|
|
299
295
|
}),
|
|
300
296
|
/* @__PURE__ */ j("div", {
|
|
301
|
-
className: "p-4 border-b border-border",
|
|
297
|
+
className: "p-4 border-b border-border-subtle",
|
|
302
298
|
children: [/* @__PURE__ */ j("div", {
|
|
303
299
|
className: "mb-4",
|
|
304
300
|
children: [
|
|
305
301
|
/* @__PURE__ */ j("div", {
|
|
306
302
|
className: "flex items-center justify-between mb-2",
|
|
307
303
|
children: [/* @__PURE__ */ A("span", {
|
|
308
|
-
className: "text-sm text-
|
|
304
|
+
className: "text-sm text-text-secondary",
|
|
309
305
|
children: "Usage"
|
|
310
306
|
}), /* @__PURE__ */ A(N, { status: n.status })]
|
|
311
307
|
}),
|
|
@@ -316,7 +312,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
316
312
|
/* @__PURE__ */ j("div", {
|
|
317
313
|
className: "flex items-center justify-between mt-2 text-sm",
|
|
318
314
|
children: [/* @__PURE__ */ j("span", {
|
|
319
|
-
className: "font-medium",
|
|
315
|
+
className: "font-medium text-text-primary tabular-nums",
|
|
320
316
|
children: [
|
|
321
317
|
i(n.totalUsed),
|
|
322
318
|
" /",
|
|
@@ -325,7 +321,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
325
321
|
n.unit && ` ${n.unit}`
|
|
326
322
|
]
|
|
327
323
|
}), /* @__PURE__ */ A("span", {
|
|
328
|
-
className: "text-
|
|
324
|
+
className: "text-text-secondary",
|
|
329
325
|
children: n.totalLimit != null && n.totalLimit > 0 ? `${Math.round(n.usagePercentage)}% used` : "Unlimited"
|
|
330
326
|
})]
|
|
331
327
|
})
|
|
@@ -333,36 +329,36 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
333
329
|
}), n.quotaCount > 1 && /* @__PURE__ */ j("div", {
|
|
334
330
|
className: "mt-4",
|
|
335
331
|
children: [/* @__PURE__ */ A("h3", {
|
|
336
|
-
className: "text-sm font-medium text-
|
|
332
|
+
className: "text-sm font-medium text-text-primary mb-3",
|
|
337
333
|
children: "Quota Breakdown"
|
|
338
334
|
}), /* @__PURE__ */ A("div", {
|
|
339
|
-
className: "border border-border rounded-
|
|
335
|
+
className: "border border-border-subtle rounded-card overflow-hidden divide-y divide-border-subtle",
|
|
340
336
|
children: [...n.quotaAssignments].sort((e, t) => (e.endtime ? new Date(e.endtime).getTime() : Infinity) - (t.endtime ? new Date(t.endtime).getTime() : Infinity)).map((e) => {
|
|
341
337
|
let n = e.endtime ? new Date(e.endtime) : null, r = /* @__PURE__ */ new Date(), a = n && n < r, o = n ? Math.ceil((n.getTime() - r.getTime()) / (1440 * 60 * 1e3)) : null, s = o !== null && o > 0 && o <= 7;
|
|
342
338
|
return /* @__PURE__ */ j("div", {
|
|
343
|
-
className: `flex items-center justify-between px-3 py-2.5 ${a ? "bg-
|
|
339
|
+
className: `flex items-center justify-between px-3 py-2.5 ${a ? "bg-bg-sunken" : s ? t.warning.bg : "bg-bg-surface"}`,
|
|
344
340
|
children: [/* @__PURE__ */ j("div", {
|
|
345
341
|
className: "flex items-center gap-2",
|
|
346
342
|
children: [s && !a && /* @__PURE__ */ A("span", { className: `size-2 rounded-full ${t.warning.dot} animate-pulse` }), /* @__PURE__ */ j("div", {
|
|
347
343
|
className: "flex flex-col",
|
|
348
344
|
children: [/* @__PURE__ */ A("span", {
|
|
349
|
-
className: `text-sm ${a ? "text-muted
|
|
345
|
+
className: `text-sm ${a ? "text-text-muted" : "text-text-primary"}`,
|
|
350
346
|
children: n ? n.toLocaleDateString("en-US", {
|
|
351
347
|
month: "short",
|
|
352
348
|
day: "numeric",
|
|
353
349
|
year: "numeric"
|
|
354
350
|
}) : "No expiry"
|
|
355
351
|
}), /* @__PURE__ */ A("span", {
|
|
356
|
-
className: `text-xs ${a ? "text-
|
|
352
|
+
className: `text-xs ${a ? "text-status-error-text" : s ? t.warning.text : "text-text-secondary"}`,
|
|
357
353
|
children: a ? "Expired" : o === null ? "Never expires" : o === 0 ? "Expires today" : o === 1 ? "Expires tomorrow" : `${o} days left`
|
|
358
354
|
})]
|
|
359
355
|
})]
|
|
360
356
|
}), /* @__PURE__ */ A("div", {
|
|
361
357
|
className: "text-right",
|
|
362
358
|
children: /* @__PURE__ */ j("span", {
|
|
363
|
-
className: `text-sm font-semibold ${a ? "text-muted
|
|
359
|
+
className: `text-sm font-semibold tabular-nums ${a ? "text-text-muted" : "text-text-primary"}`,
|
|
364
360
|
children: [i(e.used), /* @__PURE__ */ j("span", {
|
|
365
|
-
className: "text-
|
|
361
|
+
className: "text-text-secondary font-normal",
|
|
366
362
|
children: [
|
|
367
363
|
" / ",
|
|
368
364
|
e.limit != null && e.limit > 0 ? i(e.limit) : "∞",
|
|
@@ -377,9 +373,9 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
377
373
|
})]
|
|
378
374
|
}),
|
|
379
375
|
(C || S.length > 0) && /* @__PURE__ */ j("div", {
|
|
380
|
-
className: "p-4 border-t border-border",
|
|
376
|
+
className: "p-4 border-t border-border-subtle",
|
|
381
377
|
children: [/* @__PURE__ */ A("h3", {
|
|
382
|
-
className: "text-sm font-medium text-
|
|
378
|
+
className: "text-sm font-medium text-text-primary mb-3",
|
|
383
379
|
children: "Live Value History"
|
|
384
380
|
}), C ? /* @__PURE__ */ A("div", {
|
|
385
381
|
className: "space-y-1.5",
|
|
@@ -387,24 +383,24 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
387
383
|
1,
|
|
388
384
|
2,
|
|
389
385
|
3
|
|
390
|
-
].map((e) => /* @__PURE__ */ A("div", { className: "h-8 bg-
|
|
386
|
+
].map((e) => /* @__PURE__ */ A("div", { className: "h-8 bg-bg-sunken animate-pulse rounded" }, e))
|
|
391
387
|
}) : /* @__PURE__ */ A("div", {
|
|
392
388
|
className: "space-y-1.5",
|
|
393
389
|
children: S.map((e) => /* @__PURE__ */ j("div", {
|
|
394
|
-
className: "flex items-center justify-between px-3 py-2 bg-
|
|
390
|
+
className: "flex items-center justify-between px-3 py-2 bg-bg-sunken rounded-button",
|
|
395
391
|
children: [/* @__PURE__ */ A("span", {
|
|
396
|
-
className: "text-xs text-
|
|
392
|
+
className: "text-xs text-text-secondary",
|
|
397
393
|
children: r(e.snapshotAt)
|
|
398
394
|
}), /* @__PURE__ */ j("span", {
|
|
399
|
-
className: "text-sm font-medium text-
|
|
395
|
+
className: "text-sm font-medium text-text-primary tabular-nums",
|
|
400
396
|
children: [
|
|
401
397
|
i(e.value),
|
|
402
398
|
n.unit && /* @__PURE__ */ A("span", {
|
|
403
|
-
className: "text-xs text-
|
|
399
|
+
className: "text-xs text-text-secondary ml-1",
|
|
404
400
|
children: n.unit
|
|
405
401
|
}),
|
|
406
402
|
!e.noLimit && e.limit != null && /* @__PURE__ */ j("span", {
|
|
407
|
-
className: "text-xs text-
|
|
403
|
+
className: "text-xs text-text-secondary ml-1",
|
|
408
404
|
children: ["/ ", i(e.limit)]
|
|
409
405
|
})
|
|
410
406
|
]
|
|
@@ -416,11 +412,11 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
416
412
|
className: "p-4",
|
|
417
413
|
children: [
|
|
418
414
|
/* @__PURE__ */ A("h3", {
|
|
419
|
-
className: "text-sm font-medium text-
|
|
415
|
+
className: "text-sm font-medium text-text-primary mb-3",
|
|
420
416
|
children: "Recent Usage"
|
|
421
417
|
}),
|
|
422
418
|
n.isCollectorBased ? /* @__PURE__ */ A("p", {
|
|
423
|
-
className: "text-sm text-
|
|
419
|
+
className: "text-sm text-text-secondary text-center py-6",
|
|
424
420
|
children: "Usage is tracked via system metrics, individual event records are not available for this quota."
|
|
425
421
|
}) : y ? /* @__PURE__ */ A("div", {
|
|
426
422
|
className: "space-y-2",
|
|
@@ -428,21 +424,21 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
428
424
|
1,
|
|
429
425
|
2,
|
|
430
426
|
3
|
|
431
|
-
].map((e) => /* @__PURE__ */ A("div", { className: "h-12 bg-
|
|
427
|
+
].map((e) => /* @__PURE__ */ A("div", { className: "h-12 bg-bg-sunken animate-pulse rounded" }, e))
|
|
432
428
|
}) : g.length === 0 ? /* @__PURE__ */ A("p", {
|
|
433
|
-
className: "text-sm text-
|
|
429
|
+
className: "text-sm text-text-secondary text-center py-6",
|
|
434
430
|
children: "No usage records found"
|
|
435
431
|
}) : /* @__PURE__ */ A("div", {
|
|
436
432
|
className: "space-y-2",
|
|
437
433
|
children: g.map((e) => /* @__PURE__ */ j("div", {
|
|
438
|
-
className: "flex items-center justify-between p-3 border border-border rounded-
|
|
434
|
+
className: "flex items-center justify-between p-3 border border-border-subtle rounded-card",
|
|
439
435
|
children: [/* @__PURE__ */ j("div", {
|
|
440
436
|
className: "flex-1 min-w-0",
|
|
441
437
|
children: [/* @__PURE__ */ A("p", {
|
|
442
|
-
className: "text-sm font-medium text-
|
|
438
|
+
className: "text-sm font-medium text-text-primary",
|
|
443
439
|
children: e.description || "Usage recorded"
|
|
444
440
|
}), /* @__PURE__ */ j("p", {
|
|
445
|
-
className: "text-xs text-
|
|
441
|
+
className: "text-xs text-text-secondary",
|
|
446
442
|
children: [
|
|
447
443
|
a(e.timestamp),
|
|
448
444
|
" • ",
|
|
@@ -450,7 +446,7 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
450
446
|
]
|
|
451
447
|
})]
|
|
452
448
|
}), /* @__PURE__ */ A("span", {
|
|
453
|
-
className: "text-sm font-medium text-
|
|
449
|
+
className: "text-sm font-medium text-text-primary ml-4 tabular-nums",
|
|
454
450
|
children: i(e.amount)
|
|
455
451
|
})]
|
|
456
452
|
}, e.id))
|
|
@@ -462,19 +458,19 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
462
458
|
type: "button",
|
|
463
459
|
onClick: T,
|
|
464
460
|
disabled: s.length === 1,
|
|
465
|
-
className: "px-3 py-1.5 text-sm border border-border rounded-
|
|
461
|
+
className: "px-3 py-1.5 text-sm border border-border-subtle rounded-button text-text-primary hover:bg-bg-sunken transition-colors disabled:opacity-50",
|
|
466
462
|
"aria-label": "Previous usage page",
|
|
467
463
|
children: /* @__PURE__ */ A(b, { className: "size-4" })
|
|
468
464
|
}),
|
|
469
465
|
/* @__PURE__ */ j("span", {
|
|
470
|
-
className: "text-sm text-
|
|
466
|
+
className: "text-sm text-text-secondary tabular-nums",
|
|
471
467
|
children: ["Page ", f]
|
|
472
468
|
}),
|
|
473
469
|
/* @__PURE__ */ A("button", {
|
|
474
470
|
type: "button",
|
|
475
471
|
onClick: w,
|
|
476
472
|
disabled: !_,
|
|
477
|
-
className: "px-3 py-1.5 text-sm border border-border rounded-
|
|
473
|
+
className: "px-3 py-1.5 text-sm border border-border-subtle rounded-button text-text-primary hover:bg-bg-sunken transition-colors disabled:opacity-50",
|
|
478
474
|
"aria-label": "Next usage page",
|
|
479
475
|
children: /* @__PURE__ */ A(x, { className: "size-4" })
|
|
480
476
|
})
|
|
@@ -483,11 +479,11 @@ var ne = ({ status: e, className: n = "size-4" }) => {
|
|
|
483
479
|
]
|
|
484
480
|
}),
|
|
485
481
|
/* @__PURE__ */ A("div", {
|
|
486
|
-
className: "sticky bottom-0 bg-
|
|
482
|
+
className: "sticky bottom-0 bg-bg-elevated border-t border-border-subtle p-4",
|
|
487
483
|
children: /* @__PURE__ */ A("button", {
|
|
488
484
|
type: "button",
|
|
489
485
|
onClick: o,
|
|
490
|
-
className: "w-full py-2 px-4 bg-primary text-primary-
|
|
486
|
+
className: "w-full py-2 px-4 bg-action-primary-bg text-action-primary-text rounded-button hover:bg-action-primary-bgHover transition-colors duration-200",
|
|
491
487
|
children: "Close"
|
|
492
488
|
})
|
|
493
489
|
})
|
|
@@ -532,20 +528,20 @@ var oe = ({ workspaceId: e }) => {
|
|
|
532
528
|
1,
|
|
533
529
|
2,
|
|
534
530
|
3
|
|
535
|
-
].map((e) => /* @__PURE__ */ A("div", { className: "h-16 bg-
|
|
531
|
+
].map((e) => /* @__PURE__ */ A("div", { className: "h-16 bg-bg-sunken animate-pulse rounded-card" }, e))
|
|
536
532
|
});
|
|
537
533
|
if (o) return /* @__PURE__ */ j("div", {
|
|
538
534
|
className: "text-center py-8 space-y-2",
|
|
539
535
|
children: [
|
|
540
|
-
/* @__PURE__ */ A(_, { className: "size-8 text-
|
|
536
|
+
/* @__PURE__ */ A(_, { className: "size-8 text-status-error-text mx-auto" }),
|
|
541
537
|
/* @__PURE__ */ A("p", {
|
|
542
|
-
className: "text-sm text-
|
|
538
|
+
className: "text-sm text-text-secondary",
|
|
543
539
|
children: o.message
|
|
544
540
|
}),
|
|
545
541
|
/* @__PURE__ */ A("button", {
|
|
546
542
|
type: "button",
|
|
547
543
|
onClick: () => s(),
|
|
548
|
-
className: "px-3 py-1.5 text-sm border border-border rounded-
|
|
544
|
+
className: "px-3 py-1.5 text-sm border border-border-subtle rounded-button text-text-primary hover:bg-bg-sunken transition-colors",
|
|
549
545
|
children: "Retry"
|
|
550
546
|
})
|
|
551
547
|
]
|
|
@@ -553,13 +549,16 @@ var oe = ({ workspaceId: e }) => {
|
|
|
553
549
|
if (r.length === 0) return /* @__PURE__ */ j("div", {
|
|
554
550
|
className: "text-center py-12 space-y-2",
|
|
555
551
|
children: [
|
|
556
|
-
/* @__PURE__ */ A(
|
|
552
|
+
/* @__PURE__ */ A("div", {
|
|
553
|
+
className: "size-12 mx-auto rounded-full bg-[var(--color-accent-soft)] flex items-center justify-center mb-2",
|
|
554
|
+
children: /* @__PURE__ */ A(w, { className: "size-6 text-text-link" })
|
|
555
|
+
}),
|
|
557
556
|
/* @__PURE__ */ A("h3", {
|
|
558
|
-
className: "text-base font-
|
|
557
|
+
className: "text-base font-semibold text-text-primary",
|
|
559
558
|
children: "No workspace quotas assigned"
|
|
560
559
|
}),
|
|
561
560
|
/* @__PURE__ */ A("p", {
|
|
562
|
-
className: "text-sm text-
|
|
561
|
+
className: "text-sm text-text-secondary max-w-sm mx-auto",
|
|
563
562
|
children: "Quotas are assigned to this workspace after a successful purchase. If you have an active subscription, contact support."
|
|
564
563
|
})
|
|
565
564
|
]
|
|
@@ -572,97 +571,106 @@ var oe = ({ workspaceId: e }) => {
|
|
|
572
571
|
className: "grid grid-cols-3 gap-3",
|
|
573
572
|
children: [
|
|
574
573
|
/* @__PURE__ */ j("div", {
|
|
575
|
-
className:
|
|
574
|
+
className: "rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1 p-4",
|
|
576
575
|
children: [/* @__PURE__ */ j("div", {
|
|
577
576
|
className: "flex items-center gap-1.5 mb-1",
|
|
578
|
-
children: [/* @__PURE__ */ A(
|
|
579
|
-
className:
|
|
577
|
+
children: [/* @__PURE__ */ A("span", {
|
|
578
|
+
className: `flex size-7 items-center justify-center rounded-lg ${t.success.bg}`,
|
|
579
|
+
children: /* @__PURE__ */ A(v, { className: `size-4 ${t.success.icon}` })
|
|
580
|
+
}), /* @__PURE__ */ A("span", {
|
|
581
|
+
className: "text-xs text-text-secondary",
|
|
580
582
|
children: "Healthy"
|
|
581
583
|
})]
|
|
582
584
|
}), /* @__PURE__ */ A("p", {
|
|
583
|
-
className: "text-xl font-
|
|
585
|
+
className: "text-xl font-semibold tabular-nums text-text-primary",
|
|
584
586
|
children: y
|
|
585
587
|
})]
|
|
586
588
|
}),
|
|
587
589
|
/* @__PURE__ */ j("div", {
|
|
588
|
-
className:
|
|
590
|
+
className: "rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1 p-4",
|
|
589
591
|
children: [/* @__PURE__ */ j("div", {
|
|
590
592
|
className: "flex items-center gap-1.5 mb-1",
|
|
591
|
-
children: [/* @__PURE__ */ A(
|
|
592
|
-
className:
|
|
593
|
+
children: [/* @__PURE__ */ A("span", {
|
|
594
|
+
className: `flex size-7 items-center justify-center rounded-lg ${t.warning.bg}`,
|
|
595
|
+
children: /* @__PURE__ */ A(g, { className: `size-4 ${t.warning.icon}` })
|
|
596
|
+
}), /* @__PURE__ */ A("span", {
|
|
597
|
+
className: "text-xs text-text-secondary",
|
|
593
598
|
children: "Warning"
|
|
594
599
|
})]
|
|
595
600
|
}), /* @__PURE__ */ A("p", {
|
|
596
|
-
className: "text-xl font-
|
|
601
|
+
className: "text-xl font-semibold tabular-nums text-text-primary",
|
|
597
602
|
children: b
|
|
598
603
|
})]
|
|
599
604
|
}),
|
|
600
605
|
/* @__PURE__ */ j("div", {
|
|
601
|
-
className:
|
|
606
|
+
className: "rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1 p-4",
|
|
602
607
|
children: [/* @__PURE__ */ j("div", {
|
|
603
608
|
className: "flex items-center gap-1.5 mb-1",
|
|
604
|
-
children: [/* @__PURE__ */ A(
|
|
605
|
-
className:
|
|
609
|
+
children: [/* @__PURE__ */ A("span", {
|
|
610
|
+
className: `flex size-7 items-center justify-center rounded-lg ${t.error.bg}`,
|
|
611
|
+
children: /* @__PURE__ */ A(O, { className: `size-4 ${t.error.icon}` })
|
|
612
|
+
}), /* @__PURE__ */ A("span", {
|
|
613
|
+
className: "text-xs text-text-secondary",
|
|
606
614
|
children: "Critical / Exhausted"
|
|
607
615
|
})]
|
|
608
616
|
}), /* @__PURE__ */ A("p", {
|
|
609
|
-
className: "text-xl font-
|
|
617
|
+
className: "text-xl font-semibold tabular-nums text-text-primary",
|
|
610
618
|
children: S
|
|
611
619
|
})]
|
|
612
620
|
})
|
|
613
621
|
]
|
|
614
622
|
}),
|
|
615
623
|
/* @__PURE__ */ A("div", {
|
|
616
|
-
className: "border border-border rounded-
|
|
624
|
+
className: "border border-border-subtle rounded-card bg-bg-surface shadow-elevation-1 overflow-hidden",
|
|
617
625
|
children: /* @__PURE__ */ j("table", {
|
|
618
626
|
className: "w-full text-sm",
|
|
619
627
|
children: [/* @__PURE__ */ A("thead", { children: /* @__PURE__ */ j("tr", {
|
|
620
|
-
className: "border-b border-border bg-
|
|
628
|
+
className: "border-b border-border-subtle bg-bg-sunken",
|
|
621
629
|
children: [
|
|
622
630
|
/* @__PURE__ */ A("th", {
|
|
623
|
-
className: "text-left px-4 py-3 font-medium text-muted-
|
|
631
|
+
className: "text-left px-4 py-3 font-medium text-text-muted uppercase tracking-wide text-xs",
|
|
624
632
|
children: "Quota"
|
|
625
633
|
}),
|
|
626
634
|
/* @__PURE__ */ A("th", {
|
|
627
|
-
className: "text-left px-4 py-3 font-medium text-muted-
|
|
635
|
+
className: "text-left px-4 py-3 font-medium text-text-muted uppercase tracking-wide text-xs hidden sm:table-cell",
|
|
628
636
|
children: "Sources"
|
|
629
637
|
}),
|
|
630
638
|
/* @__PURE__ */ A("th", {
|
|
631
|
-
className: "text-left px-4 py-3 font-medium text-muted-
|
|
639
|
+
className: "text-left px-4 py-3 font-medium text-text-muted uppercase tracking-wide text-xs",
|
|
632
640
|
children: "Usage"
|
|
633
641
|
}),
|
|
634
642
|
/* @__PURE__ */ A("th", {
|
|
635
|
-
className: "text-left px-4 py-3 font-medium text-muted-
|
|
643
|
+
className: "text-left px-4 py-3 font-medium text-text-muted uppercase tracking-wide text-xs hidden sm:table-cell",
|
|
636
644
|
children: "Remaining"
|
|
637
645
|
}),
|
|
638
646
|
/* @__PURE__ */ A("th", {
|
|
639
|
-
className: "text-left px-4 py-3 font-medium text-muted-
|
|
647
|
+
className: "text-left px-4 py-3 font-medium text-text-muted uppercase tracking-wide text-xs",
|
|
640
648
|
children: "Status"
|
|
641
649
|
})
|
|
642
650
|
]
|
|
643
651
|
}) }), /* @__PURE__ */ A("tbody", {
|
|
644
|
-
className: "divide-y divide-border",
|
|
652
|
+
className: "divide-y divide-border-subtle",
|
|
645
653
|
children: u.map((e) => {
|
|
646
654
|
let t = c.has(e.quotaName);
|
|
647
655
|
return /* @__PURE__ */ j(k, { children: [/* @__PURE__ */ j("tr", {
|
|
648
|
-
className: `transition-colors ${e.hasMultiple ? "cursor-pointer hover:bg-
|
|
656
|
+
className: `transition-colors ${e.hasMultiple ? "cursor-pointer hover:bg-bg-sunken" : "hover:bg-bg-sunken"}`,
|
|
649
657
|
onClick: e.hasMultiple ? () => p(e.quotaName) : void 0,
|
|
650
658
|
children: [
|
|
651
659
|
/* @__PURE__ */ A("td", {
|
|
652
660
|
className: "px-4 py-3",
|
|
653
661
|
children: /* @__PURE__ */ j("div", {
|
|
654
662
|
className: "flex items-center gap-2",
|
|
655
|
-
children: [e.hasMultiple && /* @__PURE__ */ A(x, { className: `size-4 text-muted
|
|
663
|
+
children: [e.hasMultiple && /* @__PURE__ */ A(x, { className: `size-4 text-text-muted shrink-0 transition-transform duration-150 ${t ? "rotate-90" : ""}` }), /* @__PURE__ */ j("div", { children: [
|
|
656
664
|
/* @__PURE__ */ A("div", {
|
|
657
|
-
className: "font-medium text-
|
|
665
|
+
className: "font-medium text-text-primary",
|
|
658
666
|
children: M(e.quotaName)
|
|
659
667
|
}),
|
|
660
668
|
/* @__PURE__ */ A("div", {
|
|
661
|
-
className: "text-xs font-mono text-muted
|
|
669
|
+
className: "text-xs font-mono text-text-muted mt-0.5",
|
|
662
670
|
children: e.quotaName
|
|
663
671
|
}),
|
|
664
672
|
e.hasLive && /* @__PURE__ */ A("div", {
|
|
665
|
-
className: "text-xs text-
|
|
673
|
+
className: "text-xs text-text-secondary mt-0.5",
|
|
666
674
|
children: "Live · updated ~60s"
|
|
667
675
|
})
|
|
668
676
|
] })]
|
|
@@ -671,15 +679,15 @@ var oe = ({ workspaceId: e }) => {
|
|
|
671
679
|
/* @__PURE__ */ A("td", {
|
|
672
680
|
className: "px-4 py-3 hidden sm:table-cell",
|
|
673
681
|
children: e.hasMultiple ? /* @__PURE__ */ j("span", {
|
|
674
|
-
className: "text-xs bg-accent text-
|
|
682
|
+
className: "text-xs bg-[var(--color-accent-soft)] text-text-link px-1.5 py-0.5 rounded font-medium",
|
|
675
683
|
children: [e.items.length, " subscriptions"]
|
|
676
684
|
}) : /* @__PURE__ */ j("div", {
|
|
677
685
|
className: "flex items-center gap-1.5",
|
|
678
686
|
children: [/* @__PURE__ */ A("span", {
|
|
679
|
-
className: "text-xs text-
|
|
687
|
+
className: "text-xs text-text-secondary bg-bg-sunken px-1.5 py-0.5 rounded",
|
|
680
688
|
children: e.items[0]?.assignment.productId
|
|
681
689
|
}), /* @__PURE__ */ A("span", {
|
|
682
|
-
className: "text-xs text-
|
|
690
|
+
className: "text-xs text-text-secondary capitalize",
|
|
683
691
|
children: e.items[0]?.assignment.quotaMode
|
|
684
692
|
})]
|
|
685
693
|
})
|
|
@@ -689,9 +697,9 @@ var oe = ({ workspaceId: e }) => {
|
|
|
689
697
|
children: /* @__PURE__ */ j("div", {
|
|
690
698
|
className: "space-y-1.5",
|
|
691
699
|
children: [/* @__PURE__ */ j("div", {
|
|
692
|
-
className: "text-
|
|
700
|
+
className: "text-text-primary tabular-nums",
|
|
693
701
|
children: [i(e.totalUsed), !e.noLimit && e.totalLimit != null && /* @__PURE__ */ j("span", {
|
|
694
|
-
className: "text-
|
|
702
|
+
className: "text-text-secondary",
|
|
695
703
|
children: [
|
|
696
704
|
" ",
|
|
697
705
|
"/ ",
|
|
@@ -705,9 +713,9 @@ var oe = ({ workspaceId: e }) => {
|
|
|
705
713
|
})
|
|
706
714
|
}),
|
|
707
715
|
/* @__PURE__ */ A("td", {
|
|
708
|
-
className: "px-4 py-3 hidden sm:table-cell text-
|
|
716
|
+
className: "px-4 py-3 hidden sm:table-cell text-text-primary tabular-nums",
|
|
709
717
|
children: e.noLimit ? /* @__PURE__ */ A("span", {
|
|
710
|
-
className: "text-
|
|
718
|
+
className: "text-text-secondary",
|
|
711
719
|
children: "Unlimited"
|
|
712
720
|
}) : i(e.totalRemaining ?? 0)
|
|
713
721
|
}),
|
|
@@ -719,12 +727,12 @@ var oe = ({ workspaceId: e }) => {
|
|
|
719
727
|
}, e.quotaName), t && e.items.map((e) => {
|
|
720
728
|
let t = L(e.usagePercentage, e.assignment.noLimit);
|
|
721
729
|
return /* @__PURE__ */ j("tr", {
|
|
722
|
-
className: "bg-
|
|
730
|
+
className: "bg-bg-sunken/50 border-t border-dashed border-border-subtle",
|
|
723
731
|
children: [
|
|
724
732
|
/* @__PURE__ */ A("td", {
|
|
725
733
|
className: "pl-12 pr-4 py-2.5",
|
|
726
734
|
children: /* @__PURE__ */ j("div", {
|
|
727
|
-
className: "text-xs text-
|
|
735
|
+
className: "text-xs text-text-secondary space-y-0.5",
|
|
728
736
|
children: [/* @__PURE__ */ A("div", {
|
|
729
737
|
className: "font-mono truncate max-w-[200px]",
|
|
730
738
|
title: e.assignment.subscriptionId ?? void 0,
|
|
@@ -732,7 +740,7 @@ var oe = ({ workspaceId: e }) => {
|
|
|
732
740
|
}), /* @__PURE__ */ j("div", {
|
|
733
741
|
className: "flex items-center gap-1.5 flex-wrap",
|
|
734
742
|
children: [/* @__PURE__ */ A("span", {
|
|
735
|
-
className: "bg-
|
|
743
|
+
className: "bg-bg-sunken px-1.5 py-0.5 rounded",
|
|
736
744
|
children: e.assignment.productId
|
|
737
745
|
}), /* @__PURE__ */ A("span", {
|
|
738
746
|
className: "capitalize",
|
|
@@ -743,11 +751,11 @@ var oe = ({ workspaceId: e }) => {
|
|
|
743
751
|
}),
|
|
744
752
|
/* @__PURE__ */ A("td", { className: "px-4 py-2.5 hidden sm:table-cell" }),
|
|
745
753
|
/* @__PURE__ */ j("td", {
|
|
746
|
-
className: "px-4 py-2.5 text-xs text-
|
|
754
|
+
className: "px-4 py-2.5 text-xs text-text-secondary tabular-nums",
|
|
747
755
|
children: [i(e.effectiveUsed), !e.assignment.noLimit && e.assignment.limit != null && /* @__PURE__ */ j(k, { children: [" / ", i(e.assignment.limit)] })]
|
|
748
756
|
}),
|
|
749
757
|
/* @__PURE__ */ A("td", {
|
|
750
|
-
className: "px-4 py-2.5 hidden sm:table-cell text-xs text-
|
|
758
|
+
className: "px-4 py-2.5 hidden sm:table-cell text-xs text-text-secondary tabular-nums",
|
|
751
759
|
children: e.assignment.noLimit ? "Unlimited" : i(e.remaining ?? 0)
|
|
752
760
|
}),
|
|
753
761
|
/* @__PURE__ */ A("td", {
|
|
@@ -762,7 +770,7 @@ var oe = ({ workspaceId: e }) => {
|
|
|
762
770
|
})
|
|
763
771
|
}),
|
|
764
772
|
/* @__PURE__ */ j("p", {
|
|
765
|
-
className: "text-xs text-
|
|
773
|
+
className: "text-xs text-text-secondary",
|
|
766
774
|
children: ["Workspace quotas are sourced from the activity service. Usage is tracked cumulatively across all active sources for each quota.", r.some((e) => e.liveStatus) && " Live values are updated every ~60 seconds."]
|
|
767
775
|
})
|
|
768
776
|
]
|
|
@@ -816,24 +824,24 @@ var oe = ({ workspaceId: e }) => {
|
|
|
816
824
|
className: "text-center space-y-2",
|
|
817
825
|
children: [
|
|
818
826
|
/* @__PURE__ */ A("div", {
|
|
819
|
-
className: "size-12 mx-auto rounded-full bg-
|
|
820
|
-
children: /* @__PURE__ */ A(_, { className: "size-6 text-
|
|
827
|
+
className: "size-12 mx-auto rounded-full bg-[var(--color-accent-soft)] flex items-center justify-center",
|
|
828
|
+
children: /* @__PURE__ */ A(_, { className: "size-6 text-text-secondary" })
|
|
821
829
|
}),
|
|
822
830
|
/* @__PURE__ */ A("h2", {
|
|
823
|
-
className: "text-lg font-semibold text-
|
|
831
|
+
className: "text-lg font-semibold text-text-primary",
|
|
824
832
|
children: "Access Denied"
|
|
825
833
|
}),
|
|
826
834
|
/* @__PURE__ */ A("p", {
|
|
827
|
-
className: "text-sm text-
|
|
835
|
+
className: "text-sm text-text-secondary max-w-sm",
|
|
828
836
|
children: "You don't have permission to view usage data."
|
|
829
837
|
})
|
|
830
838
|
]
|
|
831
839
|
})
|
|
832
840
|
});
|
|
833
841
|
if ((R || ue) && !H) return /* @__PURE__ */ j("div", {
|
|
834
|
-
className: "space-y-6
|
|
842
|
+
className: "space-y-6 px-6 lg:px-8 py-6",
|
|
835
843
|
children: [
|
|
836
|
-
/* @__PURE__ */ A("div", { className: "h-8 w-48 bg-
|
|
844
|
+
/* @__PURE__ */ A("div", { className: "h-8 w-48 bg-bg-sunken animate-pulse rounded" }),
|
|
837
845
|
/* @__PURE__ */ A("div", {
|
|
838
846
|
className: "grid grid-cols-2 sm:grid-cols-4 gap-4",
|
|
839
847
|
children: [
|
|
@@ -841,9 +849,9 @@ var oe = ({ workspaceId: e }) => {
|
|
|
841
849
|
2,
|
|
842
850
|
3,
|
|
843
851
|
4
|
|
844
|
-
].map((e) => /* @__PURE__ */ A("div", { className: "h-24 bg-
|
|
852
|
+
].map((e) => /* @__PURE__ */ A("div", { className: "h-24 bg-bg-sunken animate-pulse rounded-card" }, e))
|
|
845
853
|
}),
|
|
846
|
-
/* @__PURE__ */ A("div", { className: "h-64 bg-
|
|
854
|
+
/* @__PURE__ */ A("div", { className: "h-64 bg-bg-sunken animate-pulse rounded-card" })
|
|
847
855
|
]
|
|
848
856
|
});
|
|
849
857
|
if (de) return /* @__PURE__ */ A("div", {
|
|
@@ -852,21 +860,21 @@ var oe = ({ workspaceId: e }) => {
|
|
|
852
860
|
className: "text-center space-y-4",
|
|
853
861
|
children: [
|
|
854
862
|
/* @__PURE__ */ A("div", {
|
|
855
|
-
className: "size-12 mx-auto rounded-full bg-
|
|
856
|
-
children: /* @__PURE__ */ A(_, { className: "size-6 text-
|
|
863
|
+
className: "size-12 mx-auto rounded-full bg-status-error-bg-subtle flex items-center justify-center",
|
|
864
|
+
children: /* @__PURE__ */ A(_, { className: "size-6 text-status-error-text" })
|
|
857
865
|
}),
|
|
858
866
|
/* @__PURE__ */ A("h2", {
|
|
859
|
-
className: "text-lg font-semibold text-
|
|
867
|
+
className: "text-lg font-semibold text-text-primary",
|
|
860
868
|
children: "Failed to load usage data"
|
|
861
869
|
}),
|
|
862
870
|
/* @__PURE__ */ A("p", {
|
|
863
|
-
className: "text-sm text-
|
|
871
|
+
className: "text-sm text-text-secondary",
|
|
864
872
|
children: de.message
|
|
865
873
|
}),
|
|
866
874
|
/* @__PURE__ */ A("button", {
|
|
867
875
|
type: "button",
|
|
868
876
|
onClick: () => fe(),
|
|
869
|
-
className: "px-4 py-2 text-sm font-medium bg-primary text-primary-
|
|
877
|
+
className: "px-4 py-2 text-sm font-medium bg-action-primary-bg text-action-primary-text rounded-button hover:bg-action-primary-bgHover transition-colors duration-200",
|
|
870
878
|
children: "Try Again"
|
|
871
879
|
})
|
|
872
880
|
]
|
|
@@ -874,37 +882,37 @@ var oe = ({ workspaceId: e }) => {
|
|
|
874
882
|
});
|
|
875
883
|
let ye = L.find((e) => e.id === z);
|
|
876
884
|
return /* @__PURE__ */ j("div", {
|
|
877
|
-
className: "space-y-6
|
|
885
|
+
className: "space-y-6 px-6 lg:px-8 py-6",
|
|
878
886
|
children: [
|
|
879
887
|
/* @__PURE__ */ j("div", {
|
|
880
888
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
881
889
|
children: [/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("h1", {
|
|
882
|
-
className: "text-2xl font-
|
|
890
|
+
className: "text-2xl md:text-3xl font-semibold tracking-tight text-text-primary",
|
|
883
891
|
children: r("billing.usage.title", "Usage")
|
|
884
892
|
}), /* @__PURE__ */ A("p", {
|
|
885
|
-
className: "text-sm text-
|
|
893
|
+
className: "text-sm text-text-secondary mt-1",
|
|
886
894
|
children: "Monitor your resource consumption and quota usage"
|
|
887
895
|
})] }), /* @__PURE__ */ j("div", {
|
|
888
896
|
className: "flex items-center gap-3",
|
|
889
897
|
children: [
|
|
890
898
|
/* @__PURE__ */ j("div", {
|
|
891
|
-
className: "flex items-center bg-
|
|
899
|
+
className: "flex items-center bg-bg-sunken rounded-lg p-1 border border-border-subtle",
|
|
892
900
|
children: [/* @__PURE__ */ j("button", {
|
|
893
901
|
type: "button",
|
|
894
902
|
onClick: () => le("workspace"),
|
|
895
|
-
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-
|
|
903
|
+
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-button transition-all duration-200 ${V === "workspace" ? "bg-bg-surface text-text-primary shadow-elevation-1 font-medium" : "text-text-secondary hover:text-text-primary"}`,
|
|
896
904
|
children: [/* @__PURE__ */ A(w, { className: "size-3.5" }), "Workspace"]
|
|
897
905
|
}), /* @__PURE__ */ j("button", {
|
|
898
906
|
type: "button",
|
|
899
907
|
onClick: () => le("global"),
|
|
900
|
-
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-
|
|
908
|
+
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-button transition-all duration-200 ${V === "global" ? "bg-bg-surface text-text-primary shadow-elevation-1 font-medium" : "text-text-secondary hover:text-text-primary"}`,
|
|
901
909
|
children: [/* @__PURE__ */ A(T, { className: "size-3.5" }), "Global"]
|
|
902
910
|
})]
|
|
903
911
|
}),
|
|
904
912
|
V === "global" && L.length > 1 && /* @__PURE__ */ A("select", {
|
|
905
913
|
value: z || "",
|
|
906
914
|
onChange: (e) => l(e.target.value),
|
|
907
|
-
className: "px-3 py-2 text-sm border border-border rounded-
|
|
915
|
+
className: "px-3 py-2 text-sm border border-border-subtle rounded-input bg-bg-surface text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] w-full sm:min-w-[200px]",
|
|
908
916
|
children: L.map((e) => /* @__PURE__ */ A("option", {
|
|
909
917
|
value: e.id,
|
|
910
918
|
children: e.name
|
|
@@ -913,7 +921,8 @@ var oe = ({ workspaceId: e }) => {
|
|
|
913
921
|
/* @__PURE__ */ A("button", {
|
|
914
922
|
type: "button",
|
|
915
923
|
onClick: () => V === "workspace" ? void 0 : fe(),
|
|
916
|
-
className: "p-2 border border-border rounded-
|
|
924
|
+
className: "p-2 border border-border-subtle rounded-button text-text-secondary hover:text-text-primary hover:bg-bg-sunken hover:border-border-strong transition-all duration-200",
|
|
925
|
+
"aria-label": "Refresh",
|
|
917
926
|
title: "Refresh",
|
|
918
927
|
children: /* @__PURE__ */ A(E, { className: "size-4" })
|
|
919
928
|
})
|
|
@@ -922,7 +931,7 @@ var oe = ({ workspaceId: e }) => {
|
|
|
922
931
|
}),
|
|
923
932
|
V === "workspace" && B && /* @__PURE__ */ A(oe, { workspaceId: B }),
|
|
924
933
|
V === "workspace" && !B && /* @__PURE__ */ A("div", {
|
|
925
|
-
className: "text-center py-12 text-
|
|
934
|
+
className: "text-center py-12 text-text-secondary text-sm",
|
|
926
935
|
children: "No workspace context available."
|
|
927
936
|
}),
|
|
928
937
|
V === "global" && /* @__PURE__ */ j(k, { children: [
|
|
@@ -932,52 +941,53 @@ var oe = ({ workspaceId: e }) => {
|
|
|
932
941
|
/* @__PURE__ */ j("div", {
|
|
933
942
|
className: "relative flex-1 max-w-md",
|
|
934
943
|
children: [
|
|
935
|
-
/* @__PURE__ */ A(ee, { className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted
|
|
944
|
+
/* @__PURE__ */ A(ee, { className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-text-muted" }),
|
|
936
945
|
/* @__PURE__ */ A("input", {
|
|
937
946
|
type: "text",
|
|
938
947
|
value: b,
|
|
939
948
|
onChange: (e) => x(e.target.value),
|
|
940
949
|
placeholder: `Search ${N === "past" ? "past" : N === "all" ? "all" : "active"} quotas...`,
|
|
941
|
-
className: "w-full pl-9 pr-3 py-2 text-sm border border-border rounded-
|
|
950
|
+
className: "w-full pl-9 pr-3 py-2 text-sm border border-border-subtle rounded-input bg-bg-surface text-text-primary placeholder:text-text-placeholder focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
942
951
|
}),
|
|
943
952
|
(b || _e) && /* @__PURE__ */ A("button", {
|
|
944
953
|
type: "button",
|
|
945
954
|
onClick: () => x(""),
|
|
946
|
-
|
|
947
|
-
|
|
955
|
+
"aria-label": "Clear search",
|
|
956
|
+
className: "absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded hover:bg-bg-sunken",
|
|
957
|
+
children: _e ? /* @__PURE__ */ A(E, { className: "size-3 text-text-muted animate-spin" }) : /* @__PURE__ */ A(D, { className: "size-3 text-text-muted" })
|
|
948
958
|
})
|
|
949
959
|
]
|
|
950
960
|
}),
|
|
951
961
|
/* @__PURE__ */ j("div", {
|
|
952
|
-
className: "flex items-center bg-
|
|
962
|
+
className: "flex items-center bg-bg-sunken rounded-lg p-1 border border-border-subtle",
|
|
953
963
|
children: [/* @__PURE__ */ j("button", {
|
|
954
964
|
type: "button",
|
|
955
965
|
onClick: () => P("active"),
|
|
956
|
-
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-
|
|
966
|
+
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-button transition-all duration-200 ${N === "active" ? "bg-bg-surface text-text-primary shadow-elevation-1 font-medium" : "text-text-secondary hover:text-text-primary"}`,
|
|
957
967
|
children: [/* @__PURE__ */ A(T, { className: "size-3.5" }), "Active"]
|
|
958
968
|
}), /* @__PURE__ */ j("button", {
|
|
959
969
|
type: "button",
|
|
960
970
|
onClick: () => P("past"),
|
|
961
971
|
disabled: K && N !== "past",
|
|
962
|
-
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-
|
|
972
|
+
className: `flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-button transition-all duration-200 ${N === "past" ? "bg-bg-surface text-text-primary shadow-elevation-1 font-medium" : "text-text-secondary hover:text-text-primary"} ${K && N !== "past" ? "opacity-70" : ""}`,
|
|
963
973
|
children: [K && N === "past" ? /* @__PURE__ */ A(E, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ A(S, { className: "size-3.5" }), "Past"]
|
|
964
974
|
})]
|
|
965
975
|
}),
|
|
966
976
|
Q && /* @__PURE__ */ j("button", {
|
|
967
977
|
type: "button",
|
|
968
978
|
onClick: ve,
|
|
969
|
-
className: "flex items-center gap-1.5 px-3 py-1.5 text-sm text-
|
|
979
|
+
className: "flex items-center gap-1.5 px-3 py-1.5 text-sm text-text-secondary hover:text-text-primary border border-border-subtle rounded-button hover:bg-bg-sunken transition-colors",
|
|
970
980
|
children: [/* @__PURE__ */ A(D, { className: "size-3" }), "Clear filters"]
|
|
971
981
|
})
|
|
972
982
|
]
|
|
973
983
|
}),
|
|
974
984
|
ye && /* @__PURE__ */ j("div", {
|
|
975
|
-
className: "text-sm text-
|
|
985
|
+
className: "text-sm text-text-secondary",
|
|
976
986
|
children: [
|
|
977
987
|
"Viewing usage for",
|
|
978
988
|
" ",
|
|
979
989
|
/* @__PURE__ */ A("span", {
|
|
980
|
-
className: "font-medium text-
|
|
990
|
+
className: "font-medium text-text-primary",
|
|
981
991
|
children: ye.name
|
|
982
992
|
})
|
|
983
993
|
]
|
|
@@ -1027,18 +1037,18 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1027
1037
|
className: `text-sm font-medium ${H.criticalQuotas > 0 || H.exhaustedQuotas > 0 ? t.error.text : t.warning.text}`,
|
|
1028
1038
|
children: H.criticalQuotas > 0 || H.exhaustedQuotas > 0 ? `${H.criticalQuotas + H.exhaustedQuotas} quota${H.criticalQuotas + H.exhaustedQuotas === 1 ? "" : "s"} exhausted or critical` : `${H.warningQuotas} quota${H.warningQuotas === 1 ? "" : "s"} approaching the limit`
|
|
1029
1039
|
}), /* @__PURE__ */ A("p", {
|
|
1030
|
-
className: "text-xs text-
|
|
1040
|
+
className: "text-xs text-text-secondary mt-0.5",
|
|
1031
1041
|
children: "Contact support to request a quota increase for your plan."
|
|
1032
1042
|
})] })]
|
|
1033
1043
|
}), /* @__PURE__ */ A("button", {
|
|
1034
1044
|
type: "button",
|
|
1035
1045
|
onClick: () => ce("/support/tickets"),
|
|
1036
|
-
className: `shrink-0 px-4 py-2 text-sm font-medium rounded-
|
|
1046
|
+
className: `shrink-0 px-4 py-2 text-sm font-medium rounded-button border transition-colors duration-200 ${H.criticalQuotas > 0 || H.exhaustedQuotas > 0 ? "bg-action-danger-bg text-action-danger-text border-action-danger-bg hover:bg-action-danger-bgHover" : "border-status-warning-border text-status-warning-text hover:bg-status-warning-bg-subtle"}`,
|
|
1037
1047
|
children: "Request more quota"
|
|
1038
1048
|
})]
|
|
1039
1049
|
}),
|
|
1040
1050
|
(Q || N !== "active") && /* @__PURE__ */ j("div", {
|
|
1041
|
-
className: "flex items-center gap-2 text-sm text-
|
|
1051
|
+
className: "flex items-center gap-2 text-sm text-text-secondary flex-wrap",
|
|
1042
1052
|
children: [
|
|
1043
1053
|
/* @__PURE__ */ j("span", { children: [
|
|
1044
1054
|
"Showing",
|
|
@@ -1048,7 +1058,7 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1048
1058
|
"quotas"
|
|
1049
1059
|
] }),
|
|
1050
1060
|
/* @__PURE__ */ j("span", {
|
|
1051
|
-
className: "px-2 py-0.5 bg-
|
|
1061
|
+
className: "px-2 py-0.5 bg-[var(--color-accent-soft)] text-text-link rounded text-xs capitalize",
|
|
1052
1062
|
children: [
|
|
1053
1063
|
N === "active" ? "Active" : N === "past" ? "Past" : "All",
|
|
1054
1064
|
" ",
|
|
@@ -1056,11 +1066,11 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1056
1066
|
]
|
|
1057
1067
|
}),
|
|
1058
1068
|
C !== "all" && /* @__PURE__ */ A("span", {
|
|
1059
|
-
className: "px-2 py-0.5 bg-
|
|
1069
|
+
className: "px-2 py-0.5 bg-bg-sunken text-text-secondary rounded text-xs capitalize",
|
|
1060
1070
|
children: C === "critical" ? "Critical / Exhausted" : C
|
|
1061
1071
|
}),
|
|
1062
1072
|
b && /* @__PURE__ */ j("span", {
|
|
1063
|
-
className: "px-2 py-0.5 bg-
|
|
1073
|
+
className: "px-2 py-0.5 bg-bg-sunken text-text-secondary rounded text-xs",
|
|
1064
1074
|
children: [
|
|
1065
1075
|
"“",
|
|
1066
1076
|
b,
|
|
@@ -1070,8 +1080,8 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1070
1080
|
]
|
|
1071
1081
|
}),
|
|
1072
1082
|
Z.active.length > 0 && /* @__PURE__ */ j("section", { children: [/* @__PURE__ */ j("h2", {
|
|
1073
|
-
className: "text-lg font-semibold text-
|
|
1074
|
-
children: [/* @__PURE__ */ A(T, { className: "size-5 text-
|
|
1083
|
+
className: "text-lg font-semibold text-text-primary mb-4 flex items-center gap-2",
|
|
1084
|
+
children: [/* @__PURE__ */ A(T, { className: "size-5 text-text-link" }), N === "all" ? "Active Subscription Quotas" : "Subscription Quotas"]
|
|
1075
1085
|
}), /* @__PURE__ */ A("div", {
|
|
1076
1086
|
className: "space-y-4",
|
|
1077
1087
|
children: Z.active.map((e) => /* @__PURE__ */ A(ie, {
|
|
@@ -1081,16 +1091,16 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1081
1091
|
}, e.id))
|
|
1082
1092
|
})] }),
|
|
1083
1093
|
Z.past.length > 0 && /* @__PURE__ */ j("section", { children: [/* @__PURE__ */ j("h2", {
|
|
1084
|
-
className: "text-lg font-semibold text-
|
|
1094
|
+
className: "text-lg font-semibold text-text-primary mb-4 flex items-center gap-2",
|
|
1085
1095
|
children: [
|
|
1086
|
-
/* @__PURE__ */ A(S, { className: "size-5 text-muted
|
|
1096
|
+
/* @__PURE__ */ A(S, { className: "size-5 text-text-muted" }),
|
|
1087
1097
|
"Past Subscription Quotas",
|
|
1088
1098
|
/* @__PURE__ */ A("span", {
|
|
1089
|
-
className: "text-xs font-normal text-
|
|
1099
|
+
className: "text-xs font-normal text-text-secondary",
|
|
1090
1100
|
children: "(Canceled / Expired / Upgraded)"
|
|
1091
1101
|
}),
|
|
1092
1102
|
ge > 0 && /* @__PURE__ */ j("span", {
|
|
1093
|
-
className: "text-xs font-normal px-2 py-0.5 bg-
|
|
1103
|
+
className: "text-xs font-normal px-2 py-0.5 bg-bg-sunken text-text-secondary rounded-full tabular-nums",
|
|
1094
1104
|
children: [
|
|
1095
1105
|
Z.past.length,
|
|
1096
1106
|
me ? "+" : "",
|
|
@@ -1111,18 +1121,18 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1111
1121
|
type: "button",
|
|
1112
1122
|
onClick: pe,
|
|
1113
1123
|
disabled: he,
|
|
1114
|
-
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-
|
|
1124
|
+
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-text-secondary hover:text-text-primary border border-border-subtle rounded-button hover:bg-bg-sunken transition-colors disabled:opacity-50",
|
|
1115
1125
|
children: he ? /* @__PURE__ */ j(k, { children: [/* @__PURE__ */ A(E, { className: "size-4 animate-spin" }), "Loading…"] }) : /* @__PURE__ */ j(k, { children: [/* @__PURE__ */ A(y, { className: "size-4" }), "Load more past subscriptions"] })
|
|
1116
1126
|
})
|
|
1117
1127
|
})]
|
|
1118
1128
|
})] }),
|
|
1119
1129
|
N !== "past" && J.length > 0 && /* @__PURE__ */ j("section", { children: [/* @__PURE__ */ j("h2", {
|
|
1120
|
-
className: "text-lg font-semibold text-
|
|
1130
|
+
className: "text-lg font-semibold text-text-primary mb-4 flex items-center gap-2",
|
|
1121
1131
|
children: [
|
|
1122
1132
|
/* @__PURE__ */ A(w, { className: `size-5 ${t.info.icon}` }),
|
|
1123
1133
|
"Pooled Quotas",
|
|
1124
1134
|
/* @__PURE__ */ A("span", {
|
|
1125
|
-
className: "text-xs font-normal text-
|
|
1135
|
+
className: "text-xs font-normal text-text-secondary",
|
|
1126
1136
|
children: "(Shared across all products)"
|
|
1127
1137
|
})
|
|
1128
1138
|
]
|
|
@@ -1132,41 +1142,41 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1132
1142
|
onQuotaClick: d
|
|
1133
1143
|
})] }),
|
|
1134
1144
|
N === "active" && W.length === 0 && U.length === 0 && !Q && /* @__PURE__ */ j("div", {
|
|
1135
|
-
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border rounded-
|
|
1145
|
+
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border-subtle rounded-card",
|
|
1136
1146
|
children: [
|
|
1137
1147
|
/* @__PURE__ */ A("div", {
|
|
1138
|
-
className: "size-12 rounded-full bg-
|
|
1139
|
-
children: /* @__PURE__ */ A(w, { className: "size-6 text-
|
|
1148
|
+
className: "size-12 rounded-full bg-[var(--color-accent-soft)] flex items-center justify-center mb-4",
|
|
1149
|
+
children: /* @__PURE__ */ A(w, { className: "size-6 text-text-link" })
|
|
1140
1150
|
}),
|
|
1141
1151
|
/* @__PURE__ */ A("h3", {
|
|
1142
|
-
className: "text-
|
|
1152
|
+
className: "text-base font-semibold text-text-primary",
|
|
1143
1153
|
children: "No active quotas found"
|
|
1144
1154
|
}),
|
|
1145
1155
|
/* @__PURE__ */ A("p", {
|
|
1146
|
-
className: "text-sm text-
|
|
1156
|
+
className: "text-sm text-text-secondary mt-1 text-center max-w-sm",
|
|
1147
1157
|
children: "Quotas will appear here once you have active subscriptions or pooled allocations."
|
|
1148
1158
|
})
|
|
1149
1159
|
]
|
|
1150
1160
|
}),
|
|
1151
1161
|
N === "past" && G.length === 0 && !Q && !K && /* @__PURE__ */ j("div", {
|
|
1152
|
-
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border rounded-
|
|
1162
|
+
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border-subtle rounded-card",
|
|
1153
1163
|
children: [
|
|
1154
1164
|
/* @__PURE__ */ A("div", {
|
|
1155
|
-
className: "size-12 rounded-full bg-
|
|
1156
|
-
children: /* @__PURE__ */ A(S, { className: "size-6 text-
|
|
1165
|
+
className: "size-12 rounded-full bg-[var(--color-accent-soft)] flex items-center justify-center mb-4",
|
|
1166
|
+
children: /* @__PURE__ */ A(S, { className: "size-6 text-text-link" })
|
|
1157
1167
|
}),
|
|
1158
1168
|
/* @__PURE__ */ A("h3", {
|
|
1159
|
-
className: "text-
|
|
1169
|
+
className: "text-base font-semibold text-text-primary",
|
|
1160
1170
|
children: "No past subscriptions"
|
|
1161
1171
|
}),
|
|
1162
1172
|
/* @__PURE__ */ A("p", {
|
|
1163
|
-
className: "text-sm text-
|
|
1173
|
+
className: "text-sm text-text-secondary mt-1 text-center max-w-sm",
|
|
1164
1174
|
children: "You don't have any canceled, expired, or upgraded subscriptions yet."
|
|
1165
1175
|
}),
|
|
1166
1176
|
/* @__PURE__ */ A("button", {
|
|
1167
1177
|
type: "button",
|
|
1168
1178
|
onClick: () => P("active"),
|
|
1169
|
-
className: "mt-4 px-4 py-2 text-sm font-medium bg-primary text-primary-
|
|
1179
|
+
className: "mt-4 px-4 py-2 text-sm font-medium bg-action-primary-bg text-action-primary-text rounded-button hover:bg-action-primary-bgHover transition-colors duration-200",
|
|
1170
1180
|
children: "View active subscriptions"
|
|
1171
1181
|
})
|
|
1172
1182
|
]
|
|
@@ -1177,24 +1187,24 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1177
1187
|
1,
|
|
1178
1188
|
2,
|
|
1179
1189
|
3
|
|
1180
|
-
].map((e) => /* @__PURE__ */ A("div", { className: "h-24 bg-
|
|
1190
|
+
].map((e) => /* @__PURE__ */ A("div", { className: "h-24 bg-bg-sunken animate-pulse rounded-card" }, e))
|
|
1181
1191
|
}),
|
|
1182
1192
|
Q && Z.active.length === 0 && Z.past.length === 0 && (N === "past" || J.length === 0) && /* @__PURE__ */ j("div", {
|
|
1183
|
-
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border rounded-
|
|
1193
|
+
className: "flex flex-col items-center justify-center py-12 border border-dashed border-border-subtle rounded-card",
|
|
1184
1194
|
children: [
|
|
1185
1195
|
/* @__PURE__ */ A("div", {
|
|
1186
|
-
className: "size-12 rounded-full bg-
|
|
1196
|
+
className: "size-12 rounded-full bg-[var(--color-accent-soft)] flex items-center justify-center mb-4",
|
|
1187
1197
|
children: C !== "all" && !b ? /* @__PURE__ */ A(ne, {
|
|
1188
1198
|
status: C === "healthy" ? "HEALTHY" : C === "warning" ? "WARNING" : "CRITICAL",
|
|
1189
1199
|
className: "size-6"
|
|
1190
|
-
}) : /* @__PURE__ */ A(ee, { className: "size-6 text-
|
|
1200
|
+
}) : /* @__PURE__ */ A(ee, { className: "size-6 text-text-link" })
|
|
1191
1201
|
}),
|
|
1192
1202
|
/* @__PURE__ */ A("h3", {
|
|
1193
|
-
className: "text-
|
|
1203
|
+
className: "text-base font-semibold text-text-primary",
|
|
1194
1204
|
children: C !== "all" && !b ? `No ${C === "critical" ? "critical or exhausted" : C} quotas` : "No matching quotas"
|
|
1195
1205
|
}),
|
|
1196
1206
|
/* @__PURE__ */ A("p", {
|
|
1197
|
-
className: "text-sm text-
|
|
1207
|
+
className: "text-sm text-text-secondary mt-1 text-center max-w-sm",
|
|
1198
1208
|
children: C !== "all" && !b ? /* @__PURE__ */ j(k, { children: ["All your quotas are in a different status.", H && /* @__PURE__ */ j("span", {
|
|
1199
1209
|
className: "block mt-1",
|
|
1200
1210
|
children: [
|
|
@@ -1225,12 +1235,12 @@ var oe = ({ workspaceId: e }) => {
|
|
|
1225
1235
|
children: [/* @__PURE__ */ A("button", {
|
|
1226
1236
|
type: "button",
|
|
1227
1237
|
onClick: ve,
|
|
1228
|
-
className: "px-4 py-2 text-sm font-medium border border-border rounded-
|
|
1238
|
+
className: "px-4 py-2 text-sm font-medium border border-border-subtle text-text-primary rounded-button hover:bg-bg-sunken transition-colors",
|
|
1229
1239
|
children: C === "all" ? "Clear filters" : "Show all quotas"
|
|
1230
1240
|
}), N === "active" && b && /* @__PURE__ */ A("button", {
|
|
1231
1241
|
type: "button",
|
|
1232
1242
|
onClick: () => P("all"),
|
|
1233
|
-
className: "px-4 py-2 text-sm font-medium bg-primary text-primary-
|
|
1243
|
+
className: "px-4 py-2 text-sm font-medium bg-action-primary-bg text-action-primary-text rounded-button hover:bg-action-primary-bgHover transition-colors duration-200",
|
|
1234
1244
|
children: "Search all"
|
|
1235
1245
|
})]
|
|
1236
1246
|
})
|