@burdenoff/microfe-devportal 2026.609.4 → 2026.611.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.
Files changed (58) hide show
  1. package/dist/devportal/DevportalRoot.js +6 -1
  2. package/dist/devportal/DevportalRoot.js.map +1 -1
  3. package/dist/devportal/DevportalRoutes.js +169 -158
  4. package/dist/devportal/DevportalRoutes.js.map +1 -1
  5. package/dist/devportal/hooks/usePackageUpload.js +120 -0
  6. package/dist/devportal/hooks/usePackageUpload.js.map +1 -0
  7. package/dist/devportal/pages/AnalyticsDashboardPage.js +73 -62
  8. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  9. package/dist/devportal/pages/AppLogsPage.js +89 -82
  10. package/dist/devportal/pages/AppLogsPage.js.map +1 -1
  11. package/dist/devportal/pages/ApplicationDetailPage.js +948 -367
  12. package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
  13. package/dist/devportal/pages/ApplicationVersionsPage.js +56 -45
  14. package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
  15. package/dist/devportal/pages/CreateApiKeyPage.js +30 -32
  16. package/dist/devportal/pages/CreateApiKeyPage.js.map +1 -1
  17. package/dist/devportal/pages/CreateApplicationPage.js +8 -3
  18. package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
  19. package/dist/devportal/pages/CreateOAuthClientPage.js +4 -4
  20. package/dist/devportal/pages/CreateOAuthClientPage.js.map +1 -1
  21. package/dist/devportal/pages/CreateOrganizationPage.js +238 -229
  22. package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
  23. package/dist/devportal/pages/CreateWebhookPage.js +159 -148
  24. package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
  25. package/dist/devportal/pages/DelegationsPage.js +1 -1
  26. package/dist/devportal/pages/DelegationsPage.js.map +1 -1
  27. package/dist/devportal/pages/EditApplicationPage.js +25 -17
  28. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  29. package/dist/devportal/pages/ListingPreviewPage.js +159 -153
  30. package/dist/devportal/pages/ListingPreviewPage.js.map +1 -1
  31. package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
  32. package/dist/devportal/pages/OAuthClientsPage.js +2 -2
  33. package/dist/devportal/pages/OAuthClientsPage.js.map +1 -1
  34. package/dist/devportal/pages/OrganizationDetailPage.js +158 -153
  35. package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
  36. package/dist/devportal/pages/OrganizationMembersPage.js +223 -212
  37. package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
  38. package/dist/devportal/pages/PublishPage.js +172 -165
  39. package/dist/devportal/pages/PublishPage.js.map +1 -1
  40. package/dist/devportal/pages/ResourcesPage.js.map +1 -1
  41. package/dist/devportal/pages/RevenueDashboardPage.js +461 -0
  42. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -0
  43. package/dist/devportal/pages/SetupPage.js +186 -181
  44. package/dist/devportal/pages/SetupPage.js.map +1 -1
  45. package/dist/devportal/pages/StoreSubmissionPage.js +76 -97
  46. package/dist/devportal/pages/StoreSubmissionPage.js.map +1 -1
  47. package/dist/devportal/pages/WebhookDetailPage.js +172 -154
  48. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  49. package/dist/devportal/pages/WebhooksPage.js +218 -200
  50. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  51. package/dist/devportal/providers/DevportalProvider.js +16 -13
  52. package/dist/devportal/providers/DevportalProvider.js.map +1 -1
  53. package/dist/devportal/types/index.js.map +1 -1
  54. package/dist/generated/global-operations.js +334 -223
  55. package/dist/generated/global-operations.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/devportal/pages/RevenueRedirectPage.js +0 -14
  58. package/dist/devportal/pages/RevenueRedirectPage.js.map +0 -1
@@ -2,16 +2,17 @@ import { useDevportal as e } from "../providers/DevportalProvider.js";
2
2
  import { useDevportalEventBus as t } from "../events/index.js";
3
3
  import { PageLayout as n, PageSection as r } from "../components/PageLayout.js";
4
4
  import { InputField as i, SelectField as a, TextareaField as o } from "../components/FormField.js";
5
- import { useCreateOrganizationMutation as s } from "../../generated/global-operations.js";
6
- import { PermissionGuard as c } from "../components/PermissionGuard.js";
5
+ import { useCreateBillingAccountMutation as s, useCreateOrganizationMutation as c, useLinkDevOrgBillingAccountMutation as l } from "../../generated/global-operations.js";
6
+ import { PermissionGuard as u } from "../components/PermissionGuard.js";
7
7
  import "../components/index.js";
8
- import { DEVPORTAL_PERMISSIONS as l } from "../constants/permissions.js";
9
- import { useState as u } from "react";
10
- import { useI18n as d } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
11
- import { Building2 as f, Info as p, X as m } from "lucide-react";
12
- import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
8
+ import { DEVPORTAL_PERMISSIONS as d } from "../constants/permissions.js";
9
+ import "../hooks/index.js";
10
+ import { useState as f } from "react";
11
+ import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
12
+ import { Building2 as m, Info as h, X as g } from "lucide-react";
13
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
13
14
  //#region src/devportal/pages/CreateOrganizationPage.tsx
14
- var v = [
15
+ var b = [
15
16
  {
16
17
  value: "FREE",
17
18
  label: "Free - Personal projects and testing"
@@ -28,11 +29,7 @@ var v = [
28
29
  value: "ENTERPRISE",
29
30
  label: "Enterprise - Large organizations, unlimited apps"
30
31
  }
31
- ], y = [
32
- {
33
- value: "",
34
- label: "Select entity type"
35
- },
32
+ ], x = [
36
33
  {
37
34
  value: "individual",
38
35
  label: "Individual / Sole Proprietor"
@@ -57,11 +54,7 @@ var v = [
57
54
  value: "other",
58
55
  label: "Other"
59
56
  }
60
- ], b = [
61
- {
62
- value: "",
63
- label: "Select country"
64
- },
57
+ ], S = [
65
58
  {
66
59
  value: "US",
67
60
  label: "United States"
@@ -102,11 +95,11 @@ var v = [
102
95
  value: "NL",
103
96
  label: "Netherlands"
104
97
  }
105
- ], x = () => {
106
- let { navigate: x, basePath: S } = e(), { t: C } = d(), w = (e, t) => {
107
- let n = C(e);
98
+ ], C = () => {
99
+ let { navigate: C, basePath: w, currentUser: T } = e(), { t: E } = p(), D = (e, t) => {
100
+ let n = E(e);
108
101
  return n === e ? t : n;
109
- }, [T, E] = u({}), [D, O] = u("basic"), [k, { loading: A }] = s(), j = t(), [M, N] = u({
102
+ }, [O, k] = f({}), [A, j] = f("basic"), [M, { loading: N }] = c(), [P] = s(), [F] = l(), I = t(), [L, R] = f({
110
103
  name: "",
111
104
  slug: "",
112
105
  description: "",
@@ -123,67 +116,80 @@ var v = [
123
116
  state: "",
124
117
  postalCode: "",
125
118
  country: ""
126
- }), P = (e) => {
127
- x?.(`${S}${e}`);
128
- }, F = (e) => e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, ""), I = (e) => {
119
+ }), z = (e) => {
120
+ C?.(`${w}${e}`);
121
+ }, B = (e) => e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, ""), V = (e) => {
129
122
  let t = e.target.value;
130
- N((e) => ({
123
+ R((e) => ({
131
124
  ...e,
132
125
  name: t,
133
- slug: e.slug || F(t)
134
- })), T.name && E((e) => ({
126
+ slug: e.slug || B(t)
127
+ })), O.name && k((e) => ({
135
128
  ...e,
136
129
  name: void 0
137
130
  }));
138
- }, L = (e, t) => {
139
- N((n) => ({
131
+ }, H = (e, t) => {
132
+ R((n) => ({
140
133
  ...n,
141
134
  [e]: t
142
- })), T[e] && E((t) => ({
135
+ })), O[e] && k((t) => ({
143
136
  ...t,
144
137
  [e]: void 0
145
138
  }));
146
- }, R = () => {
139
+ }, U = () => {
147
140
  let e = {};
148
- return M.name.trim() ? M.name.length < 2 ? e.name = w("devportal.orgNameTooShort", "Name must be at least 2 characters") : M.name.length > 100 && (e.name = w("devportal.nameTooLong", "Name must be less than 100 characters")) : e.name = w("devportal.orgNameRequired", "Organization name is required"), M.slug.trim() ? /^[a-z0-9-]+$/.test(M.slug) || (e.slug = w("devportal.slugInvalid", "Slug can only contain lowercase letters, numbers, and hyphens")) : e.slug = w("devportal.slugRequired", "Slug is required"), M.contactEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(M.contactEmail) && (e.contactEmail = w("devportal.invalidEmailAddress", "Invalid email address")), M.supportEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(M.supportEmail) && (e.supportEmail = w("devportal.invalidEmailAddress", "Invalid email address")), E(e), Object.keys(e).length === 0;
149
- }, z = () => {
150
- R() && O("billing");
151
- }, B = () => {
152
- O("basic");
153
- }, V = async (e) => {
154
- if (e.preventDefault(), !R()) {
155
- O("basic");
141
+ return L.name.trim() ? L.name.length < 2 ? e.name = D("devportal.orgNameTooShort", "Name must be at least 2 characters") : L.name.length > 100 && (e.name = D("devportal.nameTooLong", "Name must be less than 100 characters")) : e.name = D("devportal.orgNameRequired", "Organization name is required"), L.slug.trim() ? /^[a-z0-9-]+$/.test(L.slug) || (e.slug = D("devportal.slugInvalid", "Slug can only contain lowercase letters, numbers, and hyphens")) : e.slug = D("devportal.slugRequired", "Slug is required"), L.contactEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(L.contactEmail) && (e.contactEmail = D("devportal.invalidEmailAddress", "Invalid email address")), L.supportEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(L.supportEmail) && (e.supportEmail = D("devportal.invalidEmailAddress", "Invalid email address")), k(e), Object.keys(e).length === 0;
142
+ }, W = () => {
143
+ U() && j("billing");
144
+ }, G = () => {
145
+ j("basic");
146
+ }, K = async (e) => {
147
+ if (e.preventDefault(), !U()) {
148
+ j("basic");
156
149
  return;
157
150
  }
158
151
  try {
159
- let e = M.streetAddress || M.city || M.state || M.postalCode || M.country ? {
160
- street: M.streetAddress || void 0,
161
- city: M.city || void 0,
162
- state: M.state || void 0,
163
- postalCode: M.postalCode || void 0,
164
- country: M.country || void 0
165
- } : void 0, t = await k({ variables: { input: {
166
- name: M.name,
167
- slug: M.slug || void 0,
168
- description: M.description || void 0,
169
- websiteUrl: M.websiteUrl || void 0,
170
- contactEmail: M.contactEmail || void 0,
171
- supportEmail: M.supportEmail || void 0,
172
- legalEntityName: M.legalEntityName || void 0,
173
- legalEntityType: M.legalEntityType || void 0,
152
+ let e = L.streetAddress || L.city || L.state || L.postalCode || L.country ? {
153
+ street: L.streetAddress || void 0,
154
+ city: L.city || void 0,
155
+ state: L.state || void 0,
156
+ postalCode: L.postalCode || void 0,
157
+ country: L.country || void 0
158
+ } : void 0, t = (await M({ variables: { input: {
159
+ name: L.name,
160
+ slug: L.slug || void 0,
161
+ description: L.description || void 0,
162
+ websiteUrl: L.websiteUrl || void 0,
163
+ contactEmail: L.contactEmail || void 0,
164
+ supportEmail: L.supportEmail || void 0,
165
+ legalEntityName: L.legalEntityName || void 0,
166
+ legalEntityType: L.legalEntityType || void 0,
174
167
  legalAddress: e,
175
- metadata: M.tier === "FREE" ? void 0 : { tier: M.tier }
176
- } } });
177
- t.data?.createDeveloperOrganization?.id && (j.emit("devportal.org.created", {
178
- organizationId: t.data.createDeveloperOrganization.id,
179
- name: M.name
180
- }), P(`/organizations/${t.data.createDeveloperOrganization.id}`));
168
+ metadata: L.tier === "FREE" ? void 0 : { tier: L.tier }
169
+ } } })).data?.createDeveloperOrganization?.id;
170
+ if (t) {
171
+ I.emit("devportal.org.created", {
172
+ organizationId: t,
173
+ name: L.name
174
+ });
175
+ try {
176
+ let e = (await P({ variables: { input: {
177
+ name: L.name,
178
+ email: T?.email ?? ""
179
+ } } })).data?.createBillingAccount?.id;
180
+ e && await F({ variables: {
181
+ organizationId: t,
182
+ billingAccountId: e
183
+ } });
184
+ } catch {}
185
+ z(`/organizations/${t}`);
186
+ }
181
187
  } catch (e) {
182
188
  console.error("Failed to create organization:", e);
183
189
  }
184
- }, H = () => {
185
- P("/organizations");
186
- }, U = {
190
+ }, q = () => {
191
+ z("/organizations");
192
+ }, J = {
187
193
  FREE: {
188
194
  apps: 1,
189
195
  apiCalls: "100K",
@@ -213,149 +219,149 @@ var v = [
213
219
  price: "Custom"
214
220
  }
215
221
  };
216
- return /* @__PURE__ */ g(c, {
217
- permission: l.ORG_CREATE,
218
- children: /* @__PURE__ */ _(n, {
219
- title: w("devportal.createOrganization", "Create Organization"),
220
- description: w("devportal.createOrganizationDescription", "Set up a developer organization to collaborate with your team"),
221
- backLink: `${S}/organizations`,
222
- backLabel: w("devportal.backToOrganizations", "Back to Organizations"),
223
- children: [/* @__PURE__ */ _("div", {
222
+ return /* @__PURE__ */ v(u, {
223
+ permission: d.ORG_CREATE,
224
+ children: /* @__PURE__ */ y(n, {
225
+ title: D("devportal.createOrganization", "Create Organization"),
226
+ description: D("devportal.createOrganizationDescription", "Set up a developer organization to collaborate with your team"),
227
+ backLink: `${w}/organizations`,
228
+ backLabel: D("devportal.backToOrganizations", "Back to Organizations"),
229
+ children: [/* @__PURE__ */ y("div", {
224
230
  className: "flex items-center gap-4 mb-8",
225
231
  children: [
226
- /* @__PURE__ */ _("div", {
232
+ /* @__PURE__ */ y("div", {
227
233
  className: "flex items-center gap-2",
228
- children: [/* @__PURE__ */ g("div", {
229
- className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${D === "basic" ? "bg-primary text-primary-foreground" : "bg-primary/20 text-primary"}`,
234
+ children: [/* @__PURE__ */ v("div", {
235
+ className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${A === "basic" ? "bg-primary text-primary-foreground" : "bg-primary/20 text-primary"}`,
230
236
  children: "1"
231
- }), /* @__PURE__ */ g("span", {
232
- className: `text-sm font-medium ${D === "basic" ? "text-foreground" : "text-muted-foreground"}`,
233
- children: w("devportal.basicInfo", "Basic Info")
237
+ }), /* @__PURE__ */ v("span", {
238
+ className: `text-sm font-medium ${A === "basic" ? "text-foreground" : "text-muted-foreground"}`,
239
+ children: D("devportal.basicInfo", "Basic Info")
234
240
  })]
235
241
  }),
236
- /* @__PURE__ */ g("div", { className: "h-px flex-1 bg-border" }),
237
- /* @__PURE__ */ _("div", {
242
+ /* @__PURE__ */ v("div", { className: "h-px flex-1 bg-border" }),
243
+ /* @__PURE__ */ y("div", {
238
244
  className: "flex items-center gap-2",
239
- children: [/* @__PURE__ */ g("div", {
240
- className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${D === "billing" ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground"}`,
245
+ children: [/* @__PURE__ */ v("div", {
246
+ className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${A === "billing" ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground"}`,
241
247
  children: "2"
242
- }), /* @__PURE__ */ g("span", {
243
- className: `text-sm font-medium ${D === "billing" ? "text-foreground" : "text-muted-foreground"}`,
244
- children: w("devportal.billingAndLegal", "Billing & Legal")
248
+ }), /* @__PURE__ */ v("span", {
249
+ className: `text-sm font-medium ${A === "billing" ? "text-foreground" : "text-muted-foreground"}`,
250
+ children: D("devportal.billingAndLegal", "Billing & Legal")
245
251
  })]
246
252
  })
247
253
  ]
248
- }), /* @__PURE__ */ _("form", {
249
- onSubmit: V,
254
+ }), /* @__PURE__ */ y("form", {
255
+ onSubmit: K,
250
256
  className: "space-y-8 max-w-3xl",
251
- children: [D === "basic" && /* @__PURE__ */ _(h, { children: [
252
- /* @__PURE__ */ g(r, {
253
- title: w("devportal.organizationDetails", "Organization Details"),
254
- description: w("devportal.organizationDetailsDescription", "Basic information about your organization"),
255
- children: /* @__PURE__ */ _("div", {
257
+ children: [A === "basic" && /* @__PURE__ */ y(_, { children: [
258
+ /* @__PURE__ */ v(r, {
259
+ title: D("devportal.organizationDetails", "Organization Details"),
260
+ description: D("devportal.organizationDetailsDescription", "Basic information about your organization"),
261
+ children: /* @__PURE__ */ y("div", {
256
262
  className: "space-y-4",
257
263
  children: [
258
- /* @__PURE__ */ g(i, {
259
- label: w("devportal.organizationName", "Organization Name"),
260
- value: M.name,
261
- onChange: I,
262
- placeholder: w("devportal.organizationNamePlaceholder", "Acme Development"),
264
+ /* @__PURE__ */ v(i, {
265
+ label: D("devportal.organizationName", "Organization Name"),
266
+ value: L.name,
267
+ onChange: V,
268
+ placeholder: D("devportal.organizationNamePlaceholder", "Acme Development"),
263
269
  required: !0,
264
- error: T.name,
265
- hint: w("devportal.organizationNameHint", "Your organization's display name")
270
+ error: O.name,
271
+ hint: D("devportal.organizationNameHint", "Your organization's display name")
266
272
  }),
267
- /* @__PURE__ */ g(i, {
268
- label: w("devportal.slug", "Slug"),
269
- value: M.slug,
270
- onChange: (e) => L("slug", e.target.value.toLowerCase()),
271
- placeholder: w("devportal.orgSlugPlaceholder", "acme-dev"),
273
+ /* @__PURE__ */ v(i, {
274
+ label: D("devportal.slug", "Slug"),
275
+ value: L.slug,
276
+ onChange: (e) => H("slug", e.target.value.toLowerCase()),
277
+ placeholder: D("devportal.orgSlugPlaceholder", "acme-dev"),
272
278
  required: !0,
273
- error: T.slug,
274
- hint: w("devportal.slugHint", "URL-friendly identifier (auto-generated from name)")
279
+ error: O.slug,
280
+ hint: D("devportal.slugHint", "URL-friendly identifier (auto-generated from name)")
275
281
  }),
276
- /* @__PURE__ */ g(o, {
277
- label: w("devportal.description", "Description"),
278
- value: M.description,
279
- onChange: (e) => L("description", e.target.value),
280
- placeholder: w("devportal.orgDescriptionPlaceholder", "Tell us about your organization..."),
282
+ /* @__PURE__ */ v(o, {
283
+ label: D("devportal.description", "Description"),
284
+ value: L.description,
285
+ onChange: (e) => H("description", e.target.value),
286
+ placeholder: D("devportal.orgDescriptionPlaceholder", "Tell us about your organization..."),
281
287
  rows: 3
282
288
  }),
283
- /* @__PURE__ */ g(i, {
284
- label: w("devportal.websiteUrl", "Website URL"),
289
+ /* @__PURE__ */ v(i, {
290
+ label: D("devportal.websiteUrl", "Website URL"),
285
291
  type: "url",
286
- value: M.websiteUrl,
287
- onChange: (e) => L("websiteUrl", e.target.value),
292
+ value: L.websiteUrl,
293
+ onChange: (e) => H("websiteUrl", e.target.value),
288
294
  placeholder: "https://example.com"
289
295
  }),
290
- /* @__PURE__ */ _("div", {
296
+ /* @__PURE__ */ y("div", {
291
297
  className: "grid gap-4 sm:grid-cols-2",
292
- children: [/* @__PURE__ */ g(i, {
293
- label: w("devportal.contactEmail", "Contact Email"),
298
+ children: [/* @__PURE__ */ v(i, {
299
+ label: D("devportal.contactEmail", "Contact Email"),
294
300
  type: "email",
295
- value: M.contactEmail,
296
- onChange: (e) => L("contactEmail", e.target.value),
301
+ value: L.contactEmail,
302
+ onChange: (e) => H("contactEmail", e.target.value),
297
303
  placeholder: "contact@example.com",
298
- error: T.contactEmail
299
- }), /* @__PURE__ */ g(i, {
300
- label: w("devportal.supportEmail", "Support Email"),
304
+ error: O.contactEmail
305
+ }), /* @__PURE__ */ v(i, {
306
+ label: D("devportal.supportEmail", "Support Email"),
301
307
  type: "email",
302
- value: M.supportEmail,
303
- onChange: (e) => L("supportEmail", e.target.value),
308
+ value: L.supportEmail,
309
+ onChange: (e) => H("supportEmail", e.target.value),
304
310
  placeholder: "support@example.com",
305
- error: T.supportEmail
311
+ error: O.supportEmail
306
312
  })]
307
313
  })
308
314
  ]
309
315
  })
310
316
  }),
311
- /* @__PURE__ */ g(r, {
312
- title: w("devportal.selectPlan", "Select Plan"),
313
- description: w("devportal.selectPlanDescription", "Choose a plan that fits your needs"),
314
- children: /* @__PURE__ */ g("div", {
317
+ /* @__PURE__ */ v(r, {
318
+ title: D("devportal.selectPlan", "Select Plan"),
319
+ description: D("devportal.selectPlanDescription", "Choose a plan that fits your needs"),
320
+ children: /* @__PURE__ */ v("div", {
315
321
  className: "grid gap-4 sm:grid-cols-2",
316
- children: v.map((e) => {
317
- let t = U[e.value], n = M.tier === e.value;
318
- return /* @__PURE__ */ _("button", {
322
+ children: b.map((e) => {
323
+ let t = J[e.value], n = L.tier === e.value;
324
+ return /* @__PURE__ */ y("button", {
319
325
  type: "button",
320
- onClick: () => L("tier", e.value),
326
+ onClick: () => H("tier", e.value),
321
327
  className: `rounded-lg border p-4 text-left transition-colors ${n ? "border-primary bg-primary/5 ring-2 ring-primary" : "hover:border-muted-foreground/50"}`,
322
- children: [/* @__PURE__ */ _("div", {
328
+ children: [/* @__PURE__ */ y("div", {
323
329
  className: "flex items-start justify-between",
324
- children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
330
+ children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
325
331
  className: "font-medium",
326
332
  children: e.value
327
- }), /* @__PURE__ */ g("p", {
333
+ }), /* @__PURE__ */ v("p", {
328
334
  className: "text-sm text-muted-foreground",
329
335
  children: t.price
330
- })] }), /* @__PURE__ */ g("div", {
336
+ })] }), /* @__PURE__ */ v("div", {
331
337
  className: `h-4 w-4 rounded-full border-2 ${n ? "border-primary bg-primary" : "border-muted-foreground"}`,
332
- children: n && /* @__PURE__ */ g("div", {
338
+ children: n && /* @__PURE__ */ v("div", {
333
339
  className: "h-full w-full flex items-center justify-center",
334
- children: /* @__PURE__ */ g("div", { className: "h-1.5 w-1.5 rounded-full bg-bg-surface" })
340
+ children: /* @__PURE__ */ v("div", { className: "h-1.5 w-1.5 rounded-full bg-bg-surface" })
335
341
  })
336
342
  })]
337
- }), /* @__PURE__ */ _("div", {
343
+ }), /* @__PURE__ */ y("div", {
338
344
  className: "mt-3 grid grid-cols-2 gap-2 text-xs text-muted-foreground",
339
345
  children: [
340
- /* @__PURE__ */ _("span", { children: [
346
+ /* @__PURE__ */ y("span", { children: [
341
347
  t.apps,
342
348
  " ",
343
- w("devportal.apps", "apps")
349
+ D("devportal.apps", "apps")
344
350
  ] }),
345
- /* @__PURE__ */ _("span", { children: [
351
+ /* @__PURE__ */ y("span", { children: [
346
352
  t.apiCalls,
347
353
  " ",
348
- w("devportal.apiCalls", "API calls")
354
+ D("devportal.apiCalls", "API calls")
349
355
  ] }),
350
- /* @__PURE__ */ _("span", { children: [
356
+ /* @__PURE__ */ y("span", { children: [
351
357
  t.storage,
352
358
  " ",
353
- w("devportal.storage", "storage")
359
+ D("devportal.storage", "storage")
354
360
  ] }),
355
- /* @__PURE__ */ _("span", { children: [
361
+ /* @__PURE__ */ y("span", { children: [
356
362
  t.members,
357
363
  " ",
358
- w("devportal.members", "members")
364
+ D("devportal.members", "members")
359
365
  ] })
360
366
  ]
361
367
  })]
@@ -363,129 +369,132 @@ var v = [
363
369
  })
364
370
  })
365
371
  }),
366
- /* @__PURE__ */ _("div", {
372
+ /* @__PURE__ */ y("div", {
367
373
  className: "flex items-center justify-end gap-3 border-t pt-6",
368
- children: [/* @__PURE__ */ _("button", {
374
+ children: [/* @__PURE__ */ y("button", {
369
375
  type: "button",
370
- onClick: H,
376
+ onClick: q,
371
377
  className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-muted transition-colors",
372
- children: [/* @__PURE__ */ g(m, { size: 16 }), w("devportal.cancel", "Cancel")]
373
- }), /* @__PURE__ */ g("button", {
378
+ children: [/* @__PURE__ */ v(g, { size: 16 }), D("devportal.cancel", "Cancel")]
379
+ }), /* @__PURE__ */ v("button", {
374
380
  type: "button",
375
- onClick: z,
381
+ onClick: W,
376
382
  className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",
377
- children: w("devportal.continue", "Continue")
383
+ children: D("devportal.continue", "Continue")
378
384
  })]
379
385
  })
380
- ] }), D === "billing" && /* @__PURE__ */ _(h, { children: [
381
- /* @__PURE__ */ g(r, {
382
- title: w("devportal.legalInformation", "Legal Information"),
383
- description: w("devportal.legalInformationDescription", "Required for payouts and compliance (optional for Free tier)"),
384
- children: /* @__PURE__ */ _("div", {
386
+ ] }), A === "billing" && /* @__PURE__ */ y(_, { children: [
387
+ /* @__PURE__ */ v(r, {
388
+ title: D("devportal.legalInformation", "Legal Information"),
389
+ description: D("devportal.legalInformationDescription", "Required for payouts and compliance (optional for Free tier)"),
390
+ children: /* @__PURE__ */ y("div", {
385
391
  className: "space-y-4",
386
392
  children: [
387
- /* @__PURE__ */ g(i, {
388
- label: w("devportal.legalEntityName", "Legal Entity Name"),
389
- value: M.legalEntityName,
390
- onChange: (e) => L("legalEntityName", e.target.value),
391
- placeholder: w("devportal.legalEntityNamePlaceholder", "Acme Inc."),
392
- hint: w("devportal.legalEntityNameHint", "Your registered business name")
393
+ /* @__PURE__ */ v(i, {
394
+ label: D("devportal.legalEntityName", "Legal Entity Name"),
395
+ value: L.legalEntityName,
396
+ onChange: (e) => H("legalEntityName", e.target.value),
397
+ placeholder: D("devportal.legalEntityNamePlaceholder", "Acme Inc."),
398
+ hint: D("devportal.legalEntityNameHint", "Your registered business name")
393
399
  }),
394
- /* @__PURE__ */ _("div", {
400
+ /* @__PURE__ */ y("div", {
395
401
  className: "grid gap-4 sm:grid-cols-2",
396
- children: [/* @__PURE__ */ g(a, {
397
- label: w("devportal.entityType", "Entity Type"),
398
- value: M.legalEntityType,
399
- onChange: (e) => L("legalEntityType", e.target.value),
400
- options: y
401
- }), /* @__PURE__ */ g(a, {
402
- label: w("devportal.taxCountry", "Tax Country"),
403
- value: M.taxCountry,
404
- onChange: (e) => L("taxCountry", e.target.value),
405
- options: b
402
+ children: [/* @__PURE__ */ v(a, {
403
+ label: D("devportal.entityType", "Entity Type"),
404
+ value: L.legalEntityType,
405
+ onChange: (e) => H("legalEntityType", e.target.value),
406
+ options: x,
407
+ placeholder: D("devportal.selectEntityType", "Select entity type")
408
+ }), /* @__PURE__ */ v(a, {
409
+ label: D("devportal.taxCountry", "Tax Country"),
410
+ value: L.taxCountry,
411
+ onChange: (e) => H("taxCountry", e.target.value),
412
+ options: S,
413
+ placeholder: D("devportal.selectCountry", "Select country")
406
414
  })]
407
415
  }),
408
- /* @__PURE__ */ g(i, {
409
- label: w("devportal.taxIdVatNumber", "Tax ID / VAT Number"),
410
- value: M.taxId,
411
- onChange: (e) => L("taxId", e.target.value),
416
+ /* @__PURE__ */ v(i, {
417
+ label: D("devportal.taxIdVatNumber", "Tax ID / VAT Number"),
418
+ value: L.taxId,
419
+ onChange: (e) => H("taxId", e.target.value),
412
420
  placeholder: "XX-XXXXXXX",
413
- hint: w("devportal.taxIdHint", "Your business tax identification number")
421
+ hint: D("devportal.taxIdHint", "Your business tax identification number")
414
422
  })
415
423
  ]
416
424
  })
417
425
  }),
418
- /* @__PURE__ */ g(r, {
419
- title: w("devportal.businessAddress", "Business Address"),
420
- description: w("devportal.businessAddressDescription", "Used for invoicing and legal documents"),
421
- children: /* @__PURE__ */ _("div", {
426
+ /* @__PURE__ */ v(r, {
427
+ title: D("devportal.businessAddress", "Business Address"),
428
+ description: D("devportal.businessAddressDescription", "Used for invoicing and legal documents"),
429
+ children: /* @__PURE__ */ y("div", {
422
430
  className: "space-y-4",
423
431
  children: [
424
- /* @__PURE__ */ g(i, {
425
- label: w("devportal.streetAddress", "Street Address"),
426
- value: M.streetAddress,
427
- onChange: (e) => L("streetAddress", e.target.value),
428
- placeholder: w("devportal.streetAddressPlaceholder", "123 Main Street")
432
+ /* @__PURE__ */ v(i, {
433
+ label: D("devportal.streetAddress", "Street Address"),
434
+ value: L.streetAddress,
435
+ onChange: (e) => H("streetAddress", e.target.value),
436
+ placeholder: D("devportal.streetAddressPlaceholder", "123 Main Street")
429
437
  }),
430
- /* @__PURE__ */ _("div", {
438
+ /* @__PURE__ */ y("div", {
431
439
  className: "grid gap-4 sm:grid-cols-2",
432
- children: [/* @__PURE__ */ g(i, {
433
- label: w("devportal.city", "City"),
434
- value: M.city,
435
- onChange: (e) => L("city", e.target.value),
436
- placeholder: w("devportal.cityPlaceholder", "San Francisco")
437
- }), /* @__PURE__ */ g(i, {
438
- label: w("devportal.stateProvince", "State / Province"),
439
- value: M.state,
440
- onChange: (e) => L("state", e.target.value),
441
- placeholder: w("devportal.stateProvincePlaceholder", "California")
440
+ children: [/* @__PURE__ */ v(i, {
441
+ label: D("devportal.city", "City"),
442
+ value: L.city,
443
+ onChange: (e) => H("city", e.target.value),
444
+ placeholder: D("devportal.cityPlaceholder", "San Francisco")
445
+ }), /* @__PURE__ */ v(i, {
446
+ label: D("devportal.stateProvince", "State / Province"),
447
+ value: L.state,
448
+ onChange: (e) => H("state", e.target.value),
449
+ placeholder: D("devportal.stateProvincePlaceholder", "California")
442
450
  })]
443
451
  }),
444
- /* @__PURE__ */ _("div", {
452
+ /* @__PURE__ */ y("div", {
445
453
  className: "grid gap-4 sm:grid-cols-2",
446
- children: [/* @__PURE__ */ g(i, {
447
- label: w("devportal.postalCode", "Postal Code"),
448
- value: M.postalCode,
449
- onChange: (e) => L("postalCode", e.target.value),
450
- placeholder: w("devportal.postalCodePlaceholder", "94102")
451
- }), /* @__PURE__ */ g(a, {
452
- label: w("devportal.country", "Country"),
453
- value: M.country,
454
- onChange: (e) => L("country", e.target.value),
455
- options: b
454
+ children: [/* @__PURE__ */ v(i, {
455
+ label: D("devportal.postalCode", "Postal Code"),
456
+ value: L.postalCode,
457
+ onChange: (e) => H("postalCode", e.target.value),
458
+ placeholder: D("devportal.postalCodePlaceholder", "94102")
459
+ }), /* @__PURE__ */ v(a, {
460
+ label: D("devportal.country", "Country"),
461
+ value: L.country,
462
+ onChange: (e) => H("country", e.target.value),
463
+ options: S,
464
+ placeholder: D("devportal.selectCountry", "Select country")
456
465
  })]
457
466
  })
458
467
  ]
459
468
  })
460
469
  }),
461
- /* @__PURE__ */ _("div", {
470
+ /* @__PURE__ */ y("div", {
462
471
  className: "rounded-lg border border-border-subtle bg-status-info-bg-subtle p-4 flex gap-3",
463
- children: [/* @__PURE__ */ g(p, {
472
+ children: [/* @__PURE__ */ v(h, {
464
473
  size: 20,
465
474
  className: "text-accent-blue flex-shrink-0 mt-0.5"
466
- }), /* @__PURE__ */ _("div", {
475
+ }), /* @__PURE__ */ y("div", {
467
476
  className: "text-sm text-status-info-text",
468
- children: [/* @__PURE__ */ g("p", {
477
+ children: [/* @__PURE__ */ v("p", {
469
478
  className: "font-medium",
470
- children: w("devportal.canAddLater", "You can add this later")
471
- }), /* @__PURE__ */ g("p", {
479
+ children: D("devportal.canAddLater", "You can add this later")
480
+ }), /* @__PURE__ */ v("p", {
472
481
  className: "mt-1 text-status-info-text",
473
- children: w("devportal.legalInfoOptionalNote", "Legal and billing information is only required when you want to receive payouts from app sales or upgrade to a paid plan.")
482
+ children: D("devportal.legalInfoOptionalNote", "Legal and billing information is only required when you want to receive payouts from app sales or upgrade to a paid plan.")
474
483
  })]
475
484
  })]
476
485
  }),
477
- /* @__PURE__ */ _("div", {
486
+ /* @__PURE__ */ y("div", {
478
487
  className: "flex items-center justify-between border-t pt-6",
479
- children: [/* @__PURE__ */ g("button", {
488
+ children: [/* @__PURE__ */ v("button", {
480
489
  type: "button",
481
- onClick: B,
490
+ onClick: G,
482
491
  className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-muted transition-colors",
483
- children: w("devportal.back", "Back")
484
- }), /* @__PURE__ */ g("button", {
492
+ children: D("devportal.back", "Back")
493
+ }), /* @__PURE__ */ v("button", {
485
494
  type: "submit",
486
- disabled: A,
495
+ disabled: N,
487
496
  className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50",
488
- children: A ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), w("devportal.creating", "Creating...")] }) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(f, { size: 16 }), w("devportal.createOrganization", "Create Organization")] })
497
+ children: N ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), D("devportal.creating", "Creating...")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(m, { size: 16 }), D("devportal.createOrganization", "Create Organization")] })
489
498
  })]
490
499
  })
491
500
  ] })]
@@ -494,6 +503,6 @@ var v = [
494
503
  });
495
504
  };
496
505
  //#endregion
497
- export { x as CreateOrganizationPage };
506
+ export { C as CreateOrganizationPage };
498
507
 
499
508
  //# sourceMappingURL=CreateOrganizationPage.js.map