@jjlmoya/utils-developer 1.12.0 → 1.13.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.
Files changed (50) hide show
  1. package/package.json +5 -3
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/tool/aspectRatio/aspect-ratio-calculator.css +276 -0
  4. package/src/tool/aspectRatio/component.astro +0 -278
  5. package/src/tool/calculadoraTiempoDatos/component.astro +0 -524
  6. package/src/tool/calculadoraTiempoDatos/data-time-calculator-web-speed-impact.css +522 -0
  7. package/src/tool/colorConverter/color-converter-rgb-hex-hsl.css +262 -0
  8. package/src/tool/colorConverter/component.astro +0 -264
  9. package/src/tool/conversorExcelCsvHtml/component.astro +0 -360
  10. package/src/tool/conversorExcelCsvHtml/excel-csv-html-table-converter.css +358 -0
  11. package/src/tool/cronGenerator/component.astro +0 -317
  12. package/src/tool/cronGenerator/cron.css +315 -0
  13. package/src/tool/cssSpecificityCalculator/component.astro +0 -205
  14. package/src/tool/cssSpecificityCalculator/css-specificity-calculator.css +203 -0
  15. package/src/tool/cssToInlineConverter/component.astro +0 -150
  16. package/src/tool/cssToInlineConverter/css-to-inline-converter.css +148 -0
  17. package/src/tool/duplicateCssRemover/component.astro +0 -197
  18. package/src/tool/duplicateCssRemover/duplicate-css-remover.css +195 -0
  19. package/src/tool/generadorSecurityTxt/component.astro +0 -231
  20. package/src/tool/generadorSecurityTxt/security-txt-generator-rfc-9116.css +229 -0
  21. package/src/tool/hashGenerator/component.astro +0 -229
  22. package/src/tool/hashGenerator/hash-generator.css +227 -0
  23. package/src/tool/inspectorCertificadosSsl/component.astro +0 -261
  24. package/src/tool/inspectorCertificadosSsl/ssl-tls-certificate-inspector.css +259 -0
  25. package/src/tool/jsonFormatter/component.astro +0 -346
  26. package/src/tool/jsonFormatter/json-formatter.css +344 -0
  27. package/src/tool/keycode/component.astro +0 -298
  28. package/src/tool/keycode/keycode.css +296 -0
  29. package/src/tool/llmCostCalculator/component.astro +0 -253
  30. package/src/tool/llmCostCalculator/llm-cost-calculator.css +251 -0
  31. package/src/tool/mobileMockupGenerator/component.astro +0 -906
  32. package/src/tool/mobileMockupGenerator/mobile-mockup-generator.css +904 -0
  33. package/src/tool/musicalTypography/component.astro +0 -291
  34. package/src/tool/musicalTypography/musical-typography.css +289 -0
  35. package/src/tool/placeholderGenerator/component.astro +0 -255
  36. package/src/tool/placeholderGenerator/placeholder-image-generator.css +253 -0
  37. package/src/tool/promptLibrary/component.astro +0 -689
  38. package/src/tool/promptLibrary/prompt-library.css +687 -0
  39. package/src/tool/readabilityCalculator/component.astro +0 -322
  40. package/src/tool/readabilityCalculator/visual-readability-calculator-wcag-apca.css +320 -0
  41. package/src/tool/svgSanitizer/component.astro +0 -289
  42. package/src/tool/svgSanitizer/svg-sanitizer.css +287 -0
  43. package/src/tool/svgToCss/component.astro +0 -196
  44. package/src/tool/svgToCss/svg-to-css-converter.css +194 -0
  45. package/src/tool/urlCleaner/component.astro +0 -282
  46. package/src/tool/urlCleaner/url-tracking-cleaner.css +280 -0
  47. package/src/tool/urlEncoderDecoder/component.astro +0 -168
  48. package/src/tool/urlEncoderDecoder/url-encoder-decoder.css +166 -0
  49. package/src/tool/utmGenerator/component.astro +0 -156
  50. package/src/tool/utmGenerator/utm-generator.css +154 -0
@@ -233,256 +233,3 @@ const t = (ui ?? {}) as LlmCostCalculatorUI;
233
233
  init();
234
234
  </script>
235
235
 
236
- <style>
237
- .llm-root {
238
- --llm-card-bg: rgba(255, 255, 255, 0.9);
239
- --llm-card-border: rgba(15, 23, 42, 0.05);
240
- --llm-text: #1e293b;
241
- --llm-muted: #64748b;
242
- --llm-accent: #6366f1;
243
- --llm-input-bg: #f8fafc;
244
- --llm-input-border: #e2e8f0;
245
- --llm-panel-bg: #f8fafc;
246
- --llm-panel-border: #f1f5f9;
247
- --llm-divider: #e2e8f0;
248
- --llm-total-from: #4f46e5;
249
- --llm-total-to: #9333ea;
250
- }
251
-
252
- :global(.theme-dark) .llm-root {
253
- --llm-card-bg: rgba(15, 23, 42, 0.9);
254
- --llm-card-border: rgba(255, 255, 255, 0.1);
255
- --llm-text: #f1f5f9;
256
- --llm-muted: #94a3b8;
257
- --llm-input-bg: #1e293b;
258
- --llm-input-border: #334155;
259
- --llm-panel-bg: rgba(30, 41, 59, 0.5);
260
- --llm-panel-border: rgba(51, 65, 85, 0.5);
261
- --llm-divider: #334155;
262
- --llm-total-from: #818cf8;
263
- --llm-total-to: #c084fc;
264
- }
265
-
266
- .llm-glow-wrap {
267
- position: relative;
268
- }
269
-
270
- .llm-glow {
271
- position: absolute;
272
- inset: -4px;
273
- background: linear-gradient(to right, #6366f1, #a855f7, #ec4899);
274
- border-radius: 1.25rem;
275
- filter: blur(8px);
276
- opacity: 0.25;
277
- transition: opacity 1s;
278
- }
279
-
280
- .llm-glow-wrap:hover .llm-glow {
281
- opacity: 0.5;
282
- transition-duration: 0.2s;
283
- }
284
-
285
- .llm-card {
286
- position: relative;
287
- background: var(--llm-card-bg);
288
- backdrop-filter: blur(12px);
289
- border-radius: 0.75rem;
290
- padding: 1.5rem;
291
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
292
- border: 1px solid var(--llm-card-border);
293
- color: var(--llm-text);
294
- }
295
-
296
- .llm-grid {
297
- display: grid;
298
- grid-template-columns: 1fr 1fr;
299
- gap: 2rem;
300
- }
301
-
302
- @media (max-width: 640px) {
303
- .llm-grid {
304
- grid-template-columns: 1fr;
305
- }
306
- }
307
-
308
- .llm-controls {
309
- display: flex;
310
- flex-direction: column;
311
- gap: 1.5rem;
312
- }
313
-
314
- .llm-label {
315
- display: block;
316
- font-size: 0.875rem;
317
- font-weight: 500;
318
- color: var(--llm-muted);
319
- margin-bottom: 0.5rem;
320
- }
321
-
322
- .llm-select,
323
- .llm-input {
324
- display: block;
325
- width: 100%;
326
- border-radius: 0.5rem;
327
- border: 1px solid var(--llm-input-border);
328
- background: var(--llm-input-bg);
329
- color: var(--llm-text);
330
- font-size: 0.875rem;
331
- padding: 0.625rem;
332
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
333
- box-sizing: border-box;
334
- }
335
-
336
- .llm-select:focus,
337
- .llm-input:focus {
338
- outline: 2px solid var(--llm-accent);
339
- outline-offset: 2px;
340
- border-color: var(--llm-accent);
341
- }
342
-
343
- .llm-tokens-grid {
344
- display: grid;
345
- grid-template-columns: 1fr 1fr;
346
- gap: 1rem;
347
- }
348
-
349
- .llm-word-hint {
350
- margin-top: 0.25rem;
351
- font-size: 0.75rem;
352
- color: var(--llm-muted);
353
- }
354
-
355
- .llm-slider-row {
356
- display: flex;
357
- align-items: center;
358
- gap: 1rem;
359
- }
360
-
361
- .llm-slider {
362
- flex: 1;
363
- accent-color: var(--llm-accent);
364
- cursor: pointer;
365
- }
366
-
367
- .llm-req-num {
368
- width: 6rem;
369
- border-radius: 0.5rem;
370
- border: 1px solid var(--llm-input-border);
371
- background: var(--llm-input-bg);
372
- color: var(--llm-text);
373
- font-size: 0.875rem;
374
- padding: 0.5rem;
375
- text-align: center;
376
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
377
- }
378
-
379
- .llm-req-num:focus {
380
- outline: 2px solid var(--llm-accent);
381
- outline-offset: 2px;
382
- }
383
-
384
- .llm-results {
385
- display: flex;
386
- flex-direction: column;
387
- justify-content: center;
388
- gap: 1.5rem;
389
- background: var(--llm-panel-bg);
390
- border-radius: 0.75rem;
391
- padding: 1.5rem;
392
- border: 1px solid var(--llm-panel-border);
393
- }
394
-
395
- .llm-stat-title {
396
- font-size: 0.75rem;
397
- font-weight: 500;
398
- color: var(--llm-muted);
399
- text-transform: uppercase;
400
- letter-spacing: 0.05em;
401
- text-align: center;
402
- margin: 0 0 0.5rem;
403
- }
404
-
405
- .llm-cost-val {
406
- font-size: 1.875rem;
407
- font-weight: 700;
408
- color: var(--llm-text);
409
- text-align: center;
410
- }
411
-
412
- .llm-divider-wrap {
413
- position: relative;
414
- height: 1px;
415
- background: var(--llm-divider);
416
- }
417
-
418
- .llm-divider-line {
419
- position: absolute;
420
- inset: 0;
421
- background: var(--llm-divider);
422
- }
423
-
424
- .llm-divider-label {
425
- position: absolute;
426
- left: 50%;
427
- top: 50%;
428
- transform: translate(-50%, -50%);
429
- background: var(--llm-panel-bg);
430
- padding: 0 0.5rem;
431
- font-size: 0.75rem;
432
- color: var(--llm-muted);
433
- white-space: nowrap;
434
- }
435
-
436
- .llm-total-title {
437
- font-size: 0.75rem;
438
- font-weight: 500;
439
- color: var(--llm-accent);
440
- text-transform: uppercase;
441
- letter-spacing: 0.05em;
442
- text-align: center;
443
- margin: 0 0 0.5rem;
444
- }
445
-
446
- .llm-total-val {
447
- font-size: 3rem;
448
- font-weight: 900;
449
- text-align: center;
450
- background: linear-gradient(to right, var(--llm-total-from), var(--llm-total-to));
451
- -webkit-background-clip: text;
452
- -webkit-text-fill-color: transparent;
453
- background-clip: text;
454
- }
455
-
456
- .llm-bar-section {
457
- display: flex;
458
- flex-direction: column;
459
- gap: 0.5rem;
460
- }
461
-
462
- .llm-bar-labels {
463
- display: flex;
464
- justify-content: space-between;
465
- font-size: 0.75rem;
466
- color: var(--llm-muted);
467
- }
468
-
469
- .llm-bar-track {
470
- height: 0.5rem;
471
- background: var(--llm-divider);
472
- border-radius: 9999px;
473
- overflow: hidden;
474
- display: flex;
475
- }
476
-
477
- .llm-bar-input {
478
- background: #3b82f6;
479
- height: 100%;
480
- transition: width 0.5s;
481
- }
482
-
483
- .llm-bar-output {
484
- background: #22c55e;
485
- height: 100%;
486
- transition: width 0.5s;
487
- }
488
- </style>
@@ -0,0 +1,251 @@
1
+ .llm-root {
2
+ --llm-card-bg: rgba(255, 255, 255, 0.9);
3
+ --llm-card-border: rgba(15, 23, 42, 0.05);
4
+ --llm-text: #1e293b;
5
+ --llm-muted: #64748b;
6
+ --llm-accent: #6366f1;
7
+ --llm-input-bg: #f8fafc;
8
+ --llm-input-border: #e2e8f0;
9
+ --llm-panel-bg: #f8fafc;
10
+ --llm-panel-border: #f1f5f9;
11
+ --llm-divider: #e2e8f0;
12
+ --llm-total-from: #4f46e5;
13
+ --llm-total-to: #9333ea;
14
+ }
15
+
16
+ :global(.theme-dark) .llm-root {
17
+ --llm-card-bg: rgba(15, 23, 42, 0.9);
18
+ --llm-card-border: rgba(255, 255, 255, 0.1);
19
+ --llm-text: #f1f5f9;
20
+ --llm-muted: #94a3b8;
21
+ --llm-input-bg: #1e293b;
22
+ --llm-input-border: #334155;
23
+ --llm-panel-bg: rgba(30, 41, 59, 0.5);
24
+ --llm-panel-border: rgba(51, 65, 85, 0.5);
25
+ --llm-divider: #334155;
26
+ --llm-total-from: #818cf8;
27
+ --llm-total-to: #c084fc;
28
+ }
29
+
30
+ .llm-glow-wrap {
31
+ position: relative;
32
+ }
33
+
34
+ .llm-glow {
35
+ position: absolute;
36
+ inset: -4px;
37
+ background: linear-gradient(to right, #6366f1, #a855f7, #ec4899);
38
+ border-radius: 1.25rem;
39
+ filter: blur(8px);
40
+ opacity: 0.25;
41
+ transition: opacity 1s;
42
+ }
43
+
44
+ .llm-glow-wrap:hover .llm-glow {
45
+ opacity: 0.5;
46
+ transition-duration: 0.2s;
47
+ }
48
+
49
+ .llm-card {
50
+ position: relative;
51
+ background: var(--llm-card-bg);
52
+ backdrop-filter: blur(12px);
53
+ border-radius: 0.75rem;
54
+ padding: 1.5rem;
55
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
56
+ border: 1px solid var(--llm-card-border);
57
+ color: var(--llm-text);
58
+ }
59
+
60
+ .llm-grid {
61
+ display: grid;
62
+ grid-template-columns: 1fr 1fr;
63
+ gap: 2rem;
64
+ }
65
+
66
+ @media (max-width: 640px) {
67
+ .llm-grid {
68
+ grid-template-columns: 1fr;
69
+ }
70
+ }
71
+
72
+ .llm-controls {
73
+ display: flex;
74
+ flex-direction: column;
75
+ gap: 1.5rem;
76
+ }
77
+
78
+ .llm-label {
79
+ display: block;
80
+ font-size: 0.875rem;
81
+ font-weight: 500;
82
+ color: var(--llm-muted);
83
+ margin-bottom: 0.5rem;
84
+ }
85
+
86
+ .llm-select,
87
+ .llm-input {
88
+ display: block;
89
+ width: 100%;
90
+ border-radius: 0.5rem;
91
+ border: 1px solid var(--llm-input-border);
92
+ background: var(--llm-input-bg);
93
+ color: var(--llm-text);
94
+ font-size: 0.875rem;
95
+ padding: 0.625rem;
96
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
97
+ box-sizing: border-box;
98
+ }
99
+
100
+ .llm-select:focus,
101
+ .llm-input:focus {
102
+ outline: 2px solid var(--llm-accent);
103
+ outline-offset: 2px;
104
+ border-color: var(--llm-accent);
105
+ }
106
+
107
+ .llm-tokens-grid {
108
+ display: grid;
109
+ grid-template-columns: 1fr 1fr;
110
+ gap: 1rem;
111
+ }
112
+
113
+ .llm-word-hint {
114
+ margin-top: 0.25rem;
115
+ font-size: 0.75rem;
116
+ color: var(--llm-muted);
117
+ }
118
+
119
+ .llm-slider-row {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 1rem;
123
+ }
124
+
125
+ .llm-slider {
126
+ flex: 1;
127
+ accent-color: var(--llm-accent);
128
+ cursor: pointer;
129
+ }
130
+
131
+ .llm-req-num {
132
+ width: 6rem;
133
+ border-radius: 0.5rem;
134
+ border: 1px solid var(--llm-input-border);
135
+ background: var(--llm-input-bg);
136
+ color: var(--llm-text);
137
+ font-size: 0.875rem;
138
+ padding: 0.5rem;
139
+ text-align: center;
140
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
141
+ }
142
+
143
+ .llm-req-num:focus {
144
+ outline: 2px solid var(--llm-accent);
145
+ outline-offset: 2px;
146
+ }
147
+
148
+ .llm-results {
149
+ display: flex;
150
+ flex-direction: column;
151
+ justify-content: center;
152
+ gap: 1.5rem;
153
+ background: var(--llm-panel-bg);
154
+ border-radius: 0.75rem;
155
+ padding: 1.5rem;
156
+ border: 1px solid var(--llm-panel-border);
157
+ }
158
+
159
+ .llm-stat-title {
160
+ font-size: 0.75rem;
161
+ font-weight: 500;
162
+ color: var(--llm-muted);
163
+ text-transform: uppercase;
164
+ letter-spacing: 0.05em;
165
+ text-align: center;
166
+ margin: 0 0 0.5rem;
167
+ }
168
+
169
+ .llm-cost-val {
170
+ font-size: 1.875rem;
171
+ font-weight: 700;
172
+ color: var(--llm-text);
173
+ text-align: center;
174
+ }
175
+
176
+ .llm-divider-wrap {
177
+ position: relative;
178
+ height: 1px;
179
+ background: var(--llm-divider);
180
+ }
181
+
182
+ .llm-divider-line {
183
+ position: absolute;
184
+ inset: 0;
185
+ background: var(--llm-divider);
186
+ }
187
+
188
+ .llm-divider-label {
189
+ position: absolute;
190
+ left: 50%;
191
+ top: 50%;
192
+ transform: translate(-50%, -50%);
193
+ background: var(--llm-panel-bg);
194
+ padding: 0 0.5rem;
195
+ font-size: 0.75rem;
196
+ color: var(--llm-muted);
197
+ white-space: nowrap;
198
+ }
199
+
200
+ .llm-total-title {
201
+ font-size: 0.75rem;
202
+ font-weight: 500;
203
+ color: var(--llm-accent);
204
+ text-transform: uppercase;
205
+ letter-spacing: 0.05em;
206
+ text-align: center;
207
+ margin: 0 0 0.5rem;
208
+ }
209
+
210
+ .llm-total-val {
211
+ font-size: 3rem;
212
+ font-weight: 900;
213
+ text-align: center;
214
+ background: linear-gradient(to right, var(--llm-total-from), var(--llm-total-to));
215
+ -webkit-background-clip: text;
216
+ -webkit-text-fill-color: transparent;
217
+ background-clip: text;
218
+ }
219
+
220
+ .llm-bar-section {
221
+ display: flex;
222
+ flex-direction: column;
223
+ gap: 0.5rem;
224
+ }
225
+
226
+ .llm-bar-labels {
227
+ display: flex;
228
+ justify-content: space-between;
229
+ font-size: 0.75rem;
230
+ color: var(--llm-muted);
231
+ }
232
+
233
+ .llm-bar-track {
234
+ height: 0.5rem;
235
+ background: var(--llm-divider);
236
+ border-radius: 9999px;
237
+ overflow: hidden;
238
+ display: flex;
239
+ }
240
+
241
+ .llm-bar-input {
242
+ background: #3b82f6;
243
+ height: 100%;
244
+ transition: width 0.5s;
245
+ }
246
+
247
+ .llm-bar-output {
248
+ background: #22c55e;
249
+ height: 100%;
250
+ transition: width 0.5s;
251
+ }