@burdenoff/microfe-store 2026.801.1 → 2026.819.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.
Files changed (69) hide show
  1. package/dist/StoreAdminRoutes.js +27 -27
  2. package/dist/StoreRoot.js +78 -45
  3. package/dist/StoreRoot.js.map +1 -1
  4. package/dist/StoreRoutes.js +163 -85
  5. package/dist/StoreRoutes.js.map +1 -1
  6. package/dist/components/InstallAppModal.js +211 -137
  7. package/dist/components/InstallAppModal.js.map +1 -1
  8. package/dist/components/sourcing/SourcingConfirmationDialog.d.ts +15 -0
  9. package/dist/components/sourcing/SourcingConfirmationDialog.js +61 -0
  10. package/dist/components/sourcing/SourcingConfirmationDialog.js.map +1 -0
  11. package/dist/components/sourcing/SourcingUi.d.ts +51 -0
  12. package/dist/components/sourcing/SourcingUi.js +176 -0
  13. package/dist/components/sourcing/SourcingUi.js.map +1 -0
  14. package/dist/generated/global-operations.d.ts +713 -0
  15. package/dist/generated/global-operations.js +557 -175
  16. package/dist/generated/global-operations.js.map +1 -1
  17. package/dist/generated/global-types.d.ts +2158 -2159
  18. package/dist/generated/global-types.js +8 -2
  19. package/dist/generated/global-types.js.map +1 -1
  20. package/dist/hooks/useBackendCart.js +17 -17
  21. package/dist/hooks/useInstallations.js +32 -32
  22. package/dist/hooks/useOrders.js +7 -7
  23. package/dist/hooks/useSourcing.d.ts +319 -0
  24. package/dist/hooks/useSourcing.js +87 -0
  25. package/dist/hooks/useSourcing.js.map +1 -0
  26. package/dist/hooks/useStoreGraphQL.js +163 -163
  27. package/dist/index.js +12 -12
  28. package/dist/pages/AdminDashboardPage.js +132 -132
  29. package/dist/pages/AdminReviewModerationPage.js +55 -55
  30. package/dist/pages/AdminStoresPage.js +95 -95
  31. package/dist/pages/AdminSubmissionsQueuePage.js +297 -297
  32. package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
  33. package/dist/pages/AppDetailPage.js +65 -65
  34. package/dist/pages/AppSettingsPage.js +32 -32
  35. package/dist/pages/CartPage.js +66 -66
  36. package/dist/pages/CreateSourcingRequestPage.d.ts +3 -0
  37. package/dist/pages/CreateSourcingRequestPage.js +439 -0
  38. package/dist/pages/CreateSourcingRequestPage.js.map +1 -0
  39. package/dist/pages/InstalledAppsPage.js +15 -15
  40. package/dist/pages/InstalledAppsPage.js.map +1 -1
  41. package/dist/pages/MarketplaceHomePage.js +384 -384
  42. package/dist/pages/MarketplaceHomePage.js.map +1 -1
  43. package/dist/pages/MyLicensesPage.js +39 -39
  44. package/dist/pages/OrderConfirmationPage.js +57 -57
  45. package/dist/pages/OrdersPage.js +3 -3
  46. package/dist/pages/OrdersPage.js.map +1 -1
  47. package/dist/pages/ProductDetailPage.js +6 -6
  48. package/dist/pages/SellerSourcingOffersPage.d.ts +3 -0
  49. package/dist/pages/SellerSourcingOffersPage.js +284 -0
  50. package/dist/pages/SellerSourcingOffersPage.js.map +1 -0
  51. package/dist/pages/SellerSourcingOpportunitiesPage.d.ts +3 -0
  52. package/dist/pages/SellerSourcingOpportunitiesPage.js +272 -0
  53. package/dist/pages/SellerSourcingOpportunitiesPage.js.map +1 -0
  54. package/dist/pages/SellerSourcingOpportunityDetailPage.d.ts +3 -0
  55. package/dist/pages/SellerSourcingOpportunityDetailPage.js +465 -0
  56. package/dist/pages/SellerSourcingOpportunityDetailPage.js.map +1 -0
  57. package/dist/pages/SourcingRequestDetailPage.d.ts +3 -0
  58. package/dist/pages/SourcingRequestDetailPage.js +447 -0
  59. package/dist/pages/SourcingRequestDetailPage.js.map +1 -0
  60. package/dist/pages/SourcingRequestsPage.d.ts +3 -0
  61. package/dist/pages/SourcingRequestsPage.js +272 -0
  62. package/dist/pages/SourcingRequestsPage.js.map +1 -0
  63. package/dist/providers/SourcingAccessProvider.d.ts +21 -0
  64. package/dist/providers/SourcingAccessProvider.js +95 -0
  65. package/dist/providers/SourcingAccessProvider.js.map +1 -0
  66. package/dist/translations/en.d.ts +3 -0
  67. package/dist/translations/en.js +3 -0
  68. package/dist/translations/en.js.map +1 -1
  69. package/package.json +2 -2
@@ -1,83 +1,83 @@
1
1
  import { useStore as e } from "../providers/StoreProvider.js";
2
2
  import { useInstallation as t } from "../hooks/useInstallations.js";
3
- import { useI18n as n } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
- import { ArrowLeft as r, ExternalLink as i, Info as a, Settings as o } from "lucide-react";
5
- import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
6
- import { useNavigate as u, useParams as d } from "react-router";
3
+ import { useNavigate as n, useParams as r } from "react-router";
4
+ import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
5
+ import { ArrowLeft as a, ExternalLink as o, Info as s, Settings as c } from "lucide-react";
6
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
7
7
  import { EmphasisPanel as f, IllustratedEmptyState as p, NextSteps as m, PagePurpose as h, ShowMore as g } from "@burdenoff/fe-libs/ui";
8
8
  //#region src/pages/AppDetailPage.tsx
9
9
  var _ = () => {
10
- let _ = u(), { basePath: v } = e(), { installationId: y } = d(), { installation: b, loading: x, error: S } = t(y), { t: C } = n();
11
- return /* @__PURE__ */ l("div", {
10
+ let _ = n(), { basePath: v } = e(), { installationId: y } = r(), { installation: b, loading: x, error: S } = t(y), { t: C } = i();
11
+ return /* @__PURE__ */ d("div", {
12
12
  className: "flex h-full flex-col",
13
- children: [/* @__PURE__ */ c("header", {
13
+ children: [/* @__PURE__ */ u("header", {
14
14
  className: "border-b border-border-seam bg-bg-surface px-6 py-4",
15
- children: /* @__PURE__ */ l("div", {
15
+ children: /* @__PURE__ */ d("div", {
16
16
  className: "mx-auto flex max-w-4xl items-center gap-3",
17
- children: [/* @__PURE__ */ c("button", {
17
+ children: [/* @__PURE__ */ u("button", {
18
18
  type: "button",
19
19
  onClick: () => _(-1),
20
20
  "aria-label": "Go back",
21
21
  className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary",
22
- children: /* @__PURE__ */ c(r, { className: "size-5" })
23
- }), /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("h1", {
22
+ children: /* @__PURE__ */ u(a, { className: "size-5" })
23
+ }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
24
24
  className: "text-2xl font-bold text-text-primary",
25
25
  children: C("pages.appDetail.title", { defaultValue: "Installed App Details" })
26
- }), /* @__PURE__ */ c("p", {
26
+ }), /* @__PURE__ */ u("p", {
27
27
  className: "text-sm text-text-muted",
28
28
  children: C("pages.appDetail.subtitle", { defaultValue: "Inspect installation status and metadata" })
29
29
  })] })]
30
30
  })
31
- }), /* @__PURE__ */ c("main", {
31
+ }), /* @__PURE__ */ u("main", {
32
32
  className: "flex-1 overflow-y-auto p-6",
33
- children: /* @__PURE__ */ l("div", {
33
+ children: /* @__PURE__ */ d("div", {
34
34
  className: "mx-auto max-w-4xl",
35
- children: [/* @__PURE__ */ c(h, {
35
+ children: [/* @__PURE__ */ u(h, {
36
36
  className: "mb-4",
37
37
  children: "The full record of one app installed into a workspace — its status, version, who installed it and when, plus its runtime metadata. Come here to confirm an app is healthy, dig into a failed install, or jump to its configuration before troubleshooting."
38
- }), x ? /* @__PURE__ */ c("p", {
38
+ }), x ? /* @__PURE__ */ u("p", {
39
39
  role: "status",
40
40
  className: "text-sm text-text-muted",
41
41
  children: "Loading installation…"
42
- }) : S ? /* @__PURE__ */ c("p", {
42
+ }) : S ? /* @__PURE__ */ u("p", {
43
43
  role: "alert",
44
44
  className: "text-sm text-status-error-text",
45
45
  children: S.message
46
- }) : b ? /* @__PURE__ */ c(s, { children: (() => {
47
- let e = b.manifest, t = e?.type, n = t === "INTEGRATION" || t === "API_INTEGRATION", u = e?.installationId, d = e?.name ?? (e?.slug)?.split("-").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") ?? b.productId;
48
- return /* @__PURE__ */ l(s, { children: [n ? /* @__PURE__ */ l("div", {
46
+ }) : b ? /* @__PURE__ */ u(l, { children: (() => {
47
+ let e = b.manifest, t = e?.type, n = t === "INTEGRATION" || t === "API_INTEGRATION", r = e?.installationId, i = e?.name ?? (e?.slug)?.split("-").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") ?? b.productId;
48
+ return /* @__PURE__ */ d(l, { children: [n ? /* @__PURE__ */ d("div", {
49
49
  className: "mb-4 flex items-start gap-3 rounded-xl border border-border-default bg-bg-surface p-4",
50
- children: [/* @__PURE__ */ c(a, { className: "mt-0.5 size-5 shrink-0 text-text-muted" }), /* @__PURE__ */ l("div", {
50
+ children: [/* @__PURE__ */ u(s, { className: "mt-0.5 size-5 shrink-0 text-text-muted" }), /* @__PURE__ */ d("div", {
51
51
  className: "text-sm",
52
52
  children: [
53
- /* @__PURE__ */ c("p", {
53
+ /* @__PURE__ */ u("p", {
54
54
  className: "font-medium text-text-primary",
55
55
  children: "Configuration is managed on the third-party's side"
56
56
  }),
57
- /* @__PURE__ */ l("p", {
57
+ /* @__PURE__ */ d("p", {
58
58
  className: "mt-1 text-text-muted",
59
59
  children: [
60
- /* @__PURE__ */ c("strong", { children: d }),
60
+ /* @__PURE__ */ u("strong", { children: i }),
61
61
  " is an external integration connected via OAuth. All settings (webhooks, scopes, data mapping) are configured in the third-party's dashboard — not here. To revoke access, use",
62
62
  " ",
63
- /* @__PURE__ */ c("strong", { children: "Uninstall" }),
63
+ /* @__PURE__ */ u("strong", { children: "Uninstall" }),
64
64
  "."
65
65
  ]
66
66
  }),
67
- u && /* @__PURE__ */ l("p", {
67
+ r && /* @__PURE__ */ d("p", {
68
68
  className: "mt-2 rounded-lg bg-bg-sunken px-3 py-2 font-mono text-xs text-text-muted",
69
69
  children: [
70
70
  "Installation ID:",
71
71
  " ",
72
- /* @__PURE__ */ c("span", {
72
+ /* @__PURE__ */ u("span", {
73
73
  className: "select-all text-text-primary",
74
- children: u
74
+ children: r
75
75
  })
76
76
  ]
77
77
  })
78
78
  ]
79
79
  })]
80
- }) : /* @__PURE__ */ c(m, {
80
+ }) : /* @__PURE__ */ u(m, {
81
81
  className: "mb-4",
82
82
  storageKey: "store-app-detail",
83
83
  steps: [
@@ -85,7 +85,7 @@ var _ = () => {
85
85
  id: "configure",
86
86
  label: "Manage configuration",
87
87
  description: "Adjust this installation's settings for the workspace.",
88
- icon: /* @__PURE__ */ c(o, { className: "size-4" }),
88
+ icon: /* @__PURE__ */ u(c, { className: "size-4" }),
89
89
  onClick: () => _(`${v}/installed/${b.id}/settings`)
90
90
  },
91
91
  {
@@ -101,44 +101,44 @@ var _ = () => {
101
101
  onClick: () => _(`${v}/installed`)
102
102
  }
103
103
  ]
104
- }), /* @__PURE__ */ l(f, { children: [
105
- /* @__PURE__ */ l("div", {
104
+ }), /* @__PURE__ */ d(f, { children: [
105
+ /* @__PURE__ */ d("div", {
106
106
  className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
107
- children: [/* @__PURE__ */ l("div", { children: [
108
- /* @__PURE__ */ c("h2", {
107
+ children: [/* @__PURE__ */ d("div", { children: [
108
+ /* @__PURE__ */ u("h2", {
109
109
  className: "text-lg font-semibold text-text-primary",
110
- children: d
110
+ children: i
111
111
  }),
112
- /* @__PURE__ */ l("p", {
112
+ /* @__PURE__ */ d("p", {
113
113
  className: "mt-1 text-sm text-text-muted",
114
114
  children: ["Workspace: ", b.workspaceName ?? b.workspaceId]
115
115
  }),
116
- t && /* @__PURE__ */ c("span", {
116
+ t && /* @__PURE__ */ u("span", {
117
117
  className: "mt-1 inline-block rounded bg-bg-sunken px-2 py-0.5 text-xs font-medium uppercase tracking-wide text-text-muted",
118
118
  children: t
119
119
  })
120
- ] }), /* @__PURE__ */ c("span", {
120
+ ] }), /* @__PURE__ */ u("span", {
121
121
  className: "inline-flex w-fit rounded-full bg-bg-sunken px-3 py-1 text-xs font-medium text-text-primary",
122
122
  children: b.status
123
123
  })]
124
124
  }),
125
- /* @__PURE__ */ l("div", {
125
+ /* @__PURE__ */ d("div", {
126
126
  className: "mt-4 grid gap-4 md:grid-cols-2",
127
- children: [/* @__PURE__ */ l("div", {
127
+ children: [/* @__PURE__ */ d("div", {
128
128
  className: "rounded-lg bg-bg-sunken p-4 text-sm text-text-muted",
129
129
  children: [
130
- /* @__PURE__ */ l("p", { children: [
131
- /* @__PURE__ */ c("span", {
130
+ /* @__PURE__ */ d("p", { children: [
131
+ /* @__PURE__ */ u("span", {
132
132
  className: "font-medium text-text-primary",
133
133
  children: "Version:"
134
134
  }),
135
135
  " ",
136
136
  b.version ?? "Not provided"
137
137
  ] }),
138
- /* @__PURE__ */ l("p", {
138
+ /* @__PURE__ */ d("p", {
139
139
  className: "mt-2",
140
140
  children: [
141
- /* @__PURE__ */ c("span", {
141
+ /* @__PURE__ */ u("span", {
142
142
  className: "font-medium text-text-primary",
143
143
  children: "Installed at:"
144
144
  }),
@@ -146,10 +146,10 @@ var _ = () => {
146
146
  new Date(b.installedAt).toLocaleString()
147
147
  ]
148
148
  }),
149
- /* @__PURE__ */ l("p", {
149
+ /* @__PURE__ */ d("p", {
150
150
  className: "mt-2",
151
151
  children: [
152
- /* @__PURE__ */ c("span", {
152
+ /* @__PURE__ */ u("span", {
153
153
  className: "font-medium text-text-primary",
154
154
  children: "Updated at:"
155
155
  }),
@@ -157,10 +157,10 @@ var _ = () => {
157
157
  new Date(b.updatedAt).toLocaleString()
158
158
  ]
159
159
  }),
160
- /* @__PURE__ */ l("p", {
160
+ /* @__PURE__ */ d("p", {
161
161
  className: "mt-2",
162
162
  children: [
163
- /* @__PURE__ */ c("span", {
163
+ /* @__PURE__ */ u("span", {
164
164
  className: "font-medium text-text-primary",
165
165
  children: "Workspace ID:"
166
166
  }),
@@ -168,10 +168,10 @@ var _ = () => {
168
168
  b.workspaceId
169
169
  ]
170
170
  }),
171
- /* @__PURE__ */ l("p", {
171
+ /* @__PURE__ */ d("p", {
172
172
  className: "mt-2",
173
173
  children: [
174
- /* @__PURE__ */ c("span", {
174
+ /* @__PURE__ */ u("span", {
175
175
  className: "font-medium text-text-primary",
176
176
  children: "Organization ID:"
177
177
  }),
@@ -179,10 +179,10 @@ var _ = () => {
179
179
  b.organizationId ?? "N/A"
180
180
  ]
181
181
  }),
182
- /* @__PURE__ */ l("p", {
182
+ /* @__PURE__ */ d("p", {
183
183
  className: "mt-2",
184
184
  children: [
185
- /* @__PURE__ */ c("span", {
185
+ /* @__PURE__ */ u("span", {
186
186
  className: "font-medium text-text-primary",
187
187
  children: "Installed by:"
188
188
  }),
@@ -191,16 +191,16 @@ var _ = () => {
191
191
  ]
192
192
  })
193
193
  ]
194
- }), /* @__PURE__ */ l("div", {
194
+ }), /* @__PURE__ */ d("div", {
195
195
  className: "rounded-lg bg-bg-sunken p-4 text-sm text-text-muted",
196
- children: [/* @__PURE__ */ c("p", {
196
+ children: [/* @__PURE__ */ u("p", {
197
197
  className: "font-medium text-text-primary",
198
198
  children: "Runtime metadata"
199
- }), /* @__PURE__ */ c(g, {
199
+ }), /* @__PURE__ */ u(g, {
200
200
  collapsedHeight: 120,
201
201
  label: "metadata",
202
202
  className: "mt-3",
203
- children: /* @__PURE__ */ c("pre", {
203
+ children: /* @__PURE__ */ u("pre", {
204
204
  className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-surface p-3 text-xs text-text-muted",
205
205
  children: JSON.stringify({
206
206
  metadata: b.metadata,
@@ -212,31 +212,31 @@ var _ = () => {
212
212
  })]
213
213
  })]
214
214
  }),
215
- /* @__PURE__ */ l("div", {
215
+ /* @__PURE__ */ d("div", {
216
216
  className: "mt-4 flex flex-wrap gap-3",
217
- children: [n ? /* @__PURE__ */ l("button", {
217
+ children: [n ? /* @__PURE__ */ d("button", {
218
218
  type: "button",
219
219
  onClick: () => _(`${v}/installed`),
220
220
  className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
221
- children: [/* @__PURE__ */ c(r, { className: "size-4" }), "Back to Installed Apps"]
222
- }) : /* @__PURE__ */ l("button", {
221
+ children: [/* @__PURE__ */ u(a, { className: "size-4" }), "Back to Installed Apps"]
222
+ }) : /* @__PURE__ */ d("button", {
223
223
  type: "button",
224
224
  onClick: () => _(`${v}/installed/${b.id}/settings`),
225
225
  className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
226
- children: [/* @__PURE__ */ c(o, { className: "size-4" }), C("pages.appDetail.manageConfig", { defaultValue: "Manage Configuration" })]
227
- }), /* @__PURE__ */ l("button", {
226
+ children: [/* @__PURE__ */ u(c, { className: "size-4" }), C("pages.appDetail.manageConfig", { defaultValue: "Manage Configuration" })]
227
+ }), /* @__PURE__ */ d("button", {
228
228
  type: "button",
229
229
  onClick: () => _(`${v}/marketplace/product/${b.productId}`),
230
230
  className: "inline-flex cursor-pointer items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",
231
- children: [/* @__PURE__ */ c(i, { className: "size-4" }), C("pages.appDetail.viewProduct", { defaultValue: "View Product" })]
231
+ children: [/* @__PURE__ */ u(o, { className: "size-4" }), C("pages.appDetail.viewProduct", { defaultValue: "View Product" })]
232
232
  })]
233
233
  })
234
234
  ] })] });
235
- })() }) : /* @__PURE__ */ c(p, {
235
+ })() }) : /* @__PURE__ */ u(p, {
236
236
  illustration: "empty-generic",
237
237
  title: "Installation not found",
238
238
  description: "This installation may have been uninstalled or never existed. Head back to your installed apps to find another.",
239
- action: /* @__PURE__ */ c("button", {
239
+ action: /* @__PURE__ */ u("button", {
240
240
  type: "button",
241
241
  onClick: () => _(`${v}/installed`),
242
242
  className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",
@@ -1,77 +1,77 @@
1
1
  import { useStore as e } from "../providers/StoreProvider.js";
2
2
  import { useInstallation as t } from "../hooks/useInstallations.js";
3
- import { useI18n as n } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
- import { ArrowLeft as r, Settings as i } from "lucide-react";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
- import { useNavigate as s, useParams as c } from "react-router";
3
+ import { useNavigate as n, useParams as r } from "react-router";
4
+ import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
5
+ import { ArrowLeft as a, Settings as o } from "lucide-react";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
7
  import { EmphasisPanel as l, IllustratedEmptyState as u, PagePurpose as d, ShowMore as f } from "@burdenoff/fe-libs/ui";
8
8
  //#region src/pages/AppSettingsPage.tsx
9
9
  var p = () => {
10
- let p = s(), { basePath: m } = e(), { installationId: h } = c(), { installation: g, loading: _, error: v } = t(h), { t: y } = n();
11
- return /* @__PURE__ */ o("div", {
10
+ let p = n(), { basePath: m } = e(), { installationId: h } = r(), { installation: g, loading: _, error: v } = t(h), { t: y } = i();
11
+ return /* @__PURE__ */ c("div", {
12
12
  className: "flex h-full flex-col",
13
- children: [/* @__PURE__ */ a("header", {
13
+ children: [/* @__PURE__ */ s("header", {
14
14
  className: "border-b border-border-seam bg-bg-surface px-6 py-4",
15
- children: /* @__PURE__ */ o("div", {
15
+ children: /* @__PURE__ */ c("div", {
16
16
  className: "mx-auto flex max-w-4xl items-center gap-3",
17
- children: [/* @__PURE__ */ a("button", {
17
+ children: [/* @__PURE__ */ s("button", {
18
18
  type: "button",
19
19
  onClick: () => p(-1),
20
20
  "aria-label": "Go back",
21
21
  className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary",
22
- children: /* @__PURE__ */ a(r, { className: "size-5" })
23
- }), /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
22
+ children: /* @__PURE__ */ s(a, { className: "size-5" })
23
+ }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
24
24
  className: "text-2xl font-bold text-text-primary",
25
25
  children: y("pages.appSettings.title", { defaultValue: "App Settings" })
26
- }), /* @__PURE__ */ a("p", {
26
+ }), /* @__PURE__ */ s("p", {
27
27
  className: "text-sm text-text-muted",
28
28
  children: y("pages.appSettings.subtitle", { defaultValue: "Review current installation configuration" })
29
29
  })] })]
30
30
  })
31
- }), /* @__PURE__ */ a("main", {
31
+ }), /* @__PURE__ */ s("main", {
32
32
  className: "flex-1 overflow-y-auto p-6",
33
- children: /* @__PURE__ */ o("div", {
33
+ children: /* @__PURE__ */ c("div", {
34
34
  className: "mx-auto max-w-4xl",
35
- children: [/* @__PURE__ */ a(d, {
35
+ children: [/* @__PURE__ */ s(d, {
36
36
  className: "mb-4",
37
37
  children: "A read-only snapshot of how this app is configured in the workspace — its manifest, runtime metadata and context. Use it to verify what an installation is actually running (handy when an app behaves unexpectedly) before changing anything inside the product itself."
38
- }), _ ? /* @__PURE__ */ a("p", {
38
+ }), _ ? /* @__PURE__ */ s("p", {
39
39
  role: "status",
40
40
  className: "text-sm text-text-muted",
41
41
  children: "Loading settings…"
42
- }) : v ? /* @__PURE__ */ a("p", {
42
+ }) : v ? /* @__PURE__ */ s("p", {
43
43
  role: "alert",
44
44
  className: "text-sm text-status-error-text",
45
45
  children: v.message
46
- }) : g ? /* @__PURE__ */ o(l, {
46
+ }) : g ? /* @__PURE__ */ c(l, {
47
47
  className: "space-y-4",
48
48
  children: [
49
- /* @__PURE__ */ o("div", {
49
+ /* @__PURE__ */ c("div", {
50
50
  className: "flex items-center gap-2",
51
- children: [/* @__PURE__ */ a(i, { className: "size-5 text-text-primary" }), /* @__PURE__ */ a("h2", {
51
+ children: [/* @__PURE__ */ s(o, { className: "size-5 text-text-primary" }), /* @__PURE__ */ s("h2", {
52
52
  className: "text-lg font-semibold text-text-primary",
53
53
  children: y("pages.appSettings.configSnapshot", { defaultValue: "Configuration snapshot" })
54
54
  })]
55
55
  }),
56
- /* @__PURE__ */ a("p", {
56
+ /* @__PURE__ */ s("p", {
57
57
  className: "text-sm text-text-muted",
58
58
  children: y("pages.appSettings.configDescription", { defaultValue: "Store-level configuration for this installation is read-only here." })
59
59
  }),
60
- /* @__PURE__ */ a(f, {
60
+ /* @__PURE__ */ s(f, {
61
61
  collapsedHeight: 140,
62
62
  label: "configuration details",
63
- children: /* @__PURE__ */ o("div", {
63
+ children: /* @__PURE__ */ c("div", {
64
64
  className: "grid gap-4 lg:grid-cols-2",
65
- children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
65
+ children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
66
66
  className: "mb-2 text-sm font-medium text-text-primary",
67
67
  children: "Manifest"
68
- }), /* @__PURE__ */ a("pre", {
68
+ }), /* @__PURE__ */ s("pre", {
69
69
  className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-sunken p-3 text-xs text-text-muted",
70
70
  children: JSON.stringify(g.manifest ?? {}, null, 2)
71
- })] }), /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
71
+ })] }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
72
72
  className: "mb-2 text-sm font-medium text-text-primary",
73
73
  children: "Metadata & Context"
74
- }), /* @__PURE__ */ a("pre", {
74
+ }), /* @__PURE__ */ s("pre", {
75
75
  className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-sunken p-3 text-xs text-text-muted",
76
76
  children: JSON.stringify({
77
77
  metadata: g.metadata ?? {},
@@ -82,14 +82,14 @@ var p = () => {
82
82
  })] })]
83
83
  })
84
84
  }),
85
- /* @__PURE__ */ o("div", {
85
+ /* @__PURE__ */ c("div", {
86
86
  className: "flex flex-wrap gap-3",
87
- children: [/* @__PURE__ */ a("button", {
87
+ children: [/* @__PURE__ */ s("button", {
88
88
  type: "button",
89
89
  onClick: () => p(`${m}/installed/${g.id}`),
90
90
  className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
91
91
  children: y("pages.appSettings.viewInstallation", { defaultValue: "View Installation" })
92
- }), /* @__PURE__ */ a("button", {
92
+ }), /* @__PURE__ */ s("button", {
93
93
  type: "button",
94
94
  onClick: () => p(`${m}/marketplace/product/${g.productId}`),
95
95
  className: "inline-flex cursor-pointer items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-semibold text-action-primary-text hover:opacity-90",
@@ -97,11 +97,11 @@ var p = () => {
97
97
  })]
98
98
  })
99
99
  ]
100
- }) : /* @__PURE__ */ a(u, {
100
+ }) : /* @__PURE__ */ s(u, {
101
101
  illustration: "empty-generic",
102
102
  title: "Installation not found",
103
103
  description: "There's no configuration to show — this installation may have been removed. Return to your installed apps to pick another.",
104
- action: /* @__PURE__ */ a("button", {
104
+ action: /* @__PURE__ */ s("button", {
105
105
  type: "button",
106
106
  onClick: () => p(`${m}/installed`),
107
107
  className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",