@burdenoff/microfe-devportal 2026.1101.1 → 2026.1107.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/devportal/DevportalRoutes.d.ts.map +1 -1
- package/dist/devportal/DevportalRoutes.js +13 -9
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/components/OnboardingChecklist.d.ts +16 -0
- package/dist/devportal/components/OnboardingChecklist.d.ts.map +1 -0
- package/dist/devportal/components/OnboardingChecklist.js +151 -0
- package/dist/devportal/components/OnboardingChecklist.js.map +1 -0
- package/dist/devportal/constants/developerLinks.d.ts +47 -0
- package/dist/devportal/constants/developerLinks.d.ts.map +1 -0
- package/dist/devportal/constants/developerLinks.js +27 -0
- package/dist/devportal/constants/developerLinks.js.map +1 -0
- package/dist/devportal/hooks/useGraphQL.d.ts.map +1 -1
- package/dist/devportal/hooks/useGraphQL.js +2 -1
- package/dist/devportal/hooks/useGraphQL.js.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.d.ts +3 -0
- package/dist/devportal/hooks/usePackageUpload.d.ts.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.js +41 -32
- package/dist/devportal/hooks/usePackageUpload.js.map +1 -1
- package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
- package/dist/devportal/pages/DashboardPage.js +107 -105
- package/dist/devportal/pages/DashboardPage.js.map +1 -1
- package/dist/devportal/pages/DocumentationPage.d.ts.map +1 -1
- package/dist/devportal/pages/DocumentationPage.js +114 -148
- package/dist/devportal/pages/DocumentationPage.js.map +1 -1
- package/dist/devportal/pages/PublisherProfilePage.d.ts.map +1 -1
- package/dist/devportal/pages/PublisherProfilePage.js +170 -160
- package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
- package/dist/devportal/pages/ResourcesPage.js +2 -2
- package/dist/devportal/pages/ResourcesPage.js.map +1 -1
- package/dist/devportal/pages/SetupPage.d.ts.map +1 -1
- package/dist/devportal/pages/SetupPage.js +363 -218
- package/dist/devportal/pages/SetupPage.js.map +1 -1
- package/dist/devportal/utils/developerOnboarding.d.ts +85 -0
- package/dist/devportal/utils/developerOnboarding.d.ts.map +1 -0
- package/dist/devportal/utils/developerOnboarding.js +104 -0
- package/dist/devportal/utils/developerOnboarding.js.map +1 -0
- package/dist/devportal/utils/uploadErrors.d.ts +46 -0
- package/dist/devportal/utils/uploadErrors.d.ts.map +1 -0
- package/dist/devportal/utils/uploadErrors.js +62 -0
- package/dist/devportal/utils/uploadErrors.js.map +1 -0
- package/dist/generated/global-operations.d.ts +53 -0
- package/dist/generated/global-operations.d.ts.map +1 -1
- package/dist/generated/global-operations.js +170 -134
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/translations/en.d.ts +50 -0
- package/dist/translations/en.d.ts.map +1 -1
- package/dist/translations/en.js +51 -1
- package/dist/translations/en.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
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
|
-
import { useCreateApplicationMutation as r, useCreateBillingAccountMutation as i,
|
|
5
|
-
import { InputField as o, SelectField as
|
|
4
|
+
import { useCreateApplicationMutation as r, useCreateBillingAccountMutation as i, useCreateDeveloperProfileMutation as a, useCreateOrganizationMutation as ee } from "../../generated/global-operations.js";
|
|
5
|
+
import { InputField as o, SelectField as te, TextareaField as s } from "../components/FormField.js";
|
|
6
|
+
import { ELIGIBILITY_RULES as c, reviewRequirementsFor as ne } from "../utils/developerOnboarding.js";
|
|
7
|
+
import { DEVELOPER_AGREEMENT_VERSION as re, DEVELOPER_LINKS as l } from "../constants/developerLinks.js";
|
|
6
8
|
import "../hooks/index.js";
|
|
7
|
-
import { useState as
|
|
8
|
-
import { AppWindow as
|
|
9
|
-
import { jsx as
|
|
10
|
-
import { useI18n as
|
|
11
|
-
import { Illustration as
|
|
9
|
+
import { useState as u } from "react";
|
|
10
|
+
import { AppWindow as d, ArrowRight as ie, BookOpen as ae, Box as oe, Building2 as f, Check as p, ChevronRight as m, GitFork as se, Key as ce, ListChecks as le, Puzzle as h, Rocket as g, ShieldCheck as _ } from "lucide-react";
|
|
11
|
+
import { jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
12
|
+
import { useI18n as ue } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
13
|
+
import { Illustration as de, PagePurpose as fe } from "@burdenoff/fe-libs/ui";
|
|
12
14
|
//#region src/devportal/pages/SetupPage.tsx
|
|
13
|
-
var
|
|
15
|
+
var pe = [
|
|
14
16
|
{
|
|
15
17
|
value: "productivity",
|
|
16
18
|
label: "Productivity"
|
|
@@ -60,15 +62,18 @@ var v = [
|
|
|
60
62
|
label: "Other"
|
|
61
63
|
}
|
|
62
64
|
];
|
|
63
|
-
function
|
|
65
|
+
function b(e) {
|
|
64
66
|
return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
65
67
|
}
|
|
66
|
-
function
|
|
68
|
+
function x(e, t) {
|
|
69
|
+
return e instanceof Error && e.message ? e.message : t;
|
|
70
|
+
}
|
|
71
|
+
function S() {
|
|
67
72
|
try {
|
|
68
73
|
localStorage.setItem("devportal_setup_dismissed", "1");
|
|
69
74
|
} catch {}
|
|
70
75
|
}
|
|
71
|
-
var
|
|
76
|
+
var C = [
|
|
72
77
|
{
|
|
73
78
|
key: "org",
|
|
74
79
|
label: "Organization"
|
|
@@ -77,285 +82,353 @@ var x = [
|
|
|
77
82
|
key: "app",
|
|
78
83
|
label: "First app"
|
|
79
84
|
},
|
|
85
|
+
{
|
|
86
|
+
key: "submit",
|
|
87
|
+
label: "Submit"
|
|
88
|
+
},
|
|
80
89
|
{
|
|
81
90
|
key: "done",
|
|
82
91
|
label: "Done"
|
|
83
92
|
}
|
|
84
|
-
],
|
|
85
|
-
let t =
|
|
86
|
-
return /* @__PURE__ */
|
|
93
|
+
], me = ({ current: e }) => {
|
|
94
|
+
let t = C.findIndex((t) => t.key === e);
|
|
95
|
+
return /* @__PURE__ */ v("div", {
|
|
87
96
|
className: "flex items-center gap-0",
|
|
88
|
-
children:
|
|
97
|
+
children: C.map((e, n) => {
|
|
89
98
|
let r = n < t, i = n === t;
|
|
90
|
-
return /* @__PURE__ */
|
|
99
|
+
return /* @__PURE__ */ y("div", {
|
|
91
100
|
className: "flex items-center",
|
|
92
|
-
children: [/* @__PURE__ */
|
|
101
|
+
children: [/* @__PURE__ */ y("div", {
|
|
93
102
|
className: "flex flex-col items-center gap-1.5",
|
|
94
|
-
children: [/* @__PURE__ */
|
|
103
|
+
children: [/* @__PURE__ */ v("div", {
|
|
95
104
|
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__ */
|
|
97
|
-
}), /* @__PURE__ */
|
|
105
|
+
children: r ? /* @__PURE__ */ v(p, { size: 14 }) : n + 1
|
|
106
|
+
}), /* @__PURE__ */ v("span", {
|
|
98
107
|
className: ["text-xs font-medium whitespace-nowrap", i ? "text-text-primary" : "text-text-secondary"].join(" "),
|
|
99
108
|
children: e.label
|
|
100
109
|
})]
|
|
101
|
-
}), n <
|
|
110
|
+
}), 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(" ") })]
|
|
102
111
|
}, e.key);
|
|
103
112
|
})
|
|
104
113
|
});
|
|
105
|
-
},
|
|
106
|
-
let { navigate: t, basePath:
|
|
107
|
-
let n =
|
|
114
|
+
}, w = () => {
|
|
115
|
+
let { navigate: t, basePath: c, currentUser: _ } = e(), { t: C } = ue(), w = n(), D = (e, t) => {
|
|
116
|
+
let n = C(e);
|
|
108
117
|
return n === e ? t : n;
|
|
109
|
-
},
|
|
118
|
+
}, O = (e) => t?.(`${c}${e}`), [k, A] = u("org"), [j, ge] = u(null), [M, _e] = u(null), [ve, ye] = u(null), [N, be] = u(""), [P, F] = u(""), [I, xe] = u(""), [L, R] = u({}), [z, Se] = u(!1), [B, V] = u(null), [Ce, { loading: we }] = ee(), [Te, { loading: Ee }] = a(), H = we || Ee, [De] = i(), Oe = () => {
|
|
110
119
|
let e = {};
|
|
111
|
-
return N.trim() ? N.length < 2 && (e.name =
|
|
112
|
-
},
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
120
|
+
return N.trim() ? N.length < 2 && (e.name = D("devportal.orgNameTooShort", "Name must be at least 2 characters")) : e.name = D("devportal.orgNameRequired", "Organization name is required"), P.trim() ? /^[a-z0-9-]+$/.test(P) || (e.slug = D("devportal.slugInvalid", "Lowercase letters, numbers, and hyphens only")) : e.slug = D("devportal.slugRequired", "Slug is required"), z || (e.agreement = D("devportal.onboarding.agreementRequired", "Accept the Developer Agreement to continue")), R(e), Object.keys(e).length === 0;
|
|
121
|
+
}, ke = async () => {
|
|
122
|
+
if (Oe()) {
|
|
123
|
+
V(null);
|
|
124
|
+
try {
|
|
125
|
+
await Te({ variables: { input: { companyName: N } } });
|
|
126
|
+
let e = (await Ce({ variables: { input: {
|
|
127
|
+
name: N,
|
|
128
|
+
slug: P || void 0,
|
|
129
|
+
description: I || void 0,
|
|
130
|
+
contactEmail: _?.email || void 0,
|
|
131
|
+
metadata: {
|
|
132
|
+
developerAgreement: {
|
|
133
|
+
version: re,
|
|
134
|
+
url: l.developerAgreement,
|
|
135
|
+
acceptedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
136
|
+
acceptedBy: _?.id ?? null
|
|
137
|
+
},
|
|
138
|
+
registrationSource: "devportal-setup"
|
|
139
|
+
}
|
|
140
|
+
} } })).data?.createDeveloperOrganization?.id;
|
|
141
|
+
if (e) {
|
|
142
|
+
w.emit("devportal.org.created", {
|
|
143
|
+
organizationId: e,
|
|
144
|
+
name: N
|
|
145
|
+
}), ge(e);
|
|
146
|
+
try {
|
|
147
|
+
De({ variables: { input: {
|
|
148
|
+
name: N,
|
|
149
|
+
email: _?.email ?? ""
|
|
150
|
+
} } }).catch(() => {});
|
|
151
|
+
} catch {}
|
|
152
|
+
A("app");
|
|
153
|
+
}
|
|
154
|
+
} catch (e) {
|
|
155
|
+
V(x(e, D("devportal.onboarding.orgCreateFailed", "We could not create your organization. Please try again.")));
|
|
131
156
|
}
|
|
132
|
-
}
|
|
133
|
-
}, [
|
|
157
|
+
}
|
|
158
|
+
}, [U, Ae] = u(""), [W, je] = u(""), [G, K] = u(null), [q, Me] = u(""), [J, Ne] = u(""), [Y, X] = u({}), [Z, Pe] = u(null), [Fe, { loading: Q }] = r(), Ie = () => G === "node" ? "NODE" : G === "workflow" ? "WORKFLOW" : "API_INTEGRATION", Le = () => {
|
|
134
159
|
let e = {};
|
|
135
|
-
return
|
|
136
|
-
},
|
|
137
|
-
if (!
|
|
138
|
-
let e =
|
|
160
|
+
return U.trim() ? U.length < 3 && (e.name = D("devportal.nameTooShort", "Name must be at least 3 characters")) : e.name = D("devportal.appNameRequired", "Application name is required"), G || (e.builderType = D("devportal.appTypeRequired", "Application type is required")), q || (e.category = D("devportal.categoryRequired", "Category is required")), J.trim() || (e.shortDescription = D("devportal.shortDescriptionRequired", "Short description is required")), X(e), Object.keys(e).length === 0;
|
|
161
|
+
}, Re = async () => {
|
|
162
|
+
if (!Le()) return;
|
|
163
|
+
let e = Ie();
|
|
164
|
+
Pe(null);
|
|
139
165
|
try {
|
|
140
|
-
let t = (await
|
|
141
|
-
name:
|
|
142
|
-
slug:
|
|
166
|
+
let t = (await Fe({ variables: { input: {
|
|
167
|
+
name: U,
|
|
168
|
+
slug: W || void 0,
|
|
143
169
|
appType: e,
|
|
144
|
-
category:
|
|
145
|
-
shortDescription:
|
|
170
|
+
category: q || void 0,
|
|
171
|
+
shortDescription: J || void 0,
|
|
146
172
|
visibility: "PRIVATE",
|
|
147
|
-
developerOrganizationId:
|
|
173
|
+
developerOrganizationId: j || void 0
|
|
148
174
|
} } })).data?.createApplication?.id;
|
|
149
|
-
t && (
|
|
175
|
+
t && (w.emit("devportal.app.created", {
|
|
150
176
|
appId: t,
|
|
151
|
-
name:
|
|
177
|
+
name: U,
|
|
152
178
|
appType: e,
|
|
153
|
-
organizationId:
|
|
154
|
-
}),
|
|
155
|
-
} catch {
|
|
156
|
-
|
|
157
|
-
|
|
179
|
+
organizationId: j
|
|
180
|
+
}), _e(t), ye(e), S(), A("submit"));
|
|
181
|
+
} catch (e) {
|
|
182
|
+
Pe(x(e, D("devportal.onboarding.appCreateFailed", "We could not create your app. Please try again.")));
|
|
183
|
+
}
|
|
184
|
+
}, ze = ne(ve), $ = () => {
|
|
185
|
+
S(), O("/");
|
|
158
186
|
};
|
|
159
|
-
return /* @__PURE__ */
|
|
187
|
+
return /* @__PURE__ */ y("main", {
|
|
160
188
|
className: "min-h-screen bg-surface-default",
|
|
161
|
-
children: [/* @__PURE__ */
|
|
189
|
+
children: [/* @__PURE__ */ v("div", {
|
|
162
190
|
className: "border-b border-border-default bg-surface-raised",
|
|
163
|
-
children: /* @__PURE__ */
|
|
191
|
+
children: /* @__PURE__ */ v("div", {
|
|
164
192
|
className: "mx-auto max-w-2xl px-6 py-5",
|
|
165
|
-
children: /* @__PURE__ */
|
|
193
|
+
children: /* @__PURE__ */ y("div", {
|
|
166
194
|
className: "flex items-center justify-between",
|
|
167
|
-
children: [/* @__PURE__ */
|
|
195
|
+
children: [/* @__PURE__ */ y("div", {
|
|
168
196
|
className: "flex items-center gap-3",
|
|
169
|
-
children: [/* @__PURE__ */
|
|
197
|
+
children: [/* @__PURE__ */ v("div", {
|
|
170
198
|
className: "flex h-9 w-9 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
|
|
171
|
-
children: /* @__PURE__ */ g
|
|
172
|
-
}), /* @__PURE__ */
|
|
199
|
+
children: /* @__PURE__ */ v(g, { size: 20 })
|
|
200
|
+
}), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
173
201
|
className: "text-xs font-medium text-text-secondary",
|
|
174
|
-
children:
|
|
175
|
-
}), /* @__PURE__ */
|
|
202
|
+
children: D("devportal.developerPortal", "Developer Portal")
|
|
203
|
+
}), /* @__PURE__ */ v("h1", {
|
|
176
204
|
className: "text-base font-semibold text-text-primary",
|
|
177
|
-
children:
|
|
205
|
+
children: D("devportal.setup.title", "Get set up")
|
|
178
206
|
})] })]
|
|
179
|
-
}),
|
|
207
|
+
}), k !== "done" && /* @__PURE__ */ v("button", {
|
|
180
208
|
type: "button",
|
|
181
209
|
onClick: $,
|
|
182
210
|
className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
|
|
183
|
-
children:
|
|
211
|
+
children: D("devportal.setup.skipForNow", "Skip for now")
|
|
184
212
|
})]
|
|
185
213
|
})
|
|
186
214
|
})
|
|
187
|
-
}), /* @__PURE__ */
|
|
215
|
+
}), /* @__PURE__ */ y("div", {
|
|
188
216
|
className: "mx-auto max-w-2xl px-6 py-10",
|
|
189
217
|
children: [
|
|
190
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ v("div", {
|
|
191
219
|
className: "mb-10 flex justify-center",
|
|
192
|
-
children: /* @__PURE__ */
|
|
220
|
+
children: /* @__PURE__ */ v(me, { current: k })
|
|
193
221
|
}),
|
|
194
|
-
|
|
222
|
+
k === "org" && /* @__PURE__ */ y("div", {
|
|
195
223
|
className: "mb-8 flex flex-col items-center gap-3 text-center",
|
|
196
|
-
children: [/* @__PURE__ */
|
|
224
|
+
children: [/* @__PURE__ */ v(de, {
|
|
197
225
|
name: "onboarding",
|
|
198
|
-
alt:
|
|
226
|
+
alt: D("devportal.setup.illustrationAlt", "Getting started with the developer portal"),
|
|
199
227
|
size: "md"
|
|
200
|
-
}), /* @__PURE__ */
|
|
228
|
+
}), /* @__PURE__ */ v(fe, {
|
|
201
229
|
className: "justify-center",
|
|
202
|
-
children:
|
|
230
|
+
children: D("devportal.setup.purpose", "Three quick steps to start building: create the organization that owns your apps, register your first app, then submit it for review. Your developer profile is created with your organization. You can change everything later.")
|
|
203
231
|
})]
|
|
204
232
|
}),
|
|
205
|
-
|
|
233
|
+
k === "org" && /* @__PURE__ */ y("div", {
|
|
206
234
|
className: "rounded-xl border border-border-default bg-surface-raised p-8 shadow-sm",
|
|
207
235
|
children: [
|
|
208
|
-
/* @__PURE__ */
|
|
236
|
+
/* @__PURE__ */ y("div", {
|
|
209
237
|
className: "mb-6 flex items-center gap-3",
|
|
210
|
-
children: [/* @__PURE__ */
|
|
238
|
+
children: [/* @__PURE__ */ v("div", {
|
|
211
239
|
className: "flex h-10 w-10 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
|
|
212
|
-
children: /* @__PURE__ */
|
|
213
|
-
}), /* @__PURE__ */
|
|
240
|
+
children: /* @__PURE__ */ v(f, { size: 20 })
|
|
241
|
+
}), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h2", {
|
|
214
242
|
className: "text-lg font-semibold text-text-primary",
|
|
215
|
-
children:
|
|
216
|
-
}), /* @__PURE__ */
|
|
243
|
+
children: D("devportal.setup.orgTitle", "Set up your organization")
|
|
244
|
+
}), /* @__PURE__ */ v("p", {
|
|
217
245
|
className: "text-sm text-text-secondary",
|
|
218
|
-
children:
|
|
246
|
+
children: D("devportal.setup.orgSubtitle", "This groups your apps and teams under one publisher identity.")
|
|
219
247
|
})] })]
|
|
220
248
|
}),
|
|
221
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ y("div", {
|
|
222
250
|
className: "space-y-5",
|
|
223
251
|
children: [
|
|
224
|
-
/* @__PURE__ */
|
|
225
|
-
label:
|
|
252
|
+
/* @__PURE__ */ v(o, {
|
|
253
|
+
label: D("devportal.organizationName", "Organization Name"),
|
|
226
254
|
value: N,
|
|
227
255
|
onChange: (e) => {
|
|
228
|
-
|
|
256
|
+
be(e.target.value), (!P || P === b(N)) && F(b(e.target.value)), R((e) => ({
|
|
229
257
|
...e,
|
|
230
258
|
name: void 0
|
|
231
259
|
}));
|
|
232
260
|
},
|
|
233
|
-
placeholder:
|
|
261
|
+
placeholder: D("devportal.organizationNamePlaceholder", "Acme Development"),
|
|
234
262
|
required: !0,
|
|
235
|
-
error:
|
|
263
|
+
error: L.name
|
|
236
264
|
}),
|
|
237
|
-
/* @__PURE__ */
|
|
238
|
-
label:
|
|
265
|
+
/* @__PURE__ */ v(o, {
|
|
266
|
+
label: D("devportal.slug", "Slug"),
|
|
239
267
|
value: P,
|
|
240
268
|
onChange: (e) => {
|
|
241
|
-
F(e.target.value.toLowerCase()),
|
|
269
|
+
F(e.target.value.toLowerCase()), R((e) => ({
|
|
242
270
|
...e,
|
|
243
271
|
slug: void 0
|
|
244
272
|
}));
|
|
245
273
|
},
|
|
246
274
|
placeholder: "acme-dev",
|
|
247
275
|
required: !0,
|
|
248
|
-
error:
|
|
249
|
-
hint:
|
|
276
|
+
error: L.slug,
|
|
277
|
+
hint: D("devportal.slugHint", "URL-friendly identifier — auto-generated from name")
|
|
250
278
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
label:
|
|
279
|
+
/* @__PURE__ */ v(s, {
|
|
280
|
+
label: D("devportal.description", "Description"),
|
|
253
281
|
value: I,
|
|
254
|
-
onChange: (e) =>
|
|
255
|
-
placeholder:
|
|
282
|
+
onChange: (e) => xe(e.target.value),
|
|
283
|
+
placeholder: D("devportal.orgDescriptionPlaceholder", "Tell us about your organization…"),
|
|
256
284
|
rows: 2
|
|
285
|
+
}),
|
|
286
|
+
/* @__PURE__ */ v(he, { tr: D }),
|
|
287
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ y("label", {
|
|
288
|
+
className: "flex items-start gap-3 text-sm text-text-primary",
|
|
289
|
+
children: [/* @__PURE__ */ v("input", {
|
|
290
|
+
type: "checkbox",
|
|
291
|
+
"data-testid": "devportal-setup-accept-agreement",
|
|
292
|
+
checked: z,
|
|
293
|
+
onChange: (e) => {
|
|
294
|
+
Se(e.target.checked), R((e) => ({
|
|
295
|
+
...e,
|
|
296
|
+
agreement: void 0
|
|
297
|
+
}));
|
|
298
|
+
},
|
|
299
|
+
className: "mt-0.5 h-4 w-4 shrink-0 rounded border-border-default accent-primary"
|
|
300
|
+
}), /* @__PURE__ */ y("span", { children: [
|
|
301
|
+
D("devportal.onboarding.agreementLabelPrefix", "I meet these requirements and accept the"),
|
|
302
|
+
" ",
|
|
303
|
+
/* @__PURE__ */ v("a", {
|
|
304
|
+
href: l.developerAgreement,
|
|
305
|
+
target: "_blank",
|
|
306
|
+
rel: "noopener noreferrer",
|
|
307
|
+
className: "font-medium text-primary hover:underline",
|
|
308
|
+
children: D("devportal.onboarding.developerAgreement", "Marketplace & Developer Agreement")
|
|
309
|
+
}),
|
|
310
|
+
" ",
|
|
311
|
+
D("devportal.onboarding.and", "and the"),
|
|
312
|
+
" ",
|
|
313
|
+
/* @__PURE__ */ v("a", {
|
|
314
|
+
href: l.acceptableUsePolicy,
|
|
315
|
+
target: "_blank",
|
|
316
|
+
rel: "noopener noreferrer",
|
|
317
|
+
className: "font-medium text-primary hover:underline",
|
|
318
|
+
children: D("devportal.onboarding.acceptableUsePolicy", "Acceptable Use Policy")
|
|
319
|
+
}),
|
|
320
|
+
"."
|
|
321
|
+
] })]
|
|
322
|
+
}), L.agreement && /* @__PURE__ */ v("p", {
|
|
323
|
+
className: "mt-1.5 text-xs text-status-error-text",
|
|
324
|
+
children: L.agreement
|
|
325
|
+
})] }),
|
|
326
|
+
B && /* @__PURE__ */ v("p", {
|
|
327
|
+
role: "alert",
|
|
328
|
+
className: "rounded-md bg-status-error-bg px-3 py-2 text-sm text-status-error-text",
|
|
329
|
+
children: B
|
|
257
330
|
})
|
|
258
331
|
]
|
|
259
332
|
}),
|
|
260
|
-
/* @__PURE__ */
|
|
333
|
+
/* @__PURE__ */ y("div", {
|
|
261
334
|
className: "mt-8 flex items-center justify-between border-t border-border-default pt-6",
|
|
262
|
-
children: [/* @__PURE__ */
|
|
335
|
+
children: [/* @__PURE__ */ v("button", {
|
|
263
336
|
type: "button",
|
|
264
337
|
onClick: $,
|
|
265
338
|
className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
|
|
266
|
-
children:
|
|
267
|
-
}), /* @__PURE__ */
|
|
339
|
+
children: D("devportal.setup.skipForNow", "Skip for now")
|
|
340
|
+
}), /* @__PURE__ */ y("button", {
|
|
268
341
|
type: "button",
|
|
269
|
-
onClick: () => void
|
|
270
|
-
disabled:
|
|
342
|
+
onClick: () => void ke(),
|
|
343
|
+
disabled: H,
|
|
271
344
|
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
345
|
children: [
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
!
|
|
346
|
+
H ? /* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
|
|
347
|
+
D("devportal.setup.createAndContinue", "Create & Continue"),
|
|
348
|
+
!H && /* @__PURE__ */ v(m, { size: 16 })
|
|
276
349
|
]
|
|
277
350
|
})]
|
|
278
351
|
})
|
|
279
352
|
]
|
|
280
353
|
}),
|
|
281
|
-
|
|
354
|
+
k === "app" && /* @__PURE__ */ y("div", {
|
|
282
355
|
className: "rounded-xl border border-border-default bg-surface-raised p-8 shadow-sm",
|
|
283
356
|
children: [
|
|
284
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ y("div", {
|
|
285
358
|
className: "mb-6 flex items-center gap-3",
|
|
286
|
-
children: [/* @__PURE__ */
|
|
359
|
+
children: [/* @__PURE__ */ v("div", {
|
|
287
360
|
className: "flex h-10 w-10 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
|
|
288
|
-
children: /* @__PURE__ */
|
|
289
|
-
}), /* @__PURE__ */
|
|
361
|
+
children: /* @__PURE__ */ v(d, { size: 20 })
|
|
362
|
+
}), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h2", {
|
|
290
363
|
className: "text-lg font-semibold text-text-primary",
|
|
291
|
-
children:
|
|
292
|
-
}), /* @__PURE__ */
|
|
364
|
+
children: D("devportal.setup.appTitle", "Create your first app")
|
|
365
|
+
}), /* @__PURE__ */ v("p", {
|
|
293
366
|
className: "text-sm text-text-secondary",
|
|
294
|
-
children:
|
|
367
|
+
children: D("devportal.setup.appSubtitle", "Register the app you want to publish or integrate.")
|
|
295
368
|
})] })]
|
|
296
369
|
}),
|
|
297
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ y("div", {
|
|
298
371
|
className: "space-y-5",
|
|
299
372
|
children: [
|
|
300
|
-
/* @__PURE__ */
|
|
301
|
-
label:
|
|
302
|
-
value:
|
|
373
|
+
/* @__PURE__ */ v(o, {
|
|
374
|
+
label: D("devportal.applicationName", "Application Name"),
|
|
375
|
+
value: U,
|
|
303
376
|
onChange: (e) => {
|
|
304
|
-
|
|
377
|
+
Ae(e.target.value), (!W || W === b(U)) && je(b(e.target.value)), X((e) => ({
|
|
305
378
|
...e,
|
|
306
379
|
name: void 0
|
|
307
380
|
}));
|
|
308
381
|
},
|
|
309
|
-
placeholder:
|
|
382
|
+
placeholder: D("devportal.applicationNamePlaceholder", "My Awesome App"),
|
|
310
383
|
required: !0,
|
|
311
|
-
error:
|
|
384
|
+
error: Y.name
|
|
312
385
|
}),
|
|
313
|
-
/* @__PURE__ */
|
|
314
|
-
/* @__PURE__ */
|
|
386
|
+
/* @__PURE__ */ y("div", { children: [
|
|
387
|
+
/* @__PURE__ */ y("p", {
|
|
315
388
|
className: "mb-2 text-sm font-medium text-text-primary",
|
|
316
389
|
children: [
|
|
317
|
-
|
|
390
|
+
D("devportal.applicationType", "Application Type"),
|
|
318
391
|
" ",
|
|
319
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ v("span", {
|
|
320
393
|
className: "text-status-error-text",
|
|
321
394
|
children: "*"
|
|
322
395
|
})
|
|
323
396
|
]
|
|
324
397
|
}),
|
|
325
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ y("div", {
|
|
326
399
|
className: "grid grid-cols-3 gap-3",
|
|
327
400
|
children: [
|
|
328
|
-
/* @__PURE__ */
|
|
329
|
-
icon:
|
|
401
|
+
/* @__PURE__ */ v(T, {
|
|
402
|
+
icon: oe,
|
|
330
403
|
title: "App",
|
|
331
404
|
description: "OAuth integration for the platform",
|
|
332
|
-
selected:
|
|
405
|
+
selected: G === "app",
|
|
333
406
|
onClick: () => {
|
|
334
|
-
|
|
407
|
+
K("app"), X((e) => ({
|
|
335
408
|
...e,
|
|
336
409
|
builderType: void 0
|
|
337
410
|
}));
|
|
338
411
|
}
|
|
339
412
|
}),
|
|
340
|
-
/* @__PURE__ */
|
|
341
|
-
icon:
|
|
413
|
+
/* @__PURE__ */ v(T, {
|
|
414
|
+
icon: h,
|
|
342
415
|
title: "Node",
|
|
343
416
|
description: "Custom FluidGrids workflow node",
|
|
344
|
-
selected:
|
|
417
|
+
selected: G === "node",
|
|
345
418
|
onClick: () => {
|
|
346
|
-
|
|
419
|
+
K("node"), X((e) => ({
|
|
347
420
|
...e,
|
|
348
421
|
builderType: void 0
|
|
349
422
|
}));
|
|
350
423
|
}
|
|
351
424
|
}),
|
|
352
|
-
/* @__PURE__ */
|
|
353
|
-
icon:
|
|
425
|
+
/* @__PURE__ */ v(T, {
|
|
426
|
+
icon: se,
|
|
354
427
|
title: "Workflow",
|
|
355
428
|
description: "Reusable automation template",
|
|
356
|
-
selected:
|
|
429
|
+
selected: G === "workflow",
|
|
357
430
|
onClick: () => {
|
|
358
|
-
|
|
431
|
+
K("workflow"), X((e) => ({
|
|
359
432
|
...e,
|
|
360
433
|
builderType: void 0
|
|
361
434
|
}));
|
|
@@ -363,169 +436,241 @@ var x = [
|
|
|
363
436
|
})
|
|
364
437
|
]
|
|
365
438
|
}),
|
|
366
|
-
|
|
439
|
+
Y.builderType && /* @__PURE__ */ v("p", {
|
|
367
440
|
className: "mt-1.5 text-xs text-status-error-text",
|
|
368
|
-
children:
|
|
441
|
+
children: Y.builderType
|
|
369
442
|
})
|
|
370
443
|
] }),
|
|
371
|
-
/* @__PURE__ */
|
|
372
|
-
label:
|
|
373
|
-
value:
|
|
444
|
+
/* @__PURE__ */ v(te, {
|
|
445
|
+
label: D("devportal.category", "Category"),
|
|
446
|
+
value: q,
|
|
374
447
|
onChange: (e) => {
|
|
375
|
-
|
|
448
|
+
Me(e.target.value), X((e) => ({
|
|
376
449
|
...e,
|
|
377
450
|
category: void 0
|
|
378
451
|
}));
|
|
379
452
|
},
|
|
380
|
-
options:
|
|
381
|
-
placeholder:
|
|
453
|
+
options: pe,
|
|
454
|
+
placeholder: D("devportal.selectCategory", "Select category…"),
|
|
382
455
|
required: !0,
|
|
383
|
-
error:
|
|
456
|
+
error: Y.category
|
|
384
457
|
}),
|
|
385
|
-
/* @__PURE__ */
|
|
386
|
-
label:
|
|
387
|
-
value:
|
|
458
|
+
/* @__PURE__ */ v(s, {
|
|
459
|
+
label: D("devportal.shortDescription", "Short Description"),
|
|
460
|
+
value: J,
|
|
388
461
|
onChange: (e) => {
|
|
389
|
-
|
|
462
|
+
Ne(e.target.value), X((e) => ({
|
|
390
463
|
...e,
|
|
391
464
|
shortDescription: void 0
|
|
392
465
|
}));
|
|
393
466
|
},
|
|
394
|
-
placeholder:
|
|
467
|
+
placeholder: D("devportal.shortDescriptionPlaceholder", "A brief description of what your app does"),
|
|
395
468
|
required: !0,
|
|
396
|
-
error:
|
|
469
|
+
error: Y.shortDescription,
|
|
397
470
|
rows: 2,
|
|
398
|
-
hint: `${
|
|
471
|
+
hint: `${J.length}/200`
|
|
472
|
+
}),
|
|
473
|
+
Z && /* @__PURE__ */ v("p", {
|
|
474
|
+
role: "alert",
|
|
475
|
+
className: "rounded-md bg-status-error-bg px-3 py-2 text-sm text-status-error-text",
|
|
476
|
+
children: Z
|
|
399
477
|
})
|
|
400
478
|
]
|
|
401
479
|
}),
|
|
402
|
-
/* @__PURE__ */
|
|
480
|
+
/* @__PURE__ */ y("div", {
|
|
403
481
|
className: "mt-8 flex items-center justify-between border-t border-border-default pt-6",
|
|
404
|
-
children: [/* @__PURE__ */
|
|
482
|
+
children: [/* @__PURE__ */ v("button", {
|
|
405
483
|
type: "button",
|
|
406
484
|
onClick: $,
|
|
407
485
|
className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
|
|
408
|
-
children:
|
|
409
|
-
}), /* @__PURE__ */
|
|
486
|
+
children: D("devportal.setup.skipForNow", "Skip for now")
|
|
487
|
+
}), /* @__PURE__ */ y("button", {
|
|
410
488
|
type: "button",
|
|
411
|
-
onClick: () => void
|
|
489
|
+
onClick: () => void Re(),
|
|
412
490
|
disabled: Q,
|
|
413
491
|
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
492
|
children: [
|
|
415
|
-
Q ? /* @__PURE__ */
|
|
416
|
-
|
|
417
|
-
!Q && /* @__PURE__ */
|
|
493
|
+
Q ? /* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : null,
|
|
494
|
+
D("devportal.setup.createApp", "Create App"),
|
|
495
|
+
!Q && /* @__PURE__ */ v(m, { size: 16 })
|
|
418
496
|
]
|
|
419
497
|
})]
|
|
420
498
|
})
|
|
421
499
|
]
|
|
422
500
|
}),
|
|
423
|
-
|
|
501
|
+
k === "submit" && /* @__PURE__ */ y("div", {
|
|
502
|
+
className: "rounded-xl border border-border-default bg-surface-raised p-8 shadow-sm",
|
|
503
|
+
children: [
|
|
504
|
+
/* @__PURE__ */ y("div", {
|
|
505
|
+
className: "mb-6 flex items-center gap-3",
|
|
506
|
+
children: [/* @__PURE__ */ v("div", {
|
|
507
|
+
className: "flex h-10 w-10 items-center justify-center rounded-lg bg-action-primary-bg/10 text-primary",
|
|
508
|
+
children: /* @__PURE__ */ v(le, { size: 20 })
|
|
509
|
+
}), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h2", {
|
|
510
|
+
className: "text-lg font-semibold text-text-primary",
|
|
511
|
+
children: D("devportal.onboarding.readyTitle", "Get it ready for review")
|
|
512
|
+
}), /* @__PURE__ */ v("p", {
|
|
513
|
+
className: "text-sm text-text-secondary",
|
|
514
|
+
children: D("devportal.onboarding.readySubtitle", "Reviewers check every app before it is listed. Your app page walks you through what they need, then you submit it from there. It stays private until it is approved and you publish it.")
|
|
515
|
+
})] })]
|
|
516
|
+
}),
|
|
517
|
+
/* @__PURE__ */ v("ul", {
|
|
518
|
+
"data-testid": "devportal-setup-review-requirements",
|
|
519
|
+
className: "space-y-2",
|
|
520
|
+
children: ze.map((e) => /* @__PURE__ */ y("li", {
|
|
521
|
+
className: "flex items-start gap-3 rounded-md bg-bg-sunken px-4 py-3 text-sm text-text-primary",
|
|
522
|
+
children: [/* @__PURE__ */ v(p, {
|
|
523
|
+
size: 16,
|
|
524
|
+
className: "mt-0.5 shrink-0 text-text-secondary",
|
|
525
|
+
"aria-hidden": "true"
|
|
526
|
+
}), D(e.key, e.text)]
|
|
527
|
+
}, e.id))
|
|
528
|
+
}),
|
|
529
|
+
/* @__PURE__ */ y("div", {
|
|
530
|
+
className: "mt-8 flex items-center justify-between border-t border-border-default pt-6",
|
|
531
|
+
children: [/* @__PURE__ */ v("button", {
|
|
532
|
+
type: "button",
|
|
533
|
+
onClick: () => A("done"),
|
|
534
|
+
className: "text-sm text-text-secondary hover:text-text-primary transition-colors",
|
|
535
|
+
children: D("devportal.onboarding.submitLater", "Do this later")
|
|
536
|
+
}), /* @__PURE__ */ y("button", {
|
|
537
|
+
type: "button",
|
|
538
|
+
"data-testid": "devportal-setup-finish-app",
|
|
539
|
+
onClick: () => M && O(`/apps/${M}`),
|
|
540
|
+
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 transition-colors",
|
|
541
|
+
children: [D("devportal.onboarding.finishApp", "Finish and submit"), /* @__PURE__ */ v(m, { size: 16 })]
|
|
542
|
+
})]
|
|
543
|
+
})
|
|
544
|
+
]
|
|
545
|
+
}),
|
|
546
|
+
k === "done" && /* @__PURE__ */ y("div", {
|
|
424
547
|
className: "text-center",
|
|
425
548
|
children: [
|
|
426
|
-
/* @__PURE__ */
|
|
549
|
+
/* @__PURE__ */ v("div", {
|
|
427
550
|
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__ */ g
|
|
551
|
+
children: /* @__PURE__ */ v(g, { size: 32 })
|
|
429
552
|
}),
|
|
430
|
-
/* @__PURE__ */
|
|
553
|
+
/* @__PURE__ */ v("h2", {
|
|
431
554
|
className: "text-2xl font-bold text-text-primary",
|
|
432
|
-
children:
|
|
555
|
+
children: D("devportal.setup.doneTitle", "You're all set!")
|
|
433
556
|
}),
|
|
434
|
-
/* @__PURE__ */
|
|
557
|
+
/* @__PURE__ */ v("p", {
|
|
435
558
|
className: "mt-2 text-text-secondary",
|
|
436
|
-
children:
|
|
559
|
+
children: D("devportal.setup.doneSubtitle", "Your organization and first app are ready. Here's what to do next.")
|
|
437
560
|
}),
|
|
438
|
-
/* @__PURE__ */
|
|
561
|
+
/* @__PURE__ */ y("div", {
|
|
439
562
|
className: "mt-8 grid gap-3 sm:grid-cols-2",
|
|
440
563
|
children: [
|
|
441
|
-
|
|
442
|
-
icon: /* @__PURE__ */
|
|
443
|
-
title:
|
|
444
|
-
description:
|
|
445
|
-
onClick: () =>
|
|
564
|
+
M && /* @__PURE__ */ v(E, {
|
|
565
|
+
icon: /* @__PURE__ */ v(d, { size: 20 }),
|
|
566
|
+
title: D("devportal.setup.viewApp", "View your app"),
|
|
567
|
+
description: D("devportal.setup.viewAppDesc", "Configure OAuth, webhooks, and versioning"),
|
|
568
|
+
onClick: () => O(`/apps/${M}`),
|
|
446
569
|
primary: !0
|
|
447
570
|
}),
|
|
448
|
-
/* @__PURE__ */
|
|
449
|
-
icon: /* @__PURE__ */
|
|
450
|
-
title:
|
|
451
|
-
description:
|
|
452
|
-
onClick: () =>
|
|
571
|
+
/* @__PURE__ */ v(E, {
|
|
572
|
+
icon: /* @__PURE__ */ v(ce, { size: 20 }),
|
|
573
|
+
title: D("devportal.setup.generateApiKey", "Generate API key"),
|
|
574
|
+
description: D("devportal.setup.generateApiKeyDesc", "Create credentials to start calling APIs"),
|
|
575
|
+
onClick: () => O("/api-keys/new")
|
|
576
|
+
}),
|
|
577
|
+
/* @__PURE__ */ v(E, {
|
|
578
|
+
icon: /* @__PURE__ */ v(ae, { size: 20 }),
|
|
579
|
+
title: D("devportal.setup.browseDocs", "Browse docs"),
|
|
580
|
+
description: D("devportal.setup.browseDocsDesc", "Learn about publishing, SDKs, and webhooks"),
|
|
581
|
+
onClick: () => O("/docs")
|
|
453
582
|
}),
|
|
454
|
-
/* @__PURE__ */
|
|
455
|
-
icon: /* @__PURE__ */
|
|
456
|
-
title:
|
|
457
|
-
description:
|
|
458
|
-
onClick: () =>
|
|
583
|
+
/* @__PURE__ */ v(E, {
|
|
584
|
+
icon: /* @__PURE__ */ v(h, { size: 20 }),
|
|
585
|
+
title: D("devportal.onboarding.publishConnector", "Publish a connector"),
|
|
586
|
+
description: D("devportal.onboarding.publishConnectorDesc", "List an API-key integration in the Workspaces integrations catalog"),
|
|
587
|
+
onClick: () => window.open(l.publishConnector, "_blank", "noopener,noreferrer")
|
|
459
588
|
}),
|
|
460
|
-
|
|
461
|
-
icon: /* @__PURE__ */
|
|
462
|
-
title:
|
|
463
|
-
description:
|
|
464
|
-
onClick: () =>
|
|
589
|
+
j && /* @__PURE__ */ v(E, {
|
|
590
|
+
icon: /* @__PURE__ */ v(f, { size: 20 }),
|
|
591
|
+
title: D("devportal.setup.inviteTeam", "Invite your team"),
|
|
592
|
+
description: D("devportal.setup.inviteTeamDesc", "Add members to collaborate on your apps"),
|
|
593
|
+
onClick: () => O(`/organizations/${j}/members`)
|
|
465
594
|
})
|
|
466
595
|
]
|
|
467
596
|
}),
|
|
468
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ y("button", {
|
|
469
598
|
type: "button",
|
|
470
|
-
onClick: () =>
|
|
599
|
+
onClick: () => O("/"),
|
|
471
600
|
className: "mt-8 inline-flex items-center gap-2 text-sm text-text-secondary hover:text-text-primary transition-colors",
|
|
472
|
-
children: [
|
|
601
|
+
children: [D("devportal.setup.goToDashboard", "Go to dashboard"), /* @__PURE__ */ v(ie, { size: 14 })]
|
|
473
602
|
})
|
|
474
603
|
]
|
|
475
604
|
})
|
|
476
605
|
]
|
|
477
606
|
})]
|
|
478
607
|
});
|
|
479
|
-
},
|
|
608
|
+
}, he = ({ tr: e }) => /* @__PURE__ */ y("section", {
|
|
609
|
+
"aria-labelledby": "devportal-setup-eligibility-title",
|
|
610
|
+
"data-testid": "devportal-setup-eligibility",
|
|
611
|
+
className: "rounded-lg border border-border-subtle bg-bg-sunken p-4",
|
|
612
|
+
children: [/* @__PURE__ */ y("h3", {
|
|
613
|
+
id: "devportal-setup-eligibility-title",
|
|
614
|
+
className: "flex items-center gap-2 text-sm font-semibold text-text-primary",
|
|
615
|
+
children: [/* @__PURE__ */ v(_, {
|
|
616
|
+
size: 16,
|
|
617
|
+
className: "text-primary",
|
|
618
|
+
"aria-hidden": "true"
|
|
619
|
+
}), e("devportal.onboarding.eligibilityTitle", "Who can register")]
|
|
620
|
+
}), /* @__PURE__ */ v("ul", {
|
|
621
|
+
className: "mt-2 list-disc space-y-1 pl-5 text-sm text-text-secondary",
|
|
622
|
+
children: c.map((t) => /* @__PURE__ */ v("li", { children: e(t.key, t.text) }, t.id))
|
|
623
|
+
})]
|
|
624
|
+
}), T = ({ icon: e, title: n, description: r, selected: i, onClick: a }) => /* @__PURE__ */ y("button", {
|
|
480
625
|
type: "button",
|
|
481
626
|
onClick: a,
|
|
482
627
|
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
628
|
children: [
|
|
484
|
-
i && /* @__PURE__ */
|
|
629
|
+
i && /* @__PURE__ */ v("span", {
|
|
485
630
|
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__ */
|
|
631
|
+
children: /* @__PURE__ */ v(p, { size: 10 })
|
|
487
632
|
}),
|
|
488
|
-
/* @__PURE__ */
|
|
633
|
+
/* @__PURE__ */ v("div", {
|
|
489
634
|
className: "flex h-8 w-8 items-center justify-center rounded-lg bg-bg-sunken",
|
|
490
|
-
children: /* @__PURE__ */
|
|
635
|
+
children: /* @__PURE__ */ v(e, {
|
|
491
636
|
size: 18,
|
|
492
637
|
className: "text-text-primary"
|
|
493
638
|
})
|
|
494
639
|
}),
|
|
495
|
-
/* @__PURE__ */
|
|
640
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
496
641
|
className: "text-sm font-semibold text-text-primary",
|
|
497
642
|
children: n
|
|
498
|
-
}), /* @__PURE__ */
|
|
643
|
+
}), /* @__PURE__ */ v("p", {
|
|
499
644
|
className: "mt-0.5 text-xs text-text-secondary",
|
|
500
645
|
children: r
|
|
501
646
|
})] })
|
|
502
647
|
]
|
|
503
|
-
}),
|
|
648
|
+
}), E = ({ icon: e, title: t, description: n, onClick: r, primary: i }) => /* @__PURE__ */ y("button", {
|
|
504
649
|
type: "button",
|
|
505
650
|
onClick: r,
|
|
506
651
|
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
652
|
children: [
|
|
508
|
-
/* @__PURE__ */
|
|
653
|
+
/* @__PURE__ */ v("div", {
|
|
509
654
|
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
655
|
children: e
|
|
511
656
|
}),
|
|
512
|
-
/* @__PURE__ */
|
|
657
|
+
/* @__PURE__ */ y("div", {
|
|
513
658
|
className: "min-w-0 flex-1",
|
|
514
|
-
children: [/* @__PURE__ */
|
|
659
|
+
children: [/* @__PURE__ */ v("p", {
|
|
515
660
|
className: "font-semibold text-text-primary",
|
|
516
661
|
children: t
|
|
517
|
-
}), /* @__PURE__ */
|
|
662
|
+
}), /* @__PURE__ */ v("p", {
|
|
518
663
|
className: "mt-0.5 text-sm text-text-secondary",
|
|
519
664
|
children: n
|
|
520
665
|
})]
|
|
521
666
|
}),
|
|
522
|
-
/* @__PURE__ */
|
|
667
|
+
/* @__PURE__ */ v(m, {
|
|
523
668
|
size: 16,
|
|
524
669
|
className: "mt-0.5 flex-shrink-0 text-text-secondary"
|
|
525
670
|
})
|
|
526
671
|
]
|
|
527
672
|
});
|
|
528
673
|
//#endregion
|
|
529
|
-
export {
|
|
674
|
+
export { w as SetupPage };
|
|
530
675
|
|
|
531
676
|
//# sourceMappingURL=SetupPage.js.map
|