@opensite/ui 3.6.2 → 3.6.3

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.
@@ -39,32 +39,6 @@ var Autoplay__default = /*#__PURE__*/_interopDefault(Autoplay);
39
39
  function cn(...inputs) {
40
40
  return tailwindMerge.twMerge(clsx.clsx(inputs));
41
41
  }
42
- function getNestedCardBg(parentBg, variant = "muted", options) {
43
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
44
- if (isDark) {
45
- switch (variant) {
46
- case "muted":
47
- return "bg-background";
48
- case "card":
49
- return "bg-card";
50
- case "accent":
51
- return "bg-accent";
52
- case "subtle":
53
- return "bg-background/50";
54
- }
55
- } else {
56
- switch (variant) {
57
- case "muted":
58
- return "bg-muted";
59
- case "card":
60
- return "bg-card";
61
- case "accent":
62
- return "bg-accent";
63
- case "subtle":
64
- return "bg-muted/50";
65
- }
66
- }
67
- }
68
42
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
69
43
  var DynamicIcon = React4__namespace.memo(function DynamicIcon2({
70
44
  apiKey,
@@ -547,7 +521,7 @@ function CarouselAutoplayProgress({
547
521
  slides,
548
522
  slidesSlot,
549
523
  options,
550
- autoplayDelay = 3e3,
524
+ autoplayDelay = 5e3,
551
525
  className,
552
526
  containerClassName,
553
527
  trackClassName,
@@ -557,7 +531,7 @@ function CarouselAutoplayProgress({
557
531
  dotsClassName,
558
532
  progressClassName,
559
533
  optixFlowConfig,
560
- background = "white",
534
+ background,
561
535
  spacing = "xl",
562
536
  pattern,
563
537
  patternOpacity
@@ -579,71 +553,97 @@ function CarouselAutoplayProgress({
579
553
  pattern,
580
554
  patternOpacity,
581
555
  children: [
582
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
556
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx(
557
+ "div",
558
+ {
559
+ className: cn(
560
+ "ml-auto mr-3 flex touch-pan-y touch-pinch-zoom",
561
+ trackClassName
562
+ ),
563
+ children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
564
+ "div",
565
+ {
566
+ className: cn(
567
+ "flex-[0_0_70%] transform-gpu pl-3",
568
+ slideClassName,
569
+ slide.className
570
+ ),
571
+ children: [
572
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
573
+ img.Img,
574
+ {
575
+ src: slide.src,
576
+ alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
577
+ className: cn(
578
+ "h-full w-full object-cover",
579
+ imageClassName,
580
+ slide.imageClassName
581
+ ),
582
+ optixFlowConfig
583
+ }
584
+ ) }),
585
+ slide.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: slide.content })
586
+ ]
587
+ },
588
+ index
589
+ ))
590
+ }
591
+ ) }),
592
+ /* @__PURE__ */ jsxRuntime.jsxs(
583
593
  "div",
584
594
  {
585
- className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
595
+ className: cn(
596
+ "mx-auto mt-7 flex max-w-80 items-center justify-between gap-3",
597
+ controlsClassName
598
+ ),
586
599
  children: [
587
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
588
- img.Img,
600
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
601
+ "button",
589
602
  {
590
- src: slide.src,
591
- alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
592
- className: cn("h-full w-full object-cover", imageClassName, slide.imageClassName),
593
- optixFlowConfig
603
+ type: "button",
604
+ onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
605
+ className: cn(
606
+ "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
607
+ index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
608
+ )
609
+ },
610
+ index
611
+ )) }),
612
+ /* @__PURE__ */ jsxRuntime.jsx(
613
+ "div",
614
+ {
615
+ className: cn(
616
+ "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
617
+ "bg-card text-card-foreground",
618
+ showAutoplayProgress ? "opacity-100" : "opacity-0",
619
+ progressClassName
620
+ ),
621
+ children: /* @__PURE__ */ jsxRuntime.jsx(
622
+ "div",
623
+ {
624
+ className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
625
+ ref: progressNode,
626
+ style: {
627
+ animation: "autoplay-progress linear 1",
628
+ animationPlayState: showAutoplayProgress ? "running" : "paused"
629
+ }
630
+ }
631
+ )
594
632
  }
595
- ) }),
596
- slide.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: slide.content })
597
- ]
598
- },
599
- index
600
- )) }) }),
601
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto mt-7 flex max-w-80 items-center justify-between gap-3", controlsClassName), children: [
602
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
603
- "button",
604
- {
605
- type: "button",
606
- onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
607
- className: cn(
608
- "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
609
- index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
610
- )
611
- },
612
- index
613
- )) }),
614
- /* @__PURE__ */ jsxRuntime.jsx(
615
- "div",
616
- {
617
- className: cn(
618
- "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
619
- getNestedCardBg(background),
620
- showAutoplayProgress ? "opacity-100" : "opacity-0",
621
- progressClassName
622
633
  ),
623
- children: /* @__PURE__ */ jsxRuntime.jsx(
624
- "div",
634
+ /* @__PURE__ */ jsxRuntime.jsx(
635
+ pressable.Pressable,
625
636
  {
626
- className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
627
- ref: progressNode,
628
- style: {
629
- animation: "autoplay-progress linear 1",
630
- animationPlayState: showAutoplayProgress ? "running" : "paused"
631
- }
637
+ size: "icon",
638
+ variant: "secondary",
639
+ onClick: toggleAutoplay,
640
+ asButton: true,
641
+ children: autoplayIsPlaying ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play", size: 16 })
632
642
  }
633
643
  )
634
- }
635
- ),
636
- /* @__PURE__ */ jsxRuntime.jsx(
637
- pressable.Pressable,
638
- {
639
- size: "icon",
640
- variant: "secondary",
641
- onClick: toggleAutoplay,
642
- asButton: true,
643
- children: autoplayIsPlaying ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play", size: 16 })
644
- }
645
- )
646
- ] }),
644
+ ]
645
+ }
646
+ ),
647
647
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
648
648
  @keyframes autoplay-progress {
649
649
  from {
@@ -14,32 +14,6 @@ import { Img } from '@page-speed/img';
14
14
  function cn(...inputs) {
15
15
  return twMerge(clsx(inputs));
16
16
  }
17
- function getNestedCardBg(parentBg, variant = "muted", options) {
18
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
19
- if (isDark) {
20
- switch (variant) {
21
- case "muted":
22
- return "bg-background";
23
- case "card":
24
- return "bg-card";
25
- case "accent":
26
- return "bg-accent";
27
- case "subtle":
28
- return "bg-background/50";
29
- }
30
- } else {
31
- switch (variant) {
32
- case "muted":
33
- return "bg-muted";
34
- case "card":
35
- return "bg-card";
36
- case "accent":
37
- return "bg-accent";
38
- case "subtle":
39
- return "bg-muted/50";
40
- }
41
- }
42
- }
43
17
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
44
18
  var DynamicIcon = React4.memo(function DynamicIcon2({
45
19
  apiKey,
@@ -522,7 +496,7 @@ function CarouselAutoplayProgress({
522
496
  slides,
523
497
  slidesSlot,
524
498
  options,
525
- autoplayDelay = 3e3,
499
+ autoplayDelay = 5e3,
526
500
  className,
527
501
  containerClassName,
528
502
  trackClassName,
@@ -532,7 +506,7 @@ function CarouselAutoplayProgress({
532
506
  dotsClassName,
533
507
  progressClassName,
534
508
  optixFlowConfig,
535
- background = "white",
509
+ background,
536
510
  spacing = "xl",
537
511
  pattern,
538
512
  patternOpacity
@@ -554,71 +528,97 @@ function CarouselAutoplayProgress({
554
528
  pattern,
555
529
  patternOpacity,
556
530
  children: [
557
- /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
531
+ /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx(
532
+ "div",
533
+ {
534
+ className: cn(
535
+ "ml-auto mr-3 flex touch-pan-y touch-pinch-zoom",
536
+ trackClassName
537
+ ),
538
+ children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
539
+ "div",
540
+ {
541
+ className: cn(
542
+ "flex-[0_0_70%] transform-gpu pl-3",
543
+ slideClassName,
544
+ slide.className
545
+ ),
546
+ children: [
547
+ /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
548
+ Img,
549
+ {
550
+ src: slide.src,
551
+ alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
552
+ className: cn(
553
+ "h-full w-full object-cover",
554
+ imageClassName,
555
+ slide.imageClassName
556
+ ),
557
+ optixFlowConfig
558
+ }
559
+ ) }),
560
+ slide.content && /* @__PURE__ */ jsx("div", { className: "mt-4", children: slide.content })
561
+ ]
562
+ },
563
+ index
564
+ ))
565
+ }
566
+ ) }),
567
+ /* @__PURE__ */ jsxs(
558
568
  "div",
559
569
  {
560
- className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
570
+ className: cn(
571
+ "mx-auto mt-7 flex max-w-80 items-center justify-between gap-3",
572
+ controlsClassName
573
+ ),
561
574
  children: [
562
- /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
563
- Img,
575
+ /* @__PURE__ */ jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsx(
576
+ "button",
564
577
  {
565
- src: slide.src,
566
- alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
567
- className: cn("h-full w-full object-cover", imageClassName, slide.imageClassName),
568
- optixFlowConfig
578
+ type: "button",
579
+ onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
580
+ className: cn(
581
+ "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
582
+ index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
583
+ )
584
+ },
585
+ index
586
+ )) }),
587
+ /* @__PURE__ */ jsx(
588
+ "div",
589
+ {
590
+ className: cn(
591
+ "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
592
+ "bg-card text-card-foreground",
593
+ showAutoplayProgress ? "opacity-100" : "opacity-0",
594
+ progressClassName
595
+ ),
596
+ children: /* @__PURE__ */ jsx(
597
+ "div",
598
+ {
599
+ className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
600
+ ref: progressNode,
601
+ style: {
602
+ animation: "autoplay-progress linear 1",
603
+ animationPlayState: showAutoplayProgress ? "running" : "paused"
604
+ }
605
+ }
606
+ )
569
607
  }
570
- ) }),
571
- slide.content && /* @__PURE__ */ jsx("div", { className: "mt-4", children: slide.content })
572
- ]
573
- },
574
- index
575
- )) }) }),
576
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mt-7 flex max-w-80 items-center justify-between gap-3", controlsClassName), children: [
577
- /* @__PURE__ */ jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsx(
578
- "button",
579
- {
580
- type: "button",
581
- onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
582
- className: cn(
583
- "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
584
- index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
585
- )
586
- },
587
- index
588
- )) }),
589
- /* @__PURE__ */ jsx(
590
- "div",
591
- {
592
- className: cn(
593
- "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
594
- getNestedCardBg(background),
595
- showAutoplayProgress ? "opacity-100" : "opacity-0",
596
- progressClassName
597
608
  ),
598
- children: /* @__PURE__ */ jsx(
599
- "div",
609
+ /* @__PURE__ */ jsx(
610
+ Pressable,
600
611
  {
601
- className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
602
- ref: progressNode,
603
- style: {
604
- animation: "autoplay-progress linear 1",
605
- animationPlayState: showAutoplayProgress ? "running" : "paused"
606
- }
612
+ size: "icon",
613
+ variant: "secondary",
614
+ onClick: toggleAutoplay,
615
+ asButton: true,
616
+ children: autoplayIsPlaying ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play", size: 16 })
607
617
  }
608
618
  )
609
- }
610
- ),
611
- /* @__PURE__ */ jsx(
612
- Pressable,
613
- {
614
- size: "icon",
615
- variant: "secondary",
616
- onClick: toggleAutoplay,
617
- asButton: true,
618
- children: autoplayIsPlaying ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play", size: 16 })
619
- }
620
- )
621
- ] }),
619
+ ]
620
+ }
621
+ ),
622
622
  /* @__PURE__ */ jsx("style", { children: `
623
623
  @keyframes autoplay-progress {
624
624
  from {
package/dist/registry.cjs CHANGED
@@ -19992,7 +19992,7 @@ function CarouselAutoplayProgress({
19992
19992
  slides,
19993
19993
  slidesSlot,
19994
19994
  options,
19995
- autoplayDelay = 3e3,
19995
+ autoplayDelay = 5e3,
19996
19996
  className,
19997
19997
  containerClassName,
19998
19998
  trackClassName,
@@ -20002,7 +20002,7 @@ function CarouselAutoplayProgress({
20002
20002
  dotsClassName,
20003
20003
  progressClassName,
20004
20004
  optixFlowConfig,
20005
- background = "white",
20005
+ background,
20006
20006
  spacing = "xl",
20007
20007
  pattern,
20008
20008
  patternOpacity
@@ -20024,71 +20024,97 @@ function CarouselAutoplayProgress({
20024
20024
  pattern,
20025
20025
  patternOpacity,
20026
20026
  children: [
20027
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
20027
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx(
20028
20028
  "div",
20029
20029
  {
20030
- className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
20030
+ className: cn(
20031
+ "ml-auto mr-3 flex touch-pan-y touch-pinch-zoom",
20032
+ trackClassName
20033
+ ),
20034
+ children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
20035
+ "div",
20036
+ {
20037
+ className: cn(
20038
+ "flex-[0_0_70%] transform-gpu pl-3",
20039
+ slideClassName,
20040
+ slide.className
20041
+ ),
20042
+ children: [
20043
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
20044
+ img.Img,
20045
+ {
20046
+ src: slide.src,
20047
+ alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
20048
+ className: cn(
20049
+ "h-full w-full object-cover",
20050
+ imageClassName,
20051
+ slide.imageClassName
20052
+ ),
20053
+ optixFlowConfig
20054
+ }
20055
+ ) }),
20056
+ slide.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: slide.content })
20057
+ ]
20058
+ },
20059
+ index
20060
+ ))
20061
+ }
20062
+ ) }),
20063
+ /* @__PURE__ */ jsxRuntime.jsxs(
20064
+ "div",
20065
+ {
20066
+ className: cn(
20067
+ "mx-auto mt-7 flex max-w-80 items-center justify-between gap-3",
20068
+ controlsClassName
20069
+ ),
20031
20070
  children: [
20032
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
20033
- img.Img,
20071
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
20072
+ "button",
20034
20073
  {
20035
- src: slide.src,
20036
- alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
20037
- className: cn("h-full w-full object-cover", imageClassName, slide.imageClassName),
20038
- optixFlowConfig
20074
+ type: "button",
20075
+ onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
20076
+ className: cn(
20077
+ "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
20078
+ index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
20079
+ )
20080
+ },
20081
+ index
20082
+ )) }),
20083
+ /* @__PURE__ */ jsxRuntime.jsx(
20084
+ "div",
20085
+ {
20086
+ className: cn(
20087
+ "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
20088
+ "bg-card text-card-foreground",
20089
+ showAutoplayProgress ? "opacity-100" : "opacity-0",
20090
+ progressClassName
20091
+ ),
20092
+ children: /* @__PURE__ */ jsxRuntime.jsx(
20093
+ "div",
20094
+ {
20095
+ className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
20096
+ ref: progressNode,
20097
+ style: {
20098
+ animation: "autoplay-progress linear 1",
20099
+ animationPlayState: showAutoplayProgress ? "running" : "paused"
20100
+ }
20101
+ }
20102
+ )
20039
20103
  }
20040
- ) }),
20041
- slide.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: slide.content })
20042
- ]
20043
- },
20044
- index
20045
- )) }) }),
20046
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto mt-7 flex max-w-80 items-center justify-between gap-3", controlsClassName), children: [
20047
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
20048
- "button",
20049
- {
20050
- type: "button",
20051
- onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
20052
- className: cn(
20053
- "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
20054
- index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
20055
- )
20056
- },
20057
- index
20058
- )) }),
20059
- /* @__PURE__ */ jsxRuntime.jsx(
20060
- "div",
20061
- {
20062
- className: cn(
20063
- "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
20064
- getNestedCardBg(background),
20065
- showAutoplayProgress ? "opacity-100" : "opacity-0",
20066
- progressClassName
20067
20104
  ),
20068
- children: /* @__PURE__ */ jsxRuntime.jsx(
20069
- "div",
20105
+ /* @__PURE__ */ jsxRuntime.jsx(
20106
+ pressable.Pressable,
20070
20107
  {
20071
- className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
20072
- ref: progressNode,
20073
- style: {
20074
- animation: "autoplay-progress linear 1",
20075
- animationPlayState: showAutoplayProgress ? "running" : "paused"
20076
- }
20108
+ size: "icon",
20109
+ variant: "secondary",
20110
+ onClick: toggleAutoplay,
20111
+ asButton: true,
20112
+ children: autoplayIsPlaying ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play", size: 16 })
20077
20113
  }
20078
20114
  )
20079
- }
20080
- ),
20081
- /* @__PURE__ */ jsxRuntime.jsx(
20082
- pressable.Pressable,
20083
- {
20084
- size: "icon",
20085
- variant: "secondary",
20086
- onClick: toggleAutoplay,
20087
- asButton: true,
20088
- children: autoplayIsPlaying ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play", size: 16 })
20089
- }
20090
- )
20091
- ] }),
20115
+ ]
20116
+ }
20117
+ ),
20092
20118
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
20093
20119
  @keyframes autoplay-progress {
20094
20120
  from {
package/dist/registry.js CHANGED
@@ -19952,7 +19952,7 @@ function CarouselAutoplayProgress({
19952
19952
  slides,
19953
19953
  slidesSlot,
19954
19954
  options,
19955
- autoplayDelay = 3e3,
19955
+ autoplayDelay = 5e3,
19956
19956
  className,
19957
19957
  containerClassName,
19958
19958
  trackClassName,
@@ -19962,7 +19962,7 @@ function CarouselAutoplayProgress({
19962
19962
  dotsClassName,
19963
19963
  progressClassName,
19964
19964
  optixFlowConfig,
19965
- background = "white",
19965
+ background,
19966
19966
  spacing = "xl",
19967
19967
  pattern,
19968
19968
  patternOpacity
@@ -19984,71 +19984,97 @@ function CarouselAutoplayProgress({
19984
19984
  pattern,
19985
19985
  patternOpacity,
19986
19986
  children: [
19987
- /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
19987
+ /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx(
19988
19988
  "div",
19989
19989
  {
19990
- className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
19990
+ className: cn(
19991
+ "ml-auto mr-3 flex touch-pan-y touch-pinch-zoom",
19992
+ trackClassName
19993
+ ),
19994
+ children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
19995
+ "div",
19996
+ {
19997
+ className: cn(
19998
+ "flex-[0_0_70%] transform-gpu pl-3",
19999
+ slideClassName,
20000
+ slide.className
20001
+ ),
20002
+ children: [
20003
+ /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
20004
+ Img,
20005
+ {
20006
+ src: slide.src,
20007
+ alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
20008
+ className: cn(
20009
+ "h-full w-full object-cover",
20010
+ imageClassName,
20011
+ slide.imageClassName
20012
+ ),
20013
+ optixFlowConfig
20014
+ }
20015
+ ) }),
20016
+ slide.content && /* @__PURE__ */ jsx("div", { className: "mt-4", children: slide.content })
20017
+ ]
20018
+ },
20019
+ index
20020
+ ))
20021
+ }
20022
+ ) }),
20023
+ /* @__PURE__ */ jsxs(
20024
+ "div",
20025
+ {
20026
+ className: cn(
20027
+ "mx-auto mt-7 flex max-w-80 items-center justify-between gap-3",
20028
+ controlsClassName
20029
+ ),
19991
20030
  children: [
19992
- /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
19993
- Img,
20031
+ /* @__PURE__ */ jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsx(
20032
+ "button",
19994
20033
  {
19995
- src: slide.src,
19996
- alt: typeof slide.alt === "string" ? slide.alt : `Slide ${index + 1}`,
19997
- className: cn("h-full w-full object-cover", imageClassName, slide.imageClassName),
19998
- optixFlowConfig
20034
+ type: "button",
20035
+ onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
20036
+ className: cn(
20037
+ "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
20038
+ index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
20039
+ )
20040
+ },
20041
+ index
20042
+ )) }),
20043
+ /* @__PURE__ */ jsx(
20044
+ "div",
20045
+ {
20046
+ className: cn(
20047
+ "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
20048
+ "bg-card text-card-foreground",
20049
+ showAutoplayProgress ? "opacity-100" : "opacity-0",
20050
+ progressClassName
20051
+ ),
20052
+ children: /* @__PURE__ */ jsx(
20053
+ "div",
20054
+ {
20055
+ className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
20056
+ ref: progressNode,
20057
+ style: {
20058
+ animation: "autoplay-progress linear 1",
20059
+ animationPlayState: showAutoplayProgress ? "running" : "paused"
20060
+ }
20061
+ }
20062
+ )
19999
20063
  }
20000
- ) }),
20001
- slide.content && /* @__PURE__ */ jsx("div", { className: "mt-4", children: slide.content })
20002
- ]
20003
- },
20004
- index
20005
- )) }) }),
20006
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mt-7 flex max-w-80 items-center justify-between gap-3", controlsClassName), children: [
20007
- /* @__PURE__ */ jsx("div", { className: cn("flex justify-center gap-2", dotsClassName), children: scrollSnaps.map((_, index) => /* @__PURE__ */ jsx(
20008
- "button",
20009
- {
20010
- type: "button",
20011
- onClick: () => onAutoplayButtonClick(() => onDotButtonClick(index)),
20012
- className: cn(
20013
- "h-3 w-3 rounded-full border-2 border-border transition-colors duration-200",
20014
- index === selectedIndex ? "bg-primary" : "bg-transparent hover:bg-muted"
20015
- )
20016
- },
20017
- index
20018
- )) }),
20019
- /* @__PURE__ */ jsx(
20020
- "div",
20021
- {
20022
- className: cn(
20023
- "relative h-2 w-40 max-w-[90%] justify-self-center self-center overflow-hidden rounded-[1.8rem] border-2 border-border transition-opacity duration-300 ease-in-out",
20024
- getNestedCardBg(background),
20025
- showAutoplayProgress ? "opacity-100" : "opacity-0",
20026
- progressClassName
20027
20064
  ),
20028
- children: /* @__PURE__ */ jsx(
20029
- "div",
20065
+ /* @__PURE__ */ jsx(
20066
+ Pressable,
20030
20067
  {
20031
- className: "absolute bottom-0 top-0 -left-full w-full bg-primary",
20032
- ref: progressNode,
20033
- style: {
20034
- animation: "autoplay-progress linear 1",
20035
- animationPlayState: showAutoplayProgress ? "running" : "paused"
20036
- }
20068
+ size: "icon",
20069
+ variant: "secondary",
20070
+ onClick: toggleAutoplay,
20071
+ asButton: true,
20072
+ children: autoplayIsPlaying ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play", size: 16 })
20037
20073
  }
20038
20074
  )
20039
- }
20040
- ),
20041
- /* @__PURE__ */ jsx(
20042
- Pressable,
20043
- {
20044
- size: "icon",
20045
- variant: "secondary",
20046
- onClick: toggleAutoplay,
20047
- asButton: true,
20048
- children: autoplayIsPlaying ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/pause", size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play", size: 16 })
20049
- }
20050
- )
20051
- ] }),
20075
+ ]
20076
+ }
20077
+ ),
20052
20078
  /* @__PURE__ */ jsx("style", { children: `
20053
20079
  @keyframes autoplay-progress {
20054
20080
  from {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "3.6.2",
3
+ "version": "3.6.3",
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",