fix(dees-statsgrid): refine spacing, sizing, and colors in dees-statsgrid for a tighter, more compact appearance

This commit is contained in:
2026-01-04 09:21:02 +00:00
parent a634c2e237
commit 4d192654df
3 changed files with 45 additions and 35 deletions

View File

@@ -1,5 +1,15 @@
# Changelog
## 2026-01-04 - 3.30.1 - fix(dees-statsgrid)
refine spacing, sizing, and colors in dees-statsgrid for a tighter, more compact appearance
- Reduce global spacing and sizing variables (grid-gap 16→12, tile-padding 24→16, header-spacing 16→12, content-min-height 48→40, description-spacing 12→8, border-radius 8→6).
- Adjust typographic scale (value-font-size 30→26, unit-font-size 16→14, label-font-size 13→12, title-font-size 14→13).
- Switch color tokens to neutral hex values and tighten hover/box-shadow (tile border and backgrounds updated from HSL to hex, hover bg to #fafafa/#0d0d0d, border-color and shadow reduced).
- Downsize graphical elements: gauge and SVG dimensions (width 140→120, height 80→70), stroke-widths 8→6, radius 48→40.
- Slim down percentage bar and trend visuals (percentage bar height 8→6, border-radius 4→3, trend stroke-width 2→1.5, trend fill moved to RGBA).
- No functional or API changes — purely visual/CSS and SVG adjustments.
## 2026-01-03 - 3.30.0 - feat(appui)
add dees-appui-bottombar component with config, programmatic API, demo and docs

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@design.estate/dees-catalog',
version: '3.30.0',
version: '3.30.1',
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
}

View File

@@ -88,16 +88,16 @@ export class DeesStatsGrid extends DeesElement {
/* CSS Variables for consistent spacing and sizing */
:host {
--grid-gap: 16px;
--tile-padding: 24px;
--header-spacing: 16px;
--content-min-height: 48px;
--value-font-size: 30px;
--unit-font-size: 16px;
--label-font-size: 13px;
--title-font-size: 14px;
--description-spacing: 12px;
--border-radius: 8px;
--grid-gap: 12px;
--tile-padding: 16px;
--header-spacing: 12px;
--content-min-height: 40px;
--value-font-size: 26px;
--unit-font-size: 14px;
--label-font-size: 12px;
--title-font-size: 13px;
--description-spacing: 8px;
--border-radius: 6px;
--transition-duration: 0.15s;
}
@@ -136,7 +136,7 @@ export class DeesStatsGrid extends DeesElement {
/* Tile Base Styles */
.stats-tile {
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
border: 1px solid ${cssManager.bdTheme('hsl(214.3 31.8% 91.4%)', 'hsl(215 20.2% 11.8%)')};
border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#202020')};
border-radius: var(--border-radius);
padding: var(--tile-padding);
transition: all var(--transition-duration) ease;
@@ -148,8 +148,8 @@ export class DeesStatsGrid extends DeesElement {
}
.stats-tile:hover {
background: ${cssManager.bdTheme('hsl(210 40% 98%)', 'hsl(215 20.2% 10.2%)')};
border-color: ${cssManager.bdTheme('hsl(214.3 31.8% 85%)', 'hsl(215 20.2% 16.8%)')};
background: ${cssManager.bdTheme('#fafafa', '#0d0d0d')};
border-color: ${cssManager.bdTheme('#d0d0d0', '#2a2a2a')};
}
.stats-tile.clickable {
@@ -158,7 +158,7 @@ export class DeesStatsGrid extends DeesElement {
.stats-tile.clickable:hover {
transform: translateY(-1px);
box-shadow: 0 2px 8px ${cssManager.bdTheme('rgba(0,0,0,0.04)', 'rgba(0,0,0,0.2)')};
box-shadow: 0 2px 6px ${cssManager.bdTheme('rgba(0,0,0,0.03)', 'rgba(0,0,0,0.15)')};
}
/* Tile Header */
@@ -230,10 +230,10 @@ export class DeesStatsGrid extends DeesElement {
}
.gauge-container {
width: 140px;
height: 80px;
width: 120px;
height: 70px;
position: relative;
margin-top: -10px;
margin-top: -8px;
}
.gauge-svg {
@@ -243,13 +243,13 @@ export class DeesStatsGrid extends DeesElement {
.gauge-background {
fill: none;
stroke: ${cssManager.bdTheme('hsl(214.3 31.8% 91.4%)', 'hsl(215 20.2% 21.8%)')};
stroke-width: 8;
stroke: ${cssManager.bdTheme('#e8e8e8', '#1a1a1a')};
stroke-width: 6;
}
.gauge-fill {
fill: none;
stroke-width: 8;
stroke-width: 6;
stroke-linecap: round;
transition: stroke-dashoffset 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
@@ -287,17 +287,17 @@ export class DeesStatsGrid extends DeesElement {
.percentage-bar {
width: 100%;
height: 8px;
background: ${cssManager.bdTheme('hsl(214.3 31.8% 91.4%)', 'hsl(215 20.2% 21.8%)')};
border-radius: 4px;
height: 6px;
background: ${cssManager.bdTheme('#e8e8e8', '#1a1a1a')};
border-radius: 3px;
overflow: hidden;
}
.percentage-fill {
height: 100%;
background: ${cssManager.bdTheme('hsl(215.3 25% 8.8%)', 'hsl(210 40% 98%)')};
background: ${cssManager.bdTheme('#333333', '#e0e0e0')};
transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 4px;
border-radius: 3px;
}
/* Trend Styles */
@@ -339,7 +339,7 @@ export class DeesStatsGrid extends DeesElement {
.trend-graph {
width: 100%;
height: 32px;
height: 28px;
position: relative;
}
@@ -351,14 +351,14 @@ export class DeesStatsGrid extends DeesElement {
.trend-line {
fill: none;
stroke: ${cssManager.bdTheme('hsl(215.4 16.3% 66.9%)', 'hsl(215 20.2% 55.1%)')};
stroke-width: 2;
stroke: ${cssManager.bdTheme('#999999', '#666666')};
stroke-width: 1.5;
stroke-linejoin: round;
stroke-linecap: round;
}
.trend-area {
fill: ${cssManager.bdTheme('hsl(215.4 16.3% 66.9% / 0.1)', 'hsl(215 20.2% 55.1% / 0.08)')};
fill: ${cssManager.bdTheme('rgba(150, 150, 150, 0.08)', 'rgba(100, 100, 100, 0.08)')};
}
/* Text Value Styles */
@@ -480,13 +480,13 @@ export class DeesStatsGrid extends DeesElement {
const value = typeof tile.value === 'number' ? tile.value : parseFloat(tile.value);
const options = tile.gaugeOptions || { min: 0, max: 100 };
const percentage = ((value - options.min) / (options.max - options.min)) * 100;
// SVG dimensions and calculations
const width = 140;
const height = 80;
const strokeWidth = 8;
const width = 120;
const height = 70;
const strokeWidth = 6;
const padding = strokeWidth / 2 + 2;
const radius = 48;
const radius = 40;
const centerX = width / 2;
const centerY = height - padding;