@opensite/ui 0.7.5 → 0.7.7
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/carousel-animated-sections.cjs +10 -10
- package/dist/carousel-animated-sections.js +10 -10
- package/dist/carousel-fullscreen-scroll-fx.cjs +15 -13
- package/dist/carousel-fullscreen-scroll-fx.js +15 -13
- package/dist/carousel-multi-step-showcase.cjs +182 -105
- package/dist/carousel-multi-step-showcase.js +182 -105
- package/dist/carousel-progress-slider.cjs +38 -16
- package/dist/carousel-progress-slider.d.cts +9 -1
- package/dist/carousel-progress-slider.d.ts +9 -1
- package/dist/carousel-progress-slider.js +38 -16
- package/dist/registry.cjs +245 -144
- package/dist/registry.js +245 -144
- package/dist/utils.cjs +11 -0
- package/dist/utils.d.cts +6 -1
- package/dist/utils.d.ts +6 -1
- package/dist/utils.js +11 -1
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -78,6 +78,16 @@ var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMe
|
|
|
78
78
|
function cn(...inputs) {
|
|
79
79
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
80
80
|
}
|
|
81
|
+
var BRIGHTNESS_CLASS_MAP = {
|
|
82
|
+
"10": "brightness-[.1]",
|
|
83
|
+
"20": "brightness-[.2]",
|
|
84
|
+
"25": "brightness-[.25]",
|
|
85
|
+
"30": "brightness-[.3]",
|
|
86
|
+
"40": "brightness-[.4]",
|
|
87
|
+
"50": "brightness-50",
|
|
88
|
+
"75": "brightness-75",
|
|
89
|
+
"100": "brightness-100"
|
|
90
|
+
};
|
|
81
91
|
var maxWidthStyles = {
|
|
82
92
|
sm: "max-w-screen-sm",
|
|
83
93
|
md: "max-w-screen-md",
|
|
@@ -17279,16 +17289,6 @@ function ContactHelpCenter({
|
|
|
17279
17289
|
}
|
|
17280
17290
|
);
|
|
17281
17291
|
}
|
|
17282
|
-
var BRIGHTNESS_CLASS_MAP = {
|
|
17283
|
-
"10": "brightness-[.1]",
|
|
17284
|
-
"20": "brightness-[.2]",
|
|
17285
|
-
"25": "brightness-[.25]",
|
|
17286
|
-
"30": "brightness-[.3]",
|
|
17287
|
-
"40": "brightness-[.4]",
|
|
17288
|
-
"50": "brightness-50",
|
|
17289
|
-
"75": "brightness-75",
|
|
17290
|
-
"100": "brightness-100"
|
|
17291
|
-
};
|
|
17292
17292
|
function CarouselAnimatedSections({
|
|
17293
17293
|
sections,
|
|
17294
17294
|
sectionsSlot,
|
|
@@ -18280,7 +18280,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18280
18280
|
slides,
|
|
18281
18281
|
slidesSlot,
|
|
18282
18282
|
className,
|
|
18283
|
-
containerClassName = "h-full flex flex-col justify-center",
|
|
18283
|
+
containerClassName = "mx-auto w-full p-0 px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-full flex flex-col justify-center",
|
|
18284
18284
|
navigationClassName,
|
|
18285
18285
|
contentClassName,
|
|
18286
18286
|
subtitleClassName,
|
|
@@ -18302,9 +18302,9 @@ function CarouselFullscreenScrollFx({
|
|
|
18302
18302
|
const scrollContainer = scrollContainerRef.current;
|
|
18303
18303
|
if (!scrollContainer || !slides?.length) return;
|
|
18304
18304
|
const handleScroll = () => {
|
|
18305
|
-
const
|
|
18306
|
-
const
|
|
18307
|
-
const newIndex = Math.round(
|
|
18305
|
+
const scrollTop = scrollContainer.scrollTop;
|
|
18306
|
+
const slideHeight = scrollContainer.clientHeight;
|
|
18307
|
+
const newIndex = Math.round(scrollTop / slideHeight);
|
|
18308
18308
|
setActiveIndex(newIndex);
|
|
18309
18309
|
};
|
|
18310
18310
|
scrollContainer.addEventListener("scroll", handleScroll);
|
|
@@ -18313,14 +18313,14 @@ function CarouselFullscreenScrollFx({
|
|
|
18313
18313
|
const scrollToSlide = React52__namespace.useCallback((index) => {
|
|
18314
18314
|
const scrollContainer = scrollContainerRef.current;
|
|
18315
18315
|
if (!scrollContainer) return;
|
|
18316
|
-
const
|
|
18316
|
+
const slideHeight = scrollContainer.clientHeight;
|
|
18317
18317
|
if (typeof scrollContainer.scrollTo === "function") {
|
|
18318
18318
|
scrollContainer.scrollTo({
|
|
18319
|
-
|
|
18319
|
+
top: slideHeight * index,
|
|
18320
18320
|
behavior: "smooth"
|
|
18321
18321
|
});
|
|
18322
18322
|
} else {
|
|
18323
|
-
scrollContainer.
|
|
18323
|
+
scrollContainer.scrollTop = slideHeight * index;
|
|
18324
18324
|
}
|
|
18325
18325
|
}, []);
|
|
18326
18326
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -18333,7 +18333,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18333
18333
|
pattern,
|
|
18334
18334
|
patternOpacity,
|
|
18335
18335
|
containerMaxWidth,
|
|
18336
|
-
containerClassName
|
|
18336
|
+
containerClassName,
|
|
18337
18337
|
children: [
|
|
18338
18338
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18339
18339
|
"div",
|
|
@@ -18360,7 +18360,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18360
18360
|
"div",
|
|
18361
18361
|
{
|
|
18362
18362
|
ref: scrollContainerRef,
|
|
18363
|
-
className: "flex h-screen snap-
|
|
18363
|
+
className: "flex h-screen flex-col snap-y snap-mandatory overflow-x-hidden overflow-y-auto scroll-smooth",
|
|
18364
18364
|
style: { scrollbarWidth: "none", msOverflowStyle: "none" },
|
|
18365
18365
|
children: slidesSlot ? slidesSlot : slides?.map((slide, index) => {
|
|
18366
18366
|
const renderActions = React52__namespace.useMemo(() => {
|
|
@@ -18396,7 +18396,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18396
18396
|
{
|
|
18397
18397
|
id: `fullscreen-${slide.id}`,
|
|
18398
18398
|
className: cn(
|
|
18399
|
-
"relative flex h-screen min-w-full snap-start items-center justify-center overflow-hidden",
|
|
18399
|
+
"relative flex h-screen min-h-screen w-full snap-start items-center justify-center overflow-hidden",
|
|
18400
18400
|
slide.className
|
|
18401
18401
|
),
|
|
18402
18402
|
children: [
|
|
@@ -18427,7 +18427,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18427
18427
|
"div",
|
|
18428
18428
|
{
|
|
18429
18429
|
className: cn(
|
|
18430
|
-
"relative z-10 mx-auto max-w-4xl md:max-w-
|
|
18430
|
+
"relative z-10 mx-auto max-w-4xl md:max-w-xl px-6 text-center text-shadow",
|
|
18431
18431
|
contentClassName
|
|
18432
18432
|
),
|
|
18433
18433
|
children: [
|
|
@@ -18466,12 +18466,14 @@ function CarouselFullscreenScrollFx({
|
|
|
18466
18466
|
}
|
|
18467
18467
|
),
|
|
18468
18468
|
index < (slides?.length ?? 0) - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
18469
|
-
"
|
|
18469
|
+
"button",
|
|
18470
18470
|
{
|
|
18471
|
+
onClick: () => scrollToSlide(index + 1),
|
|
18471
18472
|
className: cn(
|
|
18472
|
-
"absolute bottom-8 left-1/2 -translate-x-1/2",
|
|
18473
|
+
"absolute bottom-8 left-1/2 -translate-x-1/2 cursor-pointer transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-white/50 focus-visible:ring-offset-2 focus-visible:ring-offset-black rounded-lg p-2",
|
|
18473
18474
|
scrollIndicatorClassName
|
|
18474
18475
|
),
|
|
18476
|
+
"aria-label": "Scroll to next slide",
|
|
18475
18477
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2", children: [
|
|
18476
18478
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs uppercase tracking-widest text-white/50", children: "Scroll" }),
|
|
18477
18479
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-px animate-pulse bg-linear-to-b from-white/50 to-transparent" })
|
|
@@ -18963,7 +18965,14 @@ function CarouselMultiStepShowcase({
|
|
|
18963
18965
|
if (actionsSlot) return actionsSlot;
|
|
18964
18966
|
if (!actions || actions.length === 0) return null;
|
|
18965
18967
|
return actions.map((action, index) => {
|
|
18966
|
-
const {
|
|
18968
|
+
const {
|
|
18969
|
+
label,
|
|
18970
|
+
icon,
|
|
18971
|
+
iconAfter,
|
|
18972
|
+
children,
|
|
18973
|
+
className: actionClassName,
|
|
18974
|
+
...pressableProps
|
|
18975
|
+
} = action;
|
|
18967
18976
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18968
18977
|
Pressable,
|
|
18969
18978
|
{
|
|
@@ -18973,7 +18982,14 @@ function CarouselMultiStepShowcase({
|
|
|
18973
18982
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18974
18983
|
icon,
|
|
18975
18984
|
label,
|
|
18976
|
-
iconAfter ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
18985
|
+
iconAfter ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
18986
|
+
DynamicIcon,
|
|
18987
|
+
{
|
|
18988
|
+
name: "lucide/arrow-right",
|
|
18989
|
+
size: 16,
|
|
18990
|
+
className: "ml-2"
|
|
18991
|
+
}
|
|
18992
|
+
)
|
|
18977
18993
|
] })
|
|
18978
18994
|
},
|
|
18979
18995
|
index
|
|
@@ -19007,124 +19023,187 @@ function CarouselMultiStepShowcase({
|
|
|
19007
19023
|
patternOpacity,
|
|
19008
19024
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container mx-auto px-4", containerClassName), children: [
|
|
19009
19025
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
19010
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19011
|
-
|
|
19026
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19027
|
+
"h2",
|
|
19028
|
+
{
|
|
19029
|
+
className: cn(
|
|
19030
|
+
"text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl",
|
|
19031
|
+
headingClassName
|
|
19032
|
+
),
|
|
19033
|
+
children: heading
|
|
19034
|
+
}
|
|
19035
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
19036
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19037
|
+
"p",
|
|
19038
|
+
{
|
|
19039
|
+
className: cn(
|
|
19040
|
+
"mt-4 text-lg text-muted-foreground",
|
|
19041
|
+
subheadingClassName
|
|
19042
|
+
),
|
|
19043
|
+
children: subheading
|
|
19044
|
+
}
|
|
19045
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: subheadingClassName, children: subheading }))
|
|
19012
19046
|
] }),
|
|
19013
|
-
stepsSlot ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: stepNavigationClassName, children: stepsSlot }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
19014
|
-
"
|
|
19047
|
+
stepsSlot ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: stepNavigationClassName, children: stepsSlot }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
19048
|
+
"div",
|
|
19015
19049
|
{
|
|
19016
|
-
onClick: () => goToStep(index),
|
|
19017
19050
|
className: cn(
|
|
19018
|
-
"
|
|
19019
|
-
|
|
19020
|
-
|
|
19051
|
+
"mb-8 flex flex-wrap justify-center gap-2",
|
|
19052
|
+
stepNavigationClassName
|
|
19053
|
+
),
|
|
19054
|
+
children: steps?.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19055
|
+
"button",
|
|
19056
|
+
{
|
|
19057
|
+
onClick: () => goToStep(index),
|
|
19058
|
+
className: cn(
|
|
19059
|
+
"flex items-center gap-2 rounded-full px-4 py-2 text-sm font-medium transition-all",
|
|
19060
|
+
activeStep === index ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground hover:bg-muted/80",
|
|
19061
|
+
step.className
|
|
19062
|
+
),
|
|
19063
|
+
children: [
|
|
19064
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19065
|
+
"span",
|
|
19066
|
+
{
|
|
19067
|
+
className: cn(
|
|
19068
|
+
"flex h-6 w-6 items-center justify-center rounded-full text-xs",
|
|
19069
|
+
activeStep === index ? "bg-primary-foreground text-primary" : "bg-background"
|
|
19070
|
+
),
|
|
19071
|
+
children: step.step
|
|
19072
|
+
}
|
|
19073
|
+
),
|
|
19074
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: typeof step.title === "string" ? step.title.split(":")[0] : step.title })
|
|
19075
|
+
]
|
|
19076
|
+
},
|
|
19077
|
+
step.id
|
|
19078
|
+
))
|
|
19079
|
+
}
|
|
19080
|
+
),
|
|
19081
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19082
|
+
"div",
|
|
19083
|
+
{
|
|
19084
|
+
className: cn(
|
|
19085
|
+
"mx-auto mb-12 h-1 max-w-2xl overflow-hidden rounded-full bg-muted",
|
|
19086
|
+
progressClassName
|
|
19087
|
+
),
|
|
19088
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19089
|
+
framerMotion.motion.div,
|
|
19090
|
+
{
|
|
19091
|
+
className: "h-full bg-primary",
|
|
19092
|
+
initial: { width: 0 },
|
|
19093
|
+
animate: {
|
|
19094
|
+
width: `${(activeStep + 1) / (steps?.length ?? 1) * 100}%`
|
|
19095
|
+
},
|
|
19096
|
+
transition: { duration: 0.3 }
|
|
19097
|
+
}
|
|
19098
|
+
)
|
|
19099
|
+
}
|
|
19100
|
+
),
|
|
19101
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19102
|
+
"div",
|
|
19103
|
+
{
|
|
19104
|
+
className: cn(
|
|
19105
|
+
"grid gap-8 lg:grid-cols-2 lg:gap-12",
|
|
19106
|
+
contentClassName
|
|
19021
19107
|
),
|
|
19022
19108
|
children: [
|
|
19023
19109
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19024
|
-
"
|
|
19110
|
+
"div",
|
|
19025
19111
|
{
|
|
19026
19112
|
className: cn(
|
|
19027
|
-
"
|
|
19028
|
-
|
|
19113
|
+
"relative aspect-video overflow-hidden rounded-xl bg-muted",
|
|
19114
|
+
imageClassName
|
|
19029
19115
|
),
|
|
19030
|
-
children:
|
|
19116
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19117
|
+
framerMotion.motion.div,
|
|
19118
|
+
{
|
|
19119
|
+
custom: direction,
|
|
19120
|
+
variants: slideVariants2,
|
|
19121
|
+
initial: "enter",
|
|
19122
|
+
animate: "center",
|
|
19123
|
+
exit: "exit",
|
|
19124
|
+
transition: { duration: 0.3, ease: "easeInOut" },
|
|
19125
|
+
className: cn(
|
|
19126
|
+
"absolute inset-0",
|
|
19127
|
+
steps?.[activeStep]?.imageClassName
|
|
19128
|
+
),
|
|
19129
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19130
|
+
img.Img,
|
|
19131
|
+
{
|
|
19132
|
+
src: steps?.[activeStep]?.image,
|
|
19133
|
+
alt: typeof steps?.[activeStep]?.title === "string" ? steps[activeStep].title : `Step ${activeStep + 1}`,
|
|
19134
|
+
className: "h-full w-full object-cover",
|
|
19135
|
+
optixFlowConfig
|
|
19136
|
+
}
|
|
19137
|
+
)
|
|
19138
|
+
},
|
|
19139
|
+
activeStep
|
|
19140
|
+
) })
|
|
19031
19141
|
}
|
|
19032
19142
|
),
|
|
19033
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
19034
|
-
|
|
19035
|
-
},
|
|
19036
|
-
step.id
|
|
19037
|
-
)) }),
|
|
19038
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mb-12 h-1 max-w-2xl overflow-hidden rounded-full bg-muted", progressClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19039
|
-
framerMotion.motion.div,
|
|
19040
|
-
{
|
|
19041
|
-
className: "h-full bg-primary",
|
|
19042
|
-
initial: { width: 0 },
|
|
19043
|
-
animate: {
|
|
19044
|
-
width: `${(activeStep + 1) / (steps?.length ?? 1) * 100}%`
|
|
19045
|
-
},
|
|
19046
|
-
transition: { duration: 0.3 }
|
|
19047
|
-
}
|
|
19048
|
-
) }),
|
|
19049
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2 lg:gap-12", contentClassName), children: [
|
|
19050
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative aspect-video overflow-hidden rounded-xl bg-muted", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19051
|
-
framerMotion.motion.div,
|
|
19052
|
-
{
|
|
19053
|
-
custom: direction,
|
|
19054
|
-
variants: slideVariants2,
|
|
19055
|
-
initial: "enter",
|
|
19056
|
-
animate: "center",
|
|
19057
|
-
exit: "exit",
|
|
19058
|
-
transition: { duration: 0.3, ease: "easeInOut" },
|
|
19059
|
-
className: cn("absolute inset-0", steps?.[activeStep]?.imageClassName),
|
|
19060
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19061
|
-
img.Img,
|
|
19143
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19144
|
+
framerMotion.motion.div,
|
|
19062
19145
|
{
|
|
19063
|
-
|
|
19064
|
-
|
|
19065
|
-
|
|
19066
|
-
|
|
19067
|
-
|
|
19068
|
-
|
|
19069
|
-
|
|
19070
|
-
|
|
19071
|
-
|
|
19072
|
-
|
|
19073
|
-
|
|
19074
|
-
|
|
19075
|
-
|
|
19076
|
-
|
|
19077
|
-
|
|
19078
|
-
|
|
19079
|
-
children: [
|
|
19080
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 inline-flex items-center gap-2 rounded-full bg-primary/10 px-3 py-1 text-sm font-medium text-primary", children: [
|
|
19081
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle", size: 16 }),
|
|
19082
|
-
"Step ",
|
|
19083
|
-
steps?.[activeStep]?.step,
|
|
19084
|
-
" of ",
|
|
19085
|
-
steps?.length ?? 0
|
|
19086
|
-
] }),
|
|
19087
|
-
steps?.[activeStep]?.title && (typeof steps[activeStep].title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold md:text-3xl", children: steps[activeStep].title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: steps[activeStep].title })),
|
|
19088
|
-
steps?.[activeStep]?.description && (typeof steps[activeStep].description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: steps[activeStep].description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: steps[activeStep].description })),
|
|
19089
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 flex gap-4", actionsClassName), children: [
|
|
19090
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19091
|
-
Pressable,
|
|
19092
|
-
{
|
|
19093
|
-
onClick: goToPrev,
|
|
19094
|
-
asButton: true,
|
|
19095
|
-
variant: "outline",
|
|
19096
|
-
disabled: activeStep === 0,
|
|
19097
|
-
className: "disabled:opacity-50",
|
|
19098
|
-
children: [
|
|
19099
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19100
|
-
DynamicIcon,
|
|
19101
|
-
{
|
|
19102
|
-
name: "lucide/arrow-left",
|
|
19103
|
-
size: 16,
|
|
19104
|
-
className: "mr-2"
|
|
19105
|
-
}
|
|
19106
|
-
),
|
|
19107
|
-
"Previous"
|
|
19108
|
-
]
|
|
19109
|
-
}
|
|
19110
|
-
),
|
|
19111
|
-
activeStep < (steps?.length ?? 0) - 1 ? /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { onClick: goToNext, asButton: true, children: [
|
|
19112
|
-
"Next",
|
|
19113
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19114
|
-
DynamicIcon,
|
|
19146
|
+
initial: { opacity: 0, y: 20 },
|
|
19147
|
+
animate: { opacity: 1, y: 0 },
|
|
19148
|
+
exit: { opacity: 0, y: -20 },
|
|
19149
|
+
transition: { duration: 0.3 },
|
|
19150
|
+
children: [
|
|
19151
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 inline-flex items-center gap-2 rounded-full bg-primary/10 px-3 py-1 text-sm font-medium text-primary", children: [
|
|
19152
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle", size: 16 }),
|
|
19153
|
+
"Step ",
|
|
19154
|
+
steps?.[activeStep]?.step,
|
|
19155
|
+
" of ",
|
|
19156
|
+
steps?.length ?? 0
|
|
19157
|
+
] }),
|
|
19158
|
+
steps?.[activeStep]?.title && (typeof steps[activeStep].title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold md:text-3xl", children: steps[activeStep].title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: steps[activeStep].title })),
|
|
19159
|
+
steps?.[activeStep]?.description && (typeof steps[activeStep].description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: steps[activeStep].description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: steps[activeStep].description })),
|
|
19160
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19161
|
+
"div",
|
|
19115
19162
|
{
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19163
|
+
className: cn("mt-8 flex gap-3 flex-wrap", actionsClassName),
|
|
19164
|
+
children: [
|
|
19165
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19166
|
+
Pressable,
|
|
19167
|
+
{
|
|
19168
|
+
onClick: goToPrev,
|
|
19169
|
+
asButton: true,
|
|
19170
|
+
variant: "outline",
|
|
19171
|
+
disabled: activeStep === 0,
|
|
19172
|
+
className: "disabled:opacity-50",
|
|
19173
|
+
children: [
|
|
19174
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19175
|
+
DynamicIcon,
|
|
19176
|
+
{
|
|
19177
|
+
name: "lucide/arrow-left",
|
|
19178
|
+
size: 16,
|
|
19179
|
+
className: "mr-2"
|
|
19180
|
+
}
|
|
19181
|
+
),
|
|
19182
|
+
"Previous"
|
|
19183
|
+
]
|
|
19184
|
+
}
|
|
19185
|
+
),
|
|
19186
|
+
activeStep < (steps?.length ?? 0) - 1 ? /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { onClick: goToNext, asButton: true, children: [
|
|
19187
|
+
"Next",
|
|
19188
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19189
|
+
DynamicIcon,
|
|
19190
|
+
{
|
|
19191
|
+
name: "lucide/arrow-right",
|
|
19192
|
+
size: 16,
|
|
19193
|
+
className: "ml-2"
|
|
19194
|
+
}
|
|
19195
|
+
)
|
|
19196
|
+
] }) : (actionsSlot || actions && actions.length > 0) && renderActions()
|
|
19197
|
+
]
|
|
19119
19198
|
}
|
|
19120
19199
|
)
|
|
19121
|
-
]
|
|
19122
|
-
|
|
19123
|
-
|
|
19124
|
-
|
|
19125
|
-
|
|
19126
|
-
|
|
19127
|
-
|
|
19200
|
+
]
|
|
19201
|
+
},
|
|
19202
|
+
activeStep
|
|
19203
|
+
) }) })
|
|
19204
|
+
]
|
|
19205
|
+
}
|
|
19206
|
+
)
|
|
19128
19207
|
] })
|
|
19129
19208
|
}
|
|
19130
19209
|
);
|
|
@@ -19514,6 +19593,8 @@ function SliderWrapper({ children, value, className }) {
|
|
|
19514
19593
|
) });
|
|
19515
19594
|
}
|
|
19516
19595
|
function CarouselProgressSlider({
|
|
19596
|
+
heading,
|
|
19597
|
+
subheading,
|
|
19517
19598
|
slides,
|
|
19518
19599
|
slidesSlot,
|
|
19519
19600
|
duration = 5e3,
|
|
@@ -19527,8 +19608,8 @@ function CarouselProgressSlider({
|
|
|
19527
19608
|
buttonClassName,
|
|
19528
19609
|
progressBarClassName,
|
|
19529
19610
|
optixFlowConfig,
|
|
19530
|
-
background
|
|
19531
|
-
spacing
|
|
19611
|
+
background,
|
|
19612
|
+
spacing,
|
|
19532
19613
|
pattern,
|
|
19533
19614
|
patternOpacity
|
|
19534
19615
|
}) {
|
|
@@ -19594,12 +19675,14 @@ function CarouselProgressSlider({
|
|
|
19594
19675
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19595
19676
|
Section,
|
|
19596
19677
|
{
|
|
19678
|
+
title: heading,
|
|
19679
|
+
subtitle: subheading,
|
|
19597
19680
|
background,
|
|
19598
19681
|
spacing,
|
|
19599
19682
|
className: cn(className),
|
|
19600
19683
|
pattern,
|
|
19601
19684
|
patternOpacity,
|
|
19602
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("
|
|
19685
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19603
19686
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative min-h-[300px]", imageClassName), children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19604
19687
|
SliderWrapper,
|
|
19605
19688
|
{
|
|
@@ -19610,26 +19693,44 @@ function CarouselProgressSlider({
|
|
|
19610
19693
|
{
|
|
19611
19694
|
src: slide.image,
|
|
19612
19695
|
alt: typeof slide.title === "string" ? slide.title : `Slide ${slide.id}`,
|
|
19613
|
-
className: cn(
|
|
19696
|
+
className: cn(
|
|
19697
|
+
"h-full w-full object-cover",
|
|
19698
|
+
slide.imageClassName
|
|
19699
|
+
),
|
|
19614
19700
|
optixFlowConfig
|
|
19615
19701
|
}
|
|
19616
19702
|
) })
|
|
19617
19703
|
},
|
|
19618
19704
|
slide.id
|
|
19619
19705
|
)) }),
|
|
19620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19621
|
-
|
|
19706
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19707
|
+
"div",
|
|
19622
19708
|
{
|
|
19623
|
-
|
|
19624
|
-
|
|
19625
|
-
|
|
19626
|
-
|
|
19627
|
-
|
|
19628
|
-
|
|
19629
|
-
|
|
19630
|
-
|
|
19631
|
-
|
|
19632
|
-
|
|
19709
|
+
className: cn(
|
|
19710
|
+
"flex flex-col justify-center gap-4",
|
|
19711
|
+
navigationClassName
|
|
19712
|
+
),
|
|
19713
|
+
children: slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19714
|
+
SliderBtn,
|
|
19715
|
+
{
|
|
19716
|
+
value: slide.id,
|
|
19717
|
+
className: cn(
|
|
19718
|
+
"rounded-lg border p-4 text-left transition-colors hover:bg-muted",
|
|
19719
|
+
buttonClassName
|
|
19720
|
+
),
|
|
19721
|
+
progressBarClass: cn(
|
|
19722
|
+
"bottom-0 h-1 bg-primary",
|
|
19723
|
+
progressBarClassName
|
|
19724
|
+
),
|
|
19725
|
+
children: [
|
|
19726
|
+
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 })),
|
|
19727
|
+
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 }))
|
|
19728
|
+
]
|
|
19729
|
+
},
|
|
19730
|
+
slide.id
|
|
19731
|
+
))
|
|
19732
|
+
}
|
|
19733
|
+
)
|
|
19633
19734
|
] }) })
|
|
19634
19735
|
}
|
|
19635
19736
|
)
|