@serve.zone/catalog 2.12.1 → 2.12.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/catalog",
3
- "version": "2.12.1",
3
+ "version": "2.12.3",
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.12.1',
6
+ version: '2.12.3',
7
7
  description: 'UI component catalog for serve.zone'
8
8
  }
@@ -163,26 +163,25 @@ export class SzRouteCard extends DeesElement {
163
163
  display: block;
164
164
  }
165
165
 
166
- .card {
167
- background: ${cssManager.bdTheme('#ffffff', '#09090b')};
168
- border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
169
- border-radius: 8px;
170
- padding: 20px;
166
+ dees-tile::part(outer) {
171
167
  transition: border-color 200ms ease, box-shadow 200ms ease;
172
168
  }
173
169
 
174
- .card:hover {
175
- border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
170
+ dees-tile:hover::part(outer) {
171
+ border-color: var(--dees-color-border-strong);
176
172
  box-shadow: 0 2px 8px ${cssManager.bdTheme('rgba(0,0,0,0.06)', 'rgba(0,0,0,0.2)')};
177
173
  }
178
174
 
179
175
  /* Header */
180
176
  .header {
181
177
  display: flex;
182
- align-items: flex-start;
178
+ align-items: center;
183
179
  justify-content: space-between;
184
180
  gap: 12px;
185
- margin-bottom: 4px;
181
+ height: 40px;
182
+ padding: 0 16px;
183
+ width: 100%;
184
+ box-sizing: border-box;
186
185
  }
187
186
 
188
187
  .header-left {
@@ -190,6 +189,7 @@ export class SzRouteCard extends DeesElement {
190
189
  align-items: center;
191
190
  gap: 8px;
192
191
  min-width: 0;
192
+ flex: 1;
193
193
  }
194
194
 
195
195
  .status-dot {
@@ -209,9 +209,10 @@ export class SzRouteCard extends DeesElement {
209
209
  }
210
210
 
211
211
  .route-name {
212
- font-size: 15px;
213
- font-weight: 600;
214
- color: ${cssManager.bdTheme('#18181b', '#fafafa')};
212
+ font-size: 14px;
213
+ font-weight: 500;
214
+ letter-spacing: -0.01em;
215
+ color: var(--dees-color-text-secondary);
215
216
  white-space: nowrap;
216
217
  overflow: hidden;
217
218
  text-overflow: ellipsis;
@@ -253,6 +254,10 @@ export class SzRouteCard extends DeesElement {
253
254
  color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
254
255
  }
255
256
 
257
+ .card-body {
258
+ padding: 16px 20px;
259
+ }
260
+
256
261
  .description {
257
262
  font-size: 13px;
258
263
  color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
@@ -296,7 +301,7 @@ export class SzRouteCard extends DeesElement {
296
301
  padding: 10px 14px;
297
302
  margin-bottom: 12px;
298
303
  border-radius: 0 6px 6px 0;
299
- background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
304
+ background: ${cssManager.bdTheme('#fafafa', '#101010')};
300
305
  }
301
306
 
302
307
  .section:last-of-type {
@@ -503,43 +508,52 @@ export class SzRouteCard extends DeesElement {
503
508
  color: ${cssManager.bdTheme('#0e7490', '#22d3ee')};
504
509
  }
505
510
 
506
- .card-actions {
511
+ .card-footer {
507
512
  display: flex;
508
- gap: 8px;
509
- margin-top: 14px;
510
- padding-top: 12px;
511
- border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#1a1a1a')};
513
+ flex-direction: row;
512
514
  justify-content: flex-end;
515
+ align-items: center;
516
+ gap: 0;
517
+ height: 36px;
518
+ width: 100%;
519
+ box-sizing: border-box;
513
520
  }
514
521
 
515
- .action-btn {
516
- display: inline-flex;
517
- align-items: center;
518
- gap: 4px;
519
- padding: 5px 12px;
520
- border-radius: 6px;
522
+ .tile-button {
523
+ padding: 0 16px;
524
+ height: 100%;
525
+ text-align: center;
521
526
  font-size: 12px;
522
527
  font-weight: 500;
523
528
  cursor: pointer;
524
- border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
525
- background: ${cssManager.bdTheme('#ffffff', '#09090b')};
526
- color: ${cssManager.bdTheme('#52525b', '#a1a1aa')};
527
- transition: all 150ms ease;
529
+ user-select: none;
530
+ transition: all 0.15s ease;
531
+ background: transparent;
532
+ border: none;
533
+ border-left: 1px solid var(--dees-color-border-subtle);
534
+ color: var(--dees-color-text-muted);
535
+ white-space: nowrap;
536
+ display: flex;
537
+ align-items: center;
538
+ gap: 6px;
539
+ font-family: inherit;
528
540
  }
529
541
 
530
- .action-btn:hover {
531
- border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
532
- background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
533
- color: ${cssManager.bdTheme('#18181b', '#fafafa')};
542
+ .tile-button:first-child {
543
+ border-left: none;
534
544
  }
535
545
 
536
- .action-btn.edit:hover {
537
- border-color: ${cssManager.bdTheme('#93c5fd', 'rgba(59, 130, 246, 0.5)')};
538
- color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
546
+ .tile-button:hover {
547
+ background: var(--dees-color-hover);
548
+ color: var(--dees-color-text-primary);
539
549
  }
540
550
 
541
- .action-btn.delete:hover {
542
- border-color: ${cssManager.bdTheme('#fca5a5', 'rgba(239, 68, 68, 0.5)')};
551
+ .tile-button.edit:hover {
552
+ color: ${cssManager.bdTheme('hsl(217.2 91.2% 59.8%)', 'hsl(213.1 93.9% 67.8%)')};
553
+ }
554
+
555
+ .tile-button.delete:hover {
556
+ background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.1)')};
543
557
  color: ${cssManager.bdTheme('#dc2626', '#f87171')};
544
558
  }
545
559
  `,
@@ -547,7 +561,11 @@ export class SzRouteCard extends DeesElement {
547
561
 
548
562
  public render(): TemplateResult {
549
563
  if (!this.route) {
550
- return html`<div class="card"><div class="no-route">No route data</div></div>`;
564
+ return html`
565
+ <dees-tile>
566
+ <div class="card-body"><div class="no-route">No route data</div></div>
567
+ </dees-tile>
568
+ `;
551
569
  }
552
570
 
553
571
  const r = this.route;
@@ -557,9 +575,9 @@ export class SzRouteCard extends DeesElement {
557
575
  const security = r.security;
558
576
 
559
577
  return html`
560
- <div class="card">
578
+ <dees-tile>
561
579
  <!-- Header -->
562
- <div class="header">
580
+ <div slot="header" class="header">
563
581
  <div class="header-left">
564
582
  <span class="status-dot ${isEnabled ? 'enabled' : 'disabled'}"></span>
565
583
  <span class="route-name">${r.name || r.id || 'Unnamed Route'}</span>
@@ -570,16 +588,17 @@ export class SzRouteCard extends DeesElement {
570
588
  </div>
571
589
  </div>
572
590
 
573
- ${r.description ? html`<div class="description">${r.description}</div>` : ''}
591
+ <div class="card-body">
592
+ ${r.description ? html`<div class="description">${r.description}</div>` : ''}
574
593
 
575
- <div class="meta-row">
576
- ${r.tags && r.tags.length > 0
577
- ? html`<div class="tags">${r.tags.map((t) => html`<span class="tag">${t}</span>`)}</div>`
578
- : html`<div></div>`}
579
- ${r.priority != null ? html`<span class="priority">Priority: ${r.priority}</span>` : ''}
580
- </div>
594
+ <div class="meta-row">
595
+ ${r.tags && r.tags.length > 0
596
+ ? html`<div class="tags">${r.tags.map((t) => html`<span class="tag">${t}</span>`)}</div>`
597
+ : html`<div></div>`}
598
+ ${r.priority != null ? html`<span class="priority">Priority: ${r.priority}</span>` : ''}
599
+ </div>
581
600
 
582
- <!-- Match Section -->
601
+ <!-- Match Section -->
583
602
  <div class="section match">
584
603
  <div class="section-label">Match</div>
585
604
  <div class="field-row">
@@ -735,19 +754,20 @@ export class SzRouteCard extends DeesElement {
735
754
  `
736
755
  : ''}
737
756
 
738
- <!-- VPN Section -->
739
- ${this.renderVpn()}
757
+ <!-- VPN Section -->
758
+ ${this.renderVpn()}
740
759
 
741
- <!-- Linked References Section -->
742
- ${this.renderLinked()}
760
+ <!-- Linked References Section -->
761
+ ${this.renderLinked()}
743
762
 
744
- <!-- Feature Icons Row -->
745
- ${this.renderFeatures()}
763
+ <!-- Feature Icons Row -->
764
+ ${this.renderFeatures()}
765
+ </div>
746
766
 
747
767
  <!-- Action Buttons -->
748
768
  ${this.showActions ? html`
749
- <div class="card-actions">
750
- <button class="action-btn edit" @click=${(e: Event) => {
769
+ <div slot="footer" class="card-footer">
770
+ <button class="tile-button edit" @click=${(e: Event) => {
751
771
  e.stopPropagation();
752
772
  this.dispatchEvent(new CustomEvent('route-edit', {
753
773
  detail: this.route,
@@ -755,7 +775,7 @@ export class SzRouteCard extends DeesElement {
755
775
  composed: true,
756
776
  }));
757
777
  }}>Edit</button>
758
- <button class="action-btn delete" @click=${(e: Event) => {
778
+ <button class="tile-button delete" @click=${(e: Event) => {
759
779
  e.stopPropagation();
760
780
  this.dispatchEvent(new CustomEvent('route-delete', {
761
781
  detail: this.route,
@@ -765,7 +785,7 @@ export class SzRouteCard extends DeesElement {
765
785
  }}>Delete</button>
766
786
  </div>
767
787
  ` : ''}
768
- </div>
788
+ </dees-tile>
769
789
  `;
770
790
  }
771
791