@@ -52,6 +52,10 @@ class CompactPowerCard extends (window.LitElement ||
5252 name : "curve_factor" ,
5353 selector : { number : { min : 0 , max : 5 , step : 0.5 , mode : "slider" } } ,
5454 } ,
55+ {
56+ name : "font_size_multiplier" ,
57+ selector : { number : { min : 0.5 , max : 2.0 , step : 0.05 , mode : "slider" } } ,
58+ } ,
5559 {
5660 name : "enable_device_power_lines" ,
5761 selector : { boolean : { } } ,
@@ -546,6 +550,11 @@ class CompactPowerCard extends (window.LitElement ||
546550 ) ;
547551 }
548552 this . _config = config ;
553+ const fontScaleRaw = this . _parseNumberStrict ( this . _config ?. font_size_multiplier ) ;
554+ const fontScale = Number . isFinite ( fontScaleRaw )
555+ ? Math . min ( 2.0 , Math . max ( 0.5 , fontScaleRaw ) )
556+ : 1 ;
557+ this . style . setProperty ( "--cpc-text-scale" , String ( fontScale ) ) ;
549558 this . _trackedEntityIds = this . _collectEntityIds ( ) ;
550559 this . _lastEntityStates . clear ( ) ;
551560 this . _lastThemeMode = null ;
@@ -558,6 +567,7 @@ class CompactPowerCard extends (window.LitElement ||
558567 return css `
559568 :host {
560569 --cpc-scale: 1;
570+ --cpc-text-scale: 1;
561571 display: block;
562572 height: 100%;
563573 }
@@ -688,7 +698,7 @@ class CompactPowerCard extends (window.LitElement ||
688698 }
689699
690700 .pv-label {
691- font-size: calc(16px * var(--cpc-scale, 1));
701+ font-size: calc(16px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
692702 }
693703
694704 .node-marker {
@@ -821,7 +831,7 @@ class CompactPowerCard extends (window.LitElement ||
821831 }
822832
823833 .node-label {
824- font-size: calc(16px * var(--cpc-scale, 1));
834+ font-size: calc(16px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
825835 display: flex;
826836 align-items: center;
827837 gap: 2px;
@@ -896,7 +906,7 @@ class CompactPowerCard extends (window.LitElement ||
896906 }
897907
898908 .home-label {
899- font-size: calc(16px * var(--cpc-scale, 0.8));
909+ font-size: calc(16px * var(--cpc-scale, 0.8) * var(--cpc-text-scale, 1) );
900910 font-weight: 700;
901911 margin-top: calc(-16px * var(--cpc-scale, 0.8));
902912 }
@@ -940,7 +950,7 @@ class CompactPowerCard extends (window.LitElement ||
940950 display: flex;
941951 align-items: center;
942952 gap: 1px;
943- font-size: calc(10px * var(--cpc-scale, 1));
953+ font-size: calc(10px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
944954 }
945955
946956 .aux-marker {
@@ -958,11 +968,11 @@ class CompactPowerCard extends (window.LitElement ||
958968 }
959969
960970 .aux-label {
961- font-size: calc(12px * var(--cpc-scale, 1));
971+ font-size: calc(12px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
962972 }
963973
964974 .aux-sub-label {
965- font-size: calc(11px * var(--cpc-scale, 1));
975+ font-size: calc(11px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
966976 font-weight: 500;
967977 opacity: 0.85;
968978 line-height: 1;
@@ -978,7 +988,7 @@ class CompactPowerCard extends (window.LitElement ||
978988 }
979989
980990 .device-name {
981- font-size: calc(11px * var(--cpc-scale, 1));
991+ font-size: calc(11px * var(--cpc-scale, 1) * var(--cpc-text-scale, 1) );
982992 opacity: 0.85;
983993 font-weight: 500;
984994 display: inline-block;
0 commit comments