@betterportal/config-manager 10.6.0 → 10.6.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 (19) hide show
  1. package/lib/.bsb/clients/service-betterportal-config-manager.d.ts +1 -1
  2. package/lib/.bsb/clients/service-betterportal-config-manager.js +1 -1
  3. package/lib/bp-contracts/org.betterportal.config-manager.json +273 -93
  4. package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts +96 -48
  5. package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -1
  6. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.d.ts.map +1 -1
  7. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js +166 -17
  8. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js.map +1 -1
  9. package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts +71 -16
  10. package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts.map +1 -1
  11. package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js +88 -24
  12. package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js.map +1 -1
  13. package/lib/plugins/service-betterportal-config-manager/previewEnvironments.d.ts +1 -2
  14. package/lib/plugins/service-betterportal-config-manager/previewEnvironments.d.ts.map +1 -1
  15. package/lib/plugins/service-betterportal-config-manager/previewEnvironments.js +30 -55
  16. package/lib/plugins/service-betterportal-config-manager/previewEnvironments.js.map +1 -1
  17. package/lib/schemas/service-betterportal-config-manager.json +1 -1
  18. package/lib/schemas/service-betterportal-config-manager.plugin.json +1 -1
  19. package/package.json +7 -7
@@ -5,7 +5,6 @@ function pageScript() {
5
5
  return js(`(() => {
6
6
  const tenant = document.getElementById("bp-preview-source-tenant");
7
7
  const app = document.getElementById("bp-preview-source-app");
8
- const services = document.getElementById("bp-preview-service-ids");
9
8
  const syncApps = () => {
10
9
  if (!tenant || !app) return;
11
10
  [...app.options].forEach((option) => {
@@ -13,13 +12,7 @@ function pageScript() {
13
12
  });
14
13
  if (app.selectedOptions[0]?.hidden) app.value = "";
15
14
  };
16
- const syncServices = () => {
17
- const option = app?.selectedOptions[0];
18
- if (!services || !option?.value) return;
19
- services.value = option.dataset.requiredServices || option.dataset.services || "";
20
- };
21
15
  tenant?.addEventListener("change", syncApps);
22
- app?.addEventListener("change", syncServices);
23
16
  syncApps();
24
17
 
25
18
  document.querySelectorAll("[data-bp-copy-target]").forEach((button) => {
@@ -58,10 +51,62 @@ function pageScript() {
58
51
  const clear = await crypto.subtle.decrypt({ name: "AES-GCM", iv: decode64(iv), additionalData: aad(scope, path), tagLength: 128 }, cryptoKey, decode64(encrypted));
59
52
  return new TextDecoder().decode(clear);
60
53
  };
54
+ const hasOwn = (value, key) => Object.prototype.hasOwnProperty.call(value || {}, key);
55
+ const readJson = async (response, label) => {
56
+ const type = response.headers.get("content-type") || "";
57
+ if (type.includes("application/json")) return response.json();
58
+ throw new Error(label + " returned HTTP " + response.status);
59
+ };
60
+ const bpHeaders = () => {
61
+ try {
62
+ const auth = JSON.parse(localStorage.getItem("bp.headers") || "{}").Authorization;
63
+ return auth && typeof auth.value === "string" ? { Authorization: auth.value } : {};
64
+ } catch { return {}; }
65
+ };
66
+ const requestTicket = async (form, source) => {
67
+ const response = await fetch(form.dataset.ticketUrl, {
68
+ method: "POST",
69
+ headers: { ...bpHeaders(), "Content-Type": "application/json", Accept: "application/json" },
70
+ body: JSON.stringify({
71
+ tenantId: form.dataset.sourceTenantId,
72
+ serviceInstanceId: source.instanceId,
73
+ hostname: source.hostname,
74
+ serviceId: source.serviceId,
75
+ actions: ["config.read"]
76
+ })
77
+ });
78
+ const data = await readJson(response, "Config ticket");
79
+ if (!response.ok || !data.token) throw new Error(data.error || data.message || "Config ticket was rejected");
80
+ return data.token;
81
+ };
82
+ const loadValues = async (form, source, token, appId) => {
83
+ const headers = {
84
+ Accept: "application/json",
85
+ Authorization: "Bearer " + token,
86
+ "x-bp-tenant-id": form.dataset.sourceTenantId
87
+ };
88
+ if (appId) headers["x-bp-app-id"] = appId;
89
+ const response = await fetch(source.hostname.replace(/\\/+$/, "") + "/.well-known/bp/config", {
90
+ headers,
91
+ cache: "no-store"
92
+ });
93
+ const data = await readJson(response, source.serviceId + " config");
94
+ if (!response.ok) throw new Error(data.error || data.message || "Config read failed");
95
+ return data.values || {};
96
+ };
97
+ const inputValue = (input) => input.type === "checkbox" ? String(input.checked) : input.value.trim();
98
+ const setInputValue = (input, value) => {
99
+ if (input.type === "checkbox") input.checked = value === "true";
100
+ else input.value = value;
101
+ };
102
+ const displayValue = (value) => typeof value === "string" ? value : JSON.stringify(value);
61
103
 
62
104
  document.querySelectorAll("[data-bp-preview-config-form]").forEach((form) => {
63
105
  const keyInput = form.querySelector("[data-bp-preview-key]");
64
106
  const status = form.querySelector("[data-bp-preview-config-status]");
107
+ const dialog = form.querySelector("[data-bp-sync-dialog]");
108
+ const dialogBody = form.querySelector("[data-bp-sync-body]");
109
+ let pendingDiff = [];
65
110
  const existing = {};
66
111
  form.querySelectorAll("[data-bp-existing-config]").forEach((node) => {
67
112
  existing[node.dataset.serviceId] = {
@@ -69,9 +114,17 @@ function pageScript() {
69
114
  app: JSON.parse(node.dataset.app || "{}")
70
115
  };
71
116
  });
117
+ const setSecretsEnabled = (enabled) => {
118
+ form.querySelectorAll("[data-bp-config-field][data-secret=true], [data-bp-clear-secret]").forEach((input) => {
119
+ input.disabled = !enabled;
120
+ });
121
+ };
122
+ setSecretsEnabled(false);
72
123
  form.querySelector("[data-bp-generate-key]")?.addEventListener("click", () => {
73
124
  keyInput.value = "bp_pck_" + encode64(crypto.getRandomValues(new Uint8Array(32)));
74
- keyInput.dispatchEvent(new Event("input"));
125
+ setSecretsEnabled(true);
126
+ status.textContent = "New key generated. Encrypted fields are unlocked.";
127
+ status.className = "alert alert-warning py-2";
75
128
  });
76
129
  form.querySelector("[data-bp-decrypt-config]")?.addEventListener("click", async () => {
77
130
  try {
@@ -80,6 +133,7 @@ function pageScript() {
80
133
  const encrypted = existing[input.dataset.serviceId]?.[input.dataset.scope]?.[input.dataset.key];
81
134
  if (encrypted) input.value = await decryptValue(cryptoKey, input.dataset.scope, input.dataset.key, encrypted);
82
135
  }
136
+ setSecretsEnabled(true);
83
137
  status.textContent = "Secrets decrypted in this browser only.";
84
138
  status.className = "alert alert-success py-2";
85
139
  } catch (error) {
@@ -87,6 +141,96 @@ function pageScript() {
87
141
  status.className = "alert alert-danger py-2";
88
142
  }
89
143
  });
144
+ form.querySelector("[data-bp-sync-prod]")?.addEventListener("click", async () => {
145
+ pendingDiff = [];
146
+ dialogBody.replaceChildren();
147
+ const loading = document.createElement("div");
148
+ loading.className = "alert alert-secondary";
149
+ loading.textContent = "Reading production configuration...";
150
+ dialogBody.append(loading);
151
+ dialog.showModal();
152
+ const sources = [...form.querySelectorAll("[data-bp-existing-config]")];
153
+ for (const node of sources) {
154
+ const section = document.createElement("section");
155
+ section.className = "mb-4";
156
+ const heading = document.createElement("h4");
157
+ heading.className = "h6 font-monospace";
158
+ heading.textContent = node.dataset.serviceId;
159
+ section.append(heading);
160
+ dialogBody.append(section);
161
+ const source = {
162
+ serviceId: node.dataset.serviceId,
163
+ instanceId: node.dataset.sourceInstanceId,
164
+ hostname: node.dataset.sourceHostname
165
+ };
166
+ if (!source.instanceId || !source.hostname) {
167
+ const note = document.createElement("div");
168
+ note.className = "alert alert-warning py-2";
169
+ note.textContent = "Production service registration is unavailable.";
170
+ section.append(note);
171
+ continue;
172
+ }
173
+ try {
174
+ const token = await requestTicket(form, source);
175
+ const serviceInputs = [...form.querySelectorAll("[data-bp-config-field]")].filter((input) => input.dataset.serviceId === source.serviceId);
176
+ const [tenantValues, appValues] = await Promise.all([
177
+ serviceInputs.some((input) => input.dataset.scope === "tenant") ? loadValues(form, source, token, "") : {},
178
+ serviceInputs.some((input) => input.dataset.scope === "app") ? loadValues(form, source, token, form.dataset.sourceAppId) : {}
179
+ ]);
180
+ let changes = 0;
181
+ for (const input of serviceInputs) {
182
+ const production = input.dataset.scope === "app" ? appValues : tenantValues;
183
+ const hasProductionValue = hasOwn(production, input.dataset.key);
184
+ const fallback = input.dataset.defaultValue === undefined ? "" : JSON.parse(input.dataset.defaultValue);
185
+ const target = displayValue(hasProductionValue ? production[input.dataset.key] : fallback);
186
+ if (input.dataset.secret === "true") {
187
+ const line = document.createElement("div");
188
+ line.className = "font-monospace small bg-body-tertiary px-2 py-1";
189
+ const checkbox = document.createElement("input");
190
+ checkbox.type = "checkbox";
191
+ checkbox.disabled = true;
192
+ checkbox.className = "form-check-input me-2";
193
+ line.append(checkbox, document.createTextNode("+ " + input.dataset.scope + "." + input.dataset.key + " = [secret is not exported by the service]"));
194
+ section.append(line);
195
+ continue;
196
+ }
197
+ if (inputValue(input) === target) continue;
198
+ changes++;
199
+ const oldLine = document.createElement("div");
200
+ oldLine.className = "font-monospace small bg-danger-subtle text-danger-emphasis px-2 py-1";
201
+ oldLine.textContent = "- " + input.dataset.scope + "." + input.dataset.key + " = " + inputValue(input);
202
+ const newLine = document.createElement("div");
203
+ newLine.className = "font-monospace small bg-success-subtle text-success-emphasis px-2 py-1";
204
+ const checkbox = document.createElement("input");
205
+ checkbox.type = "checkbox";
206
+ checkbox.checked = true;
207
+ checkbox.className = "form-check-input me-2";
208
+ newLine.append(checkbox, document.createTextNode("+ " + input.dataset.scope + "." + input.dataset.key + " = " + target + (hasProductionValue ? "" : " (schema default)")));
209
+ section.append(oldLine, newLine);
210
+ pendingDiff.push({ checkbox, input, value: target });
211
+ }
212
+ if (changes === 0) {
213
+ const note = document.createElement("div");
214
+ note.className = "text-secondary small";
215
+ note.textContent = "No transferable changes.";
216
+ section.append(note);
217
+ }
218
+ } catch (error) {
219
+ const note = document.createElement("div");
220
+ note.className = "alert alert-warning py-2";
221
+ note.textContent = "Could not reach this service: " + (error.message || String(error));
222
+ section.append(note);
223
+ }
224
+ }
225
+ loading.remove();
226
+ });
227
+ form.querySelector("[data-bp-sync-apply]")?.addEventListener("click", () => {
228
+ const selected = pendingDiff.filter((change) => change.checkbox.checked);
229
+ for (const change of selected) setInputValue(change.input, change.value);
230
+ dialog.close();
231
+ if (selected.length > 0) form.requestSubmit();
232
+ });
233
+ form.querySelectorAll("[data-bp-sync-close]").forEach((button) => button.addEventListener("click", () => dialog.close()));
90
234
  form.addEventListener("submit", async (event) => {
91
235
  event.preventDefault();
92
236
  event.stopImmediatePropagation();
@@ -99,7 +243,7 @@ function pageScript() {
99
243
  for (const input of form.querySelectorAll("[data-bp-config-field]")) {
100
244
  const service = values[input.dataset.serviceId] ||= { tenant: {}, app: {} };
101
245
  const scope = service[input.dataset.scope] ||= {};
102
- const value = input.value.trim();
246
+ const value = inputValue(input);
103
247
  if (!value) {
104
248
  const secretKey = input.dataset.serviceId + "\\n" + input.dataset.scope + "\\n" + input.dataset.key;
105
249
  if (input.dataset.secret === "true" && scope[input.dataset.key] && !clearedSecrets.has(secretKey)) continue;
@@ -144,7 +288,7 @@ function credentials(data) {
144
288
  return (_jsxs("div", { class: "mb-3", children: [_jsx("div", { class: "fw-semibold", children: credential.serviceId }), _jsx("textarea", { id: id, class: "form-control font-monospace small", rows: 2, readonly: true, children: `BP_CONTROL_PLANE_URL=${credential.controlPlaneUrl}\nBP_SERVICE_API_KEY=${credential.apiKey}` }), _jsx("button", { class: "btn btn-sm btn-outline-dark mt-2", type: "button", "data-bp-copy-target": id, children: "Copy environment" })] }));
145
289
  })] }));
146
290
  }
147
- function configEditor(group, path) {
291
+ function configEditor(group, path, ticketUrl) {
148
292
  const hasFields = group.services.some((service) => service.fields.length > 0);
149
293
  const existing = (service, scope) => {
150
294
  try {
@@ -155,18 +299,23 @@ function configEditor(group, path) {
155
299
  }
156
300
  };
157
301
  const fieldControl = (service, field) => {
158
- const current = existing(service, field.scope)[field.key];
302
+ const stored = existing(service, field.scope);
303
+ const current = Object.prototype.hasOwnProperty.call(stored, field.key) ? stored[field.key] : field.defaultValue;
304
+ const value = current == null ? "" : typeof current === "string" ? current : JSON.stringify(current);
159
305
  if (!field.secret && field.control === "select" && field.options.length > 0) {
160
- return _jsxs("select", { class: "form-select", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": "false", required: field.required, children: [!field.required ? _jsx("option", { value: "", children: "Not set" }) : null, field.options.map((option) => _jsx("option", { value: option.value, selected: current === option.value, children: option.label }))] });
306
+ return _jsxs("select", { class: "form-select", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": "false", "data-default-value": field.defaultValue === undefined ? undefined : JSON.stringify(field.defaultValue), required: field.required, children: [!field.required ? _jsx("option", { value: "", children: "Not set" }) : null, field.options.map((option) => _jsx("option", { value: option.value, selected: value === option.value, children: option.label }))] });
307
+ }
308
+ if (!field.secret && field.control === "checkbox") {
309
+ return _jsx("input", { class: "form-check-input", type: "checkbox", checked: value === "true" || value === "1" || value === "on", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": "false", "data-default-value": field.defaultValue === undefined ? undefined : JSON.stringify(field.defaultValue) });
161
310
  }
162
- return _jsx("input", { class: "form-control", type: field.secret ? "password" : field.control === "email" || field.control === "url" ? field.control : "text", maxlength: "255", value: field.secret ? "" : current ?? "", autocomplete: field.secret ? "new-password" : "off", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": field.secret ? "true" : "false", required: field.required && !field.secret });
311
+ return _jsx("input", { class: "form-control", type: field.secret ? "password" : field.control === "email" || field.control === "url" || field.control === "number" ? field.control : "text", maxlength: "255", value: field.secret ? "" : value, autocomplete: field.secret ? "new-password" : "off", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": field.secret ? "true" : "false", "data-default-value": field.defaultValue === undefined ? undefined : JSON.stringify(field.defaultValue), disabled: field.secret, required: field.required && !field.secret });
163
312
  };
164
- return (_jsxs("details", { class: "border rounded p-3 mt-3", children: [_jsx("summary", { class: "fw-semibold", children: "Encrypted service configuration" }), !hasFields ? _jsx("div", { class: "alert alert-secondary mt-3 mb-0", children: "No synced service config schemas are available for this group." }) : (_jsxs("form", { class: "mt-3", "data-bp-preview-config-form": "", "data-group-id": group.id, "data-path": path, children: [_jsxs("div", { class: "alert alert-warning small", children: ["Use preview-only values. The key and decrypted secrets stay in this browser; BetterPortal stores only ", _jsx("code", { children: "encrypted:" }), " envelopes."] }), _jsx("label", { class: "form-label", for: `bp-preview-key-${group.id}`, children: "Preview config key" }), _jsxs("div", { class: "input-group mb-2", children: [_jsx("input", { id: `bp-preview-key-${group.id}`, class: "form-control font-monospace", type: "password", autocomplete: "off", "data-bp-preview-key": "" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-generate-key": "", children: "Generate" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-copy-target": `bp-preview-key-${group.id}`, children: "Copy" })] }), _jsxs("div", { class: "form-text mb-3", children: ["Set this exact value as ", _jsx("code", { children: "BP_PREVIEW_CONFIG_KEY" }), " on every configured preview service. Keep it outside BetterPortal."] }), _jsx("button", { class: "btn btn-sm btn-outline-secondary mb-3", type: "button", "data-bp-decrypt-config": "", children: "Decrypt stored secrets" }), group.services.map((service) => (_jsxs("fieldset", { class: "border rounded p-3 mb-3", children: [_jsx("legend", { class: "float-none w-auto px-2 fs-6", children: service.title }), _jsx("span", { hidden: true, "data-bp-existing-config": "", "data-service-id": service.serviceId, "data-tenant": service.encryptedTenantConfig, "data-app": service.encryptedAppConfig }), ["tenant", "app"].map((scope) => {
313
+ return (_jsxs("details", { class: "border rounded p-3 mt-3", children: [_jsx("summary", { class: "fw-semibold", children: "Encrypted service configuration" }), !hasFields ? _jsx("div", { class: "alert alert-secondary mt-3 mb-0", children: "No synced service config schemas are available for this group." }) : (_jsxs("form", { class: "mt-3", "data-bp-preview-config-form": "", "data-group-id": group.id, "data-path": path, "data-ticket-url": ticketUrl, "data-source-tenant-id": group.sourceTenantId, "data-source-app-id": group.sourceAppId, children: [_jsxs("div", { class: "alert alert-warning small", children: ["Use preview-only values. The key and decrypted secrets stay in this browser; BetterPortal stores only ", _jsx("code", { children: "encrypted:" }), " envelopes."] }), _jsx("label", { class: "form-label", for: `bp-preview-key-${group.id}`, children: "Preview config key" }), _jsxs("div", { class: "input-group mb-2", children: [_jsx("input", { id: `bp-preview-key-${group.id}`, class: "form-control font-monospace", type: "password", autocomplete: "off", "data-bp-preview-key": "" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-generate-key": "", children: "Generate" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-copy-target": `bp-preview-key-${group.id}`, children: "Copy" })] }), _jsxs("div", { class: "form-text mb-3", children: ["Set this exact value as ", _jsx("code", { children: "BP_PREVIEW_CONFIG_KEY" }), " on every configured preview service. Keep it outside BetterPortal."] }), _jsx("button", { class: "btn btn-sm btn-outline-secondary mb-3", type: "button", "data-bp-decrypt-config": "", children: "Decrypt stored secrets" }), group.services.map((service) => (_jsxs("fieldset", { class: "border rounded p-3 mb-3", children: [_jsx("legend", { class: "float-none w-auto px-2 fs-6", children: service.title }), _jsx("span", { hidden: true, "data-bp-existing-config": "", "data-service-id": service.serviceId, "data-tenant": service.encryptedTenantConfig, "data-app": service.encryptedAppConfig, "data-source-instance-id": service.source?.instanceId, "data-source-hostname": service.source?.hostname }), service.fields.length === 0 ? _jsx("div", { class: "alert alert-warning mb-0", children: "This service has not synced a config schema yet. Its existing preview config will be preserved." }) : null, ["tenant", "app"].map((scope) => {
165
314
  const fields = service.fields.filter((field) => field.scope === scope);
166
- return fields.length === 0 ? null : _jsxs("div", { class: "mb-3", children: [_jsxs("div", { class: "text-uppercase text-secondary small fw-semibold mb-2", children: [scope, " config"] }), _jsx("div", { class: "row g-3", children: fields.map((field) => _jsxs("div", { class: "col-12 col-lg-6", children: [_jsxs("label", { class: "form-label", children: [field.title, field.required ? " *" : ""] }), fieldControl(service, field), _jsxs("div", { class: "form-text", children: [field.description, field.secret ? " Blank keeps the stored value." : ""] }), field.secret && !field.required ? _jsxs("div", { class: "form-check mt-1", children: [_jsx("input", { class: "form-check-input", type: "checkbox", "data-bp-clear-secret": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, id: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}` }), _jsx("label", { class: "form-check-label small", for: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}`, children: "Clear stored value" })] }) : null] })) })] });
167
- })] }))), _jsx("div", { class: "alert alert-secondary py-2", "data-bp-preview-config-status": "", role: "status", children: "Key is never submitted." }), _jsx("button", { class: "btn btn-primary", type: "submit", children: "Encrypt and save config" })] }))] }));
315
+ return fields.length === 0 ? null : _jsxs("div", { class: "mb-3", children: [_jsxs("div", { class: "text-uppercase text-secondary small fw-semibold mb-2", children: [scope, " config"] }), _jsx("div", { class: "row g-3", children: fields.map((field) => _jsxs("div", { class: "col-12 col-lg-6", children: [_jsxs("label", { class: "form-label", children: [field.title, field.required ? " *" : ""] }), fieldControl(service, field), _jsxs("div", { class: "form-text", children: [field.description, field.secret ? " Unlock with a generated key or decrypt the stored values first." : ""] }), field.secret && !field.required ? _jsxs("div", { class: "form-check mt-1", children: [_jsx("input", { class: "form-check-input", type: "checkbox", disabled: true, "data-bp-clear-secret": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, id: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}` }), _jsx("label", { class: "form-check-label small", for: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}`, children: "Clear stored value" })] }) : null] })) })] });
316
+ })] }))), _jsx("div", { class: "alert alert-secondary py-2", "data-bp-preview-config-status": "", role: "status", children: "Key is never submitted." }), _jsxs("div", { class: "d-flex flex-wrap gap-2", children: [_jsx("button", { class: "btn btn-primary", type: "submit", children: "Encrypt and save config" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-sync-prod": "", children: "Sync from prod" })] }), _jsxs("dialog", { class: "border-0 rounded shadow p-0", style: "width:min(92vw,72rem);max-height:90vh", "data-bp-sync-dialog": "", children: [_jsxs("div", { class: "p-3 border-bottom d-flex justify-content-between align-items-center", children: [_jsx("h3", { class: "h5 mb-0", children: "Production config diff" }), _jsx("button", { class: "btn-close", type: "button", "aria-label": "Close", "data-bp-sync-close": "" })] }), _jsx("div", { class: "p-3 overflow-auto", style: "max-height:70vh", "data-bp-sync-body": "" }), _jsxs("div", { class: "p-3 border-top d-flex justify-content-end gap-2", children: [_jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-sync-close": "", children: "Cancel" }), _jsx("button", { class: "btn btn-primary", type: "button", "data-bp-sync-apply": "", children: "Apply selected and save" })] })] })] }))] }));
168
317
  }
169
318
  export function render(data) {
170
- return (_jsxs("div", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-4", children: [_jsxs("div", { children: [_jsx("h2", { class: "mb-1", children: data.title }), _jsx("p", { class: "text-secondary mb-0", children: "Clone an existing tenant/app configuration while CI owns where each service runs." })] }), _jsx("button", { class: "btn btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-create-preview-group", children: "Create group" })] }), data.notice ? _jsx("div", { class: "alert alert-success", role: "status", children: data.notice }) : null, data.error ? _jsx("div", { class: "alert alert-danger", role: "alert", children: data.error }) : null, credentials(data), _jsxs("div", { class: "alert alert-info d-flex gap-2 align-items-start", children: [_jsx("span", { "aria-hidden": "true", children: "i" }), _jsxs("div", { children: [_jsx("strong", { children: "Pull setup only." }), " Services receive credentials from CI, publish their manifest on first sync, and rebuild preview routes/menu automatically."] })] }), data.groups.length === 0 ? (_jsx("div", { class: "card border-0 shadow-sm", children: _jsx("div", { class: "card-body py-5 text-center text-secondary", children: "No preview groups configured." }) })) : data.groups.map((group) => (_jsx("section", { class: "card border-0 shadow-sm mb-4", "aria-labelledby": `bp-group-${group.id}`, children: _jsxs("div", { class: "card-body", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-3", children: [_jsxs("div", { children: [_jsx("h3", { class: "h5 mb-1", id: `bp-group-${group.id}`, children: group.name }), _jsx("div", { class: "small text-secondary", children: group.sourceLabel }), _jsx("code", { class: "small", children: group.id })] }), _jsxs("div", { class: "d-flex flex-wrap gap-2", children: [_jsx("button", { class: "btn btn-sm btn-outline-primary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-new-${group.id}`, children: "New preview" }), _jsx("button", { class: "btn btn-sm btn-outline-secondary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-settings-${group.id}`, children: "Settings" }), _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=group&id=${encodeURIComponent(group.id)}`, "hx-confirm": `Delete ${group.name} and all of its previews?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" })] })] }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-xl-7", children: [_jsx("div", { class: "small text-secondary mb-1", children: "CI endpoint" }), _jsxs("code", { class: "d-block text-break", children: ["POST ", data.deploymentApiBase, "/", group.id, "/deployments/<key>"] })] }), _jsxs("div", { class: "col-12 col-xl-5", children: [_jsx("div", { class: "small text-secondary mb-1", children: "Managed services" }), _jsx("div", { class: "d-flex flex-wrap gap-1", children: group.services.map((service) => _jsx("span", { class: "badge text-bg-secondary", children: service.serviceId })) })] })] }), _jsx("div", { class: "collapse mb-4", id: `bp-new-${group.id}`, children: _jsxs("div", { class: "border rounded p-3 bg-body-tertiary", children: [_jsx("h4", { class: "h6", children: "Create preview manually" }), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-deployment" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3", children: [_jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Key" }), _jsx("input", { class: "form-control font-monospace", name: "key", maxlength: "255", pattern: "[A-Za-z0-9][A-Za-z0-9._:-]*", required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Name" }), _jsx("input", { class: "form-control", name: "name" })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Expiry" }), expiryInput(undefined, true)] }), _jsxs("div", { class: "col-12", children: [_jsx("label", { class: "form-label", children: "App hostname or origin" }), _jsx("input", { class: "form-control font-monospace", name: "hostname", placeholder: "pr-123.preview.example.com", required: true })] }), group.services.map((service) => (_jsxs("div", { class: "col-12 col-lg-6", children: [_jsxs("label", { class: "form-label", children: [service.title, " URL"] }), _jsx("input", { class: "form-control font-monospace", type: "url", name: `service.${service.serviceId}`, placeholder: "https://service-pr-123.example.com", required: true }), _jsx("div", { class: "form-text font-monospace", children: service.serviceId })] })))] }), _jsx("button", { class: "btn btn-primary mt-3", type: "submit", children: "Create preview" })] })] }) }), _jsx("div", { class: "collapse mb-4", id: `bp-settings-${group.id}`, children: _jsxs("div", { class: "border rounded p-3", children: [_jsxs("form", { "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-group" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-md-8", children: [_jsx("label", { class: "form-label", children: "Group name" }), _jsx("input", { class: "form-control", name: "name", value: group.name, required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(group.expiresInDays)] })] }), oidcFields(`bp-group-${group.id}`, group.oidc), _jsx("button", { class: "btn btn-primary", type: "submit", children: "Save settings" })] }), _jsx("hr", {}), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "rotate-key" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsx("button", { class: "btn btn-outline-warning", type: "submit", "hx-confirm": "Rotate this group API key? Existing CI credentials will stop working.", children: "Rotate API key" })] }), configEditor(group, data.previewPath)] }) }), group.deployments.length === 0 ? _jsx("div", { class: "text-secondary small", children: "No active previews." }) : (_jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Preview" }), _jsx("th", { children: "App" }), _jsx("th", { children: "Services" }), _jsx("th", { children: "Expiry" }), _jsx("th", {})] }) }), _jsx("tbody", { children: group.deployments.map((deployment) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("div", { class: "fw-semibold", children: deployment.name }), _jsx("code", { class: "small", children: deployment.key }), _jsx("div", { children: _jsx("span", { class: `badge ${deployment.ready ? "text-bg-success" : "text-bg-warning"}`, children: deployment.ready ? "Synced" : "Waiting for sync" }) })] }), _jsx("td", { children: _jsx("a", { href: deployment.hostname.startsWith("http") ? deployment.hostname : `https://${deployment.hostname}`, target: "_blank", rel: "noreferrer", children: deployment.hostname }) }), _jsx("td", { children: deployment.services.map((service) => _jsxs("div", { class: "small", children: [_jsx("span", { class: `badge ${service.ready ? "text-bg-success" : "text-bg-warning"}`, children: service.ready ? "Synced" : "Waiting" }), " ", _jsx("span", { class: "font-monospace", children: service.serviceId })] })) }), _jsxs("td", { children: [_jsxs("form", { class: "d-flex gap-2", "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-expiry" }), _jsx("input", { type: "hidden", name: "deploymentId", value: deployment.id }), expiryInput(deployment.expiresInDays, false, `Expiry for ${deployment.name}`), _jsx("button", { class: "btn btn-sm btn-outline-secondary", type: "submit", children: "Save" })] }), _jsx("div", { class: "small text-secondary mt-1", children: deployment.expiresAt ? new Date(deployment.expiresAt).toLocaleString() : "Never expires" })] }), _jsx("td", { children: _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=deployment&id=${encodeURIComponent(deployment.id)}`, "hx-confirm": `Delete preview ${deployment.name}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" }) })] }))) })] }) }))] }) }))), _jsxs("aside", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-create-preview-group", "aria-labelledby": "bp-create-preview-group-title", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h3", { class: "offcanvas-title h5", id: "bp-create-preview-group-title", children: "Create preview group" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas", "aria-label": "Close" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-group" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-group-name", children: "Name" }), _jsx("input", { id: "bp-preview-group-name", class: "form-control", name: "name", maxlength: "120", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-tenant", children: "Source tenant" }), _jsxs("select", { id: "bp-preview-source-tenant", class: "form-select", name: "sourceTenantId", required: true, children: [_jsx("option", { value: "", children: "Select tenant" }), data.sourceTenants.map((tenant) => _jsx("option", { value: tenant.id, children: tenant.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-app", children: "Source app" }), _jsxs("select", { id: "bp-preview-source-app", class: "form-select", name: "sourceAppId", required: true, children: [_jsx("option", { value: "", children: "Select app" }), data.sourceApps.map((app) => _jsx("option", { value: app.id, "data-tenant-id": app.tenantId, "data-services": app.serviceIds.join(","), "data-required-services": app.requiredServiceIds.join(","), children: app.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-service-ids", children: "Service plugin IDs" }), _jsx("textarea", { id: "bp-preview-service-ids", class: "form-control font-monospace", name: "serviceIds", rows: 4, required: true }), _jsx("div", { class: "form-text", children: "Required source services are filled automatically. Add more tenant services if CI will deploy them." })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(30)] }), oidcFields("bp-new-group"), _jsx("button", { class: "btn btn-primary w-100", type: "submit", children: "Create group" })] }) })] }), _jsx("script", { children: pageScript() })] }));
319
+ return (_jsxs("div", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-4", children: [_jsxs("div", { children: [_jsx("h2", { class: "mb-1", children: data.title }), _jsx("p", { class: "text-secondary mb-0", children: "Clone an existing tenant/app configuration while CI owns where each service runs." })] }), _jsx("button", { class: "btn btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-create-preview-group", children: "Create group" })] }), data.notice ? _jsx("div", { class: "alert alert-success", role: "status", children: data.notice }) : null, data.error ? _jsx("div", { class: "alert alert-danger", role: "alert", children: data.error }) : null, credentials(data), _jsxs("div", { class: "alert alert-info d-flex gap-2 align-items-start", children: [_jsx("span", { "aria-hidden": "true", children: "i" }), _jsxs("div", { children: [_jsx("strong", { children: "Pull setup only." }), " Services receive credentials from CI, publish their manifest on first sync, and rebuild preview routes/menu automatically."] })] }), data.groups.length === 0 ? (_jsx("div", { class: "card border-0 shadow-sm", children: _jsx("div", { class: "card-body py-5 text-center text-secondary", children: "No preview groups configured." }) })) : data.groups.map((group) => (_jsx("section", { class: "card border-0 shadow-sm mb-4", "aria-labelledby": `bp-group-${group.id}`, children: _jsxs("div", { class: "card-body", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-3", children: [_jsxs("div", { children: [_jsx("h3", { class: "h5 mb-1", id: `bp-group-${group.id}`, children: group.name }), _jsx("div", { class: "small text-secondary", children: group.sourceLabel }), _jsx("code", { class: "small", children: group.id })] }), _jsxs("div", { class: "d-flex flex-wrap gap-2", children: [_jsx("button", { class: "btn btn-sm btn-outline-primary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-new-${group.id}`, children: "New preview" }), _jsx("button", { class: "btn btn-sm btn-outline-secondary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-settings-${group.id}`, children: "Settings" }), _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=group&id=${encodeURIComponent(group.id)}`, "hx-confirm": `Delete ${group.name} and all of its previews?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" })] })] }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-xl-7", children: [_jsx("div", { class: "small text-secondary mb-1", children: "CI endpoint" }), _jsxs("code", { class: "d-block text-break", children: ["POST ", data.deploymentApiBase, "/", group.id, "/deployments/<key>"] })] }), _jsxs("div", { class: "col-12 col-xl-5", children: [_jsx("div", { class: "small text-secondary mb-1", children: "Discovered services" }), _jsx("div", { class: "d-flex flex-wrap gap-1", children: group.services.length ? group.services.map((service) => _jsx("span", { class: "badge text-bg-secondary", children: service.serviceId })) : _jsx("span", { class: "small text-secondary", children: "Added by the first preview create request." }) })] })] }), _jsx("div", { class: "collapse mb-4", id: `bp-new-${group.id}`, children: _jsxs("div", { class: "border rounded p-3 bg-body-tertiary", children: [_jsx("h4", { class: "h6", children: "Create preview manually" }), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-deployment" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3", children: [_jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Key" }), _jsx("input", { class: "form-control font-monospace", name: "key", maxlength: "255", pattern: "[A-Za-z0-9][A-Za-z0-9._:-]*", required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Name" }), _jsx("input", { class: "form-control", name: "name" })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Expiry" }), expiryInput(undefined, true)] }), _jsxs("div", { class: "col-12", children: [_jsx("label", { class: "form-label", children: "App hostname or origin" }), _jsx("input", { class: "form-control font-monospace", name: "hostname", placeholder: "pr-123.preview.example.com", required: true })] }), _jsxs("div", { class: "col-12", children: [_jsx("label", { class: "form-label", for: `bp-preview-services-${group.id}`, children: "Services" }), _jsx("textarea", { id: `bp-preview-services-${group.id}`, class: "form-control font-monospace", name: "services", rows: Math.max(4, group.services.length + 2), required: true, children: JSON.stringify(Object.fromEntries(group.services.map((service) => [service.serviceId, ""])), null, 2) }), _jsx("div", { class: "form-text", children: "JSON object mapping service IDs to public HTTPS URLs." })] })] }), _jsx("button", { class: "btn btn-primary mt-3", type: "submit", children: "Create preview" })] })] }) }), _jsx("div", { class: "collapse mb-4", id: `bp-settings-${group.id}`, children: _jsxs("div", { class: "border rounded p-3", children: [_jsxs("form", { "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-group" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-md-8", children: [_jsx("label", { class: "form-label", children: "Group name" }), _jsx("input", { class: "form-control", name: "name", value: group.name, required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(group.expiresInDays)] })] }), oidcFields(`bp-group-${group.id}`, group.oidc), _jsx("button", { class: "btn btn-primary", type: "submit", children: "Save settings" })] }), _jsx("hr", {}), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "rotate-key" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsx("button", { class: "btn btn-outline-warning", type: "submit", "hx-confirm": "Rotate this group API key? Existing CI credentials will stop working.", children: "Rotate API key" })] }), configEditor(group, data.previewPath, data.configTicketUrl)] }) }), group.deployments.length === 0 ? _jsx("div", { class: "text-secondary small", children: "No active previews." }) : (_jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Preview" }), _jsx("th", { children: "App" }), _jsx("th", { children: "Services" }), _jsx("th", { children: "Expiry" }), _jsx("th", {})] }) }), _jsx("tbody", { children: group.deployments.map((deployment) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("div", { class: "fw-semibold", children: deployment.name }), _jsx("code", { class: "small", children: deployment.key }), _jsx("div", { children: _jsx("span", { class: `badge ${deployment.ready ? "text-bg-success" : "text-bg-warning"}`, children: deployment.ready ? "Synced" : "Waiting for sync" }) })] }), _jsx("td", { children: _jsx("a", { href: deployment.hostname.startsWith("http") ? deployment.hostname : `https://${deployment.hostname}`, target: "_blank", rel: "noreferrer", children: deployment.hostname }) }), _jsx("td", { children: deployment.services.map((service) => _jsxs("div", { class: "small", children: [_jsx("span", { class: `badge ${service.ready ? "text-bg-success" : "text-bg-warning"}`, children: service.ready ? "Synced" : "Waiting" }), " ", _jsx("span", { class: "font-monospace", children: service.serviceId })] })) }), _jsxs("td", { children: [_jsxs("form", { class: "d-flex gap-2", "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-expiry" }), _jsx("input", { type: "hidden", name: "deploymentId", value: deployment.id }), expiryInput(deployment.expiresInDays, false, `Expiry for ${deployment.name}`), _jsx("button", { class: "btn btn-sm btn-outline-secondary", type: "submit", children: "Save" })] }), _jsx("div", { class: "small text-secondary mt-1", children: deployment.expiresAt ? new Date(deployment.expiresAt).toLocaleString() : "Never expires" })] }), _jsx("td", { children: _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=deployment&id=${encodeURIComponent(deployment.id)}`, "hx-confirm": `Delete preview ${deployment.name}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" }) })] }))) })] }) }))] }) }))), _jsxs("aside", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-create-preview-group", "aria-labelledby": "bp-create-preview-group-title", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h3", { class: "offcanvas-title h5", id: "bp-create-preview-group-title", children: "Create preview group" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas", "aria-label": "Close" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-group" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-group-name", children: "Name" }), _jsx("input", { id: "bp-preview-group-name", class: "form-control", name: "name", maxlength: "120", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-tenant", children: "Source tenant" }), _jsxs("select", { id: "bp-preview-source-tenant", class: "form-select", name: "sourceTenantId", required: true, children: [_jsx("option", { value: "", children: "Select tenant" }), data.sourceTenants.map((tenant) => _jsx("option", { value: tenant.id, children: tenant.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-app", children: "Source app" }), _jsxs("select", { id: "bp-preview-source-app", class: "form-select", name: "sourceAppId", required: true, children: [_jsx("option", { value: "", children: "Select app" }), data.sourceApps.map((app) => _jsx("option", { value: app.id, "data-tenant-id": app.tenantId, children: app.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(30)] }), oidcFields("bp-new-group"), _jsx("button", { class: "btn btn-primary w-100", type: "submit", children: "Create group" })] }) })] }), _jsx("script", { children: pageScript() })] }));
171
320
  }
172
321
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"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"}