@jjlmoya/utils-textiles 1.11.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 (26) hide show
  1. package/package.json +5 -3
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/tool/burnTest/component.astro +0 -380
  4. package/src/tool/burnTest/textile-burn-test.css +378 -0
  5. package/src/tool/clothingSizeConverter/clothing-size-converter.css +717 -0
  6. package/src/tool/clothingSizeConverter/component.astro +0 -719
  7. package/src/tool/fabricProjectCalculator/component.astro +0 -540
  8. package/src/tool/fabricProjectCalculator/fabric-project-calculator.css +538 -0
  9. package/src/tool/fabricTruth/component.astro +0 -428
  10. package/src/tool/fabricTruth/fabric-truthfulness.css +426 -0
  11. package/src/tool/fiberPrep/component.astro +0 -652
  12. package/src/tool/fiberPrep/fiber-preparation-natural-dyeing.css +650 -0
  13. package/src/tool/knittingGauge/component.astro +0 -458
  14. package/src/tool/knittingGauge/knitting-gauge-calculator.css +456 -0
  15. package/src/tool/laundryGuide/component.astro +0 -317
  16. package/src/tool/laundryGuide/laundry-guide.css +315 -0
  17. package/src/tool/needleConverter/component.astro +0 -344
  18. package/src/tool/needleConverter/knitting-needle-converter.css +342 -0
  19. package/src/tool/sewingPatternScaler/component.astro +0 -314
  20. package/src/tool/sewingPatternScaler/sewing-pattern-scaler.css +313 -0
  21. package/src/tool/shoeSizeConverter/component.astro +0 -255
  22. package/src/tool/shoeSizeConverter/shoe-size-converter.css +253 -0
  23. package/src/tool/stainChemistry/component.astro +0 -479
  24. package/src/tool/stainChemistry/stain-chemical-protocol.css +477 -0
  25. package/src/tool/yarnCalculator/component.astro +0 -446
  26. package/src/tool/yarnCalculator/yarn-calculator.css +444 -0
@@ -0,0 +1,378 @@
1
+ .burn-wizard {
2
+ width: 100%;
3
+ padding: 1rem;
4
+ }
5
+
6
+ .icon-cache {
7
+ display: none;
8
+ }
9
+
10
+ .wizard-card {
11
+ background: var(--bg-surface);
12
+ border: 1px solid var(--border-color);
13
+ border-radius: 1.5rem;
14
+ overflow: hidden;
15
+ min-height: 400px;
16
+ display: flex;
17
+ flex-direction: column;
18
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
19
+ }
20
+
21
+ .theme-dark .wizard-card {
22
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
23
+ }
24
+
25
+ .wizard-header {
26
+ display: flex;
27
+ justify-content: space-between;
28
+ align-items: center;
29
+ padding: 1rem 1.5rem;
30
+ background: var(--bg-page);
31
+ border-bottom: 1px solid var(--border-color);
32
+ }
33
+
34
+ .header-left {
35
+ display: flex;
36
+ align-items: center;
37
+ gap: 0.75rem;
38
+ }
39
+
40
+ .header-badge {
41
+ width: 2rem;
42
+ height: 2rem;
43
+ background: linear-gradient(135deg, #6366f1, #7c3aed);
44
+ border-radius: 0.5rem;
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ color: white;
49
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
50
+ }
51
+
52
+ .header-badge svg {
53
+ width: 1rem;
54
+ height: 1rem;
55
+ }
56
+
57
+ .header-info {
58
+ display: flex;
59
+ flex-direction: column;
60
+ }
61
+
62
+ .investigation-label {
63
+ font-size: 0.55rem;
64
+ font-weight: 900;
65
+ text-transform: uppercase;
66
+ letter-spacing: 0.15em;
67
+ color: var(--text-muted);
68
+ }
69
+
70
+ .step-indicator {
71
+ font-size: 0.625rem;
72
+ font-weight: 700;
73
+ color: var(--text-main);
74
+ }
75
+
76
+ .reset-btn {
77
+ display: flex;
78
+ align-items: center;
79
+ gap: 0.5rem;
80
+ padding: 0.375rem 0.75rem;
81
+ border-radius: 9999px;
82
+ background: var(--bg-surface);
83
+ border: 1px solid var(--border-color);
84
+ color: var(--text-muted);
85
+ font-size: 0.625rem;
86
+ font-weight: 700;
87
+ cursor: pointer;
88
+ transition: all 0.2s;
89
+ }
90
+
91
+ .reset-btn:hover {
92
+ background: rgba(249, 115, 22, 0.05);
93
+ color: #f97316;
94
+ border-color: #f97316;
95
+ }
96
+
97
+ .reset-btn svg {
98
+ width: 1rem;
99
+ height: 1rem;
100
+ transition: transform 0.5s;
101
+ }
102
+
103
+ .reset-btn:hover svg {
104
+ transform: rotate(180deg);
105
+ }
106
+
107
+ .reset-btn.hidden {
108
+ display: none;
109
+ }
110
+
111
+ .wizard-content {
112
+ flex: 1;
113
+ padding: 1.5rem;
114
+ display: flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ }
118
+
119
+ .question-view {
120
+ width: 100%;
121
+ }
122
+
123
+ .question-view.hidden {
124
+ display: none;
125
+ }
126
+
127
+ .question-title {
128
+ font-size: 1.5rem;
129
+ font-weight: 900;
130
+ color: var(--text-main);
131
+ margin: 0 0 1.5rem;
132
+ transition: opacity 0.3s ease;
133
+ }
134
+
135
+ .options-grid {
136
+ display: grid;
137
+ grid-template-columns: 1fr 1fr;
138
+ gap: 0.75rem;
139
+ }
140
+
141
+ .option-btn {
142
+ text-align: left;
143
+ padding: 1rem;
144
+ background: var(--bg-page);
145
+ border: 1px solid var(--border-color);
146
+ border-radius: 0.75rem;
147
+ color: var(--text-muted);
148
+ font-size: 0.875rem;
149
+ font-weight: 500;
150
+ cursor: pointer;
151
+ transition: all 0.3s;
152
+ animation: fade-in-up 0.5s ease-out forwards;
153
+ opacity: 0;
154
+ line-height: 1.4;
155
+ }
156
+
157
+ .option-btn:hover {
158
+ border-color: #6366f1;
159
+ background: rgba(99, 102, 241, 0.05);
160
+ color: var(--text-main);
161
+ transform: translateY(-2px);
162
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
163
+ }
164
+
165
+ .result-view {
166
+ width: 100%;
167
+ max-width: 520px;
168
+ text-align: center;
169
+ display: flex;
170
+ flex-direction: column;
171
+ align-items: center;
172
+ gap: 1.5rem;
173
+ animation: fade-in 0.5s ease;
174
+ }
175
+
176
+ .result-view.hidden {
177
+ display: none;
178
+ }
179
+
180
+ .result-icon-wrap {
181
+ position: relative;
182
+ }
183
+
184
+ .result-icon-container {
185
+ width: 6rem;
186
+ height: 6rem;
187
+ background: linear-gradient(135deg, #6366f1, #8b5cf6, #ec4899);
188
+ border-radius: 1.5rem;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ font-size: 2.5rem;
193
+ color: white;
194
+ box-shadow: 0 25px 50px rgba(99, 102, 241, 0.4);
195
+ position: relative;
196
+ z-index: 1;
197
+ }
198
+
199
+ .result-meta {
200
+ display: flex;
201
+ flex-direction: column;
202
+ gap: 0.5rem;
203
+ align-items: center;
204
+ }
205
+
206
+ .positive-id {
207
+ display: inline-block;
208
+ padding: 0.25rem 0.75rem;
209
+ border-radius: 9999px;
210
+ background: rgba(16, 185, 129, 0.08);
211
+ color: #10b981;
212
+ font-size: 0.55rem;
213
+ font-weight: 900;
214
+ text-transform: uppercase;
215
+ letter-spacing: 0.2em;
216
+ border: 1px solid rgba(16, 185, 129, 0.2);
217
+ }
218
+
219
+ .result-name {
220
+ font-size: 2.5rem;
221
+ font-weight: 900;
222
+ color: var(--text-main);
223
+ margin: 0;
224
+ }
225
+
226
+ .result-desc {
227
+ background: var(--bg-page);
228
+ border: 1px solid var(--border-color);
229
+ border-radius: 1rem;
230
+ padding: 1.5rem;
231
+ width: 100%;
232
+ text-align: left;
233
+ }
234
+
235
+ .result-details {
236
+ display: flex;
237
+ flex-direction: column;
238
+ gap: 1rem;
239
+ }
240
+
241
+ .result-id-text {
242
+ font-size: 0.875rem;
243
+ font-weight: 500;
244
+ color: var(--text-muted);
245
+ border-bottom: 1px solid var(--border-color);
246
+ padding-bottom: 1rem;
247
+ margin: 0;
248
+ }
249
+
250
+ .result-attrs {
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: 0.75rem;
254
+ }
255
+
256
+ .attr-row {
257
+ display: flex;
258
+ flex-direction: column;
259
+ padding-left: 1rem;
260
+ border-left: 2px solid var(--border-color);
261
+ }
262
+
263
+ .attr-flame {
264
+ border-left-color: #f97316;
265
+ }
266
+
267
+ .attr-odor {
268
+ border-left-color: #6366f1;
269
+ }
270
+
271
+ .attr-residue {
272
+ border-left-color: #94a3b8;
273
+ }
274
+
275
+ .attr-label {
276
+ font-size: 0.6rem;
277
+ font-weight: 900;
278
+ text-transform: uppercase;
279
+ letter-spacing: 0.05em;
280
+ color: var(--text-muted);
281
+ margin-bottom: 0.2rem;
282
+ }
283
+
284
+ .attr-value {
285
+ font-size: 0.875rem;
286
+ font-weight: 600;
287
+ color: var(--text-main);
288
+ }
289
+
290
+ .progress-track {
291
+ height: 0.25rem;
292
+ background: var(--bg-page);
293
+ }
294
+
295
+ .progress-fill {
296
+ height: 100%;
297
+ background: linear-gradient(90deg, #6366f1, #8b5cf6, #ec4899);
298
+ transition: width 0.7s ease-out;
299
+ box-shadow: 0 0 10px rgba(99, 102, 241, 0.5);
300
+ }
301
+
302
+ .safety-note {
303
+ margin-top: 1.5rem;
304
+ padding: 1rem 1.5rem;
305
+ background: var(--bg-surface);
306
+ border: 1px solid var(--border-color);
307
+ border-left: 4px solid #ef4444;
308
+ border-radius: 0.75rem;
309
+ display: flex;
310
+ gap: 1rem;
311
+ align-items: center;
312
+ }
313
+
314
+ .safety-icon {
315
+ background: rgba(239, 68, 68, 0.08);
316
+ color: #ef4444;
317
+ padding: 0.5rem;
318
+ border-radius: 0.5rem;
319
+ flex-shrink: 0;
320
+ display: flex;
321
+ align-items: center;
322
+ justify-content: center;
323
+ }
324
+
325
+ .safety-icon svg {
326
+ width: 1.25rem;
327
+ height: 1.25rem;
328
+ }
329
+
330
+ .safety-title {
331
+ font-size: 0.625rem;
332
+ font-weight: 900;
333
+ text-transform: uppercase;
334
+ letter-spacing: 0.1em;
335
+ color: #ef4444;
336
+ margin: 0 0 0.25rem;
337
+ }
338
+
339
+ .safety-text p {
340
+ margin: 0;
341
+ font-size: 0.75rem;
342
+ color: var(--text-muted);
343
+ line-height: 1.5;
344
+ }
345
+
346
+ @keyframes fade-in-up {
347
+ from {
348
+ opacity: 0;
349
+ transform: translateY(10px);
350
+ }
351
+ to {
352
+ opacity: 1;
353
+ transform: translateY(0);
354
+ }
355
+ }
356
+
357
+ @keyframes fade-in {
358
+ from {
359
+ opacity: 0;
360
+ }
361
+ to {
362
+ opacity: 1;
363
+ }
364
+ }
365
+
366
+ @media (max-width: 640px) {
367
+ .options-grid {
368
+ grid-template-columns: 1fr;
369
+ }
370
+
371
+ .result-name {
372
+ font-size: 1.75rem;
373
+ }
374
+
375
+ .wizard-content {
376
+ padding: 1rem;
377
+ }
378
+ }