dioxus_tailwindcss/
macros.rs

1pub use dioxus_class::ext::*;
2
3#[macro_export]
4macro_rules! special_ending_internal {
5    ( $( $part:ident )+ _ $next:ident $( $extra:ident )+  ) => {
6        constant_internal!($( $part )* $next _ $( $extra )*);
7    };
8    ( $( $part:ident )+ _ $last_i:ident $last_v:ident ) => {
9        paste!{
10            #[doc = concat!($( stringify!($part), "-", )* stringify!($last_v))]
11            pub const [< $( $part _ )* $last_i >]: &'static str = concat!($( stringify!($part), "-", )* stringify!($last_v));
12        }
13    };
14    ( $( $part:ident )+ _ $last_i:literal $last_v:literal ) => {
15        paste!{
16            #[doc = concat!($( stringify!($part), "-", )* $last_v)]
17            pub const [< $( $part _ )* $last_i >]: &'static str = concat!($( stringify!($part), "-", )* $last_v);
18        }
19    };
20}
21
22#[macro_export]
23macro_rules! special_ending {
24    ( $last_i:ident $last_v:ident ) => {
25        #[doc = concat!(stringify!($last_v))]
26        pub const $last_i: &'static str = concat!(stringify!($last_v));
27    };
28    ( $first:ident $( $extra:ident )+  ) => {
29        special_ending_internal!($first _ $( $extra )*);
30    };
31    ( $( $part:ident )+ $last_i:literal $last_v:literal ) => {
32        special_ending_internal!($( $part )* _ $last_i $last_v);
33    };
34}
35
36
37#[macro_export]
38macro_rules! any {
39    ( $( $prefix:ident )* ) => {
40        paste!{
41            #[doc=concat!($( stringify!($prefix), "-", )* "[{}]")]
42            pub fn [< $( $prefix _ )* any >](p: &str) -> String {
43                format!(concat!($( stringify!($prefix), "-", )* "[{}]"), p)
44            }
45        }
46    }
47}
48
49#[macro_export]
50macro_rules! minus {
51    ( $( $part:ident )+ $last:literal ) => {
52        paste!{
53            #[doc=concat!("-", $( stringify!($part), "-", )* stringify!($last))]
54            pub const [< minus_ $( $part _ )* $last >]: &'static str = concat!("-", $( stringify!($part), "-", )* stringify!($last));
55        }
56    }
57}
58
59#[macro_export]
60macro_rules! colors {
61    ( $( $prefix:ident )* ) => {
62        constant!($( $prefix )* inherit);
63        constant!($( $prefix )* current);
64        constant!($( $prefix )* transparent);
65        constant!($( $prefix )* black);
66        constant!($( $prefix )* white);
67
68        constant!($( $prefix )* slate 50);
69        constant!($( $prefix )* slate 100);
70        constant!($( $prefix )* slate 200);
71        constant!($( $prefix )* slate 300);
72        constant!($( $prefix )* slate 400);
73        constant!($( $prefix )* slate 500);
74        constant!($( $prefix )* slate 600);
75        constant!($( $prefix )* slate 700);
76        constant!($( $prefix )* slate 800);
77        constant!($( $prefix )* slate 900);
78
79        constant!($( $prefix )* gray 50);
80        constant!($( $prefix )* gray 100);
81        constant!($( $prefix )* gray 200);
82        constant!($( $prefix )* gray 300);
83        constant!($( $prefix )* gray 400);
84        constant!($( $prefix )* gray 500);
85        constant!($( $prefix )* gray 600);
86        constant!($( $prefix )* gray 700);
87        constant!($( $prefix )* gray 800);
88        constant!($( $prefix )* gray 900);
89
90        constant!($( $prefix )* zinc 50);
91        constant!($( $prefix )* zinc 100);
92        constant!($( $prefix )* zinc 200);
93        constant!($( $prefix )* zinc 300);
94        constant!($( $prefix )* zinc 400);
95        constant!($( $prefix )* zinc 500);
96        constant!($( $prefix )* zinc 600);
97        constant!($( $prefix )* zinc 700);
98        constant!($( $prefix )* zinc 800);
99        constant!($( $prefix )* zinc 900);
100
101        constant!($( $prefix )* neutral 50);
102        constant!($( $prefix )* neutral 100);
103        constant!($( $prefix )* neutral 200);
104        constant!($( $prefix )* neutral 300);
105        constant!($( $prefix )* neutral 400);
106        constant!($( $prefix )* neutral 500);
107        constant!($( $prefix )* neutral 600);
108        constant!($( $prefix )* neutral 700);
109        constant!($( $prefix )* neutral 800);
110        constant!($( $prefix )* neutral 900);
111
112        constant!($( $prefix )* stone 50);
113        constant!($( $prefix )* stone 100);
114        constant!($( $prefix )* stone 200);
115        constant!($( $prefix )* stone 300);
116        constant!($( $prefix )* stone 400);
117        constant!($( $prefix )* stone 500);
118        constant!($( $prefix )* stone 600);
119        constant!($( $prefix )* stone 700);
120        constant!($( $prefix )* stone 800);
121        constant!($( $prefix )* stone 900);
122
123        constant!($( $prefix )* red 50);
124        constant!($( $prefix )* red 100);
125        constant!($( $prefix )* red 200);
126        constant!($( $prefix )* red 300);
127        constant!($( $prefix )* red 400);
128        constant!($( $prefix )* red 500);
129        constant!($( $prefix )* red 600);
130        constant!($( $prefix )* red 700);
131        constant!($( $prefix )* red 800);
132        constant!($( $prefix )* red 900);
133
134        constant!($( $prefix )* orange 50);
135        constant!($( $prefix )* orange 100);
136        constant!($( $prefix )* orange 200);
137        constant!($( $prefix )* orange 300);
138        constant!($( $prefix )* orange 400);
139        constant!($( $prefix )* orange 500);
140        constant!($( $prefix )* orange 600);
141        constant!($( $prefix )* orange 700);
142        constant!($( $prefix )* orange 800);
143        constant!($( $prefix )* orange 900);
144
145        constant!($( $prefix )* amber 50);
146        constant!($( $prefix )* amber 100);
147        constant!($( $prefix )* amber 200);
148        constant!($( $prefix )* amber 300);
149        constant!($( $prefix )* amber 400);
150        constant!($( $prefix )* amber 500);
151        constant!($( $prefix )* amber 600);
152        constant!($( $prefix )* amber 700);
153        constant!($( $prefix )* amber 800);
154        constant!($( $prefix )* amber 900);
155
156        constant!($( $prefix )* yellow 50);
157        constant!($( $prefix )* yellow 100);
158        constant!($( $prefix )* yellow 200);
159        constant!($( $prefix )* yellow 300);
160        constant!($( $prefix )* yellow 400);
161        constant!($( $prefix )* yellow 500);
162        constant!($( $prefix )* yellow 600);
163        constant!($( $prefix )* yellow 700);
164        constant!($( $prefix )* yellow 800);
165        constant!($( $prefix )* yellow 900);
166
167        constant!($( $prefix )* lime 50);
168        constant!($( $prefix )* lime 100);
169        constant!($( $prefix )* lime 200);
170        constant!($( $prefix )* lime 300);
171        constant!($( $prefix )* lime 400);
172        constant!($( $prefix )* lime 500);
173        constant!($( $prefix )* lime 600);
174        constant!($( $prefix )* lime 700);
175        constant!($( $prefix )* lime 800);
176        constant!($( $prefix )* lime 900);
177
178        constant!($( $prefix )* green 50);
179        constant!($( $prefix )* green 100);
180        constant!($( $prefix )* green 200);
181        constant!($( $prefix )* green 300);
182        constant!($( $prefix )* green 400);
183        constant!($( $prefix )* green 500);
184        constant!($( $prefix )* green 600);
185        constant!($( $prefix )* green 700);
186        constant!($( $prefix )* green 800);
187        constant!($( $prefix )* green 900);
188
189        constant!($( $prefix )* emerald 50);
190        constant!($( $prefix )* emerald 100);
191        constant!($( $prefix )* emerald 200);
192        constant!($( $prefix )* emerald 300);
193        constant!($( $prefix )* emerald 400);
194        constant!($( $prefix )* emerald 500);
195        constant!($( $prefix )* emerald 600);
196        constant!($( $prefix )* emerald 700);
197        constant!($( $prefix )* emerald 800);
198        constant!($( $prefix )* emerald 900);
199
200        constant!($( $prefix )* teal 50);
201        constant!($( $prefix )* teal 100);
202        constant!($( $prefix )* teal 200);
203        constant!($( $prefix )* teal 300);
204        constant!($( $prefix )* teal 400);
205        constant!($( $prefix )* teal 500);
206        constant!($( $prefix )* teal 600);
207        constant!($( $prefix )* teal 700);
208        constant!($( $prefix )* teal 800);
209        constant!($( $prefix )* teal 900);
210
211        constant!($( $prefix )* cyan 50);
212        constant!($( $prefix )* cyan 100);
213        constant!($( $prefix )* cyan 200);
214        constant!($( $prefix )* cyan 300);
215        constant!($( $prefix )* cyan 400);
216        constant!($( $prefix )* cyan 500);
217        constant!($( $prefix )* cyan 600);
218        constant!($( $prefix )* cyan 700);
219        constant!($( $prefix )* cyan 800);
220        constant!($( $prefix )* cyan 900);
221
222        constant!($( $prefix )* sky 50);
223        constant!($( $prefix )* sky 100);
224        constant!($( $prefix )* sky 200);
225        constant!($( $prefix )* sky 300);
226        constant!($( $prefix )* sky 400);
227        constant!($( $prefix )* sky 500);
228        constant!($( $prefix )* sky 600);
229        constant!($( $prefix )* sky 700);
230        constant!($( $prefix )* sky 800);
231        constant!($( $prefix )* sky 900);
232
233        constant!($( $prefix )* blue 50);
234        constant!($( $prefix )* blue 100);
235        constant!($( $prefix )* blue 200);
236        constant!($( $prefix )* blue 300);
237        constant!($( $prefix )* blue 400);
238        constant!($( $prefix )* blue 500);
239        constant!($( $prefix )* blue 600);
240        constant!($( $prefix )* blue 700);
241        constant!($( $prefix )* blue 800);
242        constant!($( $prefix )* blue 900);
243
244        constant!($( $prefix )* indigo 50);
245        constant!($( $prefix )* indigo 100);
246        constant!($( $prefix )* indigo 200);
247        constant!($( $prefix )* indigo 300);
248        constant!($( $prefix )* indigo 400);
249        constant!($( $prefix )* indigo 500);
250        constant!($( $prefix )* indigo 600);
251        constant!($( $prefix )* indigo 700);
252        constant!($( $prefix )* indigo 800);
253        constant!($( $prefix )* indigo 900);
254
255        constant!($( $prefix )* violet 50);
256        constant!($( $prefix )* violet 100);
257        constant!($( $prefix )* violet 200);
258        constant!($( $prefix )* violet 300);
259        constant!($( $prefix )* violet 400);
260        constant!($( $prefix )* violet 500);
261        constant!($( $prefix )* violet 600);
262        constant!($( $prefix )* violet 700);
263        constant!($( $prefix )* violet 800);
264        constant!($( $prefix )* violet 900);
265
266        constant!($( $prefix )* purple 50);
267        constant!($( $prefix )* purple 100);
268        constant!($( $prefix )* purple 200);
269        constant!($( $prefix )* purple 300);
270        constant!($( $prefix )* purple 400);
271        constant!($( $prefix )* purple 500);
272        constant!($( $prefix )* purple 600);
273        constant!($( $prefix )* purple 700);
274        constant!($( $prefix )* purple 800);
275        constant!($( $prefix )* purple 900);
276
277        constant!($( $prefix )* fuchsia 50);
278        constant!($( $prefix )* fuchsia 100);
279        constant!($( $prefix )* fuchsia 200);
280        constant!($( $prefix )* fuchsia 300);
281        constant!($( $prefix )* fuchsia 400);
282        constant!($( $prefix )* fuchsia 500);
283        constant!($( $prefix )* fuchsia 600);
284        constant!($( $prefix )* fuchsia 700);
285        constant!($( $prefix )* fuchsia 800);
286        constant!($( $prefix )* fuchsia 900);
287
288        constant!($( $prefix )* pink 50);
289        constant!($( $prefix )* pink 100);
290        constant!($( $prefix )* pink 200);
291        constant!($( $prefix )* pink 300);
292        constant!($( $prefix )* pink 400);
293        constant!($( $prefix )* pink 500);
294        constant!($( $prefix )* pink 600);
295        constant!($( $prefix )* pink 700);
296        constant!($( $prefix )* pink 800);
297        constant!($( $prefix )* pink 900);
298
299        constant!($( $prefix )* rose 50);
300        constant!($( $prefix )* rose 100);
301        constant!($( $prefix )* rose 200);
302        constant!($( $prefix )* rose 300);
303        constant!($( $prefix )* rose 400);
304        constant!($( $prefix )* rose 500);
305        constant!($( $prefix )* rose 600);
306        constant!($( $prefix )* rose 700);
307        constant!($( $prefix )* rose 800);
308        constant!($( $prefix )* rose 900);
309
310        crate::any!($( $prefix )*);
311    }
312}
313
314#[macro_export]
315macro_rules! blend {
316    ( $( $prefix:ident )* ) => {
317        constant!($( $prefix )* normal);
318        constant!($( $prefix )* multiply);
319        constant!($( $prefix )* screen);
320        constant!($( $prefix )* overlay);
321        constant!($( $prefix )* darken);
322        constant!($( $prefix )* lighten);
323        constant!($( $prefix )* color dodge);
324        constant!($( $prefix )* color burn);
325        constant!($( $prefix )* hard light);
326        constant!($( $prefix )* soft light);
327        constant!($( $prefix )* difference);
328        constant!($( $prefix )* exclusion);
329        constant!($( $prefix )* hue);
330        constant!($( $prefix )* saturation);
331        constant!($( $prefix )* color);
332        constant!($( $prefix )* luminosity);
333    }
334}
335
336#[macro_export]
337macro_rules! _1_to_6 {
338    ( $( $prefix:ident )* ) => {
339        constant!($( $prefix )* 1);
340        constant!($( $prefix )* 2);
341        constant!($( $prefix )* 3);
342        constant!($( $prefix )* 4);
343        constant!($( $prefix )* 5);
344        constant!($( $prefix )* 6);
345    }
346}
347
348#[macro_export]
349macro_rules! _1_to_12 {
350    ( $( $prefix:ident )* ) => {
351        crate::_1_to_6!($( $prefix )* );
352        constant!($( $prefix )* 7);
353        constant!($( $prefix )* 8);
354        constant!($( $prefix )* 9);
355        constant!($( $prefix )* 10);
356        constant!($( $prefix )* 11);
357        constant!($( $prefix )* 12);
358    }
359}
360
361#[macro_export]
362macro_rules! _1_to_13 {
363    ( $( $prefix:ident )* ) => {
364        crate::_1_to_12!($( $prefix )* );
365        constant!($( $prefix )* 13);
366    }
367}
368
369#[macro_export]
370macro_rules! size_0_to_96 {
371    ( $( $prefix:ident )* ) => {
372        constant!($( $prefix )* 0);
373        constant!($( $prefix )* px);
374        paste!{
375            #[doc = concat!($( stringify!($prefix), "-", )* "0.5")]
376            pub const [< $( $prefix _ )* _half >]: &'static str = concat!($( stringify!($prefix), "-", )* "0.5");
377            #[doc = concat!($( stringify!($prefix), "-", )* "1.5")]
378            pub const [< $( $prefix _ )* 1_half >]: &'static str = concat!($( stringify!($prefix), "-", )* "1.5");
379            #[doc = concat!($( stringify!($prefix), "-", )* "2.5")]
380            pub const [< $( $prefix _ )* 2_half >]: &'static str = concat!($( stringify!($prefix), "-", )* "2.5");
381            #[doc = concat!($( stringify!($prefix), "-", )* "3.5")]
382            pub const [< $( $prefix _ )* 3_half >]: &'static str = concat!($( stringify!($prefix), "-", )* "3.5");
383        }
384        crate::_1_to_12!($( $prefix )* );
385        constant!($( $prefix )* 16);
386        constant!($( $prefix )* 20);
387        constant!($( $prefix )* 24);
388        constant!($( $prefix )* 28);
389        constant!($( $prefix )* 32);
390        constant!($( $prefix )* 36);
391        constant!($( $prefix )* 40);
392        constant!($( $prefix )* 44);
393        constant!($( $prefix )* 48);
394        constant!($( $prefix )* 52);
395        constant!($( $prefix )* 56);
396        constant!($( $prefix )* 60);
397        constant!($( $prefix )* 64);
398        constant!($( $prefix )* 72);
399        constant!($( $prefix )* 80);
400        constant!($( $prefix )* 96);
401
402        crate::any!($( $prefix )*);
403    }
404}
405
406#[macro_export]
407macro_rules! fraction_2_to_4 {
408    ( $( $prefix:ident )* ) => {
409        paste!{
410            #[doc = concat!($( stringify!($prefix), "-", )* "1/2")]
411            pub const [< $( $prefix _ )* 1__2 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/2");
412            #[doc = concat!($( stringify!($prefix), "-", )* "1/3")]
413            pub const [< $( $prefix _ )* 1__3 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/3");
414            #[doc = concat!($( stringify!($prefix), "-", )* "2/3")]
415            pub const [< $( $prefix _ )* 2__3 >]: &'static str = concat!($( stringify!($prefix), "-", )* "2/3");
416            #[doc = concat!($( stringify!($prefix), "-", )* "1/4")]
417            pub const [< $( $prefix _ )* 1__4 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/4");
418            #[doc = concat!($( stringify!($prefix), "-", )* "2/4")]
419            pub const [< $( $prefix _ )* 2__4 >]: &'static str = concat!($( stringify!($prefix), "-", )* "2/4");
420            #[doc = concat!($( stringify!($prefix), "-", )* "3/4")]
421            pub const [< $( $prefix _ )* 3__4 >]: &'static str = concat!($( stringify!($prefix), "-", )* "3/4");
422        }
423    }
424}
425
426#[macro_export]
427macro_rules! fraction_2_to_6 {
428    ( $( $prefix:ident )* ) => {
429        crate::fraction_2_to_4!($( $prefix )*);
430        paste!{
431            #[doc = concat!($( stringify!($prefix), "-", )* "1/5")]
432            pub const [< $( $prefix _ )* 1__5 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/5");
433            #[doc = concat!($( stringify!($prefix), "-", )* "2/5")]
434            pub const [< $( $prefix _ )* 2__5 >]: &'static str = concat!($( stringify!($prefix), "-", )* "2/5");
435            #[doc = concat!($( stringify!($prefix), "-", )* "3/5")]
436            pub const [< $( $prefix _ )* 3__5 >]: &'static str = concat!($( stringify!($prefix), "-", )* "3/5");
437            #[doc = concat!($( stringify!($prefix), "-", )* "4/5")]
438            pub const [< $( $prefix _ )* 4__5 >]: &'static str = concat!($( stringify!($prefix), "-", )* "4/5");
439            #[doc = concat!($( stringify!($prefix), "-", )* "1/6")]
440            pub const [< $( $prefix _ )* 1__6 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/6");
441            #[doc = concat!($( stringify!($prefix), "-", )* "2/6")]
442            pub const [< $( $prefix _ )* 2__6 >]: &'static str = concat!($( stringify!($prefix), "-", )* "2/6");
443            #[doc = concat!($( stringify!($prefix), "-", )* "3/6")]
444            pub const [< $( $prefix _ )* 3__6 >]: &'static str = concat!($( stringify!($prefix), "-", )* "3/6");
445            #[doc = concat!($( stringify!($prefix), "-", )* "4/6")]
446            pub const [< $( $prefix _ )* 4__6 >]: &'static str = concat!($( stringify!($prefix), "-", )* "4/6");
447            #[doc = concat!($( stringify!($prefix), "-", )* "5/6")]
448            pub const [< $( $prefix _ )* 5__6 >]: &'static str = concat!($( stringify!($prefix), "-", )* "5/6");
449        }
450    }
451}
452
453#[macro_export]
454macro_rules! fraction_12 {
455    ( $( $prefix:ident )* ) => {
456        paste!{
457            #[doc = concat!($( stringify!($prefix), "-", )* "1/12")]
458            pub const [< $( $prefix _ )* 1__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "1/12");
459            #[doc = concat!($( stringify!($prefix), "-", )* "2/12")]
460            pub const [< $( $prefix _ )* 2__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "2/12");
461            #[doc = concat!($( stringify!($prefix), "-", )* "3/12")]
462            pub const [< $( $prefix _ )* 3__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "3/12");
463            #[doc = concat!($( stringify!($prefix), "-", )* "4/12")]
464            pub const [< $( $prefix _ )* 4__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "4/12");
465            #[doc = concat!($( stringify!($prefix), "-", )* "5/12")]
466            pub const [< $( $prefix _ )* 5__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "5/12");
467            #[doc = concat!($( stringify!($prefix), "-", )* "6/12")]
468            pub const [< $( $prefix _ )* 6__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "6/12");
469            #[doc = concat!($( stringify!($prefix), "-", )* "7/12")]
470            pub const [< $( $prefix _ )* 7__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "7/12");
471            #[doc = concat!($( stringify!($prefix), "-", )* "8/12")]
472            pub const [< $( $prefix _ )* 8__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "8/12");
473            #[doc = concat!($( stringify!($prefix), "-", )* "9/12")]
474            pub const [< $( $prefix _ )* 9__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "9/12");
475            #[doc = concat!($( stringify!($prefix), "-", )* "10/12")]
476            pub const [< $( $prefix _ )* 10__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "10/12");
477            #[doc = concat!($( stringify!($prefix), "-", )* "11/12")]
478            pub const [< $( $prefix _ )* 11__12 >]: &'static str = concat!($( stringify!($prefix), "-", )* "11/12");
479        }
480    }
481}
482
483#[macro_export]
484macro_rules! sm_to_2xl {
485    ( $( $prefix:ident )* ) => {
486        constant!($( $prefix )* sm);
487        constant!($( $prefix )* md);
488        constant!($( $prefix )* lg);
489        constant!($( $prefix )* xl);
490        constant!($( $prefix )* "2xl");
491    }
492}
493
494#[macro_export]
495macro_rules! xs_to_7xl {
496    ( $( $prefix:ident )* ) => {
497        constant!($( $prefix )* xs);
498        crate::sm_to_2xl!($( $prefix )*);
499        constant!($( $prefix )* "3xl");
500        constant!($( $prefix )* "4xl");
501        constant!($( $prefix )* "5xl");
502        constant!($( $prefix )* "6xl");
503        constant!($( $prefix )* "7xl");
504    }
505}
506
507#[macro_export]
508macro_rules! _3xs_to_7xl {
509    ( $( $prefix:ident )* ) => {
510        constant!($( $prefix )* "3xs");
511        constant!($( $prefix )* "2xs");
512        crate::xs_to_7xl!($( $prefix )*);
513    }
514}
515
516#[macro_export]
517macro_rules! opacities {
518    ( $( $prefix:ident )* ) => {
519        constant!($( $prefix )* 0);
520        constant!($( $prefix )* 5);
521        constant!($( $prefix )* 10);
522        constant!($( $prefix )* 15);
523        constant!($( $prefix )* 20);
524        constant!($( $prefix )* 25);
525        constant!($( $prefix )* 30);
526        constant!($( $prefix )* 35);
527        constant!($( $prefix )* 40);
528        constant!($( $prefix )* 45);
529        constant!($( $prefix )* 50);
530        constant!($( $prefix )* 55);
531        constant!($( $prefix )* 60);
532        constant!($( $prefix )* 65);
533        constant!($( $prefix )* 70);
534        constant!($( $prefix )* 75);
535        constant!($( $prefix )* 80);
536        constant!($( $prefix )* 85);
537        constant!($( $prefix )* 90);
538        constant!($( $prefix )* 95);
539        constant!($( $prefix )* 100);
540
541        crate::any!($( $prefix )*);
542    }
543}
544
545#[macro_export]
546macro_rules! scales {
547    ( $( $prefix:ident )* ) => {
548        constant!($( $prefix )* 0);
549        constant!($( $prefix )* 50);
550        constant!($( $prefix )* 75);
551        constant!($( $prefix )* 90);
552        constant!($( $prefix )* 95);
553        constant!($( $prefix )* 100);
554        constant!($( $prefix )* 105);
555        constant!($( $prefix )* 110);
556        constant!($( $prefix )* 125);
557        constant!($( $prefix )* 150);
558
559        crate::any!($( $prefix )*);
560    }
561}
562
563
564#[macro_export]
565macro_rules! percents {
566    ( $( $prefix:ident )* ) => {
567        special_ending!($( $prefix )* 0_pct "0%");
568        special_ending!($( $prefix )* 5_pct "5%");
569        special_ending!($( $prefix )* 10_pct "10%");
570        special_ending!($( $prefix )* 15_pct "15%");
571        special_ending!($( $prefix )* 20_pct "20%");
572        special_ending!($( $prefix )* 25_pct "25%");
573        special_ending!($( $prefix )* 30_pct "30%");
574        special_ending!($( $prefix )* 35_pct "35%");
575        special_ending!($( $prefix )* 40_pct "40%");
576        special_ending!($( $prefix )* 45_pct "45%");
577        special_ending!($( $prefix )* 50_pct "50%");
578        special_ending!($( $prefix )* 55_pct "55%");
579        special_ending!($( $prefix )* 60_pct "60%");
580        special_ending!($( $prefix )* 65_pct "65%");
581        special_ending!($( $prefix )* 70_pct "70%");
582        special_ending!($( $prefix )* 75_pct "75%");
583        special_ending!($( $prefix )* 80_pct "80%");
584        special_ending!($( $prefix )* 85_pct "85%");
585        special_ending!($( $prefix )* 90_pct "90%");
586        special_ending!($( $prefix )* 95_pct "95%");
587        special_ending!($( $prefix )* 100_pct "100%");
588    }
589}
590
591#[macro_export]
592macro_rules! border_radius {
593    ( $( $prefix:ident )* ) => {
594        constant!($( $prefix )*);
595        constant!($( $prefix )* none);
596        sm_to_2xl!($( $prefix )*);
597        constant!($( $prefix )* "3xl");
598        constant!($( $prefix )* full);
599    }
600}
601
602#[macro_export]
603macro_rules! border_width {
604    ( $( $prefix:ident )* ) => {
605        constant!($( $prefix )*);
606        constant!($( $prefix )* 0);
607        constant!($( $prefix )* 2);
608        constant!($( $prefix )* 4);
609        constant!($( $prefix )* 8);
610    }
611}