@jjlmoya/utils-developer 1.12.0 → 1.14.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
@@ -94,328 +94,6 @@ const t = (ui ?? {}) as ReadabilityCalculatorUI;
94
94
  </div>
95
95
  </div>
96
96
 
97
- <style>
98
- .rc-root {
99
- width: 100%;
100
- }
101
-
102
- .rc-container {
103
- display: grid;
104
- grid-template-columns: 1fr;
105
- gap: 2rem;
106
- max-width: 1200px;
107
- margin: 0 auto;
108
- padding: 1.5rem;
109
- }
110
-
111
- @media (min-width: 1024px) {
112
- .rc-container {
113
- grid-template-columns: 1fr 1fr;
114
- }
115
- }
116
-
117
- .rc-card {
118
- background: rgba(255, 255, 255, 0.7);
119
- backdrop-filter: blur(16px);
120
- -webkit-backdrop-filter: blur(16px);
121
- border: 1px solid rgba(255, 255, 255, 0.4);
122
- border-radius: 1.5rem;
123
- padding: 2.5rem;
124
- display: flex;
125
- flex-direction: column;
126
- gap: 2rem;
127
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 15px -3px rgba(0, 0, 0, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
128
- }
129
-
130
- :global(.theme-dark) .rc-card {
131
- background: rgba(15, 23, 42, 0.6);
132
- border: 1px solid rgba(255, 255, 255, 0.08);
133
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
134
- }
135
-
136
- .rc-control-section {
137
- display: flex;
138
- flex-direction: column;
139
- gap: 2rem;
140
- }
141
-
142
- .rc-group-title {
143
- font-size: 0.75rem;
144
- font-weight: 800;
145
- color: rgb(100, 116, 139);
146
- text-transform: uppercase;
147
- letter-spacing: 0.1em;
148
- margin-bottom: 1rem;
149
- }
150
-
151
- .rc-group-title-sm {
152
- margin-bottom: 0.75rem;
153
- }
154
-
155
- :global(.theme-dark) .rc-group-title {
156
- color: rgb(148, 163, 184);
157
- }
158
-
159
- .rc-inputs-grid {
160
- display: grid;
161
- grid-template-columns: repeat(2, 1fr);
162
- gap: 1.5rem;
163
- }
164
-
165
- .rc-input-wrapper {
166
- display: flex;
167
- flex-direction: column;
168
- gap: 0.75rem;
169
- }
170
-
171
- .rc-label-mini {
172
- font-size: 0.875rem;
173
- font-weight: 600;
174
- color: rgb(30, 41, 59);
175
- }
176
-
177
- :global(.theme-dark) .rc-label-mini {
178
- color: rgb(241, 245, 249);
179
- }
180
-
181
- .rc-color-input-container {
182
- display: flex;
183
- align-items: center;
184
- gap: 0.75rem;
185
- background: rgba(255, 255, 255, 0.5);
186
- border: 1px solid rgb(226, 232, 240);
187
- padding: 0.5rem;
188
- border-radius: 0.75rem;
189
- transition: all 0.2s ease;
190
- }
191
-
192
- :global(.theme-dark) .rc-color-input-container {
193
- background: rgba(30, 41, 59, 0.5);
194
- border-color: rgb(51, 65, 85);
195
- }
196
-
197
- .rc-color-picker {
198
- -webkit-appearance: none;
199
- -moz-appearance: none;
200
- appearance: none;
201
- width: 2.5rem;
202
- height: 2.5rem;
203
- border: none;
204
- border-radius: 0.5rem;
205
- cursor: pointer;
206
- background: none;
207
- }
208
-
209
- .rc-color-picker::-webkit-color-swatch-wrapper {
210
- padding: 0;
211
- }
212
-
213
- .rc-color-picker::-webkit-color-swatch {
214
- border: 1px solid rgba(0, 0, 0, 0.1);
215
- border-radius: 0.4rem;
216
- }
217
-
218
- :global(.theme-dark) .rc-color-picker::-webkit-color-swatch {
219
- border: 1px solid rgba(255, 255, 255, 0.2);
220
- }
221
-
222
- .rc-hex-text {
223
- font-size: 0.875rem;
224
- font-weight: 600;
225
- color: rgb(71, 85, 105);
226
- flex: 1;
227
- }
228
-
229
- :global(.theme-dark) .rc-hex-text {
230
- color: rgb(148, 163, 184);
231
- }
232
-
233
- .rc-sliders-stack {
234
- display: flex;
235
- flex-direction: column;
236
- gap: 1.5rem;
237
- }
238
-
239
- .rc-slider-group {
240
- display: flex;
241
- flex-direction: column;
242
- gap: 0.75rem;
243
- }
244
-
245
- .rc-slider-header {
246
- display: flex;
247
- justify-content: space-between;
248
- align-items: center;
249
- }
250
-
251
- .rc-slider-value {
252
- background: rgb(14, 165, 233);
253
- color: rgb(255, 255, 255);
254
- font-size: 0.75rem;
255
- font-weight: 700;
256
- padding: 0.15rem 0.5rem;
257
- border-radius: 1rem;
258
- }
259
-
260
- .rc-range {
261
- -webkit-appearance: none;
262
- appearance: none;
263
- width: 100%;
264
- height: 6px;
265
- background: rgb(226, 232, 240);
266
- border-radius: 3px;
267
- outline: none;
268
- }
269
-
270
- :global(.theme-dark) .rc-range {
271
- background: rgb(51, 65, 85);
272
- }
273
-
274
- .rc-range::-webkit-slider-thumb {
275
- -webkit-appearance: none;
276
- appearance: none;
277
- width: 18px;
278
- height: 18px;
279
- background: rgb(14, 165, 233);
280
- border-radius: 50%;
281
- cursor: pointer;
282
- box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
283
- transition: all 0.2s ease;
284
- }
285
-
286
- .rc-range::-webkit-slider-thumb:hover {
287
- transform: scale(1.15);
288
- box-shadow: 0 0 0 6px rgba(14, 165, 233, 0.2);
289
- }
290
-
291
- .rc-comparison-grid {
292
- display: grid;
293
- grid-template-columns: repeat(2, 1fr);
294
- gap: 1rem;
295
- }
296
-
297
- .rc-score-card {
298
- padding: 1.25rem;
299
- border-radius: 1rem;
300
- display: flex;
301
- flex-direction: column;
302
- align-items: center;
303
- gap: 0.5rem;
304
- background: rgba(255, 255, 255, 0.4);
305
- border: 1px solid rgba(0, 0, 0, 0.05);
306
- }
307
-
308
- :global(.theme-dark) .rc-score-card {
309
- background: rgba(255, 255, 255, 0.03);
310
- border-color: rgba(255, 255, 255, 0.05);
311
- }
312
-
313
- .rc-score-label {
314
- font-size: 0.65rem;
315
- font-weight: 800;
316
- text-transform: uppercase;
317
- color: rgb(100, 116, 139);
318
- text-align: center;
319
- }
320
-
321
- .rc-score-value {
322
- font-size: 1.5rem;
323
- font-weight: 800;
324
- }
325
-
326
- .rc-score-status {
327
- font-size: 0.75rem;
328
- font-weight: 700;
329
- padding: 0.2rem 0.6rem;
330
- border-radius: 0.5rem;
331
- text-transform: uppercase;
332
- }
333
-
334
- .rc-status-pass {
335
- background: rgb(220, 252, 231);
336
- color: rgb(22, 101, 52);
337
- }
338
-
339
- .rc-status-fail {
340
- background: rgb(254, 226, 226);
341
- color: rgb(153, 27, 27);
342
- }
343
-
344
- :global(.theme-dark) .rc-status-pass {
345
- background: rgba(34, 197, 94, 0.15);
346
- color: rgb(134, 239, 172);
347
- }
348
-
349
- :global(.theme-dark) .rc-status-fail {
350
- background: rgba(239, 68, 68, 0.15);
351
- color: rgb(252, 165, 165);
352
- }
353
-
354
- .rc-preview-container {
355
- flex: 1;
356
- display: flex;
357
- flex-direction: column;
358
- gap: 1.5rem;
359
- }
360
-
361
- .rc-main-preview-box {
362
- padding: 2.5rem;
363
- border-radius: 1.25rem;
364
- transition: all 0.3s ease;
365
- border: 1px solid rgba(0, 0, 0, 0.05);
366
- min-height: 160px;
367
- display: flex;
368
- align-items: center;
369
- }
370
-
371
- .rc-preview-text {
372
- line-height: 1.5;
373
- margin: 0;
374
- }
375
-
376
- .rc-apca-breakdown {
377
- background: rgba(14, 165, 233, 0.05);
378
- padding: 1.5rem;
379
- border-radius: 1rem;
380
- border: 1px solid rgba(14, 165, 233, 0.1);
381
- }
382
-
383
- .rc-breakdown-list {
384
- display: flex;
385
- flex-direction: column;
386
- gap: 0.75rem;
387
- }
388
-
389
- .rc-breakdown-item {
390
- display: flex;
391
- justify-content: space-between;
392
- font-size: 0.875rem;
393
- }
394
-
395
- .rc-item-label {
396
- color: rgb(71, 85, 105);
397
- font-weight: 600;
398
- }
399
-
400
- :global(.theme-dark) .rc-item-label {
401
- color: rgb(148, 163, 184);
402
- }
403
-
404
- .rc-item-check {
405
- font-weight: 700;
406
- display: flex;
407
- align-items: center;
408
- gap: 0.4rem;
409
- }
410
-
411
- .rc-check-yes {
412
- color: rgb(16, 185, 129);
413
- }
414
-
415
- .rc-check-no {
416
- color: rgb(239, 68, 68);
417
- }
418
- </style>
419
97
 
420
98
  <script>
421
99
  import type { ReadabilityCalculatorUI } from './ui';
@@ -0,0 +1,320 @@
1
+ .rc-root {
2
+ width: 100%;
3
+ }
4
+
5
+ .rc-container {
6
+ display: grid;
7
+ grid-template-columns: 1fr;
8
+ gap: 2rem;
9
+ max-width: 1200px;
10
+ margin: 0 auto;
11
+ padding: 1.5rem;
12
+ }
13
+
14
+ @media (min-width: 1024px) {
15
+ .rc-container {
16
+ grid-template-columns: 1fr 1fr;
17
+ }
18
+ }
19
+
20
+ .rc-card {
21
+ background: rgba(255, 255, 255, 0.7);
22
+ backdrop-filter: blur(16px);
23
+ -webkit-backdrop-filter: blur(16px);
24
+ border: 1px solid rgba(255, 255, 255, 0.4);
25
+ border-radius: 1.5rem;
26
+ padding: 2.5rem;
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: 2rem;
30
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 15px -3px rgba(0, 0, 0, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
31
+ }
32
+
33
+ .theme-dark .rc-card {
34
+ background: rgba(15, 23, 42, 0.6);
35
+ border: 1px solid rgba(255, 255, 255, 0.08);
36
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
37
+ }
38
+
39
+ .rc-control-section {
40
+ display: flex;
41
+ flex-direction: column;
42
+ gap: 2rem;
43
+ }
44
+
45
+ .rc-group-title {
46
+ font-size: 0.75rem;
47
+ font-weight: 800;
48
+ color: rgb(100, 116, 139);
49
+ text-transform: uppercase;
50
+ letter-spacing: 0.1em;
51
+ margin-bottom: 1rem;
52
+ }
53
+
54
+ .rc-group-title-sm {
55
+ margin-bottom: 0.75rem;
56
+ }
57
+
58
+ .theme-dark .rc-group-title {
59
+ color: rgb(148, 163, 184);
60
+ }
61
+
62
+ .rc-inputs-grid {
63
+ display: grid;
64
+ grid-template-columns: repeat(2, 1fr);
65
+ gap: 1.5rem;
66
+ }
67
+
68
+ .rc-input-wrapper {
69
+ display: flex;
70
+ flex-direction: column;
71
+ gap: 0.75rem;
72
+ }
73
+
74
+ .rc-label-mini {
75
+ font-size: 0.875rem;
76
+ font-weight: 600;
77
+ color: rgb(30, 41, 59);
78
+ }
79
+
80
+ .theme-dark .rc-label-mini {
81
+ color: rgb(241, 245, 249);
82
+ }
83
+
84
+ .rc-color-input-container {
85
+ display: flex;
86
+ align-items: center;
87
+ gap: 0.75rem;
88
+ background: rgba(255, 255, 255, 0.5);
89
+ border: 1px solid rgb(226, 232, 240);
90
+ padding: 0.5rem;
91
+ border-radius: 0.75rem;
92
+ transition: all 0.2s ease;
93
+ }
94
+
95
+ .theme-dark .rc-color-input-container {
96
+ background: rgba(30, 41, 59, 0.5);
97
+ border-color: rgb(51, 65, 85);
98
+ }
99
+
100
+ .rc-color-picker {
101
+ -webkit-appearance: none;
102
+ -moz-appearance: none;
103
+ appearance: none;
104
+ width: 2.5rem;
105
+ height: 2.5rem;
106
+ border: none;
107
+ border-radius: 0.5rem;
108
+ cursor: pointer;
109
+ background: none;
110
+ }
111
+
112
+ .rc-color-picker::-webkit-color-swatch-wrapper {
113
+ padding: 0;
114
+ }
115
+
116
+ .rc-color-picker::-webkit-color-swatch {
117
+ border: 1px solid rgba(0, 0, 0, 0.1);
118
+ border-radius: 0.4rem;
119
+ }
120
+
121
+ .theme-dark .rc-color-picker::-webkit-color-swatch {
122
+ border: 1px solid rgba(255, 255, 255, 0.2);
123
+ }
124
+
125
+ .rc-hex-text {
126
+ font-size: 0.875rem;
127
+ font-weight: 600;
128
+ color: rgb(71, 85, 105);
129
+ flex: 1;
130
+ }
131
+
132
+ .theme-dark .rc-hex-text {
133
+ color: rgb(148, 163, 184);
134
+ }
135
+
136
+ .rc-sliders-stack {
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: 1.5rem;
140
+ }
141
+
142
+ .rc-slider-group {
143
+ display: flex;
144
+ flex-direction: column;
145
+ gap: 0.75rem;
146
+ }
147
+
148
+ .rc-slider-header {
149
+ display: flex;
150
+ justify-content: space-between;
151
+ align-items: center;
152
+ }
153
+
154
+ .rc-slider-value {
155
+ background: rgb(14, 165, 233);
156
+ color: rgb(255, 255, 255);
157
+ font-size: 0.75rem;
158
+ font-weight: 700;
159
+ padding: 0.15rem 0.5rem;
160
+ border-radius: 1rem;
161
+ }
162
+
163
+ .rc-range {
164
+ -webkit-appearance: none;
165
+ appearance: none;
166
+ width: 100%;
167
+ height: 6px;
168
+ background: rgb(226, 232, 240);
169
+ border-radius: 3px;
170
+ outline: none;
171
+ }
172
+
173
+ .theme-dark .rc-range {
174
+ background: rgb(51, 65, 85);
175
+ }
176
+
177
+ .rc-range::-webkit-slider-thumb {
178
+ -webkit-appearance: none;
179
+ appearance: none;
180
+ width: 18px;
181
+ height: 18px;
182
+ background: rgb(14, 165, 233);
183
+ border-radius: 50%;
184
+ cursor: pointer;
185
+ box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
186
+ transition: all 0.2s ease;
187
+ }
188
+
189
+ .rc-range::-webkit-slider-thumb:hover {
190
+ transform: scale(1.15);
191
+ box-shadow: 0 0 0 6px rgba(14, 165, 233, 0.2);
192
+ }
193
+
194
+ .rc-comparison-grid {
195
+ display: grid;
196
+ grid-template-columns: repeat(2, 1fr);
197
+ gap: 1rem;
198
+ }
199
+
200
+ .rc-score-card {
201
+ padding: 1.25rem;
202
+ border-radius: 1rem;
203
+ display: flex;
204
+ flex-direction: column;
205
+ align-items: center;
206
+ gap: 0.5rem;
207
+ background: rgba(255, 255, 255, 0.4);
208
+ border: 1px solid rgba(0, 0, 0, 0.05);
209
+ }
210
+
211
+ .theme-dark .rc-score-card {
212
+ background: rgba(255, 255, 255, 0.03);
213
+ border-color: rgba(255, 255, 255, 0.05);
214
+ }
215
+
216
+ .rc-score-label {
217
+ font-size: 0.65rem;
218
+ font-weight: 800;
219
+ text-transform: uppercase;
220
+ color: rgb(100, 116, 139);
221
+ text-align: center;
222
+ }
223
+
224
+ .rc-score-value {
225
+ font-size: 1.5rem;
226
+ font-weight: 800;
227
+ }
228
+
229
+ .rc-score-status {
230
+ font-size: 0.75rem;
231
+ font-weight: 700;
232
+ padding: 0.2rem 0.6rem;
233
+ border-radius: 0.5rem;
234
+ text-transform: uppercase;
235
+ }
236
+
237
+ .rc-status-pass {
238
+ background: rgb(220, 252, 231);
239
+ color: rgb(22, 101, 52);
240
+ }
241
+
242
+ .rc-status-fail {
243
+ background: rgb(254, 226, 226);
244
+ color: rgb(153, 27, 27);
245
+ }
246
+
247
+ .theme-dark .rc-status-pass {
248
+ background: rgba(34, 197, 94, 0.15);
249
+ color: rgb(134, 239, 172);
250
+ }
251
+
252
+ .theme-dark .rc-status-fail {
253
+ background: rgba(239, 68, 68, 0.15);
254
+ color: rgb(252, 165, 165);
255
+ }
256
+
257
+ .rc-preview-container {
258
+ flex: 1;
259
+ display: flex;
260
+ flex-direction: column;
261
+ gap: 1.5rem;
262
+ }
263
+
264
+ .rc-main-preview-box {
265
+ padding: 2.5rem;
266
+ border-radius: 1.25rem;
267
+ transition: all 0.3s ease;
268
+ border: 1px solid rgba(0, 0, 0, 0.05);
269
+ min-height: 160px;
270
+ display: flex;
271
+ align-items: center;
272
+ }
273
+
274
+ .rc-preview-text {
275
+ line-height: 1.5;
276
+ margin: 0;
277
+ }
278
+
279
+ .rc-apca-breakdown {
280
+ background: rgba(14, 165, 233, 0.05);
281
+ padding: 1.5rem;
282
+ border-radius: 1rem;
283
+ border: 1px solid rgba(14, 165, 233, 0.1);
284
+ }
285
+
286
+ .rc-breakdown-list {
287
+ display: flex;
288
+ flex-direction: column;
289
+ gap: 0.75rem;
290
+ }
291
+
292
+ .rc-breakdown-item {
293
+ display: flex;
294
+ justify-content: space-between;
295
+ font-size: 0.875rem;
296
+ }
297
+
298
+ .rc-item-label {
299
+ color: rgb(71, 85, 105);
300
+ font-weight: 600;
301
+ }
302
+
303
+ .theme-dark .rc-item-label {
304
+ color: rgb(148, 163, 184);
305
+ }
306
+
307
+ .rc-item-check {
308
+ font-weight: 700;
309
+ display: flex;
310
+ align-items: center;
311
+ gap: 0.4rem;
312
+ }
313
+
314
+ .rc-check-yes {
315
+ color: rgb(16, 185, 129);
316
+ }
317
+
318
+ .rc-check-no {
319
+ color: rgb(239, 68, 68);
320
+ }