@burdenoff/microfe-devportal 2026.828.1 → 2026.830.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/devportal/AdminDevportalRoot.d.ts.map +1 -1
  2. package/dist/devportal/AdminDevportalRoot.js +16 -19
  3. package/dist/devportal/AdminDevportalRoot.js.map +1 -1
  4. package/dist/devportal/DevportalRoot.d.ts.map +1 -1
  5. package/dist/devportal/DevportalRoot.js +36 -39
  6. package/dist/devportal/DevportalRoot.js.map +1 -1
  7. package/dist/devportal/components/AppCard.js +41 -41
  8. package/dist/devportal/components/ConfirmDialog.d.ts.map +1 -1
  9. package/dist/devportal/components/ConfirmDialog.js +19 -22
  10. package/dist/devportal/components/ConfirmDialog.js.map +1 -1
  11. package/dist/devportal/components/DataTable.d.ts.map +1 -1
  12. package/dist/devportal/components/DataTable.js +31 -34
  13. package/dist/devportal/components/DataTable.js.map +1 -1
  14. package/dist/devportal/components/FeatureFlaggedRoute.js +8 -8
  15. package/dist/devportal/components/FormField.d.ts.map +1 -1
  16. package/dist/devportal/components/FormField.js +26 -32
  17. package/dist/devportal/components/FormField.js.map +1 -1
  18. package/dist/devportal/components/GrantDelegationModal.js +64 -64
  19. package/dist/devportal/components/GrantDelegationModal.js.map +1 -1
  20. package/dist/devportal/components/LoadingState.d.ts.map +1 -1
  21. package/dist/devportal/components/LoadingState.js +5 -8
  22. package/dist/devportal/components/LoadingState.js.map +1 -1
  23. package/dist/devportal/components/PageLayout.d.ts.map +1 -1
  24. package/dist/devportal/components/PageLayout.js +10 -13
  25. package/dist/devportal/components/PageLayout.js.map +1 -1
  26. package/dist/devportal/components/PermissionGuard.d.ts.map +1 -1
  27. package/dist/devportal/components/PermissionGuard.js +11 -14
  28. package/dist/devportal/components/PermissionGuard.js.map +1 -1
  29. package/dist/devportal/components/SecretDisplay.d.ts.map +1 -1
  30. package/dist/devportal/components/SecretDisplay.js +24 -30
  31. package/dist/devportal/components/SecretDisplay.js.map +1 -1
  32. package/dist/devportal/components/SectionNav.d.ts.map +1 -1
  33. package/dist/devportal/components/SectionNav.js +24 -27
  34. package/dist/devportal/components/SectionNav.js.map +1 -1
  35. package/dist/devportal/components/StatusBadge.d.ts.map +1 -1
  36. package/dist/devportal/components/StatusBadge.js +24 -33
  37. package/dist/devportal/components/StatusBadge.js.map +1 -1
  38. package/dist/devportal/index.d.ts +1 -0
  39. package/dist/devportal/index.d.ts.map +1 -1
  40. package/dist/devportal/index.js +1 -0
  41. package/dist/devportal/pages/AdminReviewPage.js +172 -172
  42. package/dist/devportal/pages/AnalyticsDashboardPage.js +43 -43
  43. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  44. package/dist/devportal/pages/ApiKeysPage.js +119 -119
  45. package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
  46. package/dist/devportal/pages/AppLogsPage.js +45 -45
  47. package/dist/devportal/pages/ApplicationDetailPage.js +607 -607
  48. package/dist/devportal/pages/ApplicationVersionsPage.js +13 -13
  49. package/dist/devportal/pages/ApplicationsPage.d.ts.map +1 -1
  50. package/dist/devportal/pages/ApplicationsPage.js +104 -101
  51. package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
  52. package/dist/devportal/pages/CreateApiKeyPage.js +45 -45
  53. package/dist/devportal/pages/CreateApplicationPage.js +38 -38
  54. package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
  55. package/dist/devportal/pages/CreateOAuthClientPage.js +52 -52
  56. package/dist/devportal/pages/CreateOrganizationPage.js +26 -26
  57. package/dist/devportal/pages/CreateWebhookPage.d.ts.map +1 -1
  58. package/dist/devportal/pages/CreateWebhookPage.js +48 -48
  59. package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
  60. package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
  61. package/dist/devportal/pages/DashboardPage.js +66 -72
  62. package/dist/devportal/pages/DashboardPage.js.map +1 -1
  63. package/dist/devportal/pages/DelegationsPage.js +174 -174
  64. package/dist/devportal/pages/DocumentationPage.js +93 -93
  65. package/dist/devportal/pages/EditApplicationPage.js +14 -14
  66. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  67. package/dist/devportal/pages/ListingPreviewPage.js +76 -76
  68. package/dist/devportal/pages/OAuthClientDetailPage.js +75 -75
  69. package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
  70. package/dist/devportal/pages/OAuthClientsPage.js +64 -64
  71. package/dist/devportal/pages/OrganizationDetailPage.js +189 -189
  72. package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
  73. package/dist/devportal/pages/OrganizationMembersPage.js +10 -10
  74. package/dist/devportal/pages/OrganizationsPage.d.ts.map +1 -1
  75. package/dist/devportal/pages/OrganizationsPage.js +163 -154
  76. package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
  77. package/dist/devportal/pages/PublishPage.js +104 -104
  78. package/dist/devportal/pages/PublishPage.js.map +1 -1
  79. package/dist/devportal/pages/PublisherProfilePage.js +55 -55
  80. package/dist/devportal/pages/ResourcesPage.js +60 -60
  81. package/dist/devportal/pages/RevenueDashboardPage.js +60 -60
  82. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
  83. package/dist/devportal/pages/SellerDashboardPage.js +83 -83
  84. package/dist/devportal/pages/SellerItemsPage.js +163 -163
  85. package/dist/devportal/pages/SellerItemsPage.js.map +1 -1
  86. package/dist/devportal/pages/SellerOrdersPage.js +63 -63
  87. package/dist/devportal/pages/SettingsPage.js +21 -21
  88. package/dist/devportal/pages/SetupPage.js +183 -183
  89. package/dist/devportal/pages/SetupPage.js.map +1 -1
  90. package/dist/devportal/pages/StoreSubmissionPage.js +5 -5
  91. package/dist/devportal/pages/WebhookDetailPage.js +123 -123
  92. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  93. package/dist/devportal/pages/WebhooksPage.js +118 -118
  94. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  95. package/dist/devportal/utils/i18n.d.ts +9 -2
  96. package/dist/devportal/utils/i18n.d.ts.map +1 -1
  97. package/dist/devportal/utils/i18n.js +13 -10
  98. package/dist/devportal/utils/i18n.js.map +1 -1
  99. package/dist/index.js +2 -1
  100. package/dist/translations/en.d.ts +1251 -0
  101. package/dist/translations/en.d.ts.map +1 -0
  102. package/dist/translations/en.js +1235 -0
  103. package/dist/translations/en.js.map +1 -0
  104. package/package.json +1 -1
@@ -2,15 +2,15 @@ import { useDevportal as e } from "../providers/DevportalProvider.js";
2
2
  import { cn as t } from "../utils/cn.js";
3
3
  import { useDevportalEventBus as n } from "../events/index.js";
4
4
  import { useCreateApplicationMutation as r, useCreateBillingAccountMutation as i, useCreateOrganizationMutation as a } from "../../generated/global-operations.js";
5
- import { InputField as o, SelectField as ee, TextareaField as s } from "../components/FormField.js";
5
+ import { InputField as o, SelectField as s, TextareaField as c } from "../components/FormField.js";
6
6
  import "../hooks/index.js";
7
- import { useState as c } from "react";
8
- import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
- import { AppWindow as u, ArrowRight as te, BookOpen as d, Box as ne, Building2 as f, Check as p, ChevronRight as m, GitFork as re, Key as h, Puzzle as g, Rocket as _ } from "lucide-react";
10
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
11
- import { Illustration as ie, PagePurpose as ae } from "@burdenoff/fe-libs/ui";
7
+ import { useState as l } from "react";
8
+ import { AppWindow as u, ArrowRight as ee, BookOpen as te, Box as d, Building2 as f, Check as p, ChevronRight as m, GitFork as ne, Key as re, Puzzle as ie, Rocket as h } from "lucide-react";
9
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
10
+ import { useI18n as ae } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
11
+ import { Illustration as oe, PagePurpose as se } from "@burdenoff/fe-libs/ui";
12
12
  //#region src/devportal/pages/SetupPage.tsx
13
- var b = [
13
+ var v = [
14
14
  {
15
15
  value: "productivity",
16
16
  label: "Productivity"
@@ -60,15 +60,15 @@ var b = [
60
60
  label: "Other"
61
61
  }
62
62
  ];
63
- function x(e) {
63
+ function y(e) {
64
64
  return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
65
65
  }
66
- function S() {
66
+ function b() {
67
67
  try {
68
68
  localStorage.setItem("devportal_setup_dismissed", "1");
69
69
  } catch {}
70
70
  }
71
- var C = [
71
+ var x = [
72
72
  {
73
73
  key: "org",
74
74
  label: "Organization"
@@ -81,58 +81,58 @@ var C = [
81
81
  key: "done",
82
82
  label: "Done"
83
83
  }
84
- ], oe = ({ current: e }) => {
85
- let t = C.findIndex((t) => t.key === e);
86
- return /* @__PURE__ */ v("div", {
84
+ ], ce = ({ current: e }) => {
85
+ let t = x.findIndex((t) => t.key === e);
86
+ return /* @__PURE__ */ g("div", {
87
87
  className: "flex items-center gap-0",
88
- children: C.map((e, n) => {
88
+ children: x.map((e, n) => {
89
89
  let r = n < t, i = n === t;
90
- return /* @__PURE__ */ y("div", {
90
+ return /* @__PURE__ */ _("div", {
91
91
  className: "flex items-center",
92
- children: [/* @__PURE__ */ y("div", {
92
+ children: [/* @__PURE__ */ _("div", {
93
93
  className: "flex flex-col items-center gap-1.5",
94
- children: [/* @__PURE__ */ v("div", {
94
+ children: [/* @__PURE__ */ g("div", {
95
95
  className: ["flex h-8 w-8 items-center justify-center rounded-full text-sm font-semibold transition-colors", r ? "bg-action-primary-bg text-action-primary-text" : i ? "bg-action-primary-bg text-action-primary-text ring-4 ring-primary/20" : "bg-bg-sunken text-text-secondary"].join(" "),
96
- children: r ? /* @__PURE__ */ v(p, { size: 14 }) : n + 1
97
- }), /* @__PURE__ */ v("span", {
96
+ children: r ? /* @__PURE__ */ g(p, { size: 14 }) : n + 1
97
+ }), /* @__PURE__ */ g("span", {
98
98
  className: ["text-xs font-medium whitespace-nowrap", i ? "text-text-primary" : "text-text-secondary"].join(" "),
99
99
  children: e.label
100
100
  })]
101
- }), n < C.length - 1 && /* @__PURE__ */ v("div", { className: ["mx-3 mb-5 h-px w-16 flex-shrink-0 transition-colors", n < t ? "bg-action-primary-bg" : "bg-border"].join(" ") })]
101
+ }), n < x.length - 1 && /* @__PURE__ */ g("div", { className: ["mx-3 mb-5 h-px w-16 flex-shrink-0 transition-colors", n < t ? "bg-action-primary-bg" : "bg-border"].join(" ") })]
102
102
  }, e.key);
103
103
  })
104
104
  });
105
- }, w = () => {
106
- let { navigate: t, basePath: p, currentUser: C } = e(), { t: w } = l(), D = n(), O = (e, t) => {
107
- let n = w(e);
105
+ }, S = () => {
106
+ let { navigate: t, basePath: p, currentUser: x } = e(), { t: S } = ae(), T = n(), E = (e, t) => {
107
+ let n = S(e);
108
108
  return n === e ? t : n;
109
- }, k = (e) => t?.(`${p}${e}`), [A, j] = c("org"), [M, se] = c(null), [N, ce] = c(null), [P, le] = c(""), [F, I] = c(""), [L, R] = c(""), [z, B] = c({}), [V, { loading: H }] = a(), [U] = i(), ue = () => {
109
+ }, D = (e) => t?.(`${p}${e}`), [O, k] = l("org"), [A, le] = l(null), [j, M] = l(null), [N, ue] = l(""), [P, F] = l(""), [I, L] = l(""), [R, z] = l({}), [B, { loading: V }] = a(), [H] = i(), U = () => {
110
110
  let e = {};
111
- return P.trim() ? P.length < 2 && (e.name = O("devportal.orgNameTooShort", "Name must be at least 2 characters")) : e.name = O("devportal.orgNameRequired", "Organization name is required"), F.trim() ? /^[a-z0-9-]+$/.test(F) || (e.slug = O("devportal.slugInvalid", "Lowercase letters, numbers, and hyphens only")) : e.slug = O("devportal.slugRequired", "Slug is required"), B(e), Object.keys(e).length === 0;
111
+ return N.trim() ? N.length < 2 && (e.name = E("devportal.orgNameTooShort", "Name must be at least 2 characters")) : e.name = E("devportal.orgNameRequired", "Organization name is required"), P.trim() ? /^[a-z0-9-]+$/.test(P) || (e.slug = E("devportal.slugInvalid", "Lowercase letters, numbers, and hyphens only")) : e.slug = E("devportal.slugRequired", "Slug is required"), z(e), Object.keys(e).length === 0;
112
112
  }, de = async () => {
113
- if (ue()) try {
114
- let e = (await V({ variables: { input: {
115
- name: P,
116
- slug: F || void 0,
117
- description: L || void 0
113
+ if (U()) try {
114
+ let e = (await B({ variables: { input: {
115
+ name: N,
116
+ slug: P || void 0,
117
+ description: I || void 0
118
118
  } } })).data?.createDeveloperOrganization?.id;
119
119
  if (e) {
120
- D.emit("devportal.org.created", {
120
+ T.emit("devportal.org.created", {
121
121
  organizationId: e,
122
- name: P
123
- }), se(e);
122
+ name: N
123
+ }), le(e);
124
124
  try {
125
- U({ variables: { input: {
126
- name: P,
127
- email: C?.email ?? ""
125
+ H({ variables: { input: {
126
+ name: N,
127
+ email: x?.email ?? ""
128
128
  } } }).catch(() => {});
129
129
  } catch {}
130
- j("app");
130
+ k("app");
131
131
  }
132
132
  } catch {}
133
- }, [W, fe] = c(""), [G, pe] = c(""), [K, q] = c(null), [J, me] = c(""), [Y, he] = c(""), [X, Z] = c({}), [ge, { loading: Q }] = r(), _e = () => K === "node" ? "NODE" : K === "workflow" ? "WORKFLOW" : "API_INTEGRATION", ve = () => {
133
+ }, [W, fe] = l(""), [G, pe] = l(""), [K, q] = l(null), [J, me] = l(""), [Y, he] = l(""), [X, Z] = l({}), [ge, { loading: Q }] = r(), _e = () => K === "node" ? "NODE" : K === "workflow" ? "WORKFLOW" : "API_INTEGRATION", ve = () => {
134
134
  let e = {};
135
- return W.trim() ? W.length < 3 && (e.name = O("devportal.nameTooShort", "Name must be at least 3 characters")) : e.name = O("devportal.appNameRequired", "Application name is required"), K || (e.builderType = O("devportal.appTypeRequired", "Application type is required")), J || (e.category = O("devportal.categoryRequired", "Category is required")), Y.trim() || (e.shortDescription = O("devportal.shortDescriptionRequired", "Short description is required")), Z(e), Object.keys(e).length === 0;
135
+ return W.trim() ? W.length < 3 && (e.name = E("devportal.nameTooShort", "Name must be at least 3 characters")) : e.name = E("devportal.appNameRequired", "Application name is required"), K || (e.builderType = E("devportal.appTypeRequired", "Application type is required")), J || (e.category = E("devportal.categoryRequired", "Category is required")), Y.trim() || (e.shortDescription = E("devportal.shortDescriptionRequired", "Short description is required")), Z(e), Object.keys(e).length === 0;
136
136
  }, ye = async () => {
137
137
  if (!ve()) return;
138
138
  let e = _e();
@@ -144,189 +144,189 @@ var C = [
144
144
  category: J || void 0,
145
145
  shortDescription: Y || void 0,
146
146
  visibility: "PRIVATE",
147
- developerOrganizationId: M || void 0
147
+ developerOrganizationId: A || void 0
148
148
  } } })).data?.createApplication?.id;
149
- t && (D.emit("devportal.app.created", {
149
+ t && (T.emit("devportal.app.created", {
150
150
  appId: t,
151
151
  name: W,
152
152
  appType: e,
153
- organizationId: M
154
- }), ce(t), S(), j("done"));
153
+ organizationId: A
154
+ }), M(t), b(), k("done"));
155
155
  } catch {}
156
156
  }, $ = () => {
157
- S(), k("/");
157
+ b(), D("/");
158
158
  };
159
- return /* @__PURE__ */ y("main", {
159
+ return /* @__PURE__ */ _("main", {
160
160
  className: "min-h-screen bg-surface-default",
161
- children: [/* @__PURE__ */ v("div", {
161
+ children: [/* @__PURE__ */ g("div", {
162
162
  className: "border-b border-border-default bg-surface-raised",
163
- children: /* @__PURE__ */ v("div", {
163
+ children: /* @__PURE__ */ g("div", {
164
164
  className: "mx-auto max-w-2xl px-6 py-5",
165
- children: /* @__PURE__ */ y("div", {
165
+ children: /* @__PURE__ */ _("div", {
166
166
  className: "flex items-center justify-between",
167
- children: [/* @__PURE__ */ y("div", {
167
+ children: [/* @__PURE__ */ _("div", {
168
168
  className: "flex items-center gap-3",
169
- children: [/* @__PURE__ */ v("div", {
169
+ children: [/* @__PURE__ */ g("div", {
170
170
  className: "flex h-9 w-9 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
171
- children: /* @__PURE__ */ v(_, { size: 20 })
172
- }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
171
+ children: /* @__PURE__ */ g(h, { size: 20 })
172
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
173
173
  className: "text-xs font-medium text-text-secondary",
174
- children: O("devportal.developerPortal", "Developer Portal")
175
- }), /* @__PURE__ */ v("h1", {
174
+ children: E("devportal.developerPortal", "Developer Portal")
175
+ }), /* @__PURE__ */ g("h1", {
176
176
  className: "text-base font-semibold text-text-primary",
177
- children: O("devportal.setup.title", "Get set up")
177
+ children: E("devportal.setup.title", "Get set up")
178
178
  })] })]
179
- }), A !== "done" && /* @__PURE__ */ v("button", {
179
+ }), O !== "done" && /* @__PURE__ */ g("button", {
180
180
  type: "button",
181
181
  onClick: $,
182
182
  className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
183
- children: O("devportal.setup.skipForNow", "Skip for now")
183
+ children: E("devportal.setup.skipForNow", "Skip for now")
184
184
  })]
185
185
  })
186
186
  })
187
- }), /* @__PURE__ */ y("div", {
187
+ }), /* @__PURE__ */ _("div", {
188
188
  className: "mx-auto max-w-2xl px-6 py-10",
189
189
  children: [
190
- /* @__PURE__ */ v("div", {
190
+ /* @__PURE__ */ g("div", {
191
191
  className: "mb-10 flex justify-center",
192
- children: /* @__PURE__ */ v(oe, { current: A })
192
+ children: /* @__PURE__ */ g(ce, { current: O })
193
193
  }),
194
- A === "org" && /* @__PURE__ */ y("div", {
194
+ O === "org" && /* @__PURE__ */ _("div", {
195
195
  className: "mb-8 flex flex-col items-center gap-3 text-center",
196
- children: [/* @__PURE__ */ v(ie, {
196
+ children: [/* @__PURE__ */ g(oe, {
197
197
  name: "onboarding",
198
- alt: O("devportal.setup.illustrationAlt", "Getting started with the developer portal"),
198
+ alt: E("devportal.setup.illustrationAlt", "Getting started with the developer portal"),
199
199
  size: "md"
200
- }), /* @__PURE__ */ v(ae, {
200
+ }), /* @__PURE__ */ g(se, {
201
201
  className: "justify-center",
202
- children: O("devportal.setup.purpose", "Two quick steps to start building: create the organization that owns your apps, then register your first app. You can change everything later — this just gets you to a working starting point.")
202
+ children: E("devportal.setup.purpose", "Two quick steps to start building: create the organization that owns your apps, then register your first app. You can change everything later — this just gets you to a working starting point.")
203
203
  })]
204
204
  }),
205
- A === "org" && /* @__PURE__ */ y("div", {
205
+ O === "org" && /* @__PURE__ */ _("div", {
206
206
  className: "rounded-xl border border-border-default bg-surface-raised p-8 shadow-sm",
207
207
  children: [
208
- /* @__PURE__ */ y("div", {
208
+ /* @__PURE__ */ _("div", {
209
209
  className: "mb-6 flex items-center gap-3",
210
- children: [/* @__PURE__ */ v("div", {
210
+ children: [/* @__PURE__ */ g("div", {
211
211
  className: "flex h-10 w-10 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
212
- children: /* @__PURE__ */ v(f, { size: 20 })
213
- }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h2", {
212
+ children: /* @__PURE__ */ g(f, { size: 20 })
213
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h2", {
214
214
  className: "text-lg font-semibold text-text-primary",
215
- children: O("devportal.setup.orgTitle", "Set up your organization")
216
- }), /* @__PURE__ */ v("p", {
215
+ children: E("devportal.setup.orgTitle", "Set up your organization")
216
+ }), /* @__PURE__ */ g("p", {
217
217
  className: "text-sm text-text-secondary",
218
- children: O("devportal.setup.orgSubtitle", "This groups your apps and teams under one publisher identity.")
218
+ children: E("devportal.setup.orgSubtitle", "This groups your apps and teams under one publisher identity.")
219
219
  })] })]
220
220
  }),
221
- /* @__PURE__ */ y("div", {
221
+ /* @__PURE__ */ _("div", {
222
222
  className: "space-y-5",
223
223
  children: [
224
- /* @__PURE__ */ v(o, {
225
- label: O("devportal.organizationName", "Organization Name"),
226
- value: P,
224
+ /* @__PURE__ */ g(o, {
225
+ label: E("devportal.organizationName", "Organization Name"),
226
+ value: N,
227
227
  onChange: (e) => {
228
- le(e.target.value), (!F || F === x(P)) && I(x(e.target.value)), B((e) => ({
228
+ ue(e.target.value), (!P || P === y(N)) && F(y(e.target.value)), z((e) => ({
229
229
  ...e,
230
230
  name: void 0
231
231
  }));
232
232
  },
233
- placeholder: O("devportal.organizationNamePlaceholder", "Acme Development"),
233
+ placeholder: E("devportal.organizationNamePlaceholder", "Acme Development"),
234
234
  required: !0,
235
- error: z.name
235
+ error: R.name
236
236
  }),
237
- /* @__PURE__ */ v(o, {
238
- label: O("devportal.slug", "Slug"),
239
- value: F,
237
+ /* @__PURE__ */ g(o, {
238
+ label: E("devportal.slug", "Slug"),
239
+ value: P,
240
240
  onChange: (e) => {
241
- I(e.target.value.toLowerCase()), B((e) => ({
241
+ F(e.target.value.toLowerCase()), z((e) => ({
242
242
  ...e,
243
243
  slug: void 0
244
244
  }));
245
245
  },
246
246
  placeholder: "acme-dev",
247
247
  required: !0,
248
- error: z.slug,
249
- hint: O("devportal.slugHint", "URL-friendly identifier — auto-generated from name")
248
+ error: R.slug,
249
+ hint: E("devportal.slugHint", "URL-friendly identifier — auto-generated from name")
250
250
  }),
251
- /* @__PURE__ */ v(s, {
252
- label: O("devportal.description", "Description"),
253
- value: L,
254
- onChange: (e) => R(e.target.value),
255
- placeholder: O("devportal.orgDescriptionPlaceholder", "Tell us about your organization…"),
251
+ /* @__PURE__ */ g(c, {
252
+ label: E("devportal.description", "Description"),
253
+ value: I,
254
+ onChange: (e) => L(e.target.value),
255
+ placeholder: E("devportal.orgDescriptionPlaceholder", "Tell us about your organization…"),
256
256
  rows: 2
257
257
  })
258
258
  ]
259
259
  }),
260
- /* @__PURE__ */ y("div", {
260
+ /* @__PURE__ */ _("div", {
261
261
  className: "mt-8 flex items-center justify-between border-t border-border-default pt-6",
262
- children: [/* @__PURE__ */ v("button", {
262
+ children: [/* @__PURE__ */ g("button", {
263
263
  type: "button",
264
264
  onClick: $,
265
265
  className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
266
- children: O("devportal.setup.skipForNow", "Skip for now")
267
- }), /* @__PURE__ */ y("button", {
266
+ children: E("devportal.setup.skipForNow", "Skip for now")
267
+ }), /* @__PURE__ */ _("button", {
268
268
  type: "button",
269
269
  onClick: () => void de(),
270
- disabled: H,
270
+ disabled: V,
271
271
  className: "inline-flex items-center gap-2 rounded-lg bg-action-primary-bg px-5 py-2.5 text-sm font-semibold text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-60 transition-colors",
272
272
  children: [
273
- H ? /* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
274
- O("devportal.setup.createAndContinue", "Create & Continue"),
275
- !H && /* @__PURE__ */ v(m, { size: 16 })
273
+ V ? /* @__PURE__ */ g("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
274
+ E("devportal.setup.createAndContinue", "Create & Continue"),
275
+ !V && /* @__PURE__ */ g(m, { size: 16 })
276
276
  ]
277
277
  })]
278
278
  })
279
279
  ]
280
280
  }),
281
- A === "app" && /* @__PURE__ */ y("div", {
281
+ O === "app" && /* @__PURE__ */ _("div", {
282
282
  className: "rounded-xl border border-border-default bg-surface-raised p-8 shadow-sm",
283
283
  children: [
284
- /* @__PURE__ */ y("div", {
284
+ /* @__PURE__ */ _("div", {
285
285
  className: "mb-6 flex items-center gap-3",
286
- children: [/* @__PURE__ */ v("div", {
286
+ children: [/* @__PURE__ */ g("div", {
287
287
  className: "flex h-10 w-10 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
288
- children: /* @__PURE__ */ v(u, { size: 20 })
289
- }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h2", {
288
+ children: /* @__PURE__ */ g(u, { size: 20 })
289
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h2", {
290
290
  className: "text-lg font-semibold text-text-primary",
291
- children: O("devportal.setup.appTitle", "Create your first app")
292
- }), /* @__PURE__ */ v("p", {
291
+ children: E("devportal.setup.appTitle", "Create your first app")
292
+ }), /* @__PURE__ */ g("p", {
293
293
  className: "text-sm text-text-secondary",
294
- children: O("devportal.setup.appSubtitle", "Register the app you want to publish or integrate.")
294
+ children: E("devportal.setup.appSubtitle", "Register the app you want to publish or integrate.")
295
295
  })] })]
296
296
  }),
297
- /* @__PURE__ */ y("div", {
297
+ /* @__PURE__ */ _("div", {
298
298
  className: "space-y-5",
299
299
  children: [
300
- /* @__PURE__ */ v(o, {
301
- label: O("devportal.applicationName", "Application Name"),
300
+ /* @__PURE__ */ g(o, {
301
+ label: E("devportal.applicationName", "Application Name"),
302
302
  value: W,
303
303
  onChange: (e) => {
304
- fe(e.target.value), (!G || G === x(W)) && pe(x(e.target.value)), Z((e) => ({
304
+ fe(e.target.value), (!G || G === y(W)) && pe(y(e.target.value)), Z((e) => ({
305
305
  ...e,
306
306
  name: void 0
307
307
  }));
308
308
  },
309
- placeholder: O("devportal.applicationNamePlaceholder", "My Awesome App"),
309
+ placeholder: E("devportal.applicationNamePlaceholder", "My Awesome App"),
310
310
  required: !0,
311
311
  error: X.name
312
312
  }),
313
- /* @__PURE__ */ y("div", { children: [
314
- /* @__PURE__ */ y("p", {
313
+ /* @__PURE__ */ _("div", { children: [
314
+ /* @__PURE__ */ _("p", {
315
315
  className: "mb-2 text-sm font-medium text-text-primary",
316
316
  children: [
317
- O("devportal.applicationType", "Application Type"),
317
+ E("devportal.applicationType", "Application Type"),
318
318
  " ",
319
- /* @__PURE__ */ v("span", {
319
+ /* @__PURE__ */ g("span", {
320
320
  className: "text-status-error-text",
321
321
  children: "*"
322
322
  })
323
323
  ]
324
324
  }),
325
- /* @__PURE__ */ y("div", {
325
+ /* @__PURE__ */ _("div", {
326
326
  className: "grid grid-cols-3 gap-3",
327
327
  children: [
328
- /* @__PURE__ */ v(T, {
329
- icon: ne,
328
+ /* @__PURE__ */ g(C, {
329
+ icon: d,
330
330
  title: "App",
331
331
  description: "OAuth integration for the platform",
332
332
  selected: K === "app",
@@ -337,8 +337,8 @@ var C = [
337
337
  }));
338
338
  }
339
339
  }),
340
- /* @__PURE__ */ v(T, {
341
- icon: g,
340
+ /* @__PURE__ */ g(C, {
341
+ icon: ie,
342
342
  title: "Node",
343
343
  description: "Custom FluidGrids workflow node",
344
344
  selected: K === "node",
@@ -349,8 +349,8 @@ var C = [
349
349
  }));
350
350
  }
351
351
  }),
352
- /* @__PURE__ */ v(T, {
353
- icon: re,
352
+ /* @__PURE__ */ g(C, {
353
+ icon: ne,
354
354
  title: "Workflow",
355
355
  description: "Reusable automation template",
356
356
  selected: K === "workflow",
@@ -363,13 +363,13 @@ var C = [
363
363
  })
364
364
  ]
365
365
  }),
366
- X.builderType && /* @__PURE__ */ v("p", {
366
+ X.builderType && /* @__PURE__ */ g("p", {
367
367
  className: "mt-1.5 text-xs text-status-error-text",
368
368
  children: X.builderType
369
369
  })
370
370
  ] }),
371
- /* @__PURE__ */ v(ee, {
372
- label: O("devportal.category", "Category"),
371
+ /* @__PURE__ */ g(s, {
372
+ label: E("devportal.category", "Category"),
373
373
  value: J,
374
374
  onChange: (e) => {
375
375
  me(e.target.value), Z((e) => ({
@@ -377,13 +377,13 @@ var C = [
377
377
  category: void 0
378
378
  }));
379
379
  },
380
- options: b,
381
- placeholder: O("devportal.selectCategory", "Select category…"),
380
+ options: v,
381
+ placeholder: E("devportal.selectCategory", "Select category…"),
382
382
  required: !0,
383
383
  error: X.category
384
384
  }),
385
- /* @__PURE__ */ v(s, {
386
- label: O("devportal.shortDescription", "Short Description"),
385
+ /* @__PURE__ */ g(c, {
386
+ label: E("devportal.shortDescription", "Short Description"),
387
387
  value: Y,
388
388
  onChange: (e) => {
389
389
  he(e.target.value), Z((e) => ({
@@ -391,7 +391,7 @@ var C = [
391
391
  shortDescription: void 0
392
392
  }));
393
393
  },
394
- placeholder: O("devportal.shortDescriptionPlaceholder", "A brief description of what your app does"),
394
+ placeholder: E("devportal.shortDescriptionPlaceholder", "A brief description of what your app does"),
395
395
  required: !0,
396
396
  error: X.shortDescription,
397
397
  rows: 2,
@@ -399,133 +399,133 @@ var C = [
399
399
  })
400
400
  ]
401
401
  }),
402
- /* @__PURE__ */ y("div", {
402
+ /* @__PURE__ */ _("div", {
403
403
  className: "mt-8 flex items-center justify-between border-t border-border-default pt-6",
404
- children: [/* @__PURE__ */ v("button", {
404
+ children: [/* @__PURE__ */ g("button", {
405
405
  type: "button",
406
406
  onClick: $,
407
407
  className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
408
- children: O("devportal.setup.skipForNow", "Skip for now")
409
- }), /* @__PURE__ */ y("button", {
408
+ children: E("devportal.setup.skipForNow", "Skip for now")
409
+ }), /* @__PURE__ */ _("button", {
410
410
  type: "button",
411
411
  onClick: () => void ye(),
412
412
  disabled: Q,
413
413
  className: "inline-flex items-center gap-2 rounded-lg bg-action-primary-bg px-5 py-2.5 text-sm font-semibold text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-60 transition-colors",
414
414
  children: [
415
- Q ? /* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
416
- O("devportal.setup.createApp", "Create App"),
417
- !Q && /* @__PURE__ */ v(m, { size: 16 })
415
+ Q ? /* @__PURE__ */ g("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
416
+ E("devportal.setup.createApp", "Create App"),
417
+ !Q && /* @__PURE__ */ g(m, { size: 16 })
418
418
  ]
419
419
  })]
420
420
  })
421
421
  ]
422
422
  }),
423
- A === "done" && /* @__PURE__ */ y("div", {
423
+ O === "done" && /* @__PURE__ */ _("div", {
424
424
  className: "text-center",
425
425
  children: [
426
- /* @__PURE__ */ v("div", {
426
+ /* @__PURE__ */ g("div", {
427
427
  className: "mx-auto mb-6 flex h-16 w-16 items-center justify-center rounded-full bg-action-primary-bg/10 text-primary",
428
- children: /* @__PURE__ */ v(_, { size: 32 })
428
+ children: /* @__PURE__ */ g(h, { size: 32 })
429
429
  }),
430
- /* @__PURE__ */ v("h2", {
430
+ /* @__PURE__ */ g("h2", {
431
431
  className: "text-2xl font-bold text-text-primary",
432
- children: O("devportal.setup.doneTitle", "You're all set!")
432
+ children: E("devportal.setup.doneTitle", "You're all set!")
433
433
  }),
434
- /* @__PURE__ */ v("p", {
434
+ /* @__PURE__ */ g("p", {
435
435
  className: "mt-2 text-text-secondary",
436
- children: O("devportal.setup.doneSubtitle", "Your organization and first app are ready. Here's what to do next.")
436
+ children: E("devportal.setup.doneSubtitle", "Your organization and first app are ready. Here's what to do next.")
437
437
  }),
438
- /* @__PURE__ */ y("div", {
438
+ /* @__PURE__ */ _("div", {
439
439
  className: "mt-8 grid gap-3 sm:grid-cols-2",
440
440
  children: [
441
- N && /* @__PURE__ */ v(E, {
442
- icon: /* @__PURE__ */ v(u, { size: 20 }),
443
- title: O("devportal.setup.viewApp", "View your app"),
444
- description: O("devportal.setup.viewAppDesc", "Configure OAuth, webhooks, and versioning"),
445
- onClick: () => k(`/apps/${N}`),
441
+ j && /* @__PURE__ */ g(w, {
442
+ icon: /* @__PURE__ */ g(u, { size: 20 }),
443
+ title: E("devportal.setup.viewApp", "View your app"),
444
+ description: E("devportal.setup.viewAppDesc", "Configure OAuth, webhooks, and versioning"),
445
+ onClick: () => D(`/apps/${j}`),
446
446
  primary: !0
447
447
  }),
448
- /* @__PURE__ */ v(E, {
449
- icon: /* @__PURE__ */ v(h, { size: 20 }),
450
- title: O("devportal.setup.generateApiKey", "Generate API key"),
451
- description: O("devportal.setup.generateApiKeyDesc", "Create credentials to start calling APIs"),
452
- onClick: () => k("/api-keys/new")
448
+ /* @__PURE__ */ g(w, {
449
+ icon: /* @__PURE__ */ g(re, { size: 20 }),
450
+ title: E("devportal.setup.generateApiKey", "Generate API key"),
451
+ description: E("devportal.setup.generateApiKeyDesc", "Create credentials to start calling APIs"),
452
+ onClick: () => D("/api-keys/new")
453
453
  }),
454
- /* @__PURE__ */ v(E, {
455
- icon: /* @__PURE__ */ v(d, { size: 20 }),
456
- title: O("devportal.setup.browseDocs", "Browse docs"),
457
- description: O("devportal.setup.browseDocsDesc", "Learn about publishing, SDKs, and webhooks"),
458
- onClick: () => k("/docs")
454
+ /* @__PURE__ */ g(w, {
455
+ icon: /* @__PURE__ */ g(te, { size: 20 }),
456
+ title: E("devportal.setup.browseDocs", "Browse docs"),
457
+ description: E("devportal.setup.browseDocsDesc", "Learn about publishing, SDKs, and webhooks"),
458
+ onClick: () => D("/docs")
459
459
  }),
460
- M && /* @__PURE__ */ v(E, {
461
- icon: /* @__PURE__ */ v(f, { size: 20 }),
462
- title: O("devportal.setup.inviteTeam", "Invite your team"),
463
- description: O("devportal.setup.inviteTeamDesc", "Add members to collaborate on your apps"),
464
- onClick: () => k(`/organizations/${M}/members`)
460
+ A && /* @__PURE__ */ g(w, {
461
+ icon: /* @__PURE__ */ g(f, { size: 20 }),
462
+ title: E("devportal.setup.inviteTeam", "Invite your team"),
463
+ description: E("devportal.setup.inviteTeamDesc", "Add members to collaborate on your apps"),
464
+ onClick: () => D(`/organizations/${A}/members`)
465
465
  })
466
466
  ]
467
467
  }),
468
- /* @__PURE__ */ y("button", {
468
+ /* @__PURE__ */ _("button", {
469
469
  type: "button",
470
- onClick: () => k("/"),
470
+ onClick: () => D("/"),
471
471
  className: "mt-8 inline-flex items-center gap-2 text-sm text-text-secondary hover:text-text-primary transition-colors",
472
- children: [O("devportal.setup.goToDashboard", "Go to dashboard"), /* @__PURE__ */ v(te, { size: 14 })]
472
+ children: [E("devportal.setup.goToDashboard", "Go to dashboard"), /* @__PURE__ */ g(ee, { size: 14 })]
473
473
  })
474
474
  ]
475
475
  })
476
476
  ]
477
477
  })]
478
478
  });
479
- }, T = ({ icon: e, title: n, description: r, selected: i, onClick: a }) => /* @__PURE__ */ y("button", {
479
+ }, C = ({ icon: e, title: n, description: r, selected: i, onClick: a }) => /* @__PURE__ */ _("button", {
480
480
  type: "button",
481
481
  onClick: a,
482
482
  className: t("relative flex flex-col gap-2 rounded-xl border-2 p-4 text-left transition-all hover:border-primary/50 hover:shadow-sm", i ? "border-primary bg-action-primary-bg/5 shadow-sm" : "border-border-subtle bg-bg-surface"),
483
483
  children: [
484
- i && /* @__PURE__ */ v("span", {
484
+ i && /* @__PURE__ */ g("span", {
485
485
  className: "absolute top-3 right-3 flex h-4 w-4 items-center justify-center rounded-full bg-action-primary-bg text-action-primary-text",
486
- children: /* @__PURE__ */ v(p, { size: 10 })
486
+ children: /* @__PURE__ */ g(p, { size: 10 })
487
487
  }),
488
- /* @__PURE__ */ v("div", {
488
+ /* @__PURE__ */ g("div", {
489
489
  className: "flex h-8 w-8 items-center justify-center rounded-lg bg-bg-sunken",
490
- children: /* @__PURE__ */ v(e, {
490
+ children: /* @__PURE__ */ g(e, {
491
491
  size: 18,
492
492
  className: "text-text-primary"
493
493
  })
494
494
  }),
495
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
495
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
496
496
  className: "text-sm font-semibold text-text-primary",
497
497
  children: n
498
- }), /* @__PURE__ */ v("p", {
498
+ }), /* @__PURE__ */ g("p", {
499
499
  className: "mt-0.5 text-xs text-text-secondary",
500
500
  children: r
501
501
  })] })
502
502
  ]
503
- }), E = ({ icon: e, title: t, description: n, onClick: r, primary: i }) => /* @__PURE__ */ y("button", {
503
+ }), w = ({ icon: e, title: t, description: n, onClick: r, primary: i }) => /* @__PURE__ */ _("button", {
504
504
  type: "button",
505
505
  onClick: r,
506
506
  className: ["flex items-start gap-4 rounded-xl border p-5 text-left transition-colors", i ? "border-primary bg-action-primary-bg/5 hover:bg-action-primary-bg/10" : "border-border-default bg-surface-raised hover:bg-surface-hover"].join(" "),
507
507
  children: [
508
- /* @__PURE__ */ v("div", {
508
+ /* @__PURE__ */ g("div", {
509
509
  className: ["flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-lg", i ? "bg-action-primary-bg/20 text-primary" : "bg-bg-sunken text-text-secondary"].join(" "),
510
510
  children: e
511
511
  }),
512
- /* @__PURE__ */ y("div", {
512
+ /* @__PURE__ */ _("div", {
513
513
  className: "min-w-0 flex-1",
514
- children: [/* @__PURE__ */ v("p", {
514
+ children: [/* @__PURE__ */ g("p", {
515
515
  className: "font-semibold text-text-primary",
516
516
  children: t
517
- }), /* @__PURE__ */ v("p", {
517
+ }), /* @__PURE__ */ g("p", {
518
518
  className: "mt-0.5 text-sm text-text-secondary",
519
519
  children: n
520
520
  })]
521
521
  }),
522
- /* @__PURE__ */ v(m, {
522
+ /* @__PURE__ */ g(m, {
523
523
  size: 16,
524
524
  className: "mt-0.5 flex-shrink-0 text-text-secondary"
525
525
  })
526
526
  ]
527
527
  });
528
528
  //#endregion
529
- export { w as SetupPage };
529
+ export { S as SetupPage };
530
530
 
531
531
  //# sourceMappingURL=SetupPage.js.map