@serve.zone/catalog 2.10.0 → 2.11.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.
- package/dist_bundle/bundle.js +557 -448
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/sz-route-card.d.ts +8 -0
- package/dist_ts_web/elements/sz-route-card.js +146 -2
- package/dist_ts_web/elements/sz-route-list-view.d.ts +1 -0
- package/dist_ts_web/elements/sz-route-list-view.js +11 -2
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/sz-route-card.ts +149 -0
- package/ts_web/elements/sz-route-list-view.ts +4 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/catalog',
|
|
6
|
-
version: '2.
|
|
6
|
+
version: '2.11.0',
|
|
7
7
|
description: 'UI component catalog for serve.zone'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQSJ9
|
|
@@ -59,6 +59,11 @@ export interface IRouteMetadata {
|
|
|
59
59
|
networkTargetName?: string;
|
|
60
60
|
lastResolvedAt?: number;
|
|
61
61
|
}
|
|
62
|
+
export interface IRouteVpn {
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
mandatory?: boolean;
|
|
65
|
+
allowedServerDefinedClientTags?: string[];
|
|
66
|
+
}
|
|
62
67
|
export interface IRouteConfig {
|
|
63
68
|
id?: string;
|
|
64
69
|
match: IRouteMatch;
|
|
@@ -69,6 +74,7 @@ export interface IRouteConfig {
|
|
|
69
74
|
response?: Record<string, string>;
|
|
70
75
|
};
|
|
71
76
|
metadata?: IRouteMetadata;
|
|
77
|
+
vpn?: IRouteVpn;
|
|
72
78
|
name?: string;
|
|
73
79
|
description?: string;
|
|
74
80
|
priority?: number;
|
|
@@ -79,9 +85,11 @@ export declare class SzRouteCard extends DeesElement {
|
|
|
79
85
|
static demo: () => TemplateResult<1>;
|
|
80
86
|
static demoGroups: string[];
|
|
81
87
|
accessor route: IRouteConfig | null;
|
|
88
|
+
accessor showActions: boolean;
|
|
82
89
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
83
90
|
render(): TemplateResult;
|
|
84
91
|
private renderDomains;
|
|
92
|
+
private renderVpn;
|
|
85
93
|
private renderLinked;
|
|
86
94
|
private renderFeatures;
|
|
87
95
|
}
|
|
@@ -67,12 +67,17 @@ let SzRouteCard = (() => {
|
|
|
67
67
|
let _route_decorators;
|
|
68
68
|
let _route_initializers = [];
|
|
69
69
|
let _route_extraInitializers = [];
|
|
70
|
+
let _showActions_decorators;
|
|
71
|
+
let _showActions_initializers = [];
|
|
72
|
+
let _showActions_extraInitializers = [];
|
|
70
73
|
var SzRouteCard = class extends _classSuper {
|
|
71
74
|
static { _classThis = this; }
|
|
72
75
|
static {
|
|
73
76
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
74
77
|
_route_decorators = [property({ type: Object })];
|
|
78
|
+
_showActions_decorators = [property({ type: Boolean })];
|
|
75
79
|
__esDecorate(this, null, _route_decorators, { kind: "accessor", name: "route", static: false, private: false, access: { has: obj => "route" in obj, get: obj => obj.route, set: (obj, value) => { obj.route = value; } }, metadata: _metadata }, _route_initializers, _route_extraInitializers);
|
|
80
|
+
__esDecorate(this, null, _showActions_decorators, { kind: "accessor", name: "showActions", static: false, private: false, access: { has: obj => "showActions" in obj, get: obj => obj.showActions, set: (obj, value) => { obj.showActions = value; } }, metadata: _metadata }, _showActions_initializers, _showActions_extraInitializers);
|
|
76
81
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
77
82
|
SzRouteCard = _classThis = _classDescriptor.value;
|
|
78
83
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -109,6 +114,11 @@ let SzRouteCard = (() => {
|
|
|
109
114
|
rateLimit: { enabled: true, maxRequests: 100, window: 60 },
|
|
110
115
|
maxConnections: 1000,
|
|
111
116
|
},
|
|
117
|
+
vpn: {
|
|
118
|
+
enabled: true,
|
|
119
|
+
mandatory: true,
|
|
120
|
+
allowedServerDefinedClientTags: ['admin', 'devops'],
|
|
121
|
+
},
|
|
112
122
|
metadata: {
|
|
113
123
|
securityProfileName: 'STANDARD',
|
|
114
124
|
networkTargetName: 'LOSSLESS_INFRA',
|
|
@@ -121,6 +131,9 @@ let SzRouteCard = (() => {
|
|
|
121
131
|
#route_accessor_storage = __runInitializers(this, _route_initializers, null);
|
|
122
132
|
get route() { return this.#route_accessor_storage; }
|
|
123
133
|
set route(value) { this.#route_accessor_storage = value; }
|
|
134
|
+
#showActions_accessor_storage = (__runInitializers(this, _route_extraInitializers), __runInitializers(this, _showActions_initializers, false));
|
|
135
|
+
get showActions() { return this.#showActions_accessor_storage; }
|
|
136
|
+
set showActions(value) { this.#showActions_accessor_storage = value; }
|
|
124
137
|
static styles = [
|
|
125
138
|
cssManager.defaultStyles,
|
|
126
139
|
css `
|
|
@@ -430,6 +443,83 @@ let SzRouteCard = (() => {
|
|
|
430
443
|
color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
|
|
431
444
|
font-size: 13px;
|
|
432
445
|
}
|
|
446
|
+
|
|
447
|
+
.section.vpn {
|
|
448
|
+
border-left-color: ${cssManager.bdTheme('#0891b2', '#06b6d4')};
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.vpn-badge {
|
|
452
|
+
display: inline-flex;
|
|
453
|
+
align-items: center;
|
|
454
|
+
padding: 2px 8px;
|
|
455
|
+
border-radius: 9999px;
|
|
456
|
+
font-size: 11px;
|
|
457
|
+
font-weight: 600;
|
|
458
|
+
white-space: nowrap;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.vpn-badge.mandatory {
|
|
462
|
+
background: ${cssManager.bdTheme('#fff7ed', 'rgba(249, 115, 22, 0.2)')};
|
|
463
|
+
color: ${cssManager.bdTheme('#c2410c', '#fb923c')};
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.vpn-badge.optional {
|
|
467
|
+
background: ${cssManager.bdTheme('#ecfdf5', 'rgba(16, 185, 129, 0.2)')};
|
|
468
|
+
color: ${cssManager.bdTheme('#047857', '#34d399')};
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.vpn-tag {
|
|
472
|
+
display: inline-flex;
|
|
473
|
+
padding: 1px 6px;
|
|
474
|
+
border-radius: 3px;
|
|
475
|
+
font-size: 12px;
|
|
476
|
+
font-weight: 600;
|
|
477
|
+
font-family: monospace;
|
|
478
|
+
margin-right: 4px;
|
|
479
|
+
margin-bottom: 2px;
|
|
480
|
+
background: ${cssManager.bdTheme('#ecfeff', 'rgba(6, 182, 212, 0.15)')};
|
|
481
|
+
color: ${cssManager.bdTheme('#0e7490', '#22d3ee')};
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.card-actions {
|
|
485
|
+
display: flex;
|
|
486
|
+
gap: 8px;
|
|
487
|
+
margin-top: 14px;
|
|
488
|
+
padding-top: 12px;
|
|
489
|
+
border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#1a1a1a')};
|
|
490
|
+
justify-content: flex-end;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.action-btn {
|
|
494
|
+
display: inline-flex;
|
|
495
|
+
align-items: center;
|
|
496
|
+
gap: 4px;
|
|
497
|
+
padding: 5px 12px;
|
|
498
|
+
border-radius: 6px;
|
|
499
|
+
font-size: 12px;
|
|
500
|
+
font-weight: 500;
|
|
501
|
+
cursor: pointer;
|
|
502
|
+
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
|
503
|
+
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
|
504
|
+
color: ${cssManager.bdTheme('#52525b', '#a1a1aa')};
|
|
505
|
+
transition: all 150ms ease;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
.action-btn:hover {
|
|
509
|
+
border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
|
|
510
|
+
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
|
511
|
+
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
.action-btn.edit:hover {
|
|
515
|
+
border-color: ${cssManager.bdTheme('#93c5fd', 'rgba(59, 130, 246, 0.5)')};
|
|
516
|
+
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
.action-btn.delete:hover {
|
|
520
|
+
border-color: ${cssManager.bdTheme('#fca5a5', 'rgba(239, 68, 68, 0.5)')};
|
|
521
|
+
color: ${cssManager.bdTheme('#dc2626', '#f87171')};
|
|
522
|
+
}
|
|
433
523
|
`,
|
|
434
524
|
];
|
|
435
525
|
render() {
|
|
@@ -618,11 +708,36 @@ let SzRouteCard = (() => {
|
|
|
618
708
|
`
|
|
619
709
|
: ''}
|
|
620
710
|
|
|
711
|
+
<!-- VPN Section -->
|
|
712
|
+
${this.renderVpn()}
|
|
713
|
+
|
|
621
714
|
<!-- Linked References Section -->
|
|
622
715
|
${this.renderLinked()}
|
|
623
716
|
|
|
624
717
|
<!-- Feature Icons Row -->
|
|
625
718
|
${this.renderFeatures()}
|
|
719
|
+
|
|
720
|
+
<!-- Action Buttons -->
|
|
721
|
+
${this.showActions ? html `
|
|
722
|
+
<div class="card-actions">
|
|
723
|
+
<button class="action-btn edit" @click=${(e) => {
|
|
724
|
+
e.stopPropagation();
|
|
725
|
+
this.dispatchEvent(new CustomEvent('route-edit', {
|
|
726
|
+
detail: this.route,
|
|
727
|
+
bubbles: true,
|
|
728
|
+
composed: true,
|
|
729
|
+
}));
|
|
730
|
+
}}>Edit</button>
|
|
731
|
+
<button class="action-btn delete" @click=${(e) => {
|
|
732
|
+
e.stopPropagation();
|
|
733
|
+
this.dispatchEvent(new CustomEvent('route-delete', {
|
|
734
|
+
detail: this.route,
|
|
735
|
+
bubbles: true,
|
|
736
|
+
composed: true,
|
|
737
|
+
}));
|
|
738
|
+
}}>Delete</button>
|
|
739
|
+
</div>
|
|
740
|
+
` : ''}
|
|
626
741
|
</div>
|
|
627
742
|
`;
|
|
628
743
|
}
|
|
@@ -630,6 +745,32 @@ let SzRouteCard = (() => {
|
|
|
630
745
|
const list = Array.isArray(domains) ? domains : [domains];
|
|
631
746
|
return html `${list.map((d) => html `<span class="domain-chip ${d.includes('*') ? 'glob' : ''}">${d}</span>`)}`;
|
|
632
747
|
}
|
|
748
|
+
renderVpn() {
|
|
749
|
+
const vpn = this.route?.vpn;
|
|
750
|
+
if (!vpn?.enabled)
|
|
751
|
+
return html ``;
|
|
752
|
+
return html `
|
|
753
|
+
<div class="section vpn">
|
|
754
|
+
<div class="section-label">VPN Access</div>
|
|
755
|
+
<div class="field-row">
|
|
756
|
+
<span class="field-key">Mode</span>
|
|
757
|
+
<span class="field-value">
|
|
758
|
+
<span class="vpn-badge ${vpn.mandatory !== false ? 'mandatory' : 'optional'}">
|
|
759
|
+
${vpn.mandatory !== false ? 'VPN Only' : 'VPN + Public'}
|
|
760
|
+
</span>
|
|
761
|
+
</span>
|
|
762
|
+
</div>
|
|
763
|
+
${vpn.allowedServerDefinedClientTags?.length ? html `
|
|
764
|
+
<div class="field-row">
|
|
765
|
+
<span class="field-key">Tags</span>
|
|
766
|
+
<span class="field-value">
|
|
767
|
+
${vpn.allowedServerDefinedClientTags.map((tag) => html `<span class="vpn-tag">${tag}</span>`)}
|
|
768
|
+
</span>
|
|
769
|
+
</div>
|
|
770
|
+
` : ''}
|
|
771
|
+
</div>
|
|
772
|
+
`;
|
|
773
|
+
}
|
|
633
774
|
renderLinked() {
|
|
634
775
|
const meta = this.route?.metadata;
|
|
635
776
|
if (!meta)
|
|
@@ -683,6 +824,9 @@ let SzRouteCard = (() => {
|
|
|
683
824
|
if (headers) {
|
|
684
825
|
features.push(html `<span class="feature"><span class="feature-icon">⚙</span>Headers</span>`);
|
|
685
826
|
}
|
|
827
|
+
if (this.route?.vpn?.enabled) {
|
|
828
|
+
features.push(html `<span class="feature"><span class="feature-icon">🔐</span>VPN</span>`);
|
|
829
|
+
}
|
|
686
830
|
if (meta?.securityProfileName || meta?.networkTargetName) {
|
|
687
831
|
features.push(html `<span class="feature"><span class="feature-icon">🔗</span>Linked</span>`);
|
|
688
832
|
}
|
|
@@ -692,7 +836,7 @@ let SzRouteCard = (() => {
|
|
|
692
836
|
}
|
|
693
837
|
constructor() {
|
|
694
838
|
super(...arguments);
|
|
695
|
-
__runInitializers(this,
|
|
839
|
+
__runInitializers(this, _showActions_extraInitializers);
|
|
696
840
|
}
|
|
697
841
|
static {
|
|
698
842
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
@@ -701,4 +845,4 @@ let SzRouteCard = (() => {
|
|
|
701
845
|
return SzRouteCard = _classThis;
|
|
702
846
|
})();
|
|
703
847
|
export { SzRouteCard };
|
|
704
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yb3V0ZS1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQXVFckMsU0FBUyxXQUFXLENBQUMsS0FBaUI7SUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXVCO0lBQzVDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
|
|
848
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yb3V0ZS1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQThFckMsU0FBUyxXQUFXLENBQUMsS0FBaUI7SUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXVCO0lBQzVDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
|
|
@@ -9,6 +9,7 @@ export declare class SzRouteListView extends DeesElement {
|
|
|
9
9
|
static demo: () => TemplateResult<1>;
|
|
10
10
|
static demoGroups: string[];
|
|
11
11
|
accessor routes: IRouteConfig[];
|
|
12
|
+
accessor showActionsFilter: ((route: IRouteConfig) => boolean) | null;
|
|
12
13
|
private accessor searchQuery;
|
|
13
14
|
private accessor actionFilter;
|
|
14
15
|
private accessor enabledFilter;
|
|
@@ -42,6 +42,9 @@ let SzRouteListView = (() => {
|
|
|
42
42
|
let _routes_decorators;
|
|
43
43
|
let _routes_initializers = [];
|
|
44
44
|
let _routes_extraInitializers = [];
|
|
45
|
+
let _showActionsFilter_decorators;
|
|
46
|
+
let _showActionsFilter_initializers = [];
|
|
47
|
+
let _showActionsFilter_extraInitializers = [];
|
|
45
48
|
let _searchQuery_decorators;
|
|
46
49
|
let _searchQuery_initializers = [];
|
|
47
50
|
let _searchQuery_extraInitializers = [];
|
|
@@ -56,10 +59,12 @@ let SzRouteListView = (() => {
|
|
|
56
59
|
static {
|
|
57
60
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
58
61
|
_routes_decorators = [property({ type: Array })];
|
|
62
|
+
_showActionsFilter_decorators = [property({ attribute: false })];
|
|
59
63
|
_searchQuery_decorators = [state()];
|
|
60
64
|
_actionFilter_decorators = [state()];
|
|
61
65
|
_enabledFilter_decorators = [state()];
|
|
62
66
|
__esDecorate(this, null, _routes_decorators, { kind: "accessor", name: "routes", static: false, private: false, access: { has: obj => "routes" in obj, get: obj => obj.routes, set: (obj, value) => { obj.routes = value; } }, metadata: _metadata }, _routes_initializers, _routes_extraInitializers);
|
|
67
|
+
__esDecorate(this, null, _showActionsFilter_decorators, { kind: "accessor", name: "showActionsFilter", static: false, private: false, access: { has: obj => "showActionsFilter" in obj, get: obj => obj.showActionsFilter, set: (obj, value) => { obj.showActionsFilter = value; } }, metadata: _metadata }, _showActionsFilter_initializers, _showActionsFilter_extraInitializers);
|
|
63
68
|
__esDecorate(this, null, _searchQuery_decorators, { kind: "accessor", name: "searchQuery", static: false, private: false, access: { has: obj => "searchQuery" in obj, get: obj => obj.searchQuery, set: (obj, value) => { obj.searchQuery = value; } }, metadata: _metadata }, _searchQuery_initializers, _searchQuery_extraInitializers);
|
|
64
69
|
__esDecorate(this, null, _actionFilter_decorators, { kind: "accessor", name: "actionFilter", static: false, private: false, access: { has: obj => "actionFilter" in obj, get: obj => obj.actionFilter, set: (obj, value) => { obj.actionFilter = value; } }, metadata: _metadata }, _actionFilter_initializers, _actionFilter_extraInitializers);
|
|
65
70
|
__esDecorate(this, null, _enabledFilter_decorators, { kind: "accessor", name: "enabledFilter", static: false, private: false, access: { has: obj => "enabledFilter" in obj, get: obj => obj.enabledFilter, set: (obj, value) => { obj.enabledFilter = value; } }, metadata: _metadata }, _enabledFilter_initializers, _enabledFilter_extraInitializers);
|
|
@@ -122,7 +127,10 @@ let SzRouteListView = (() => {
|
|
|
122
127
|
#routes_accessor_storage = __runInitializers(this, _routes_initializers, []);
|
|
123
128
|
get routes() { return this.#routes_accessor_storage; }
|
|
124
129
|
set routes(value) { this.#routes_accessor_storage = value; }
|
|
125
|
-
#
|
|
130
|
+
#showActionsFilter_accessor_storage = (__runInitializers(this, _routes_extraInitializers), __runInitializers(this, _showActionsFilter_initializers, null));
|
|
131
|
+
get showActionsFilter() { return this.#showActionsFilter_accessor_storage; }
|
|
132
|
+
set showActionsFilter(value) { this.#showActionsFilter_accessor_storage = value; }
|
|
133
|
+
#searchQuery_accessor_storage = (__runInitializers(this, _showActionsFilter_extraInitializers), __runInitializers(this, _searchQuery_initializers, ''));
|
|
126
134
|
get searchQuery() { return this.#searchQuery_accessor_storage; }
|
|
127
135
|
set searchQuery(value) { this.#searchQuery_accessor_storage = value; }
|
|
128
136
|
#actionFilter_accessor_storage = (__runInitializers(this, _searchQuery_extraInitializers), __runInitializers(this, _actionFilter_initializers, 'all'));
|
|
@@ -338,6 +346,7 @@ let SzRouteListView = (() => {
|
|
|
338
346
|
${filtered.map((route) => html `
|
|
339
347
|
<sz-route-card
|
|
340
348
|
.route=${route}
|
|
349
|
+
.showActions=${this.showActionsFilter?.(route) ?? false}
|
|
341
350
|
@click=${() => this.handleRouteClick(route)}
|
|
342
351
|
></sz-route-card>
|
|
343
352
|
`)}
|
|
@@ -369,4 +378,4 @@ let SzRouteListView = (() => {
|
|
|
369
378
|
return SzRouteListView = _classThis;
|
|
370
379
|
})();
|
|
371
380
|
export { SzRouteListView };
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtbGlzdC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXJvdXRlLWxpc3Qtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssR0FFTixNQUFNLDZCQUE2QixDQUFDO0lBV3hCLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7OytCQUFuQixTQUFRLFdBQVc7Ozs7a0NBdUQ3QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7NkNBR3pCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt1Q0FHOUIsS0FBSyxFQUFFO3dDQUdQLEtBQUssRUFBRTt5Q0FHUCxLQUFLLEVBQUU7WUFYUix1S0FBZ0IsTUFBTSw2QkFBTixNQUFNLHVGQUFzQjtZQUc1Qyx3TUFBZ0IsaUJBQWlCLDZCQUFqQixpQkFBaUIsNkdBQW1EO1lBR3BGLHNMQUFpQixXQUFXLDZCQUFYLFdBQVcsaUdBQWM7WUFHMUMseUxBQWlCLFlBQVksNkJBQVosWUFBWSxtR0FBbUM7WUFHaEUsNExBQWlCLGFBQWEsNkJBQWIsYUFBYSxxR0FBeUM7WUFwRXpFLDZLQXFUQzs7OztRQXBUUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O2tCQUdmO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDO2dCQUNwQyxL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
|
package/package.json
CHANGED
|
@@ -63,6 +63,12 @@ export interface IRouteMetadata {
|
|
|
63
63
|
lastResolvedAt?: number;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
export interface IRouteVpn {
|
|
67
|
+
enabled: boolean;
|
|
68
|
+
mandatory?: boolean;
|
|
69
|
+
allowedServerDefinedClientTags?: string[];
|
|
70
|
+
}
|
|
71
|
+
|
|
66
72
|
export interface IRouteConfig {
|
|
67
73
|
id?: string;
|
|
68
74
|
match: IRouteMatch;
|
|
@@ -70,6 +76,7 @@ export interface IRouteConfig {
|
|
|
70
76
|
security?: IRouteSecurity;
|
|
71
77
|
headers?: { request?: Record<string, string>; response?: Record<string, string> };
|
|
72
78
|
metadata?: IRouteMetadata;
|
|
79
|
+
vpn?: IRouteVpn;
|
|
73
80
|
name?: string;
|
|
74
81
|
description?: string;
|
|
75
82
|
priority?: number;
|
|
@@ -136,6 +143,11 @@ export class SzRouteCard extends DeesElement {
|
|
|
136
143
|
rateLimit: { enabled: true, maxRequests: 100, window: 60 },
|
|
137
144
|
maxConnections: 1000,
|
|
138
145
|
},
|
|
146
|
+
vpn: {
|
|
147
|
+
enabled: true,
|
|
148
|
+
mandatory: true,
|
|
149
|
+
allowedServerDefinedClientTags: ['admin', 'devops'],
|
|
150
|
+
},
|
|
139
151
|
metadata: {
|
|
140
152
|
securityProfileName: 'STANDARD',
|
|
141
153
|
networkTargetName: 'LOSSLESS_INFRA',
|
|
@@ -150,6 +162,9 @@ export class SzRouteCard extends DeesElement {
|
|
|
150
162
|
@property({ type: Object })
|
|
151
163
|
public accessor route: IRouteConfig | null = null;
|
|
152
164
|
|
|
165
|
+
@property({ type: Boolean })
|
|
166
|
+
public accessor showActions: boolean = false;
|
|
167
|
+
|
|
153
168
|
public static styles = [
|
|
154
169
|
cssManager.defaultStyles,
|
|
155
170
|
css`
|
|
@@ -459,6 +474,83 @@ export class SzRouteCard extends DeesElement {
|
|
|
459
474
|
color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
|
|
460
475
|
font-size: 13px;
|
|
461
476
|
}
|
|
477
|
+
|
|
478
|
+
.section.vpn {
|
|
479
|
+
border-left-color: ${cssManager.bdTheme('#0891b2', '#06b6d4')};
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.vpn-badge {
|
|
483
|
+
display: inline-flex;
|
|
484
|
+
align-items: center;
|
|
485
|
+
padding: 2px 8px;
|
|
486
|
+
border-radius: 9999px;
|
|
487
|
+
font-size: 11px;
|
|
488
|
+
font-weight: 600;
|
|
489
|
+
white-space: nowrap;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.vpn-badge.mandatory {
|
|
493
|
+
background: ${cssManager.bdTheme('#fff7ed', 'rgba(249, 115, 22, 0.2)')};
|
|
494
|
+
color: ${cssManager.bdTheme('#c2410c', '#fb923c')};
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.vpn-badge.optional {
|
|
498
|
+
background: ${cssManager.bdTheme('#ecfdf5', 'rgba(16, 185, 129, 0.2)')};
|
|
499
|
+
color: ${cssManager.bdTheme('#047857', '#34d399')};
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.vpn-tag {
|
|
503
|
+
display: inline-flex;
|
|
504
|
+
padding: 1px 6px;
|
|
505
|
+
border-radius: 3px;
|
|
506
|
+
font-size: 12px;
|
|
507
|
+
font-weight: 600;
|
|
508
|
+
font-family: monospace;
|
|
509
|
+
margin-right: 4px;
|
|
510
|
+
margin-bottom: 2px;
|
|
511
|
+
background: ${cssManager.bdTheme('#ecfeff', 'rgba(6, 182, 212, 0.15)')};
|
|
512
|
+
color: ${cssManager.bdTheme('#0e7490', '#22d3ee')};
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.card-actions {
|
|
516
|
+
display: flex;
|
|
517
|
+
gap: 8px;
|
|
518
|
+
margin-top: 14px;
|
|
519
|
+
padding-top: 12px;
|
|
520
|
+
border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#1a1a1a')};
|
|
521
|
+
justify-content: flex-end;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.action-btn {
|
|
525
|
+
display: inline-flex;
|
|
526
|
+
align-items: center;
|
|
527
|
+
gap: 4px;
|
|
528
|
+
padding: 5px 12px;
|
|
529
|
+
border-radius: 6px;
|
|
530
|
+
font-size: 12px;
|
|
531
|
+
font-weight: 500;
|
|
532
|
+
cursor: pointer;
|
|
533
|
+
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
|
534
|
+
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
|
535
|
+
color: ${cssManager.bdTheme('#52525b', '#a1a1aa')};
|
|
536
|
+
transition: all 150ms ease;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.action-btn:hover {
|
|
540
|
+
border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
|
|
541
|
+
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
|
542
|
+
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.action-btn.edit:hover {
|
|
546
|
+
border-color: ${cssManager.bdTheme('#93c5fd', 'rgba(59, 130, 246, 0.5)')};
|
|
547
|
+
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.action-btn.delete:hover {
|
|
551
|
+
border-color: ${cssManager.bdTheme('#fca5a5', 'rgba(239, 68, 68, 0.5)')};
|
|
552
|
+
color: ${cssManager.bdTheme('#dc2626', '#f87171')};
|
|
553
|
+
}
|
|
462
554
|
`,
|
|
463
555
|
];
|
|
464
556
|
|
|
@@ -652,11 +744,36 @@ export class SzRouteCard extends DeesElement {
|
|
|
652
744
|
`
|
|
653
745
|
: ''}
|
|
654
746
|
|
|
747
|
+
<!-- VPN Section -->
|
|
748
|
+
${this.renderVpn()}
|
|
749
|
+
|
|
655
750
|
<!-- Linked References Section -->
|
|
656
751
|
${this.renderLinked()}
|
|
657
752
|
|
|
658
753
|
<!-- Feature Icons Row -->
|
|
659
754
|
${this.renderFeatures()}
|
|
755
|
+
|
|
756
|
+
<!-- Action Buttons -->
|
|
757
|
+
${this.showActions ? html`
|
|
758
|
+
<div class="card-actions">
|
|
759
|
+
<button class="action-btn edit" @click=${(e: Event) => {
|
|
760
|
+
e.stopPropagation();
|
|
761
|
+
this.dispatchEvent(new CustomEvent('route-edit', {
|
|
762
|
+
detail: this.route,
|
|
763
|
+
bubbles: true,
|
|
764
|
+
composed: true,
|
|
765
|
+
}));
|
|
766
|
+
}}>Edit</button>
|
|
767
|
+
<button class="action-btn delete" @click=${(e: Event) => {
|
|
768
|
+
e.stopPropagation();
|
|
769
|
+
this.dispatchEvent(new CustomEvent('route-delete', {
|
|
770
|
+
detail: this.route,
|
|
771
|
+
bubbles: true,
|
|
772
|
+
composed: true,
|
|
773
|
+
}));
|
|
774
|
+
}}>Delete</button>
|
|
775
|
+
</div>
|
|
776
|
+
` : ''}
|
|
660
777
|
</div>
|
|
661
778
|
`;
|
|
662
779
|
}
|
|
@@ -669,6 +786,35 @@ export class SzRouteCard extends DeesElement {
|
|
|
669
786
|
)}`;
|
|
670
787
|
}
|
|
671
788
|
|
|
789
|
+
private renderVpn(): TemplateResult {
|
|
790
|
+
const vpn = this.route?.vpn;
|
|
791
|
+
if (!vpn?.enabled) return html``;
|
|
792
|
+
|
|
793
|
+
return html`
|
|
794
|
+
<div class="section vpn">
|
|
795
|
+
<div class="section-label">VPN Access</div>
|
|
796
|
+
<div class="field-row">
|
|
797
|
+
<span class="field-key">Mode</span>
|
|
798
|
+
<span class="field-value">
|
|
799
|
+
<span class="vpn-badge ${vpn.mandatory !== false ? 'mandatory' : 'optional'}">
|
|
800
|
+
${vpn.mandatory !== false ? 'VPN Only' : 'VPN + Public'}
|
|
801
|
+
</span>
|
|
802
|
+
</span>
|
|
803
|
+
</div>
|
|
804
|
+
${vpn.allowedServerDefinedClientTags?.length ? html`
|
|
805
|
+
<div class="field-row">
|
|
806
|
+
<span class="field-key">Tags</span>
|
|
807
|
+
<span class="field-value">
|
|
808
|
+
${vpn.allowedServerDefinedClientTags.map(
|
|
809
|
+
(tag) => html`<span class="vpn-tag">${tag}</span>`
|
|
810
|
+
)}
|
|
811
|
+
</span>
|
|
812
|
+
</div>
|
|
813
|
+
` : ''}
|
|
814
|
+
</div>
|
|
815
|
+
`;
|
|
816
|
+
}
|
|
817
|
+
|
|
672
818
|
private renderLinked(): TemplateResult {
|
|
673
819
|
const meta = this.route?.metadata;
|
|
674
820
|
if (!meta) return html``;
|
|
@@ -722,6 +868,9 @@ export class SzRouteCard extends DeesElement {
|
|
|
722
868
|
if (headers) {
|
|
723
869
|
features.push(html`<span class="feature"><span class="feature-icon">⚙</span>Headers</span>`);
|
|
724
870
|
}
|
|
871
|
+
if (this.route?.vpn?.enabled) {
|
|
872
|
+
features.push(html`<span class="feature"><span class="feature-icon">🔐</span>VPN</span>`);
|
|
873
|
+
}
|
|
725
874
|
if (meta?.securityProfileName || meta?.networkTargetName) {
|
|
726
875
|
features.push(html`<span class="feature"><span class="feature-icon">🔗</span>Linked</span>`);
|
|
727
876
|
}
|