@burdenoff/microfe-devportal 2026.915.3 → 2026.915.4

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