juxscript 1.1.106 → 1.1.108

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "totalComponents": 63,
3
- "generatedAt": "2026-02-12T21:41:01.161Z",
3
+ "generatedAt": "2026-02-12T21:55:59.530Z",
4
4
  "components": [
5
5
  {
6
6
  "file": "alert.js",
@@ -73,65 +73,43 @@ export declare abstract class BaseStack extends BaseComponent<StackState> {
73
73
  fade(startOpacity?: number, step?: number): this;
74
74
  blur(startBlur?: number, step?: number): this;
75
75
  stagger(baseDelay?: number): this;
76
- /**
77
- * Fade in animation
78
- */
79
76
  fadeIn(): this;
80
- /**
81
- * Fade out animation
82
- */
83
- fadeOut(): this;
84
- /**
85
- * Slide in from direction
86
- */
87
77
  slideIn(direction?: 'up' | 'down' | 'left' | 'right'): this;
88
- /**
89
- * Scale in animation (subtle)
90
- */
91
78
  scaleIn(): this;
92
- /**
93
- * Zoom in animation (dramatic)
94
- */
95
79
  zoomIn(): this;
96
- /**
97
- * Rotate in animation
98
- */
99
80
  rotateIn(): this;
100
- /**
101
- * Flip in along axis
102
- */
103
81
  flipIn(axis?: 'x' | 'y'): this;
104
- /**
105
- * Bounce in animation
106
- */
107
82
  bounceIn(): this;
108
- /**
109
- * Elastic spring animation
110
- */
111
83
  elasticIn(): this;
112
- /**
113
- * Blur in animation
114
- */
115
84
  blurIn(): this;
116
- /**
117
- * Glow pulse animation (continuous)
118
- */
119
85
  glow(): this;
120
- /**
121
- * Enable staggered animations (children animate sequentially)
122
- */
86
+ fadeInItems(): this;
87
+ slideInItems(direction?: 'up' | 'down' | 'left' | 'right'): this;
88
+ scaleInItems(): this;
89
+ zoomInItems(): this;
90
+ rotateInItems(): this;
91
+ flipInItems(axis?: 'x' | 'y'): this;
92
+ bounceInItems(): this;
93
+ elasticInItems(): this;
94
+ blurInItems(): this;
95
+ glowItems(): this;
96
+ instant(): this;
97
+ fast(): this;
98
+ normal(): this;
99
+ slow(): this;
100
+ slower(): this;
101
+ linear(): this;
102
+ ease(): this;
103
+ easeIn(): this;
104
+ easeOut(): this;
105
+ easeInOut(): this;
106
+ bounceTiming(): this;
107
+ elasticTiming(): this;
108
+ delay(ms: 100 | 200 | 300 | 500 | 1000): this;
123
109
  staggered(): this;
124
- /**
125
- * Make children interactive (hover effects)
126
- */
127
110
  interactive(): this;
128
- /**
129
- * Enable smooth transitions
130
- */
131
111
  smooth(): this;
132
- /**
133
- * Combine animation with stagger
134
- */
112
+ smoothItems(): this;
135
113
  animateStagger(animation?: 'fade' | 'slide' | 'scale' | 'bounce', direction?: 'up' | 'down' | 'left' | 'right'): this;
136
114
  protected buildClasses(): string;
137
115
  protected renderChild(child: any, index: number): HTMLElement;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStack.d.ts","sourceRoot":"","sources":["BaseStack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseStack.d.ts","sourceRoot":"","sources":["BaseStack.ts"],"names":[],"mappings":"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"}
@@ -160,93 +160,138 @@ export class BaseStack extends BaseComponent {
160
160
  /* ═════════════════════════════════════════════════════════════════
161
161
  * ANIMATION API (Fluent)
162
162
  * ═════════════════════════════════════════════════════════════════ */
163
- /**
164
- * Fade in animation
165
- */
163
+ /* ─────────────────────────────────────────────────────────────────
164
+ * Stack-Level Animations (Animate the container)
165
+ * ───────────────────────────────────────────────────────────────── */
166
166
  fadeIn() {
167
167
  return this.addClass('jux-stack-fade-in');
168
168
  }
169
- /**
170
- * Fade out animation
171
- */
172
- fadeOut() {
173
- return this.addClass('jux-stack-fade-out');
174
- }
175
- /**
176
- * Slide in from direction
177
- */
178
169
  slideIn(direction = 'up') {
179
170
  return this.addClass(`jux-stack-slide-${direction}`);
180
171
  }
181
- /**
182
- * Scale in animation (subtle)
183
- */
184
172
  scaleIn() {
185
173
  return this.addClass('jux-stack-scale-in');
186
174
  }
187
- /**
188
- * Zoom in animation (dramatic)
189
- */
190
175
  zoomIn() {
191
176
  return this.addClass('jux-stack-zoom-in');
192
177
  }
193
- /**
194
- * Rotate in animation
195
- */
196
178
  rotateIn() {
197
179
  return this.addClass('jux-stack-rotate-in');
198
180
  }
199
- /**
200
- * Flip in along axis
201
- */
202
181
  flipIn(axis = 'x') {
203
182
  return this.addClass(`jux-stack-flip-${axis}`);
204
183
  }
205
- /**
206
- * Bounce in animation
207
- */
208
184
  bounceIn() {
209
185
  return this.addClass('jux-stack-bounce-in');
210
186
  }
211
- /**
212
- * Elastic spring animation
213
- */
214
187
  elasticIn() {
215
188
  return this.addClass('jux-stack-elastic-in');
216
189
  }
217
- /**
218
- * Blur in animation
219
- */
220
190
  blurIn() {
221
191
  return this.addClass('jux-stack-blur-in');
222
192
  }
223
- /**
224
- * Glow pulse animation (continuous)
225
- */
226
193
  glow() {
227
194
  return this.addClass('jux-stack-glow');
228
195
  }
229
- /**
230
- * Enable staggered animations (children animate sequentially)
231
- */
196
+ /* ─────────────────────────────────────────────────────────────────
197
+ * Item-Level Animations (Animate the children)
198
+ * ───────────────────────────────────────────────────────────────── */
199
+ fadeInItems() {
200
+ return this.addClass('jux-stack-fade-in-items');
201
+ }
202
+ slideInItems(direction = 'up') {
203
+ return this.addClass(`jux-stack-slide-${direction}-items`);
204
+ }
205
+ scaleInItems() {
206
+ return this.addClass('jux-stack-scale-in-items');
207
+ }
208
+ zoomInItems() {
209
+ return this.addClass('jux-stack-zoom-in-items');
210
+ }
211
+ rotateInItems() {
212
+ return this.addClass('jux-stack-rotate-in-items');
213
+ }
214
+ flipInItems(axis = 'x') {
215
+ return this.addClass(`jux-stack-flip-${axis}-items`);
216
+ }
217
+ bounceInItems() {
218
+ return this.addClass('jux-stack-bounce-in-items');
219
+ }
220
+ elasticInItems() {
221
+ return this.addClass('jux-stack-elastic-in-items');
222
+ }
223
+ blurInItems() {
224
+ return this.addClass('jux-stack-blur-in-items');
225
+ }
226
+ glowItems() {
227
+ return this.addClass('jux-stack-glow-items');
228
+ }
229
+ /* ─────────────────────────────────────────────────────────────────
230
+ * Speed Modifiers (Control animation duration)
231
+ * ───────────────────────────────────────────────────────────────── */
232
+ instant() {
233
+ return this.addClass('jux-stack-instant');
234
+ }
235
+ fast() {
236
+ return this.addClass('jux-stack-fast');
237
+ }
238
+ normal() {
239
+ return this.addClass('jux-stack-normal');
240
+ }
241
+ slow() {
242
+ return this.addClass('jux-stack-slow');
243
+ }
244
+ slower() {
245
+ return this.addClass('jux-stack-slower');
246
+ }
247
+ /* ─────────────────────────────────────────────────────────────────
248
+ * Timing Functions (Control animation easing)
249
+ * ───────────────────────────────────────────────────────────────── */
250
+ linear() {
251
+ return this.addClass('jux-stack-linear');
252
+ }
253
+ ease() {
254
+ return this.addClass('jux-stack-ease');
255
+ }
256
+ easeIn() {
257
+ return this.addClass('jux-stack-ease-in');
258
+ }
259
+ easeOut() {
260
+ return this.addClass('jux-stack-ease-out');
261
+ }
262
+ easeInOut() {
263
+ return this.addClass('jux-stack-ease-in-out');
264
+ }
265
+ bounceTiming() {
266
+ return this.addClass('jux-stack-bounce-timing');
267
+ }
268
+ elasticTiming() {
269
+ return this.addClass('jux-stack-elastic-timing');
270
+ }
271
+ /* ─────────────────────────────────────────────────────────────────
272
+ * Delay Control
273
+ * ───────────────────────────────────────────────────────────────── */
274
+ delay(ms) {
275
+ return this.addClass(`jux-stack-delay-${ms}`);
276
+ }
277
+ /* ─────────────────────────────────────────────────────────────────
278
+ * Stagger & Interactive
279
+ * ───────────────────────────────────────────────────────────────── */
232
280
  staggered() {
233
281
  return this.addClass('jux-stack-stagger');
234
282
  }
235
- /**
236
- * Make children interactive (hover effects)
237
- */
238
283
  interactive() {
239
284
  return this.addClass('jux-stack-interactive');
240
285
  }
241
- /**
242
- * Enable smooth transitions
243
- */
244
286
  smooth() {
245
287
  return this.addClass('jux-stack-smooth');
246
288
  }
247
- /**
248
- * Combine animation with stagger
249
- */
289
+ smoothItems() {
290
+ return this.addClass('jux-stack-smooth-items');
291
+ }
292
+ /* ─────────────────────────────────────────────────────────────────
293
+ * Convenience Combos
294
+ * ───────────────────────────────────────────────────────────────── */
250
295
  animateStagger(animation = 'fade', direction) {
251
296
  if (animation === 'slide' && direction) {
252
297
  this.slideIn(direction);
@@ -210,107 +210,182 @@ export abstract class BaseStack extends BaseComponent<StackState> {
210
210
  * ANIMATION API (Fluent)
211
211
  * ═════════════════════════════════════════════════════════════════ */
212
212
 
213
- /**
214
- * Fade in animation
215
- */
213
+ /* ─────────────────────────────────────────────────────────────────
214
+ * Stack-Level Animations (Animate the container)
215
+ * ───────────────────────────────────────────────────────────────── */
216
+
216
217
  fadeIn(): this {
217
218
  return this.addClass('jux-stack-fade-in');
218
219
  }
219
220
 
220
- /**
221
- * Fade out animation
222
- */
223
- fadeOut(): this {
224
- return this.addClass('jux-stack-fade-out');
225
- }
226
-
227
- /**
228
- * Slide in from direction
229
- */
230
221
  slideIn(direction: 'up' | 'down' | 'left' | 'right' = 'up'): this {
231
222
  return this.addClass(`jux-stack-slide-${direction}`);
232
223
  }
233
224
 
234
- /**
235
- * Scale in animation (subtle)
236
- */
237
225
  scaleIn(): this {
238
226
  return this.addClass('jux-stack-scale-in');
239
227
  }
240
228
 
241
- /**
242
- * Zoom in animation (dramatic)
243
- */
244
229
  zoomIn(): this {
245
230
  return this.addClass('jux-stack-zoom-in');
246
231
  }
247
232
 
248
- /**
249
- * Rotate in animation
250
- */
251
233
  rotateIn(): this {
252
234
  return this.addClass('jux-stack-rotate-in');
253
235
  }
254
236
 
255
- /**
256
- * Flip in along axis
257
- */
258
237
  flipIn(axis: 'x' | 'y' = 'x'): this {
259
238
  return this.addClass(`jux-stack-flip-${axis}`);
260
239
  }
261
240
 
262
- /**
263
- * Bounce in animation
264
- */
265
241
  bounceIn(): this {
266
242
  return this.addClass('jux-stack-bounce-in');
267
243
  }
268
244
 
269
- /**
270
- * Elastic spring animation
271
- */
272
245
  elasticIn(): this {
273
246
  return this.addClass('jux-stack-elastic-in');
274
247
  }
275
248
 
276
- /**
277
- * Blur in animation
278
- */
279
249
  blurIn(): this {
280
250
  return this.addClass('jux-stack-blur-in');
281
251
  }
282
252
 
283
- /**
284
- * Glow pulse animation (continuous)
285
- */
286
253
  glow(): this {
287
254
  return this.addClass('jux-stack-glow');
288
255
  }
289
256
 
290
- /**
291
- * Enable staggered animations (children animate sequentially)
292
- */
257
+ /* ─────────────────────────────────────────────────────────────────
258
+ * Item-Level Animations (Animate the children)
259
+ * ───────────────────────────────────────────────────────────────── */
260
+
261
+ fadeInItems(): this {
262
+ return this.addClass('jux-stack-fade-in-items');
263
+ }
264
+
265
+ slideInItems(direction: 'up' | 'down' | 'left' | 'right' = 'up'): this {
266
+ return this.addClass(`jux-stack-slide-${direction}-items`);
267
+ }
268
+
269
+ scaleInItems(): this {
270
+ return this.addClass('jux-stack-scale-in-items');
271
+ }
272
+
273
+ zoomInItems(): this {
274
+ return this.addClass('jux-stack-zoom-in-items');
275
+ }
276
+
277
+ rotateInItems(): this {
278
+ return this.addClass('jux-stack-rotate-in-items');
279
+ }
280
+
281
+ flipInItems(axis: 'x' | 'y' = 'x'): this {
282
+ return this.addClass(`jux-stack-flip-${axis}-items`);
283
+ }
284
+
285
+ bounceInItems(): this {
286
+ return this.addClass('jux-stack-bounce-in-items');
287
+ }
288
+
289
+ elasticInItems(): this {
290
+ return this.addClass('jux-stack-elastic-in-items');
291
+ }
292
+
293
+ blurInItems(): this {
294
+ return this.addClass('jux-stack-blur-in-items');
295
+ }
296
+
297
+ glowItems(): this {
298
+ return this.addClass('jux-stack-glow-items');
299
+ }
300
+
301
+ /* ─────────────────────────────────────────────────────────────────
302
+ * Speed Modifiers (Control animation duration)
303
+ * ───────────────────────────────────────────────────────────────── */
304
+
305
+ instant(): this {
306
+ return this.addClass('jux-stack-instant');
307
+ }
308
+
309
+ fast(): this {
310
+ return this.addClass('jux-stack-fast');
311
+ }
312
+
313
+ normal(): this {
314
+ return this.addClass('jux-stack-normal');
315
+ }
316
+
317
+ slow(): this {
318
+ return this.addClass('jux-stack-slow');
319
+ }
320
+
321
+ slower(): this {
322
+ return this.addClass('jux-stack-slower');
323
+ }
324
+
325
+ /* ─────────────────────────────────────────────────────────────────
326
+ * Timing Functions (Control animation easing)
327
+ * ───────────────────────────────────────────────────────────────── */
328
+
329
+ linear(): this {
330
+ return this.addClass('jux-stack-linear');
331
+ }
332
+
333
+ ease(): this {
334
+ return this.addClass('jux-stack-ease');
335
+ }
336
+
337
+ easeIn(): this {
338
+ return this.addClass('jux-stack-ease-in');
339
+ }
340
+
341
+ easeOut(): this {
342
+ return this.addClass('jux-stack-ease-out');
343
+ }
344
+
345
+ easeInOut(): this {
346
+ return this.addClass('jux-stack-ease-in-out');
347
+ }
348
+
349
+ bounceTiming(): this {
350
+ return this.addClass('jux-stack-bounce-timing');
351
+ }
352
+
353
+ elasticTiming(): this {
354
+ return this.addClass('jux-stack-elastic-timing');
355
+ }
356
+
357
+ /* ─────────────────────────────────────────────────────────────────
358
+ * Delay Control
359
+ * ───────────────────────────────────────────────────────────────── */
360
+
361
+ delay(ms: 100 | 200 | 300 | 500 | 1000): this {
362
+ return this.addClass(`jux-stack-delay-${ms}`);
363
+ }
364
+
365
+ /* ─────────────────────────────────────────────────────────────────
366
+ * Stagger & Interactive
367
+ * ───────────────────────────────────────────────────────────────── */
368
+
293
369
  staggered(): this {
294
370
  return this.addClass('jux-stack-stagger');
295
371
  }
296
372
 
297
- /**
298
- * Make children interactive (hover effects)
299
- */
300
373
  interactive(): this {
301
374
  return this.addClass('jux-stack-interactive');
302
375
  }
303
376
 
304
- /**
305
- * Enable smooth transitions
306
- */
307
377
  smooth(): this {
308
378
  return this.addClass('jux-stack-smooth');
309
379
  }
310
380
 
311
- /**
312
- * Combine animation with stagger
313
- */
381
+ smoothItems(): this {
382
+ return this.addClass('jux-stack-smooth-items');
383
+ }
384
+
385
+ /* ─────────────────────────────────────────────────────────────────
386
+ * Convenience Combos
387
+ * ───────────────────────────────────────────────────────────────── */
388
+
314
389
  animateStagger(animation: 'fade' | 'slide' | 'scale' | 'bounce' = 'fade', direction?: 'up' | 'down' | 'left' | 'right'): this {
315
390
  if (animation === 'slide' && direction) {
316
391
  this.slideIn(direction);
@@ -136,26 +136,15 @@
136
136
  * ANIMATION & TRANSITION CLASSES
137
137
  * ═══════════════════════════════════════════════════════════════════ */
138
138
 
139
- /* Fade Animations */
139
+ /* ═════════════════════════════════════════════════════════════════
140
+ * KEYFRAME DEFINITIONS (Shared)
141
+ * ═════════════════════════════════════════════════════════════════ */
142
+
140
143
  @keyframes jux-fade-in {
141
144
  from { opacity: 0; }
142
145
  to { opacity: 1; }
143
146
  }
144
147
 
145
- @keyframes jux-fade-out {
146
- from { opacity: 1; }
147
- to { opacity: 0; }
148
- }
149
-
150
- .jux-stack-fade-in > * {
151
- animation: jux-fade-in 0.3s ease-out;
152
- }
153
-
154
- .jux-stack-fade-out > * {
155
- animation: jux-fade-out 0.3s ease-out;
156
- }
157
-
158
- /* Slide Animations */
159
148
  @keyframes jux-slide-in-up {
160
149
  from { transform: translateY(20px); opacity: 0; }
161
150
  to { transform: translateY(0); opacity: 1; }
@@ -176,23 +165,6 @@
176
165
  to { transform: translateX(0); opacity: 1; }
177
166
  }
178
167
 
179
- .jux-stack-slide-up > * {
180
- animation: jux-slide-in-up 0.4s ease-out;
181
- }
182
-
183
- .jux-stack-slide-down > * {
184
- animation: jux-slide-in-down 0.4s ease-out;
185
- }
186
-
187
- .jux-stack-slide-left > * {
188
- animation: jux-slide-in-left 0.4s ease-out;
189
- }
190
-
191
- .jux-stack-slide-right > * {
192
- animation: jux-slide-in-right 0.4s ease-out;
193
- }
194
-
195
- /* Scale Animations */
196
168
  @keyframes jux-scale-in {
197
169
  from { transform: scale(0.8); opacity: 0; }
198
170
  to { transform: scale(1); opacity: 1; }
@@ -203,15 +175,6 @@
203
175
  to { transform: scale(1); opacity: 1; }
204
176
  }
205
177
 
206
- .jux-stack-scale-in > * {
207
- animation: jux-scale-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
208
- }
209
-
210
- .jux-stack-zoom-in > * {
211
- animation: jux-zoom-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
212
- }
213
-
214
- /* Rotate Animations */
215
178
  @keyframes jux-rotate-in {
216
179
  from { transform: rotate(-10deg); opacity: 0; }
217
180
  to { transform: rotate(0); opacity: 1; }
@@ -227,19 +190,6 @@
227
190
  to { transform: perspective(400px) rotateY(0); opacity: 1; }
228
191
  }
229
192
 
230
- .jux-stack-rotate-in > * {
231
- animation: jux-rotate-in 0.5s ease-out;
232
- }
233
-
234
- .jux-stack-flip-x > * {
235
- animation: jux-flip-in-x 0.6s ease-out;
236
- }
237
-
238
- .jux-stack-flip-y > * {
239
- animation: jux-flip-in-y 0.6s ease-out;
240
- }
241
-
242
- /* Bounce Animation */
243
193
  @keyframes jux-bounce-in {
244
194
  0% { transform: scale(0); opacity: 0; }
245
195
  50% { transform: scale(1.1); }
@@ -247,11 +197,6 @@
247
197
  100% { transform: scale(1); opacity: 1; }
248
198
  }
249
199
 
250
- .jux-stack-bounce-in > * {
251
- animation: jux-bounce-in 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
252
- }
253
-
254
- /* Elastic Animation */
255
200
  @keyframes jux-elastic-in {
256
201
  0% { transform: scale(0); }
257
202
  55% { transform: scale(1.2); }
@@ -260,31 +205,195 @@
260
205
  100% { transform: scale(1); }
261
206
  }
262
207
 
263
- .jux-stack-elastic-in > * {
264
- animation: jux-elastic-in 0.8s ease-out;
265
- }
266
-
267
- /* Blur Animation */
268
208
  @keyframes jux-blur-in {
269
209
  from { filter: blur(10px); opacity: 0; }
270
210
  to { filter: blur(0); opacity: 1; }
271
211
  }
272
212
 
273
- .jux-stack-blur-in > * {
274
- animation: jux-blur-in 0.5s ease-out;
275
- }
276
-
277
- /* Glow Animation */
278
213
  @keyframes jux-glow-pulse {
279
214
  0%, 100% { box-shadow: 0 0 5px rgba(59, 130, 246, 0.5); }
280
215
  50% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.8); }
281
216
  }
282
217
 
283
- .jux-stack-glow > * {
218
+ /* ═════════════════════════════════════════════════════════════════
219
+ * SPEED MODIFIERS (Global)
220
+ * ═════════════════════════════════════════════════════════════════ */
221
+
222
+ /* Apply to stack or items */
223
+ .jux-stack-instant,
224
+ .jux-stack-instant > * { animation-duration: 0.15s !important; }
225
+
226
+ .jux-stack-fast,
227
+ .jux-stack-fast > * { animation-duration: 0.3s !important; }
228
+
229
+ .jux-stack-normal,
230
+ .jux-stack-normal > * { animation-duration: 0.5s !important; }
231
+
232
+ .jux-stack-slow,
233
+ .jux-stack-slow > * { animation-duration: 0.8s !important; }
234
+
235
+ .jux-stack-slower,
236
+ .jux-stack-slower > * { animation-duration: 1.2s !important; }
237
+
238
+ /* ═════════════════════════════════════════════════════════════════
239
+ * TIMING FUNCTIONS
240
+ * ═════════════════════════════════════════════════════════════════ */
241
+
242
+ .jux-stack-linear,
243
+ .jux-stack-linear > * { animation-timing-function: linear !important; }
244
+
245
+ .jux-stack-ease,
246
+ .jux-stack-ease > * { animation-timing-function: ease !important; }
247
+
248
+ .jux-stack-ease-in,
249
+ .jux-stack-ease-in > * { animation-timing-function: ease-in !important; }
250
+
251
+ .jux-stack-ease-out,
252
+ .jux-stack-ease-out > * { animation-timing-function: ease-out !important; }
253
+
254
+ .jux-stack-ease-in-out,
255
+ .jux-stack-ease-in-out > * { animation-timing-function: ease-in-out !important; }
256
+
257
+ .jux-stack-bounce-timing,
258
+ .jux-stack-bounce-timing > * { animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55) !important; }
259
+
260
+ .jux-stack-elastic-timing,
261
+ .jux-stack-elastic-timing > * { animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1) !important; }
262
+
263
+ /* ═════════════════════════════════════════════════════════════════
264
+ * DELAY MODIFIERS
265
+ * ═════════════════════════════════════════════════════════════════ */
266
+
267
+ .jux-stack-delay-100 { animation-delay: 100ms !important; }
268
+ .jux-stack-delay-200 { animation-delay: 200ms !important; }
269
+ .jux-stack-delay-300 { animation-delay: 300ms !important; }
270
+ .jux-stack-delay-500 { animation-delay: 500ms !important; }
271
+ .jux-stack-delay-1000 { animation-delay: 1000ms !important; }
272
+
273
+ /* ═════════════════════════════════════════════════════════════════
274
+ * STACK-LEVEL ANIMATIONS (Apply to container itself)
275
+ * ═════════════════════════════════════════════════════════════════ */
276
+
277
+ .jux-stack-fade-in {
278
+ animation: jux-fade-in 0.3s ease-out;
279
+ }
280
+
281
+ .jux-stack-slide-up {
282
+ animation: jux-slide-in-up 0.4s ease-out;
283
+ }
284
+
285
+ .jux-stack-slide-down {
286
+ animation: jux-slide-in-down 0.4s ease-out;
287
+ }
288
+
289
+ .jux-stack-slide-left {
290
+ animation: jux-slide-in-left 0.4s ease-out;
291
+ }
292
+
293
+ .jux-stack-slide-right {
294
+ animation: jux-slide-in-right 0.4s ease-out;
295
+ }
296
+
297
+ .jux-stack-scale-in {
298
+ animation: jux-scale-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
299
+ }
300
+
301
+ .jux-stack-zoom-in {
302
+ animation: jux-zoom-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
303
+ }
304
+
305
+ .jux-stack-rotate-in {
306
+ animation: jux-rotate-in 0.5s ease-out;
307
+ }
308
+
309
+ .jux-stack-flip-x {
310
+ animation: jux-flip-in-x 0.6s ease-out;
311
+ }
312
+
313
+ .jux-stack-flip-y {
314
+ animation: jux-flip-in-y 0.6s ease-out;
315
+ }
316
+
317
+ .jux-stack-bounce-in {
318
+ animation: jux-bounce-in 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
319
+ }
320
+
321
+ .jux-stack-elastic-in {
322
+ animation: jux-elastic-in 0.8s ease-out;
323
+ }
324
+
325
+ .jux-stack-blur-in {
326
+ animation: jux-blur-in 0.5s ease-out;
327
+ }
328
+
329
+ .jux-stack-glow {
330
+ animation: jux-glow-pulse 2s ease-in-out infinite;
331
+ }
332
+
333
+ /* ═════════════════════════════════════════════════════════════════
334
+ * ITEM-LEVEL ANIMATIONS (Apply to direct children only)
335
+ * ═════════════════════════════════════════════════════════════════ */
336
+
337
+ .jux-stack-fade-in-items > * {
338
+ animation: jux-fade-in 0.3s ease-out;
339
+ }
340
+
341
+ .jux-stack-slide-up-items > * {
342
+ animation: jux-slide-in-up 0.4s ease-out;
343
+ }
344
+
345
+ .jux-stack-slide-down-items > * {
346
+ animation: jux-slide-in-down 0.4s ease-out;
347
+ }
348
+
349
+ .jux-stack-slide-left-items > * {
350
+ animation: jux-slide-in-left 0.4s ease-out;
351
+ }
352
+
353
+ .jux-stack-slide-right-items > * {
354
+ animation: jux-slide-in-right 0.4s ease-out;
355
+ }
356
+
357
+ .jux-stack-scale-in-items > * {
358
+ animation: jux-scale-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
359
+ }
360
+
361
+ .jux-stack-zoom-in-items > * {
362
+ animation: jux-zoom-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
363
+ }
364
+
365
+ .jux-stack-rotate-in-items > * {
366
+ animation: jux-rotate-in 0.5s ease-out;
367
+ }
368
+
369
+ .jux-stack-flip-x-items > * {
370
+ animation: jux-flip-in-x 0.6s ease-out;
371
+ }
372
+
373
+ .jux-stack-flip-y-items > * {
374
+ animation: jux-flip-in-y 0.6s ease-out;
375
+ }
376
+
377
+ .jux-stack-bounce-in-items > * {
378
+ animation: jux-bounce-in 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
379
+ }
380
+
381
+ .jux-stack-elastic-in-items > * {
382
+ animation: jux-elastic-in 0.8s ease-out;
383
+ }
384
+
385
+ .jux-stack-blur-in-items > * {
386
+ animation: jux-blur-in 0.5s ease-out;
387
+ }
388
+
389
+ .jux-stack-glow-items > * {
284
390
  animation: jux-glow-pulse 2s ease-in-out infinite;
285
391
  }
286
392
 
287
- /* Stagger Delay (for sequential animations) */
393
+ /* ═════════════════════════════════════════════════════════════════
394
+ * STAGGER DELAYS (Only for item-level animations)
395
+ * ═════════════════════════════════════════════════════════════════ */
396
+
288
397
  .jux-stack-stagger > *:nth-child(1) { animation-delay: 0ms; }
289
398
  .jux-stack-stagger > *:nth-child(2) { animation-delay: 100ms; }
290
399
  .jux-stack-stagger > *:nth-child(3) { animation-delay: 200ms; }
@@ -296,7 +405,10 @@
296
405
  .jux-stack-stagger > *:nth-child(9) { animation-delay: 800ms; }
297
406
  .jux-stack-stagger > *:nth-child(10) { animation-delay: 900ms; }
298
407
 
299
- /* Hover Transitions (opt-in via .jux-stack-interactive) */
408
+ /* ═════════════════════════════════════════════════════════════════
409
+ * INTERACTIVE EFFECTS (Hover, Focus)
410
+ * ═════════════════════════════════════════════════════════════════ */
411
+
300
412
  .jux-stack-interactive > * {
301
413
  transition: transform 0.3s ease, box-shadow 0.3s ease;
302
414
  cursor: pointer;
@@ -307,8 +419,14 @@
307
419
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
308
420
  }
309
421
 
310
- /* Smooth transitions for all animated properties */
311
- .jux-stack-smooth,
312
- .jux-stack-smooth > * {
422
+ /* ═════════════════════════════════════════════════════════════════
423
+ * UTILITY CLASSES
424
+ * ═════════════════════════════════════════════════════════════════ */
425
+
426
+ .jux-stack-smooth {
427
+ transition: all 0.3s ease;
428
+ }
429
+
430
+ .jux-stack-smooth-items > * {
313
431
  transition: all 0.3s ease;
314
432
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.106",
3
+ "version": "1.1.108",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "index.js",