@jjlmoya/utils-cooking 1.20.0 → 1.22.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.
@@ -1,21 +1,461 @@
1
- :root {
2
- --rg-primary: hsl(38deg, 92%, 50%);
3
- --rg-primary-light: hsl(38deg, 92%, 90%);
4
- --rg-secondary: hsl(25deg, 95%, 53%);
5
- --rg-bg-card: hsl(0deg, 0%, 100%);
6
- --rg-bg-app: hsl(210deg, 20%, 98%);
7
- --rg-border: hsl(210deg, 20%, 90%);
8
- --rg-text-main: hsl(210deg, 30%, 20%);
9
- --rg-text-muted: hsl(210deg, 15%, 50%);
10
- --rg-shadow-lg: 0 10px 15px -3px rgb(0, 0, 0, 0.1);
11
- --rg-radius: 1rem;
12
- }
13
-
14
- .theme-dark {
15
- --rg-bg-card: hsl(220deg, 25%, 12%);
16
- --rg-bg-app: hsl(220deg, 30%, 7%);
17
- --rg-border: hsl(220deg, 20%, 20%);
18
- --rg-text-main: hsl(210deg, 20%, 95%);
19
- --rg-text-muted: hsl(210deg, 15%, 70%);
20
- --rg-primary-light: hsl(38deg, 92%, 12%);
1
+ input[type='number']::-webkit-outer-spin-button,
2
+ input[type='number']::-webkit-inner-spin-button {
3
+ -webkit-appearance: none;
4
+ margin: 0;
5
+ }
6
+
7
+ .rg-container {
8
+ width: 100%;
9
+ max-width: 100%;
10
+ padding: 1rem;
11
+ }
12
+
13
+ .rg-card {
14
+ background: var(--rg-bg-card);
15
+ border: 1px solid var(--rg-border);
16
+ border-radius: var(--rg-radius);
17
+ box-shadow: var(--rg-shadow-lg);
18
+ overflow: hidden;
19
+ }
20
+
21
+ .rg-progress-wrapper {
22
+ height: 0.375rem;
23
+ width: 100%;
24
+ background: var(--rg-bg-app);
25
+ position: relative;
26
+ }
27
+
28
+ .rg-progress-bar {
29
+ height: 100%;
30
+ background: linear-gradient(to right, var(--rg-primary), var(--rg-secondary));
31
+ transition: width 0.3s ease;
32
+ width: 50%;
33
+ }
34
+
35
+ .rg-content {
36
+ padding: 2rem;
37
+ }
38
+
39
+ @media (max-width: 1024px) {
40
+ .rg-content {
41
+ padding: 1.5rem;
42
+ }
43
+ }
44
+
45
+ @media (max-width: 640px) {
46
+ .rg-content {
47
+ padding: 1rem;
48
+ }
49
+ }
50
+
51
+ .rg-grid {
52
+ display: grid;
53
+ grid-template-columns: 1fr;
54
+ gap: 3rem;
55
+ }
56
+
57
+ @media (min-width: 1024px) {
58
+ .rg-grid {
59
+ grid-template-columns: 1fr 1fr;
60
+ }
61
+ }
62
+
63
+ .rg-controls {
64
+ display: flex;
65
+ flex-direction: column;
66
+ gap: 2.5rem;
67
+ }
68
+
69
+ .rg-control-group {
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: 1rem;
73
+ }
74
+
75
+ .rg-label {
76
+ font-size: 0.75rem;
77
+ font-weight: 700;
78
+ color: var(--rg-text-muted);
79
+ text-transform: uppercase;
80
+ letter-spacing: 0.05em;
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 0.75rem;
84
+ }
85
+
86
+ .rg-step {
87
+ width: 1.5rem;
88
+ height: 1.5rem;
89
+ border-radius: 50%;
90
+ background: hsl(38deg, 92%, 90%);
91
+ color: var(--rg-primary);
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ font-weight: 700;
96
+ font-size: 0.75rem;
97
+ }
98
+
99
+ .theme-dark .rg-step {
100
+ background: hsl(38deg, 92%, 12%);
101
+ }
102
+
103
+ .rg-volume-wrapper {
104
+ display: flex;
105
+ flex-direction: column;
106
+ gap: 1rem;
107
+ }
108
+
109
+ @media (min-width: 640px) {
110
+ .rg-volume-wrapper {
111
+ flex-direction: row;
112
+ gap: 1rem;
113
+ }
114
+ }
115
+
116
+ .rg-input-group {
117
+ position: relative;
118
+ flex: 1;
119
+ }
120
+
121
+ .rg-input {
122
+ width: 100%;
123
+ padding: 1rem 2rem 1rem 1rem;
124
+ border: 2px solid var(--rg-border);
125
+ border-radius: 0.75rem;
126
+ background: var(--rg-bg-app);
127
+ color: var(--rg-text-main);
128
+ font-weight: 600;
129
+ font-size: 1.875rem;
130
+ text-align: center;
131
+ transition: all 0.3s ease;
132
+ }
133
+
134
+ .rg-input:focus {
135
+ outline: none;
136
+ border-color: var(--rg-primary);
137
+ box-shadow: 0 0 0 3px hsl(38deg, 92%, 50%, 0.1);
138
+ }
139
+
140
+ .rg-unit {
141
+ position: absolute;
142
+ right: 1rem;
143
+ top: 50%;
144
+ transform: translateY(-50%);
145
+ color: var(--rg-text-muted);
146
+ font-weight: 600;
147
+ font-size: 0.875rem;
148
+ text-transform: uppercase;
149
+ letter-spacing: 0.05em;
150
+ pointer-events: none;
151
+ }
152
+
153
+ .rg-liquid-buttons {
154
+ display: grid;
155
+ grid-template-columns: repeat(4, 1fr);
156
+ gap: 0.5rem;
157
+ }
158
+
159
+ @media (max-width: 640px) {
160
+ .rg-liquid-buttons {
161
+ grid-template-columns: repeat(2, 1fr);
162
+ }
163
+ }
164
+
165
+ .rg-liquid-btn {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ padding: 0.75rem;
170
+ border: 2px solid var(--rg-border);
171
+ border-radius: 0.75rem;
172
+ background: var(--rg-bg-card);
173
+ color: var(--rg-text-muted);
174
+ cursor: pointer;
175
+ transition: all 0.3s ease;
176
+ }
177
+
178
+ .rg-liquid-btn:hover {
179
+ border-color: var(--rg-primary);
180
+ color: var(--rg-primary);
181
+ }
182
+
183
+ .rg-liquid-btn.active {
184
+ background: var(--rg-bg-app);
185
+ border-color: var(--rg-primary);
186
+ color: var(--rg-primary);
187
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
188
+ }
189
+
190
+ .rg-btn-icon {
191
+ width: 1.5rem;
192
+ height: 1.5rem;
193
+ }
194
+
195
+ .rg-texture-grid {
196
+ display: grid;
197
+ grid-template-columns: repeat(2, 1fr);
198
+ gap: 0.75rem;
199
+ }
200
+
201
+ @media (min-width: 640px) {
202
+ .rg-texture-grid {
203
+ grid-template-columns: repeat(4, 1fr);
204
+ }
205
+ }
206
+
207
+ .rg-texture-btn {
208
+ display: flex;
209
+ flex-direction: column;
210
+ align-items: center;
211
+ gap: 0.75rem;
212
+ padding: 1rem 0.75rem;
213
+ border: 2px solid var(--rg-border);
214
+ border-radius: 0.75rem;
215
+ background: var(--rg-bg-card);
216
+ color: var(--rg-text-muted);
217
+ cursor: pointer;
218
+ transition: all 0.3s ease;
219
+ text-align: center;
220
+ }
221
+
222
+ .rg-texture-btn:hover {
223
+ border-color: var(--rg-primary);
224
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
225
+ }
226
+
227
+ .rg-texture-btn.active {
228
+ background: var(--rg-primary-light);
229
+ border-color: var(--rg-primary);
230
+ color: var(--rg-primary);
231
+ }
232
+
233
+ .rg-texture-visual {
234
+ width: 1.5rem;
235
+ height: 1.5rem;
236
+ border: 1px solid currentcolor;
237
+ border-radius: 0.25rem;
238
+ overflow: hidden;
239
+ display: flex;
240
+ align-items: flex-end;
241
+ }
242
+
243
+ .rg-texture-bar {
244
+ width: 100%;
245
+ background: currentcolor;
246
+ transition: height 0.3s ease;
247
+ }
248
+
249
+ .rg-texture-btn[data-level="1"] .rg-texture-bar {
250
+ height: 25%;
251
+ }
252
+
253
+ .rg-texture-btn[data-level="2"] .rg-texture-bar {
254
+ height: 50%;
255
+ }
256
+
257
+ .rg-texture-btn[data-level="3"] .rg-texture-bar {
258
+ height: 75%;
259
+ }
260
+
261
+ .rg-texture-btn[data-level="4"] .rg-texture-bar {
262
+ height: 100%;
263
+ }
264
+
265
+ .rg-texture-label {
266
+ font-size: 0.75rem;
267
+ font-weight: 600;
268
+ line-height: 1.2;
269
+ }
270
+
271
+ .rg-results {
272
+ display: flex;
273
+ flex-direction: column;
274
+ gap: 1.5rem;
275
+ }
276
+
277
+ .rg-result-hero {
278
+ background: linear-gradient(135deg, var(--rg-primary), var(--rg-secondary));
279
+ border-radius: var(--rg-radius);
280
+ padding: 2rem;
281
+ color: var(--rg-bg-card);
282
+ box-shadow: var(--rg-shadow-lg);
283
+ position: relative;
284
+ overflow: hidden;
285
+ }
286
+
287
+ .rg-result-hero::before {
288
+ content: '';
289
+ position: absolute;
290
+ top: -50%;
291
+ left: -50%;
292
+ width: 200%;
293
+ height: 200%;
294
+ background: radial-gradient(circle, hsla(0deg, 0%, 100%, 0.1), transparent 60%);
295
+ pointer-events: none;
296
+ }
297
+
298
+ .rg-result-header {
299
+ display: flex;
300
+ justify-content: space-between;
301
+ align-items: center;
302
+ margin-bottom: 1.5rem;
303
+ position: relative;
304
+ z-index: 1;
305
+ }
306
+
307
+ .rg-result-label {
308
+ font-size: 0.75rem;
309
+ font-weight: 700;
310
+ text-transform: uppercase;
311
+ letter-spacing: 0.1em;
312
+ opacity: 0.8;
313
+ }
314
+
315
+ .rg-roux-type {
316
+ font-size: 0.75rem;
317
+ font-weight: 600;
318
+ background: hsla(0deg, 0%, 0%, 0.2);
319
+ padding: 0.5rem 1rem;
320
+ border-radius: 0.5rem;
321
+ text-transform: capitalize;
322
+ }
323
+
324
+ .rg-result-amounts {
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: space-around;
328
+ margin-bottom: 1.5rem;
329
+ position: relative;
330
+ z-index: 1;
331
+ text-align: center;
332
+ }
333
+
334
+ .rg-amount {
335
+ flex: 1;
336
+ }
337
+
338
+ .rg-amount-value {
339
+ font-size: 2.5rem;
340
+ font-weight: 800;
341
+ margin-bottom: 0.5rem;
342
+ line-height: 1;
343
+ }
344
+
345
+ .rg-amount-unit {
346
+ font-size: 0.75rem;
347
+ font-weight: 600;
348
+ text-transform: uppercase;
349
+ opacity: 0.8;
350
+ }
351
+
352
+ .rg-amount-plus {
353
+ font-size: 1.5rem;
354
+ opacity: 0.3;
355
+ margin: 0 1rem;
356
+ }
357
+
358
+ .rg-instructions-box {
359
+ background: hsla(0deg, 0%, 0%, 0.2);
360
+ border-radius: 0.75rem;
361
+ border: 1px solid hsla(0deg, 0%, 100%, 0.1);
362
+ padding: 1rem;
363
+ position: relative;
364
+ z-index: 1;
365
+ backdrop-filter: blur(4px);
366
+ }
367
+
368
+ .rg-instructions-header {
369
+ display: flex;
370
+ align-items: center;
371
+ gap: 0.5rem;
372
+ margin-bottom: 0.75rem;
373
+ color: hsl(38deg, 92%, 90%);
374
+ }
375
+
376
+ .rg-instructions-icon {
377
+ width: 1rem;
378
+ height: 1rem;
379
+ }
380
+
381
+ .rg-instructions-title {
382
+ font-size: 0.75rem;
383
+ font-weight: 700;
384
+ text-transform: uppercase;
385
+ letter-spacing: 0.1em;
386
+ }
387
+
388
+ .rg-instructions-text {
389
+ font-size: 0.875rem;
390
+ font-weight: 500;
391
+ line-height: 1.5;
392
+ color: hsl(38deg, 92%, 95%);
393
+ margin: 0;
394
+ }
395
+
396
+ .rg-sauce-info {
397
+ background: var(--rg-bg-app);
398
+ border: 1px solid var(--rg-border);
399
+ border-radius: var(--rg-radius);
400
+ padding: 1.5rem;
401
+ display: flex;
402
+ flex-direction: column;
403
+ gap: 1rem;
404
+ }
405
+
406
+ .rg-sauce-header {
407
+ display: flex;
408
+ align-items: center;
409
+ gap: 1rem;
410
+ margin-bottom: 0.5rem;
411
+ }
412
+
413
+ .rg-sauce-icon {
414
+ width: 2.5rem;
415
+ height: 2.5rem;
416
+ border-radius: 0.5rem;
417
+ background: hsl(38deg, 92%, 90%);
418
+ color: var(--rg-primary);
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ flex-shrink: 0;
423
+ }
424
+
425
+ .theme-dark .rg-sauce-icon {
426
+ background: hsl(38deg, 92%, 12%);
427
+ }
428
+
429
+ .rg-icon-lg {
430
+ width: 1.25rem;
431
+ height: 1.25rem;
432
+ }
433
+
434
+ .rg-sauce-name {
435
+ font-size: 1rem;
436
+ font-weight: 700;
437
+ color: var(--rg-text-main);
438
+ flex: 1;
439
+ }
440
+
441
+ .rg-sauce-ratio {
442
+ font-size: 0.75rem;
443
+ font-weight: 700;
444
+ color: var(--rg-text-muted);
445
+ text-transform: uppercase;
446
+ letter-spacing: 0.05em;
447
+ white-space: nowrap;
448
+ }
449
+
450
+ .rg-sauce-tip {
451
+ font-size: 0.875rem;
452
+ font-weight: 500;
453
+ line-height: 1.6;
454
+ color: var(--rg-text-muted);
455
+ font-style: italic;
456
+ background: var(--rg-bg-card);
457
+ padding: 1rem;
458
+ border-radius: 0.75rem;
459
+ border: 1px solid var(--rg-border);
460
+ margin: 0;
21
461
  }
@@ -14,7 +14,7 @@
14
14
  --sc-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
15
15
  }
16
16
 
17
- :global(.theme-dark) {
17
+ .theme-dark {
18
18
  --sc-bg-card: hsl(220deg, 25%, 12%);
19
19
  --sc-bg-app: hsl(220deg, 30%, 7%);
20
20
  --sc-border: hsl(220deg, 20%, 20%);
@@ -292,7 +292,7 @@
292
292
  color: var(--sc-primary);
293
293
  }
294
294
 
295
- :global(.theme-dark) .sc-result-icon.starter {
295
+ .theme-dark .sc-result-icon.starter {
296
296
  background: hsl(38deg, 92%, 15%);
297
297
  }
298
298
 
@@ -301,7 +301,7 @@
301
301
  color: hsl(45deg, 93%, 50%);
302
302
  }
303
303
 
304
- :global(.theme-dark) .sc-result-icon.flour {
304
+ .theme-dark .sc-result-icon.flour {
305
305
  background: hsl(45deg, 93%, 15%);
306
306
  }
307
307
 
@@ -310,7 +310,7 @@
310
310
  color: hsl(196deg, 95%, 50%);
311
311
  }
312
312
 
313
- :global(.theme-dark) .sc-result-icon.water {
313
+ .theme-dark .sc-result-icon.water {
314
314
  background: hsl(196deg, 95%, 15%);
315
315
  }
316
316