@tenerife.music/ui 1.2.0 → 2.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.
package/dist/preset.mjs CHANGED
@@ -124,7 +124,7 @@ var tailwindThemeColors = {
124
124
  };
125
125
 
126
126
  // src/FOUNDATION/tokens/motion/v2.ts
127
- var motionV2Durations = {
127
+ var motionDurations = {
128
128
  fast: "150ms",
129
129
  // Quick interactions
130
130
  normal: "250ms",
@@ -134,7 +134,7 @@ var motionV2Durations = {
134
134
  reduced: "0ms"
135
135
  // For prefers-reduced-motion
136
136
  };
137
- var motionV2Easings = {
137
+ var motionEasings = {
138
138
  soft: "cubic-bezier(0.22, 1, 0.36, 1)",
139
139
  // Gentle, smooth
140
140
  standard: "cubic-bezier(0.4, 0, 0.2, 1)",
@@ -142,366 +142,166 @@ var motionV2Easings = {
142
142
  emphasized: "cubic-bezier(0.2, 0, 0, 1)"
143
143
  // Strong, decisive
144
144
  };
145
- var motionV2Fade = {
145
+ var motionFade = {
146
146
  in: {
147
- from: { opacity: 0 },
148
- to: { opacity: 1 }
147
+ from: { opacity: "0" },
148
+ to: { opacity: "1" }
149
149
  },
150
150
  out: {
151
- from: { opacity: 1 },
152
- to: { opacity: 0 }
151
+ from: { opacity: "1" },
152
+ to: { opacity: "0" }
153
153
  }
154
154
  };
155
- var motionV2Scale = {
155
+ var motionScale = {
156
156
  in: {
157
- from: { transform: "scale(0.95)", opacity: 0 },
158
- to: { transform: "scale(1)", opacity: 1 }
157
+ from: { transform: "scale(0.95)", opacity: "0" },
158
+ to: { transform: "scale(1)", opacity: "1" }
159
159
  },
160
160
  out: {
161
- from: { transform: "scale(1)", opacity: 1 },
162
- to: { transform: "scale(0.95)", opacity: 0 }
161
+ from: { transform: "scale(1)", opacity: "1" },
162
+ to: { transform: "scale(0.95)", opacity: "0" }
163
163
  }
164
164
  };
165
- var motionV2Slide = {
165
+ var motionSlide = {
166
166
  up: {
167
167
  in: {
168
- from: { transform: "translateY(100%)", opacity: 0 },
169
- to: { transform: "translateY(0)", opacity: 1 }
168
+ from: { transform: "translateY(100%)", opacity: "0" },
169
+ to: { transform: "translateY(0)", opacity: "1" }
170
170
  },
171
171
  out: {
172
- from: { transform: "translateY(0)", opacity: 1 },
173
- to: { transform: "translateY(100%)", opacity: 0 }
172
+ from: { transform: "translateY(0)", opacity: "1" },
173
+ to: { transform: "translateY(100%)", opacity: "0" }
174
174
  }
175
175
  },
176
176
  down: {
177
177
  in: {
178
- from: { transform: "translateY(-100%)", opacity: 0 },
179
- to: { transform: "translateY(0)", opacity: 1 }
178
+ from: { transform: "translateY(-100%)", opacity: "0" },
179
+ to: { transform: "translateY(0)", opacity: "1" }
180
180
  },
181
181
  out: {
182
- from: { transform: "translateY(0)", opacity: 1 },
183
- to: { transform: "translateY(-100%)", opacity: 0 }
182
+ from: { transform: "translateY(0)", opacity: "1" },
183
+ to: { transform: "translateY(-100%)", opacity: "0" }
184
184
  }
185
185
  },
186
186
  left: {
187
187
  in: {
188
- from: { transform: "translateX(100%)", opacity: 0 },
189
- to: { transform: "translateX(0)", opacity: 1 }
188
+ from: { transform: "translateX(100%)", opacity: "0" },
189
+ to: { transform: "translateX(0)", opacity: "1" }
190
190
  },
191
191
  out: {
192
- from: { transform: "translateX(0)", opacity: 1 },
193
- to: { transform: "translateX(100%)", opacity: 0 }
192
+ from: { transform: "translateX(0)", opacity: "1" },
193
+ to: { transform: "translateX(100%)", opacity: "0" }
194
194
  }
195
195
  },
196
196
  right: {
197
197
  in: {
198
- from: { transform: "translateX(-100%)", opacity: 0 },
199
- to: { transform: "translateX(0)", opacity: 1 }
198
+ from: { transform: "translateX(-100%)", opacity: "0" },
199
+ to: { transform: "translateX(0)", opacity: "1" }
200
200
  },
201
201
  out: {
202
- from: { transform: "translateX(0)", opacity: 1 },
203
- to: { transform: "translateX(-100%)", opacity: 0 }
202
+ from: { transform: "translateX(0)", opacity: "1" },
203
+ to: { transform: "translateX(-100%)", opacity: "0" }
204
204
  }
205
205
  }
206
206
  };
207
- var motionV2Combined = {
207
+ var motionCombined = {
208
208
  fadeScale: {
209
209
  in: {
210
- from: { transform: "scale(0.95)", opacity: 0 },
211
- to: { transform: "scale(1)", opacity: 1 }
210
+ from: { transform: "scale(0.95)", opacity: "0" },
211
+ to: { transform: "scale(1)", opacity: "1" }
212
212
  },
213
213
  out: {
214
- from: { transform: "scale(1)", opacity: 1 },
215
- to: { transform: "scale(0.95)", opacity: 0 }
214
+ from: { transform: "scale(1)", opacity: "1" },
215
+ to: { transform: "scale(0.95)", opacity: "0" }
216
216
  }
217
217
  },
218
218
  fadeSlideUp: {
219
219
  in: {
220
- from: { transform: "translateY(100%)", opacity: 0 },
221
- to: { transform: "translateY(0)", opacity: 1 }
220
+ from: { transform: "translateY(100%)", opacity: "0" },
221
+ to: { transform: "translateY(0)", opacity: "1" }
222
222
  },
223
223
  out: {
224
- from: { transform: "translateY(0)", opacity: 1 },
225
- to: { transform: "translateY(100%)", opacity: 0 }
224
+ from: { transform: "translateY(0)", opacity: "1" },
225
+ to: { transform: "translateY(100%)", opacity: "0" }
226
226
  }
227
227
  },
228
228
  fadeSlideDown: {
229
229
  in: {
230
- from: { transform: "translateY(-100%)", opacity: 0 },
231
- to: { transform: "translateY(0)", opacity: 1 }
230
+ from: { transform: "translateY(-100%)", opacity: "0" },
231
+ to: { transform: "translateY(0)", opacity: "1" }
232
232
  },
233
233
  out: {
234
- from: { transform: "translateY(0)", opacity: 1 },
235
- to: { transform: "translateY(-100%)", opacity: 0 }
234
+ from: { transform: "translateY(0)", opacity: "1" },
235
+ to: { transform: "translateY(-100%)", opacity: "0" }
236
236
  }
237
237
  },
238
238
  fadeSlideLeft: {
239
239
  in: {
240
- from: { transform: "translateX(100%)", opacity: 0 },
241
- to: { transform: "translateX(0)", opacity: 1 }
240
+ from: { transform: "translateX(100%)", opacity: "0" },
241
+ to: { transform: "translateX(0)", opacity: "1" }
242
242
  },
243
243
  out: {
244
- from: { transform: "translateX(0)", opacity: 1 },
245
- to: { transform: "translateX(100%)", opacity: 0 }
244
+ from: { transform: "translateX(0)", opacity: "1" },
245
+ to: { transform: "translateX(100%)", opacity: "0" }
246
246
  }
247
247
  },
248
248
  fadeSlideRight: {
249
249
  in: {
250
- from: { transform: "translateX(-100%)", opacity: 0 },
251
- to: { transform: "translateX(0)", opacity: 1 }
250
+ from: { transform: "translateX(-100%)", opacity: "0" },
251
+ to: { transform: "translateX(0)", opacity: "1" }
252
252
  },
253
253
  out: {
254
- from: { transform: "translateX(0)", opacity: 1 },
255
- to: { transform: "translateX(-100%)", opacity: 0 }
254
+ from: { transform: "translateX(0)", opacity: "1" },
255
+ to: { transform: "translateX(-100%)", opacity: "0" }
256
256
  }
257
257
  }
258
258
  };
259
- var motionV2TailwindConfig = {
259
+ var motionTransitionProperty = {
260
+ DEFAULT: "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
261
+ colors: "color, background-color, border-color, text-decoration-color, fill, stroke",
262
+ opacity: "opacity",
263
+ shadow: "box-shadow",
264
+ transform: "transform",
265
+ all: "all",
266
+ none: "none"
267
+ };
268
+ var motionTailwindConfig = {
260
269
  transitionDuration: {
261
- ...motionV2Durations
270
+ ...motionDurations
262
271
  },
263
272
  transitionTimingFunction: {
264
- ...motionV2Easings
273
+ ...motionEasings
274
+ },
275
+ transitionProperty: {
276
+ ...motionTransitionProperty
265
277
  },
266
278
  keyframes: {
267
279
  // Fade
268
- "fade-in": motionV2Fade.in,
269
- "fade-out": motionV2Fade.out,
280
+ "fade-in": motionFade.in,
281
+ "fade-out": motionFade.out,
270
282
  // Scale
271
- "scale-in": motionV2Scale.in,
272
- "scale-out": motionV2Scale.out,
283
+ "scale-in": motionScale.in,
284
+ "scale-out": motionScale.out,
273
285
  // Slide
274
- "slide-up-in": motionV2Slide.up.in,
275
- "slide-up-out": motionV2Slide.up.out,
276
- "slide-down-in": motionV2Slide.down.in,
277
- "slide-down-out": motionV2Slide.down.out,
278
- "slide-left-in": motionV2Slide.left.in,
279
- "slide-left-out": motionV2Slide.left.out,
280
- "slide-right-in": motionV2Slide.right.in,
281
- "slide-right-out": motionV2Slide.right.out,
286
+ "slide-up-in": motionSlide.up.in,
287
+ "slide-up-out": motionSlide.up.out,
288
+ "slide-down-in": motionSlide.down.in,
289
+ "slide-down-out": motionSlide.down.out,
290
+ "slide-left-in": motionSlide.left.in,
291
+ "slide-left-out": motionSlide.left.out,
292
+ "slide-right-in": motionSlide.right.in,
293
+ "slide-right-out": motionSlide.right.out,
282
294
  // Combined
283
- "fade-scale-in": motionV2Combined.fadeScale.in,
284
- "fade-scale-out": motionV2Combined.fadeScale.out,
285
- "fade-slide-up-in": motionV2Combined.fadeSlideUp.in,
286
- "fade-slide-up-out": motionV2Combined.fadeSlideUp.out,
287
- "fade-slide-down-in": motionV2Combined.fadeSlideDown.in,
288
- "fade-slide-down-out": motionV2Combined.fadeSlideDown.out,
289
- "fade-slide-left-in": motionV2Combined.fadeSlideLeft.in,
290
- "fade-slide-left-out": motionV2Combined.fadeSlideLeft.out,
291
- "fade-slide-right-in": motionV2Combined.fadeSlideRight.in,
292
- "fade-slide-right-out": motionV2Combined.fadeSlideRight.out
293
- }
294
- };
295
-
296
- // src/FOUNDATION/tokens/motion.ts
297
- var durations = {
298
- instant: "0ms",
299
- fast: "150ms",
300
- // 1.5 × base (quick interactions)
301
- normal: "300ms",
302
- // 3 × base (default)
303
- slow: "500ms",
304
- // 5 × base (emphasized)
305
- slower: "700ms",
306
- // 7 × base (very emphasized)
307
- slowest: "1000ms",
308
- // 10 × base (maximum emphasis)
309
- // Additional granular durations
310
- "75": "75ms",
311
- // Ultra-fast
312
- "100": "100ms",
313
- // Base unit
314
- "200": "200ms",
315
- // Fast-normal
316
- "250": "250ms",
317
- // Between fast and normal
318
- "400": "400ms",
319
- // Between normal and slow
320
- "600": "600ms",
321
- // Between slow and slower
322
- "800": "800ms"
323
- // Between slower and slowest
324
- };
325
- var easings = {
326
- // Linear (no easing)
327
- linear: "linear",
328
- // Ease-in (accelerate) - cubic-bezier
329
- "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
330
- // Ease-out (decelerate) - recommended for most UI - cubic-bezier
331
- "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
332
- // Ease-in-out (accelerate and decelerate)
333
- "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
334
- // Standard easing functions
335
- ease: "ease",
336
- // Advanced easing functions
337
- bounce: "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
338
- elastic: "cubic-bezier(0.175, 0.885, 0.32, 1.275)",
339
- // Material Design easing
340
- "ease-out-cubic": "cubic-bezier(0.215, 0.61, 0.355, 1)",
341
- "ease-in-cubic": "cubic-bezier(0.55, 0.055, 0.675, 0.19)",
342
- "ease-in-out-cubic": "cubic-bezier(0.645, 0.045, 0.355, 1)"
343
- };
344
- var keyframes = {
345
- // Fade animations
346
- fadeIn: {
347
- from: { opacity: "0" },
348
- to: { opacity: "1" }
349
- },
350
- fadeOut: {
351
- from: { opacity: "1" },
352
- to: { opacity: "0" }
353
- },
354
- // Slide animations
355
- slideInUp: {
356
- from: { transform: "translateY(100%)", opacity: "0" },
357
- to: { transform: "translateY(0)", opacity: "1" }
358
- },
359
- slideInDown: {
360
- from: { transform: "translateY(-100%)", opacity: "0" },
361
- to: { transform: "translateY(0)", opacity: "1" }
362
- },
363
- slideInLeft: {
364
- from: { transform: "translateX(-100%)", opacity: "0" },
365
- to: { transform: "translateX(0)", opacity: "1" }
366
- },
367
- slideInRight: {
368
- from: { transform: "translateX(100%)", opacity: "0" },
369
- to: { transform: "translateX(0)", opacity: "1" }
370
- },
371
- slideOutUp: {
372
- from: { transform: "translateY(0)", opacity: "1" },
373
- to: { transform: "translateY(-100%)", opacity: "0" }
374
- },
375
- slideOutDown: {
376
- from: { transform: "translateY(0)", opacity: "1" },
377
- to: { transform: "translateY(100%)", opacity: "0" }
378
- },
379
- slideOutLeft: {
380
- from: { transform: "translateX(0)", opacity: "1" },
381
- to: { transform: "translateX(-100%)", opacity: "0" }
382
- },
383
- slideOutRight: {
384
- from: { transform: "translateX(0)", opacity: "1" },
385
- to: { transform: "translateX(100%)", opacity: "0" }
386
- },
387
- // Scale animations
388
- scaleIn: {
389
- from: { transform: "scale(0.95)", opacity: "0" },
390
- to: { transform: "scale(1)", opacity: "1" }
391
- },
392
- scaleOut: {
393
- from: { transform: "scale(1)", opacity: "1" },
394
- to: { transform: "scale(0.95)", opacity: "0" }
395
- },
396
- scaleUp: {
397
- from: { transform: "scale(1)" },
398
- to: { transform: "scale(1.05)" }
399
- },
400
- scaleDown: {
401
- from: { transform: "scale(1.05)" },
402
- to: { transform: "scale(1)" }
403
- },
404
- // Rotation animations
405
- spin: {
406
- from: { transform: "rotate(0deg)" },
407
- to: { transform: "rotate(360deg)" }
408
- },
409
- spinReverse: {
410
- from: { transform: "rotate(360deg)" },
411
- to: { transform: "rotate(0deg)" }
412
- },
413
- // Pulse and bounce
414
- pulse: {
415
- "0%, 100%": { opacity: "1" },
416
- "50%": { opacity: "0.5" }
417
- },
418
- bounce: {
419
- "0%, 100%": {
420
- transform: "translateY(-25%)",
421
- animationTimingFunction: "cubic-bezier(0.8, 0, 1, 1)"
422
- },
423
- "50%": {
424
- transform: "translateY(0)",
425
- animationTimingFunction: "cubic-bezier(0, 0, 0.2, 1)"
426
- }
427
- },
428
- // Shake animation
429
- shake: {
430
- "0%, 100%": { transform: "translateX(0)" },
431
- "10%, 30%, 50%, 70%, 90%": { transform: "translateX(-4px)" },
432
- "20%, 40%, 60%, 80%": { transform: "translateX(4px)" }
433
- },
434
- // Ping animation
435
- ping: {
436
- "75%, 100%": {
437
- transform: "scale(2)",
438
- opacity: "0"
439
- }
440
- },
441
- // Accordion animations (for Radix UI)
442
- "accordion-down": {
443
- from: { height: "0" },
444
- to: { height: "var(--radix-accordion-content-height)" }
445
- },
446
- "accordion-up": {
447
- from: { height: "var(--radix-accordion-content-height)" },
448
- to: { height: "0" }
449
- }
450
- };
451
- var animations = {
452
- // Fade animations
453
- fadeIn: `fadeIn ${durations.normal} ${easings["ease-out"]}`,
454
- fadeOut: `fadeOut ${durations.fast} ${easings["ease-in"]}`,
455
- // Slide animations
456
- slideInUp: `slideInUp ${durations.normal} ${easings["ease-out"]}`,
457
- slideInDown: `slideInDown ${durations.normal} ${easings["ease-out"]}`,
458
- slideInLeft: `slideInLeft ${durations.normal} ${easings["ease-out"]}`,
459
- slideInRight: `slideInRight ${durations.normal} ${easings["ease-out"]}`,
460
- slideOutUp: `slideOutUp ${durations.fast} ${easings["ease-in"]}`,
461
- slideOutDown: `slideOutDown ${durations.fast} ${easings["ease-in"]}`,
462
- slideOutLeft: `slideOutLeft ${durations.fast} ${easings["ease-in"]}`,
463
- slideOutRight: `slideOutRight ${durations.fast} ${easings["ease-in"]}`,
464
- // Scale animations
465
- scaleIn: `scaleIn ${durations.normal} ${easings["ease-out"]}`,
466
- scaleOut: `scaleOut ${durations.fast} ${easings["ease-in"]}`,
467
- // Continuous animations
468
- spin: `spin 1s ${easings.linear} infinite`,
469
- pulse: `pulse 2s ${easings["ease-in-out"]} infinite`,
470
- bounce: `bounce 1s ${easings.linear} infinite`,
471
- ping: `ping 1s ${easings["ease-out"]} cubic-bezier(0, 0, 0.2, 1) infinite`,
472
- shake: `shake 0.5s ${easings["ease-in-out"]}`,
473
- // Accordion animations
474
- "accordion-down": `accordion-down ${durations.normal} ${easings["ease-out"]}`,
475
- "accordion-up": `accordion-up ${durations.normal} ${easings["ease-out"]}`
476
- };
477
- var tailwindMotionConfig = {
478
- transitionDuration: {
479
- ...durations
480
- },
481
- transitionTimingFunction: {
482
- ...easings
483
- },
484
- transitionProperty: {
485
- DEFAULT: "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
486
- colors: "color, background-color, border-color, text-decoration-color, fill, stroke",
487
- opacity: "opacity",
488
- shadow: "box-shadow",
489
- transform: "transform",
490
- all: "all",
491
- none: "none"
492
- },
493
- keyframes: {
494
- ...keyframes
495
- },
496
- animation: {
497
- ...animations,
498
- // Additional animation utilities
499
- none: "none",
500
- spin: animations.spin,
501
- pulse: animations.pulse,
502
- bounce: animations.bounce,
503
- ping: animations.ping,
504
- shake: animations.shake
295
+ "fade-scale-in": motionCombined.fadeScale.in,
296
+ "fade-scale-out": motionCombined.fadeScale.out,
297
+ "fade-slide-up-in": motionCombined.fadeSlideUp.in,
298
+ "fade-slide-up-out": motionCombined.fadeSlideUp.out,
299
+ "fade-slide-down-in": motionCombined.fadeSlideDown.in,
300
+ "fade-slide-down-out": motionCombined.fadeSlideDown.out,
301
+ "fade-slide-left-in": motionCombined.fadeSlideLeft.in,
302
+ "fade-slide-left-out": motionCombined.fadeSlideLeft.out,
303
+ "fade-slide-right-in": motionCombined.fadeSlideRight.in,
304
+ "fade-slide-right-out": motionCombined.fadeSlideRight.out
505
305
  }
506
306
  };
507
307
 
@@ -1119,23 +919,31 @@ var preset = {
1119
919
  ringColor: tailwindShadowConfig.ringColor,
1120
920
  // Token-based border radius from tokens/radius
1121
921
  borderRadius: tailwindRadiusConfig.borderRadius,
1122
- // Token-based motion from tokens/motion
1123
- transitionDuration: {
1124
- ...tailwindMotionConfig.transitionDuration,
1125
- ...motionV2TailwindConfig.transitionDuration
1126
- },
1127
- transitionTimingFunction: {
1128
- ...tailwindMotionConfig.transitionTimingFunction,
1129
- ...motionV2TailwindConfig.transitionTimingFunction
1130
- },
1131
- transitionProperty: tailwindMotionConfig.transitionProperty,
1132
- keyframes: {
1133
- ...tailwindMotionConfig.keyframes,
1134
- ...motionV2TailwindConfig.keyframes
1135
- },
922
+ // Token-based motion
923
+ transitionDuration: motionTailwindConfig.transitionDuration,
924
+ transitionTimingFunction: motionTailwindConfig.transitionTimingFunction,
925
+ transitionProperty: motionTailwindConfig.transitionProperty,
926
+ keyframes: motionTailwindConfig.keyframes,
1136
927
  animation: {
1137
- ...tailwindMotionConfig.animation,
1138
- ...motionV2TailwindConfig.keyframes
928
+ // Motion animations - map keyframes to animation utilities
929
+ "fade-in": `fade-in ${motionDurations.normal} ${motionEasings.standard}`,
930
+ "fade-out": `fade-out ${motionDurations.fast} ${motionEasings.standard}`,
931
+ "scale-in": `scale-in ${motionDurations.normal} ${motionEasings.standard}`,
932
+ "scale-out": `scale-out ${motionDurations.fast} ${motionEasings.standard}`,
933
+ "slide-up-in": `slide-up-in ${motionDurations.normal} ${motionEasings.standard}`,
934
+ "slide-down-in": `slide-down-in ${motionDurations.normal} ${motionEasings.standard}`,
935
+ "slide-left-in": `slide-left-in ${motionDurations.normal} ${motionEasings.standard}`,
936
+ "slide-right-in": `slide-right-in ${motionDurations.normal} ${motionEasings.standard}`,
937
+ "fade-scale-in": `fade-scale-in ${motionDurations.normal} ${motionEasings.standard}`,
938
+ "fade-slide-up-in": `fade-slide-up-in ${motionDurations.normal} ${motionEasings.standard}`,
939
+ "fade-slide-down-in": `fade-slide-down-in ${motionDurations.normal} ${motionEasings.standard}`,
940
+ "fade-slide-left-in": `fade-slide-left-in ${motionDurations.normal} ${motionEasings.standard}`,
941
+ "fade-slide-right-in": `fade-slide-right-in ${motionDurations.normal} ${motionEasings.standard}`,
942
+ "fade-scale-out": `fade-scale-out ${motionDurations.fast} ${motionEasings.standard}`,
943
+ "fade-slide-up-out": `fade-slide-up-out ${motionDurations.fast} ${motionEasings.standard}`,
944
+ "fade-slide-down-out": `fade-slide-down-out ${motionDurations.fast} ${motionEasings.standard}`,
945
+ "fade-slide-left-out": `fade-slide-left-out ${motionDurations.fast} ${motionEasings.standard}`,
946
+ "fade-slide-right-out": `fade-slide-right-out ${motionDurations.fast} ${motionEasings.standard}`
1139
947
  }
1140
948
  }
1141
949
  },
@@ -1144,62 +952,62 @@ var preset = {
1144
952
  addUtilities({
1145
953
  // Fade animations
1146
954
  ".tm-motion-fade-in": {
1147
- animation: `fade-in var(--motion-duration-normal) var(--motion-easing-standard)`
955
+ animation: `fade-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1148
956
  },
1149
957
  ".tm-motion-fade-out": {
1150
- animation: `fade-out var(--motion-duration-fast) var(--motion-easing-standard)`
958
+ animation: `fade-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1151
959
  },
1152
960
  // Scale animations
1153
961
  ".tm-motion-scale-in": {
1154
- animation: `scale-in var(--motion-duration-normal) var(--motion-easing-standard)`
962
+ animation: `scale-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1155
963
  },
1156
964
  ".tm-motion-scale-out": {
1157
- animation: `scale-out var(--motion-duration-fast) var(--motion-easing-standard)`
965
+ animation: `scale-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1158
966
  },
1159
967
  // Slide animations
1160
968
  ".tm-motion-slide-up": {
1161
- animation: `slide-up-in var(--motion-duration-normal) var(--motion-easing-standard)`
969
+ animation: `slide-up-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1162
970
  },
1163
971
  ".tm-motion-slide-down": {
1164
- animation: `slide-down-in var(--motion-duration-normal) var(--motion-easing-standard)`
972
+ animation: `slide-down-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1165
973
  },
1166
974
  ".tm-motion-slide-left": {
1167
- animation: `slide-left-in var(--motion-duration-normal) var(--motion-easing-standard)`
975
+ animation: `slide-left-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1168
976
  },
1169
977
  ".tm-motion-slide-right": {
1170
- animation: `slide-right-in var(--motion-duration-normal) var(--motion-easing-standard)`
978
+ animation: `slide-right-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1171
979
  },
1172
980
  // Compound animations
1173
981
  ".tm-motion-fade-scale": {
1174
- animation: `fade-scale-in var(--motion-duration-normal) var(--motion-easing-standard)`
982
+ animation: `fade-scale-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1175
983
  },
1176
984
  ".tm-motion-fade-slide-up": {
1177
- animation: `fade-slide-up-in var(--motion-duration-normal) var(--motion-easing-standard)`
985
+ animation: `fade-slide-up-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1178
986
  },
1179
987
  ".tm-motion-fade-slide-down": {
1180
- animation: `fade-slide-down-in var(--motion-duration-normal) var(--motion-easing-standard)`
988
+ animation: `fade-slide-down-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1181
989
  },
1182
990
  ".tm-motion-fade-slide-left": {
1183
- animation: `fade-slide-left-in var(--motion-duration-normal) var(--motion-easing-standard)`
991
+ animation: `fade-slide-left-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1184
992
  },
1185
993
  ".tm-motion-fade-slide-right": {
1186
- animation: `fade-slide-right-in var(--motion-duration-normal) var(--motion-easing-standard)`
994
+ animation: `fade-slide-right-in var(--motion-duration-normal) var(--motion-easing-standard) both`
1187
995
  },
1188
996
  // Exit animations (for use with data attributes or state classes)
1189
997
  ".tm-motion-fade-scale-out": {
1190
- animation: `fade-scale-out var(--motion-duration-fast) var(--motion-easing-standard)`
998
+ animation: `fade-scale-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1191
999
  },
1192
1000
  ".tm-motion-fade-slide-up-out": {
1193
- animation: `fade-slide-up-out var(--motion-duration-fast) var(--motion-easing-standard)`
1001
+ animation: `fade-slide-up-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1194
1002
  },
1195
1003
  ".tm-motion-fade-slide-down-out": {
1196
- animation: `fade-slide-down-out var(--motion-duration-fast) var(--motion-easing-standard)`
1004
+ animation: `fade-slide-down-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1197
1005
  },
1198
1006
  ".tm-motion-fade-slide-left-out": {
1199
- animation: `fade-slide-left-out var(--motion-duration-fast) var(--motion-easing-standard)`
1007
+ animation: `fade-slide-left-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1200
1008
  },
1201
1009
  ".tm-motion-fade-slide-right-out": {
1202
- animation: `fade-slide-right-out var(--motion-duration-fast) var(--motion-easing-standard)`
1010
+ animation: `fade-slide-right-out var(--motion-duration-fast) var(--motion-easing-standard) both`
1203
1011
  },
1204
1012
  // Hover animations
1205
1013
  ".tm-motion-hover-lift": {