@design.estate/dees-catalog 3.36.0 → 3.37.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 +589 -48
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +6 -0
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +69 -29
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +75 -6
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.d.ts +22 -1
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.demo.js +130 -2
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.js +322 -1
- package/dist_watch/bundle.js +588 -47
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +68 -28
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +78 -6
- package/ts_web/elements/dees-statsgrid/dees-statsgrid.demo.ts +130 -2
- package/ts_web/elements/dees-statsgrid/dees-statsgrid.ts +352 -1
package/dist_watch/bundle.js
CHANGED
|
@@ -53587,26 +53587,26 @@ var init_fontawesome_svg_core = __esm({
|
|
|
53587
53587
|
}
|
|
53588
53588
|
};
|
|
53589
53589
|
parse7 = {
|
|
53590
|
-
icon: function icon(
|
|
53591
|
-
if (
|
|
53590
|
+
icon: function icon(_icon3) {
|
|
53591
|
+
if (_icon3 === null) {
|
|
53592
53592
|
return null;
|
|
53593
53593
|
}
|
|
53594
|
-
if (_typeof(
|
|
53594
|
+
if (_typeof(_icon3) === "object" && _icon3.prefix && _icon3.iconName) {
|
|
53595
53595
|
return {
|
|
53596
|
-
prefix:
|
|
53597
|
-
iconName: byAlias(
|
|
53596
|
+
prefix: _icon3.prefix,
|
|
53597
|
+
iconName: byAlias(_icon3.prefix, _icon3.iconName) || _icon3.iconName
|
|
53598
53598
|
};
|
|
53599
53599
|
}
|
|
53600
|
-
if (Array.isArray(
|
|
53601
|
-
var iconName =
|
|
53602
|
-
var prefix4 = getCanonicalPrefix(
|
|
53600
|
+
if (Array.isArray(_icon3) && _icon3.length === 2) {
|
|
53601
|
+
var iconName = _icon3[1].indexOf("fa-") === 0 ? _icon3[1].slice(3) : _icon3[1];
|
|
53602
|
+
var prefix4 = getCanonicalPrefix(_icon3[0]);
|
|
53603
53603
|
return {
|
|
53604
53604
|
prefix: prefix4,
|
|
53605
53605
|
iconName: byAlias(prefix4, iconName) || iconName
|
|
53606
53606
|
};
|
|
53607
53607
|
}
|
|
53608
|
-
if (typeof
|
|
53609
|
-
var canonicalIcon = getCanonicalIcon(
|
|
53608
|
+
if (typeof _icon3 === "string" && (_icon3.indexOf("".concat(config2.cssPrefix, "-")) > -1 || _icon3.match(ICON_SELECTION_SYNTAX_PATTERN))) {
|
|
53609
|
+
var canonicalIcon = getCanonicalIcon(_icon3.split(" "), {
|
|
53610
53610
|
skipLookups: true
|
|
53611
53611
|
});
|
|
53612
53612
|
return {
|
|
@@ -53614,11 +53614,11 @@ var init_fontawesome_svg_core = __esm({
|
|
|
53614
53614
|
iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
|
|
53615
53615
|
};
|
|
53616
53616
|
}
|
|
53617
|
-
if (typeof
|
|
53617
|
+
if (typeof _icon3 === "string") {
|
|
53618
53618
|
var _prefix = getDefaultUsablePrefix();
|
|
53619
53619
|
return {
|
|
53620
53620
|
prefix: _prefix,
|
|
53621
|
-
iconName: byAlias(_prefix,
|
|
53621
|
+
iconName: byAlias(_prefix, _icon3) || _icon3
|
|
53622
53622
|
};
|
|
53623
53623
|
}
|
|
53624
53624
|
}
|
|
@@ -113576,7 +113576,49 @@ var generateCpuCores = (count2) => {
|
|
|
113576
113576
|
}));
|
|
113577
113577
|
};
|
|
113578
113578
|
var demoFunc7 = () => {
|
|
113579
|
-
return b2(_a11 || (_a11 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div id="action-output" style="margin-top: 16px; padding: 12px; background: ', "; border-radius: 6px; font-size: 14px; font-family: monospace; color: ", ';">\n <em>Click on tile actions or grid actions to see the result...</em>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div class="tile-config">\n <div class="config-section">\n <div class="config-title">Configuration Options</div>\n <div class="config-description">\n Each tile type supports different properties:\n <ul style="margin: 8px 0; padding-left: 20px;">\n <li><strong>Number:</strong> value, unit, color, description</li>\n <li><strong>Gauge:</strong> value, unit, gaugeOptions (min, max, thresholds)</li>\n <li><strong>Percentage:</strong> value (0-100), color, description</li>\n <li><strong>Trend:</strong> value, unit, trendData array, description</li>\n <li><strong>Text:</strong> value (string), color, description</li>\n </ul>\n </div>\n </div>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", '>\n <h4 style="margin: 0 0 16px 0; font-size: 16px; font-weight: 600;">Compact Layout (180px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <h4 style="margin: 24px 0 16px 0; font-size: 16px; font-weight: 600;">Spacious Layout (320px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="cpu-cores-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="interactive-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <div class="code-block">', "</div>\n </dees-panel>\n
|
|
113579
|
+
return b2(_a11 || (_a11 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div id="action-output" style="margin-top: 16px; padding: 12px; background: ', "; border-radius: 6px; font-size: 14px; font-family: monospace; color: ", ';">\n <em>Click on tile actions or grid actions to see the result...</em>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div class="tile-config">\n <div class="config-section">\n <div class="config-title">Configuration Options</div>\n <div class="config-description">\n Each tile type supports different properties:\n <ul style="margin: 8px 0; padding-left: 20px;">\n <li><strong>Number:</strong> value, unit, color, description</li>\n <li><strong>Gauge:</strong> value, unit, gaugeOptions (min, max, thresholds)</li>\n <li><strong>Percentage:</strong> value (0-100), color, description</li>\n <li><strong>Trend:</strong> value, unit, trendData array, description</li>\n <li><strong>Text:</strong> value (string), color, description</li>\n </ul>\n </div>\n </div>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", '>\n <h4 style="margin: 0 0 16px 0; font-size: 16px; font-weight: 600;">Compact Layout (180px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <h4 style="margin: 24px 0 16px 0; font-size: 16px; font-weight: 600;">Spacious Layout (320px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="cpu-cores-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="interactive-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <div class="code-block">', "</div>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .minTileWidth=", "\n .gap=", `
|
|
113580
|
+
></dees-statsgrid>
|
|
113581
|
+
|
|
113582
|
+
<div class="tile-config">
|
|
113583
|
+
<div class="config-section">
|
|
113584
|
+
<div class="config-title">Partition Tile Properties</div>
|
|
113585
|
+
<div class="config-description">
|
|
113586
|
+
<ul style="margin: 8px 0; padding-left: 20px;">
|
|
113587
|
+
<li><strong>partitionData.used:</strong> Used space in bytes (auto-formatted)</li>
|
|
113588
|
+
<li><strong>partitionData.total:</strong> Total capacity in bytes</li>
|
|
113589
|
+
<li><strong>partitionData.filesystem:</strong> Filesystem type (ext4, xfs, ntfs)</li>
|
|
113590
|
+
<li><strong>partitionData.mountPoint:</strong> Mount point path (optional)</li>
|
|
113591
|
+
</ul>
|
|
113592
|
+
Color thresholds: Normal (<75%), Warning (75-90%), Critical (>90%)
|
|
113593
|
+
</div>
|
|
113594
|
+
</div>
|
|
113595
|
+
<div class="config-section">
|
|
113596
|
+
<div class="config-title">Disk Tile Properties</div>
|
|
113597
|
+
<div class="config-description">
|
|
113598
|
+
<ul style="margin: 8px 0; padding-left: 20px;">
|
|
113599
|
+
<li><strong>diskData.capacity:</strong> Total capacity in bytes</li>
|
|
113600
|
+
<li><strong>diskData.model:</strong> Disk model name (optional)</li>
|
|
113601
|
+
<li><strong>diskData.type:</strong> Disk type: 'ssd', 'hdd', or 'nvme'</li>
|
|
113602
|
+
<li><strong>diskData.iops:</strong> Read/write IOPS (optional)</li>
|
|
113603
|
+
<li><strong>diskData.health:</strong> Health percentage 0-100 (optional)</li>
|
|
113604
|
+
</ul>
|
|
113605
|
+
Health thresholds: Good (70-100%), Warning (30-70%), Critical (<30%)
|
|
113606
|
+
</div>
|
|
113607
|
+
</div>
|
|
113608
|
+
</div>
|
|
113609
|
+
</dees-panel>
|
|
113610
|
+
</div>
|
|
113611
|
+
|
|
113612
|
+
<script>
|
|
113613
|
+
// Cleanup live updates on page unload
|
|
113614
|
+
window.addEventListener('beforeunload', () => {
|
|
113615
|
+
if ((window as any).liveUpdateInterval) {
|
|
113616
|
+
clearInterval((window as any).liveUpdateInterval);
|
|
113617
|
+
}
|
|
113618
|
+
});
|
|
113619
|
+
<\/script>
|
|
113620
|
+
</dees-demowrapper>
|
|
113621
|
+
`])), i`
|
|
113580
113622
|
.demo-container {
|
|
113581
113623
|
display: flex;
|
|
113582
113624
|
flex-direction: column;
|
|
@@ -114072,7 +114114,108 @@ html\`
|
|
|
114072
114114
|
}
|
|
114073
114115
|
]}
|
|
114074
114116
|
></dees-statsgrid>
|
|
114075
|
-
|
|
114117
|
+
\`;`, "7. Disk & Storage Tiles", "Partition and physical disk visualization tiles", [
|
|
114118
|
+
{
|
|
114119
|
+
id: "root-partition",
|
|
114120
|
+
title: "Root Partition",
|
|
114121
|
+
value: 0,
|
|
114122
|
+
type: "partition",
|
|
114123
|
+
icon: "lucide:folder-root",
|
|
114124
|
+
partitionData: {
|
|
114125
|
+
used: 698341425152,
|
|
114126
|
+
// ~650 GB
|
|
114127
|
+
total: 1073741824e3,
|
|
114128
|
+
// ~1 TB
|
|
114129
|
+
filesystem: "ext4",
|
|
114130
|
+
mountPoint: "/"
|
|
114131
|
+
}
|
|
114132
|
+
},
|
|
114133
|
+
{
|
|
114134
|
+
id: "home-partition",
|
|
114135
|
+
title: "Home Partition",
|
|
114136
|
+
value: 0,
|
|
114137
|
+
type: "partition",
|
|
114138
|
+
icon: "lucide:home",
|
|
114139
|
+
partitionData: {
|
|
114140
|
+
used: 214748364800,
|
|
114141
|
+
// ~200 GB
|
|
114142
|
+
total: 536870912e3,
|
|
114143
|
+
// ~500 GB
|
|
114144
|
+
filesystem: "ext4",
|
|
114145
|
+
mountPoint: "/home"
|
|
114146
|
+
}
|
|
114147
|
+
},
|
|
114148
|
+
{
|
|
114149
|
+
id: "data-partition",
|
|
114150
|
+
title: "Data Partition",
|
|
114151
|
+
value: 0,
|
|
114152
|
+
type: "partition",
|
|
114153
|
+
icon: "lucide:database",
|
|
114154
|
+
partitionData: {
|
|
114155
|
+
used: 1932735283200,
|
|
114156
|
+
// ~1.8 TB (90% - critical)
|
|
114157
|
+
total: 2147483648e3,
|
|
114158
|
+
// ~2 TB
|
|
114159
|
+
filesystem: "xfs",
|
|
114160
|
+
mountPoint: "/data"
|
|
114161
|
+
}
|
|
114162
|
+
},
|
|
114163
|
+
{
|
|
114164
|
+
id: "nvme-ssd",
|
|
114165
|
+
title: "Primary NVMe",
|
|
114166
|
+
value: 0,
|
|
114167
|
+
type: "disk",
|
|
114168
|
+
icon: "lucide:hard-drive",
|
|
114169
|
+
columnSpan: 2,
|
|
114170
|
+
diskData: {
|
|
114171
|
+
capacity: 2e12,
|
|
114172
|
+
// 2 TB
|
|
114173
|
+
model: "Samsung 990 Pro",
|
|
114174
|
+
type: "nvme",
|
|
114175
|
+
iops: {
|
|
114176
|
+
read: 7450,
|
|
114177
|
+
write: 6900
|
|
114178
|
+
},
|
|
114179
|
+
health: 98
|
|
114180
|
+
}
|
|
114181
|
+
},
|
|
114182
|
+
{
|
|
114183
|
+
id: "sata-ssd",
|
|
114184
|
+
title: "Secondary SSD",
|
|
114185
|
+
value: 0,
|
|
114186
|
+
type: "disk",
|
|
114187
|
+
icon: "lucide:hard-drive",
|
|
114188
|
+
diskData: {
|
|
114189
|
+
capacity: 1e12,
|
|
114190
|
+
// 1 TB
|
|
114191
|
+
model: "Crucial MX500",
|
|
114192
|
+
type: "ssd",
|
|
114193
|
+
iops: {
|
|
114194
|
+
read: 560,
|
|
114195
|
+
write: 510
|
|
114196
|
+
},
|
|
114197
|
+
health: 85
|
|
114198
|
+
}
|
|
114199
|
+
},
|
|
114200
|
+
{
|
|
114201
|
+
id: "hdd-storage",
|
|
114202
|
+
title: "Backup HDD",
|
|
114203
|
+
value: 0,
|
|
114204
|
+
type: "disk",
|
|
114205
|
+
icon: "lucide:archive",
|
|
114206
|
+
diskData: {
|
|
114207
|
+
capacity: 8e12,
|
|
114208
|
+
// 8 TB
|
|
114209
|
+
model: "Seagate IronWolf",
|
|
114210
|
+
type: "hdd",
|
|
114211
|
+
iops: {
|
|
114212
|
+
read: 210,
|
|
114213
|
+
write: 195
|
|
114214
|
+
},
|
|
114215
|
+
health: 42
|
|
114216
|
+
}
|
|
114217
|
+
}
|
|
114218
|
+
], 280, 16);
|
|
114076
114219
|
};
|
|
114077
114220
|
|
|
114078
114221
|
// ts_web/elements/00group-input/dees-input-base/dees-input-base.ts
|
|
@@ -127643,54 +127786,94 @@ var demoFunc26 = () => b2`
|
|
|
127643
127786
|
<dees-panel .title=${"3. Buttons with Icons"} .subtitle=${"Combining icons with text for enhanced visual communication"}>
|
|
127644
127787
|
<div class="icon-row">
|
|
127645
127788
|
<dees-button>
|
|
127646
|
-
<dees-icon
|
|
127789
|
+
<dees-icon icon="fa:plus"></dees-icon>
|
|
127647
127790
|
Add Item
|
|
127648
127791
|
</dees-button>
|
|
127649
127792
|
<dees-button type="destructive">
|
|
127650
|
-
<dees-icon
|
|
127793
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
127651
127794
|
Delete
|
|
127652
127795
|
</dees-button>
|
|
127653
127796
|
<dees-button type="outline">
|
|
127654
|
-
<dees-icon
|
|
127797
|
+
<dees-icon icon="lucide:Download"></dees-icon>
|
|
127655
127798
|
Download
|
|
127656
127799
|
</dees-button>
|
|
127657
127800
|
</div>
|
|
127658
|
-
|
|
127801
|
+
|
|
127659
127802
|
<div class="icon-row">
|
|
127660
127803
|
<dees-button type="secondary" size="sm">
|
|
127661
|
-
<dees-icon
|
|
127804
|
+
<dees-icon icon="fa:gear"></dees-icon>
|
|
127662
127805
|
Settings
|
|
127663
127806
|
</dees-button>
|
|
127664
127807
|
<dees-button type="ghost">
|
|
127665
|
-
<dees-icon
|
|
127808
|
+
<dees-icon icon="fa:caretLeft"></dees-icon>
|
|
127666
127809
|
Back
|
|
127667
127810
|
</dees-button>
|
|
127668
127811
|
<dees-button type="ghost">
|
|
127669
127812
|
Next
|
|
127670
|
-
<dees-icon
|
|
127813
|
+
<dees-icon icon="fa:caretRight"></dees-icon>
|
|
127671
127814
|
</dees-button>
|
|
127672
127815
|
</div>
|
|
127673
|
-
|
|
127816
|
+
|
|
127674
127817
|
<div class="icon-row">
|
|
127675
127818
|
<dees-button size="icon" type="default">
|
|
127676
|
-
<dees-icon
|
|
127819
|
+
<dees-icon icon="fa:plus"></dees-icon>
|
|
127677
127820
|
</dees-button>
|
|
127678
127821
|
<dees-button size="icon" type="secondary">
|
|
127679
|
-
<dees-icon
|
|
127822
|
+
<dees-icon icon="fa:gear"></dees-icon>
|
|
127680
127823
|
</dees-button>
|
|
127681
127824
|
<dees-button size="icon" type="outline">
|
|
127682
|
-
<dees-icon
|
|
127825
|
+
<dees-icon icon="lucide:Search"></dees-icon>
|
|
127683
127826
|
</dees-button>
|
|
127684
127827
|
<dees-button size="icon" type="ghost">
|
|
127685
|
-
<dees-icon
|
|
127828
|
+
<dees-icon icon="lucide:MoreVertical"></dees-icon>
|
|
127686
127829
|
</dees-button>
|
|
127687
127830
|
<dees-button size="icon" type="destructive">
|
|
127688
|
-
<dees-icon
|
|
127831
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
127689
127832
|
</dees-button>
|
|
127690
127833
|
</div>
|
|
127691
127834
|
</dees-panel>
|
|
127692
127835
|
</dees-demowrapper>
|
|
127693
|
-
|
|
127836
|
+
|
|
127837
|
+
<dees-demowrapper .runAfterRender=${async (elementArg) => {
|
|
127838
|
+
const buttons = elementArg.querySelectorAll("dees-button");
|
|
127839
|
+
buttons.forEach((button) => {
|
|
127840
|
+
button.addEventListener("clicked", () => {
|
|
127841
|
+
const icon3 = button.getAttribute("icon") || "none";
|
|
127842
|
+
const position3 = button.getAttribute("iconPosition") || "left";
|
|
127843
|
+
console.log(`Icon property button: icon=${icon3}, position=${position3}`);
|
|
127844
|
+
});
|
|
127845
|
+
});
|
|
127846
|
+
}}>
|
|
127847
|
+
<dees-panel .title=${"4. Icons via Property"} .subtitle=${"Simplified icon syntax using the icon property"}>
|
|
127848
|
+
<div class="icon-row">
|
|
127849
|
+
<dees-button icon="fa:plus">Add Item</dees-button>
|
|
127850
|
+
<dees-button type="destructive" icon="fa:trash">Delete</dees-button>
|
|
127851
|
+
<dees-button type="outline" icon="lucide:Download">Download</dees-button>
|
|
127852
|
+
</div>
|
|
127853
|
+
|
|
127854
|
+
<div class="icon-row">
|
|
127855
|
+
<dees-button type="secondary" size="sm" icon="fa:gear">Settings</dees-button>
|
|
127856
|
+
<dees-button type="ghost" icon="fa:caretLeft">Back</dees-button>
|
|
127857
|
+
<dees-button type="ghost" icon="fa:caretRight" iconPosition="right">Next</dees-button>
|
|
127858
|
+
</div>
|
|
127859
|
+
|
|
127860
|
+
<div class="icon-row">
|
|
127861
|
+
<dees-button size="icon" type="default" icon="fa:plus"></dees-button>
|
|
127862
|
+
<dees-button size="icon" type="secondary" icon="lucide:Settings"></dees-button>
|
|
127863
|
+
<dees-button size="icon" type="outline" icon="lucide:Search"></dees-button>
|
|
127864
|
+
<dees-button size="icon" type="ghost" icon="lucide:MoreVertical"></dees-button>
|
|
127865
|
+
<dees-button size="icon" type="destructive" icon="fa:trash"></dees-button>
|
|
127866
|
+
</div>
|
|
127867
|
+
|
|
127868
|
+
<div style="margin-top: 16px;">
|
|
127869
|
+
<div class="code-snippet">
|
|
127870
|
+
<dees-button icon="fa:plus">Add Item</dees-button><br>
|
|
127871
|
+
<dees-button icon="fa:caretRight" iconPosition="right">Next</dees-button>
|
|
127872
|
+
</div>
|
|
127873
|
+
</div>
|
|
127874
|
+
</dees-panel>
|
|
127875
|
+
</dees-demowrapper>
|
|
127876
|
+
|
|
127694
127877
|
<dees-demowrapper .runAfterRender=${async (elementArg) => {
|
|
127695
127878
|
const pendingButton = elementArg.querySelector('dees-button[status="pending"]');
|
|
127696
127879
|
const successButton = elementArg.querySelector('dees-button[status="success"]');
|
|
@@ -127711,7 +127894,7 @@ var demoFunc26 = () => b2`
|
|
|
127711
127894
|
});
|
|
127712
127895
|
}
|
|
127713
127896
|
}}>
|
|
127714
|
-
<dees-panel .title=${"
|
|
127897
|
+
<dees-panel .title=${"5. Button States"} .subtitle=${"Different states to indicate button status and loading conditions"}>
|
|
127715
127898
|
<div class="button-group">
|
|
127716
127899
|
<dees-button status="normal">Normal</dees-button>
|
|
127717
127900
|
<dees-button status="pending">Processing...</dees-button>
|
|
@@ -127751,7 +127934,7 @@ var demoFunc26 = () => b2`
|
|
|
127751
127934
|
});
|
|
127752
127935
|
}
|
|
127753
127936
|
}}>
|
|
127754
|
-
<dees-panel .title=${"
|
|
127937
|
+
<dees-panel .title=${"6. Event Handling"} .subtitle=${"Interactive examples with click event handling"}>
|
|
127755
127938
|
<div class="button-group">
|
|
127756
127939
|
<dees-button>Click Me</dees-button>
|
|
127757
127940
|
<dees-button type="secondary" .eventDetailData=${"custom-data-123"}>
|
|
@@ -127787,7 +127970,7 @@ var demoFunc26 = () => b2`
|
|
|
127787
127970
|
});
|
|
127788
127971
|
}
|
|
127789
127972
|
}}>
|
|
127790
|
-
<dees-panel .title=${"
|
|
127973
|
+
<dees-panel .title=${"7. Form Integration"} .subtitle=${"Buttons working within forms with automatic spacing"}>
|
|
127791
127974
|
<dees-form>
|
|
127792
127975
|
<dees-input-text label="Name" key="name" required></dees-input-text>
|
|
127793
127976
|
<dees-input-text label="Email" key="email" type="email" required></dees-input-text>
|
|
@@ -127813,7 +127996,7 @@ var demoFunc26 = () => b2`
|
|
|
127813
127996
|
}
|
|
127814
127997
|
});
|
|
127815
127998
|
}}>
|
|
127816
|
-
<dees-panel .title=${"
|
|
127999
|
+
<dees-panel .title=${"8. Backward Compatibility"} .subtitle=${"Old button types are automatically mapped to new variants"}>
|
|
127817
128000
|
<div class="button-group">
|
|
127818
128001
|
<dees-button type="normal">Normal → Default</dees-button>
|
|
127819
128002
|
<dees-button type="highlighted">Highlighted → Destructive</dees-button>
|
|
@@ -127851,36 +128034,36 @@ var demoFunc26 = () => b2`
|
|
|
127851
128034
|
});
|
|
127852
128035
|
}
|
|
127853
128036
|
}}>
|
|
127854
|
-
<dees-panel .title=${"
|
|
128037
|
+
<dees-panel .title=${"9. Advanced Examples"} .subtitle=${"Complex button configurations and real-world use cases"}>
|
|
127855
128038
|
<div class="horizontal-group">
|
|
127856
128039
|
<div class="vertical-group">
|
|
127857
128040
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Action Group</h4>
|
|
127858
128041
|
<dees-button type="default" size="sm">
|
|
127859
|
-
<dees-icon
|
|
128042
|
+
<dees-icon icon="lucide:Save"></dees-icon>
|
|
127860
128043
|
Save Changes
|
|
127861
128044
|
</dees-button>
|
|
127862
128045
|
<dees-button type="secondary" size="sm">
|
|
127863
|
-
<dees-icon
|
|
128046
|
+
<dees-icon icon="lucide:Undo2"></dees-icon>
|
|
127864
128047
|
Discard
|
|
127865
128048
|
</dees-button>
|
|
127866
128049
|
<dees-button type="ghost" size="sm">
|
|
127867
|
-
<dees-icon
|
|
128050
|
+
<dees-icon icon="lucide:HelpCircle"></dees-icon>
|
|
127868
128051
|
Help
|
|
127869
128052
|
</dees-button>
|
|
127870
128053
|
</div>
|
|
127871
|
-
|
|
128054
|
+
|
|
127872
128055
|
<div class="vertical-group">
|
|
127873
128056
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Danger Zone</h4>
|
|
127874
128057
|
<dees-button type="destructive" size="sm">
|
|
127875
|
-
<dees-icon
|
|
128058
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
127876
128059
|
Delete Account
|
|
127877
128060
|
</dees-button>
|
|
127878
128061
|
<dees-button type="outline" size="sm">
|
|
127879
|
-
<dees-icon
|
|
128062
|
+
<dees-icon icon="lucide:Archive"></dees-icon>
|
|
127880
128063
|
Archive Data
|
|
127881
128064
|
</dees-button>
|
|
127882
128065
|
<dees-button type="ghost" size="sm" disabled>
|
|
127883
|
-
<dees-icon
|
|
128066
|
+
<dees-icon icon="lucide:Ban"></dees-icon>
|
|
127884
128067
|
Not Available
|
|
127885
128068
|
</dees-button>
|
|
127886
128069
|
</div>
|
|
@@ -127889,8 +128072,7 @@ var demoFunc26 = () => b2`
|
|
|
127889
128072
|
<div style="margin-top: 24px;">
|
|
127890
128073
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Code Example:</h4>
|
|
127891
128074
|
<div class="code-snippet">
|
|
127892
|
-
<dees-button type="default" size="sm" @clicked="\${handleClick}"><br>
|
|
127893
|
-
<dees-icon iconFA="faSave"></dees-icon><br>
|
|
128075
|
+
<dees-button type="default" size="sm" icon="lucide:Save" @clicked="\${handleClick}"><br>
|
|
127894
128076
|
Save Changes<br>
|
|
127895
128077
|
</dees-button>
|
|
127896
128078
|
</div>
|
|
@@ -127904,7 +128086,7 @@ var demoFunc26 = () => b2`
|
|
|
127904
128086
|
init_dist_ts26();
|
|
127905
128087
|
init_dist_ts25();
|
|
127906
128088
|
init_theme();
|
|
127907
|
-
var _insideForm_dec, _status_dec2, _size_dec2, _type_dec3, _isHidden_dec, _disabled_dec4, _eventDetailData_dec, _text_dec2, _a33, _DeesButton_decorators, _init31, _text2, _eventDetailData, _disabled4, _isHidden, _type3, _size2, _status2, _insideForm;
|
|
128089
|
+
var _iconPosition_dec, _icon_dec2, _insideForm_dec, _status_dec2, _size_dec2, _type_dec3, _isHidden_dec, _disabled_dec4, _eventDetailData_dec, _text_dec2, _a33, _DeesButton_decorators, _init31, _text2, _eventDetailData, _disabled4, _isHidden, _type3, _size2, _status2, _insideForm, _icon2, _iconPosition;
|
|
127908
128090
|
_DeesButton_decorators = [t4("dees-button")];
|
|
127909
128091
|
var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
127910
128092
|
reflect: true,
|
|
@@ -127925,7 +128107,7 @@ var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
|
127925
128107
|
})], _insideForm_dec = [n5({
|
|
127926
128108
|
type: Boolean,
|
|
127927
128109
|
reflect: true
|
|
127928
|
-
})], _a33) {
|
|
128110
|
+
})], _icon_dec2 = [n5({ type: String, reflect: true })], _iconPosition_dec = [n5({ type: String, reflect: true })], _a33) {
|
|
127929
128111
|
constructor() {
|
|
127930
128112
|
super();
|
|
127931
128113
|
__privateAdd(this, _text2, __runInitializers(_init31, 8, this)), __runInitializers(_init31, 11, this);
|
|
@@ -127936,6 +128118,8 @@ var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
|
127936
128118
|
__privateAdd(this, _size2, __runInitializers(_init31, 28, this, "default")), __runInitializers(_init31, 31, this);
|
|
127937
128119
|
__privateAdd(this, _status2, __runInitializers(_init31, 32, this, "normal")), __runInitializers(_init31, 35, this);
|
|
127938
128120
|
__privateAdd(this, _insideForm, __runInitializers(_init31, 36, this, false)), __runInitializers(_init31, 39, this);
|
|
128121
|
+
__privateAdd(this, _icon2, __runInitializers(_init31, 40, this)), __runInitializers(_init31, 43, this);
|
|
128122
|
+
__privateAdd(this, _iconPosition, __runInitializers(_init31, 44, this, "left")), __runInitializers(_init31, 47, this);
|
|
127939
128123
|
}
|
|
127940
128124
|
async connectedCallback() {
|
|
127941
128125
|
await super.connectedCallback();
|
|
@@ -127943,6 +128127,33 @@ var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
|
127943
128127
|
this.insideForm = true;
|
|
127944
128128
|
}
|
|
127945
128129
|
}
|
|
128130
|
+
/**
|
|
128131
|
+
* Extracts icon and text from light DOM and sets properties
|
|
128132
|
+
*/
|
|
128133
|
+
extractLightDom() {
|
|
128134
|
+
const iconElement = this.querySelector("dees-icon");
|
|
128135
|
+
const textContent = Array.from(this.childNodes).filter((node2) => node2.nodeType === Node.TEXT_NODE).map((node2) => node2.textContent?.trim()).filter(Boolean).join(" ");
|
|
128136
|
+
if (textContent && !this.text) {
|
|
128137
|
+
this.text = textContent;
|
|
128138
|
+
}
|
|
128139
|
+
if (iconElement) {
|
|
128140
|
+
const iconValue = iconElement.icon || iconElement.getAttribute("icon") || (iconElement.iconFA ? `fa:${iconElement.iconFA}` : null);
|
|
128141
|
+
if (iconValue) {
|
|
128142
|
+
const children2 = Array.from(this.childNodes);
|
|
128143
|
+
const iconIndex = children2.indexOf(iconElement);
|
|
128144
|
+
const textNodes = children2.filter(
|
|
128145
|
+
(node2) => node2.nodeType === Node.TEXT_NODE && node2.textContent?.trim()
|
|
128146
|
+
);
|
|
128147
|
+
if (textNodes.length > 0) {
|
|
128148
|
+
const firstTextIndex = children2.indexOf(textNodes[0]);
|
|
128149
|
+
this.iconPosition = iconIndex < firstTextIndex ? "left" : "right";
|
|
128150
|
+
}
|
|
128151
|
+
this.icon = iconValue;
|
|
128152
|
+
}
|
|
128153
|
+
iconElement.remove();
|
|
128154
|
+
}
|
|
128155
|
+
this.innerHTML = "";
|
|
128156
|
+
}
|
|
127946
128157
|
render() {
|
|
127947
128158
|
const typeMap = {
|
|
127948
128159
|
"normal": "default",
|
|
@@ -127953,19 +128164,24 @@ var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
|
127953
128164
|
};
|
|
127954
128165
|
const actualType = typeMap[this.type] || this.type;
|
|
127955
128166
|
const actualSize = this.type === "big" ? "lg" : this.size;
|
|
128167
|
+
const leftIcon = this.iconPosition === "left" && this.icon ? b2`<dees-icon .icon=${this.icon}></dees-icon>` : "";
|
|
128168
|
+
const rightIcon = this.iconPosition === "right" && this.icon ? b2`<dees-icon .icon=${this.icon}></dees-icon>` : "";
|
|
128169
|
+
const isIconOnly = actualSize === "icon" && this.icon;
|
|
127956
128170
|
return b2`
|
|
127957
128171
|
<div
|
|
127958
128172
|
class="button ${this.isHidden ? "hidden" : ""} ${actualType} size-${actualSize} ${this.status} ${this.disabled ? "disabled" : ""}"
|
|
127959
128173
|
@click="${this.dispatchClick}"
|
|
127960
128174
|
>
|
|
127961
128175
|
${this.status === "normal" ? b2`` : b2`
|
|
127962
|
-
<dees-spinner
|
|
127963
|
-
.bnw=${true}
|
|
128176
|
+
<dees-spinner
|
|
128177
|
+
.bnw=${true}
|
|
127964
128178
|
status="${this.status}"
|
|
127965
128179
|
size="${actualSize === "sm" ? 14 : actualSize === "lg" ? 18 : 16}"
|
|
127966
128180
|
></dees-spinner>
|
|
127967
128181
|
`}
|
|
127968
|
-
|
|
128182
|
+
${leftIcon}
|
|
128183
|
+
${isIconOnly ? "" : b2`<div class="textbox">${this.text || "Button"}</div>`}
|
|
128184
|
+
${rightIcon}
|
|
127969
128185
|
</div>
|
|
127970
128186
|
`;
|
|
127971
128187
|
}
|
|
@@ -127983,6 +128199,7 @@ var DeesButton = class extends (_a33 = DeesElement, _text_dec2 = [n5({
|
|
|
127983
128199
|
);
|
|
127984
128200
|
}
|
|
127985
128201
|
async firstUpdated() {
|
|
128202
|
+
this.extractLightDom();
|
|
127986
128203
|
}
|
|
127987
128204
|
};
|
|
127988
128205
|
_init31 = __decoratorStart(_a33);
|
|
@@ -127994,6 +128211,8 @@ _type3 = new WeakMap();
|
|
|
127994
128211
|
_size2 = new WeakMap();
|
|
127995
128212
|
_status2 = new WeakMap();
|
|
127996
128213
|
_insideForm = new WeakMap();
|
|
128214
|
+
_icon2 = new WeakMap();
|
|
128215
|
+
_iconPosition = new WeakMap();
|
|
127997
128216
|
__decorateElement(_init31, 4, "text", _text_dec2, DeesButton, _text2);
|
|
127998
128217
|
__decorateElement(_init31, 4, "eventDetailData", _eventDetailData_dec, DeesButton, _eventDetailData);
|
|
127999
128218
|
__decorateElement(_init31, 4, "disabled", _disabled_dec4, DeesButton, _disabled4);
|
|
@@ -128002,6 +128221,8 @@ __decorateElement(_init31, 4, "type", _type_dec3, DeesButton, _type3);
|
|
|
128002
128221
|
__decorateElement(_init31, 4, "size", _size_dec2, DeesButton, _size2);
|
|
128003
128222
|
__decorateElement(_init31, 4, "status", _status_dec2, DeesButton, _status2);
|
|
128004
128223
|
__decorateElement(_init31, 4, "insideForm", _insideForm_dec, DeesButton, _insideForm);
|
|
128224
|
+
__decorateElement(_init31, 4, "icon", _icon_dec2, DeesButton, _icon2);
|
|
128225
|
+
__decorateElement(_init31, 4, "iconPosition", _iconPosition_dec, DeesButton, _iconPosition);
|
|
128005
128226
|
DeesButton = __decorateElement(_init31, 0, "DeesButton", _DeesButton_decorators, DeesButton);
|
|
128006
128227
|
__publicField(DeesButton, "demo", demoFunc26);
|
|
128007
128228
|
__publicField(DeesButton, "demoGroup", "Button");
|
|
@@ -128265,6 +128486,12 @@ __publicField(DeesButton, "styles", [
|
|
|
128265
128486
|
height: 18px;
|
|
128266
128487
|
}
|
|
128267
128488
|
|
|
128489
|
+
/* Text alignment */
|
|
128490
|
+
.textbox {
|
|
128491
|
+
display: flex;
|
|
128492
|
+
align-items: center;
|
|
128493
|
+
}
|
|
128494
|
+
|
|
128268
128495
|
`
|
|
128269
128496
|
]);
|
|
128270
128497
|
__runInitializers(_init31, 1, DeesButton);
|
|
@@ -128367,6 +128594,10 @@ var DeesStatsGrid = class extends (_a34 = DeesElement, _tiles_dec = [n5({ type:
|
|
|
128367
128594
|
return this.renderMultiPercentage(tile);
|
|
128368
128595
|
case "cpuCores":
|
|
128369
128596
|
return this.renderCpuCores(tile);
|
|
128597
|
+
case "partition":
|
|
128598
|
+
return this.renderPartition(tile);
|
|
128599
|
+
case "disk":
|
|
128600
|
+
return this.renderDisk(tile);
|
|
128370
128601
|
case "text":
|
|
128371
128602
|
return b2`
|
|
128372
128603
|
<div class="text-value" style="${tile.color ? `color: ${tile.color}` : ""}">
|
|
@@ -128552,6 +128783,103 @@ var DeesStatsGrid = class extends (_a34 = DeesElement, _tiles_dec = [n5({ type:
|
|
|
128552
128783
|
</div>
|
|
128553
128784
|
`;
|
|
128554
128785
|
}
|
|
128786
|
+
formatBytes(bytes) {
|
|
128787
|
+
if (bytes === 0) return "0 B";
|
|
128788
|
+
const k4 = 1024;
|
|
128789
|
+
const sizes = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
128790
|
+
const i11 = Math.floor(Math.log(bytes) / Math.log(k4));
|
|
128791
|
+
return parseFloat((bytes / Math.pow(k4, i11)).toFixed(1)) + " " + sizes[i11];
|
|
128792
|
+
}
|
|
128793
|
+
renderPartition(tile) {
|
|
128794
|
+
if (!tile.partitionData) {
|
|
128795
|
+
return b2`<div class="tile-value">${tile.value}</div>`;
|
|
128796
|
+
}
|
|
128797
|
+
const { used, total, filesystem, mountPoint } = tile.partitionData;
|
|
128798
|
+
const percentage = Math.min(100, Math.max(0, used / total * 100));
|
|
128799
|
+
const free = total - used;
|
|
128800
|
+
const getColorClass = () => {
|
|
128801
|
+
if (percentage >= 90) return "critical";
|
|
128802
|
+
if (percentage >= 75) return "warning";
|
|
128803
|
+
return "";
|
|
128804
|
+
};
|
|
128805
|
+
return b2`
|
|
128806
|
+
<div class="partition-wrapper">
|
|
128807
|
+
<div class="partition-header">
|
|
128808
|
+
<span class="partition-percentage">${Math.round(percentage)}%</span>
|
|
128809
|
+
</div>
|
|
128810
|
+
<div class="partition-bar">
|
|
128811
|
+
<div
|
|
128812
|
+
class="partition-bar-fill ${getColorClass()}"
|
|
128813
|
+
style="width: ${percentage}%"
|
|
128814
|
+
></div>
|
|
128815
|
+
</div>
|
|
128816
|
+
<div class="partition-stats">
|
|
128817
|
+
<div class="partition-stat">
|
|
128818
|
+
<span class="partition-stat-label">Used</span>
|
|
128819
|
+
<span class="partition-stat-value">${this.formatBytes(used)}</span>
|
|
128820
|
+
</div>
|
|
128821
|
+
<div class="partition-stat">
|
|
128822
|
+
<span class="partition-stat-label">Free</span>
|
|
128823
|
+
<span class="partition-stat-value">${this.formatBytes(free)}</span>
|
|
128824
|
+
</div>
|
|
128825
|
+
</div>
|
|
128826
|
+
<div class="partition-meta">
|
|
128827
|
+
<span class="partition-filesystem">${filesystem}</span>
|
|
128828
|
+
${mountPoint ? b2`<span class="partition-mountpoint">${mountPoint}</span>` : ""}
|
|
128829
|
+
</div>
|
|
128830
|
+
</div>
|
|
128831
|
+
`;
|
|
128832
|
+
}
|
|
128833
|
+
renderDisk(tile) {
|
|
128834
|
+
if (!tile.diskData) {
|
|
128835
|
+
return b2`<div class="tile-value">${tile.value}</div>`;
|
|
128836
|
+
}
|
|
128837
|
+
const { capacity, model, type: type5, iops, health } = tile.diskData;
|
|
128838
|
+
const getHealthClass = (value2) => {
|
|
128839
|
+
if (value2 >= 70) return "good";
|
|
128840
|
+
if (value2 >= 30) return "warning";
|
|
128841
|
+
return "critical";
|
|
128842
|
+
};
|
|
128843
|
+
return b2`
|
|
128844
|
+
<div class="disk-wrapper">
|
|
128845
|
+
<div class="disk-capacity">${this.formatBytes(capacity)}</div>
|
|
128846
|
+
${model || type5 ? b2`
|
|
128847
|
+
<div class="disk-model">
|
|
128848
|
+
${model ? b2`<span>${model}</span>` : ""}
|
|
128849
|
+
${type5 ? b2`<span class="disk-type-badge">${type5}</span>` : ""}
|
|
128850
|
+
</div>
|
|
128851
|
+
` : ""}
|
|
128852
|
+
<div class="disk-metrics">
|
|
128853
|
+
${iops ? b2`
|
|
128854
|
+
<div class="disk-iops">
|
|
128855
|
+
<div class="disk-iops-item">
|
|
128856
|
+
<span class="disk-iops-label">Read</span>
|
|
128857
|
+
<span class="disk-iops-value">${iops.read.toLocaleString()}</span>
|
|
128858
|
+
</div>
|
|
128859
|
+
<div class="disk-iops-item">
|
|
128860
|
+
<span class="disk-iops-label">Write</span>
|
|
128861
|
+
<span class="disk-iops-value">${iops.write.toLocaleString()}</span>
|
|
128862
|
+
</div>
|
|
128863
|
+
</div>
|
|
128864
|
+
` : ""}
|
|
128865
|
+
${health !== void 0 ? b2`
|
|
128866
|
+
<div class="disk-health">
|
|
128867
|
+
<div class="disk-health-header">
|
|
128868
|
+
<span class="disk-health-label">Health</span>
|
|
128869
|
+
<span class="disk-health-value">${health}%</span>
|
|
128870
|
+
</div>
|
|
128871
|
+
<div class="disk-health-bar">
|
|
128872
|
+
<div
|
|
128873
|
+
class="disk-health-fill ${getHealthClass(health)}"
|
|
128874
|
+
style="width: ${health}%"
|
|
128875
|
+
></div>
|
|
128876
|
+
</div>
|
|
128877
|
+
</div>
|
|
128878
|
+
` : ""}
|
|
128879
|
+
</div>
|
|
128880
|
+
</div>
|
|
128881
|
+
`;
|
|
128882
|
+
}
|
|
128555
128883
|
async handleGridAction(action) {
|
|
128556
128884
|
if (action.action) {
|
|
128557
128885
|
await action.action();
|
|
@@ -128985,6 +129313,219 @@ __publicField(DeesStatsGrid, "styles", [
|
|
|
128985
129313
|
max-width: 100%;
|
|
128986
129314
|
}
|
|
128987
129315
|
|
|
129316
|
+
/* Partition Styles */
|
|
129317
|
+
.partition-wrapper {
|
|
129318
|
+
width: 100%;
|
|
129319
|
+
display: flex;
|
|
129320
|
+
flex-direction: column;
|
|
129321
|
+
flex: 1;
|
|
129322
|
+
gap: 8px;
|
|
129323
|
+
}
|
|
129324
|
+
|
|
129325
|
+
.partition-header {
|
|
129326
|
+
display: flex;
|
|
129327
|
+
align-items: baseline;
|
|
129328
|
+
gap: 8px;
|
|
129329
|
+
}
|
|
129330
|
+
|
|
129331
|
+
.partition-percentage {
|
|
129332
|
+
font-size: var(--value-font-size);
|
|
129333
|
+
font-weight: 600;
|
|
129334
|
+
color: ${cssManager.bdTheme("hsl(215.3 25% 8.8%)", "hsl(210 40% 98%)")};
|
|
129335
|
+
line-height: 1.1;
|
|
129336
|
+
letter-spacing: -0.025em;
|
|
129337
|
+
}
|
|
129338
|
+
|
|
129339
|
+
.partition-bar {
|
|
129340
|
+
width: 100%;
|
|
129341
|
+
height: 6px;
|
|
129342
|
+
background: ${cssManager.bdTheme("#e8e8e8", "#1a1a1a")};
|
|
129343
|
+
border-radius: 3px;
|
|
129344
|
+
overflow: hidden;
|
|
129345
|
+
}
|
|
129346
|
+
|
|
129347
|
+
.partition-bar-fill {
|
|
129348
|
+
height: 100%;
|
|
129349
|
+
background: ${cssManager.bdTheme("#333333", "#e0e0e0")};
|
|
129350
|
+
transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
|
|
129351
|
+
border-radius: 3px;
|
|
129352
|
+
}
|
|
129353
|
+
|
|
129354
|
+
.partition-bar-fill.warning {
|
|
129355
|
+
background: ${cssManager.bdTheme("hsl(45.4 93.4% 47.5%)", "hsl(45.4 93.4% 47.5%)")};
|
|
129356
|
+
}
|
|
129357
|
+
|
|
129358
|
+
.partition-bar-fill.critical {
|
|
129359
|
+
background: ${cssManager.bdTheme("hsl(0 84.2% 60.2%)", "hsl(0 84.2% 60.2%)")};
|
|
129360
|
+
}
|
|
129361
|
+
|
|
129362
|
+
.partition-stats {
|
|
129363
|
+
display: flex;
|
|
129364
|
+
justify-content: space-between;
|
|
129365
|
+
align-items: center;
|
|
129366
|
+
margin-top: auto;
|
|
129367
|
+
}
|
|
129368
|
+
|
|
129369
|
+
.partition-stat {
|
|
129370
|
+
display: flex;
|
|
129371
|
+
flex-direction: column;
|
|
129372
|
+
gap: 2px;
|
|
129373
|
+
}
|
|
129374
|
+
|
|
129375
|
+
.partition-stat-label {
|
|
129376
|
+
font-size: 10px;
|
|
129377
|
+
font-weight: 500;
|
|
129378
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 56.9%)", "hsl(215 20.2% 55.1%)")};
|
|
129379
|
+
text-transform: uppercase;
|
|
129380
|
+
letter-spacing: 0.02em;
|
|
129381
|
+
}
|
|
129382
|
+
|
|
129383
|
+
.partition-stat-value {
|
|
129384
|
+
font-size: 13px;
|
|
129385
|
+
font-weight: 600;
|
|
129386
|
+
color: ${cssManager.bdTheme("hsl(215.3 25% 8.8%)", "hsl(210 40% 98%)")};
|
|
129387
|
+
letter-spacing: -0.01em;
|
|
129388
|
+
}
|
|
129389
|
+
|
|
129390
|
+
.partition-meta {
|
|
129391
|
+
display: flex;
|
|
129392
|
+
align-items: center;
|
|
129393
|
+
gap: 6px;
|
|
129394
|
+
margin-top: 4px;
|
|
129395
|
+
}
|
|
129396
|
+
|
|
129397
|
+
.partition-filesystem {
|
|
129398
|
+
font-size: 11px;
|
|
129399
|
+
font-weight: 500;
|
|
129400
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 46.9%)", "hsl(215 20.2% 65.1%)")};
|
|
129401
|
+
background: ${cssManager.bdTheme("hsl(210 40% 96.1%)", "hsl(215 20.2% 16.8%)")};
|
|
129402
|
+
padding: 2px 6px;
|
|
129403
|
+
border-radius: 3px;
|
|
129404
|
+
}
|
|
129405
|
+
|
|
129406
|
+
.partition-mountpoint {
|
|
129407
|
+
font-size: 11px;
|
|
129408
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 56.9%)", "hsl(215 20.2% 55.1%)")};
|
|
129409
|
+
}
|
|
129410
|
+
|
|
129411
|
+
/* Disk Styles */
|
|
129412
|
+
.disk-wrapper {
|
|
129413
|
+
width: 100%;
|
|
129414
|
+
display: flex;
|
|
129415
|
+
flex-direction: column;
|
|
129416
|
+
flex: 1;
|
|
129417
|
+
gap: 8px;
|
|
129418
|
+
}
|
|
129419
|
+
|
|
129420
|
+
.disk-capacity {
|
|
129421
|
+
font-size: var(--value-font-size);
|
|
129422
|
+
font-weight: 600;
|
|
129423
|
+
color: ${cssManager.bdTheme("hsl(215.3 25% 8.8%)", "hsl(210 40% 98%)")};
|
|
129424
|
+
line-height: 1.1;
|
|
129425
|
+
letter-spacing: -0.025em;
|
|
129426
|
+
}
|
|
129427
|
+
|
|
129428
|
+
.disk-model {
|
|
129429
|
+
font-size: 12px;
|
|
129430
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 46.9%)", "hsl(215 20.2% 65.1%)")};
|
|
129431
|
+
display: flex;
|
|
129432
|
+
align-items: center;
|
|
129433
|
+
gap: 6px;
|
|
129434
|
+
}
|
|
129435
|
+
|
|
129436
|
+
.disk-type-badge {
|
|
129437
|
+
font-size: 10px;
|
|
129438
|
+
font-weight: 600;
|
|
129439
|
+
text-transform: uppercase;
|
|
129440
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 46.9%)", "hsl(215 20.2% 65.1%)")};
|
|
129441
|
+
background: ${cssManager.bdTheme("hsl(210 40% 96.1%)", "hsl(215 20.2% 16.8%)")};
|
|
129442
|
+
padding: 2px 6px;
|
|
129443
|
+
border-radius: 3px;
|
|
129444
|
+
}
|
|
129445
|
+
|
|
129446
|
+
.disk-metrics {
|
|
129447
|
+
display: flex;
|
|
129448
|
+
flex-direction: column;
|
|
129449
|
+
gap: 8px;
|
|
129450
|
+
margin-top: auto;
|
|
129451
|
+
}
|
|
129452
|
+
|
|
129453
|
+
.disk-iops {
|
|
129454
|
+
display: flex;
|
|
129455
|
+
align-items: center;
|
|
129456
|
+
gap: 12px;
|
|
129457
|
+
}
|
|
129458
|
+
|
|
129459
|
+
.disk-iops-item {
|
|
129460
|
+
display: flex;
|
|
129461
|
+
align-items: baseline;
|
|
129462
|
+
gap: 4px;
|
|
129463
|
+
}
|
|
129464
|
+
|
|
129465
|
+
.disk-iops-label {
|
|
129466
|
+
font-size: 10px;
|
|
129467
|
+
font-weight: 500;
|
|
129468
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 56.9%)", "hsl(215 20.2% 55.1%)")};
|
|
129469
|
+
text-transform: uppercase;
|
|
129470
|
+
}
|
|
129471
|
+
|
|
129472
|
+
.disk-iops-value {
|
|
129473
|
+
font-size: 13px;
|
|
129474
|
+
font-weight: 600;
|
|
129475
|
+
color: ${cssManager.bdTheme("hsl(215.3 25% 8.8%)", "hsl(210 40% 98%)")};
|
|
129476
|
+
}
|
|
129477
|
+
|
|
129478
|
+
.disk-health {
|
|
129479
|
+
display: flex;
|
|
129480
|
+
flex-direction: column;
|
|
129481
|
+
gap: 4px;
|
|
129482
|
+
}
|
|
129483
|
+
|
|
129484
|
+
.disk-health-header {
|
|
129485
|
+
display: flex;
|
|
129486
|
+
justify-content: space-between;
|
|
129487
|
+
align-items: baseline;
|
|
129488
|
+
}
|
|
129489
|
+
|
|
129490
|
+
.disk-health-label {
|
|
129491
|
+
font-size: 10px;
|
|
129492
|
+
font-weight: 500;
|
|
129493
|
+
color: ${cssManager.bdTheme("hsl(215.4 16.3% 56.9%)", "hsl(215 20.2% 55.1%)")};
|
|
129494
|
+
text-transform: uppercase;
|
|
129495
|
+
}
|
|
129496
|
+
|
|
129497
|
+
.disk-health-value {
|
|
129498
|
+
font-size: 12px;
|
|
129499
|
+
font-weight: 600;
|
|
129500
|
+
color: ${cssManager.bdTheme("hsl(215.3 25% 8.8%)", "hsl(210 40% 98%)")};
|
|
129501
|
+
}
|
|
129502
|
+
|
|
129503
|
+
.disk-health-bar {
|
|
129504
|
+
width: 100%;
|
|
129505
|
+
height: 4px;
|
|
129506
|
+
background: ${cssManager.bdTheme("#e8e8e8", "#1a1a1a")};
|
|
129507
|
+
border-radius: 2px;
|
|
129508
|
+
overflow: hidden;
|
|
129509
|
+
}
|
|
129510
|
+
|
|
129511
|
+
.disk-health-fill {
|
|
129512
|
+
height: 100%;
|
|
129513
|
+
transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
|
|
129514
|
+
border-radius: 2px;
|
|
129515
|
+
}
|
|
129516
|
+
|
|
129517
|
+
.disk-health-fill.good {
|
|
129518
|
+
background: ${cssManager.bdTheme("hsl(142.1 76.2% 36.3%)", "hsl(142.1 70.6% 45.3%)")};
|
|
129519
|
+
}
|
|
129520
|
+
|
|
129521
|
+
.disk-health-fill.warning {
|
|
129522
|
+
background: ${cssManager.bdTheme("hsl(45.4 93.4% 47.5%)", "hsl(45.4 93.4% 47.5%)")};
|
|
129523
|
+
}
|
|
129524
|
+
|
|
129525
|
+
.disk-health-fill.critical {
|
|
129526
|
+
background: ${cssManager.bdTheme("hsl(0 84.2% 60.2%)", "hsl(0 84.2% 60.2%)")};
|
|
129527
|
+
}
|
|
129528
|
+
|
|
128988
129529
|
/* Trend Styles */
|
|
128989
129530
|
.trend-container {
|
|
128990
129531
|
width: 100%;
|