@design.estate/dees-catalog 3.36.0 → 3.37.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.
@@ -502,6 +502,219 @@ let DeesStatsGrid = (() => {
502
502
  max-width: 100%;
503
503
  }
504
504
 
505
+ /* Partition Styles */
506
+ .partition-wrapper {
507
+ width: 100%;
508
+ display: flex;
509
+ flex-direction: column;
510
+ flex: 1;
511
+ gap: 8px;
512
+ }
513
+
514
+ .partition-header {
515
+ display: flex;
516
+ align-items: baseline;
517
+ gap: 8px;
518
+ }
519
+
520
+ .partition-percentage {
521
+ font-size: var(--value-font-size);
522
+ font-weight: 600;
523
+ color: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
524
+ line-height: 1.1;
525
+ letter-spacing: -0.025em;
526
+ }
527
+
528
+ .partition-bar {
529
+ width: 100%;
530
+ height: 6px;
531
+ background: ${cssManager.bdTheme('#e8e8e8', '#1a1a1a')};
532
+ border-radius: 3px;
533
+ overflow: hidden;
534
+ }
535
+
536
+ .partition-bar-fill {
537
+ height: 100%;
538
+ background: ${cssManager.bdTheme('#333333', '#e0e0e0')};
539
+ transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
540
+ border-radius: 3px;
541
+ }
542
+
543
+ .partition-bar-fill.warning {
544
+ background: ${cssManager.bdTheme('hsl(45.4 93.4% 47.5%)', 'hsl(45.4 93.4% 47.5%)')};
545
+ }
546
+
547
+ .partition-bar-fill.critical {
548
+ background: ${cssManager.bdTheme('hsl(0 84.2% 60.2%)', 'hsl(0 84.2% 60.2%)')};
549
+ }
550
+
551
+ .partition-stats {
552
+ display: flex;
553
+ justify-content: space-between;
554
+ align-items: center;
555
+ margin-top: auto;
556
+ }
557
+
558
+ .partition-stat {
559
+ display: flex;
560
+ flex-direction: column;
561
+ gap: 2px;
562
+ }
563
+
564
+ .partition-stat-label {
565
+ font-size: 10px;
566
+ font-weight: 500;
567
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
568
+ text-transform: uppercase;
569
+ letter-spacing: 0.02em;
570
+ }
571
+
572
+ .partition-stat-value {
573
+ font-size: 13px;
574
+ font-weight: 600;
575
+ color: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
576
+ letter-spacing: -0.01em;
577
+ }
578
+
579
+ .partition-meta {
580
+ display: flex;
581
+ align-items: center;
582
+ gap: 6px;
583
+ margin-top: 4px;
584
+ }
585
+
586
+ .partition-filesystem {
587
+ font-size: 11px;
588
+ font-weight: 500;
589
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 46.9%)', 'hsl(215 20.2% 65.1%)')};
590
+ background: ${cssManager.bdTheme('hsl(210 40% 96.1%)', 'hsl(215 20.2% 16.8%)')};
591
+ padding: 2px 6px;
592
+ border-radius: 3px;
593
+ }
594
+
595
+ .partition-mountpoint {
596
+ font-size: 11px;
597
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
598
+ }
599
+
600
+ /* Disk Styles */
601
+ .disk-wrapper {
602
+ width: 100%;
603
+ display: flex;
604
+ flex-direction: column;
605
+ flex: 1;
606
+ gap: 8px;
607
+ }
608
+
609
+ .disk-capacity {
610
+ font-size: var(--value-font-size);
611
+ font-weight: 600;
612
+ color: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
613
+ line-height: 1.1;
614
+ letter-spacing: -0.025em;
615
+ }
616
+
617
+ .disk-model {
618
+ font-size: 12px;
619
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 46.9%)', 'hsl(215 20.2% 65.1%)')};
620
+ display: flex;
621
+ align-items: center;
622
+ gap: 6px;
623
+ }
624
+
625
+ .disk-type-badge {
626
+ font-size: 10px;
627
+ font-weight: 600;
628
+ text-transform: uppercase;
629
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 46.9%)', 'hsl(215 20.2% 65.1%)')};
630
+ background: ${cssManager.bdTheme('hsl(210 40% 96.1%)', 'hsl(215 20.2% 16.8%)')};
631
+ padding: 2px 6px;
632
+ border-radius: 3px;
633
+ }
634
+
635
+ .disk-metrics {
636
+ display: flex;
637
+ flex-direction: column;
638
+ gap: 8px;
639
+ margin-top: auto;
640
+ }
641
+
642
+ .disk-iops {
643
+ display: flex;
644
+ align-items: center;
645
+ gap: 12px;
646
+ }
647
+
648
+ .disk-iops-item {
649
+ display: flex;
650
+ align-items: baseline;
651
+ gap: 4px;
652
+ }
653
+
654
+ .disk-iops-label {
655
+ font-size: 10px;
656
+ font-weight: 500;
657
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
658
+ text-transform: uppercase;
659
+ }
660
+
661
+ .disk-iops-value {
662
+ font-size: 13px;
663
+ font-weight: 600;
664
+ color: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
665
+ }
666
+
667
+ .disk-health {
668
+ display: flex;
669
+ flex-direction: column;
670
+ gap: 4px;
671
+ }
672
+
673
+ .disk-health-header {
674
+ display: flex;
675
+ justify-content: space-between;
676
+ align-items: baseline;
677
+ }
678
+
679
+ .disk-health-label {
680
+ font-size: 10px;
681
+ font-weight: 500;
682
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
683
+ text-transform: uppercase;
684
+ }
685
+
686
+ .disk-health-value {
687
+ font-size: 12px;
688
+ font-weight: 600;
689
+ color: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
690
+ }
691
+
692
+ .disk-health-bar {
693
+ width: 100%;
694
+ height: 4px;
695
+ background: ${cssManager.bdTheme('#e8e8e8', '#1a1a1a')};
696
+ border-radius: 2px;
697
+ overflow: hidden;
698
+ }
699
+
700
+ .disk-health-fill {
701
+ height: 100%;
702
+ transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
703
+ border-radius: 2px;
704
+ }
705
+
706
+ .disk-health-fill.good {
707
+ background: ${cssManager.bdTheme('hsl(142.1 76.2% 36.3%)', 'hsl(142.1 70.6% 45.3%)')};
708
+ }
709
+
710
+ .disk-health-fill.warning {
711
+ background: ${cssManager.bdTheme('hsl(45.4 93.4% 47.5%)', 'hsl(45.4 93.4% 47.5%)')};
712
+ }
713
+
714
+ .disk-health-fill.critical {
715
+ background: ${cssManager.bdTheme('hsl(0 84.2% 60.2%)', 'hsl(0 84.2% 60.2%)')};
716
+ }
717
+
505
718
  /* Trend Styles */
506
719
  .trend-container {
507
720
  width: 100%;
@@ -666,6 +879,10 @@ let DeesStatsGrid = (() => {
666
879
  return this.renderMultiPercentage(tile);
667
880
  case 'cpuCores':
668
881
  return this.renderCpuCores(tile);
882
+ case 'partition':
883
+ return this.renderPartition(tile);
884
+ case 'disk':
885
+ return this.renderDisk(tile);
669
886
  case 'text':
670
887
  return html `
671
888
  <div class="text-value" style="${tile.color ? `color: ${tile.color}` : ''}">
@@ -860,6 +1077,110 @@ let DeesStatsGrid = (() => {
860
1077
  })}
861
1078
  </div>
862
1079
  </div>
1080
+ `;
1081
+ }
1082
+ formatBytes(bytes) {
1083
+ if (bytes === 0)
1084
+ return '0 B';
1085
+ const k = 1024;
1086
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
1087
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
1088
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
1089
+ }
1090
+ renderPartition(tile) {
1091
+ if (!tile.partitionData) {
1092
+ return html `<div class="tile-value">${tile.value}</div>`;
1093
+ }
1094
+ const { used, total, filesystem, mountPoint } = tile.partitionData;
1095
+ const percentage = Math.min(100, Math.max(0, (used / total) * 100));
1096
+ const free = total - used;
1097
+ // Determine color class based on usage
1098
+ const getColorClass = () => {
1099
+ if (percentage >= 90)
1100
+ return 'critical';
1101
+ if (percentage >= 75)
1102
+ return 'warning';
1103
+ return '';
1104
+ };
1105
+ return html `
1106
+ <div class="partition-wrapper">
1107
+ <div class="partition-header">
1108
+ <span class="partition-percentage">${Math.round(percentage)}%</span>
1109
+ </div>
1110
+ <div class="partition-bar">
1111
+ <div
1112
+ class="partition-bar-fill ${getColorClass()}"
1113
+ style="width: ${percentage}%"
1114
+ ></div>
1115
+ </div>
1116
+ <div class="partition-stats">
1117
+ <div class="partition-stat">
1118
+ <span class="partition-stat-label">Used</span>
1119
+ <span class="partition-stat-value">${this.formatBytes(used)}</span>
1120
+ </div>
1121
+ <div class="partition-stat">
1122
+ <span class="partition-stat-label">Free</span>
1123
+ <span class="partition-stat-value">${this.formatBytes(free)}</span>
1124
+ </div>
1125
+ </div>
1126
+ <div class="partition-meta">
1127
+ <span class="partition-filesystem">${filesystem}</span>
1128
+ ${mountPoint ? html `<span class="partition-mountpoint">${mountPoint}</span>` : ''}
1129
+ </div>
1130
+ </div>
1131
+ `;
1132
+ }
1133
+ renderDisk(tile) {
1134
+ if (!tile.diskData) {
1135
+ return html `<div class="tile-value">${tile.value}</div>`;
1136
+ }
1137
+ const { capacity, model, type, iops, health } = tile.diskData;
1138
+ // Determine health color class (inverted - high is good)
1139
+ const getHealthClass = (value) => {
1140
+ if (value >= 70)
1141
+ return 'good';
1142
+ if (value >= 30)
1143
+ return 'warning';
1144
+ return 'critical';
1145
+ };
1146
+ return html `
1147
+ <div class="disk-wrapper">
1148
+ <div class="disk-capacity">${this.formatBytes(capacity)}</div>
1149
+ ${model || type ? html `
1150
+ <div class="disk-model">
1151
+ ${model ? html `<span>${model}</span>` : ''}
1152
+ ${type ? html `<span class="disk-type-badge">${type}</span>` : ''}
1153
+ </div>
1154
+ ` : ''}
1155
+ <div class="disk-metrics">
1156
+ ${iops ? html `
1157
+ <div class="disk-iops">
1158
+ <div class="disk-iops-item">
1159
+ <span class="disk-iops-label">Read</span>
1160
+ <span class="disk-iops-value">${iops.read.toLocaleString()}</span>
1161
+ </div>
1162
+ <div class="disk-iops-item">
1163
+ <span class="disk-iops-label">Write</span>
1164
+ <span class="disk-iops-value">${iops.write.toLocaleString()}</span>
1165
+ </div>
1166
+ </div>
1167
+ ` : ''}
1168
+ ${health !== undefined ? html `
1169
+ <div class="disk-health">
1170
+ <div class="disk-health-header">
1171
+ <span class="disk-health-label">Health</span>
1172
+ <span class="disk-health-value">${health}%</span>
1173
+ </div>
1174
+ <div class="disk-health-bar">
1175
+ <div
1176
+ class="disk-health-fill ${getHealthClass(health)}"
1177
+ style="width: ${health}%"
1178
+ ></div>
1179
+ </div>
1180
+ </div>
1181
+ ` : ''}
1182
+ </div>
1183
+ </div>
863
1184
  `;
864
1185
  }
865
1186
  async handleGridAction(action) {
@@ -896,4 +1217,4 @@ let DeesStatsGrid = (() => {
896
1217
  return DeesStatsGrid = _classThis;
897
1218
  })();
898
1219
  export { DeesStatsGrid };
899
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zdGF0c2dyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvZGVlcy1zdGF0c2dyaWQvZGVlcy1zdGF0c2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBR3JDLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztJQXNEdEMsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGdCQUFnQixDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQW5CLFNBQVEsV0FBVzs7OztpQ0FHM0MsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO3dDQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7K0JBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt1Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDOzhDQUd6QixLQUFLLEVBQUU7K0NBR1AsS0FBSyxFQUFFOzhDQUdQLEtBQUssRUFBRTtZQWpCUixvS0FBUyxLQUFLLDZCQUFMLEtBQUsscUZBQW9C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
1220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zdGF0c2dyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvZGVlcy1zdGF0c2dyaWQvZGVlcy1zdGF0c2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBR3JDLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztJQThFdEMsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGdCQUFnQixDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQW5CLFNBQVEsV0FBVzs7OztpQ0FHM0MsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO3dDQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7K0JBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt1Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDOzhDQUd6QixLQUFLLEVBQUU7K0NBR1AsS0FBSyxFQUFFOzhDQUdQLEtBQUssRUFBRTtZQWpCUixvS0FBUyxLQUFLLDZCQUFMLEtBQUsscUZBQW9C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