@opensite/ui 3.4.3 → 3.4.4

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.
@@ -766,25 +766,6 @@ var slideVariants = {
766
766
  }
767
767
  }
768
768
  };
769
- var fadeVariants = {
770
- initial: {
771
- opacity: 0
772
- },
773
- visible: {
774
- opacity: 1,
775
- transition: {
776
- duration: 0.8,
777
- ease: [0.4, 0, 0.2, 1]
778
- }
779
- },
780
- fadeExit: {
781
- opacity: 0,
782
- transition: {
783
- duration: 0.8,
784
- ease: [0.4, 0, 0.2, 1]
785
- }
786
- }
787
- };
788
769
  var normalizeIndex = (index, length) => {
789
770
  if (!length) return 0;
790
771
  const safeIndex = index % length;
@@ -872,38 +853,55 @@ var ImageSlider = ({
872
853
  perspective: "1000px"
873
854
  },
874
855
  children: [
875
- /* @__PURE__ */ jsxRuntime.jsx(
876
- react.AnimatePresence,
856
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
857
+ "div",
877
858
  {
878
- mode: transition === "fade" ? "sync" : "wait",
879
- initial: false,
880
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
881
- react.motion.div,
859
+ "aria-hidden": index !== currentIndex,
860
+ className: cn(
861
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
862
+ index === currentIndex && "opacity-100"
863
+ ),
864
+ children: /* @__PURE__ */ jsxRuntime.jsx(
865
+ img.Img,
882
866
  {
883
- initial: "initial",
884
- animate: "visible",
885
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
886
- variants: transition === "fade" ? fadeVariants : slideVariants,
887
- className: "absolute inset-0",
888
- children: /* @__PURE__ */ jsxRuntime.jsx(
889
- img.Img,
890
- {
891
- src: activeImage.src,
892
- alt: activeImage.alt,
893
- className: cn(
894
- "h-full w-full object-cover object-center",
895
- imageClassName,
896
- activeImage.className
897
- ),
898
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
899
- loading: "eager"
900
- }
901
- )
902
- },
903
- `${currentIndex}-${activeImage.src ?? "image"}`
904
- ) : null
905
- }
906
- ),
867
+ src: image.src,
868
+ alt: image.alt,
869
+ className: cn(
870
+ "h-full w-full object-cover object-center",
871
+ imageClassName,
872
+ image.className
873
+ ),
874
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
875
+ loading: "eager"
876
+ }
877
+ )
878
+ },
879
+ `${image.src ?? "image"}-${index}`
880
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
881
+ react.motion.div,
882
+ {
883
+ initial: "initial",
884
+ animate: "visible",
885
+ exit: direction === "up" ? "upExit" : "downExit",
886
+ variants: slideVariants,
887
+ className: "absolute inset-0",
888
+ children: /* @__PURE__ */ jsxRuntime.jsx(
889
+ img.Img,
890
+ {
891
+ src: activeImage.src,
892
+ alt: activeImage.alt,
893
+ className: cn(
894
+ "h-full w-full object-cover object-center",
895
+ imageClassName,
896
+ activeImage.className
897
+ ),
898
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
899
+ loading: "eager"
900
+ }
901
+ )
902
+ },
903
+ `${currentIndex}-${activeImage.src ?? "image"}`
904
+ ) : null }),
907
905
  overlayContent,
908
906
  children ? /* @__PURE__ */ jsxRuntime.jsx(
909
907
  "div",
@@ -743,25 +743,6 @@ var slideVariants = {
743
743
  }
744
744
  }
745
745
  };
746
- var fadeVariants = {
747
- initial: {
748
- opacity: 0
749
- },
750
- visible: {
751
- opacity: 1,
752
- transition: {
753
- duration: 0.8,
754
- ease: [0.4, 0, 0.2, 1]
755
- }
756
- },
757
- fadeExit: {
758
- opacity: 0,
759
- transition: {
760
- duration: 0.8,
761
- ease: [0.4, 0, 0.2, 1]
762
- }
763
- }
764
- };
765
746
  var normalizeIndex = (index, length) => {
766
747
  if (!length) return 0;
767
748
  const safeIndex = index % length;
@@ -849,38 +830,55 @@ var ImageSlider = ({
849
830
  perspective: "1000px"
850
831
  },
851
832
  children: [
852
- /* @__PURE__ */ jsx(
853
- AnimatePresence$1,
833
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
834
+ "div",
854
835
  {
855
- mode: transition === "fade" ? "sync" : "wait",
856
- initial: false,
857
- children: activeImage ? /* @__PURE__ */ jsx(
858
- motion$1.div,
836
+ "aria-hidden": index !== currentIndex,
837
+ className: cn(
838
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
839
+ index === currentIndex && "opacity-100"
840
+ ),
841
+ children: /* @__PURE__ */ jsx(
842
+ Img,
859
843
  {
860
- initial: "initial",
861
- animate: "visible",
862
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
863
- variants: transition === "fade" ? fadeVariants : slideVariants,
864
- className: "absolute inset-0",
865
- children: /* @__PURE__ */ jsx(
866
- Img,
867
- {
868
- src: activeImage.src,
869
- alt: activeImage.alt,
870
- className: cn(
871
- "h-full w-full object-cover object-center",
872
- imageClassName,
873
- activeImage.className
874
- ),
875
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
876
- loading: "eager"
877
- }
878
- )
879
- },
880
- `${currentIndex}-${activeImage.src ?? "image"}`
881
- ) : null
882
- }
883
- ),
844
+ src: image.src,
845
+ alt: image.alt,
846
+ className: cn(
847
+ "h-full w-full object-cover object-center",
848
+ imageClassName,
849
+ image.className
850
+ ),
851
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
852
+ loading: "eager"
853
+ }
854
+ )
855
+ },
856
+ `${image.src ?? "image"}-${index}`
857
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence$1, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
858
+ motion$1.div,
859
+ {
860
+ initial: "initial",
861
+ animate: "visible",
862
+ exit: direction === "up" ? "upExit" : "downExit",
863
+ variants: slideVariants,
864
+ className: "absolute inset-0",
865
+ children: /* @__PURE__ */ jsx(
866
+ Img,
867
+ {
868
+ src: activeImage.src,
869
+ alt: activeImage.alt,
870
+ className: cn(
871
+ "h-full w-full object-cover object-center",
872
+ imageClassName,
873
+ activeImage.className
874
+ ),
875
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
876
+ loading: "eager"
877
+ }
878
+ )
879
+ },
880
+ `${currentIndex}-${activeImage.src ?? "image"}`
881
+ ) : null }),
884
882
  overlayContent,
885
883
  children ? /* @__PURE__ */ jsx(
886
884
  "div",
@@ -440,25 +440,6 @@ var slideVariants = {
440
440
  }
441
441
  }
442
442
  };
443
- var fadeVariants = {
444
- initial: {
445
- opacity: 0
446
- },
447
- visible: {
448
- opacity: 1,
449
- transition: {
450
- duration: 0.8,
451
- ease: [0.4, 0, 0.2, 1]
452
- }
453
- },
454
- fadeExit: {
455
- opacity: 0,
456
- transition: {
457
- duration: 0.8,
458
- ease: [0.4, 0, 0.2, 1]
459
- }
460
- }
461
- };
462
443
  var normalizeIndex = (index, length) => {
463
444
  if (!length) return 0;
464
445
  const safeIndex = index % length;
@@ -546,38 +527,55 @@ var ImageSlider = ({
546
527
  perspective: "1000px"
547
528
  },
548
529
  children: [
549
- /* @__PURE__ */ jsxRuntime.jsx(
550
- react.AnimatePresence,
530
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
531
+ "div",
551
532
  {
552
- mode: transition === "fade" ? "sync" : "wait",
553
- initial: false,
554
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
555
- react.motion.div,
533
+ "aria-hidden": index !== currentIndex,
534
+ className: cn(
535
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
536
+ index === currentIndex && "opacity-100"
537
+ ),
538
+ children: /* @__PURE__ */ jsxRuntime.jsx(
539
+ img.Img,
556
540
  {
557
- initial: "initial",
558
- animate: "visible",
559
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
560
- variants: transition === "fade" ? fadeVariants : slideVariants,
561
- className: "absolute inset-0",
562
- children: /* @__PURE__ */ jsxRuntime.jsx(
563
- img.Img,
564
- {
565
- src: activeImage.src,
566
- alt: activeImage.alt,
567
- className: cn(
568
- "h-full w-full object-cover object-center",
569
- imageClassName,
570
- activeImage.className
571
- ),
572
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
573
- loading: "eager"
574
- }
575
- )
576
- },
577
- `${currentIndex}-${activeImage.src ?? "image"}`
578
- ) : null
579
- }
580
- ),
541
+ src: image.src,
542
+ alt: image.alt,
543
+ className: cn(
544
+ "h-full w-full object-cover object-center",
545
+ imageClassName,
546
+ image.className
547
+ ),
548
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
549
+ loading: "eager"
550
+ }
551
+ )
552
+ },
553
+ `${image.src ?? "image"}-${index}`
554
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
555
+ react.motion.div,
556
+ {
557
+ initial: "initial",
558
+ animate: "visible",
559
+ exit: direction === "up" ? "upExit" : "downExit",
560
+ variants: slideVariants,
561
+ className: "absolute inset-0",
562
+ children: /* @__PURE__ */ jsxRuntime.jsx(
563
+ img.Img,
564
+ {
565
+ src: activeImage.src,
566
+ alt: activeImage.alt,
567
+ className: cn(
568
+ "h-full w-full object-cover object-center",
569
+ imageClassName,
570
+ activeImage.className
571
+ ),
572
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
573
+ loading: "eager"
574
+ }
575
+ )
576
+ },
577
+ `${currentIndex}-${activeImage.src ?? "image"}`
578
+ ) : null }),
581
579
  overlayContent,
582
580
  children ? /* @__PURE__ */ jsxRuntime.jsx(
583
581
  "div",
@@ -419,25 +419,6 @@ var slideVariants = {
419
419
  }
420
420
  }
421
421
  };
422
- var fadeVariants = {
423
- initial: {
424
- opacity: 0
425
- },
426
- visible: {
427
- opacity: 1,
428
- transition: {
429
- duration: 0.8,
430
- ease: [0.4, 0, 0.2, 1]
431
- }
432
- },
433
- fadeExit: {
434
- opacity: 0,
435
- transition: {
436
- duration: 0.8,
437
- ease: [0.4, 0, 0.2, 1]
438
- }
439
- }
440
- };
441
422
  var normalizeIndex = (index, length) => {
442
423
  if (!length) return 0;
443
424
  const safeIndex = index % length;
@@ -525,38 +506,55 @@ var ImageSlider = ({
525
506
  perspective: "1000px"
526
507
  },
527
508
  children: [
528
- /* @__PURE__ */ jsx(
529
- AnimatePresence,
509
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
510
+ "div",
530
511
  {
531
- mode: transition === "fade" ? "sync" : "wait",
532
- initial: false,
533
- children: activeImage ? /* @__PURE__ */ jsx(
534
- motion.div,
512
+ "aria-hidden": index !== currentIndex,
513
+ className: cn(
514
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
515
+ index === currentIndex && "opacity-100"
516
+ ),
517
+ children: /* @__PURE__ */ jsx(
518
+ Img,
535
519
  {
536
- initial: "initial",
537
- animate: "visible",
538
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
539
- variants: transition === "fade" ? fadeVariants : slideVariants,
540
- className: "absolute inset-0",
541
- children: /* @__PURE__ */ jsx(
542
- Img,
543
- {
544
- src: activeImage.src,
545
- alt: activeImage.alt,
546
- className: cn(
547
- "h-full w-full object-cover object-center",
548
- imageClassName,
549
- activeImage.className
550
- ),
551
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
552
- loading: "eager"
553
- }
554
- )
555
- },
556
- `${currentIndex}-${activeImage.src ?? "image"}`
557
- ) : null
558
- }
559
- ),
520
+ src: image.src,
521
+ alt: image.alt,
522
+ className: cn(
523
+ "h-full w-full object-cover object-center",
524
+ imageClassName,
525
+ image.className
526
+ ),
527
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
528
+ loading: "eager"
529
+ }
530
+ )
531
+ },
532
+ `${image.src ?? "image"}-${index}`
533
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
534
+ motion.div,
535
+ {
536
+ initial: "initial",
537
+ animate: "visible",
538
+ exit: direction === "up" ? "upExit" : "downExit",
539
+ variants: slideVariants,
540
+ className: "absolute inset-0",
541
+ children: /* @__PURE__ */ jsx(
542
+ Img,
543
+ {
544
+ src: activeImage.src,
545
+ alt: activeImage.alt,
546
+ className: cn(
547
+ "h-full w-full object-cover object-center",
548
+ imageClassName,
549
+ activeImage.className
550
+ ),
551
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
552
+ loading: "eager"
553
+ }
554
+ )
555
+ },
556
+ `${currentIndex}-${activeImage.src ?? "image"}`
557
+ ) : null }),
560
558
  overlayContent,
561
559
  children ? /* @__PURE__ */ jsx(
562
560
  "div",
@@ -61,25 +61,6 @@ var slideVariants = {
61
61
  }
62
62
  }
63
63
  };
64
- var fadeVariants = {
65
- initial: {
66
- opacity: 0
67
- },
68
- visible: {
69
- opacity: 1,
70
- transition: {
71
- duration: 0.8,
72
- ease: [0.4, 0, 0.2, 1]
73
- }
74
- },
75
- fadeExit: {
76
- opacity: 0,
77
- transition: {
78
- duration: 0.8,
79
- ease: [0.4, 0, 0.2, 1]
80
- }
81
- }
82
- };
83
64
  var normalizeIndex = (index, length) => {
84
65
  if (!length) return 0;
85
66
  const safeIndex = index % length;
@@ -167,38 +148,55 @@ var ImageSlider = ({
167
148
  perspective: "1000px"
168
149
  },
169
150
  children: [
170
- /* @__PURE__ */ jsxRuntime.jsx(
171
- react.AnimatePresence,
151
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
152
+ "div",
172
153
  {
173
- mode: transition === "fade" ? "sync" : "wait",
174
- initial: false,
175
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
176
- react.motion.div,
154
+ "aria-hidden": index !== currentIndex,
155
+ className: cn(
156
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
157
+ index === currentIndex && "opacity-100"
158
+ ),
159
+ children: /* @__PURE__ */ jsxRuntime.jsx(
160
+ img.Img,
177
161
  {
178
- initial: "initial",
179
- animate: "visible",
180
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
181
- variants: transition === "fade" ? fadeVariants : slideVariants,
182
- className: "absolute inset-0",
183
- children: /* @__PURE__ */ jsxRuntime.jsx(
184
- img.Img,
185
- {
186
- src: activeImage.src,
187
- alt: activeImage.alt,
188
- className: cn(
189
- "h-full w-full object-cover object-center",
190
- imageClassName,
191
- activeImage.className
192
- ),
193
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
194
- loading: "eager"
195
- }
196
- )
197
- },
198
- `${currentIndex}-${activeImage.src ?? "image"}`
199
- ) : null
200
- }
201
- ),
162
+ src: image.src,
163
+ alt: image.alt,
164
+ className: cn(
165
+ "h-full w-full object-cover object-center",
166
+ imageClassName,
167
+ image.className
168
+ ),
169
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
170
+ loading: "eager"
171
+ }
172
+ )
173
+ },
174
+ `${image.src ?? "image"}-${index}`
175
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
176
+ react.motion.div,
177
+ {
178
+ initial: "initial",
179
+ animate: "visible",
180
+ exit: direction === "up" ? "upExit" : "downExit",
181
+ variants: slideVariants,
182
+ className: "absolute inset-0",
183
+ children: /* @__PURE__ */ jsxRuntime.jsx(
184
+ img.Img,
185
+ {
186
+ src: activeImage.src,
187
+ alt: activeImage.alt,
188
+ className: cn(
189
+ "h-full w-full object-cover object-center",
190
+ imageClassName,
191
+ activeImage.className
192
+ ),
193
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
194
+ loading: "eager"
195
+ }
196
+ )
197
+ },
198
+ `${currentIndex}-${activeImage.src ?? "image"}`
199
+ ) : null }),
202
200
  overlayContent,
203
201
  children ? /* @__PURE__ */ jsxRuntime.jsx(
204
202
  "div",
@@ -39,25 +39,6 @@ var slideVariants = {
39
39
  }
40
40
  }
41
41
  };
42
- var fadeVariants = {
43
- initial: {
44
- opacity: 0
45
- },
46
- visible: {
47
- opacity: 1,
48
- transition: {
49
- duration: 0.8,
50
- ease: [0.4, 0, 0.2, 1]
51
- }
52
- },
53
- fadeExit: {
54
- opacity: 0,
55
- transition: {
56
- duration: 0.8,
57
- ease: [0.4, 0, 0.2, 1]
58
- }
59
- }
60
- };
61
42
  var normalizeIndex = (index, length) => {
62
43
  if (!length) return 0;
63
44
  const safeIndex = index % length;
@@ -145,38 +126,55 @@ var ImageSlider = ({
145
126
  perspective: "1000px"
146
127
  },
147
128
  children: [
148
- /* @__PURE__ */ jsx(
149
- AnimatePresence,
129
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
130
+ "div",
150
131
  {
151
- mode: transition === "fade" ? "sync" : "wait",
152
- initial: false,
153
- children: activeImage ? /* @__PURE__ */ jsx(
154
- motion.div,
132
+ "aria-hidden": index !== currentIndex,
133
+ className: cn(
134
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
135
+ index === currentIndex && "opacity-100"
136
+ ),
137
+ children: /* @__PURE__ */ jsx(
138
+ Img,
155
139
  {
156
- initial: "initial",
157
- animate: "visible",
158
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
159
- variants: transition === "fade" ? fadeVariants : slideVariants,
160
- className: "absolute inset-0",
161
- children: /* @__PURE__ */ jsx(
162
- Img,
163
- {
164
- src: activeImage.src,
165
- alt: activeImage.alt,
166
- className: cn(
167
- "h-full w-full object-cover object-center",
168
- imageClassName,
169
- activeImage.className
170
- ),
171
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
172
- loading: "eager"
173
- }
174
- )
175
- },
176
- `${currentIndex}-${activeImage.src ?? "image"}`
177
- ) : null
178
- }
179
- ),
140
+ src: image.src,
141
+ alt: image.alt,
142
+ className: cn(
143
+ "h-full w-full object-cover object-center",
144
+ imageClassName,
145
+ image.className
146
+ ),
147
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
148
+ loading: "eager"
149
+ }
150
+ )
151
+ },
152
+ `${image.src ?? "image"}-${index}`
153
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
154
+ motion.div,
155
+ {
156
+ initial: "initial",
157
+ animate: "visible",
158
+ exit: direction === "up" ? "upExit" : "downExit",
159
+ variants: slideVariants,
160
+ className: "absolute inset-0",
161
+ children: /* @__PURE__ */ jsx(
162
+ Img,
163
+ {
164
+ src: activeImage.src,
165
+ alt: activeImage.alt,
166
+ className: cn(
167
+ "h-full w-full object-cover object-center",
168
+ imageClassName,
169
+ activeImage.className
170
+ ),
171
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
172
+ loading: "eager"
173
+ }
174
+ )
175
+ },
176
+ `${currentIndex}-${activeImage.src ?? "image"}`
177
+ ) : null }),
180
178
  overlayContent,
181
179
  children ? /* @__PURE__ */ jsx(
182
180
  "div",
package/dist/index.cjs CHANGED
@@ -827,25 +827,6 @@ var slideVariants = {
827
827
  }
828
828
  }
829
829
  };
830
- var fadeVariants = {
831
- initial: {
832
- opacity: 0
833
- },
834
- visible: {
835
- opacity: 1,
836
- transition: {
837
- duration: 0.8,
838
- ease: [0.4, 0, 0.2, 1]
839
- }
840
- },
841
- fadeExit: {
842
- opacity: 0,
843
- transition: {
844
- duration: 0.8,
845
- ease: [0.4, 0, 0.2, 1]
846
- }
847
- }
848
- };
849
830
  var normalizeIndex = (index, length) => {
850
831
  if (!length) return 0;
851
832
  const safeIndex = index % length;
@@ -933,38 +914,55 @@ var ImageSlider = ({
933
914
  perspective: "1000px"
934
915
  },
935
916
  children: [
936
- /* @__PURE__ */ jsxRuntime.jsx(
937
- react.AnimatePresence,
917
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
918
+ "div",
938
919
  {
939
- mode: transition === "fade" ? "sync" : "wait",
940
- initial: false,
941
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
942
- react.motion.div,
920
+ "aria-hidden": index !== currentIndex,
921
+ className: cn(
922
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
923
+ index === currentIndex && "opacity-100"
924
+ ),
925
+ children: /* @__PURE__ */ jsxRuntime.jsx(
926
+ img.Img,
943
927
  {
944
- initial: "initial",
945
- animate: "visible",
946
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
947
- variants: transition === "fade" ? fadeVariants : slideVariants,
948
- className: "absolute inset-0",
949
- children: /* @__PURE__ */ jsxRuntime.jsx(
950
- img.Img,
951
- {
952
- src: activeImage.src,
953
- alt: activeImage.alt,
954
- className: cn(
955
- "h-full w-full object-cover object-center",
956
- imageClassName,
957
- activeImage.className
958
- ),
959
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
960
- loading: "eager"
961
- }
962
- )
963
- },
964
- `${currentIndex}-${activeImage.src ?? "image"}`
965
- ) : null
966
- }
967
- ),
928
+ src: image.src,
929
+ alt: image.alt,
930
+ className: cn(
931
+ "h-full w-full object-cover object-center",
932
+ imageClassName,
933
+ image.className
934
+ ),
935
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
936
+ loading: "eager"
937
+ }
938
+ )
939
+ },
940
+ `${image.src ?? "image"}-${index}`
941
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
942
+ react.motion.div,
943
+ {
944
+ initial: "initial",
945
+ animate: "visible",
946
+ exit: direction === "up" ? "upExit" : "downExit",
947
+ variants: slideVariants,
948
+ className: "absolute inset-0",
949
+ children: /* @__PURE__ */ jsxRuntime.jsx(
950
+ img.Img,
951
+ {
952
+ src: activeImage.src,
953
+ alt: activeImage.alt,
954
+ className: cn(
955
+ "h-full w-full object-cover object-center",
956
+ imageClassName,
957
+ activeImage.className
958
+ ),
959
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
960
+ loading: "eager"
961
+ }
962
+ )
963
+ },
964
+ `${currentIndex}-${activeImage.src ?? "image"}`
965
+ ) : null }),
968
966
  overlayContent,
969
967
  children ? /* @__PURE__ */ jsxRuntime.jsx(
970
968
  "div",
package/dist/index.js CHANGED
@@ -805,25 +805,6 @@ var slideVariants = {
805
805
  }
806
806
  }
807
807
  };
808
- var fadeVariants = {
809
- initial: {
810
- opacity: 0
811
- },
812
- visible: {
813
- opacity: 1,
814
- transition: {
815
- duration: 0.8,
816
- ease: [0.4, 0, 0.2, 1]
817
- }
818
- },
819
- fadeExit: {
820
- opacity: 0,
821
- transition: {
822
- duration: 0.8,
823
- ease: [0.4, 0, 0.2, 1]
824
- }
825
- }
826
- };
827
808
  var normalizeIndex = (index, length) => {
828
809
  if (!length) return 0;
829
810
  const safeIndex = index % length;
@@ -911,38 +892,55 @@ var ImageSlider = ({
911
892
  perspective: "1000px"
912
893
  },
913
894
  children: [
914
- /* @__PURE__ */ jsx(
915
- AnimatePresence$1,
895
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
896
+ "div",
916
897
  {
917
- mode: transition === "fade" ? "sync" : "wait",
918
- initial: false,
919
- children: activeImage ? /* @__PURE__ */ jsx(
920
- motion$1.div,
898
+ "aria-hidden": index !== currentIndex,
899
+ className: cn(
900
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
901
+ index === currentIndex && "opacity-100"
902
+ ),
903
+ children: /* @__PURE__ */ jsx(
904
+ Img,
921
905
  {
922
- initial: "initial",
923
- animate: "visible",
924
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
925
- variants: transition === "fade" ? fadeVariants : slideVariants,
926
- className: "absolute inset-0",
927
- children: /* @__PURE__ */ jsx(
928
- Img,
929
- {
930
- src: activeImage.src,
931
- alt: activeImage.alt,
932
- className: cn(
933
- "h-full w-full object-cover object-center",
934
- imageClassName,
935
- activeImage.className
936
- ),
937
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
938
- loading: "eager"
939
- }
940
- )
941
- },
942
- `${currentIndex}-${activeImage.src ?? "image"}`
943
- ) : null
944
- }
945
- ),
906
+ src: image.src,
907
+ alt: image.alt,
908
+ className: cn(
909
+ "h-full w-full object-cover object-center",
910
+ imageClassName,
911
+ image.className
912
+ ),
913
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
914
+ loading: "eager"
915
+ }
916
+ )
917
+ },
918
+ `${image.src ?? "image"}-${index}`
919
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence$1, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
920
+ motion$1.div,
921
+ {
922
+ initial: "initial",
923
+ animate: "visible",
924
+ exit: direction === "up" ? "upExit" : "downExit",
925
+ variants: slideVariants,
926
+ className: "absolute inset-0",
927
+ children: /* @__PURE__ */ jsx(
928
+ Img,
929
+ {
930
+ src: activeImage.src,
931
+ alt: activeImage.alt,
932
+ className: cn(
933
+ "h-full w-full object-cover object-center",
934
+ imageClassName,
935
+ activeImage.className
936
+ ),
937
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
938
+ loading: "eager"
939
+ }
940
+ )
941
+ },
942
+ `${currentIndex}-${activeImage.src ?? "image"}`
943
+ ) : null }),
946
944
  overlayContent,
947
945
  children ? /* @__PURE__ */ jsx(
948
946
  "div",
package/dist/registry.cjs CHANGED
@@ -721,25 +721,6 @@ var slideVariants = {
721
721
  }
722
722
  }
723
723
  };
724
- var fadeVariants = {
725
- initial: {
726
- opacity: 0
727
- },
728
- visible: {
729
- opacity: 1,
730
- transition: {
731
- duration: 0.8,
732
- ease: [0.4, 0, 0.2, 1]
733
- }
734
- },
735
- fadeExit: {
736
- opacity: 0,
737
- transition: {
738
- duration: 0.8,
739
- ease: [0.4, 0, 0.2, 1]
740
- }
741
- }
742
- };
743
724
  var normalizeIndex = (index, length) => {
744
725
  if (!length) return 0;
745
726
  const safeIndex = index % length;
@@ -827,38 +808,55 @@ var ImageSlider = ({
827
808
  perspective: "1000px"
828
809
  },
829
810
  children: [
830
- /* @__PURE__ */ jsxRuntime.jsx(
831
- react.AnimatePresence,
811
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
812
+ "div",
832
813
  {
833
- mode: transition === "fade" ? "sync" : "wait",
834
- initial: false,
835
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
836
- react.motion.div,
814
+ "aria-hidden": index !== currentIndex,
815
+ className: cn(
816
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
817
+ index === currentIndex && "opacity-100"
818
+ ),
819
+ children: /* @__PURE__ */ jsxRuntime.jsx(
820
+ img.Img,
837
821
  {
838
- initial: "initial",
839
- animate: "visible",
840
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
841
- variants: transition === "fade" ? fadeVariants : slideVariants,
842
- className: "absolute inset-0",
843
- children: /* @__PURE__ */ jsxRuntime.jsx(
844
- img.Img,
845
- {
846
- src: activeImage.src,
847
- alt: activeImage.alt,
848
- className: cn(
849
- "h-full w-full object-cover object-center",
850
- imageClassName,
851
- activeImage.className
852
- ),
853
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
854
- loading: "eager"
855
- }
856
- )
857
- },
858
- `${currentIndex}-${activeImage.src ?? "image"}`
859
- ) : null
860
- }
861
- ),
822
+ src: image.src,
823
+ alt: image.alt,
824
+ className: cn(
825
+ "h-full w-full object-cover object-center",
826
+ imageClassName,
827
+ image.className
828
+ ),
829
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
830
+ loading: "eager"
831
+ }
832
+ )
833
+ },
834
+ `${image.src ?? "image"}-${index}`
835
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
836
+ react.motion.div,
837
+ {
838
+ initial: "initial",
839
+ animate: "visible",
840
+ exit: direction === "up" ? "upExit" : "downExit",
841
+ variants: slideVariants,
842
+ className: "absolute inset-0",
843
+ children: /* @__PURE__ */ jsxRuntime.jsx(
844
+ img.Img,
845
+ {
846
+ src: activeImage.src,
847
+ alt: activeImage.alt,
848
+ className: cn(
849
+ "h-full w-full object-cover object-center",
850
+ imageClassName,
851
+ activeImage.className
852
+ ),
853
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
854
+ loading: "eager"
855
+ }
856
+ )
857
+ },
858
+ `${currentIndex}-${activeImage.src ?? "image"}`
859
+ ) : null }),
862
860
  overlayContent,
863
861
  children ? /* @__PURE__ */ jsxRuntime.jsx(
864
862
  "div",
@@ -59752,7 +59750,7 @@ function HeroConversationIntelligence({
59752
59750
  }
59753
59751
  );
59754
59752
  }
59755
- var fadeVariants2 = {
59753
+ var fadeVariants = {
59756
59754
  initial: { opacity: 0 },
59757
59755
  animate: {
59758
59756
  opacity: 1,
@@ -59872,7 +59870,7 @@ function HeroBusinessCarouselDots({
59872
59870
  carouselSlot ? carouselSlot : activeImage ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-video w-full overflow-hidden ", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: /* @__PURE__ */ jsxRuntime.jsx(
59873
59871
  framerMotion.motion.div,
59874
59872
  {
59875
- variants: fadeVariants2,
59873
+ variants: fadeVariants,
59876
59874
  initial: "initial",
59877
59875
  animate: "animate",
59878
59876
  exit: "exit",
package/dist/registry.js CHANGED
@@ -681,25 +681,6 @@ var slideVariants = {
681
681
  }
682
682
  }
683
683
  };
684
- var fadeVariants = {
685
- initial: {
686
- opacity: 0
687
- },
688
- visible: {
689
- opacity: 1,
690
- transition: {
691
- duration: 0.8,
692
- ease: [0.4, 0, 0.2, 1]
693
- }
694
- },
695
- fadeExit: {
696
- opacity: 0,
697
- transition: {
698
- duration: 0.8,
699
- ease: [0.4, 0, 0.2, 1]
700
- }
701
- }
702
- };
703
684
  var normalizeIndex = (index, length) => {
704
685
  if (!length) return 0;
705
686
  const safeIndex = index % length;
@@ -787,38 +768,55 @@ var ImageSlider = ({
787
768
  perspective: "1000px"
788
769
  },
789
770
  children: [
790
- /* @__PURE__ */ jsx(
791
- AnimatePresence$1,
771
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
772
+ "div",
792
773
  {
793
- mode: transition === "fade" ? "sync" : "wait",
794
- initial: false,
795
- children: activeImage ? /* @__PURE__ */ jsx(
796
- motion$1.div,
774
+ "aria-hidden": index !== currentIndex,
775
+ className: cn(
776
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
777
+ index === currentIndex && "opacity-100"
778
+ ),
779
+ children: /* @__PURE__ */ jsx(
780
+ Img,
797
781
  {
798
- initial: "initial",
799
- animate: "visible",
800
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
801
- variants: transition === "fade" ? fadeVariants : slideVariants,
802
- className: "absolute inset-0",
803
- children: /* @__PURE__ */ jsx(
804
- Img,
805
- {
806
- src: activeImage.src,
807
- alt: activeImage.alt,
808
- className: cn(
809
- "h-full w-full object-cover object-center",
810
- imageClassName,
811
- activeImage.className
812
- ),
813
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
814
- loading: "eager"
815
- }
816
- )
817
- },
818
- `${currentIndex}-${activeImage.src ?? "image"}`
819
- ) : null
820
- }
821
- ),
782
+ src: image.src,
783
+ alt: image.alt,
784
+ className: cn(
785
+ "h-full w-full object-cover object-center",
786
+ imageClassName,
787
+ image.className
788
+ ),
789
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
790
+ loading: "eager"
791
+ }
792
+ )
793
+ },
794
+ `${image.src ?? "image"}-${index}`
795
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence$1, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
796
+ motion$1.div,
797
+ {
798
+ initial: "initial",
799
+ animate: "visible",
800
+ exit: direction === "up" ? "upExit" : "downExit",
801
+ variants: slideVariants,
802
+ className: "absolute inset-0",
803
+ children: /* @__PURE__ */ jsx(
804
+ Img,
805
+ {
806
+ src: activeImage.src,
807
+ alt: activeImage.alt,
808
+ className: cn(
809
+ "h-full w-full object-cover object-center",
810
+ imageClassName,
811
+ activeImage.className
812
+ ),
813
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
814
+ loading: "eager"
815
+ }
816
+ )
817
+ },
818
+ `${currentIndex}-${activeImage.src ?? "image"}`
819
+ ) : null }),
822
820
  overlayContent,
823
821
  children ? /* @__PURE__ */ jsx(
824
822
  "div",
@@ -59712,7 +59710,7 @@ function HeroConversationIntelligence({
59712
59710
  }
59713
59711
  );
59714
59712
  }
59715
- var fadeVariants2 = {
59713
+ var fadeVariants = {
59716
59714
  initial: { opacity: 0 },
59717
59715
  animate: {
59718
59716
  opacity: 1,
@@ -59832,7 +59830,7 @@ function HeroBusinessCarouselDots({
59832
59830
  carouselSlot ? carouselSlot : activeImage ? /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden ", children: /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: /* @__PURE__ */ jsx(
59833
59831
  motion.div,
59834
59832
  {
59835
- variants: fadeVariants2,
59833
+ variants: fadeVariants,
59836
59834
  initial: "initial",
59837
59835
  animate: "animate",
59838
59836
  exit: "exit",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "3.4.3",
3
+ "version": "3.4.4",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",
@@ -3386,9 +3386,9 @@
3386
3386
  "prepublishOnly": "pnpm run build && pnpm run test:ci"
3387
3387
  },
3388
3388
  "peerDependencies": {
3389
- "@tailwindcss/typography": ">=0.5.0",
3390
3389
  "@page-speed/pressable": ">=0.0.9",
3391
3390
  "@page-speed/router": ">=1.0.0",
3391
+ "@tailwindcss/typography": ">=0.5.0",
3392
3392
  "react": ">=16.8.0",
3393
3393
  "react-dom": ">=16.8.0"
3394
3394
  },
@@ -3461,7 +3461,7 @@
3461
3461
  "optionalDependencies": {
3462
3462
  "valibot": "^1.2.0"
3463
3463
  },
3464
- "packageManager": "pnpm@10.28.2",
3464
+ "packageManager": "pnpm@10.33.3",
3465
3465
  "engines": {
3466
3466
  "node": ">=18.0.0",
3467
3467
  "pnpm": ">=9.0.0"