@burdenoff/microfe-devportal 2026.1113.1 → 2026.1113.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/devportal/DevportalRoot.js +65 -119
  2. package/dist/devportal/DevportalRoot.js.map +1 -1
  3. package/dist/devportal/components/AppCard.js +4 -4
  4. package/dist/devportal/components/DeveloperSettingsHub.d.ts +6 -0
  5. package/dist/devportal/components/DeveloperSettingsHub.js +59 -0
  6. package/dist/devportal/components/DeveloperSettingsHub.js.map +1 -0
  7. package/dist/devportal/components/SectionNav.d.ts +1 -1
  8. package/dist/devportal/components/SectionNav.js +60 -36
  9. package/dist/devportal/components/SectionNav.js.map +1 -1
  10. package/dist/devportal/pages/AnalyticsDashboardPage.js +186 -179
  11. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  12. package/dist/devportal/pages/ApiKeysPage.js +113 -111
  13. package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
  14. package/dist/devportal/pages/AppLogsPage.js +80 -84
  15. package/dist/devportal/pages/AppLogsPage.js.map +1 -1
  16. package/dist/devportal/pages/ApplicationDetailPage.js +529 -504
  17. package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
  18. package/dist/devportal/pages/ApplicationsPage.js +68 -67
  19. package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
  20. package/dist/devportal/pages/CreateApiKeyPage.js +163 -166
  21. package/dist/devportal/pages/CreateApiKeyPage.js.map +1 -1
  22. package/dist/devportal/pages/CreateOAuthClientPage.js +134 -130
  23. package/dist/devportal/pages/CreateOAuthClientPage.js.map +1 -1
  24. package/dist/devportal/pages/DelegationsPage.js +11 -11
  25. package/dist/devportal/pages/DocumentationPage.js +100 -94
  26. package/dist/devportal/pages/DocumentationPage.js.map +1 -1
  27. package/dist/devportal/pages/EditApplicationPage.js +379 -377
  28. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  29. package/dist/devportal/pages/InvitationDecisionPage.js +83 -79
  30. package/dist/devportal/pages/InvitationDecisionPage.js.map +1 -1
  31. package/dist/devportal/pages/OAuthClientDetailPage.js +76 -76
  32. package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
  33. package/dist/devportal/pages/OAuthClientsPage.js +126 -124
  34. package/dist/devportal/pages/OAuthClientsPage.js.map +1 -1
  35. package/dist/devportal/pages/OrganizationDetailPage.js +19 -19
  36. package/dist/devportal/pages/OrganizationMembersPage.js +223 -204
  37. package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
  38. package/dist/devportal/pages/ResourcesPage.d.ts +6 -0
  39. package/dist/devportal/pages/ResourcesPage.js +171 -155
  40. package/dist/devportal/pages/ResourcesPage.js.map +1 -1
  41. package/dist/devportal/pages/SellerDashboardPage.js +13 -13
  42. package/dist/devportal/pages/SellerItemsPage.js +4 -4
  43. package/dist/devportal/pages/SettingsPage.js +330 -315
  44. package/dist/devportal/pages/SettingsPage.js.map +1 -1
  45. package/dist/devportal/pages/SetupPage.js +5 -5
  46. package/dist/devportal/pages/WebhookDetailPage.js +6 -6
  47. package/dist/devportal/pages/WebhooksPage.js +39 -39
  48. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  49. package/dist/devportal/utils/appDetailTabs.d.ts +73 -0
  50. package/dist/devportal/utils/appDetailTabs.js +62 -0
  51. package/dist/devportal/utils/appDetailTabs.js.map +1 -0
  52. package/dist/devportal/utils/developerNav.d.ts +39 -0
  53. package/dist/devportal/utils/developerNav.js +304 -0
  54. package/dist/devportal/utils/developerNav.js.map +1 -0
  55. package/package.json +2 -2
@@ -20,8 +20,8 @@ import { useEffect as D, useState as O } from "react";
20
20
  import { AlertCircle as ae, AppWindow as k, ArrowRight as oe, BarChart3 as A, Building2 as se, CheckCircle as j, CreditCard as ce, DollarSign as M, ExternalLink as N, Loader2 as P, Plus as F, Search as I, Settings as le, Shield as ue, Trash2 as de, TrendingUp as L, Users as R } from "lucide-react";
21
21
  import { useParams as fe } from "react-router";
22
22
  import { Fragment as pe, jsx as z, jsxs as B } from "react/jsx-runtime";
23
- import { useI18n as V } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
24
- import { EmphasisPanel as H, NextSteps as me } from "@burdenoff/fe-libs/ui";
23
+ import { EmphasisPanel as V, NextSteps as me } from "@burdenoff/fe-libs/ui";
24
+ import { useI18n as H } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
25
25
  import { clearGraphqlFetchResponseCache as U, graphqlFetch as W } from "@burdenoff/fe-libs/shared/graphql";
26
26
  // src/devportal/pages/OrganizationDetailPage.tsx
27
27
  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", he = "\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";
@@ -130,7 +130,7 @@ var Y = {
130
130
  period: "monthly"
131
131
  },
132
132
  skip: !l
133
- }), h = m?.developerOrgRevenueSummary?.currency ?? "USD", { t: g } = V(), y = (e, t) => {
133
+ }), h = m?.developerOrgRevenueSummary?.currency ?? "USD", { t: g } = H(), y = (e, t) => {
134
134
  let n = g(e);
135
135
  return n === e ? t : n;
136
136
  }, [b, S] = O("overview"), [C, ne] = O(!1), { data: re, previousData: ie, loading: oe, error: A } = E({
@@ -171,7 +171,7 @@ var Y = {
171
171
  label: y("devportal.settings", "Settings"),
172
172
  icon: le
173
173
  }
174
- ], H = (j?.developerOrganization?.members ?? []).map(q), U = (s ? H.find((e) => e.userId === s.id) : void 0)?.role, W = U !== void 0 && Y[U] >= Y.DEVELOPER, G = U !== void 0 && Y[U] >= Y.ADMIN, he = G, ge = G, _e = pe.filter((e) => e.id !== "settings" || G), J = (e) => {
174
+ ], V = (j?.developerOrganization?.members ?? []).map(q), U = (s ? V.find((e) => e.userId === s.id) : void 0)?.role, W = U !== void 0 && Y[U] >= Y.DEVELOPER, G = U !== void 0 && Y[U] >= Y.ADMIN, he = G, ge = G, _e = pe.filter((e) => e.id !== "settings" || G), J = (e) => {
175
175
  r?.(`${i}${e}`);
176
176
  };
177
177
  if (D(() => {
@@ -221,7 +221,7 @@ var Y = {
221
221
  ]
222
222
  })
223
223
  });
224
- let X = K(j.developerOrganization), be = H, Z = N?.applications?.edges?.map((e) => e.node) ?? [], Ce = `/billing/earnings?developerOrgId=${encodeURIComponent(X.id)}&developerOrgName=${encodeURIComponent(X.name)}&returnTo=${encodeURIComponent(`${i}${e(c, X.id)}`)}`;
224
+ let X = K(j.developerOrganization), be = V, Z = N?.applications?.edges?.map((e) => e.node) ?? [], Ce = `/billing/earnings?developerOrgId=${encodeURIComponent(X.id)}&developerOrgName=${encodeURIComponent(X.name)}&returnTo=${encodeURIComponent(`${i}${e(c, X.id)}`)}`;
225
225
  return /* @__PURE__ */ B(n, {
226
226
  title: X.name,
227
227
  description: X.description,
@@ -357,7 +357,7 @@ var Y = {
357
357
  ]
358
358
  });
359
359
  }, ve = ({ org: e, apps: t, physicalItems: n, members: o, canCreateApps: s, canViewRevenue: u, currency: d, onNavigate: f, onShowApps: p }) => {
360
- let { t: m } = V(), h = (e, t) => {
360
+ let { t: m } = H(), h = (e, t) => {
361
361
  let n = m(e);
362
362
  return n === e ? t : n;
363
363
  };
@@ -365,7 +365,7 @@ var Y = {
365
365
  className: "grid gap-6 lg:grid-cols-3",
366
366
  children: [/* @__PURE__ */ B("div", {
367
367
  className: "lg:col-span-2 space-y-6",
368
- children: [/* @__PURE__ */ z(H, { children: /* @__PURE__ */ B(a, {
368
+ children: [/* @__PURE__ */ z(V, { children: /* @__PURE__ */ B(a, {
369
369
  columns: e.kind === "PHYSICAL" ? 2 : u ? 4 : 3,
370
370
  children: [
371
371
  e.kind !== "PHYSICAL" && /* @__PURE__ */ B(pe, { children: [/* @__PURE__ */ z(i, {
@@ -489,7 +489,7 @@ var Y = {
489
489
  })]
490
490
  });
491
491
  }, ye = ({ org: e, apps: t, physicalItems: n, onNavigate: r, canCreateApps: i }) => {
492
- let { t: a } = V(), o = (e, t) => {
492
+ let { t: a } = H(), o = (e, t) => {
493
493
  let n = a(e);
494
494
  return n === e ? t : n;
495
495
  }, s = e.kind === "PHYSICAL", u = s ? n : t, d = s ? "/seller/items/new" : "/apps/new", f = s ? o("devportal.createItem", "Create Item") : o("devportal.createApp", "Create App"), [p, m] = O(""), h = p.trim().toLowerCase(), g = h ? u.filter((e) => e.name.toLowerCase().includes(h)) : u, _ = h.length > 0;
@@ -589,7 +589,7 @@ var Y = {
589
589
  })
590
590
  ]
591
591
  }), xe = ({ members: e, onNavigate: t, orgId: n, canInviteMembers: r }) => {
592
- let { t: i } = V(), a = (e, t) => {
592
+ let { t: i } = H(), a = (e, t) => {
593
593
  let n = i(e);
594
594
  return n === e ? t : n;
595
595
  };
@@ -654,7 +654,7 @@ var Y = {
654
654
  let e = setTimeout(() => l(!1), 2500);
655
655
  return o?.(), () => clearTimeout(e);
656
656
  }, [a]);
657
- let { t: p } = V(), { allowed: _ } = b(y.ORG_UPDATE), v = (e, t) => {
657
+ let { t: p } = H(), { allowed: _ } = b(y.ORG_UPDATE), v = (e, t) => {
658
658
  let n = p(e);
659
659
  return n === e ? t : n;
660
660
  }, [S, C] = O({
@@ -671,7 +671,7 @@ var Y = {
671
671
  }), [T, E] = O({
672
672
  taxId: e.taxId ?? "",
673
673
  taxCountry: e.taxCountry ?? ""
674
- }), { locations: te, refetch: ae } = g(), [k, oe] = O(!1), [A, se] = O(null), [ce, M] = O(null), [N, I] = O(null), [L, R] = O(null), [fe, H] = O(null), [me, K] = O(null), [q, Y] = O("manual"), [X, ve] = O(!1), [ye, be] = O(""), [Z, xe] = O(""), [Se, Ce] = O(""), [we, Te] = O(null), [Ee, De] = O(!1), Q = we ?? {
674
+ }), { locations: te, refetch: ae } = g(), [k, oe] = O(!1), [A, se] = O(null), [ce, M] = O(null), [N, I] = O(null), [L, R] = O(null), [fe, V] = O(null), [me, K] = O(null), [q, Y] = O("manual"), [X, ve] = O(!1), [ye, be] = O(""), [Z, xe] = O(""), [Se, Ce] = O(""), [we, Te] = O(null), [Ee, De] = O(!1), Q = we ?? {
675
675
  verificationMethod: e.verificationMethod,
676
676
  verificationRequestedAt: e.verificationRequestedAt,
677
677
  verificationStatus: e.verificationStatus,
@@ -706,7 +706,7 @@ var Y = {
706
706
  }).then((e) => Te(e.data?.developerOrganization ?? null)).catch(() => Te(null));
707
707
  }, [e.id, X]);
708
708
  let Ie = async () => {
709
- K(null), H(null);
709
+ K(null), V(null);
710
710
  try {
711
711
  await Ae({ variables: {
712
712
  id: e.id,
@@ -719,12 +719,12 @@ var Y = {
719
719
  logoUrl: S.logoUrl.trim() || null,
720
720
  bannerUrl: S.bannerUrl.trim() || null
721
721
  }
722
- } }), H(v("devportal.organizationUpdated", "Organization details updated"));
722
+ } }), V(v("devportal.organizationUpdated", "Organization details updated"));
723
723
  } catch (e) {
724
724
  K(e instanceof Error ? e.message : v("devportal.failedToUpdateOrganization", "Failed to update organization"));
725
725
  }
726
726
  }, Le = async () => {
727
- K(null), H(null);
727
+ K(null), V(null);
728
728
  try {
729
729
  await Me({ variables: {
730
730
  id: e.id,
@@ -732,12 +732,12 @@ var Y = {
732
732
  legalEntityName: w.legalEntityName.trim() || null,
733
733
  legalEntityType: w.legalEntityType.trim() || null
734
734
  }
735
- } }), H(v("devportal.legalInfoUpdated", "Legal information updated"));
735
+ } }), V(v("devportal.legalInfoUpdated", "Legal information updated"));
736
736
  } catch (e) {
737
737
  K(e instanceof Error ? e.message : v("devportal.failedToUpdateLegalInfo", "Failed to update legal information"));
738
738
  }
739
739
  }, Re = async () => {
740
- K(null), H(null);
740
+ K(null), V(null);
741
741
  try {
742
742
  await Pe({ variables: {
743
743
  id: e.id,
@@ -745,7 +745,7 @@ var Y = {
745
745
  taxId: T.taxId.trim() || null,
746
746
  taxCountry: T.taxCountry.trim() || null
747
747
  }
748
- } }), H(v("devportal.taxInfoUpdated", "Tax information updated"));
748
+ } }), V(v("devportal.taxInfoUpdated", "Tax information updated"));
749
749
  } catch (e) {
750
750
  K(e instanceof Error ? e.message : v("devportal.failedToUpdateTaxInfo", "Failed to update tax information"));
751
751
  }
@@ -1224,7 +1224,7 @@ var Y = {
1224
1224
  else if (q === "document" && !_e(n)) K(v("devportal.verification.errors.evidenceUrlRequired", "Enter a valid evidence URL starting with http:// or https://"));
1225
1225
  else if (q === "manual" && !r) K(v("devportal.verification.errors.notesRequired", "Add notes so the reviewer knows what to verify"));
1226
1226
  else {
1227
- K(null), H(null), De(!0);
1227
+ K(null), V(null), De(!0);
1228
1228
  try {
1229
1229
  await Ae({ variables: {
1230
1230
  id: e.id,
@@ -1262,7 +1262,7 @@ var Y = {
1262
1262
  }
1263
1263
  });
1264
1264
  if (i.errors?.length) throw Error(i.errors[0]?.message || "Verification request failed");
1265
- ve(!0), H(v("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you."));
1265
+ ve(!0), V(v("devportal.verificationRequested", "Verification request submitted. Our team will review and contact you."));
1266
1266
  let a = await W({
1267
1267
  gateway: "global",
1268
1268
  query: G,