@jjlmoya/utils-home 1.15.0 → 1.16.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.
@@ -213,308 +213,3 @@ const initial = calculateLedSaving({
213
213
  init();
214
214
  </script>
215
215
 
216
- <style>
217
- .led-wrapper {
218
- --led-p: #f59e0b;
219
-
220
- width: 100%;
221
- padding: 1rem 0;
222
- }
223
-
224
- .led-card {
225
- background: var(--bg-surface);
226
- width: calc(100% - 24px);
227
- max-width: 960px;
228
- margin: 0 auto;
229
- border-radius: 24px;
230
- overflow: hidden;
231
- display: flex;
232
- flex-direction: column;
233
- border: 1px solid var(--border-color);
234
- color: var(--text-main);
235
- }
236
-
237
- @media (min-width: 768px) {
238
- .led-card {
239
- flex-direction: row;
240
- min-height: 560px;
241
- }
242
- }
243
-
244
- .led-left {
245
- flex: 0 0 auto;
246
- width: 100%;
247
- padding: 32px;
248
- border-bottom: 1px solid var(--border-color);
249
- display: flex;
250
- flex-direction: column;
251
- gap: 24px;
252
- }
253
-
254
- @media (min-width: 768px) {
255
- .led-left {
256
- width: 380px;
257
- border-bottom: none;
258
- border-right: 1px solid var(--border-color);
259
- }
260
- }
261
-
262
- .led-right {
263
- flex: 1;
264
- background: var(--bg-page);
265
- display: flex;
266
- flex-direction: column;
267
- align-items: center;
268
- justify-content: center;
269
- gap: 28px;
270
- padding: 40px 32px;
271
- min-height: 360px;
272
- }
273
-
274
- .led-section-title {
275
- font-size: 0.75rem;
276
- font-weight: 900;
277
- text-transform: uppercase;
278
- letter-spacing: 0.14em;
279
- color: var(--led-p);
280
- margin: 0;
281
- }
282
-
283
- .led-field {
284
- display: flex;
285
- flex-direction: column;
286
- gap: 10px;
287
- }
288
-
289
- .led-label {
290
- font-size: 0.6875rem;
291
- font-weight: 700;
292
- text-transform: uppercase;
293
- letter-spacing: 0.1em;
294
- color: var(--text-muted);
295
- }
296
-
297
- .led-number-row {
298
- display: flex;
299
- align-items: baseline;
300
- gap: 8px;
301
- }
302
-
303
- .led-number-input {
304
- width: 100px;
305
- font-size: 2.5rem;
306
- font-weight: 900;
307
- color: var(--text-main);
308
- background: transparent;
309
- border: none;
310
- border-bottom: 2px solid var(--border-color);
311
- padding: 4px 0;
312
- outline: none;
313
- transition: border-color 0.2s;
314
- }
315
-
316
- .led-number-input:focus {
317
- border-color: var(--led-p);
318
- }
319
-
320
- .led-number-unit {
321
- font-size: 0.875rem;
322
- color: var(--text-muted);
323
- }
324
-
325
- .led-type-grid {
326
- display: grid;
327
- grid-template-columns: 1fr 1fr;
328
- gap: 8px;
329
- }
330
-
331
- .led-type-btn {
332
- display: flex;
333
- flex-direction: column;
334
- align-items: flex-start;
335
- gap: 2px;
336
- padding: 10px 12px;
337
- border-radius: 12px;
338
- border: 1px solid var(--border-color);
339
- background: var(--bg-surface);
340
- color: var(--text-muted);
341
- cursor: pointer;
342
- transition: all 0.2s;
343
- text-align: left;
344
- }
345
-
346
- .led-type-btn:hover {
347
- border-color: var(--led-p);
348
- color: var(--text-main);
349
- }
350
-
351
- .led-type-active {
352
- background: var(--led-p);
353
- border-color: var(--led-p);
354
- color: #fff;
355
- box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
356
- }
357
-
358
- .led-type-title {
359
- font-size: 0.75rem;
360
- font-weight: 700;
361
- }
362
-
363
- .led-type-sub {
364
- font-size: 0.625rem;
365
- opacity: 0.75;
366
- }
367
-
368
- .led-slider {
369
- width: 100%;
370
- height: 6px;
371
- accent-color: var(--led-p);
372
- cursor: pointer;
373
- border-radius: 9999px;
374
- }
375
-
376
- .led-usage-desc {
377
- font-size: 0.8125rem;
378
- color: var(--text-muted);
379
- margin: 0;
380
- }
381
-
382
- .led-price-row {
383
- display: flex;
384
- align-items: baseline;
385
- gap: 8px;
386
- }
387
-
388
- .led-price-input {
389
- width: 90px;
390
- font-size: 1.5rem;
391
- font-weight: 900;
392
- color: var(--text-main);
393
- background: transparent;
394
- border: none;
395
- border-bottom: 2px solid var(--border-color);
396
- padding: 4px 0;
397
- outline: none;
398
- transition: border-color 0.2s;
399
- }
400
-
401
- .led-price-input:focus {
402
- border-color: var(--led-p);
403
- }
404
-
405
- .led-price-unit {
406
- font-size: 0.875rem;
407
- color: var(--text-muted);
408
- }
409
-
410
- .led-result-badge {
411
- font-size: 0.625rem;
412
- font-weight: 900;
413
- text-transform: uppercase;
414
- letter-spacing: 0.18em;
415
- color: var(--led-p);
416
- padding: 6px 14px;
417
- border: 1px solid rgba(245, 158, 11, 0.3);
418
- border-radius: 9999px;
419
- }
420
-
421
- .led-annual-section {
422
- text-align: center;
423
- }
424
-
425
- .led-annual-label {
426
- font-size: 0.6875rem;
427
- font-weight: 700;
428
- text-transform: uppercase;
429
- letter-spacing: 0.15em;
430
- color: var(--text-muted);
431
- margin: 0 0 8px;
432
- }
433
-
434
- .led-annual-value {
435
- font-size: 5rem;
436
- font-weight: 900;
437
- color: var(--led-p);
438
- line-height: 1;
439
- margin: 0;
440
- }
441
-
442
- .led-euro-sign {
443
- font-size: 2.5rem;
444
- font-weight: 300;
445
- color: var(--text-muted);
446
- }
447
-
448
- .led-stats {
449
- display: flex;
450
- align-items: center;
451
- gap: 24px;
452
- width: 100%;
453
- max-width: 320px;
454
- justify-content: center;
455
- }
456
-
457
- .led-stat {
458
- text-align: center;
459
- }
460
-
461
- .led-stat-label {
462
- font-size: 0.625rem;
463
- font-weight: 900;
464
- text-transform: uppercase;
465
- letter-spacing: 0.12em;
466
- color: var(--text-muted);
467
- margin: 0 0 4px;
468
- }
469
-
470
- .led-stat-value {
471
- font-size: 1.25rem;
472
- font-weight: 700;
473
- color: var(--text-main);
474
- margin: 0;
475
- }
476
-
477
- .led-stat-divider {
478
- width: 1px;
479
- height: 36px;
480
- background: var(--border-color);
481
- flex-shrink: 0;
482
- }
483
-
484
- .led-eco-box {
485
- display: flex;
486
- align-items: center;
487
- gap: 14px;
488
- padding: 16px 20px;
489
- border-radius: 16px;
490
- background: rgba(34, 197, 94, 0.08);
491
- border: 1px solid rgba(34, 197, 94, 0.2);
492
- width: 100%;
493
- max-width: 320px;
494
- }
495
-
496
- .led-eco-dot {
497
- width: 14px;
498
- height: 14px;
499
- border-radius: 50%;
500
- background: #22c55e;
501
- flex-shrink: 0;
502
- }
503
-
504
- .led-eco-text {
505
- display: flex;
506
- flex-direction: column;
507
- gap: 2px;
508
- }
509
-
510
- .led-eco-val {
511
- font-size: 1.25rem;
512
- font-weight: 900;
513
- color: #4ade80;
514
- }
515
-
516
- .led-eco-desc {
517
- font-size: 0.6875rem;
518
- color: var(--text-muted);
519
- }
520
- </style>
@@ -0,0 +1,303 @@
1
+ .led-wrapper {
2
+ --led-p: #f59e0b;
3
+
4
+ width: 100%;
5
+ padding: 1rem 0;
6
+ }
7
+
8
+ .led-card {
9
+ background: var(--bg-surface);
10
+ width: calc(100% - 24px);
11
+ max-width: 960px;
12
+ margin: 0 auto;
13
+ border-radius: 24px;
14
+ overflow: hidden;
15
+ display: flex;
16
+ flex-direction: column;
17
+ border: 1px solid var(--border-color);
18
+ color: var(--text-main);
19
+ }
20
+
21
+ @media (min-width: 768px) {
22
+ .led-card {
23
+ flex-direction: row;
24
+ min-height: 560px;
25
+ }
26
+ }
27
+
28
+ .led-left {
29
+ flex: 0 0 auto;
30
+ width: 100%;
31
+ padding: 32px;
32
+ border-bottom: 1px solid var(--border-color);
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 24px;
36
+ }
37
+
38
+ @media (min-width: 768px) {
39
+ .led-left {
40
+ width: 380px;
41
+ border-bottom: none;
42
+ border-right: 1px solid var(--border-color);
43
+ }
44
+ }
45
+
46
+ .led-right {
47
+ flex: 1;
48
+ background: var(--bg-page);
49
+ display: flex;
50
+ flex-direction: column;
51
+ align-items: center;
52
+ justify-content: center;
53
+ gap: 28px;
54
+ padding: 40px 32px;
55
+ min-height: 360px;
56
+ }
57
+
58
+ .led-section-title {
59
+ font-size: 0.75rem;
60
+ font-weight: 900;
61
+ text-transform: uppercase;
62
+ letter-spacing: 0.14em;
63
+ color: var(--led-p);
64
+ margin: 0;
65
+ }
66
+
67
+ .led-field {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 10px;
71
+ }
72
+
73
+ .led-label {
74
+ font-size: 0.6875rem;
75
+ font-weight: 700;
76
+ text-transform: uppercase;
77
+ letter-spacing: 0.1em;
78
+ color: var(--text-muted);
79
+ }
80
+
81
+ .led-number-row {
82
+ display: flex;
83
+ align-items: baseline;
84
+ gap: 8px;
85
+ }
86
+
87
+ .led-number-input {
88
+ width: 100px;
89
+ font-size: 2.5rem;
90
+ font-weight: 900;
91
+ color: var(--text-main);
92
+ background: transparent;
93
+ border: none;
94
+ border-bottom: 2px solid var(--border-color);
95
+ padding: 4px 0;
96
+ outline: none;
97
+ transition: border-color 0.2s;
98
+ }
99
+
100
+ .led-number-input:focus {
101
+ border-color: var(--led-p);
102
+ }
103
+
104
+ .led-number-unit {
105
+ font-size: 0.875rem;
106
+ color: var(--text-muted);
107
+ }
108
+
109
+ .led-type-grid {
110
+ display: grid;
111
+ grid-template-columns: 1fr 1fr;
112
+ gap: 8px;
113
+ }
114
+
115
+ .led-type-btn {
116
+ display: flex;
117
+ flex-direction: column;
118
+ align-items: flex-start;
119
+ gap: 2px;
120
+ padding: 10px 12px;
121
+ border-radius: 12px;
122
+ border: 1px solid var(--border-color);
123
+ background: var(--bg-surface);
124
+ color: var(--text-muted);
125
+ cursor: pointer;
126
+ transition: all 0.2s;
127
+ text-align: left;
128
+ }
129
+
130
+ .led-type-btn:hover {
131
+ border-color: var(--led-p);
132
+ color: var(--text-main);
133
+ }
134
+
135
+ .led-type-active {
136
+ background: var(--led-p);
137
+ border-color: var(--led-p);
138
+ color: #fff;
139
+ box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
140
+ }
141
+
142
+ .led-type-title {
143
+ font-size: 0.75rem;
144
+ font-weight: 700;
145
+ }
146
+
147
+ .led-type-sub {
148
+ font-size: 0.625rem;
149
+ opacity: 0.75;
150
+ }
151
+
152
+ .led-slider {
153
+ width: 100%;
154
+ height: 6px;
155
+ accent-color: var(--led-p);
156
+ cursor: pointer;
157
+ border-radius: 9999px;
158
+ }
159
+
160
+ .led-usage-desc {
161
+ font-size: 0.8125rem;
162
+ color: var(--text-muted);
163
+ margin: 0;
164
+ }
165
+
166
+ .led-price-row {
167
+ display: flex;
168
+ align-items: baseline;
169
+ gap: 8px;
170
+ }
171
+
172
+ .led-price-input {
173
+ width: 90px;
174
+ font-size: 1.5rem;
175
+ font-weight: 900;
176
+ color: var(--text-main);
177
+ background: transparent;
178
+ border: none;
179
+ border-bottom: 2px solid var(--border-color);
180
+ padding: 4px 0;
181
+ outline: none;
182
+ transition: border-color 0.2s;
183
+ }
184
+
185
+ .led-price-input:focus {
186
+ border-color: var(--led-p);
187
+ }
188
+
189
+ .led-price-unit {
190
+ font-size: 0.875rem;
191
+ color: var(--text-muted);
192
+ }
193
+
194
+ .led-result-badge {
195
+ font-size: 0.625rem;
196
+ font-weight: 900;
197
+ text-transform: uppercase;
198
+ letter-spacing: 0.18em;
199
+ color: var(--led-p);
200
+ padding: 6px 14px;
201
+ border: 1px solid rgba(245, 158, 11, 0.3);
202
+ border-radius: 9999px;
203
+ }
204
+
205
+ .led-annual-section {
206
+ text-align: center;
207
+ }
208
+
209
+ .led-annual-label {
210
+ font-size: 0.6875rem;
211
+ font-weight: 700;
212
+ text-transform: uppercase;
213
+ letter-spacing: 0.15em;
214
+ color: var(--text-muted);
215
+ margin: 0 0 8px;
216
+ }
217
+
218
+ .led-annual-value {
219
+ font-size: 5rem;
220
+ font-weight: 900;
221
+ color: var(--led-p);
222
+ line-height: 1;
223
+ margin: 0;
224
+ }
225
+
226
+ .led-euro-sign {
227
+ font-size: 2.5rem;
228
+ font-weight: 300;
229
+ color: var(--text-muted);
230
+ }
231
+
232
+ .led-stats {
233
+ display: flex;
234
+ align-items: center;
235
+ gap: 24px;
236
+ width: 100%;
237
+ max-width: 320px;
238
+ justify-content: center;
239
+ }
240
+
241
+ .led-stat {
242
+ text-align: center;
243
+ }
244
+
245
+ .led-stat-label {
246
+ font-size: 0.625rem;
247
+ font-weight: 900;
248
+ text-transform: uppercase;
249
+ letter-spacing: 0.12em;
250
+ color: var(--text-muted);
251
+ margin: 0 0 4px;
252
+ }
253
+
254
+ .led-stat-value {
255
+ font-size: 1.25rem;
256
+ font-weight: 700;
257
+ color: var(--text-main);
258
+ margin: 0;
259
+ }
260
+
261
+ .led-stat-divider {
262
+ width: 1px;
263
+ height: 36px;
264
+ background: var(--border-color);
265
+ flex-shrink: 0;
266
+ }
267
+
268
+ .led-eco-box {
269
+ display: flex;
270
+ align-items: center;
271
+ gap: 14px;
272
+ padding: 16px 20px;
273
+ border-radius: 16px;
274
+ background: rgba(34, 197, 94, 0.08);
275
+ border: 1px solid rgba(34, 197, 94, 0.2);
276
+ width: 100%;
277
+ max-width: 320px;
278
+ }
279
+
280
+ .led-eco-dot {
281
+ width: 14px;
282
+ height: 14px;
283
+ border-radius: 50%;
284
+ background: #22c55e;
285
+ flex-shrink: 0;
286
+ }
287
+
288
+ .led-eco-text {
289
+ display: flex;
290
+ flex-direction: column;
291
+ gap: 2px;
292
+ }
293
+
294
+ .led-eco-val {
295
+ font-size: 1.25rem;
296
+ font-weight: 900;
297
+ color: #4ade80;
298
+ }
299
+
300
+ .led-eco-desc {
301
+ font-size: 0.6875rem;
302
+ color: var(--text-muted);
303
+ }