@serve.zone/catalog 2.10.0 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/catalog',
6
- version: '2.10.0',
6
+ version: '2.11.1',
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 Mandatory' : 'VPN Voluntary'}
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">&#x2699;</span>Headers</span>`);
685
826
  }
827
+ if (this.route?.vpn?.enabled) {
828
+ features.push(html `<span class="feature"><span class="feature-icon">&#x1f510;</span>VPN</span>`);
829
+ }
686
830
  if (meta?.securityProfileName || meta?.networkTargetName) {
687
831
  features.push(html `<span class="feature"><span class="feature-icon">&#x1f517;</span>Linked</span>`);
688
832
  }
@@ -692,7 +836,7 @@ let SzRouteCard = (() => {
692
836
  }
693
837
  constructor() {
694
838
  super(...arguments);
695
- __runInitializers(this, _route_extraInitializers);
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
- #searchQuery_accessor_storage = (__runInitializers(this, _routes_extraInitializers), __runInitializers(this, _searchQuery_initializers, ''));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtbGlzdC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXJvdXRlLWxpc3Qtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssR0FFTixNQUFNLDZCQUE2QixDQUFDO0lBV3hCLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7OytCQUFuQixTQUFRLFdBQVc7Ozs7a0NBdUQ3QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7dUNBR3pCLEtBQUssRUFBRTt3Q0FHUCxLQUFLLEVBQUU7eUNBR1AsS0FBSyxFQUFFO1lBUlIsdUtBQWdCLE1BQU0sNkJBQU4sTUFBTSx1RkFBc0I7WUFHNUMsc0xBQWlCLFdBQVcsNkJBQVgsV0FBVyxpR0FBYztZQUcxQyx5TEFBaUIsWUFBWSw2QkFBWixZQUFZLG1HQUFtQztZQUdoRSw0TEFBaUIsYUFBYSw2QkFBYixhQUFhLHFHQUF5QztZQWpFekUsNktBaVRDOzs7O1FBaFRRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7a0JBR2Y7WUFDUjtnQkFDRSxJQUFJLEVBQUUsZUFBZTtnQkFDckIsV0FBVyxFQUFFLHVDQUF1QztnQkFDcEQsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUM7Z0JBQ3BDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFlLEVB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
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtbGlzdC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXJvdXRlLWxpc3Qtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssR0FFTixNQUFNLDZCQUE2QixDQUFDO0lBV3hCLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7OytCQUFuQixTQUFRLFdBQVc7Ozs7a0NBdUQ3QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7NkNBR3pCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt1Q0FHOUIsS0FBSyxFQUFFO3dDQUdQLEtBQUssRUFBRTt5Q0FHUCxLQUFLLEVBQUU7WUFYUix1S0FBZ0IsTUFBTSw2QkFBTixNQUFNLHVGQUFzQjtZQUc1Qyx3TUFBZ0IsaUJBQWlCLDZCQUFqQixpQkFBaUIsNkdBQW1EO1lBR3BGLHNMQUFpQixXQUFXLDZCQUFYLFdBQVcsaUdBQWM7WUFHMUMseUxBQWlCLFlBQVksNkJBQVosWUFBWSxtR0FBbUM7WUFHaEUsNExBQWlCLGFBQWEsNkJBQWIsYUFBYSxxR0FBeUM7WUFwRXpFLDZLQXFUQzs7OztRQXBUUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O2tCQUdmO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDO2dCQUNwQyxL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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/catalog",
3
- "version": "2.10.0",
3
+ "version": "2.11.1",
4
4
  "private": false,
5
5
  "description": "UI component catalog for serve.zone",
6
6
  "main": "dist_ts_web/index.js",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/catalog',
6
- version: '2.10.0',
6
+ version: '2.11.1',
7
7
  description: 'UI component catalog for serve.zone'
8
8
  }
@@ -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 Mandatory' : 'VPN Voluntary'}
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">&#x2699;</span>Headers</span>`);
724
870
  }
871
+ if (this.route?.vpn?.enabled) {
872
+ features.push(html`<span class="feature"><span class="feature-icon">&#x1f510;</span>VPN</span>`);
873
+ }
725
874
  if (meta?.securityProfileName || meta?.networkTargetName) {
726
875
  features.push(html`<span class="feature"><span class="feature-icon">&#x1f517;</span>Linked</span>`);
727
876
  }