@burdenoff/microfe-devportal 2026.915.4 → 2026.915.5

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.
@@ -9,19 +9,20 @@ import { AppListItem as p } from "../components/AppCard.js";
9
9
  import { StatCard as m, StatCardGrid as h } from "../components/StatCard.js";
10
10
  import { DataTable as g, DetailList as _ } from "../components/DataTable.js";
11
11
  import { InputField as v, TextareaField as y } from "../components/FormField.js";
12
- import { useDevportalPermission as ee } from "../hooks/usePermission.js";
13
- import { capitalizeCarrierName as te, useCarrierPickupLocations as b } from "../hooks/useCarrierPickupLocations.js";
14
- import { DEVPORTAL_PERMISSIONS as x } from "../constants/permissions.js";
12
+ import { RegisterPickupLocationModal as ee } from "../components/RegisterPickupLocationModal.js";
13
+ import { useDevportalPermission as te } from "../hooks/usePermission.js";
14
+ import { capitalizeCarrierName as b, useCarrierPickupLocations as x } from "../hooks/useCarrierPickupLocations.js";
15
+ import { DEVPORTAL_PERMISSIONS as ne } from "../constants/permissions.js";
15
16
  import { useEffect as S, useState as C } from "react";
16
- import { AlertCircle as w, AppWindow as T, ArrowRight as E, BarChart3 as D, Building2 as O, CheckCircle as k, DollarSign as A, ExternalLink as j, Loader2 as M, Plus as N, Settings as P, Shield as F, TrendingUp as I, Users as ne } from "lucide-react";
17
- import { useParams as L } from "react-router";
18
- import { Fragment as R, jsx as z, jsxs as B } from "react/jsx-runtime";
19
- import { useI18n as V } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
20
- import { EmphasisPanel as H, NextSteps as U } from "@burdenoff/fe-libs/ui";
21
- import { graphqlFetch as W } from "@burdenoff/fe-libs/shared/graphql";
17
+ import { AlertCircle as re, AppWindow as w, ArrowRight as T, BarChart3 as E, Building2 as D, CheckCircle as O, DollarSign as k, ExternalLink as A, Loader2 as j, Plus as M, Settings as N, Shield as P, TrendingUp as F, Users as I } from "lucide-react";
18
+ import { useParams as ie } from "react-router";
19
+ import { Fragment as L, jsx as R, jsxs as z } from "react/jsx-runtime";
20
+ import { useI18n as B } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
21
+ import { EmphasisPanel as V, NextSteps as ae } from "@burdenoff/fe-libs/ui";
22
+ import { graphqlFetch as H } from "@burdenoff/fe-libs/shared/graphql";
22
23
  //#region src/devportal/pages/OrganizationDetailPage.tsx
23
- var G = "\n query OrganizationVerificationDetails($id: ID!) {\n developerOrganization(id: $id) {\n id\n verificationMethod\n verificationRequestedAt\n verificationStatus\n verificationRequestNotes\n verificationEvidenceUrl\n verificationDomain\n verificationRequestedBy\n verificationReviewedAt\n verificationReviewedBy\n verificationReviewNotes\n verificationRejectedReason\n }\n }\n", K = "\n mutation RequestOrgVerificationExtended(\n $id: ID!\n $method: String!\n $notes: String\n $evidenceUrl: String\n $domain: String\n ) {\n requestOrgVerification(\n id: $id\n method: $method\n notes: $notes\n evidenceUrl: $evidenceUrl\n domain: $domain\n ) {\n id\n verificationMethod\n verificationRequestedAt\n verificationStatus\n verificationRequestNotes\n verificationEvidenceUrl\n verificationDomain\n verificationRejectedReason\n }\n }\n";
24
- function re(e) {
24
+ var U = "\n query OrganizationVerificationDetails($id: ID!) {\n developerOrganization(id: $id) {\n id\n verificationMethod\n verificationRequestedAt\n verificationStatus\n verificationRequestNotes\n verificationEvidenceUrl\n verificationDomain\n verificationRequestedBy\n verificationReviewedAt\n verificationReviewedBy\n verificationReviewNotes\n verificationRejectedReason\n }\n }\n", W = "\n mutation RequestOrgVerificationExtended(\n $id: ID!\n $method: String!\n $notes: String\n $evidenceUrl: String\n $domain: String\n ) {\n requestOrgVerification(\n id: $id\n method: $method\n notes: $notes\n evidenceUrl: $evidenceUrl\n domain: $domain\n ) {\n id\n verificationMethod\n verificationRequestedAt\n verificationStatus\n verificationRequestNotes\n verificationEvidenceUrl\n verificationDomain\n verificationRejectedReason\n }\n }\n";
25
+ function G(e) {
25
26
  let t = e;
26
27
  return {
27
28
  id: e.id,
@@ -78,7 +79,7 @@ function re(e) {
78
79
  updatedAt: e.updatedAt
79
80
  };
80
81
  }
81
- function ie(e) {
82
+ function oe(e) {
82
83
  return {
83
84
  id: e.id,
84
85
  organizationId: e.organizationId,
@@ -97,11 +98,11 @@ function ie(e) {
97
98
  updatedAt: e.updatedAt
98
99
  };
99
100
  }
100
- function q(e) {
101
+ function se(e) {
101
102
  let t = e.trim().toLowerCase();
102
103
  return /^[a-z0-9.-]+\.[a-z]{2,}$/i.test(t) && !t.includes("@");
103
104
  }
104
- function J(e) {
105
+ function K(e) {
105
106
  try {
106
107
  let t = new URL(e.trim());
107
108
  return t.protocol === "http:" || t.protocol === "https:";
@@ -109,51 +110,51 @@ function J(e) {
109
110
  return !1;
110
111
  }
111
112
  }
112
- function ae(e) {
113
+ function ce(e) {
113
114
  let t = e.trim();
114
115
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);
115
116
  }
116
- var Y = {
117
+ var q = {
117
118
  VIEWER: 0,
118
119
  DEVELOPER: 1,
119
120
  ADMIN: 2,
120
121
  OWNER: 3
121
- }, oe = () => {
122
- let { navigate: n, basePath: s, setActiveOrgId: c, setActivePhysicalOrgId: l, currentUser: d } = e(), f = i(), { orgId: p } = L(), { t: m } = V(), h = (e, t) => {
122
+ }, le = () => {
123
+ let { navigate: n, basePath: s, setActiveOrgId: c, setActivePhysicalOrgId: l, currentUser: d } = e(), f = i(), { orgId: p } = ie(), { t: m } = B(), h = (e, t) => {
123
124
  let n = m(e);
124
125
  return n === e ? t : n;
125
126
  }, [g, _] = C("overview"), v = [
126
127
  {
127
128
  id: "overview",
128
129
  label: h("devportal.overview", "Overview"),
129
- icon: O
130
+ icon: D
130
131
  },
131
132
  {
132
133
  id: "apps",
133
134
  label: h("devportal.applications", "Applications"),
134
- icon: T
135
+ icon: w
135
136
  },
136
137
  {
137
138
  id: "members",
138
139
  label: h("devportal.members", "Members"),
139
- icon: ne
140
+ icon: I
140
141
  },
141
142
  {
142
143
  id: "settings",
143
144
  label: h("devportal.settings", "Settings"),
144
- icon: P
145
+ icon: N
145
146
  }
146
147
  ], { data: y, previousData: ee, loading: te, error: b } = o({
147
148
  variables: { id: p },
148
149
  skip: !p
149
- }), x = y ?? ee, { data: E } = a({
150
+ }), x = y ?? ee, { data: ne } = a({
150
151
  variables: {
151
152
  limit: 50,
152
153
  organizationId: p
153
154
  },
154
155
  skip: !p,
155
156
  fetchPolicy: "cache-and-network"
156
- }), D = (x?.developerOrganization?.members ?? []).map(ie), k = (d ? D.find((e) => e.userId === d.id) : void 0)?.role, j = k !== void 0 && Y[k] >= Y.DEVELOPER, F = k !== void 0 && Y[k] >= Y.ADMIN, I = F, R = F, H = v.filter((e) => e.id !== "settings" || F), W = (e) => {
157
+ }), T = (x?.developerOrganization?.members ?? []).map(oe), E = (d ? T.find((e) => e.userId === d.id) : void 0)?.role, O = E !== void 0 && q[E] >= q.DEVELOPER, A = E !== void 0 && q[E] >= q.ADMIN, P = A, F = A, L = v.filter((e) => e.id !== "settings" || A), V = (e) => {
157
158
  n?.(`${s}${e}`);
158
159
  };
159
160
  if (S(() => {
@@ -164,217 +165,217 @@ var Y = {
164
165
  c,
165
166
  l
166
167
  ]), S(() => {
167
- g === "settings" && !F && _("overview");
168
- }, [g, F]), S(() => {
168
+ g === "settings" && !A && _("overview");
169
+ }, [g, A]), S(() => {
169
170
  let e = x?.developerOrganization?.name;
170
171
  if (!p || !e) return;
171
172
  let t = window.__breadcrumbRegistry;
172
173
  return t?.register(p, e), () => t?.unregister(p);
173
- }, [p, y?.developerOrganization?.name]), te && !x) return /* @__PURE__ */ z(u, {
174
+ }, [p, y?.developerOrganization?.name]), te && !x) return /* @__PURE__ */ R(u, {
174
175
  title: h("devportal.loadingDots", "Loading..."),
175
176
  backLink: `${s}${r(f)}`,
176
177
  backLabel: h("devportal.backToOrganizations", "Back to Organizations"),
177
- children: /* @__PURE__ */ z("div", {
178
+ children: /* @__PURE__ */ R("div", {
178
179
  className: "flex items-center justify-center py-12",
179
- children: /* @__PURE__ */ z(M, { className: "h-8 w-8 animate-spin text-text-secondary" })
180
+ children: /* @__PURE__ */ R(j, { className: "h-8 w-8 animate-spin text-text-secondary" })
180
181
  })
181
182
  });
182
- if (b || !x?.developerOrganization) return /* @__PURE__ */ z(u, {
183
+ if (b || !x?.developerOrganization) return /* @__PURE__ */ R(u, {
183
184
  title: h("devportal.organizationNotFound", "Organization Not Found"),
184
185
  backLink: `${s}${r(f)}`,
185
186
  backLabel: h("devportal.backToOrganizations", "Back to Organizations"),
186
- children: /* @__PURE__ */ B("div", {
187
+ children: /* @__PURE__ */ z("div", {
187
188
  className: "flex flex-col items-center justify-center py-12 gap-4",
188
189
  children: [
189
- /* @__PURE__ */ z(w, { className: "h-12 w-12 text-status-error-text" }),
190
- /* @__PURE__ */ z("h2", {
190
+ /* @__PURE__ */ R(re, { className: "h-12 w-12 text-status-error-text" }),
191
+ /* @__PURE__ */ R("h2", {
191
192
  className: "text-lg font-semibold",
192
193
  children: h("devportal.organizationNotFoundLower", "Organization not found")
193
194
  }),
194
- /* @__PURE__ */ z("p", {
195
+ /* @__PURE__ */ R("p", {
195
196
  className: "text-text-secondary",
196
197
  children: b?.message || h("devportal.organizationNotFoundDescription", "The organization you're looking for doesn't exist or you don't have access to it.")
197
198
  }),
198
- /* @__PURE__ */ z("button", {
199
- onClick: () => W(r(f)),
199
+ /* @__PURE__ */ R("button", {
200
+ onClick: () => V(r(f)),
200
201
  className: "mt-4 inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90",
201
202
  children: h("devportal.backToOrganizations", "Back to Organizations")
202
203
  })
203
204
  ]
204
205
  })
205
206
  });
206
- let G = re(x.developerOrganization), K = D, q = E?.applications?.edges?.map((e) => e.node) ?? [];
207
- return /* @__PURE__ */ B(u, {
208
- title: G.name,
209
- description: G.description,
207
+ let H = G(x.developerOrganization), U = T, W = ne?.applications?.edges?.map((e) => e.node) ?? [];
208
+ return /* @__PURE__ */ z(u, {
209
+ title: H.name,
210
+ description: H.description,
210
211
  purpose: h("devportal.orgDetailPurpose", "This is the home for one organization — the apps it owns, the people who can work on them, and its store and billing settings. Invite teammates, add apps, and verify the org so your published listings look trustworthy."),
211
212
  backLink: `${s}${r(f)}`,
212
213
  backLabel: h("devportal.backToOrganizations", "Back to Organizations"),
213
- actions: /* @__PURE__ */ z("div", {
214
+ actions: /* @__PURE__ */ R("div", {
214
215
  className: "flex items-center gap-2",
215
- children: I ? /* @__PURE__ */ B("button", {
216
- onClick: () => n?.(`/billing/earnings?developerOrgId=${encodeURIComponent(G.id)}&developerOrgName=${encodeURIComponent(G.name)}`),
216
+ children: P ? /* @__PURE__ */ z("button", {
217
+ onClick: () => n?.(`/billing/earnings?developerOrgId=${encodeURIComponent(H.id)}&developerOrgName=${encodeURIComponent(H.name)}`),
217
218
  className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-bg-sunken transition-colors",
218
- children: [/* @__PURE__ */ z(A, { size: 16 }), h("devportal.revenue", "Revenue")]
219
+ children: [/* @__PURE__ */ R(k, { size: 16 }), h("devportal.revenue", "Revenue")]
219
220
  }) : null
220
221
  }),
221
222
  children: [
222
- /* @__PURE__ */ z("div", {
223
+ /* @__PURE__ */ R("div", {
223
224
  className: "border-b",
224
- children: /* @__PURE__ */ z("nav", {
225
+ children: /* @__PURE__ */ R("nav", {
225
226
  className: "-mb-px flex gap-4 overflow-x-auto",
226
227
  role: "tablist",
227
228
  "aria-label": h("devportal.organizationSections", "Organization sections"),
228
- children: H.map((e) => {
229
+ children: L.map((e) => {
229
230
  let n = e.icon;
230
- return /* @__PURE__ */ B("button", {
231
+ return /* @__PURE__ */ z("button", {
231
232
  id: `organization-tab-${e.id}`,
232
233
  role: "tab",
233
234
  "aria-selected": g === e.id,
234
235
  "aria-controls": `organization-panel-${e.id}`,
235
236
  onClick: () => _(e.id),
236
237
  className: t("flex items-center gap-2 border-b-2 px-1 py-3 text-sm font-medium transition-colors", g === e.id ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary hover:border-muted-foreground"),
237
- children: [/* @__PURE__ */ z(n, { size: 16 }), e.label]
238
+ children: [/* @__PURE__ */ R(n, { size: 16 }), e.label]
238
239
  }, e.id);
239
240
  })
240
241
  })
241
242
  }),
242
- /* @__PURE__ */ z(U, {
243
+ /* @__PURE__ */ R(ae, {
243
244
  className: "mt-6",
244
- storageKey: `devportal-org-${G.id}`,
245
+ storageKey: `devportal-org-${H.id}`,
245
246
  steps: [
246
- ...R ? [{
247
+ ...F ? [{
247
248
  id: "invite-members",
248
249
  label: h("devportal.inviteMembers", "Invite members"),
249
250
  description: h("devportal.orgStepInvite", "Add teammates so they can build alongside you"),
250
- icon: /* @__PURE__ */ z(ne, { size: 16 }),
251
+ icon: /* @__PURE__ */ R(I, { size: 16 }),
251
252
  onClick: () => _("members")
252
253
  }] : [],
253
- ...j && !f ? [{
254
+ ...O && !f ? [{
254
255
  id: "create-app",
255
256
  label: h("devportal.createApp", "Create App"),
256
257
  description: h("devportal.orgStepCreateApp", "Build a new application under this organization"),
257
- icon: /* @__PURE__ */ z(T, { size: 16 }),
258
- onClick: () => W("/apps/new")
258
+ icon: /* @__PURE__ */ R(w, { size: 16 }),
259
+ onClick: () => V("/apps/new")
259
260
  }] : [],
260
- ...j && f ? [{
261
+ ...O && f ? [{
261
262
  id: "list-item",
262
263
  label: h("devportal.listAnItem", "List an Item"),
263
264
  description: h("devportal.orgStepListItem", "List a physical product for sale under this organization"),
264
- icon: /* @__PURE__ */ z(N, { size: 16 }),
265
- onClick: () => W("/seller/items/new")
265
+ icon: /* @__PURE__ */ R(M, { size: 16 }),
266
+ onClick: () => V("/seller/items/new")
266
267
  }] : [],
267
- ...F ? [{
268
+ ...A ? [{
268
269
  id: "settings",
269
270
  label: h("devportal.orgStepVerify", "Complete organization profile"),
270
271
  description: h("devportal.orgStepVerifyDesc", "Add a logo and details, then request verification"),
271
- icon: /* @__PURE__ */ z(P, { size: 16 }),
272
+ icon: /* @__PURE__ */ R(N, { size: 16 }),
272
273
  onClick: () => _("settings"),
273
- done: !!G.isVerified
274
+ done: !!H.isVerified
274
275
  }] : []
275
276
  ]
276
277
  }),
277
- /* @__PURE__ */ B("div", {
278
+ /* @__PURE__ */ z("div", {
278
279
  className: "mt-6",
279
280
  id: `organization-panel-${g}`,
280
281
  role: "tabpanel",
281
282
  "aria-labelledby": `organization-tab-${g}`,
282
283
  tabIndex: 0,
283
284
  children: [
284
- g === "overview" && /* @__PURE__ */ z(se, {
285
- org: G,
286
- apps: q,
287
- members: K,
288
- canCreateApps: j,
289
- canViewRevenue: I,
290
- onNavigate: W,
285
+ g === "overview" && /* @__PURE__ */ R(ue, {
286
+ org: H,
287
+ apps: W,
288
+ members: U,
289
+ canCreateApps: O,
290
+ canViewRevenue: P,
291
+ onNavigate: V,
291
292
  onShowApps: () => _("apps")
292
293
  }),
293
- g === "apps" && /* @__PURE__ */ z(X, {
294
- org: G,
295
- apps: q,
296
- onNavigate: W,
297
- canCreateApps: j
294
+ g === "apps" && /* @__PURE__ */ R(J, {
295
+ org: H,
296
+ apps: W,
297
+ onNavigate: V,
298
+ canCreateApps: O
298
299
  }),
299
- g === "members" && /* @__PURE__ */ z(Z, {
300
- members: K,
301
- onNavigate: W,
302
- orgId: G.id,
303
- canInviteMembers: R
300
+ g === "members" && /* @__PURE__ */ R(Y, {
301
+ members: U,
302
+ onNavigate: V,
303
+ orgId: H.id,
304
+ canInviteMembers: F
304
305
  }),
305
- g === "settings" && F && /* @__PURE__ */ z(Q, { org: G })
306
+ g === "settings" && A && /* @__PURE__ */ R(de, { org: H })
306
307
  ]
307
308
  })
308
309
  ]
309
310
  });
310
- }, se = ({ org: e, apps: t, members: r, canCreateApps: i, canViewRevenue: a, onNavigate: o, onShowApps: s }) => {
311
- let { t: c } = V(), l = (e, t) => {
311
+ }, ue = ({ org: e, apps: t, members: r, canCreateApps: i, canViewRevenue: a, onNavigate: o, onShowApps: s }) => {
312
+ let { t: c } = B(), l = (e, t) => {
312
313
  let n = c(e);
313
314
  return n === e ? t : n;
314
315
  };
315
- return /* @__PURE__ */ B("div", {
316
+ return /* @__PURE__ */ z("div", {
316
317
  className: "grid gap-6 lg:grid-cols-3",
317
- children: [/* @__PURE__ */ B("div", {
318
+ children: [/* @__PURE__ */ z("div", {
318
319
  className: "lg:col-span-2 space-y-6",
319
- children: [/* @__PURE__ */ z(H, { children: /* @__PURE__ */ B(h, {
320
+ children: [/* @__PURE__ */ R(V, { children: /* @__PURE__ */ z(h, {
320
321
  columns: a ? 4 : 3,
321
322
  children: [
322
- /* @__PURE__ */ z(m, {
323
+ /* @__PURE__ */ R(m, {
323
324
  title: l("devportal.publishedApps", "Published Apps"),
324
325
  value: `${e.publishedApps}/${e.totalApps}`,
325
- icon: /* @__PURE__ */ z(T, { size: 20 })
326
+ icon: /* @__PURE__ */ R(w, { size: 20 })
326
327
  }),
327
- /* @__PURE__ */ z(m, {
328
+ /* @__PURE__ */ R(m, {
328
329
  title: l("devportal.totalInstalls", "Total Installs"),
329
330
  value: e.totalInstalls.toLocaleString(),
330
- icon: /* @__PURE__ */ z(I, { size: 20 })
331
+ icon: /* @__PURE__ */ R(F, { size: 20 })
331
332
  }),
332
- a ? /* @__PURE__ */ z(m, {
333
+ a ? /* @__PURE__ */ R(m, {
333
334
  title: l("devportal.totalRevenue", "Total Revenue"),
334
335
  value: `$${e.totalRevenue.toLocaleString()}`,
335
- icon: /* @__PURE__ */ z(A, { size: 20 })
336
+ icon: /* @__PURE__ */ R(k, { size: 20 })
336
337
  }) : null,
337
- /* @__PURE__ */ z(m, {
338
+ /* @__PURE__ */ R(m, {
338
339
  title: l("devportal.avgRating", "Avg Rating"),
339
340
  value: e.averageRating ? `${e.averageRating.toFixed(1)} ★` : l("devportal.notAvailable", "N/A"),
340
- icon: /* @__PURE__ */ z(D, { size: 20 })
341
+ icon: /* @__PURE__ */ R(E, { size: 20 })
341
342
  })
342
343
  ]
343
- }) }), /* @__PURE__ */ z(d, {
344
+ }) }), /* @__PURE__ */ R(d, {
344
345
  title: l("devportal.recentApplications", "Recent Applications"),
345
- actions: /* @__PURE__ */ B("button", {
346
+ actions: /* @__PURE__ */ z("button", {
346
347
  onClick: s,
347
348
  className: "text-sm text-primary hover:underline flex items-center gap-1",
348
349
  children: [
349
350
  l("devportal.viewAll", "View all"),
350
351
  " ",
351
- /* @__PURE__ */ z(E, { size: 14 })
352
+ /* @__PURE__ */ R(T, { size: 14 })
352
353
  ]
353
354
  }),
354
- children: t.length > 0 ? /* @__PURE__ */ z("div", {
355
+ children: t.length > 0 ? /* @__PURE__ */ R("div", {
355
356
  className: "space-y-2",
356
- children: t.slice(0, 3).map((e) => /* @__PURE__ */ z(p, {
357
+ children: t.slice(0, 3).map((e) => /* @__PURE__ */ R(p, {
357
358
  app: e,
358
359
  onClick: () => o(`/apps/${e.id}`)
359
360
  }, e.id))
360
- }) : /* @__PURE__ */ z(n, {
361
+ }) : /* @__PURE__ */ R(n, {
361
362
  illustration: "empty-data",
362
- icon: /* @__PURE__ */ z(T, { size: 24 }),
363
+ icon: /* @__PURE__ */ R(w, { size: 24 }),
363
364
  title: l("devportal.noApplications", "No applications"),
364
365
  description: e.kind === "PHYSICAL" ? l("devportal.createYourFirstItem", "List your first physical item") : l("devportal.createYourFirstApplication", "Create your first application"),
365
- action: i ? /* @__PURE__ */ B("button", {
366
+ action: i ? /* @__PURE__ */ z("button", {
366
367
  onClick: () => o(e.kind === "PHYSICAL" ? "/seller/items/new" : "/apps/new"),
367
368
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90",
368
- children: [/* @__PURE__ */ z(N, { size: 16 }), e.kind === "PHYSICAL" ? l("devportal.createItem", "Create Item") : l("devportal.createApp", "Create App")]
369
+ children: [/* @__PURE__ */ R(M, { size: 16 }), e.kind === "PHYSICAL" ? l("devportal.createItem", "Create Item") : l("devportal.createApp", "Create App")]
369
370
  }) : void 0
370
371
  })
371
372
  })]
372
- }), /* @__PURE__ */ B("div", {
373
+ }), /* @__PURE__ */ z("div", {
373
374
  className: "space-y-6",
374
375
  children: [
375
- a ? /* @__PURE__ */ z(d, {
376
+ a ? /* @__PURE__ */ R(d, {
376
377
  title: l("devportal.revenueSummary", "Revenue Summary"),
377
- children: /* @__PURE__ */ z(_, { items: [
378
+ children: /* @__PURE__ */ R(_, { items: [
378
379
  {
379
380
  label: l("devportal.totalRevenue", "Total Revenue"),
380
381
  value: `$${e.totalRevenue.toLocaleString()}`
@@ -397,31 +398,31 @@ var Y = {
397
398
  }
398
399
  ] })
399
400
  }) : null,
400
- /* @__PURE__ */ z(d, {
401
+ /* @__PURE__ */ R(d, {
401
402
  title: l("devportal.teamMembers", "Team Members"),
402
- actions: /* @__PURE__ */ z("button", {
403
+ actions: /* @__PURE__ */ R("button", {
403
404
  onClick: () => o(`/organizations/${e.id}/members`),
404
405
  className: "text-sm text-primary hover:underline",
405
406
  children: l("devportal.manage", "Manage")
406
407
  }),
407
- children: /* @__PURE__ */ B("div", {
408
+ children: /* @__PURE__ */ z("div", {
408
409
  className: "space-y-2",
409
- children: [r.slice(0, 3).map((e) => /* @__PURE__ */ z("div", {
410
+ children: [r.slice(0, 3).map((e) => /* @__PURE__ */ R("div", {
410
411
  className: "flex items-center justify-between py-2",
411
- children: /* @__PURE__ */ B("div", {
412
+ children: /* @__PURE__ */ z("div", {
412
413
  className: "flex items-center gap-3",
413
- children: [/* @__PURE__ */ z("div", {
414
+ children: [/* @__PURE__ */ R("div", {
414
415
  className: "h-8 w-8 rounded-full bg-action-primary-bg/10 flex items-center justify-center text-sm font-medium text-primary",
415
416
  children: e.email?.charAt(0).toUpperCase() || "U"
416
- }), /* @__PURE__ */ B("div", { children: [/* @__PURE__ */ z("p", {
417
+ }), /* @__PURE__ */ z("div", { children: [/* @__PURE__ */ R("p", {
417
418
  className: "text-sm font-medium",
418
419
  children: e.email
419
- }), /* @__PURE__ */ z("p", {
420
+ }), /* @__PURE__ */ R("p", {
420
421
  className: "text-xs text-text-secondary",
421
422
  children: f[e.role]
422
423
  })] })]
423
424
  })
424
- }, e.id)), r.length > 3 && /* @__PURE__ */ B("p", {
425
+ }, e.id)), r.length > 3 && /* @__PURE__ */ z("p", {
425
426
  className: "text-xs text-text-secondary",
426
427
  children: [
427
428
  "+",
@@ -432,99 +433,99 @@ var Y = {
432
433
  })]
433
434
  })
434
435
  }),
435
- /* @__PURE__ */ z(d, {
436
+ /* @__PURE__ */ R(d, {
436
437
  title: l("devportal.links", "Links"),
437
- children: /* @__PURE__ */ B("div", {
438
+ children: /* @__PURE__ */ z("div", {
438
439
  className: "space-y-2",
439
- children: [e.websiteUrl && /* @__PURE__ */ B("a", {
440
+ children: [e.websiteUrl && /* @__PURE__ */ z("a", {
440
441
  href: e.websiteUrl,
441
442
  target: "_blank",
442
443
  rel: "noopener noreferrer",
443
444
  className: "flex items-center gap-2 text-sm text-primary hover:underline",
444
- children: [/* @__PURE__ */ z(j, { size: 14 }), l("devportal.website", "Website")]
445
- }), e.contactEmail && /* @__PURE__ */ B("a", {
445
+ children: [/* @__PURE__ */ R(A, { size: 14 }), l("devportal.website", "Website")]
446
+ }), e.contactEmail && /* @__PURE__ */ z("a", {
446
447
  href: `mailto:${e.contactEmail}`,
447
448
  className: "flex items-center gap-2 text-sm text-primary hover:underline",
448
- children: [/* @__PURE__ */ z(j, { size: 14 }), e.contactEmail]
449
+ children: [/* @__PURE__ */ R(A, { size: 14 }), e.contactEmail]
449
450
  })]
450
451
  })
451
452
  })
452
453
  ]
453
454
  })]
454
455
  });
455
- }, X = ({ org: e, apps: t, onNavigate: r, canCreateApps: i }) => {
456
- let { t: a } = V(), o = (e, t) => {
456
+ }, J = ({ org: e, apps: t, onNavigate: r, canCreateApps: i }) => {
457
+ let { t: a } = B(), o = (e, t) => {
457
458
  let n = a(e);
458
459
  return n === e ? t : n;
459
460
  }, s = e.kind === "PHYSICAL", c = s ? "/seller/items/new" : "/apps/new", l = s ? o("devportal.createItem", "Create Item") : o("devportal.createApp", "Create App");
460
- return /* @__PURE__ */ B("div", {
461
+ return /* @__PURE__ */ z("div", {
461
462
  className: "space-y-6",
462
- children: [/* @__PURE__ */ B("div", {
463
+ children: [/* @__PURE__ */ z("div", {
463
464
  className: "flex items-center justify-between",
464
- children: [/* @__PURE__ */ B("p", {
465
+ children: [/* @__PURE__ */ z("p", {
465
466
  className: "text-sm text-text-secondary",
466
467
  children: [
467
468
  t.length,
468
469
  " ",
469
470
  t.length === 1 ? o("devportal.application", "application") : o("devportal.applications", "applications")
470
471
  ]
471
- }), i ? /* @__PURE__ */ B("button", {
472
+ }), i ? /* @__PURE__ */ z("button", {
472
473
  onClick: () => r(c),
473
474
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
474
- children: [/* @__PURE__ */ z(N, { size: 16 }), l]
475
+ children: [/* @__PURE__ */ R(M, { size: 16 }), l]
475
476
  }) : null]
476
- }), t.length > 0 ? /* @__PURE__ */ z("div", {
477
+ }), t.length > 0 ? /* @__PURE__ */ R("div", {
477
478
  className: "space-y-2",
478
- children: t.map((e) => /* @__PURE__ */ z(p, {
479
+ children: t.map((e) => /* @__PURE__ */ R(p, {
479
480
  app: e,
480
481
  onClick: () => r(`/apps/${e.id}`)
481
482
  }, e.id))
482
- }) : /* @__PURE__ */ z(n, {
483
+ }) : /* @__PURE__ */ R(n, {
483
484
  illustration: "empty-data",
484
- icon: /* @__PURE__ */ z(T, { size: 32 }),
485
+ icon: /* @__PURE__ */ R(w, { size: 32 }),
485
486
  title: o("devportal.noApplications", "No applications"),
486
487
  description: s ? o("devportal.createFirstItemForOrg", "List your first physical item for this organization") : o("devportal.createFirstAppForOrg", "Create your first application for this organization"),
487
- action: i ? /* @__PURE__ */ B("button", {
488
+ action: i ? /* @__PURE__ */ z("button", {
488
489
  onClick: () => r(c),
489
490
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90",
490
- children: [/* @__PURE__ */ z(N, { size: 16 }), l]
491
+ children: [/* @__PURE__ */ R(M, { size: 16 }), l]
491
492
  }) : void 0
492
493
  })]
493
494
  });
494
- }, Z = ({ members: e, onNavigate: n, orgId: r, canInviteMembers: i }) => {
495
- let { t: a } = V(), o = (e, t) => {
495
+ }, Y = ({ members: e, onNavigate: n, orgId: r, canInviteMembers: i }) => {
496
+ let { t: a } = B(), o = (e, t) => {
496
497
  let n = a(e);
497
498
  return n === e ? t : n;
498
499
  };
499
- return /* @__PURE__ */ B("div", {
500
+ return /* @__PURE__ */ z("div", {
500
501
  className: "space-y-6",
501
- children: [/* @__PURE__ */ B("div", {
502
+ children: [/* @__PURE__ */ z("div", {
502
503
  className: "flex items-center justify-between",
503
- children: [/* @__PURE__ */ B("p", {
504
+ children: [/* @__PURE__ */ z("p", {
504
505
  className: "text-sm text-text-secondary",
505
506
  children: [
506
507
  e.length,
507
508
  " ",
508
509
  e.length === 1 ? o("devportal.memberLower", "member") : o("devportal.membersLower", "members")
509
510
  ]
510
- }), i ? /* @__PURE__ */ B("button", {
511
+ }), i ? /* @__PURE__ */ z("button", {
511
512
  onClick: () => n(`/organizations/${r}/members`),
512
513
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
513
- children: [/* @__PURE__ */ z(N, { size: 16 }), o("devportal.inviteMember", "Invite Member")]
514
+ children: [/* @__PURE__ */ R(M, { size: 16 }), o("devportal.inviteMember", "Invite Member")]
514
515
  }) : null]
515
- }), /* @__PURE__ */ z(g, {
516
+ }), /* @__PURE__ */ R(g, {
516
517
  data: e,
517
518
  keyField: "id",
518
519
  columns: [
519
520
  {
520
521
  key: "email",
521
522
  header: o("devportal.memberColumn", "Member"),
522
- render: (e) => /* @__PURE__ */ B("div", {
523
+ render: (e) => /* @__PURE__ */ z("div", {
523
524
  className: "flex items-center gap-3",
524
- children: [/* @__PURE__ */ z("div", {
525
+ children: [/* @__PURE__ */ R("div", {
525
526
  className: "h-8 w-8 rounded-full bg-action-primary-bg/10 flex items-center justify-center text-sm font-medium text-primary",
526
527
  children: e.email?.charAt(0).toUpperCase() || "U"
527
- }), /* @__PURE__ */ z("span", {
528
+ }), /* @__PURE__ */ R("span", {
528
529
  className: "font-medium",
529
530
  children: e.email
530
531
  })]
@@ -533,7 +534,7 @@ var Y = {
533
534
  {
534
535
  key: "role",
535
536
  header: o("devportal.roleColumn", "Role"),
536
- render: (e) => /* @__PURE__ */ z("span", {
537
+ render: (e) => /* @__PURE__ */ R("span", {
537
538
  className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium", e.role === "OWNER" ? "bg-accent-purple-subtle text-accent-purple" : e.role === "ADMIN" ? "bg-status-info-bg-subtle text-status-info-text" : e.role === "DEVELOPER" ? "bg-status-success-bg-subtle text-status-success-text" : "bg-bg-sunken text-text-primary"),
538
539
  children: f[e.role]
539
540
  })
@@ -546,8 +547,8 @@ var Y = {
546
547
  ]
547
548
  })]
548
549
  });
549
- }, Q = ({ org: e }) => {
550
- let { t } = V(), { allowed: n } = ee(x.ORG_UPDATE), r = (e, n) => {
550
+ }, de = ({ org: e }) => {
551
+ let { t } = B(), { allowed: n } = te(ne.ORG_UPDATE), r = (e, n) => {
551
552
  let r = t(e);
552
553
  return r === e ? n : r;
553
554
  }, [i, a] = C({
@@ -564,17 +565,17 @@ var Y = {
564
565
  }), [f, p] = C({
565
566
  taxId: e.taxId ?? "",
566
567
  taxCountry: e.taxCountry ?? ""
567
- }), [m, h] = C({ pickupPostalCode: e.pickupPostalCode ?? "" }), { locations: g } = b(), [w, T] = C(null), [E, D] = C(null), [O, A] = C("manual"), [j, N] = C(!1), [I, ne] = C(""), [L, H] = C(""), [U, re] = C(""), [ie, Y] = C(null), [oe, se] = C(!1), X = ie ?? {
568
+ }), [m, h] = C({ pickupPostalCode: e.pickupPostalCode ?? "" }), { locations: g, refetch: re } = x(), [w, T] = C(!1), [E, D] = C(null), [k, A] = C(null), [M, F] = C("manual"), [I, ie] = C(!1), [V, ae] = C(""), [G, oe] = C(""), [q, le] = C(""), [ue, J] = C(null), [Y, de] = C(!1), X = ue ?? {
568
569
  verificationMethod: e.verificationMethod,
569
570
  verificationRequestedAt: e.verificationRequestedAt,
570
571
  verificationStatus: e.verificationStatus,
571
572
  verificationRequestNotes: e.verificationRequestNotes,
572
573
  verificationRejectedReason: e.verificationRejectedReason
573
574
  }, Z = [];
574
- i.contactEmail.trim() ? ae(i.contactEmail) || Z.push(r("devportal.contactEmailInvalid", "Contact email must be valid")) : Z.push(r("devportal.contactEmailRequired", "Contact email is required")), i.supportEmail.trim() && !ae(i.supportEmail) && Z.push(r("devportal.supportEmailInvalid", "Support email must be valid")), i.websiteUrl.trim() ? J(i.websiteUrl) || Z.push(r("devportal.websiteInvalid", "Website URL must be valid")) : Z.push(r("devportal.websiteRequired", "Website URL is required")), o.legalEntityName.trim() || Z.push(r("devportal.legalEntityNameRequired", "Legal entity name is required")), o.legalEntityType.trim() || Z.push(r("devportal.legalEntityTypeRequired", "Entity type is required")), f.taxId.trim() || Z.push(r("devportal.taxIdRequired", "Tax ID is required")), f.taxCountry.trim() ? /^[A-Za-z]{2}$/.test(f.taxCountry.trim()) || Z.push(r("devportal.taxCountryInvalid", "Tax country must be a 2-letter code")) : Z.push(r("devportal.taxCountryRequired", "Tax country is required"));
575
+ i.contactEmail.trim() ? ce(i.contactEmail) || Z.push(r("devportal.contactEmailInvalid", "Contact email must be valid")) : Z.push(r("devportal.contactEmailRequired", "Contact email is required")), i.supportEmail.trim() && !ce(i.supportEmail) && Z.push(r("devportal.supportEmailInvalid", "Support email must be valid")), i.websiteUrl.trim() ? K(i.websiteUrl) || Z.push(r("devportal.websiteInvalid", "Website URL must be valid")) : Z.push(r("devportal.websiteRequired", "Website URL is required")), o.legalEntityName.trim() || Z.push(r("devportal.legalEntityNameRequired", "Legal entity name is required")), o.legalEntityType.trim() || Z.push(r("devportal.legalEntityTypeRequired", "Entity type is required")), f.taxId.trim() || Z.push(r("devportal.taxIdRequired", "Tax ID is required")), f.taxCountry.trim() ? /^[A-Za-z]{2}$/.test(f.taxCountry.trim()) || Z.push(r("devportal.taxCountryInvalid", "Tax country must be a 2-letter code")) : Z.push(r("devportal.taxCountryRequired", "Tax country is required"));
575
576
  let Q = [];
576
- O === "domain" && !q(U.trim()) && Q.push(r("devportal.verification.errors.domainRequired", "Enter a valid domain like burdenoff.com")), O === "document" && !J(L.trim()) && Q.push(r("devportal.verification.errors.evidenceUrlRequired", "Enter a valid evidence URL starting with http:// or https://")), O === "manual" && !I.trim() && Q.push(r("devportal.verification.errors.notesRequired", "Add notes so the reviewer knows what to verify"));
577
- let ce = Z.length === 0 && Q.length === 0 && !oe && n, [le, { loading: $ }] = l({ refetchQueries: ["GetOrganization"] }), [ue, { loading: de }] = s({ refetchQueries: ["GetOrganization"] }), [fe, { loading: pe }] = c({ refetchQueries: ["GetOrganization"] });
577
+ M === "domain" && !se(q.trim()) && Q.push(r("devportal.verification.errors.domainRequired", "Enter a valid domain like burdenoff.com")), M === "document" && !K(G.trim()) && Q.push(r("devportal.verification.errors.evidenceUrlRequired", "Enter a valid evidence URL starting with http:// or https://")), M === "manual" && !V.trim() && Q.push(r("devportal.verification.errors.notesRequired", "Add notes so the reviewer knows what to verify"));
578
+ let fe = Z.length === 0 && Q.length === 0 && !Y && n, [pe, { loading: $ }] = l({ refetchQueries: ["GetOrganization"] }), [me, { loading: he }] = s({ refetchQueries: ["GetOrganization"] }), [ge, { loading: _e }] = c({ refetchQueries: ["GetOrganization"] });
578
579
  S(() => {
579
580
  a({
580
581
  name: e.name,
@@ -592,16 +593,16 @@ var Y = {
592
593
  taxCountry: e.taxCountry ?? ""
593
594
  }), h({ pickupPostalCode: e.pickupPostalCode ?? "" });
594
595
  }, [e.id]), S(() => {
595
- e.id && W({
596
+ e.id && H({
596
597
  gateway: "global",
597
- query: G,
598
+ query: U,
598
599
  variables: { id: e.id }
599
- }).then((e) => Y(e.data?.developerOrganization ?? null)).catch(() => Y(null));
600
- }, [e.id, j]);
601
- let me = async () => {
602
- D(null), T(null);
600
+ }).then((e) => J(e.data?.developerOrganization ?? null)).catch(() => J(null));
601
+ }, [e.id, I]);
602
+ let ve = async () => {
603
+ A(null), D(null);
603
604
  try {
604
- await le({ variables: {
605
+ await pe({ variables: {
605
606
  id: e.id,
606
607
  input: {
607
608
  name: i.name.trim() || void 0,
@@ -612,66 +613,66 @@ var Y = {
612
613
  logoUrl: i.logoUrl.trim() || null,
613
614
  bannerUrl: i.bannerUrl.trim() || null
614
615
  }
615
- } }), T(r("devportal.organizationUpdated", "Organization details updated"));
616
+ } }), D(r("devportal.organizationUpdated", "Organization details updated"));
616
617
  } catch (e) {
617
- D(e instanceof Error ? e.message : r("devportal.failedToUpdateOrganization", "Failed to update organization"));
618
+ A(e instanceof Error ? e.message : r("devportal.failedToUpdateOrganization", "Failed to update organization"));
618
619
  }
619
- }, he = async () => {
620
- D(null), T(null);
620
+ }, ye = async () => {
621
+ A(null), D(null);
621
622
  try {
622
- await ue({ variables: {
623
+ await me({ variables: {
623
624
  id: e.id,
624
625
  input: {
625
626
  legalEntityName: o.legalEntityName.trim() || null,
626
627
  legalEntityType: o.legalEntityType.trim() || null
627
628
  }
628
- } }), T(r("devportal.legalInfoUpdated", "Legal information updated"));
629
+ } }), D(r("devportal.legalInfoUpdated", "Legal information updated"));
629
630
  } catch (e) {
630
- D(e instanceof Error ? e.message : r("devportal.failedToUpdateLegalInfo", "Failed to update legal information"));
631
+ A(e instanceof Error ? e.message : r("devportal.failedToUpdateLegalInfo", "Failed to update legal information"));
631
632
  }
632
- }, ge = async () => {
633
- D(null), T(null);
633
+ }, be = async () => {
634
+ A(null), D(null);
634
635
  try {
635
- await fe({ variables: {
636
+ await ge({ variables: {
636
637
  id: e.id,
637
638
  input: {
638
639
  taxId: f.taxId.trim() || null,
639
640
  taxCountry: f.taxCountry.trim() || null
640
641
  }
641
- } }), T(r("devportal.taxInfoUpdated", "Tax information updated"));
642
+ } }), D(r("devportal.taxInfoUpdated", "Tax information updated"));
642
643
  } catch (e) {
643
- D(e instanceof Error ? e.message : r("devportal.failedToUpdateTaxInfo", "Failed to update tax information"));
644
+ A(e instanceof Error ? e.message : r("devportal.failedToUpdateTaxInfo", "Failed to update tax information"));
644
645
  }
645
- }, _e = async () => {
646
- D(null), T(null);
646
+ }, xe = async () => {
647
+ A(null), D(null);
647
648
  try {
648
- await le({ variables: {
649
+ await pe({ variables: {
649
650
  id: e.id,
650
651
  input: { pickupPostalCode: m.pickupPostalCode.trim() || null }
651
- } }), T(r("devportal.fulfillmentInfoUpdated", "Fulfillment settings updated"));
652
+ } }), D(r("devportal.fulfillmentInfoUpdated", "Fulfillment settings updated"));
652
653
  } catch (e) {
653
- D(e instanceof Error ? e.message : r("devportal.failedToUpdateFulfillmentInfo", "Failed to update fulfillment settings"));
654
+ A(e instanceof Error ? e.message : r("devportal.failedToUpdateFulfillmentInfo", "Failed to update fulfillment settings"));
654
655
  }
655
656
  };
656
- return /* @__PURE__ */ B("div", {
657
+ return /* @__PURE__ */ z("div", {
657
658
  className: "space-y-6 max-w-2xl",
658
659
  children: [
659
- E && /* @__PURE__ */ z("div", {
660
+ k && /* @__PURE__ */ R("div", {
660
661
  className: "rounded-md border border-status-error-bg bg-status-error-bg-subtle px-4 py-3 text-sm text-status-error-text",
661
- children: E
662
+ children: k
662
663
  }),
663
- w && /* @__PURE__ */ z("div", {
664
+ E && /* @__PURE__ */ R("div", {
664
665
  className: "rounded-md border border-status-success-bg bg-status-success-bg-subtle px-4 py-3 text-sm text-status-success-text",
665
- children: w
666
+ children: E
666
667
  }),
667
- /* @__PURE__ */ z(d, {
668
+ /* @__PURE__ */ R(d, {
668
669
  title: r("devportal.organizationDetails", "Organization Details"),
669
- children: /* @__PURE__ */ B("div", {
670
+ children: /* @__PURE__ */ z("div", {
670
671
  className: "space-y-4",
671
672
  children: [
672
- /* @__PURE__ */ B("div", {
673
+ /* @__PURE__ */ z("div", {
673
674
  className: "grid gap-4 sm:grid-cols-2",
674
- children: [/* @__PURE__ */ z(v, {
675
+ children: [/* @__PURE__ */ R(v, {
675
676
  label: r("devportal.organizationName", "Organization Name"),
676
677
  value: i.name,
677
678
  onChange: (e) => a((t) => ({
@@ -680,14 +681,14 @@ var Y = {
680
681
  })),
681
682
  disabled: !n,
682
683
  required: !0
683
- }), /* @__PURE__ */ z(v, {
684
+ }), /* @__PURE__ */ R(v, {
684
685
  label: r("devportal.slug", "Slug"),
685
686
  value: e.slug,
686
687
  disabled: !0,
687
688
  hint: r("devportal.slugReadOnly", "Slug cannot be changed here")
688
689
  })]
689
690
  }),
690
- /* @__PURE__ */ z(y, {
691
+ /* @__PURE__ */ R(y, {
691
692
  label: r("devportal.description", "Description"),
692
693
  value: i.description,
693
694
  onChange: (e) => a((t) => ({
@@ -697,10 +698,10 @@ var Y = {
697
698
  disabled: !n,
698
699
  rows: 4
699
700
  }),
700
- /* @__PURE__ */ B("div", {
701
+ /* @__PURE__ */ z("div", {
701
702
  className: "grid gap-4 sm:grid-cols-2",
702
703
  children: [
703
- /* @__PURE__ */ z(v, {
704
+ /* @__PURE__ */ R(v, {
704
705
  label: r("devportal.website", "Website"),
705
706
  type: "url",
706
707
  value: i.websiteUrl,
@@ -710,7 +711,7 @@ var Y = {
710
711
  })),
711
712
  disabled: !n
712
713
  }),
713
- /* @__PURE__ */ z(v, {
714
+ /* @__PURE__ */ R(v, {
714
715
  label: r("devportal.contactEmail", "Contact Email"),
715
716
  type: "email",
716
717
  value: i.contactEmail,
@@ -720,7 +721,7 @@ var Y = {
720
721
  })),
721
722
  disabled: !n
722
723
  }),
723
- /* @__PURE__ */ z(v, {
724
+ /* @__PURE__ */ R(v, {
724
725
  label: r("devportal.supportEmail", "Support Email"),
725
726
  type: "email",
726
727
  value: i.supportEmail,
@@ -730,7 +731,7 @@ var Y = {
730
731
  })),
731
732
  disabled: !n
732
733
  }),
733
- /* @__PURE__ */ z(v, {
734
+ /* @__PURE__ */ R(v, {
734
735
  label: r("devportal.logoUrl", "Logo URL"),
735
736
  type: "url",
736
737
  value: i.logoUrl,
@@ -742,7 +743,7 @@ var Y = {
742
743
  })
743
744
  ]
744
745
  }),
745
- /* @__PURE__ */ z(v, {
746
+ /* @__PURE__ */ R(v, {
746
747
  label: r("devportal.bannerUrl", "Banner URL"),
747
748
  type: "url",
748
749
  value: i.bannerUrl,
@@ -752,10 +753,10 @@ var Y = {
752
753
  })),
753
754
  disabled: !n
754
755
  }),
755
- /* @__PURE__ */ z(_, { items: [
756
+ /* @__PURE__ */ R(_, { items: [
756
757
  {
757
758
  label: r("devportal.organizationId", "Organization ID"),
758
- value: /* @__PURE__ */ z("code", {
759
+ value: /* @__PURE__ */ R("code", {
759
760
  className: "text-xs",
760
761
  children: e.id
761
762
  })
@@ -777,31 +778,31 @@ var Y = {
777
778
  value: `${(e.platformFeeRate * 100).toFixed(0)}%`
778
779
  }
779
780
  ] }),
780
- /* @__PURE__ */ z("div", {
781
+ /* @__PURE__ */ R("div", {
781
782
  className: "flex justify-end",
782
- children: /* @__PURE__ */ B("button", {
783
+ children: /* @__PURE__ */ z("button", {
783
784
  type: "button",
784
785
  disabled: !n || $,
785
- onClick: () => void me(),
786
+ onClick: () => void ve(),
786
787
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-50",
787
- children: [$ ? /* @__PURE__ */ z(M, {
788
+ children: [$ ? /* @__PURE__ */ R(j, {
788
789
  size: 14,
789
790
  className: "animate-spin"
790
- }) : /* @__PURE__ */ z(P, { size: 14 }), r("devportal.saveChanges", "Save Changes")]
791
+ }) : /* @__PURE__ */ R(N, { size: 14 }), r("devportal.saveChanges", "Save Changes")]
791
792
  })
792
793
  })
793
794
  ]
794
795
  })
795
796
  }),
796
- /* @__PURE__ */ z(d, {
797
+ /* @__PURE__ */ R(d, {
797
798
  title: r("devportal.legalInformation", "Legal Information"),
798
- children: /* @__PURE__ */ B("div", {
799
+ children: /* @__PURE__ */ z("div", {
799
800
  className: "space-y-4",
800
801
  children: [
801
- /* @__PURE__ */ B("div", {
802
+ /* @__PURE__ */ z("div", {
802
803
  className: "grid gap-4 sm:grid-cols-2",
803
804
  children: [
804
- /* @__PURE__ */ z(v, {
805
+ /* @__PURE__ */ R(v, {
805
806
  label: r("devportal.legalEntityName", "Legal Entity Name"),
806
807
  value: o.legalEntityName,
807
808
  onChange: (e) => u((t) => ({
@@ -810,7 +811,7 @@ var Y = {
810
811
  })),
811
812
  disabled: !n
812
813
  }),
813
- /* @__PURE__ */ z(v, {
814
+ /* @__PURE__ */ R(v, {
814
815
  label: r("devportal.entityType", "Entity Type"),
815
816
  value: o.legalEntityType,
816
817
  onChange: (e) => u((t) => ({
@@ -819,7 +820,7 @@ var Y = {
819
820
  })),
820
821
  disabled: !n
821
822
  }),
822
- /* @__PURE__ */ z(v, {
823
+ /* @__PURE__ */ R(v, {
823
824
  label: r("devportal.taxId", "Tax ID"),
824
825
  value: f.taxId,
825
826
  onChange: (e) => p((t) => ({
@@ -828,7 +829,7 @@ var Y = {
828
829
  })),
829
830
  disabled: !n
830
831
  }),
831
- /* @__PURE__ */ z(v, {
832
+ /* @__PURE__ */ R(v, {
832
833
  label: r("devportal.taxCountry", "Tax Country"),
833
834
  value: f.taxCountry,
834
835
  onChange: (e) => p((t) => ({
@@ -839,37 +840,37 @@ var Y = {
839
840
  })
840
841
  ]
841
842
  }),
842
- /* @__PURE__ */ z(_, { items: [{
843
+ /* @__PURE__ */ R(_, { items: [{
843
844
  label: r("devportal.taxForm", "Tax Form"),
844
845
  value: e.taxFormType || r("devportal.notSubmitted", "Not submitted")
845
846
  }, {
846
847
  label: r("devportal.taxFormStatus", "Tax Form Status"),
847
- value: e.taxFormType ? e.taxFormVerified ? /* @__PURE__ */ B("span", {
848
+ value: e.taxFormType ? e.taxFormVerified ? /* @__PURE__ */ z("span", {
848
849
  className: "text-status-success-text flex items-center gap-1",
849
850
  children: [
850
- /* @__PURE__ */ z(k, { size: 14 }),
851
+ /* @__PURE__ */ R(O, { size: 14 }),
851
852
  " ",
852
853
  r("devportal.verified", "Verified")
853
854
  ]
854
855
  }) : r("devportal.pendingVerification", "Pending verification") : r("devportal.notSubmitted", "Not submitted")
855
856
  }] }),
856
- /* @__PURE__ */ B("div", {
857
+ /* @__PURE__ */ z("div", {
857
858
  className: "flex justify-end gap-2",
858
- children: [/* @__PURE__ */ B("button", {
859
+ children: [/* @__PURE__ */ z("button", {
859
860
  type: "button",
860
- disabled: !n || de,
861
- onClick: () => void he(),
861
+ disabled: !n || he,
862
+ onClick: () => void ye(),
862
863
  className: "inline-flex items-center gap-2 rounded-md border border-border-seam px-4 py-2 text-sm font-medium hover:bg-bg-sunken disabled:opacity-50",
863
- children: [de ? /* @__PURE__ */ z(M, {
864
+ children: [he ? /* @__PURE__ */ R(j, {
864
865
  size: 14,
865
866
  className: "animate-spin"
866
867
  }) : null, r("devportal.saveLegalInfo", "Save Legal Info")]
867
- }), /* @__PURE__ */ B("button", {
868
+ }), /* @__PURE__ */ z("button", {
868
869
  type: "button",
869
- disabled: !n || pe,
870
- onClick: () => void ge(),
870
+ disabled: !n || _e,
871
+ onClick: () => void be(),
871
872
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-50",
872
- children: [pe ? /* @__PURE__ */ z(M, {
873
+ children: [_e ? /* @__PURE__ */ R(j, {
873
874
  size: 14,
874
875
  className: "animate-spin"
875
876
  }) : null, r("devportal.saveTaxInfo", "Save Tax Info")]
@@ -878,28 +879,46 @@ var Y = {
878
879
  ]
879
880
  })
880
881
  }),
881
- e.kind === "PHYSICAL" && /* @__PURE__ */ z(d, {
882
+ e.kind === "PHYSICAL" && /* @__PURE__ */ R(d, {
882
883
  title: r("devportal.fulfillment", "Fulfillment"),
883
- children: /* @__PURE__ */ B("div", {
884
+ children: /* @__PURE__ */ z("div", {
884
885
  className: "space-y-4",
885
886
  children: [(() => {
886
- let e = m.pickupPostalCode.trim(), t = g.find((t) => t.postalCode === e), i = e.length === 0 || g.length === 0 ? void 0 : t ? `${r("devportal.pickupPostalCodeRegistered", "Registered with")} ${te(t.carrier)} — ${r("devportal.pickupPostalCodeRegisteredSuffix", "ready for automated shipping.")}` : r("devportal.pickupPostalCodeNotRegistered", "This pincode isn't registered with our shipping carrier yet — physical orders can't auto-ship until it's added. Contact support to register your pickup address.");
887
- return /* @__PURE__ */ z(v, {
888
- label: r("devportal.pickupPostalCode", "Pickup Pincode"),
889
- value: m.pickupPostalCode,
890
- onChange: (e) => h({ pickupPostalCode: e.target.value }),
891
- disabled: !n,
892
- error: t ? void 0 : i,
893
- hint: t ? i : r("devportal.pickupPostalCodeHint", "The postal code your physical orders actually ship from — used to quote real carrier shipping rates. If left blank, we fall back to your linked billing account's address.")
887
+ let e = m.pickupPostalCode.trim(), t = g.find((t) => t.postalCode === e), i = g.length > 0, a = e.length > 0 && i && !t, o = e.length === 0 || !i ? void 0 : t ? `${r("devportal.pickupPostalCodeRegistered", "Registered with")} ${b(t.carrier)} — ${r("devportal.pickupPostalCodeRegisteredSuffix", "ready for automated shipping.")}` : r("devportal.pickupPostalCodeNotRegistered", "This pincode isn't registered with our shipping carrier yet — physical orders can't auto-ship until it's added.");
888
+ return /* @__PURE__ */ z("div", {
889
+ className: "space-y-2",
890
+ children: [
891
+ /* @__PURE__ */ R(v, {
892
+ label: r("devportal.pickupPostalCode", "Pickup Pincode"),
893
+ value: m.pickupPostalCode,
894
+ onChange: (e) => h({ pickupPostalCode: e.target.value }),
895
+ disabled: !n,
896
+ error: t ? void 0 : o,
897
+ hint: t ? o : r("devportal.pickupPostalCodeHint", "The postal code your physical orders actually ship from — used to quote real carrier shipping rates. If left blank, we fall back to your linked billing account's address.")
898
+ }),
899
+ a && n && /* @__PURE__ */ R("button", {
900
+ type: "button",
901
+ onClick: () => T(!0),
902
+ className: "text-sm font-medium text-action-primary-text hover:underline",
903
+ children: r("devportal.registerPickupAddressCta", "Register this address with Shiprocket")
904
+ }),
905
+ w && /* @__PURE__ */ R(ee, {
906
+ open: w,
907
+ onOpenChange: T,
908
+ postalCode: e,
909
+ carrier: "shiprocket",
910
+ onRegistered: re
911
+ })
912
+ ]
894
913
  });
895
- })(), /* @__PURE__ */ z("div", {
914
+ })(), /* @__PURE__ */ R("div", {
896
915
  className: "flex justify-end",
897
- children: /* @__PURE__ */ B("button", {
916
+ children: /* @__PURE__ */ z("button", {
898
917
  type: "button",
899
918
  disabled: !n || $,
900
- onClick: () => void _e(),
919
+ onClick: () => void xe(),
901
920
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-50",
902
- children: [$ ? /* @__PURE__ */ z(M, {
921
+ children: [$ ? /* @__PURE__ */ R(j, {
903
922
  size: 14,
904
923
  className: "animate-spin"
905
924
  }) : null, r("devportal.saveFulfillmentInfo", "Save Fulfillment Settings")]
@@ -907,14 +926,14 @@ var Y = {
907
926
  })]
908
927
  })
909
928
  }),
910
- /* @__PURE__ */ B(d, {
929
+ /* @__PURE__ */ z(d, {
911
930
  title: r("devportal.verificationStatus", "Verification Status"),
912
- children: [/* @__PURE__ */ z(_, { items: [{
931
+ children: [/* @__PURE__ */ R(_, { items: [{
913
932
  label: r("devportal.verifiedLabel", "Verified"),
914
- value: X.verificationStatus === "VERIFIED" ? /* @__PURE__ */ B("span", {
933
+ value: X.verificationStatus === "VERIFIED" ? /* @__PURE__ */ z("span", {
915
934
  className: "text-status-success-text flex items-center gap-1",
916
935
  children: [
917
- /* @__PURE__ */ z(k, { size: 14 }),
936
+ /* @__PURE__ */ R(O, { size: 14 }),
918
937
  " ",
919
938
  r("devportal.verifiedVia", "Verified via"),
920
939
  " ",
@@ -923,27 +942,27 @@ var Y = {
923
942
  }) : X.verificationStatus === "PENDING" ? r("devportal.pendingVerification", "Pending verification") : X.verificationStatus === "REJECTED" ? r("devportal.verificationRejected", "Rejected") : r("devportal.notVerified", "Not verified")
924
943
  }, {
925
944
  label: r("devportal.certifiedLabel", "Certified"),
926
- value: e.isCertified ? /* @__PURE__ */ B("span", {
945
+ value: e.isCertified ? /* @__PURE__ */ z("span", {
927
946
  className: "text-accent-blue flex items-center gap-1",
928
947
  children: [
929
- /* @__PURE__ */ z(F, { size: 14 }),
948
+ /* @__PURE__ */ R(P, { size: 14 }),
930
949
  " ",
931
950
  r("devportal.certifiedUntil", "Certified until"),
932
951
  " ",
933
952
  e.certificationExpiry ? new Date(e.certificationExpiry).toLocaleDateString() : "N/A"
934
953
  ]
935
954
  }) : r("devportal.notCertified", "Not certified")
936
- }] }), X.verificationStatus !== "VERIFIED" && /* @__PURE__ */ z("div", {
955
+ }] }), X.verificationStatus !== "VERIFIED" && /* @__PURE__ */ R("div", {
937
956
  className: "mt-4 rounded-md border border-border-subtle p-4 space-y-3",
938
- children: j ? /* @__PURE__ */ B("p", {
957
+ children: I ? /* @__PURE__ */ z("p", {
939
958
  className: "text-sm text-status-success-text flex items-center gap-2",
940
- children: [/* @__PURE__ */ z(k, { size: 14 }), r("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you.")]
941
- }) : /* @__PURE__ */ B(R, { children: [
942
- /* @__PURE__ */ z("p", {
959
+ children: [/* @__PURE__ */ R(O, { size: 14 }), r("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you.")]
960
+ }) : /* @__PURE__ */ z(L, { children: [
961
+ /* @__PURE__ */ R("p", {
943
962
  className: "text-sm text-text-secondary",
944
963
  children: r("devportal.requestVerificationHint", "Get your organization verified to build trust with users. Choose a verification method:")
945
964
  }),
946
- X.verificationStatus === "PENDING" && /* @__PURE__ */ B("div", {
965
+ X.verificationStatus === "PENDING" && /* @__PURE__ */ z("div", {
947
966
  className: "rounded-md border border-border-subtle bg-bg-sunken/40 p-3 text-sm text-text-secondary",
948
967
  children: [
949
968
  r("devportal.pendingVerification", "Pending verification"),
@@ -951,71 +970,71 @@ var Y = {
951
970
  X.verificationRequestNotes ? ` · ${X.verificationRequestNotes}` : ""
952
971
  ]
953
972
  }),
954
- X.verificationStatus === "REJECTED" && X.verificationRejectedReason && /* @__PURE__ */ z("div", {
973
+ X.verificationStatus === "REJECTED" && X.verificationRejectedReason && /* @__PURE__ */ R("div", {
955
974
  className: "rounded-md border border-status-error-border bg-status-error-bg-subtle p-3 text-sm text-status-error-text",
956
975
  children: X.verificationRejectedReason
957
976
  }),
958
- Z.length > 0 && /* @__PURE__ */ B("div", {
977
+ Z.length > 0 && /* @__PURE__ */ z("div", {
959
978
  className: "rounded-md border border-border-subtle bg-bg-sunken/40 p-3 text-sm text-text-secondary",
960
- children: [/* @__PURE__ */ z("div", {
979
+ children: [/* @__PURE__ */ R("div", {
961
980
  className: "font-medium text-text-primary",
962
981
  children: r("devportal.completeBeforeVerification", "Complete these details before submitting for review")
963
- }), /* @__PURE__ */ z("ul", {
982
+ }), /* @__PURE__ */ R("ul", {
964
983
  className: "mt-2 list-disc pl-5 space-y-1",
965
- children: Z.map((e) => /* @__PURE__ */ z("li", { children: e }, e))
984
+ children: Z.map((e) => /* @__PURE__ */ R("li", { children: e }, e))
966
985
  })]
967
986
  }),
968
- X.verificationStatus !== "PENDING" && /* @__PURE__ */ B(R, { children: [
969
- /* @__PURE__ */ z("div", {
987
+ X.verificationStatus !== "PENDING" && /* @__PURE__ */ z(L, { children: [
988
+ /* @__PURE__ */ R("div", {
970
989
  className: "flex gap-2 flex-wrap",
971
990
  children: [
972
991
  "domain",
973
992
  "document",
974
993
  "manual"
975
- ].map((e) => /* @__PURE__ */ z("button", {
994
+ ].map((e) => /* @__PURE__ */ R("button", {
976
995
  type: "button",
977
- onClick: () => A(e),
978
- className: `rounded-md border px-3 py-1 text-xs font-medium transition-colors ${O === e ? "bg-action-primary-bg text-action-primary-text border-primary" : "border-border-subtle hover:bg-bg-sunken"}`,
996
+ onClick: () => F(e),
997
+ className: `rounded-md border px-3 py-1 text-xs font-medium transition-colors ${M === e ? "bg-action-primary-bg text-action-primary-text border-primary" : "border-border-subtle hover:bg-bg-sunken"}`,
979
998
  children: e === "domain" ? r("devportal.domainVerification", "Domain") : e === "document" ? r("devportal.documentVerification", "Document") : r("devportal.manualVerification", "Manual review")
980
999
  }, e))
981
1000
  }),
982
- O === "domain" ? /* @__PURE__ */ z(v, {
1001
+ M === "domain" ? /* @__PURE__ */ R(v, {
983
1002
  label: r("devportal.domainVerification", "Domain"),
984
- value: U,
985
- onChange: (e) => re(e.target.value),
1003
+ value: q,
1004
+ onChange: (e) => le(e.target.value),
986
1005
  placeholder: "example.com"
987
- }) : O === "document" ? /* @__PURE__ */ z(v, {
1006
+ }) : M === "document" ? /* @__PURE__ */ R(v, {
988
1007
  label: r("devportal.evidenceUrl", "Evidence URL"),
989
- value: L,
990
- onChange: (e) => H(e.target.value),
1008
+ value: G,
1009
+ onChange: (e) => oe(e.target.value),
991
1010
  placeholder: "https://..."
992
1011
  }) : null,
993
- /* @__PURE__ */ z(y, {
1012
+ /* @__PURE__ */ R(y, {
994
1013
  label: r("devportal.notes", "Notes"),
995
- value: I,
996
- onChange: (e) => ne(e.target.value),
1014
+ value: V,
1015
+ onChange: (e) => ae(e.target.value),
997
1016
  placeholder: "What should reviewers validate?"
998
1017
  }),
999
- /* @__PURE__ */ B("button", {
1018
+ /* @__PURE__ */ z("button", {
1000
1019
  type: "button",
1001
- disabled: !ce,
1020
+ disabled: !fe,
1002
1021
  onClick: () => void (async () => {
1003
- let t = U.trim(), n = L.trim(), a = I.trim();
1004
- if (O === "domain" && !q(t)) {
1005
- D(r("devportal.verification.errors.domainRequired", "Enter a valid domain like burdenoff.com"));
1022
+ let t = q.trim(), n = G.trim(), a = V.trim();
1023
+ if (M === "domain" && !se(t)) {
1024
+ A(r("devportal.verification.errors.domainRequired", "Enter a valid domain like burdenoff.com"));
1006
1025
  return;
1007
1026
  }
1008
- if (O === "document" && !J(n)) {
1009
- D(r("devportal.verification.errors.evidenceUrlRequired", "Enter a valid evidence URL starting with http:// or https://"));
1027
+ if (M === "document" && !K(n)) {
1028
+ A(r("devportal.verification.errors.evidenceUrlRequired", "Enter a valid evidence URL starting with http:// or https://"));
1010
1029
  return;
1011
1030
  }
1012
- if (O === "manual" && !a) {
1013
- D(r("devportal.verification.errors.notesRequired", "Add notes so the reviewer knows what to verify"));
1031
+ if (M === "manual" && !a) {
1032
+ A(r("devportal.verification.errors.notesRequired", "Add notes so the reviewer knows what to verify"));
1014
1033
  return;
1015
1034
  }
1016
- D(null), T(null), se(!0);
1035
+ A(null), D(null), de(!0);
1017
1036
  try {
1018
- await le({ variables: {
1037
+ await pe({ variables: {
1019
1038
  id: e.id,
1020
1039
  input: {
1021
1040
  name: i.name.trim() || void 0,
@@ -1026,47 +1045,47 @@ var Y = {
1026
1045
  logoUrl: i.logoUrl.trim() || null,
1027
1046
  bannerUrl: i.bannerUrl.trim() || null
1028
1047
  }
1029
- } }), await ue({ variables: {
1048
+ } }), await me({ variables: {
1030
1049
  id: e.id,
1031
1050
  input: {
1032
1051
  legalEntityName: o.legalEntityName.trim() || null,
1033
1052
  legalEntityType: o.legalEntityType.trim() || null
1034
1053
  }
1035
- } }), await fe({ variables: {
1054
+ } }), await ge({ variables: {
1036
1055
  id: e.id,
1037
1056
  input: {
1038
1057
  taxId: f.taxId.trim() || null,
1039
1058
  taxCountry: f.taxCountry.trim() || null
1040
1059
  }
1041
1060
  } });
1042
- let s = await W({
1061
+ let s = await H({
1043
1062
  gateway: "global",
1044
- query: K,
1063
+ query: W,
1045
1064
  variables: {
1046
1065
  id: e.id,
1047
- method: O,
1066
+ method: M,
1048
1067
  notes: a || null,
1049
- evidenceUrl: O === "domain" ? null : n || null,
1050
- domain: O === "domain" && t || null
1068
+ evidenceUrl: M === "domain" ? null : n || null,
1069
+ domain: M === "domain" && t || null
1051
1070
  }
1052
1071
  });
1053
1072
  if (s.errors?.length) throw Error(s.errors[0]?.message || "Verification request failed");
1054
- N(!0), T(r("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you.")), Y((await W({
1073
+ ie(!0), D(r("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you.")), J((await H({
1055
1074
  gateway: "global",
1056
- query: G,
1075
+ query: U,
1057
1076
  variables: { id: e.id }
1058
1077
  })).data?.developerOrganization ?? null);
1059
1078
  } catch (e) {
1060
- D(e instanceof Error ? e.message : r("devportal.verificationRequestFailed", "Verification request failed"));
1079
+ A(e instanceof Error ? e.message : r("devportal.verificationRequestFailed", "Verification request failed"));
1061
1080
  } finally {
1062
- se(!1);
1081
+ de(!1);
1063
1082
  }
1064
1083
  })(),
1065
1084
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-50",
1066
- children: [oe ? /* @__PURE__ */ z(M, {
1085
+ children: [Y ? /* @__PURE__ */ R(j, {
1067
1086
  size: 14,
1068
1087
  className: "animate-spin"
1069
- }) : /* @__PURE__ */ z(F, { size: 14 }), r("devportal.requestVerification", "Request Verification")]
1088
+ }) : /* @__PURE__ */ R(P, { size: 14 }), r("devportal.requestVerification", "Request Verification")]
1070
1089
  })
1071
1090
  ] })
1072
1091
  ] })
@@ -1076,6 +1095,6 @@ var Y = {
1076
1095
  });
1077
1096
  };
1078
1097
  //#endregion
1079
- export { oe as OrganizationDetailPage };
1098
+ export { le as OrganizationDetailPage };
1080
1099
 
1081
1100
  //# sourceMappingURL=OrganizationDetailPage.js.map