tailwindcss-3d-styles 1.2.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.

Potentially problematic release.


This version of tailwindcss-3d-styles might be problematic. Click here for more details.

Files changed (49) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +586 -0
  3. package/common/index.js +4 -0
  4. package/css-animations/base.js +19 -0
  5. package/css-animations/bounce-and-spin.js +121 -0
  6. package/css-animations/bounce.js +106 -0
  7. package/css-animations/index.js +8 -0
  8. package/css-animations/spin.js +106 -0
  9. package/css-utilities/backface.js +40 -0
  10. package/css-utilities/base.js +23 -0
  11. package/css-utilities/index.js +14 -0
  12. package/css-utilities/perspective-origin.js +39 -0
  13. package/css-utilities/perspective.js +69 -0
  14. package/css-utilities/scale.js +124 -0
  15. package/css-utilities/transform-box.js +43 -0
  16. package/css-utilities/transform-core.js +71 -0
  17. package/css-utilities/transform-style.js +40 -0
  18. package/css-utilities/transform.js +204 -0
  19. package/css-utilities/translate.js +104 -0
  20. package/index.js +94 -0
  21. package/package.json +19 -0
  22. package/types/common/index.d.ts +7 -0
  23. package/types/css-animations/base.d.ts +4 -0
  24. package/types/css-animations/bounce-and-spin.d.ts +19 -0
  25. package/types/css-animations/bounce.d.ts +15 -0
  26. package/types/css-animations/index.d.ts +12 -0
  27. package/types/css-animations/spin.d.ts +16 -0
  28. package/types/css-utilities/backface.d.ts +9 -0
  29. package/types/css-utilities/base.d.ts +6 -0
  30. package/types/css-utilities/index.d.ts +18 -0
  31. package/types/css-utilities/perspective-origin.d.ts +6 -0
  32. package/types/css-utilities/perspective.d.ts +26 -0
  33. package/types/css-utilities/scale.d.ts +24 -0
  34. package/types/css-utilities/transform-box.d.ts +12 -0
  35. package/types/css-utilities/transform-core.d.ts +5 -0
  36. package/types/css-utilities/transform-style.d.ts +9 -0
  37. package/types/css-utilities/transform.d.ts +38 -0
  38. package/types/css-utilities/translate.d.ts +24 -0
  39. package/types/index.d.ts +11 -0
  40. package/types/utils/css-value.d.ts +48 -0
  41. package/types/utils/dimension.d.ts +3 -0
  42. package/types/utils/ensure.d.ts +5 -0
  43. package/types/utils/generate-guard.d.ts +8 -0
  44. package/types/utils/lodash-transformers.d.ts +6 -0
  45. package/utils/css-value.js +386 -0
  46. package/utils/dimension.js +34 -0
  47. package/utils/ensure.js +33 -0
  48. package/utils/generate-guard.js +75 -0
  49. package/utils/lodash-transformers.js +108 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2023 Sam Bauers
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,586 @@
1
+ # 3D Plugin for Tailwind CSS
2
+
3
+ Add 3D transforms to your TailwindCSS project.
4
+
5
+ ## TailwindCSS v4 compatibility
6
+
7
+ TailwindCSS v4 has been released with native 3D transform utilities. This
8
+ plugin will not be redeveloped to work with v4.
9
+
10
+ Maintenance of this plugin will continue for a while for v3 users.
11
+
12
+ ## Description
13
+
14
+ 3D Plugin for Tailwind CSS adds additional transform utilities and animations
15
+ which can help you to add three dimensional styling to your interface.
16
+
17
+ By default TailwindCSS adds transforms in two dimensions ("x" and "y" axis
18
+ only), so scale, rotate, and translate are flat transformations. This plugin
19
+ adds support for the "z" axis and implements extensions to the bounce and spin
20
+ animations to allow them to operate in multiple directions.
21
+
22
+ Tailwind's core implementation uses the
23
+ [`transform` CSS property](https://developer.mozilla.org/en-US/docs/Web/CSS/transform)
24
+ to achieve all transformations. This method is better supported by older
25
+ browsers, but has some limitations which make it more difficult to use.
26
+
27
+ This plugin implements transformation using newer CSS properties like
28
+ [`rotate`](https://developer.mozilla.org/en-US/docs/Web/CSS/rotate),
29
+ [`translate`](https://developer.mozilla.org/en-US/docs/Web/CSS/translate),
30
+ and [`scale`](https://developer.mozilla.org/en-US/docs/Web/CSS/scale)
31
+ where support in more recent browsers allows. This opens some new possibilities
32
+ when combining utility classes with animations, and in the composition of new
33
+ animations.
34
+
35
+ ## Browser compatibility
36
+
37
+ Since this plugin uses newer CSS properties, it will produce CSS which is not
38
+ compatible with some older browsers.
39
+
40
+ Refer to [this list of CSS features on CanIUse.com](https://caniuse.com/?feats=mdn-css_properties_rotate,mdn-css_properties_scale,mdn-css_properties_translate,mdn-css_properties_perspective,mdn-css_properties_perspective-origin,mdn-css_properties_backface-visibility,mdn-css_properties_transform-box,mdn-css_properties_transform-style,transforms2d,transforms3d)
41
+
42
+ If you want to support older browsers, you can use `legacy` mode.
43
+
44
+ ## Installation
45
+
46
+ Install the plugin using npm or your preferred package manager:
47
+
48
+ ```sh
49
+ # npm
50
+ npm install -D tailwindcss-3d-styles
51
+
52
+ # yarn
53
+ yarn add -D tailwindcss-3d-styles
54
+
55
+ # pnpm
56
+ pnpm add -D tailwindcss-3d-styles
57
+ ```
58
+
59
+ Then add the plugin to your `tailwind.config.js` file:
60
+
61
+ ```js
62
+ // tailwind.config.js
63
+ module.exports = {
64
+ theme: {
65
+ // ...
66
+ },
67
+ plugins: [
68
+ require('tailwindcss-3d-styles'),
69
+ // ...
70
+ ],
71
+ }
72
+ ```
73
+
74
+ Turn on `legacy` mode to support older browsers like this:
75
+
76
+ ```js
77
+ // tailwind.config.js
78
+ module.exports = {
79
+ theme: {
80
+ // ...
81
+ },
82
+ plugins: [
83
+ require('tailwindcss-3d-styles')({ legacy: true }),
84
+ // ...
85
+ ],
86
+ }
87
+ ```
88
+
89
+ All configuration of utility values is done via theme configuration in your
90
+ `tailwind.config.js` file.
91
+
92
+ Appropriate theme configuration points are indicated under each utility below.
93
+
94
+ Here is an example of extending the available rotation values to add a 30 degree
95
+ and a 60 degree rotation value on all axes:
96
+
97
+ ```js
98
+ // tailwind.config.js
99
+ module.exports = {
100
+ theme: {
101
+ extend: {
102
+ rotate: {
103
+ '30': '30deg',
104
+ '60': '60deg',
105
+ },
106
+ },
107
+ // ...
108
+ },
109
+ plugins: [
110
+ require('tailwindcss-3d-styles'),
111
+ // ...
112
+ ],
113
+ }
114
+ ```
115
+
116
+ For more information about extending your theme, see the relevant
117
+ [Tailwind documentation](https://tailwindcss.com/docs/theme#customizing-the-default-theme).
118
+
119
+ ## Usage
120
+
121
+ ### A note on coordinates
122
+
123
+ "y" axis values in the CSS coordinate system can be a bit confusing at first.
124
+ The origin of the coordinate system, where `x = 0, y = 0` in two-dimensional
125
+ space is the top-left of the browser window. From there, positive values of "x"
126
+ are to the right as expected, but positive values of "y" are in the downward
127
+ direction from that point. This is the opposite of common usage in other
128
+ contexts like maths and construction.
129
+
130
+ The effect of this is felt most when translating elements which are in the
131
+ middle of a page, and also in the case of this plugin when applying directions
132
+ to animations.
133
+
134
+ ### Utilities
135
+
136
+ #### scale
137
+
138
+ [Tailwind Play scale utility examples](https://play.tailwindcss.com/IzMFd64IOn)
139
+
140
+ | Class. | Properties |
141
+ | ----------- | --------------------- |
142
+ | scale-x-0 | scale: 0 … … |
143
+ | scale-y-0 | scale: … 0 … |
144
+ | scale-z-0 | scale: … … 0 |
145
+ | scale-0 | scale: 0 0 … |
146
+ | scale3d-0 | scale: 0 0 0 |
147
+ | scale-x-50 | scale: .5 … … |
148
+ | scale-y-50 | scale: … .5 … |
149
+ | scale-z-50 | scale: … … .5 |
150
+ | scale-50 | scale: .5 .5 … |
151
+ | scale3d-50 | scale: .5 .5 .5 |
152
+ | scale-x-75 | scale: .75 … … |
153
+ | scale-y-75 | scale: … .75 … |
154
+ | scale-z-75 | scale: … … .75 |
155
+ | scale-75 | scale: .75 .75 … |
156
+ | scale3d-75 | scale: .75 .75 .75 |
157
+ | scale-x-90 | scale: .9 … … |
158
+ | scale-y-90 | scale: … .9 … |
159
+ | scale-z-90 | scale: … … .9 |
160
+ | scale-90 | scale: .9 .9 … |
161
+ | scale3d-90 | scale: .9 .9 .9 |
162
+ | scale-x-95 | scale: .95 … … |
163
+ | scale-y-95 | scale: … .95 … |
164
+ | scale-z-95 | scale: … … .95 |
165
+ | scale-95 | scale: .95 .95 … |
166
+ | scale3d-95 | scale: .95 .95 .95 |
167
+ | scale-x-100 | scale: 1 … … |
168
+ | scale-y-100 | scale: … 1 … |
169
+ | scale-z-100 | scale: … … 1 |
170
+ | scale-100 | scale: 1 1 … |
171
+ | scale3d-100 | scale: 1 1 1 |
172
+ | scale-x-105 | scale: 1.05 … … |
173
+ | scale-y-105 | scale: … 1.05 … |
174
+ | scale-z-105 | scale: … … 1.05 |
175
+ | scale-105 | scale: 1.05 1.05 … |
176
+ | scale3d-105 | scale: 1.05 1.05 1.05 |
177
+ | scale-x-110 | scale: 1.1 … … |
178
+ | scale-y-110 | scale: … 1.1 … |
179
+ | scale-z-110 | scale: … … 1.1 |
180
+ | scale-110 | scale: 1.1 1.1 … |
181
+ | scale3d-110 | scale: 1.1 1.1 1.1 |
182
+ | scale-x-125 | scale: 1.25 … … |
183
+ | scale-y-125 | scale: … 1.25 … |
184
+ | scale-z-125 | scale: … … 1.25 |
185
+ | scale-125 | scale: 1.25 1.25 … |
186
+ | scale3d-125 | scale: 1.25 1.25 1.25 |
187
+ | scale-x-150 | scale: 1.5 … … |
188
+ | scale-y-150 | scale: … 1.5 … |
189
+ | scale-z-150 | scale: … … 1.5 |
190
+ | scale-150 | scale: 1.5 1.5 … |
191
+ | scale3d-150 | scale: 1.5 1.5 1.5 |
192
+
193
+ Inherits values from `theme.scale` in your config.
194
+
195
+ Scaling in one dimension:
196
+
197
+ ```html
198
+ <!-- scale on x-axis 50% -->
199
+ <div class="scale-x-50">
200
+
201
+ <!-- scale on y-axis 75% -->
202
+ <div class="scale-y-75">
203
+
204
+ <!-- scale on z-axis 110% -->
205
+ <div class="scale-z-110">
206
+ ```
207
+
208
+ You can mix scaling values together as well:
209
+
210
+ ```html
211
+ <!-- scale on y-axis 75% and z-axis 95% -->
212
+ <div class="scale-y-75 scale-z-95"></div>
213
+ ```
214
+
215
+ Arbitrary values:
216
+
217
+ ```html
218
+ <!-- scale on y-axis 30% -->
219
+ <div class="scale-y-[0.3]"></div>
220
+
221
+ ```
222
+
223
+ Scale on both x and y-axis in proportion:
224
+
225
+ ```html
226
+ <!-- scale on x-axis and y-axis 50% -->
227
+ <div class="scale-50">
228
+ ```
229
+
230
+ Scale all three dimensions in proportion:
231
+
232
+ ```html
233
+ <!-- scale on x-axis, y-axis and z-axis 150% -->
234
+ <div class="scale3d-150">
235
+ ```
236
+
237
+ #### rotate
238
+
239
+ [Tailwind Play rotate utility examples](https://play.tailwindcss.com/m1NO5HFfGx)
240
+
241
+ | Class | Properties |
242
+ | ------------ | --------------------------- |
243
+ | rotate-x-0 | transform: rotateX(0deg); |
244
+ | rotate-y-0 | transform: rotateY(0deg); |
245
+ | rotate-z-0 | rotate: 0deg; |
246
+ | rotate-0 | rotate: 0deg; |
247
+ | rotate-x-1 | transform: rotateX(1deg); |
248
+ | rotate-y-1 | transform: rotateY(1deg); |
249
+ | rotate-z-1 | rotate: 1deg; |
250
+ | rotate-1 | rotate: 1deg; |
251
+ | rotate-x-2 | transform: rotateX(2deg); |
252
+ | rotate-y-2 | transform: rotateY(2deg); |
253
+ | rotate-z-2 | rotate: 2deg; |
254
+ | rotate-2 | rotate: 2deg; |
255
+ | rotate-x-3 | transform: rotateX(3deg); |
256
+ | rotate-y-3 | transform: rotateY(3deg); |
257
+ | rotate-z-3 | rotate: 3deg; |
258
+ | rotate-3 | rotate: 3deg; |
259
+ | rotate-x-6 | transform: rotateX(6deg); |
260
+ | rotate-y-6 | transform: rotateY(6deg); |
261
+ | rotate-z-6 | rotate: 6deg; |
262
+ | rotate-6 | rotate: 6deg; |
263
+ | rotate-x-12 | transform: rotateX(12deg); |
264
+ | rotate-y-12 | transform: rotateY(12deg); |
265
+ | rotate-z-12 | rotate: 12deg; |
266
+ | rotate-12 | rotate: 12deg; |
267
+ | rotate-x-45 | transform: rotateX(45deg); |
268
+ | rotate-y-45 | transform: rotateY(45deg); |
269
+ | rotate-z-45 | rotate: 45deg; |
270
+ | rotate-45 | rotate: 45deg; |
271
+ | rotate-x-90 | transform: rotateX(90deg); |
272
+ | rotate-y-90 | transform: rotateY(90deg); |
273
+ | rotate-z-90 | rotate: 90deg; |
274
+ | rotate-90 | rotate: 90deg; |
275
+ | rotate-x-180 | transform: rotateX(180deg); |
276
+ | rotate-y-180 | transform: rotateY(180deg); |
277
+ | rotate-z-180 | rotate: 180deg; |
278
+ | rotate-180 | rotate: 180deg; |
279
+
280
+ Inherits values from `theme.rotate` in your config.
281
+
282
+ Rotating around x-axis and y-axis:
283
+
284
+ ```html
285
+ <!-- rotate along x-axis 45 degrees -->
286
+ <div class="rotate-x-45"></div>
287
+
288
+ <!-- rotate along y-axis 12 degrees -->
289
+ <div class="rotate-y-12"></div>
290
+ ```
291
+
292
+ Z-axis rotation is still the default, so the following are equivalent to each
293
+ other:
294
+
295
+ ```html
296
+ <!-- rotate along z-axis 45 degrees -->
297
+ <div class="rotate-45"></div>
298
+
299
+ <!-- rotate along z-axis 45 degrees -->
300
+ <div class="rotate-z-45"></div>
301
+ ```
302
+
303
+ Arbitrary values:
304
+
305
+ ```html
306
+ <!-- rotate along y-axis 30 degrees -->
307
+ <div class="rotate-y-[30deg]"></div>
308
+ ```
309
+
310
+ You can mix rotation values together as well:
311
+
312
+ ```html
313
+ <!-- rotate along y-axis 12 degrees and z-axis 45 degrees -->
314
+ <div class="rotate-y-12 rotate-z-45"></div>
315
+ ```
316
+
317
+ #### translate
318
+
319
+ [Tailwind Play translate utility examples](https://play.tailwindcss.com/5O5nybIKRJ)
320
+
321
+ | Class | Properties |
322
+ | ---------------- | -------------------------- |
323
+ | translate-x-0 | translate: 0px … …; |
324
+ | translate-y-0 | translate: … 0px …; |
325
+ | translate-z-0 | translate: … … 0px; |
326
+ | translate-x-px | translate: 1px … …; |
327
+ | translate-y-px | translate: … 1px …; |
328
+ | translate-z-px | translate: … … 1px; |
329
+ | translate-x-0.5 | translate: 0.125rem … …; |
330
+ | translate-y-0.5 | translate: … 0.125rem …; |
331
+ | translate-z-0.5 | translate: … … 0.125rem; |
332
+ | translate-x-1 | translate: 0.25rem … …; |
333
+ | translate-y-1 | translate: … 0.25rem …; |
334
+ | translate-z-1 | translate: … … 0.25rem; |
335
+ | translate-x-1.5 | translate: 0.375rem … …; |
336
+ | translate-y-1.5 | translate: … 0.375rem …; |
337
+ | translate-z-1.5 | translate: … … 0.375rem; |
338
+ | translate-x-2 | translate: 0.5rem … …; |
339
+ | translate-y-2 | translate: … 0.5rem …; |
340
+ | translate-z-2 | translate: … … 0.5rem; |
341
+ | translate-x-2.5 | translate: 0.625rem … …; |
342
+ | translate-y-2.5 | translate: … 0.625rem …; |
343
+ | translate-z-2.5 | translate: … … 0.625rem; |
344
+ | translate-x-3 | translate: 0.75rem … …; |
345
+ | translate-y-3 | translate: … 0.75rem …; |
346
+ | translate-z-3 | translate: … … 0.75rem; |
347
+ | translate-x-3.5 | translate: 0.875rem … …; |
348
+ | translate-y-3.5 | translate: … 0.875rem …; |
349
+ | translate-z-3.5 | translate: … … 0.875rem; |
350
+ | translate-x-4 | translate: 1rem … …; |
351
+ | translate-y-4 | translate: … 1rem …; |
352
+ | translate-z-4 | translate: … … 1rem; |
353
+ | translate-x-5 | translate: 1.25rem … …; |
354
+ | translate-y-5 | translate: … 1.25rem …; |
355
+ | translate-z-5 | translate: … … 1.25rem; |
356
+ | translate-x-6 | translate: 1.5rem … …; |
357
+ | translate-y-6 | translate: … 1.5rem …; |
358
+ | translate-z-6 | translate: … … 1.5rem; |
359
+ | translate-x-7 | translate: 1.75rem … …; |
360
+ | translate-y-7 | translate: … 1.75rem …; |
361
+ | translate-z-7 | translate: … … 1.75rem; |
362
+ | translate-x-8 | translate: 2rem … …; |
363
+ | translate-y-8 | translate: … 2rem …; |
364
+ | translate-z-8 | translate: … … 2rem; |
365
+ | translate-x-9 | translate: 2.25rem … …; |
366
+ | translate-y-9 | translate: … 2.25rem …; |
367
+ | translate-z-9 | translate: … … 2.25rem; |
368
+ | translate-x-10 | translate: 2.5rem … …; |
369
+ | translate-y-10 | translate: … 2.5rem …; |
370
+ | translate-z-10 | translate: … … 2.5rem; |
371
+ | translate-x-11 | translate: 2.75rem … …; |
372
+ | translate-y-11 | translate: … 2.75rem …; |
373
+ | translate-z-11 | translate: … … 2.75rem; |
374
+ | translate-x-12 | translate: 3rem … …; |
375
+ | translate-y-12 | translate: … 3rem …; |
376
+ | translate-z-12 | translate: … … 3rem; |
377
+ | translate-x-14 | translate: 3.5rem … …; |
378
+ | translate-y-14 | translate: … 3.5rem …; |
379
+ | translate-z-14 | translate: … … 3.5rem; |
380
+ | translate-x-16 | translate: 4rem … …; |
381
+ | translate-y-16 | translate: … 4rem …; |
382
+ | translate-z-16 | translate: … … 4rem; |
383
+ | translate-x-20 | translate: 5rem … …; |
384
+ | translate-y-20 | translate: … 5rem …; |
385
+ | translate-z-20 | translate: … … 5rem; |
386
+ | translate-x-24 | translate: 6rem … …; |
387
+ | translate-y-24 | translate: … 6rem …; |
388
+ | translate-z-24 | translate: … … 6rem; |
389
+ | translate-x-28 | translate: 7rem … …; |
390
+ | translate-y-28 | translate: … 7rem …; |
391
+ | translate-z-28 | translate: … … 7rem; |
392
+ | translate-x-32 | translate: 8rem … …; |
393
+ | translate-y-32 | translate: … 8rem …; |
394
+ | translate-z-32 | translate: … … 8rem; |
395
+ | translate-x-36 | translate: 9rem … …; |
396
+ | translate-y-36 | translate: … 9rem …; |
397
+ | translate-z-36 | translate: … … 9rem; |
398
+ | translate-x-40 | translate: 10rem … …; |
399
+ | translate-y-40 | translate: … 10rem …; |
400
+ | translate-z-40 | translate: … … 10rem; |
401
+ | translate-x-44 | translate: 11rem … …; |
402
+ | translate-y-44 | translate: … 11rem …; |
403
+ | translate-z-44 | translate: … … 11rem; |
404
+ | translate-x-48 | translate: 12rem … …; |
405
+ | translate-y-48 | translate: … 12rem …; |
406
+ | translate-z-48 | translate: … … 12rem; |
407
+ | translate-x-52 | translate: 13rem … …; |
408
+ | translate-y-52 | translate: … 13rem …; |
409
+ | translate-z-52 | translate: … … 13rem; |
410
+ | translate-x-56 | translate: 14rem … …; |
411
+ | translate-y-56 | translate: … 14rem …; |
412
+ | translate-z-56 | translate: … … 14rem; |
413
+ | translate-x-60 | translate: 15rem … …; |
414
+ | translate-y-60 | translate: … 15rem …; |
415
+ | translate-z-60 | translate: … … 15rem; |
416
+ | translate-x-64 | translate: 16rem … …; |
417
+ | translate-y-64 | translate: … 16rem …; |
418
+ | translate-z-64 | translate: … … 16rem; |
419
+ | translate-x-72 | translate: 18rem … …; |
420
+ | translate-y-72 | translate: … 18rem …; |
421
+ | translate-z-72 | translate: … … 18rem; |
422
+ | translate-x-80 | translate: 20rem … …; |
423
+ | translate-y-80 | translate: … 20rem …; |
424
+ | translate-z-80 | translate: … … 20rem; |
425
+ | translate-x-96 | translate: 24rem … …; |
426
+ | translate-y-96 | translate: … 24rem …; |
427
+ | translate-z-96 | translate: … … 24rem; |
428
+ | translate-x-1/2 | translate: 50% … …; |
429
+ | translate-y-1/2 | translate: … 50% …; |
430
+ | translate-x-1/3 | translate: 33.333333% … …; |
431
+ | translate-y-1/3 | translate: … 33.333333% …; |
432
+ | translate-x-2/3 | translate: 66.666667% … …; |
433
+ | translate-y-2/3 | translate: … 66.666667% …; |
434
+ | translate-x-1/4 | translate: 25% … …; |
435
+ | translate-y-1/4 | translate: … 25% …; |
436
+ | translate-x-2/4 | translate: 50% … …; |
437
+ | translate-y-2/4 | translate: … 50% …; |
438
+ | translate-x-3/4 | translate: 75% … …; |
439
+ | translate-y-3/4 | translate: … 75% …; |
440
+ | translate-x-full | translate: 100% … …; |
441
+ | translate-y-full | translate: … 100% …; |
442
+
443
+ Inherits values from `theme.translate` in your config.
444
+
445
+ Note that translation on the z-axis can not use percentage values.
446
+
447
+ #### skew
448
+
449
+ | Class | Properties |
450
+ | --------- | ------------------------ |
451
+ | skew-x-0 | transform: skewX(0deg); |
452
+ | skew-y-0 | transform: skewY(0deg); |
453
+ | skew-x-1 | transform: skewX(1deg); |
454
+ | skew-y-1 | transform: skewY(1deg); |
455
+ | skew-x-2 | transform: skewX(2deg); |
456
+ | skew-y-2 | transform: skewY(2deg); |
457
+ | skew-x-3 | transform: skewX(3deg); |
458
+ | skew-y-3 | transform: skewY(3deg); |
459
+ | skew-x-6 | transform: skewX(6deg); |
460
+ | skew-y-6 | transform: skewY(6deg); |
461
+ | skew-x-12 | transform: skewX(12deg); |
462
+ | skew-y-12 | transform: skewY(12deg); |
463
+
464
+ Inherits values from `theme.skew` in your config.
465
+
466
+ #### perspective
467
+
468
+ | Class | Properties |
469
+ | ---------------- | -------------------- |
470
+ | perspective-none | perspective: none; |
471
+ | perspective-250 | perspective: 250px; |
472
+ | perspective-500 | perspective: 500px; |
473
+ | perspective-750 | perspective: 750px; |
474
+ | perspective-1000 | perspective: 1000px; |
475
+
476
+ Inherits values from `theme.perspective` in your config.
477
+
478
+ #### perspective-origin
479
+
480
+ | Class | Properties |
481
+ | ------------------------------- | --------------------------------- |
482
+ | perspective-origin-center | perspective-origin: center; |
483
+ | perspective-origin-top | perspective-origin: top; |
484
+ | perspective-origin-top-right | perspective-origin: top right; |
485
+ | perspective-origin-right | perspective-origin: right; |
486
+ | perspective-origin-bottom-right | perspective-origin: bottom right; |
487
+ | perspective-origin-bottom | perspective-origin: bottom; |
488
+ | perspective-origin-bottom-left | perspective-origin: bottom left; |
489
+ | perspective-origin-left | perspective-origin: left; |
490
+ | perspective-origin-top-left | perspective-origin: top left; |
491
+
492
+ Inherits values from `theme.perspectiveOrigin` in your config.
493
+
494
+ #### backface
495
+
496
+ | Class | Properties |
497
+ | ---------------- | ----------------------------- |
498
+ | backface-visible | backface-visibility: visible; |
499
+ | backface-hidden | backface-visibility: hidden; |
500
+
501
+ Inherits values from `theme.backface` in your config.
502
+
503
+ #### transform-box
504
+
505
+ | Class | Properties |
506
+ | --------------------- | -------------------------- |
507
+ | transform-box-content | transform-box: content-box |
508
+ | transform-box-border | transform-box: border-box |
509
+ | transform-box-fill | transform-box: fill-box |
510
+ | transform-box-stroke | transform-box: stroke-box |
511
+ | transform-box-view | transform-box: view-box |
512
+
513
+ Inherits values from `theme.transformBox` in your config.
514
+
515
+ #### transform-style
516
+
517
+ | Class | Properties |
518
+ | -------------------- | ---------------------------- |
519
+ | transform-style-flat | transform-style: flat |
520
+ | transform-style-3d | transform-style: preserve-3d |
521
+
522
+ Inherits values from `theme.transformStyle` in your config.
523
+
524
+ ### Animations
525
+
526
+ [Tailwind Play animation examples](https://play.tailwindcss.com/3eRYxPuBZX)
527
+
528
+ Available animations:
529
+
530
+ * bounce (x, y, z)
531
+ * spin (x, y, z)
532
+ * bounce-and-spin (x, y, z)
533
+
534
+ An example:
535
+
536
+ ```html
537
+ <!-- spin around the y-axis at a medium rate -->
538
+ <div class="animate-spin-y-5"></div>
539
+ ```
540
+
541
+ Note that you may see unexpected results on the y-axis as this plugin treats
542
+ "up" as a negative value. You can use negative animations (prepending a `-` to
543
+ the start of a class) to change the direction of travel:
544
+
545
+ ```html
546
+ <!-- bounce upwards at a medium rate and height on the y-axis -->
547
+ <div class="-animate-bounce-y-5"></div>
548
+ ```
549
+
550
+ ## Configuration
551
+
552
+ Default modifiers and values for utilities and animations can be changed in your
553
+ `tailwind.config.js` file by extending the relevant theme defaults.
554
+
555
+ ## Development
556
+
557
+ Requirements:
558
+
559
+ * NodeJS 18+
560
+ * PNPM 7+
561
+
562
+ ### Build the plugin
563
+
564
+ After cloning the repository, to compile a build:
565
+
566
+ ```sh
567
+ pnpm build
568
+ pnpm build:types
569
+ ```
570
+
571
+ This will create a compiled version of the plugin in the `./dist` directory.
572
+
573
+ To have the build automatically compiled, run:
574
+
575
+ ```sh
576
+ pnpm dev
577
+ ```
578
+
579
+ This also compiles both code and types to `./dist`.
580
+
581
+ ### Testing and linting
582
+
583
+ ```sh
584
+ pnpm lint
585
+ pnpm test
586
+ ```
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Base", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Base;
9
+ }
10
+ });
11
+ var _class_call_check = require("@swc/helpers/_/_class_call_check");
12
+ var _define_property = require("@swc/helpers/_/_define_property");
13
+ var _ensure = require("../utils/ensure");
14
+ var Base = function Base(legacy) {
15
+ "use strict";
16
+ _class_call_check._(this, Base);
17
+ _define_property._(this, "legacy", false);
18
+ this.legacy = (0, _ensure.ensureBoolean)(legacy, false);
19
+ };