@gem-sdk/styles 1.0.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/README.md +1 -0
  2. package/dist/base.css +90 -0
  3. package/dist/base.min.css +1 -0
  4. package/dist/builder.css +102 -0
  5. package/dist/builder.min.css +1 -0
  6. package/dist/utility.css +6034 -0
  7. package/dist/utility.min.css +1 -0
  8. package/package.json +47 -0
  9. package/src/css/all.css +98 -0
  10. package/src/css/builds/base.css +93 -0
  11. package/src/css/builds/builder.css +96 -0
  12. package/src/css/builds/utility.css +6 -0
  13. package/src/css/helpers/_background.css +15 -0
  14. package/src/css/helpers/_layout.css +23 -0
  15. package/src/css/helpers/_position.css +40 -0
  16. package/src/css/helpers/_shadows.css +61 -0
  17. package/src/css/helpers/_spacing.css +21 -0
  18. package/src/css/helpers/_transform.css +36 -0
  19. package/src/css/helpers/_typography.css +54 -0
  20. package/src/css/medias.css +2 -0
  21. package/src/css/mixins.css +133 -0
  22. package/src/css/utilities/_background.css +22 -0
  23. package/src/css/utilities/_border.css +21 -0
  24. package/src/css/utilities/_flex.css +12 -0
  25. package/src/css/utilities/_grid.css +15 -0
  26. package/src/css/utilities/_interact.css +8 -0
  27. package/src/css/utilities/_layout.css +12 -0
  28. package/src/css/utilities/_misc.css +12 -0
  29. package/src/css/utilities/_overflow.css +3 -0
  30. package/src/css/utilities/_sizing.css +7 -0
  31. package/src/css/utilities/_spacing.css +13 -0
  32. package/src/css/utilities/_transform.css +4 -0
  33. package/src/css/utilities/_transition.css +6 -0
  34. package/src/css/utilities/_typography.css +33 -0
  35. package/src/css/utilities/all.css +113 -0
  36. package/src/css/variables.css +1 -0
  37. package/src/index.js +5 -0
  38. package/src/plugins/animation.js +109 -0
  39. package/src/plugins/components.js +59 -0
  40. package/src/plugins/contain-intrinsic-size.js +34 -0
  41. package/src/plugins/custom-variants.js +12 -0
  42. package/src/plugins/heading.js +32 -0
  43. package/src/plugins/size.js +20 -0
  44. package/src/plugins/typography.js +97 -0
  45. package/src/preset.js +130 -0
  46. package/src/properties.js +730 -0
  47. package/types/common.d.ts +11 -0
  48. package/types/globals.d.ts +2671 -0
  49. package/types/index.d.ts +9 -0
  50. package/types/types.d.ts +100 -0
@@ -0,0 +1,36 @@
1
+ /* Transform Helpers */
2
+
3
+ [style*="--$(prefix)translate:"],
4
+ [style*="--$(prefix)translatex:"],
5
+ [style*="--$(prefix)translatey:"],
6
+ [style*="--$(prefix)scale:"],
7
+ [style*="--$(prefix)rotate:"],
8
+ [style*="--$(prefix)skew:"] {
9
+ transform:
10
+ translate(var(--$(prefix)translate, 0))
11
+ translateX(var(--$(prefix)translatex, 0))
12
+ translateY(var(--$(prefix)translatey, 0))
13
+ scale(var(--$(prefix)scale, 100%))
14
+ rotate(var(--$(prefix)rotate, 0))
15
+ skew(var(--$(prefix)skew, 0));
16
+ }
17
+
18
+ [style*="--$(prefix)translate-hvr:"],
19
+ [style*="--$(prefix)translatex-hvr:"],
20
+ [style*="--$(prefix)translatey-hvr:"],
21
+ [style*="--$(prefix)scale-hvr:"],
22
+ [style*="--$(prefix)rotate-hvr:"],
23
+ [style*="--$(prefix)skew-hvr:"] {
24
+ transition: var(--$(prefix)transition);
25
+
26
+ &:hover {
27
+ transform:
28
+ translate(var(--$(prefix)translate-hvr, 0))
29
+ translateX(var(--$(prefix)translatex-hvr, 0))
30
+ translateY(var(--$(prefix)translatey-hvr, 0))
31
+ scale(var(--$(prefix)scale-hvr, 100%))
32
+ rotate(var(--$(prefix)rotate-hvr, 0))
33
+ skew(var(--$(prefix)skew-hvr, 0));
34
+ }
35
+ }
36
+
@@ -0,0 +1,54 @@
1
+ /* Typography Helpers */
2
+
3
+ [style*="--$(prefix)line-clamp:"] {
4
+ overflow: hidden;
5
+ display: -webkit-box;
6
+ -webkit-box-orient: vertical;
7
+ -webkit-line-clamp: var(--$(prefix)line-clamp);
8
+ }
9
+
10
+ @media only screen and (--tablet-viewport) {
11
+ [style*="--$(prefix)line-clamp-tablet:"] {
12
+ overflow: hidden;
13
+ display: -webkit-box;
14
+ -webkit-box-orient: vertical;
15
+ -webkit-line-clamp: var(--$(prefix)line-clamp-tablet);
16
+ }
17
+ }
18
+
19
+ @media only screen and (--mobile-viewport) {
20
+ [style*="--$(prefix)line-clamp-mobile:"] {
21
+ overflow: hidden;
22
+ display: -webkit-box;
23
+ -webkit-box-orient: vertical;
24
+ -webkit-line-clamp: var(--$(prefix)line-clamp-mobile);
25
+ }
26
+ }
27
+
28
+ [style*="--$(prefix)text-3d:"] {
29
+ text-shadow: 6px 6px 10px rgba(255,255,255,.1),
30
+ 6px 6px var(--$(prefix)text-3d),
31
+ 5.75px 5.75px var(--$(prefix)text-3d),
32
+ 5.5px 5.5px var(--$(prefix)text-3d),
33
+ 5.25px 5.25px var(--$(prefix)text-3d),
34
+ 5px 5px var(--$(prefix)text-3d),
35
+ 4.75px 4.75px var(--$(prefix)text-3d),
36
+ 4.5px 4.5px var(--$(prefix)text-3d),
37
+ 4.25px 4.25px var(--$(prefix)text-3d),
38
+ 4px 4px var(--$(prefix)text-3d),
39
+ 3.75px 3.75px var(--$(prefix)text-3d),
40
+ 3.5px 3.5px var(--$(prefix)text-3d),
41
+ 3.25px 3.25px var(--$(prefix)text-3d),
42
+ 3px 3px var(--$(prefix)text-3d),
43
+ 2.75px 2.75px var(--$(prefix)text-3d),
44
+ 2.5px 2.5px var(--$(prefix)text-3d),
45
+ 2.25px 2.25px var(--$(prefix)text-3d),
46
+ 2px 2px var(--$(prefix)text-3d),
47
+ 1.75px 1.75px var(--$(prefix)text-3d),
48
+ 1.5px 1.5px var(--$(prefix)text-3d),
49
+ 1.25px 1.25px var(--$(prefix)text-3d),
50
+ 1px 1px var(--$(prefix)text-3d),
51
+ .75px .75px var(--$(prefix)text-3d),
52
+ .5px .5px var(--$(prefix)text-3d),
53
+ .25px .25px var(--$(prefix)text-3d);
54
+ }
@@ -0,0 +1,2 @@
1
+ @custom-media --tablet-viewport (max-width: 1023px);
2
+ @custom-media --mobile-viewport (max-width: 767px);
@@ -0,0 +1,133 @@
1
+
2
+
3
+ @define-mixin svar-mq $prop, $var {
4
+ [style*="--$(prefix)$(var):"] {
5
+ $(prop): var(--$(prefix)$(var));
6
+ }
7
+
8
+ [style*="--$(prefix)hvr-$(var):"]:hover {
9
+ $(prop): var(--$(prefix)hvr-$(var));
10
+ }
11
+ /* .group:hover {
12
+ [style*="--$(prefix)hvr-$(var):"] {
13
+ $(prop): var(--$(prefix)hvr-$(var));
14
+ }
15
+ } */
16
+
17
+ [style*="--$(prefix)focus-$(var):"]:focus {
18
+ $(prop): var(--$(prefix)focus-$(var));
19
+ }
20
+ /* .group:focus {
21
+ [style*="--$(prefix)focus-$(var):"] {
22
+ $(prop): var(--$(prefix)focus-$(var));
23
+ }
24
+ } */
25
+
26
+
27
+ @media only screen and (--tablet-viewport) {
28
+ [style*="--$(prefix)$(var)-tablet:"] {
29
+ $(prop): var(--$(prefix)$(var)-tablet);
30
+ }
31
+
32
+ [style*="--$(prefix)hvr-$(var)-tablet:"]:hover {
33
+ $(prop): var(--$(prefix)hvr-$(var)-tablet);
34
+ }
35
+ /* .group:hover {
36
+ [style*="--$(prefix)hvr-$(var)-tablet:"] {
37
+ $(prop): var(--$(prefix)hvr-$(var)-tablet);
38
+ }
39
+ } */
40
+
41
+ [style*="--$(prefix)focus-$(var)-tablet:"]:focus {
42
+ $(prop): var(--$(prefix)focus-$(var)-tablet);
43
+ }
44
+ /* .group:focus {
45
+ [style*="--$(prefix)focus-$(var)-tablet:"] {
46
+ $(prop): var(--$(prefix)focus-$(var)-tablet);
47
+ }
48
+ } */
49
+ }
50
+
51
+ @media only screen and (--mobile-viewport) {
52
+ [style*="--$(prefix)$(var)-mobile:"] {
53
+ $(prop): var(--$(prefix)$(var)-mobile);
54
+ }
55
+
56
+ [style*="--$(prefix)hvr-$(var)-mobile:"]:hover {
57
+ $(prop): var(--$(prefix)hvr-$(var)-mobile);
58
+ }
59
+ /* .group:hover {
60
+ [style*="--$(prefix)hvr-$(var)-mobile:"] {
61
+ $(prop): var(--$(prefix)hvr-$(var)-mobile);
62
+ }
63
+ } */
64
+
65
+ [style*="--$(prefix)focus-$(var)-mobile:"]:focus {
66
+ $(prop): var(--$(prefix)focus-$(var)-mobile);
67
+ }
68
+ /* .group:focus {
69
+ [style*="--$(prefix)focus-$(var)-mobile:"] {
70
+ $(prop): var(--$(prefix)focus-$(var)-mobile);
71
+ }
72
+ } */
73
+ }
74
+ }
75
+
76
+ @define-mixin svar $prop, $var {
77
+ [style*="--$(prefix)$(var):"] {
78
+ $(prop): var(--$(prefix)$(var));
79
+ }
80
+
81
+ [style*="--$(prefix)hvr-$(var):"]:hover {
82
+ $(prop): var(--$(prefix)hvr-$(var));
83
+ }
84
+ /* .group:hover {
85
+ [style*="--$(prefix)hvr-$(var):"] {
86
+ $(prop): var(--$(prefix)hvr-$(var));
87
+ }
88
+ } */
89
+
90
+ [style*="--$(prefix)focus-$(var):"]:focus {
91
+ $(prop): var(--$(prefix)focus-$(var));
92
+ }
93
+ /* .group:focus {
94
+ [style*="--$(prefix)focus-$(var):"] {
95
+ $(prop): var(--$(prefix)focus-$(var));
96
+ }
97
+ } */
98
+
99
+ }
100
+
101
+ @define-mixin svar:hover $prop, $var {
102
+ [style*="--$(prefix)hvr-$(var):"]:hover {
103
+ $(prop): var(--$(prefix)$(var));
104
+ }
105
+ /* .group:hover {
106
+ [style*="--$(prefix)hvr-$(var):"] {
107
+ $(prop): var(--$(prefix)$(var));
108
+ }
109
+ } */
110
+ }
111
+
112
+ @define-mixin svar:focus $prop, $var {
113
+ [style*="--$(prefix)focus-$(var):"]:focus {
114
+ $(prop): var(--$(prefix)$(var));
115
+ }
116
+ /* .group:focus {
117
+ [style*="--$(prefix)focus-$(var):"] {
118
+ $(prop): var(--$(prefix)$(var));
119
+ }
120
+ } */
121
+ }
122
+
123
+ @define-mixin svar:before $prop, $var {
124
+ [style*="--$(prefix)$(var):"]::before {
125
+ $(prop): var(--$(prefix)$(var));
126
+ }
127
+ }
128
+
129
+ @define-mixin svar:after $prop, $var {
130
+ [style*="--$(prefix)$(var):"]::after {
131
+ $(prop): var(--$(prefix)$(var));
132
+ }
133
+ }
@@ -0,0 +1,22 @@
1
+ /* Background */
2
+ @mixin svar-mq background, bg;
3
+ @mixin svar-mq background-attachment, bga;
4
+ @mixin svar-mq background-color, bgc;
5
+ @mixin svar-mq background-image, bgi;
6
+ @mixin svar-mq background-position, bgp;
7
+ @mixin svar-mq background-repeat, bgr;
8
+ @mixin svar-mq background-size, bgs;
9
+
10
+ @mixin svar:hover background, bg;
11
+ @mixin svar:hover background-color, bgc;
12
+
13
+ @mixin svar:focus background, bg;
14
+ @mixin svar:focus background-color, bgc;
15
+
16
+ [style*="--$(prefix)grad-top:"] {
17
+ background-image: linear-gradient(0deg, transparent, var(--$(prefix)grad-bottom));
18
+ }
19
+
20
+ [style*="--$(prefix)grad-bottom:"] {
21
+ background-image: linear-gradient(180deg, transparent, var(--$(prefix)grad-bottom));
22
+ }
@@ -0,0 +1,21 @@
1
+ /* Border */
2
+ @mixin svar-mq border, b;
3
+ @mixin svar-mq border-color, bc;
4
+ @mixin svar-mq border-style, bs;
5
+ @mixin svar-mq border-width, bw;
6
+ @mixin svar-mq border-radius, br;
7
+ @mixin svar-mq border-radius, radius;
8
+ @mixin svar-mq border-top, bt;
9
+ @mixin svar-mq border-left, bl;
10
+ @mixin svar-mq border-right, br;
11
+ @mixin svar-mq border-bottom, bb;
12
+ @mixin svar-mq border-top-left-radius, btlr;
13
+ @mixin svar-mq border-top-right-radius, btrr;
14
+ @mixin svar-mq border-bottom-left-radius, bblr;
15
+ @mixin svar-mq border-bottom-right-radius, bbrr;
16
+
17
+ @mixin svar:hover border, b;
18
+ @mixin svar:hover border-color, bc;
19
+
20
+ @mixin svar:focus border, b;
21
+ @mixin svar:focus border-color, bc;
@@ -0,0 +1,12 @@
1
+ /* Flex */
2
+ @mixin svar-mq flex, fx;
3
+ @mixin svar-mq flex-direction, fd;
4
+ @mixin svar-mq flex-wrap, fw;
5
+ @mixin svar-mq align-content, ac;
6
+ @mixin svar-mq align-items, ai;
7
+ @mixin svar-mq align-self, as;
8
+ @mixin svar-mq justify-content, jc;
9
+ @mixin svar-mq flex-grow, fg;
10
+ @mixin svar-mq flex-shrink, fs;
11
+ @mixin svar-mq flex-basis, fb;
12
+ @mixin svar-mq order, o;
@@ -0,0 +1,15 @@
1
+ /* Grid */
2
+ @mixin svar-mq grid-template-columns, gtc;
3
+ @mixin svar-mq grid-template-rows, gtr;
4
+ @mixin svar-mq grid-auto-columns, gac;
5
+ @mixin svar-mq grid-auto-rows, gar;
6
+ @mixin svar-mq grid-column, gc;
7
+ @mixin svar-mq grid-row, gr;
8
+ @mixin svar-mq grid-gap, gg;
9
+ @mixin svar-mq place-self, ps;
10
+ @mixin svar-mq justify-items, ji;
11
+ @mixin svar-mq justify-self, js;
12
+
13
+ [style*="--$(prefix)grid-cols:"] {
14
+ grid-template-columns: repeat(var(--$(prefix)grid-cols), minmax(0, 1fr));
15
+ }
@@ -0,0 +1,8 @@
1
+ /* Interact */
2
+ @mixin svar user-select, us;
3
+ @mixin svar outline, oe;
4
+ @mixin svar pointer-events, pe;
5
+ @mixin svar scroll-behavior, sb;
6
+ @mixin svar cursor, cur;
7
+
8
+ @mixin svar:hover cursor, cur;
@@ -0,0 +1,12 @@
1
+ /* Layout */
2
+ @mixin svar-mq display, d;
3
+ @mixin svar-mq float, ft;
4
+ @mixin svar-mq position, pos;
5
+ @mixin svar-mq top, top;
6
+ @mixin svar-mq left, left;
7
+ @mixin svar-mq right, right;
8
+ @mixin svar-mq bottom, bottom;
9
+ @mixin svar-mq object-fit, objf;
10
+ @mixin svar-mq object-position, objp;
11
+ @mixin svar-mq visibility, v;
12
+ @mixin svar-mq z-index, z;
@@ -0,0 +1,12 @@
1
+ /* Misc */
2
+ @mixin svar all, all;
3
+ @mixin svar-mq box-shadow, boxs;
4
+ @mixin svar-mq content, ct;
5
+ @mixin svar-mq opacity, op;
6
+ @mixin svar-mq box-shadow, bs;
7
+ @mixin svar clear, cr;
8
+ @mixin svar content, ct;
9
+ @mixin svar filter, fr;
10
+ @mixin svar-mq aspect-ratio, aspect;
11
+
12
+ /* @mixin svar:hover opacity, op; */
@@ -0,0 +1,3 @@
1
+ @mixin svar overflow, of;
2
+ @mixin svar overflow-x, ofx;
3
+ @mixin svar overflow-y, ofy;
@@ -0,0 +1,7 @@
1
+ /* Sizing */
2
+ @mixin svar-mq width, w;
3
+ @mixin svar-mq height, h;
4
+ @mixin svar-mq min-width, minw;
5
+ @mixin svar-mq min-height, minh;
6
+ @mixin svar-mq max-width, maxw;
7
+ @mixin svar-mq max-height, maxh;
@@ -0,0 +1,13 @@
1
+ /* Spacing */
2
+ @mixin svar box-sizing, bxs;
3
+ @mixin svar-mq padding, p;
4
+ @mixin svar-mq padding-left, pl;
5
+ @mixin svar-mq padding-right, pr;
6
+ @mixin svar-mq padding-top, pt;
7
+ @mixin svar-mq padding-bottom, pb;
8
+ @mixin svar-mq margin, m;
9
+ @mixin svar-mq margin-left, ml;
10
+ @mixin svar-mq margin-right, mr;
11
+ @mixin svar-mq margin-top, mt;
12
+ @mixin svar-mq margin-bottom, mb;
13
+
@@ -0,0 +1,4 @@
1
+ /* Transform */
2
+ @mixin svar-mq transform, t;
3
+ @mixin svar-mq transform-origin, to;
4
+ @mixin svar-mq transform-style, tc;
@@ -0,0 +1,6 @@
1
+ /* Animation */
2
+ @mixin svar-mq transition, tn;
3
+ @mixin svar-mq transition-delay, td;
4
+ @mixin svar-mq transition-duration, tdn;
5
+ @mixin svar-mq transition-property, tp;
6
+ @mixin svar-mq transition-timing-function, ttf;
@@ -0,0 +1,33 @@
1
+ /* Typography */
2
+ @mixin svar-mq color, c;
3
+ @mixin svar-mq font-family, ff;
4
+ @mixin svar-mq font-size, size;
5
+ @mixin svar-mq font-style, fs;
6
+ @mixin svar-mq font-weight, weight;
7
+ @mixin svar-mq letter-spacing, ls;
8
+ @mixin svar-mq line-height, lh;
9
+ @mixin svar-mq list-style, lis;
10
+ @mixin svar-mq list-style-type, list;
11
+ @mixin svar-mq list-style-position, lisp;
12
+ @mixin svar-mq text-align, ta;
13
+ @mixin svar-mq text-decoration, td;
14
+ @mixin svar-mq text-shadow, ts;
15
+ @mixin svar-mq text-transform, tt;
16
+ @mixin svar-mq writing-mode, wm;
17
+ @mixin svar-mq vertical-align, va;
18
+
19
+ @mixin svar-mq white-space, ws;
20
+ @mixin svar-mq word-break, wb;
21
+
22
+ @mixin svar-mq column-count, cc;
23
+ @mixin svar-mq column-gap, cg;
24
+ @mixin svar-mq row-gap, rg;
25
+ @mixin svar-mq column-rule, cr;
26
+ @mixin svar-mq column-span, cs;
27
+
28
+ @mixin svar-mq direction, dir;
29
+
30
+ [style*="--$(prefix)bi:"] {
31
+ page-break-inside: var(--$(prefix) bi);
32
+ break-inside: var(--$(prefix) bi);
33
+ }
@@ -0,0 +1,113 @@
1
+ @mixin svar-mq align-content, ac;
2
+ @mixin svar-mq align-items, ai;
3
+ @mixin svar-mq align-self, as;
4
+ @mixin svar-mq aspect-ratio, aspect;
5
+ @mixin svar-mq background, bg;
6
+ @mixin svar-mq background-attachment, bga;
7
+ @mixin svar-mq background-color, bgc;
8
+ @mixin svar-mq background-image, bgi;
9
+ @mixin svar-mq background-position, bgp;
10
+ @mixin svar-mq background-repeat, bgr;
11
+ @mixin svar-mq background-size, bgs;
12
+ @mixin svar-mq border, b;
13
+ @mixin svar-mq border-bottom, bb;
14
+ @mixin svar-mq border-color, bc;
15
+ @mixin svar-mq border-bottom-left-radius, bblr;
16
+ @mixin svar-mq border-bottom-right-radius, bbrr;
17
+ @mixin svar-mq border-color, bc;
18
+ @mixin svar-mq border-left, bl;
19
+ @mixin svar-mq border-radius, radius;
20
+ @mixin svar-mq border-right, br;
21
+ @mixin svar-mq border-style, bs;
22
+ @mixin svar-mq border-top, bt;
23
+ @mixin svar-mq border-width, bw;
24
+ @mixin svar-mq bottom, bottom;
25
+ @mixin svar-mq box-shadow, shadow;
26
+ @mixin svar box-sizing, bxs;
27
+ @mixin svar-mq clear, cr;
28
+ @mixin svar-mq color, c;
29
+ @mixin svar color, hvr-c;
30
+ @mixin svar-mq column-count, cc;
31
+ @mixin svar-mq column-fill, cf;
32
+ @mixin svar-mq column-gap, cg;
33
+ @mixin svar-mq column-rule, cr;
34
+ @mixin svar-mq column-span, cs;
35
+ @mixin svar content, ct;
36
+ @mixin svar cursor, cur;
37
+ @mixin svar direction, dir;
38
+ @mixin svar-mq display, d;
39
+ @mixin svar filter, fr;
40
+ @mixin svar-mq flex, fx;
41
+ @mixin svar-mq flex-basis, fb;
42
+ @mixin svar-mq flex-direction, fd;
43
+ @mixin svar-mq flex-grow, fg;
44
+ @mixin svar-mq flex-shrink, fs;
45
+ @mixin svar-mq flex-wrap, fw;
46
+ @mixin svar-mq float, ft;
47
+ @mixin svar-mq font-family, ff;
48
+ @mixin svar-mq font-size, size;
49
+ @mixin svar-mq font-style, fs;
50
+ @mixin svar-mq font-weight, weight;
51
+ @mixin svar-mq grid-auto-columns, gac;
52
+ @mixin svar-mq grid-auto-rows, gar;
53
+ @mixin svar-mq grid-column, gc;
54
+ @mixin svar-mq grid-gap, gg;
55
+ @mixin svar-mq grid-row, gr;
56
+ @mixin svar-mq grid-template-columns, gtc;
57
+ @mixin svar-mq grid-template-rows, gtr;
58
+ @mixin svar-mq height, h;
59
+ @mixin svar-mq justify-content, jc;
60
+ @mixin svar-mq left, left;
61
+ @mixin svar-mq letter-spacing, ls;
62
+ @mixin svar-mq line-height, lh;
63
+ @mixin svar-mq list-style, lis;
64
+ @mixin svar-mq list-style-position, lisp;
65
+ @mixin svar-mq list-style-type, list;
66
+ @mixin svar-mq margin, m;
67
+ @mixin svar-mq margin-bottom, mb;
68
+ @mixin svar-mq margin-left, ml;
69
+ @mixin svar-mq margin-right, mr;
70
+ @mixin svar-mq margin-top, mt;
71
+ @mixin svar-mq max-height, maxh;
72
+ @mixin svar-mq max-width, maxw;
73
+ @mixin svar-mq min-height, minh;
74
+ @mixin svar-mq min-width, minw;
75
+ @mixin svar-mq object-fit, objf;
76
+ @mixin svar-mq object-position, objp;
77
+ @mixin svar-mq opacity, op;
78
+ @mixin svar-mq order, o;
79
+ @mixin svar outline, oe;
80
+ @mixin svar overflow, of;
81
+ @mixin svar overflow-x, ofx;
82
+ @mixin svar overflow-y, ofy;
83
+ @mixin svar-mq padding, p;
84
+ @mixin svar-mq padding-bottom, pb;
85
+ @mixin svar-mq padding-left, pl;
86
+ @mixin svar-mq padding-right, pr;
87
+ @mixin svar-mq padding-top, pt;
88
+ @mixin svar pointer-events, pe;
89
+ @mixin svar-mq position, pos;
90
+ @mixin svar-mq right, right;
91
+ @mixin svar-mq row-gap, rg;
92
+ @mixin svar scroll-behavior, sb;
93
+ @mixin svar-mq text-align, ta;
94
+ @mixin svar-mq text-decoration, td;
95
+ @mixin svar-mq text-shadow, ts;
96
+ @mixin svar-mq text-transform, tt;
97
+ @mixin svar-mq top, top;
98
+ @mixin svar-mq transform, t;
99
+ @mixin svar-mq transform-origin, ta;
100
+ @mixin svar-mq transform-style, ts;
101
+ @mixin svar-mq transition, tn;
102
+ @mixin svar-mq transition-delay, td;
103
+ @mixin svar-mq transition-duration, tnd;
104
+ @mixin svar-mq transition-property, tp;
105
+ @mixin svar-mq transition-timing-function, ttf;
106
+ @mixin svar user-select, us;
107
+ @mixin svar-mq vertical-align, va;
108
+ @mixin svar-mq visibility, v;
109
+ @mixin svar-mq white-space, ws;
110
+ @mixin svar-mq width, w;
111
+ @mixin svar-mq word-break, wb;
112
+ @mixin svar-mq writing-mode, wm;
113
+ @mixin svar-mq z-index, z;
@@ -0,0 +1 @@
1
+ $prefix: ;
package/src/index.js ADDED
@@ -0,0 +1,5 @@
1
+ const preset = require('./preset');
2
+ const properties = require('./properties');
3
+
4
+ module.exports.preset = preset;
5
+ module.exports.properties = properties;
@@ -0,0 +1,109 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ const animation = plugin(
4
+ function ({ theme, matchUtilities }) {
5
+ matchUtilities(
6
+ {
7
+ 'animation-delay': (value) => ({
8
+ animationDelay: value,
9
+ }),
10
+ },
11
+ { values: theme('animationDelay') },
12
+ );
13
+ matchUtilities(
14
+ {
15
+ 'animation-duration': (value) => ({
16
+ animationDuration: value,
17
+ }),
18
+ },
19
+ { values: theme('animationDuration') },
20
+ );
21
+ matchUtilities({
22
+ 'animation-name': (value) => ({
23
+ animationName: value,
24
+ }),
25
+ });
26
+ matchUtilities({
27
+ 'animation-timing-function': (value) => ({
28
+ animationTimingFunction: value,
29
+ }),
30
+ });
31
+ matchUtilities({
32
+ 'animation-direction': (value) => ({
33
+ animationDirection: value,
34
+ }),
35
+ });
36
+ matchUtilities({
37
+ 'animation-iteration-count': (value) => ({
38
+ animationIterationCount: value,
39
+ }),
40
+ });
41
+ matchUtilities({
42
+ 'animation-fill-mode': (value) => ({
43
+ animationFillMode: value,
44
+ }),
45
+ });
46
+ },
47
+ {
48
+ theme: {
49
+ animationDelay: {
50
+ none: '0s',
51
+ 75: '75ms',
52
+ 100: '100ms',
53
+ 150: '150ms',
54
+ 200: '200ms',
55
+ 300: '300ms',
56
+ 400: '400ms',
57
+ 500: '500ms',
58
+ 600: '600ms',
59
+ 700: '700ms',
60
+ 800: '800ms',
61
+ 900: '900ms',
62
+ 1000: '1000ms',
63
+ 1100: '1100ms',
64
+ 1200: '1200ms',
65
+ 1300: '1300ms',
66
+ 1400: '1400ms',
67
+ 1500: '1500ms',
68
+ 2000: '2000ms',
69
+ 3000: '3000ms',
70
+ 4000: '4000ms',
71
+ 5000: '5000ms',
72
+ 6000: '6000ms',
73
+ 7000: '7000ms',
74
+ 8000: '8000ms',
75
+ 9000: '9000ms',
76
+ },
77
+ animationDuration: {
78
+ none: '0s',
79
+ 75: '75ms',
80
+ 100: '100ms',
81
+ 150: '150ms',
82
+ 200: '200ms',
83
+ 300: '300ms',
84
+ 400: '400ms',
85
+ 500: '500ms',
86
+ 600: '600ms',
87
+ 700: '700ms',
88
+ 800: '800ms',
89
+ 900: '900ms',
90
+ 1000: '1000ms',
91
+ 1100: '1100ms',
92
+ 1200: '1200ms',
93
+ 1300: '1300ms',
94
+ 1400: '1400ms',
95
+ 1500: '1500ms',
96
+ 2000: '2000ms',
97
+ 3000: '3000ms',
98
+ 4000: '4000ms',
99
+ 5000: '5000ms',
100
+ 6000: '6000ms',
101
+ 7000: '7000ms',
102
+ 8000: '8000ms',
103
+ 9000: '9000ms',
104
+ },
105
+ },
106
+ },
107
+ );
108
+
109
+ module.exports = animation;