@opensite/ui 3.1.6 → 3.1.8

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/registry.cjs CHANGED
@@ -20249,8 +20249,8 @@ function CarouselFullscreenScrollFx({
20249
20249
  {
20250
20250
  onClick: () => scrollToSlide(index),
20251
20251
  className: cn(
20252
- "h-3 w-3 rounded-full border-2 transition-all",
20253
- activeIndex === index ? "scale-125 border-foreground bg-foreground" : "border-foreground/50 bg-transparent hover:border-foreground"
20252
+ "h-3 w-3 rounded-full border-2 transition-all cursor-pointer",
20253
+ activeIndex === index ? "scale-125 border-white bg-white" : "border-white bg-transparent hover:bg-white"
20254
20254
  ),
20255
20255
  "aria-label": `Go to ${typeof slide.title === "string" ? slide.title : `Slide ${index + 1}`}`
20256
20256
  },
@@ -20359,7 +20359,8 @@ function CarouselFullscreenScrollFx({
20359
20359
  "div",
20360
20360
  {
20361
20361
  className: cn(
20362
- "relative z-10 mx-auto max-w-4xl md:max-w-xl px-6 text-center text-shadow",
20362
+ "relative z-10 mx-auto max-w-full md:max-w-md",
20363
+ "px-6 text-center text-shadow",
20363
20364
  contentClassName
20364
20365
  ),
20365
20366
  children: [
@@ -20564,7 +20565,7 @@ function CarouselGalleryThumbnails({
20564
20565
  {
20565
20566
  src: image.src,
20566
20567
  alt: `Thumbnail ${index + 1}`,
20567
- className: "h-full w-full rounded-sm object-cover",
20568
+ className: "h-full w-full rounded-lg object-cover",
20568
20569
  optixFlowConfig
20569
20570
  }
20570
20571
  )
@@ -20873,87 +20874,96 @@ function CarouselImageHero({
20873
20874
  patternOpacity,
20874
20875
  containerClassName,
20875
20876
  children: [
20876
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("absolute inset-0", imageClassName), children: [
20877
- !hasImages ? null : images?.map((image, index) => /* @__PURE__ */ jsxRuntime.jsxs(
20878
- "div",
20879
- {
20880
- className: cn(
20881
- "absolute inset-0 transition-opacity duration-1000",
20882
- index === currentImageIndex ? "opacity-100" : "opacity-0"
20883
- ),
20884
- children: [
20885
- /* @__PURE__ */ jsxRuntime.jsx(
20886
- img.Img,
20887
- {
20888
- src: image.src,
20889
- alt: image.alt,
20890
- className: cn("h-full w-full object-cover", image.className),
20891
- optixFlowConfig
20892
- }
20893
- ),
20894
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/40" })
20895
- ]
20896
- },
20897
- index
20898
- )),
20899
- /* @__PURE__ */ jsxRuntime.jsxs(
20900
- "div",
20901
- {
20902
- className: cn(
20903
- "absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 items-center justify-center gap-5",
20904
- indicatorsClassName
20905
- ),
20906
- children: [
20907
- /* @__PURE__ */ jsxRuntime.jsx(
20908
- pressable.Pressable,
20909
- {
20910
- onClick: handlePrev,
20911
- asButton: true,
20912
- variant: "ghost",
20913
- size: "icon",
20914
- className: cn(
20915
- "flex size-6 cursor-pointer items-center justify-center rounded-full p-0.5 opacity-80 hover:opacity-100 active:scale-95 bg-white/20 text-white backdrop-blur-sm"
20877
+ /* @__PURE__ */ jsxRuntime.jsxs(
20878
+ "div",
20879
+ {
20880
+ className: cn(
20881
+ "absolute inset-0 mx-4 md:mx-8 rounded-2xl overflow-hidden",
20882
+ imageClassName
20883
+ ),
20884
+ children: [
20885
+ !hasImages ? null : images?.map((image, index) => /* @__PURE__ */ jsxRuntime.jsxs(
20886
+ "div",
20887
+ {
20888
+ className: cn(
20889
+ "absolute inset-0 transition-opacity duration-1000",
20890
+ index === currentImageIndex ? "opacity-100" : "opacity-0"
20891
+ ),
20892
+ children: [
20893
+ /* @__PURE__ */ jsxRuntime.jsx(
20894
+ img.Img,
20895
+ {
20896
+ src: image.src,
20897
+ alt: image.alt,
20898
+ className: cn("h-full w-full object-cover", image.className),
20899
+ optixFlowConfig
20900
+ }
20916
20901
  ),
20917
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
20918
- }
20919
- ),
20920
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center gap-1", children: images?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
20921
- framerMotion.motion.button,
20922
- {
20923
- initial: false,
20924
- onClick: () => handleDotClick(index),
20925
- animate: {
20926
- width: index === currentImageIndex ? "30px" : "8px"
20927
- },
20928
- className: "relative flex h-2 cursor-pointer items-center justify-center overflow-hidden rounded-full p-0.5 bg-white/50",
20929
- "aria-label": `Go to image ${index + 1}`,
20930
- children: currentImageIndex === index && /* @__PURE__ */ jsxRuntime.jsx(
20931
- framerMotion.motion.div,
20902
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/40" })
20903
+ ]
20904
+ },
20905
+ index
20906
+ )),
20907
+ /* @__PURE__ */ jsxRuntime.jsxs(
20908
+ "div",
20909
+ {
20910
+ className: cn(
20911
+ "absolute bottom-6 left-1/2 z-20 flex -translate-x-1/2 items-center justify-center gap-5",
20912
+ indicatorsClassName
20913
+ ),
20914
+ children: [
20915
+ /* @__PURE__ */ jsxRuntime.jsx(
20916
+ pressable.Pressable,
20932
20917
  {
20933
- style: { clipPath },
20934
- className: "absolute left-0 top-0 h-full w-full origin-left rounded-full bg-white"
20918
+ onClick: handlePrev,
20919
+ asButton: true,
20920
+ variant: "ghost",
20921
+ size: "icon",
20922
+ className: cn(
20923
+ "flex size-6 cursor-pointer items-center justify-center rounded-full p-0.5 opacity-80 hover:opacity-100 active:scale-95 bg-white/20 text-white backdrop-blur-sm"
20924
+ ),
20925
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
20935
20926
  }
20936
- )
20937
- },
20938
- index
20939
- )) }),
20940
- /* @__PURE__ */ jsxRuntime.jsx(
20941
- pressable.Pressable,
20942
- {
20943
- onClick: handleNext,
20944
- asButton: true,
20945
- variant: "ghost",
20946
- size: "icon",
20947
- className: cn(
20948
- "flex size-6 cursor-pointer items-center justify-center rounded-full p-0.5 opacity-80 hover:opacity-100 active:scale-95 bg-white/20 text-white backdrop-blur-sm"
20949
20927
  ),
20950
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
20951
- }
20952
- )
20953
- ]
20954
- }
20955
- )
20956
- ] }),
20928
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center gap-1", children: images?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
20929
+ framerMotion.motion.button,
20930
+ {
20931
+ initial: false,
20932
+ onClick: () => handleDotClick(index),
20933
+ animate: {
20934
+ width: index === currentImageIndex ? "30px" : "8px"
20935
+ },
20936
+ className: "relative flex h-2 cursor-pointer items-center justify-center overflow-hidden rounded-full p-0.5 bg-white/50",
20937
+ "aria-label": `Go to image ${index + 1}`,
20938
+ children: currentImageIndex === index && /* @__PURE__ */ jsxRuntime.jsx(
20939
+ framerMotion.motion.div,
20940
+ {
20941
+ style: { clipPath },
20942
+ className: "absolute left-0 top-0 h-full w-full origin-left rounded-full bg-white"
20943
+ }
20944
+ )
20945
+ },
20946
+ index
20947
+ )) }),
20948
+ /* @__PURE__ */ jsxRuntime.jsx(
20949
+ pressable.Pressable,
20950
+ {
20951
+ onClick: handleNext,
20952
+ asButton: true,
20953
+ variant: "ghost",
20954
+ size: "icon",
20955
+ className: cn(
20956
+ "flex size-6 cursor-pointer items-center justify-center rounded-full p-0.5 opacity-80 hover:opacity-100 active:scale-95 bg-white/20 text-white backdrop-blur-sm"
20957
+ ),
20958
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
20959
+ }
20960
+ )
20961
+ ]
20962
+ }
20963
+ )
20964
+ ]
20965
+ }
20966
+ ),
20957
20967
  /* @__PURE__ */ jsxRuntime.jsx(
20958
20968
  "div",
20959
20969
  {
@@ -20992,14 +21002,14 @@ function CarouselImageHero({
20992
21002
  }
20993
21003
  ) : description)
20994
21004
  ] }),
20995
- /* @__PURE__ */ jsxRuntime.jsx(
21005
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center items-center", children: /* @__PURE__ */ jsxRuntime.jsx(
20996
21006
  BlockActions,
20997
21007
  {
20998
21008
  actions,
20999
21009
  actionsSlot,
21000
21010
  actionsClassName
21001
21011
  }
21002
- )
21012
+ ) })
21003
21013
  ] })
21004
21014
  }
21005
21015
  )
@@ -21504,7 +21514,7 @@ function CarouselProductFeatureShowcase({
21504
21514
  actions,
21505
21515
  actionsSlot,
21506
21516
  className,
21507
- containerClassName,
21517
+ containerClassName = "px-4 md:px-10 lg:px-16",
21508
21518
  headerClassName,
21509
21519
  headingClassName,
21510
21520
  subheadingClassName,
@@ -21593,7 +21603,8 @@ function CarouselProductFeatureShowcase({
21593
21603
  className: cn(className),
21594
21604
  pattern,
21595
21605
  patternOpacity,
21596
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", containerClassName), children: [
21606
+ containerClassName,
21607
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
21597
21608
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
21598
21609
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21599
21610
  "h2",
@@ -21604,17 +21615,14 @@ function CarouselProductFeatureShowcase({
21604
21615
  ),
21605
21616
  children: heading
21606
21617
  }
21607
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
21618
+ ) : heading),
21608
21619
  subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21609
21620
  "p",
21610
21621
  {
21611
- className: cn(
21612
- "mt-4 text-lg text-muted-foreground",
21613
- subheadingClassName
21614
- ),
21622
+ className: cn("mt-4 text-lg text-balance", subheadingClassName),
21615
21623
  children: subheading
21616
21624
  }
21617
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: subheadingClassName, children: subheading }))
21625
+ ) : subheading)
21618
21626
  ] }),
21619
21627
  featuresSlot ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName, children: featuresSlot }) : /* @__PURE__ */ jsxRuntime.jsxs(
21620
21628
  "div",
@@ -21702,7 +21710,7 @@ function CarouselProductFeatureShowcase({
21702
21710
  transition: { duration: 0.3 },
21703
21711
  children: [
21704
21712
  activeFeature?.title && (typeof activeFeature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold md:text-3xl", children: activeFeature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: activeFeature.title })),
21705
- activeFeature?.description && (typeof activeFeature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: activeFeature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: activeFeature.description })),
21713
+ activeFeature?.description && (typeof activeFeature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-lg text-balance", children: activeFeature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: activeFeature.description })),
21706
21714
  activeFeature?.colors && activeFeature.colors.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-6", colorSelectorClassName), children: [
21707
21715
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-sm font-medium", children: "Available Colors" }),
21708
21716
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-3", children: activeFeature.colors.map((color, index) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -21819,7 +21827,7 @@ function CarouselProgressSlider({
21819
21827
  fastDuration = 400,
21820
21828
  vertical = false,
21821
21829
  className,
21822
- containerClassName,
21830
+ containerClassName = "px-4 md:px-10 lg:px-16",
21823
21831
  contentClassName,
21824
21832
  imageClassName,
21825
21833
  navigationClassName,
@@ -21913,76 +21921,86 @@ function CarouselProgressSlider({
21913
21921
  className: cn(className),
21914
21922
  pattern,
21915
21923
  patternOpacity,
21916
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-4 lg:gap-8 lg:grid-cols-2", contentClassName), children: [
21917
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-video", children: [
21918
- slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
21919
- SliderWrapper,
21920
- {
21921
- value: slide.id,
21922
- className: cn("absolute inset-0", slide.className),
21923
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
21924
- img.Img,
21924
+ containerClassName,
21925
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
21926
+ "div",
21927
+ {
21928
+ className: cn(
21929
+ "grid gap-4 lg:gap-8 lg:grid-cols-2",
21930
+ contentClassName
21931
+ ),
21932
+ children: [
21933
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-video", children: [
21934
+ slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
21935
+ SliderWrapper,
21925
21936
  {
21926
- src: slide.image,
21927
- alt: typeof slide.title === "string" ? slide.title : `Slide ${slide.id}`,
21928
- className: cn(
21929
- "h-full w-full object-cover",
21930
- slide.imageClassName
21931
- ),
21932
- optixFlowConfig
21933
- }
21934
- ) })
21935
- },
21936
- slide.id
21937
- )),
21938
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-4 left-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
21939
- pressable.Pressable,
21940
- {
21941
- onClick: togglePause,
21942
- asButton: true,
21943
- variant: "outline",
21944
- size: "icon",
21945
- className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted/80 backdrop-blur-sm",
21946
- "aria-label": isPaused ? "Play" : "Pause",
21947
- children: /* @__PURE__ */ jsxRuntime.jsx(
21948
- DynamicIcon,
21937
+ value: slide.id,
21938
+ className: cn("absolute inset-0", slide.className),
21939
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
21940
+ img.Img,
21941
+ {
21942
+ src: slide.image,
21943
+ alt: typeof slide.title === "string" ? slide.title : `Slide ${slide.id}`,
21944
+ className: cn(
21945
+ "h-full w-full object-cover",
21946
+ slide.imageClassName
21947
+ ),
21948
+ optixFlowConfig
21949
+ }
21950
+ ) })
21951
+ },
21952
+ slide.id
21953
+ )),
21954
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-4 left-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
21955
+ pressable.Pressable,
21949
21956
  {
21950
- name: isPaused ? "lucide/play" : "lucide/pause",
21951
- size: 18
21957
+ onClick: togglePause,
21958
+ asButton: true,
21959
+ variant: "outline",
21960
+ size: "icon",
21961
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted/80 backdrop-blur-sm",
21962
+ "aria-label": isPaused ? "Play" : "Pause",
21963
+ children: /* @__PURE__ */ jsxRuntime.jsx(
21964
+ DynamicIcon,
21965
+ {
21966
+ name: isPaused ? "lucide/play" : "lucide/pause",
21967
+ size: 18
21968
+ }
21969
+ )
21952
21970
  }
21953
- )
21954
- }
21955
- ) })
21956
- ] }) }),
21957
- /* @__PURE__ */ jsxRuntime.jsx(
21958
- "div",
21959
- {
21960
- className: cn(
21961
- "flex flex-col justify-center gap-4",
21962
- navigationClassName
21963
- ),
21964
- children: slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsxs(
21965
- SliderBtn,
21971
+ ) })
21972
+ ] }) }),
21973
+ /* @__PURE__ */ jsxRuntime.jsx(
21974
+ "div",
21966
21975
  {
21967
- value: slide.id,
21968
21976
  className: cn(
21969
- "rounded-lg border p-4 text-left transition-colors hover:bg-muted",
21970
- buttonClassName
21971
- ),
21972
- progressBarClass: cn(
21973
- "bottom-0 h-1 bg-primary",
21974
- progressBarClassName
21977
+ "flex flex-col justify-center gap-4",
21978
+ navigationClassName
21975
21979
  ),
21976
- children: [
21977
- slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold", children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: slide.title })),
21978
- slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: slide.description }))
21979
- ]
21980
- },
21981
- slide.id
21982
- ))
21983
- }
21984
- )
21985
- ] }) })
21980
+ children: slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsxs(
21981
+ SliderBtn,
21982
+ {
21983
+ value: slide.id,
21984
+ className: cn(
21985
+ "rounded-lg border p-4 text-left transition-colors hover:bg-muted",
21986
+ buttonClassName
21987
+ ),
21988
+ progressBarClass: cn(
21989
+ "bottom-0 h-1 bg-primary",
21990
+ progressBarClassName
21991
+ ),
21992
+ children: [
21993
+ slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold", children: slide.title }) : slide.title),
21994
+ slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-balance", children: slide.description }) : slide.description)
21995
+ ]
21996
+ },
21997
+ slide.id
21998
+ ))
21999
+ }
22000
+ )
22001
+ ]
22002
+ }
22003
+ ) })
21986
22004
  }
21987
22005
  )
21988
22006
  }
@@ -22063,13 +22081,19 @@ function CarouselScrollingFeatureShowcase({
22063
22081
  "h2",
22064
22082
  {
22065
22083
  className: cn(
22066
- "text-3xl font-bold tracking-tight md:text-4xl",
22084
+ "text-3xl font-bold tracking-tight md:text-4xl text-pretty",
22067
22085
  headingClassName
22068
22086
  ),
22069
22087
  children: heading
22070
22088
  }
22071
22089
  ) : heading),
22072
- subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", subheadingClassName), children: subheading }) : subheading)
22090
+ subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22091
+ "p",
22092
+ {
22093
+ className: cn("mt-4 text-lg text-balance", subheadingClassName),
22094
+ children: subheading
22095
+ }
22096
+ ) : subheading)
22073
22097
  ] }),
22074
22098
  /* @__PURE__ */ jsxRuntime.jsxs(
22075
22099
  "div",