homebridge-nuheat2 1.2.14 → 1.2.15

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/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project should be documented in this file
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.15] - 2026-04-27
8
+
9
+ ### Fixed
10
+
11
+ - Restore Homebridge-like typography, form controls, and button styling in the custom admin UI while keeping theme-compatible colors
12
+
7
13
  ## [1.2.14] - 2026-04-27
8
14
 
9
15
  ### Changed
@@ -1,10 +1,19 @@
1
1
  :root {
2
- --plugin-border: var(
3
- --bs-border-color-translucent,
4
- rgba(148, 163, 184, 0.28)
2
+ --plugin-font-family: var(
3
+ --bs-body-font-family,
4
+ -apple-system,
5
+ BlinkMacSystemFont,
6
+ "Segoe UI",
7
+ Roboto,
8
+ "Helvetica Neue",
9
+ Arial,
10
+ sans-serif
5
11
  );
6
- --plugin-strong-border: rgba(148, 163, 184, 0.42);
7
- --plugin-subtle-surface: rgba(148, 163, 184, 0.08);
12
+ --plugin-border: color-mix(in srgb, currentColor 24%, transparent);
13
+ --plugin-strong-border: color-mix(in srgb, currentColor 36%, transparent);
14
+ --plugin-subtle-surface: color-mix(in srgb, currentColor 6%, transparent);
15
+ --plugin-control-surface: color-mix(in srgb, currentColor 7%, transparent);
16
+ --plugin-control-disabled: color-mix(in srgb, currentColor 4%, transparent);
8
17
  --plugin-accent: var(--bs-primary, #0a84ff);
9
18
  --plugin-accent-surface: rgba(10, 132, 255, 0.08);
10
19
  --plugin-warning-surface: rgba(245, 158, 11, 0.12);
@@ -22,7 +31,9 @@ body {
22
31
  margin: 0;
23
32
  color: inherit;
24
33
  background: transparent;
25
- font: inherit;
34
+ font-family: var(--plugin-font-family);
35
+ font-size: 1rem;
36
+ line-height: 1.5;
26
37
  }
27
38
 
28
39
  .container {
@@ -37,6 +48,7 @@ body {
37
48
  header h1 {
38
49
  margin: 0 0 8px;
39
50
  font-size: 2rem;
51
+ font-weight: 600;
40
52
  line-height: 1.1;
41
53
  }
42
54
 
@@ -64,12 +76,14 @@ header h1 {
64
76
  .panel h2 {
65
77
  margin: 0 0 6px;
66
78
  font-size: 1.18rem;
79
+ font-weight: 600;
67
80
  line-height: 1.25;
68
81
  }
69
82
 
70
83
  .panel h3 {
71
84
  margin: 0 0 4px;
72
85
  font-size: 1rem;
86
+ font-weight: 600;
73
87
  line-height: 1.25;
74
88
  }
75
89
 
@@ -104,6 +118,32 @@ header h1 {
104
118
  width: 100%;
105
119
  }
106
120
 
121
+ input,
122
+ select {
123
+ display: block;
124
+ width: 100%;
125
+ min-height: 38px;
126
+ padding: 0.45rem 0.75rem;
127
+ color: inherit;
128
+ background: var(--bs-body-bg, var(--plugin-control-surface));
129
+ border: 1px solid var(--plugin-border);
130
+ border-radius: 0.375rem;
131
+ font-family: var(--plugin-font-family);
132
+ font-size: 1rem;
133
+ line-height: 1.5;
134
+ transition:
135
+ border-color 0.15s ease,
136
+ box-shadow 0.15s ease,
137
+ background-color 0.15s ease;
138
+ }
139
+
140
+ input:focus,
141
+ select:focus {
142
+ border-color: color-mix(in srgb, var(--plugin-accent) 72%, currentColor);
143
+ box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--plugin-accent) 18%, transparent);
144
+ outline: 0;
145
+ }
146
+
107
147
  .field small,
108
148
  .checkbox small {
109
149
  color: currentColor;
@@ -139,6 +179,7 @@ input::placeholder {
139
179
  }
140
180
 
141
181
  .readonly input {
182
+ background: var(--plugin-control-disabled);
142
183
  opacity: 0.68;
143
184
  }
144
185
 
@@ -150,7 +191,22 @@ input::placeholder {
150
191
  }
151
192
 
152
193
  button {
153
- font: inherit;
194
+ display: inline-flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ min-height: 38px;
198
+ padding: 0.45rem 0.85rem;
199
+ border: 1px solid transparent;
200
+ font-family: var(--plugin-font-family);
201
+ font-size: 0.95rem;
202
+ font-weight: 600;
203
+ line-height: 1.5;
204
+ cursor: pointer;
205
+ transition:
206
+ background-color 0.15s ease,
207
+ border-color 0.15s ease,
208
+ box-shadow 0.15s ease,
209
+ filter 0.15s ease;
154
210
  }
155
211
 
156
212
  button.primary,
@@ -166,13 +222,14 @@ button.primary {
166
222
 
167
223
  button.secondary {
168
224
  color: inherit;
169
- background: transparent;
225
+ background: var(--plugin-subtle-surface);
170
226
  border: 1px solid var(--plugin-border);
171
227
  }
172
228
 
173
229
  button.primary:hover,
174
230
  button.secondary:hover {
175
231
  filter: brightness(1.04);
232
+ box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--plugin-accent) 10%, transparent);
176
233
  }
177
234
 
178
235
  .toast-container {
@@ -187,7 +244,7 @@ button.secondary:hover {
187
244
 
188
245
  .toast {
189
246
  color: inherit;
190
- background: var(--bs-body-bg, var(--plugin-subtle-surface));
247
+ background: var(--bs-body-bg, var(--plugin-control-surface));
191
248
  border: 1px solid var(--plugin-border);
192
249
  border-radius: 8px;
193
250
  padding: 12px 16px;
@@ -310,12 +367,14 @@ button.secondary:hover {
310
367
  .status-pill.good {
311
368
  background: var(--plugin-success-surface);
312
369
  border-color: rgba(34, 197, 94, 0.42);
370
+ color: inherit;
313
371
  }
314
372
 
315
373
  .pill.warn,
316
374
  .status-pill.warn {
317
375
  background: var(--plugin-warning-surface);
318
376
  border-color: rgba(245, 158, 11, 0.42);
377
+ color: inherit;
319
378
  }
320
379
 
321
380
  @keyframes slide-in {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-nuheat2",
3
- "version": "1.2.14",
3
+ "version": "1.2.15",
4
4
  "description": "Homebridge Platform for NuHeat Signature Thermostats",
5
5
  "main": "index.js",
6
6
  "scripts": {