@serve.zone/catalog 2.3.0 → 2.5.0

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.
@@ -0,0 +1,638 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { DeesElement, customElement, html, css, cssManager, property, state, } from '@design.estate/dees-element';
36
+ let SzConfigSection = (() => {
37
+ let _classDecorators = [customElement('sz-config-section')];
38
+ let _classDescriptor;
39
+ let _classExtraInitializers = [];
40
+ let _classThis;
41
+ let _classSuper = DeesElement;
42
+ let _title_decorators;
43
+ let _title_initializers = [];
44
+ let _title_extraInitializers = [];
45
+ let _subtitle_decorators;
46
+ let _subtitle_initializers = [];
47
+ let _subtitle_extraInitializers = [];
48
+ let _icon_decorators;
49
+ let _icon_initializers = [];
50
+ let _icon_extraInitializers = [];
51
+ let _status_decorators;
52
+ let _status_initializers = [];
53
+ let _status_extraInitializers = [];
54
+ let _fields_decorators;
55
+ let _fields_initializers = [];
56
+ let _fields_extraInitializers = [];
57
+ let _actions_decorators;
58
+ let _actions_initializers = [];
59
+ let _actions_extraInitializers = [];
60
+ let _collapsible_decorators;
61
+ let _collapsible_initializers = [];
62
+ let _collapsible_extraInitializers = [];
63
+ let _collapsed_decorators;
64
+ let _collapsed_initializers = [];
65
+ let _collapsed_extraInitializers = [];
66
+ let _isCollapsed_decorators;
67
+ let _isCollapsed_initializers = [];
68
+ let _isCollapsed_extraInitializers = [];
69
+ var SzConfigSection = class extends _classSuper {
70
+ static { _classThis = this; }
71
+ static {
72
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
73
+ _title_decorators = [property({ type: String })];
74
+ _subtitle_decorators = [property({ type: String })];
75
+ _icon_decorators = [property({ type: String })];
76
+ _status_decorators = [property({ type: String })];
77
+ _fields_decorators = [property({ type: Array })];
78
+ _actions_decorators = [property({ type: Array })];
79
+ _collapsible_decorators = [property({ type: Boolean })];
80
+ _collapsed_decorators = [property({ type: Boolean })];
81
+ _isCollapsed_decorators = [state()];
82
+ __esDecorate(this, null, _title_decorators, { kind: "accessor", name: "title", static: false, private: false, access: { has: obj => "title" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);
83
+ __esDecorate(this, null, _subtitle_decorators, { kind: "accessor", name: "subtitle", static: false, private: false, access: { has: obj => "subtitle" in obj, get: obj => obj.subtitle, set: (obj, value) => { obj.subtitle = value; } }, metadata: _metadata }, _subtitle_initializers, _subtitle_extraInitializers);
84
+ __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
85
+ __esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
86
+ __esDecorate(this, null, _fields_decorators, { kind: "accessor", name: "fields", static: false, private: false, access: { has: obj => "fields" in obj, get: obj => obj.fields, set: (obj, value) => { obj.fields = value; } }, metadata: _metadata }, _fields_initializers, _fields_extraInitializers);
87
+ __esDecorate(this, null, _actions_decorators, { kind: "accessor", name: "actions", static: false, private: false, access: { has: obj => "actions" in obj, get: obj => obj.actions, set: (obj, value) => { obj.actions = value; } }, metadata: _metadata }, _actions_initializers, _actions_extraInitializers);
88
+ __esDecorate(this, null, _collapsible_decorators, { kind: "accessor", name: "collapsible", static: false, private: false, access: { has: obj => "collapsible" in obj, get: obj => obj.collapsible, set: (obj, value) => { obj.collapsible = value; } }, metadata: _metadata }, _collapsible_initializers, _collapsible_extraInitializers);
89
+ __esDecorate(this, null, _collapsed_decorators, { kind: "accessor", name: "collapsed", static: false, private: false, access: { has: obj => "collapsed" in obj, get: obj => obj.collapsed, set: (obj, value) => { obj.collapsed = value; } }, metadata: _metadata }, _collapsed_initializers, _collapsed_extraInitializers);
90
+ __esDecorate(this, null, _isCollapsed_decorators, { kind: "accessor", name: "isCollapsed", static: false, private: false, access: { has: obj => "isCollapsed" in obj, get: obj => obj.isCollapsed, set: (obj, value) => { obj.isCollapsed = value; } }, metadata: _metadata }, _isCollapsed_initializers, _isCollapsed_extraInitializers);
91
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
92
+ SzConfigSection = _classThis = _classDescriptor.value;
93
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
94
+ }
95
+ static demo = () => html `
96
+ <sz-config-section
97
+ title="SmartProxy"
98
+ subtitle="HTTP/HTTPS and TCP/SNI reverse proxy"
99
+ icon="lucide:network"
100
+ status="enabled"
101
+ .fields=${[
102
+ { key: 'Route Count', value: 12 },
103
+ { key: 'ACME Enabled', value: true, type: 'boolean' },
104
+ { key: 'Account Email', value: 'admin@example.com' },
105
+ { key: 'Use Production', value: true, type: 'boolean' },
106
+ { key: 'Auto Renew', value: true, type: 'boolean' },
107
+ { key: 'Renew Threshold', value: '30 days' },
108
+ ]}
109
+ ></sz-config-section>
110
+ <sz-config-section
111
+ title="Email Server"
112
+ subtitle="SMTP email handling with smartmta"
113
+ icon="lucide:mail"
114
+ status="disabled"
115
+ .fields=${[
116
+ { key: 'Ports', value: ['25', '465', '587'], type: 'pills' },
117
+ { key: 'Hostname', value: null },
118
+ { key: 'Domains', value: ['example.com', 'mail.example.com'], type: 'pills' },
119
+ ]}
120
+ ></sz-config-section>
121
+ <sz-config-section
122
+ title="DNS Server"
123
+ subtitle="Authoritative DNS with smartdns"
124
+ icon="lucide:globe"
125
+ status="not-configured"
126
+ collapsible
127
+ .fields=${[
128
+ { key: 'Port', value: 53 },
129
+ { key: 'NS Domains', value: ['ns1.example.com', 'ns2.example.com'], type: 'pills' },
130
+ ]}
131
+ ></sz-config-section>
132
+ `;
133
+ static demoGroups = ['Configuration'];
134
+ #title_accessor_storage = __runInitializers(this, _title_initializers, '');
135
+ get title() { return this.#title_accessor_storage; }
136
+ set title(value) { this.#title_accessor_storage = value; }
137
+ #subtitle_accessor_storage = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _subtitle_initializers, ''));
138
+ get subtitle() { return this.#subtitle_accessor_storage; }
139
+ set subtitle(value) { this.#subtitle_accessor_storage = value; }
140
+ #icon_accessor_storage = (__runInitializers(this, _subtitle_extraInitializers), __runInitializers(this, _icon_initializers, ''));
141
+ get icon() { return this.#icon_accessor_storage; }
142
+ set icon(value) { this.#icon_accessor_storage = value; }
143
+ #status_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _status_initializers, 'enabled'));
144
+ get status() { return this.#status_accessor_storage; }
145
+ set status(value) { this.#status_accessor_storage = value; }
146
+ #fields_accessor_storage = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _fields_initializers, []));
147
+ get fields() { return this.#fields_accessor_storage; }
148
+ set fields(value) { this.#fields_accessor_storage = value; }
149
+ #actions_accessor_storage = (__runInitializers(this, _fields_extraInitializers), __runInitializers(this, _actions_initializers, []));
150
+ get actions() { return this.#actions_accessor_storage; }
151
+ set actions(value) { this.#actions_accessor_storage = value; }
152
+ #collapsible_accessor_storage = (__runInitializers(this, _actions_extraInitializers), __runInitializers(this, _collapsible_initializers, false));
153
+ get collapsible() { return this.#collapsible_accessor_storage; }
154
+ set collapsible(value) { this.#collapsible_accessor_storage = value; }
155
+ #collapsed_accessor_storage = (__runInitializers(this, _collapsible_extraInitializers), __runInitializers(this, _collapsed_initializers, false));
156
+ get collapsed() { return this.#collapsed_accessor_storage; }
157
+ set collapsed(value) { this.#collapsed_accessor_storage = value; }
158
+ #isCollapsed_accessor_storage = (__runInitializers(this, _collapsed_extraInitializers), __runInitializers(this, _isCollapsed_initializers, false));
159
+ get isCollapsed() { return this.#isCollapsed_accessor_storage; }
160
+ set isCollapsed(value) { this.#isCollapsed_accessor_storage = value; }
161
+ static styles = [
162
+ cssManager.defaultStyles,
163
+ css `
164
+ :host {
165
+ display: block;
166
+ margin-bottom: 16px;
167
+ }
168
+
169
+ .section {
170
+ background: ${cssManager.bdTheme('#ffffff', '#09090b')};
171
+ border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
172
+ border-radius: 8px;
173
+ overflow: hidden;
174
+ }
175
+
176
+ .section-header {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: space-between;
180
+ padding: 14px 20px;
181
+ background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
182
+ border-bottom: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
183
+ cursor: default;
184
+ user-select: none;
185
+ }
186
+
187
+ :host([collapsible]) .section-header {
188
+ cursor: pointer;
189
+ }
190
+
191
+ :host([collapsible]) .section-header:hover {
192
+ background: ${cssManager.bdTheme('#ebebed', '#1c1c1f')};
193
+ }
194
+
195
+ .header-left {
196
+ display: flex;
197
+ align-items: center;
198
+ gap: 12px;
199
+ min-width: 0;
200
+ }
201
+
202
+ .header-icon {
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: center;
206
+ width: 36px;
207
+ height: 36px;
208
+ background: ${cssManager.bdTheme('#e4e4e7', '#27272a')};
209
+ border-radius: 8px;
210
+ flex-shrink: 0;
211
+ }
212
+
213
+ .header-icon dees-icon {
214
+ font-size: 18px;
215
+ color: ${cssManager.bdTheme('#52525b', '#a1a1aa')};
216
+ }
217
+
218
+ .header-text {
219
+ min-width: 0;
220
+ }
221
+
222
+ .header-title {
223
+ font-size: 15px;
224
+ font-weight: 600;
225
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
226
+ line-height: 1.3;
227
+ }
228
+
229
+ .header-subtitle {
230
+ font-size: 12px;
231
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
232
+ line-height: 1.3;
233
+ margin-top: 1px;
234
+ }
235
+
236
+ .header-right {
237
+ display: flex;
238
+ align-items: center;
239
+ gap: 10px;
240
+ flex-shrink: 0;
241
+ }
242
+
243
+ /* Status badge */
244
+ .status-badge {
245
+ display: inline-flex;
246
+ align-items: center;
247
+ gap: 6px;
248
+ padding: 3px 10px;
249
+ border-radius: 9999px;
250
+ font-size: 12px;
251
+ font-weight: 500;
252
+ white-space: nowrap;
253
+ }
254
+
255
+ .status-badge.enabled {
256
+ background: ${cssManager.bdTheme('#dcfce7', 'rgba(34,197,94,0.2)')};
257
+ color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
258
+ }
259
+
260
+ .status-badge.disabled {
261
+ background: ${cssManager.bdTheme('#fee2e2', 'rgba(239,68,68,0.2)')};
262
+ color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
263
+ }
264
+
265
+ .status-badge.not-configured {
266
+ background: ${cssManager.bdTheme('#f4f4f5', 'rgba(113,113,122,0.2)')};
267
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
268
+ }
269
+
270
+ .status-badge.warning {
271
+ background: ${cssManager.bdTheme('#fef3c7', 'rgba(245,158,11,0.15)')};
272
+ color: ${cssManager.bdTheme('#92400e', '#fbbf24')};
273
+ }
274
+
275
+ .status-dot {
276
+ width: 7px;
277
+ height: 7px;
278
+ border-radius: 50%;
279
+ }
280
+
281
+ .status-badge.enabled .status-dot {
282
+ background: ${cssManager.bdTheme('#16a34a', '#22c55e')};
283
+ }
284
+
285
+ .status-badge.disabled .status-dot {
286
+ background: ${cssManager.bdTheme('#dc2626', '#ef4444')};
287
+ }
288
+
289
+ .status-badge.not-configured .status-dot {
290
+ background: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
291
+ }
292
+
293
+ .status-badge.warning .status-dot {
294
+ background: ${cssManager.bdTheme('#f59e0b', '#fbbf24')};
295
+ }
296
+
297
+ /* Action buttons */
298
+ .header-action {
299
+ display: inline-flex;
300
+ align-items: center;
301
+ gap: 5px;
302
+ padding: 4px 12px;
303
+ border-radius: 6px;
304
+ font-size: 12px;
305
+ font-weight: 500;
306
+ color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
307
+ background: transparent;
308
+ border: none;
309
+ cursor: pointer;
310
+ transition: background 150ms ease;
311
+ white-space: nowrap;
312
+ font-family: inherit;
313
+ }
314
+
315
+ .header-action:hover {
316
+ background: ${cssManager.bdTheme('rgba(37,99,235,0.08)', 'rgba(96,165,250,0.1)')};
317
+ }
318
+
319
+ .header-action dees-icon {
320
+ font-size: 14px;
321
+ }
322
+
323
+ /* Chevron */
324
+ .chevron {
325
+ display: flex;
326
+ align-items: center;
327
+ transition: transform 200ms ease;
328
+ }
329
+
330
+ .chevron.collapsed {
331
+ transform: rotate(-90deg);
332
+ }
333
+
334
+ .chevron dees-icon {
335
+ font-size: 16px;
336
+ color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
337
+ }
338
+
339
+ /* Content */
340
+ .section-content {
341
+ padding: 0;
342
+ }
343
+
344
+ .section-content.collapsed {
345
+ display: none;
346
+ }
347
+
348
+ /* Field rows */
349
+ .field-row {
350
+ display: flex;
351
+ align-items: flex-start;
352
+ justify-content: space-between;
353
+ padding: 10px 20px;
354
+ border-bottom: 1px solid ${cssManager.bdTheme('#f4f4f5', '#1a1a1e')};
355
+ gap: 16px;
356
+ }
357
+
358
+ .field-row:last-child {
359
+ border-bottom: none;
360
+ }
361
+
362
+ .field-key {
363
+ font-size: 13px;
364
+ font-weight: 500;
365
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
366
+ flex-shrink: 0;
367
+ min-width: 140px;
368
+ padding-top: 1px;
369
+ }
370
+
371
+ .field-value {
372
+ font-size: 13px;
373
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
374
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
375
+ text-align: right;
376
+ word-break: break-all;
377
+ }
378
+
379
+ .field-value.null-value {
380
+ color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
381
+ font-style: italic;
382
+ font-family: inherit;
383
+ }
384
+
385
+ /* Boolean display */
386
+ .bool-value {
387
+ display: inline-flex;
388
+ align-items: center;
389
+ gap: 5px;
390
+ font-family: inherit;
391
+ font-size: 13px;
392
+ font-weight: 500;
393
+ }
394
+
395
+ .bool-value.true {
396
+ color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
397
+ }
398
+
399
+ .bool-value.false {
400
+ color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
401
+ }
402
+
403
+ .bool-dot {
404
+ width: 6px;
405
+ height: 6px;
406
+ border-radius: 50%;
407
+ }
408
+
409
+ .bool-value.true .bool-dot {
410
+ background: ${cssManager.bdTheme('#16a34a', '#22c55e')};
411
+ }
412
+
413
+ .bool-value.false .bool-dot {
414
+ background: ${cssManager.bdTheme('#dc2626', '#ef4444')};
415
+ }
416
+
417
+ /* Pills */
418
+ .pills {
419
+ display: flex;
420
+ flex-wrap: wrap;
421
+ gap: 5px;
422
+ justify-content: flex-end;
423
+ }
424
+
425
+ .pill {
426
+ display: inline-flex;
427
+ align-items: center;
428
+ padding: 2px 9px;
429
+ border-radius: 9999px;
430
+ font-size: 12px;
431
+ font-weight: 500;
432
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
433
+ background: ${cssManager.bdTheme('#eff6ff', 'rgba(59,130,246,0.1)')};
434
+ color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
435
+ }
436
+
437
+ /* Code value */
438
+ .code-value {
439
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
440
+ font-size: 12px;
441
+ background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
442
+ padding: 2px 8px;
443
+ border-radius: 4px;
444
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
445
+ }
446
+
447
+ /* Link value */
448
+ .link-value {
449
+ color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
450
+ cursor: pointer;
451
+ text-decoration: none;
452
+ font-family: inherit;
453
+ font-size: 13px;
454
+ }
455
+
456
+ .link-value:hover {
457
+ text-decoration: underline;
458
+ }
459
+
460
+ /* Description hint */
461
+ .field-description {
462
+ font-size: 11px;
463
+ color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
464
+ margin-top: 3px;
465
+ text-align: right;
466
+ }
467
+
468
+ /* Slot for custom content */
469
+ .slot-content {
470
+ border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#1a1a1e')};
471
+ }
472
+
473
+ .slot-content:empty {
474
+ display: none;
475
+ border-top: none;
476
+ }
477
+
478
+ /* Badge type */
479
+ .badge-value {
480
+ display: inline-flex;
481
+ align-items: center;
482
+ padding: 2px 9px;
483
+ border-radius: 9999px;
484
+ font-size: 12px;
485
+ font-weight: 500;
486
+ background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
487
+ color: ${cssManager.bdTheme('#52525b', '#a1a1aa')};
488
+ }
489
+ `,
490
+ ];
491
+ async connectedCallback() {
492
+ await super.connectedCallback();
493
+ this.isCollapsed = this.collapsed;
494
+ if (this.collapsible) {
495
+ this.setAttribute('collapsible', '');
496
+ }
497
+ }
498
+ render() {
499
+ const statusLabels = {
500
+ 'enabled': 'Enabled',
501
+ 'disabled': 'Disabled',
502
+ 'not-configured': 'Not Configured',
503
+ 'warning': 'Warning',
504
+ };
505
+ return html `
506
+ <div class="section">
507
+ <div
508
+ class="section-header"
509
+ @click=${() => {
510
+ if (this.collapsible) {
511
+ this.isCollapsed = !this.isCollapsed;
512
+ }
513
+ }}
514
+ >
515
+ <div class="header-left">
516
+ ${this.icon ? html `
517
+ <div class="header-icon">
518
+ <dees-icon .icon=${this.icon}></dees-icon>
519
+ </div>
520
+ ` : ''}
521
+ <div class="header-text">
522
+ <div class="header-title">${this.title}</div>
523
+ ${this.subtitle ? html `<div class="header-subtitle">${this.subtitle}</div>` : ''}
524
+ </div>
525
+ </div>
526
+ <div class="header-right">
527
+ ${this.status ? html `
528
+ <span class="status-badge ${this.status}">
529
+ <span class="status-dot"></span>
530
+ ${statusLabels[this.status] || this.status}
531
+ </span>
532
+ ` : ''}
533
+ ${this.actions.map(action => html `
534
+ <button class="header-action" @click=${(e) => {
535
+ e.stopPropagation();
536
+ this.dispatchEvent(new CustomEvent(action.event || 'action', {
537
+ detail: action.detail || { label: action.label },
538
+ bubbles: true,
539
+ composed: true,
540
+ }));
541
+ }}>
542
+ ${action.icon ? html `<dees-icon .icon=${action.icon}></dees-icon>` : ''}
543
+ ${action.label}
544
+ </button>
545
+ `)}
546
+ ${this.collapsible ? html `
547
+ <span class="chevron ${this.isCollapsed ? 'collapsed' : ''}">
548
+ <dees-icon .icon=${'lucide:chevronDown'}></dees-icon>
549
+ </span>
550
+ ` : ''}
551
+ </div>
552
+ </div>
553
+ <div class="section-content ${this.isCollapsed ? 'collapsed' : ''}">
554
+ ${this.fields.map(field => this.renderField(field))}
555
+ <div class="slot-content">
556
+ <slot></slot>
557
+ </div>
558
+ </div>
559
+ </div>
560
+ `;
561
+ }
562
+ renderField(field) {
563
+ return html `
564
+ <div class="field-row">
565
+ <div class="field-key">${field.key}</div>
566
+ <div>
567
+ ${this.renderFieldValue(field)}
568
+ ${field.description ? html `<div class="field-description">${field.description}</div>` : ''}
569
+ </div>
570
+ </div>
571
+ `;
572
+ }
573
+ renderFieldValue(field) {
574
+ const value = field.value;
575
+ const type = field.type || this.inferType(value);
576
+ // Null / undefined
577
+ if (value === null || value === undefined) {
578
+ return html `<span class="field-value null-value">Not configured</span>`;
579
+ }
580
+ switch (type) {
581
+ case 'boolean':
582
+ return html `
583
+ <span class="bool-value ${value ? 'true' : 'false'}">
584
+ <span class="bool-dot"></span>
585
+ ${value ? 'Enabled' : 'Disabled'}
586
+ </span>
587
+ `;
588
+ case 'pills':
589
+ if (Array.isArray(value) && value.length === 0) {
590
+ return html `<span class="field-value null-value">None</span>`;
591
+ }
592
+ return html `
593
+ <div class="pills">
594
+ ${value.map(v => html `<span class="pill">${v}</span>`)}
595
+ </div>
596
+ `;
597
+ case 'code':
598
+ return html `<span class="code-value">${String(value)}</span>`;
599
+ case 'badge':
600
+ return html `<span class="badge-value">${String(value)}</span>`;
601
+ case 'link':
602
+ return html `
603
+ <span
604
+ class="link-value"
605
+ @click=${() => {
606
+ if (field.linkTo) {
607
+ this.dispatchEvent(new CustomEvent('navigate', {
608
+ detail: { target: field.linkTo },
609
+ bubbles: true,
610
+ composed: true,
611
+ }));
612
+ }
613
+ }}
614
+ >${String(value)}</span>
615
+ `;
616
+ default:
617
+ return html `<span class="field-value">${String(value)}</span>`;
618
+ }
619
+ }
620
+ inferType(value) {
621
+ if (typeof value === 'boolean')
622
+ return 'boolean';
623
+ if (Array.isArray(value))
624
+ return 'pills';
625
+ return 'text';
626
+ }
627
+ constructor() {
628
+ super(...arguments);
629
+ __runInitializers(this, _isCollapsed_extraInitializers);
630
+ }
631
+ static {
632
+ __runInitializers(_classThis, _classExtraInitializers);
633
+ }
634
+ };
635
+ return SzConfigSection = _classThis;
636
+ })();
637
+ export { SzConfigSection };
638
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otY29uZmlnLXNlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otY29uZmlnLXNlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEdBRU4sTUFBTSw2QkFBNkIsQ0FBQztJQXdCeEIsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztpQ0EwQzdDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztvQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7a0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7dUNBR3pCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztxQ0FHM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3VDQUczQixLQUFLLEVBQUU7WUF2QlIsb0tBQWdCLEtBQUssNkJBQUwsS0FBSyxxRkFBYztZQUduQyw2S0FBZ0IsUUFBUSw2QkFBUixRQUFRLDJGQUFjO1lBR3RDLGlLQUFnQixJQUFJLDZCQUFKLElBQUksbUZBQWM7WUFHbEMsdUtBQWdCLE1BQU0sNkJBQU4s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
@@ -0,0 +1,11 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import './index.js';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'sz-demo-view-config': SzDemoViewConfig;
6
+ }
7
+ }
8
+ export declare class SzDemoViewConfig extends DeesElement {
9
+ static styles: import("@design.estate/dees-element").CSSResult[];
10
+ render(): TemplateResult;
11
+ }