1use dwind_macros::dwgenerate_map;
2
3include!(concat!(env!("OUT_DIR"), "/sizing.rs"));
4
5#[macro_export]
6macro_rules! width_generator {
7 ($width:tt) => {
8 const_format::formatcp!("width: {};", $width)
9 };
10}
11
12#[macro_export]
13macro_rules! height_generator {
14 ($height:tt) => {
15 const_format::formatcp!("height: {};", $height)
16 };
17}
18
19#[macro_export]
20macro_rules! max_width_generator {
21 ($width:tt) => {
22 const_format::formatcp!("max-width: {};", $width)
23 };
24}
25
26#[macro_export]
27macro_rules! max_height_generator {
28 ($width:tt) => {
29 const_format::formatcp!("max-height: {};", $width)
30 };
31}
32
33#[macro_export]
34macro_rules! min_width_generator {
35 ($width:tt) => {
36 const_format::formatcp!("min-width: {};", $width)
37 };
38}
39
40#[macro_export]
41macro_rules! min_height_generator {
42 ($width:tt) => {
43 const_format::formatcp!("min-height: {};", $width)
44 };
45}
46
47dwgenerate_map!(
48 "w",
49 "width-",
50 [
51 ("p-5", "5%"),
53 ("p-10", "10%"),
54 ("p-15", "15%"),
55 ("p-20", "20%"),
56 ("p-25", "25%"),
57 ("p-30", "30%"),
58 ("p-35", "35%"),
59 ("p-40", "40%"),
60 ("p-45", "45%"),
61 ("p-50", "50%"),
62 ("p-55", "55%"),
63 ("p-60", "60%"),
64 ("p-65", "65%"),
65 ("p-70", "70%"),
66 ("p-75", "75%"),
67 ("p-80", "80%"),
68 ("p-85", "85%"),
69 ("p-90", "90%"),
70 ("p-95", "95%"),
71 ("p-100", "100%"),
72 ("0", "0px"),
74 ("px", "1px"),
75 ("0.5", "0.125rem"),
76 ("1", "0.25rem"),
77 ("1.5", "0.375rem"),
78 ("2", "0.5rem"),
79 ("2.5", "0.625rem"),
80 ("3", "0.75rem"),
81 ("3.5", "0.875rem"),
82 ("4", "1rem"),
83 ("5", "1.25rem"),
84 ("6", "1.5rem"),
85 ("7", "1.75rem"),
86 ("8", "2rem"),
87 ("9", "2.25rem"),
88 ("10", "2.5rem"),
89 ("11", "2.75rem"),
90 ("12", "3rem"),
91 ("13", "3.25rem"),
92 ("14", "3.5rem"),
93 ("15", "3.75rem"),
94 ("16", "4rem"),
95 ("17", "4.25rem"),
96 ("18", "4.5rem"),
97 ("19", "4.75rem"),
98 ("20", "5rem"),
99 ("24", "6rem"),
100 ("28", "7rem"),
101 ("32", "8rem"),
102 ("36", "9rem"),
103 ("40", "10rem"),
104 ("44", "11rem"),
105 ("48", "12rem"),
106 ("52", "13rem"),
107 ("56", "14rem"),
108 ("60", "15rem"),
109 ("64", "16rem"),
110 ("72", "18rem"),
111 ("80", "20rem"),
112 ("96", "24rem"),
113 ("sm", "24rem"),
115 ("md", "48rem"),
116 ("lg", "64rem"),
117 ("xl", "80rem"),
118 ("2xl", "96rem"),
119 ("3xl", "112rem"),
120 ("4xl", "128rem"),
121 ("5xl", "144rem"),
122 ("6xl", "160rem"),
123 ("7xl", "176rem"),
124 ("8xl", "192rem"),
125 ("9xl", "208rem"),
126 ("10xl", "224rem"),
127 ("auto", "auto"),
129 ("full", "100%"),
130 ("screen", "100vw"),
131 ("min", "min-content"),
132 ("max", "max-content"),
133 ("1/2", "50%"),
135 ("1/3", "33.333333%"),
136 ("2/3", "66.666667%"),
137 ("1/4", "25%"),
138 ("2/4", "50%"),
139 ("3/4", "75%"),
140 ("1/5", "20%"),
141 ("2/5", "40%"),
142 ("3/5", "60%"),
143 ("4/5", "80%"),
144 ("1/6", "16.666667%"),
145 ("2/6", "33.333333%"),
146 ("3/6", "50%"),
147 ("4/6", "66.666667%"),
148 ("5/6", "83.333333%"),
149 ("1/12", "8.333333%"),
150 ("2/12", "16.666667%"),
151 ("3/12", "25%"),
152 ("4/12", "33.333333%"),
153 ("5/12", "41.666667%"),
154 ("6/12", "50%"),
155 ("7/12", "58.333333%"),
156 ("8/12", "66.666667%"),
157 ("9/12", "75%"),
158 ("10/12", "83.333333%"),
159 ("11/12", "91.666667%"),
160 ("svw", "100svw"),
161 ("lvw", "100lvw"),
162 ("dvw", "100dvw"),
163 ("fit", "fit-content")
164 ]
165);
166
167dwgenerate_map!(
168 "min-w",
169 "min-width-",
170 [
171 ("p-5", "5%"),
173 ("p-10", "10%"),
174 ("p-15", "15%"),
175 ("p-20", "20%"),
176 ("p-25", "25%"),
177 ("p-30", "30%"),
178 ("p-35", "35%"),
179 ("p-40", "40%"),
180 ("p-45", "45%"),
181 ("p-50", "50%"),
182 ("p-55", "55%"),
183 ("p-60", "60%"),
184 ("p-65", "65%"),
185 ("p-70", "70%"),
186 ("p-75", "75%"),
187 ("p-80", "80%"),
188 ("p-85", "85%"),
189 ("p-90", "90%"),
190 ("p-95", "95%"),
191 ("p-100", "100%"),
192 ("0", "0px"),
194 ("px", "1px"),
195 ("0.5", "0.125rem"),
196 ("1", "0.25rem"),
197 ("1.5", "0.375rem"),
198 ("2", "0.5rem"),
199 ("2.5", "0.625rem"),
200 ("3", "0.75rem"),
201 ("3.5", "0.875rem"),
202 ("4", "1rem"),
203 ("5", "1.25rem"),
204 ("6", "1.5rem"),
205 ("7", "1.75rem"),
206 ("8", "2rem"),
207 ("9", "2.25rem"),
208 ("10", "2.5rem"),
209 ("11", "2.75rem"),
210 ("12", "3rem"),
211 ("13", "3.25rem"),
212 ("14", "3.5rem"),
213 ("15", "3.75rem"),
214 ("16", "4rem"),
215 ("17", "4.25rem"),
216 ("18", "4.5rem"),
217 ("19", "4.75rem"),
218 ("20", "5rem"),
219 ("24", "6rem"),
220 ("28", "7rem"),
221 ("32", "8rem"),
222 ("36", "9rem"),
223 ("40", "10rem"),
224 ("44", "11rem"),
225 ("48", "12rem"),
226 ("52", "13rem"),
227 ("56", "14rem"),
228 ("60", "15rem"),
229 ("64", "16rem"),
230 ("72", "18rem"),
231 ("80", "20rem"),
232 ("96", "24rem"),
233 ("sm", "24rem"),
235 ("md", "48rem"),
236 ("lg", "64rem"),
237 ("xl", "80rem"),
238 ("2xl", "96rem"),
239 ("3xl", "112rem"),
240 ("4xl", "128rem"),
241 ("5xl", "144rem"),
242 ("6xl", "160rem"),
243 ("7xl", "176rem"),
244 ("8xl", "192rem"),
245 ("9xl", "208rem"),
246 ("10xl", "224rem"),
247 ("full", "100%"),
249 ("min", "min-content"),
250 ("max", "max-content"),
251 ("fit", "fit-content")
252 ]
253);
254
255dwgenerate_map!(
256 "max-w",
257 "max-width-",
258 [
259 ("p-5", "5%"),
261 ("p-10", "10%"),
262 ("p-15", "15%"),
263 ("p-20", "20%"),
264 ("p-25", "25%"),
265 ("p-30", "30%"),
266 ("p-35", "35%"),
267 ("p-40", "40%"),
268 ("p-45", "45%"),
269 ("p-50", "50%"),
270 ("p-55", "55%"),
271 ("p-60", "60%"),
272 ("p-65", "65%"),
273 ("p-70", "70%"),
274 ("p-75", "75%"),
275 ("p-80", "80%"),
276 ("p-85", "85%"),
277 ("p-90", "90%"),
278 ("p-95", "95%"),
279 ("p-100", "100%"),
280 ("0", "0px"),
282 ("px", "1px"),
283 ("0.5", "0.125rem"),
284 ("1", "0.25rem"),
285 ("1.5", "0.375rem"),
286 ("2", "0.5rem"),
287 ("2.5", "0.625rem"),
288 ("3", "0.75rem"),
289 ("3.5", "0.875rem"),
290 ("4", "1rem"),
291 ("5", "1.25rem"),
292 ("6", "1.5rem"),
293 ("7", "1.75rem"),
294 ("8", "2rem"),
295 ("9", "2.25rem"),
296 ("10", "2.5rem"),
297 ("11", "2.75rem"),
298 ("12", "3rem"),
299 ("13", "3.25rem"),
300 ("14", "3.5rem"),
301 ("15", "3.75rem"),
302 ("16", "4rem"),
303 ("17", "4.25rem"),
304 ("18", "4.5rem"),
305 ("19", "4.75rem"),
306 ("20", "5rem"),
307 ("24", "6rem"),
308 ("28", "7rem"),
309 ("32", "8rem"),
310 ("36", "9rem"),
311 ("40", "10rem"),
312 ("44", "11rem"),
313 ("48", "12rem"),
314 ("52", "13rem"),
315 ("56", "14rem"),
316 ("60", "15rem"),
317 ("64", "16rem"),
318 ("72", "18rem"),
319 ("80", "20rem"),
320 ("96", "24rem"),
321 ("none", "none"),
323 ("xs", "20rem"),
324 ("sm", "24rem"),
325 ("md", "28rem"),
326 ("lg", "32rem"),
327 ("xl", "36rem"),
328 ("2xl", "42rem"),
329 ("3xl", "48rem"),
330 ("4xl", "56rem"),
331 ("5xl", "64rem"),
332 ("6xl", "72rem"),
333 ("7xl", "80rem"),
334 ("8xl", "192rem"),
336 ("9xl", "208rem"),
337 ("10xl", "224rem"),
338 ("auto", "auto"),
340 ("screen", "100vw"),
341 ("full", "100%"),
342 ("min", "min-content"),
343 ("max", "max-content"),
344 ("fit", "fit-content"),
345 ("prose", "65ch"),
346 ("screen-sm", "40rem"),
348 ("screen-md", "48rem"),
349 ("screen-lg", "64rem"),
350 ("screen-xl", "80rem"),
351 ("screen-2xl", "96rem")
352 ]
353);
354
355dwgenerate_map!(
356 "min-h",
357 "min-height-",
358 [
359 ("p-5", "5%"),
361 ("p-10", "10%"),
362 ("p-15", "15%"),
363 ("p-20", "20%"),
364 ("p-25", "25%"),
365 ("p-30", "30%"),
366 ("p-35", "35%"),
367 ("p-40", "40%"),
368 ("p-45", "45%"),
369 ("p-50", "50%"),
370 ("p-55", "55%"),
371 ("p-60", "60%"),
372 ("p-65", "65%"),
373 ("p-70", "70%"),
374 ("p-75", "75%"),
375 ("p-80", "80%"),
376 ("p-85", "85%"),
377 ("p-90", "90%"),
378 ("p-95", "95%"),
379 ("p-100", "100%"),
380 ("0", "0px"),
382 ("px", "1px"),
383 ("0.5", "0.125rem"),
384 ("1", "0.25rem"),
385 ("1.5", "0.375rem"),
386 ("2", "0.5rem"),
387 ("2.5", "0.625rem"),
388 ("3", "0.75rem"),
389 ("3.5", "0.875rem"),
390 ("4", "1rem"),
391 ("5", "1.25rem"),
392 ("6", "1.5rem"),
393 ("7", "1.75rem"),
394 ("8", "2rem"),
395 ("9", "2.25rem"),
396 ("10", "2.5rem"),
397 ("11", "2.75rem"),
398 ("12", "3rem"),
399 ("13", "3.25rem"),
400 ("14", "3.5rem"),
401 ("15", "3.75rem"),
402 ("16", "4rem"),
403 ("17", "4.25rem"),
404 ("18", "4.5rem"),
405 ("19", "4.75rem"),
406 ("20", "5rem"),
407 ("24", "6rem"),
408 ("28", "7rem"),
409 ("32", "8rem"),
410 ("36", "9rem"),
411 ("40", "10rem"),
412 ("44", "11rem"),
413 ("48", "12rem"),
414 ("52", "13rem"),
415 ("56", "14rem"),
416 ("60", "15rem"),
417 ("64", "16rem"),
418 ("72", "18rem"),
419 ("80", "20rem"),
420 ("96", "24rem"),
421 ("sm", "24rem"),
423 ("md", "48rem"),
424 ("lg", "64rem"),
425 ("xl", "80rem"),
426 ("2xl", "96rem"),
427 ("3xl", "112rem"),
428 ("4xl", "128rem"),
429 ("5xl", "144rem"),
430 ("6xl", "160rem"),
431 ("7xl", "176rem"),
432 ("8xl", "192rem"),
433 ("9xl", "208rem"),
434 ("10xl", "224rem"),
435 ("full", "100%"),
437 ("screen", "100vh"),
438 ("svh", "100svh"),
439 ("lvh", "100lvh"),
440 ("dvh", "100dvh"),
441 ("min", "min-content"),
442 ("max", "max-content"),
443 ("fit", "fit-content")
444 ]
445);
446
447dwgenerate_map!(
448 "max-h",
449 "max-height-",
450 [
451 ("p-5", "5%"),
453 ("p-10", "10%"),
454 ("p-15", "15%"),
455 ("p-20", "20%"),
456 ("p-25", "25%"),
457 ("p-30", "30%"),
458 ("p-35", "35%"),
459 ("p-40", "40%"),
460 ("p-45", "45%"),
461 ("p-50", "50%"),
462 ("p-55", "55%"),
463 ("p-60", "60%"),
464 ("p-65", "65%"),
465 ("p-70", "70%"),
466 ("p-75", "75%"),
467 ("p-80", "80%"),
468 ("p-85", "85%"),
469 ("p-90", "90%"),
470 ("p-95", "95%"),
471 ("p-100", "100%"),
472 ("0", "0px"),
474 ("px", "1px"),
475 ("0.5", "0.125rem"),
476 ("1", "0.25rem"),
477 ("1.5", "0.375rem"),
478 ("2", "0.5rem"),
479 ("2.5", "0.625rem"),
480 ("3", "0.75rem"),
481 ("3.5", "0.875rem"),
482 ("4", "1rem"),
483 ("5", "1.25rem"),
484 ("6", "1.5rem"),
485 ("7", "1.75rem"),
486 ("8", "2rem"),
487 ("9", "2.25rem"),
488 ("10", "2.5rem"),
489 ("11", "2.75rem"),
490 ("12", "3rem"),
491 ("13", "3.25rem"),
492 ("14", "3.5rem"),
493 ("15", "3.75rem"),
494 ("16", "4rem"),
495 ("17", "4.25rem"),
496 ("18", "4.5rem"),
497 ("19", "4.75rem"),
498 ("20", "5rem"),
499 ("24", "6rem"),
500 ("28", "7rem"),
501 ("32", "8rem"),
502 ("36", "9rem"),
503 ("40", "10rem"),
504 ("44", "11rem"),
505 ("48", "12rem"),
506 ("52", "13rem"),
507 ("56", "14rem"),
508 ("60", "15rem"),
509 ("64", "16rem"),
510 ("72", "18rem"),
511 ("80", "20rem"),
512 ("96", "24rem"),
513 ("sm", "24rem"),
515 ("md", "48rem"),
516 ("lg", "64rem"),
517 ("xl", "80rem"),
518 ("2xl", "96rem"),
519 ("3xl", "112rem"),
520 ("4xl", "128rem"),
521 ("5xl", "144rem"),
522 ("6xl", "160rem"),
523 ("7xl", "176rem"),
524 ("8xl", "192rem"),
525 ("9xl", "208rem"),
526 ("10xl", "224rem"),
527 ("none", "none"),
529 ("auto", "auto"),
530 ("full", "100%"),
531 ("screen", "100vh"),
532 ("svh", "100svh"),
533 ("lvh", "100lvh"),
534 ("dvh", "100dvh"),
535 ("min", "min-content"),
536 ("max", "max-content"),
537 ("fit", "fit-content")
538 ]
539);
540
541dwgenerate_map!(
542 "h",
543 "height-",
544 [
545 ("p-5", "5%"),
547 ("p-10", "10%"),
548 ("p-15", "15%"),
549 ("p-20", "20%"),
550 ("p-25", "25%"),
551 ("p-30", "30%"),
552 ("p-35", "35%"),
553 ("p-40", "40%"),
554 ("p-45", "45%"),
555 ("p-50", "50%"),
556 ("p-55", "55%"),
557 ("p-60", "60%"),
558 ("p-65", "65%"),
559 ("p-70", "70%"),
560 ("p-75", "75%"),
561 ("p-80", "80%"),
562 ("p-85", "85%"),
563 ("p-90", "90%"),
564 ("p-95", "95%"),
565 ("p-100", "100%"),
566 ("0", "0px"),
568 ("px", "1px"),
569 ("0.5", "0.125rem"),
570 ("1", "0.25rem"),
571 ("1.5", "0.375rem"),
572 ("2", "0.5rem"),
573 ("2.5", "0.625rem"),
574 ("3", "0.75rem"),
575 ("3.5", "0.875rem"),
576 ("4", "1rem"),
577 ("5", "1.25rem"),
578 ("6", "1.5rem"),
579 ("7", "1.75rem"),
580 ("8", "2rem"),
581 ("9", "2.25rem"),
582 ("10", "2.5rem"),
583 ("11", "2.75rem"),
584 ("12", "3rem"),
585 ("13", "3.25rem"),
586 ("14", "3.5rem"),
587 ("15", "3.75rem"),
588 ("16", "4rem"),
589 ("17", "4.25rem"),
590 ("18", "4.5rem"),
591 ("19", "4.75rem"),
592 ("20", "5rem"),
593 ("24", "6rem"),
594 ("28", "7rem"),
595 ("32", "8rem"),
596 ("36", "9rem"),
597 ("40", "10rem"),
598 ("44", "11rem"),
599 ("48", "12rem"),
600 ("52", "13rem"),
601 ("56", "14rem"),
602 ("60", "15rem"),
603 ("64", "16rem"),
604 ("72", "18rem"),
605 ("80", "20rem"),
606 ("96", "24rem"),
607 ("sm", "24rem"),
609 ("md", "48rem"),
610 ("lg", "64rem"),
611 ("xl", "80rem"),
612 ("2xl", "96rem"),
613 ("3xl", "112rem"),
614 ("4xl", "128rem"),
615 ("5xl", "144rem"),
616 ("6xl", "160rem"),
617 ("7xl", "176rem"),
618 ("8xl", "192rem"),
619 ("9xl", "208rem"),
620 ("10xl", "224rem"),
621 ("auto", "auto"),
623 ("full", "100%"),
624 ("screen", "100vh"),
625 ("min", "min-content"),
626 ("max", "max-content"),
627 ("1/2", "50%"),
629 ("1/3", "33.333333%"),
630 ("2/3", "66.666667%"),
631 ("1/4", "25%"),
632 ("2/4", "50%"),
633 ("3/4", "75%"),
634 ("1/5", "20%"),
635 ("2/5", "40%"),
636 ("3/5", "60%"),
637 ("4/5", "80%"),
638 ("1/6", "16.666667%"),
639 ("2/6", "33.333333%"),
640 ("3/6", "50%"),
641 ("4/6", "66.666667%"),
642 ("5/6", "83.333333%"),
643 ("svh", "100svh"),
644 ("lvh", "100lvh"),
645 ("dvh", "100dvh"),
646 ("fit", "fit-content")
647 ]
648);