@burdenoff/microfe-devportal 2026.609.4 → 2026.611.1

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