@opensite/ui 2.3.7 → 2.3.9

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.js CHANGED
@@ -1,5 +1,5 @@
1
- import * as React26 from 'react';
2
- import React26__default, { Fragment, createContext, useMemo, forwardRef, useCallback, useState, useEffect, useRef, startTransition, useContext } from 'react';
1
+ import * as React27 from 'react';
2
+ import React27__default, { Fragment, createContext, useMemo, forwardRef, useCallback, useState, useEffect, useRef, startTransition, useContext } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
@@ -140,7 +140,7 @@ var maxWidthStyles = {
140
140
  "4xl": "max-w-[1536px]",
141
141
  full: "max-w-full"
142
142
  };
143
- var Container = React26__default.forwardRef(
143
+ var Container = React27__default.forwardRef(
144
144
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
145
145
  const Component = as;
146
146
  return /* @__PURE__ */ jsx(
@@ -445,7 +445,7 @@ var spacingStyles = {
445
445
  };
446
446
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
447
447
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
448
- var Section = React26__default.forwardRef(
448
+ var Section = React27__default.forwardRef(
449
449
  ({
450
450
  id,
451
451
  title,
@@ -510,12 +510,12 @@ function TextInner({ as, className, children, ...props }, ref) {
510
510
  const Component = as || "span";
511
511
  return /* @__PURE__ */ jsx(Component, { ref, className: cn(className), ...props, children });
512
512
  }
513
- var Text = React26.forwardRef(TextInner);
513
+ var Text = React27.forwardRef(TextInner);
514
514
  Text.displayName = "Text";
515
515
  function isContentTextItem(item) {
516
- return item !== null && typeof item === "object" && !React26.isValidElement(item) && "_type" in item && item._type === "text";
516
+ return item !== null && typeof item === "object" && !React27.isValidElement(item) && "_type" in item && item._type === "text";
517
517
  }
518
- var ContentGroup = React26.forwardRef(
518
+ var ContentGroup = React27.forwardRef(
519
519
  ({ items, className, children, ...props }, ref) => {
520
520
  const hasContent = items && items.length > 0;
521
521
  if (!hasContent) {
@@ -528,10 +528,10 @@ var ContentGroup = React26.forwardRef(
528
528
  return /* @__PURE__ */ jsx(Text, { ...textProps }, idx);
529
529
  }
530
530
  const reactNode = item;
531
- if (React26.isValidElement(reactNode)) {
532
- return React26.cloneElement(reactNode, { key: reactNode.key ?? idx });
531
+ if (React27.isValidElement(reactNode)) {
532
+ return React27.cloneElement(reactNode, { key: reactNode.key ?? idx });
533
533
  }
534
- return /* @__PURE__ */ jsx(React26.Fragment, { children: reactNode }, idx);
534
+ return /* @__PURE__ */ jsx(React27.Fragment, { children: reactNode }, idx);
535
535
  }),
536
536
  children
537
537
  ] });
@@ -1112,7 +1112,7 @@ function useNavigation({
1112
1112
  href,
1113
1113
  onClick
1114
1114
  } = {}) {
1115
- const linkType = React26.useMemo(() => {
1115
+ const linkType = React27.useMemo(() => {
1116
1116
  if (!href || href.trim() === "") {
1117
1117
  return onClick ? "none" : "none";
1118
1118
  }
@@ -1133,7 +1133,7 @@ function useNavigation({
1133
1133
  return "internal";
1134
1134
  }
1135
1135
  }, [href, onClick]);
1136
- const normalizedHref = React26.useMemo(() => {
1136
+ const normalizedHref = React27.useMemo(() => {
1137
1137
  if (!href || href.trim() === "") {
1138
1138
  return void 0;
1139
1139
  }
@@ -1151,7 +1151,7 @@ function useNavigation({
1151
1151
  return trimmed;
1152
1152
  }
1153
1153
  }, [href, linkType]);
1154
- const target = React26.useMemo(() => {
1154
+ const target = React27.useMemo(() => {
1155
1155
  switch (linkType) {
1156
1156
  case "external":
1157
1157
  return "_blank";
@@ -1164,7 +1164,7 @@ function useNavigation({
1164
1164
  return void 0;
1165
1165
  }
1166
1166
  }, [linkType]);
1167
- const rel = React26.useMemo(() => {
1167
+ const rel = React27.useMemo(() => {
1168
1168
  if (linkType === "external") {
1169
1169
  return "noopener noreferrer";
1170
1170
  }
@@ -1173,7 +1173,7 @@ function useNavigation({
1173
1173
  const isExternal = linkType === "external";
1174
1174
  const isInternal = linkType === "internal";
1175
1175
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
1176
- const handleClick = React26.useCallback(
1176
+ const handleClick = React27.useCallback(
1177
1177
  (event) => {
1178
1178
  if (onClick) {
1179
1179
  try {
@@ -1357,7 +1357,7 @@ var buttonVariants = cva(baseStyles, {
1357
1357
  size: "default"
1358
1358
  }
1359
1359
  });
1360
- var Pressable = React26.forwardRef(
1360
+ var Pressable = React27.forwardRef(
1361
1361
  ({
1362
1362
  children,
1363
1363
  className,
@@ -1924,10 +1924,10 @@ var ImageSlider = ({
1924
1924
  optixFlowConfig
1925
1925
  }) => {
1926
1926
  const hasImages = images.length > 0;
1927
- const [currentIndex, setCurrentIndex] = React26.useState(
1927
+ const [currentIndex, setCurrentIndex] = React27.useState(
1928
1928
  () => normalizeIndex(startIndex, images.length)
1929
1929
  );
1930
- const handleNext = React26.useCallback(() => {
1930
+ const handleNext = React27.useCallback(() => {
1931
1931
  if (!hasImages) return;
1932
1932
  setCurrentIndex((prevIndex) => {
1933
1933
  const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
@@ -1935,7 +1935,7 @@ var ImageSlider = ({
1935
1935
  return nextIndex;
1936
1936
  });
1937
1937
  }, [hasImages, images.length, onSlideChange]);
1938
- const handlePrevious = React26.useCallback(() => {
1938
+ const handlePrevious = React27.useCallback(() => {
1939
1939
  if (!hasImages) return;
1940
1940
  setCurrentIndex((prevIndex) => {
1941
1941
  const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
@@ -1943,11 +1943,11 @@ var ImageSlider = ({
1943
1943
  return nextIndex;
1944
1944
  });
1945
1945
  }, [hasImages, images.length, onSlideChange]);
1946
- React26.useEffect(() => {
1946
+ React27.useEffect(() => {
1947
1947
  if (!hasImages) return;
1948
1948
  setCurrentIndex(normalizeIndex(startIndex, images.length));
1949
1949
  }, [startIndex, images.length, hasImages]);
1950
- React26.useEffect(() => {
1950
+ React27.useEffect(() => {
1951
1951
  if (!enableKeyboard || !hasImages) return;
1952
1952
  const handleKeyDown = (event) => {
1953
1953
  if (event.key === "ArrowRight") {
@@ -1961,7 +1961,7 @@ var ImageSlider = ({
1961
1961
  window.removeEventListener("keydown", handleKeyDown);
1962
1962
  };
1963
1963
  }, [enableKeyboard, handleNext, handlePrevious, hasImages]);
1964
- React26.useEffect(() => {
1964
+ React27.useEffect(() => {
1965
1965
  if (!autoplay || images.length < 2) return;
1966
1966
  const interval = window.setInterval(handleNext, autoplayIntervalMs);
1967
1967
  return () => window.clearInterval(interval);
@@ -2257,7 +2257,7 @@ var platformIconMap = {
2257
2257
  dribbble: "cib/dribbble",
2258
2258
  unknown: "icon-park-solid/circular-connection"
2259
2259
  };
2260
- var SocialLinkIcon = React26.forwardRef(
2260
+ var SocialLinkIcon = React27.forwardRef(
2261
2261
  ({
2262
2262
  platformName,
2263
2263
  label,
@@ -2270,13 +2270,13 @@ var SocialLinkIcon = React26.forwardRef(
2270
2270
  ...pressableProps
2271
2271
  }, ref) => {
2272
2272
  const platform = usePlatformFromUrl(href);
2273
- const smartPlatformName = React26.useMemo(() => {
2273
+ const smartPlatformName = React27.useMemo(() => {
2274
2274
  return platform || platformName;
2275
2275
  }, [platform, platformName]);
2276
- const iconName = React26.useMemo(() => {
2276
+ const iconName = React27.useMemo(() => {
2277
2277
  return iconNameOverride || platformIconMap[smartPlatformName];
2278
2278
  }, [iconNameOverride, smartPlatformName]);
2279
- const accessibleLabel = React26.useMemo(() => {
2279
+ const accessibleLabel = React27.useMemo(() => {
2280
2280
  return label || platformName;
2281
2281
  }, [label, platformName]);
2282
2282
  return /* @__PURE__ */ jsx(
@@ -2518,7 +2518,7 @@ function AboutMissionPrinciples({
2518
2518
  className,
2519
2519
  background,
2520
2520
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
2521
- spacing = "xl",
2521
+ spacing = "lg",
2522
2522
  pattern,
2523
2523
  patternOpacity
2524
2524
  }) {
@@ -2560,7 +2560,9 @@ function AboutMissionPrinciples({
2560
2560
  children: principles.map((principle, idx) => /* @__PURE__ */ jsxs(
2561
2561
  "div",
2562
2562
  {
2563
- className: cn("relative rounded-lg border p-6 transition-colors"),
2563
+ className: cn(
2564
+ "relative rounded-lg border p-6 bg-card text-card-foreground"
2565
+ ),
2564
2566
  children: [
2565
2567
  principle.number && /* @__PURE__ */ jsx(
2566
2568
  "div",
@@ -2573,7 +2575,7 @@ function AboutMissionPrinciples({
2573
2575
  }
2574
2576
  ),
2575
2577
  /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
2576
- principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
2578
+ principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-xl font-bold pr-10 text-pretty", children: principle.title }) : principle.title),
2577
2579
  principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-pretty text-lg", children: principle.description }) : principle.description)
2578
2580
  ] })
2579
2581
  ]
@@ -2642,11 +2644,11 @@ function AboutMissionPrinciples({
2642
2644
  {
2643
2645
  className: cn(
2644
2646
  "mt-6 md:mt-24 p-6 lg:p-12",
2645
- "bg-muted text-muted-foreground",
2646
- "rounded-xl shadow-lg border",
2647
+ "bg-accent text-accent-foreground",
2648
+ "rounded-xl shadow-xl border",
2647
2649
  visionClassName
2648
2650
  ),
2649
- children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center gap-8 lg:grid-cols-3", children: [
2651
+ children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center gap-4 md:gap-8 lg:grid-cols-3", children: [
2650
2652
  /* @__PURE__ */ jsxs("div", { className: "lg:col-span-2", children: [
2651
2653
  visionHeading && (typeof visionHeading === "string" ? /* @__PURE__ */ jsx(
2652
2654
  "h3",
@@ -2694,7 +2696,7 @@ function AboutExpandableValues({
2694
2696
  pattern,
2695
2697
  patternOpacity
2696
2698
  }) {
2697
- const [expandedValue, setExpandedValue] = React26.useState(null);
2699
+ const [expandedValue, setExpandedValue] = React27.useState(null);
2698
2700
  const toggleExpand = useCallback((id) => {
2699
2701
  setExpandedValue((prev) => prev === id ? null : id);
2700
2702
  }, []);
@@ -2930,7 +2932,7 @@ function CommunityInitiatives({
2930
2932
  pattern,
2931
2933
  patternOpacity
2932
2934
  }) {
2933
- const [activeCategory, setActiveCategory] = React26.useState(
2935
+ const [activeCategory, setActiveCategory] = React27.useState(
2934
2936
  categories?.[0]?.id || ""
2935
2937
  );
2936
2938
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
@@ -2940,28 +2942,6 @@ function CommunityInitiatives({
2940
2942
  },
2941
2943
  []
2942
2944
  );
2943
- const actionsContent = useMemo(() => {
2944
- if (actionsSlot) return actionsSlot;
2945
- if (!actions || actions.length === 0) return null;
2946
- return /* @__PURE__ */ jsx(
2947
- "div",
2948
- {
2949
- className: cn("flex flex-wrap justify-center gap-4", actionsClassName),
2950
- children: actions.map((action, idx) => /* @__PURE__ */ jsx(
2951
- Pressable,
2952
- {
2953
- href: action.href,
2954
- onClick: action.onClick,
2955
- variant: action.variant || "default",
2956
- size: action.size || "lg",
2957
- asButton: true,
2958
- children: action.label
2959
- },
2960
- idx
2961
- ))
2962
- }
2963
- );
2964
- }, [actionsSlot, actions, actionsClassName]);
2965
2945
  const categoriesContent = useMemo(() => {
2966
2946
  if (categoriesSlot) return categoriesSlot;
2967
2947
  if (!categories || categories.length === 0) return null;
@@ -2983,22 +2963,27 @@ function CommunityInitiatives({
2983
2963
  children: categories.map((category) => /* @__PURE__ */ jsx("option", { value: category.id, children: category.title }, category.id))
2984
2964
  }
2985
2965
  ) }),
2986
- /* @__PURE__ */ jsx(TabsList, { className: "hidden h-auto grid-cols-4 p-1 md:grid", children: categories.map((category) => /* @__PURE__ */ jsx(
2966
+ /* @__PURE__ */ jsx(TabsList, { className: "hidden h-auto grid-cols-4 p-1 md:grid ring-2 ring-primary", children: categories.map((category) => /* @__PURE__ */ jsx(
2987
2967
  TabsTrigger,
2988
2968
  {
2989
2969
  value: category.id,
2990
- className: "px-3 py-2.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2970
+ className: cn(
2971
+ "px-3 py-2.5 cursor-pointer",
2972
+ "data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2973
+ "hover:bg-muted hover:text-muted-foreground",
2974
+ "transition-all duration-500"
2975
+ ),
2991
2976
  children: category.title
2992
2977
  },
2993
2978
  category.id
2994
2979
  )) })
2995
2980
  ] }),
2996
- /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-2xl text-left md:text-center", children: /* @__PURE__ */ jsx("p", { className: cn(getTextColor(background, "muted")), children: currentCategory?.description }) }),
2981
+ /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-2xl text-left md:text-center", children: /* @__PURE__ */ jsx("p", { className: "relative", children: currentCategory?.description }) }),
2997
2982
  categories.map((category) => /* @__PURE__ */ jsx(
2998
2983
  TabsContent,
2999
2984
  {
3000
2985
  value: category.id,
3001
- className: "space-y-12",
2986
+ className: "space-y-12 md:space-y-24",
3002
2987
  children: category.initiatives.map((initiative, index) => {
3003
2988
  const isEven = index % 2 === 0;
3004
2989
  return /* @__PURE__ */ jsxs(
@@ -3015,47 +3000,13 @@ function CommunityInitiatives({
3015
3000
  ),
3016
3001
  children: [
3017
3002
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
3018
- /* @__PURE__ */ jsx(
3019
- "div",
3020
- {
3021
- className: cn(
3022
- "rounded-md p-2",
3023
- getNestedCardBg(background, "muted")
3024
- ),
3025
- children: /* @__PURE__ */ jsx(
3026
- DynamicIcon,
3027
- {
3028
- name: initiative.icon,
3029
- size: 24,
3030
- className: cn(getAccentColor(background))
3031
- }
3032
- )
3033
- }
3034
- ),
3003
+ /* @__PURE__ */ jsx("div", { className: cn("rounded-md p-2"), children: /* @__PURE__ */ jsx(DynamicIcon, { name: initiative.icon, size: 24 }) }),
3035
3004
  /* @__PURE__ */ jsx("h3", { className: "text-2xl font-bold", children: initiative.title })
3036
3005
  ] }),
3037
- /* @__PURE__ */ jsx("p", { className: cn(getTextColor(background, "muted")), children: initiative.description }),
3006
+ /* @__PURE__ */ jsx("p", { className: "relative", children: initiative.description }),
3038
3007
  initiative.metrics && /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-4 pt-2", children: initiative.metrics.map((metric, i) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
3039
- /* @__PURE__ */ jsx(
3040
- "div",
3041
- {
3042
- className: cn(
3043
- "text-2xl font-bold",
3044
- getAccentColor(background)
3045
- ),
3046
- children: metric.value
3047
- }
3048
- ),
3049
- /* @__PURE__ */ jsx(
3050
- "div",
3051
- {
3052
- className: cn(
3053
- "mt-1 text-xs",
3054
- getTextColor(background, "muted")
3055
- ),
3056
- children: metric.label
3057
- }
3058
- )
3008
+ /* @__PURE__ */ jsx("div", { className: cn("text-2xl font-bold"), children: metric.value }),
3009
+ /* @__PURE__ */ jsx("div", { className: cn("mt-1 text-xs"), children: metric.label })
3059
3010
  ] }, i)) })
3060
3011
  ]
3061
3012
  }
@@ -3067,7 +3018,7 @@ function CommunityInitiatives({
3067
3018
  "md:col-span-5",
3068
3019
  isEven ? "md:order-2" : "md:order-1"
3069
3020
  ),
3070
- children: /* @__PURE__ */ jsx("div", { className: "relative aspect-4/3 overflow-hidden rounded-xl", children: /* @__PURE__ */ jsx(
3021
+ children: /* @__PURE__ */ jsx("div", { className: "relative aspect-video overflow-hidden rounded-xl shadow-xl", children: /* @__PURE__ */ jsx(
3071
3022
  Img,
3072
3023
  {
3073
3024
  src: initiative.image,
@@ -3088,28 +3039,21 @@ function CommunityInitiatives({
3088
3039
  Card,
3089
3040
  {
3090
3041
  className: cn(
3091
- "flex h-full min-h-[280px] w-full items-center justify-center",
3092
- getNestedCardBg(background, "subtle")
3042
+ "flex h-full min-h-[280px] w-full items-center justify-center"
3093
3043
  ),
3094
- children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6 text-center", children: [
3044
+ children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6 text-center flex flex-col items-center gap-4", children: [
3095
3045
  /* @__PURE__ */ jsx(
3096
3046
  DynamicIcon,
3097
3047
  {
3098
3048
  name: initiative.icon,
3099
3049
  size: 64,
3100
3050
  className: cn(
3101
- "mx-auto mb-4",
3102
- getTextColor(background, "muted"),
3051
+ "mx-auto text-card-foreground",
3103
3052
  "opacity-50"
3104
3053
  )
3105
3054
  }
3106
3055
  ),
3107
- /* @__PURE__ */ jsxs(Badge, { variant: "secondary", className: "mx-auto", children: [
3108
- "Learn more about our",
3109
- " ",
3110
- initiative.title.toLowerCase(),
3111
- " initiative"
3112
- ] })
3056
+ /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "mx-auto", children: initiative.title })
3113
3057
  ] })
3114
3058
  }
3115
3059
  )
@@ -3150,7 +3094,7 @@ function CommunityInitiatives({
3150
3094
  "div",
3151
3095
  {
3152
3096
  className: cn(
3153
- "mx-auto mb-8 md:mb-16 max-w-3xl space-y-4 text-center",
3097
+ "mx-auto mb-8 md:mb-16 max-w-3xl space-y-4 flex flex-col items-center",
3154
3098
  headerClassName
3155
3099
  ),
3156
3100
  children: [
@@ -3159,41 +3103,65 @@ function CommunityInitiatives({
3159
3103
  "h2",
3160
3104
  {
3161
3105
  className: cn(
3162
- "text-3xl font-bold tracking-tight md:text-4xl",
3106
+ "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance text-center",
3163
3107
  headingClassName
3164
3108
  ),
3165
3109
  children: heading
3166
3110
  }
3167
3111
  ) : heading),
3168
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn(descriptionClassName), children: description }) : description)
3112
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
3113
+ "p",
3114
+ {
3115
+ className: cn(
3116
+ "text-lg text-balance text-center",
3117
+ descriptionClassName
3118
+ ),
3119
+ children: description
3120
+ }
3121
+ ) : description)
3169
3122
  ]
3170
3123
  }
3171
3124
  ),
3172
3125
  categoriesContent,
3173
- /* @__PURE__ */ jsxs("div", { className: cn("mt-20 text-center", ctaClassName), children: [
3174
- ctaBadgeText && /* @__PURE__ */ jsx(
3175
- "div",
3176
- {
3177
- className: cn(
3178
- "mb-8 inline-flex items-center justify-center rounded-full p-1"
3179
- ),
3180
- children: /* @__PURE__ */ jsx(Badge, { className: "rounded-full bg-primary px-4 py-1 text-primary-foreground", children: ctaBadgeText })
3181
- }
3182
- ),
3183
- ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : ctaHeading),
3184
- ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx(
3185
- "p",
3186
- {
3187
- className: cn(
3188
- "mx-auto mb-8 max-w-2xl",
3189
- getTextColor(background, "muted"),
3190
- ctaDescriptionClassName
3126
+ /* @__PURE__ */ jsxs(
3127
+ "div",
3128
+ {
3129
+ className: cn(
3130
+ "mt-10 md:mt-24 p-6 md:p-16",
3131
+ "text-center flex flex-col items-center",
3132
+ "bg-muted text-muted-foreground",
3133
+ "rounded-2xl shadow-lg",
3134
+ ctaClassName
3135
+ ),
3136
+ children: [
3137
+ ctaBadgeText && /* @__PURE__ */ jsx(
3138
+ "div",
3139
+ {
3140
+ className: cn(
3141
+ "mb-8 inline-flex items-center justify-center rounded-full p-1"
3142
+ ),
3143
+ children: /* @__PURE__ */ jsx(Badge, { className: "rounded-full bg-primary px-4 py-1 text-primary-foreground", children: ctaBadgeText })
3144
+ }
3191
3145
  ),
3192
- children: ctaDescription
3193
- }
3194
- ) : ctaDescription),
3195
- actionsContent
3196
- ] })
3146
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : ctaHeading),
3147
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx(
3148
+ "p",
3149
+ {
3150
+ className: cn("mx-auto mb-8 max-w-2xl", ctaDescriptionClassName),
3151
+ children: ctaDescription
3152
+ }
3153
+ ) : ctaDescription),
3154
+ /* @__PURE__ */ jsx(
3155
+ BlockActions,
3156
+ {
3157
+ actions,
3158
+ actionsSlot,
3159
+ actionsClassName
3160
+ }
3161
+ )
3162
+ ]
3163
+ }
3164
+ )
3197
3165
  ]
3198
3166
  }
3199
3167
  );
@@ -3228,7 +3196,7 @@ function AboutCultureTabs({
3228
3196
  patternOpacity
3229
3197
  }) {
3230
3198
  const resolvedAspects = aspects ?? [];
3231
- const [activeTab, setActiveTab] = React26.useState(
3199
+ const [activeTab, setActiveTab] = React27.useState(
3232
3200
  resolvedAspects[0]?.id || ""
3233
3201
  );
3234
3202
  const headerItems = useMemo(() => {
@@ -3761,7 +3729,7 @@ function BannerDeliveryCountdown({
3761
3729
  }, [prefixText, timerContent, middleText, deliveryDateContent]);
3762
3730
  return /* @__PURE__ */ jsx(Section, { background, spacing: "none", className: cn("bg-accent text-accent-foreground", className), children: /* @__PURE__ */ jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-3 text-sm", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", messageClassName), children: [
3763
3731
  iconContent,
3764
- messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
3732
+ messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
3765
3733
  index > 0 ? " " : null,
3766
3734
  part
3767
3735
  ] }, index)) })
@@ -5032,8 +5000,8 @@ var BrandAttribution = ({
5032
5000
  }
5033
5001
  const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
5034
5002
  const ContainerEl = variant;
5035
- const [trackedHref, setTrackedHref] = React26.useState(href);
5036
- React26.useEffect(() => {
5003
+ const [trackedHref, setTrackedHref] = React27.useState(href);
5004
+ React27.useEffect(() => {
5037
5005
  setTrackedHref(buildTrackedHref(href));
5038
5006
  }, [href]);
5039
5007
  return /* @__PURE__ */ jsxs(ContainerEl, { className: containerClassName, children: [
@@ -5176,7 +5144,7 @@ function FooterSocialNewsletter({
5176
5144
  onError,
5177
5145
  uploadTokens
5178
5146
  });
5179
- const renderForm = React26.useMemo(() => {
5147
+ const renderForm = React27.useMemo(() => {
5180
5148
  if (formSlot) return formSlot;
5181
5149
  const defaultButtonAction = {
5182
5150
  label: "Subscribe",
@@ -5510,7 +5478,7 @@ function FooterSimpleCentered({
5510
5478
  ]);
5511
5479
  const bottomLinksContent = useMemo(() => {
5512
5480
  if (!bottomLinks || bottomLinks.length === 0) return null;
5513
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React26.Fragment, { children: /* @__PURE__ */ jsx(
5481
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React27.Fragment, { children: /* @__PURE__ */ jsx(
5514
5482
  Pressable,
5515
5483
  {
5516
5484
  href: link.href,
@@ -7943,27 +7911,39 @@ function AboutStreamlineTeam({
7943
7911
  "rounded-2xl shadow-lg",
7944
7912
  teamSectionClassName
7945
7913
  ),
7946
- children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-2xl text-center", children: [
7947
- teamTitle && (typeof teamTitle === "string" ? /* @__PURE__ */ jsx(
7948
- "h2",
7949
- {
7950
- className: cn(
7951
- "text-3xl font-bold md:text-4xl",
7952
- teamTitleClassName
7953
- ),
7954
- children: teamTitle
7955
- }
7956
- ) : teamTitle),
7957
- teamDescription && (typeof teamDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", teamDescriptionClassName), children: teamDescription }) : teamDescription),
7958
- /* @__PURE__ */ jsx(
7959
- BlockActions,
7960
- {
7961
- actions,
7962
- actionsSlot,
7963
- actionsClassName
7964
- }
7965
- )
7966
- ] })
7914
+ children: /* @__PURE__ */ jsxs(
7915
+ "div",
7916
+ {
7917
+ className: cn(
7918
+ "flex flex-col md:flex-row",
7919
+ "justify-center md:justify-between items-center md:items-start",
7920
+ "gap-8 md:gap-24"
7921
+ ),
7922
+ children: [
7923
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 md:gap-8 text-center md:text-left", children: [
7924
+ teamTitle && (typeof teamTitle === "string" ? /* @__PURE__ */ jsx(
7925
+ "h2",
7926
+ {
7927
+ className: cn(
7928
+ "text-3xl font-bold md:text-4xl",
7929
+ teamTitleClassName
7930
+ ),
7931
+ children: teamTitle
7932
+ }
7933
+ ) : teamTitle),
7934
+ teamDescription && (typeof teamDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", teamDescriptionClassName), children: teamDescription }) : teamDescription)
7935
+ ] }),
7936
+ /* @__PURE__ */ jsx(
7937
+ BlockActions,
7938
+ {
7939
+ actions,
7940
+ actionsSlot,
7941
+ actionsClassName
7942
+ }
7943
+ )
7944
+ ]
7945
+ }
7946
+ )
7967
7947
  }
7968
7948
  )
7969
7949
  ]
@@ -8646,7 +8626,7 @@ function AboutInteractiveTabs({
8646
8626
  pattern,
8647
8627
  patternOpacity
8648
8628
  }) {
8649
- const [activeTab, setActiveTab] = React26.useState(tabs?.[0]?.id ?? "");
8629
+ const [activeTab, setActiveTab] = React27.useState(tabs?.[0]?.id ?? "");
8650
8630
  const activeContent = useMemo(() => {
8651
8631
  return tabs?.find((tab) => tab.id === activeTab)?.content;
8652
8632
  }, [tabs, activeTab]);
@@ -8791,10 +8771,31 @@ function AboutMissionDualImage({
8791
8771
  optixFlowConfig,
8792
8772
  background,
8793
8773
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
8794
- spacing = "xl",
8774
+ spacing = "lg",
8795
8775
  pattern,
8796
8776
  patternOpacity
8797
8777
  }) {
8778
+ const renderTextContent = React27.useCallback(
8779
+ (primaryHeading, primaryClassName, secondaryContent, secondaryClassname) => {
8780
+ if (!primaryHeading || !secondaryContent) {
8781
+ return null;
8782
+ }
8783
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-4 md:gap-6", children: [
8784
+ primaryHeading && (typeof primaryHeading === "string" ? /* @__PURE__ */ jsx(
8785
+ "h2",
8786
+ {
8787
+ className: cn(
8788
+ "text-3xl font-bold tracking-tight md:text-4xl",
8789
+ primaryClassName
8790
+ ),
8791
+ children: primaryHeading
8792
+ }
8793
+ ) : primaryHeading),
8794
+ secondaryContent && (typeof secondaryContent === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", secondaryClassname), children: secondaryContent }) : secondaryContent)
8795
+ ] });
8796
+ },
8797
+ []
8798
+ );
8798
8799
  return /* @__PURE__ */ jsx(
8799
8800
  Section,
8800
8801
  {
@@ -8809,33 +8810,19 @@ function AboutMissionDualImage({
8809
8810
  {
8810
8811
  className: cn("grid gap-8 md:gap-16 lg:grid-cols-2", contentClassName),
8811
8812
  children: [
8812
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center", children: [
8813
- /* @__PURE__ */ jsxs("div", { className: "mb-8 md:mb-12", children: [
8814
- missionTitle && (typeof missionTitle === "string" ? /* @__PURE__ */ jsx(
8815
- "h2",
8816
- {
8817
- className: cn(
8818
- "text-3xl font-bold tracking-tight md:text-4xl",
8819
- missionTitleClassName
8820
- ),
8821
- children: missionTitle
8822
- }
8823
- ) : missionTitle),
8824
- missionContent && (typeof missionContent === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", missionContentClassName), children: missionContent }) : missionContent)
8825
- ] }),
8826
- /* @__PURE__ */ jsxs("div", { children: [
8827
- visionTitle && (typeof visionTitle === "string" ? /* @__PURE__ */ jsx(
8828
- "h2",
8829
- {
8830
- className: cn(
8831
- "text-3xl font-bold tracking-tight md:text-4xl",
8832
- visionTitleClassName
8833
- ),
8834
- children: visionTitle
8835
- }
8836
- ) : visionTitle),
8837
- visionContent && (typeof visionContent === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", visionContentClassName), children: visionContent }) : visionContent)
8838
- ] }),
8813
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-6 md:gap-8", children: [
8814
+ renderTextContent(
8815
+ missionTitle,
8816
+ missionTitleClassName,
8817
+ missionContent,
8818
+ missionContentClassName
8819
+ ),
8820
+ renderTextContent(
8821
+ visionTitle,
8822
+ visionTitleClassName,
8823
+ visionContent,
8824
+ visionContentClassName
8825
+ ),
8839
8826
  /* @__PURE__ */ jsx(
8840
8827
  BlockActions,
8841
8828
  {
@@ -8852,7 +8839,7 @@ function AboutMissionDualImage({
8852
8839
  src: primaryImage.src,
8853
8840
  alt: primaryImage.alt,
8854
8841
  className: cn(
8855
- "w-full h-auto rounded-2xl object-cover sm:h-full",
8842
+ "w-full h-auto rounded-2xl object-cover sm:h-full shadow-xl",
8856
8843
  primaryImageClassName
8857
8844
  ),
8858
8845
  optixFlowConfig
@@ -8864,7 +8851,7 @@ function AboutMissionDualImage({
8864
8851
  src: secondaryImage.src,
8865
8852
  alt: secondaryImage.alt,
8866
8853
  className: cn(
8867
- "w-full h-auto rounded-2xl object-cover sm:h-full sm:mt-12",
8854
+ "w-full h-auto rounded-2xl object-cover sm:h-full sm:mt-12 shadow-xl",
8868
8855
  secondaryImageClassName
8869
8856
  ),
8870
8857
  optixFlowConfig
@@ -12624,7 +12611,7 @@ function CtaVideoBackgroundHero({
12624
12611
  pattern,
12625
12612
  patternOpacity
12626
12613
  }) {
12627
- const [isModalOpen, setIsModalOpen] = React26.useState(false);
12614
+ const [isModalOpen, setIsModalOpen] = React27.useState(false);
12628
12615
  const handleOpenModal = () => {
12629
12616
  setIsModalOpen(true);
12630
12617
  onModalOpen?.();
@@ -12812,7 +12799,7 @@ function CtaWorkflowTabs({
12812
12799
  patternOpacity,
12813
12800
  optixFlowConfig
12814
12801
  }) {
12815
- const [activeTab, setActiveTab] = React26.useState(tabs?.[0]?.id || "");
12802
+ const [activeTab, setActiveTab] = React27.useState(tabs?.[0]?.id || "");
12816
12803
  const activeTabData = tabs?.find((tab) => tab.id === activeTab) || tabs?.[0];
12817
12804
  const actionsContent = useMemo(() => {
12818
12805
  if (actionsSlot) return actionsSlot;
@@ -13425,7 +13412,7 @@ function ContactFloatingBanner({
13425
13412
  pattern,
13426
13413
  patternOpacity
13427
13414
  }) {
13428
- const actionsContent = React26.useMemo(() => {
13415
+ const actionsContent = React27.useMemo(() => {
13429
13416
  if (actionsSlot) return actionsSlot;
13430
13417
  if (actions && actions.length > 0) {
13431
13418
  return actions.map((action, index) => {
@@ -13769,7 +13756,7 @@ function ContactCard({
13769
13756
  pattern,
13770
13757
  patternOpacity
13771
13758
  }) {
13772
- const contactOptionsContent = React26.useMemo(() => {
13759
+ const contactOptionsContent = React27.useMemo(() => {
13773
13760
  if (contactOptionsSlot) return contactOptionsSlot;
13774
13761
  if (contactOptions && contactOptions.length > 0) {
13775
13762
  return contactOptions.map((option, key) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
@@ -13793,7 +13780,7 @@ function ContactCard({
13793
13780
  }
13794
13781
  return null;
13795
13782
  }, [contactOptionsSlot, contactOptions]);
13796
- const socialLinksContent = React26.useMemo(() => {
13783
+ const socialLinksContent = React27.useMemo(() => {
13797
13784
  if (socialLinksSlot) return socialLinksSlot;
13798
13785
  if (socialLinks && socialLinks.length > 0) {
13799
13786
  return socialLinks.map((social, key) => /* @__PURE__ */ jsx(
@@ -14535,7 +14522,7 @@ function ContactDark({
14535
14522
  pattern,
14536
14523
  patternOpacity
14537
14524
  }) {
14538
- const contactOptionsContent = React26.useMemo(() => {
14525
+ const contactOptionsContent = React27.useMemo(() => {
14539
14526
  if (contactOptionsSlot) return contactOptionsSlot;
14540
14527
  if (contactOptions && contactOptions.length > 0) {
14541
14528
  return contactOptions.map((option, key) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
@@ -14559,7 +14546,7 @@ function ContactDark({
14559
14546
  }
14560
14547
  return null;
14561
14548
  }, [contactOptionsSlot, contactOptions]);
14562
- const socialLinksContent = React26.useMemo(() => {
14549
+ const socialLinksContent = React27.useMemo(() => {
14563
14550
  if (socialLinksSlot) return socialLinksSlot;
14564
14551
  if (socialLinks && socialLinks.length > 0) {
14565
14552
  return socialLinks.map((social, key) => /* @__PURE__ */ jsx(
@@ -15914,7 +15901,7 @@ function ContactImage({
15914
15901
  description,
15915
15902
  descriptionClassName
15916
15903
  ]);
15917
- const contactOverlaysContent = React26.useMemo(() => {
15904
+ const contactOverlaysContent = React27.useMemo(() => {
15918
15905
  if (contactOverlaysSlot) return contactOverlaysSlot;
15919
15906
  if (!contactOverlays || contactOverlays.length === 0) return null;
15920
15907
  return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-3", contactOverlaysClassName), children: contactOverlays.map((item, index) => {
@@ -17122,13 +17109,13 @@ function ContactPhotography({
17122
17109
  }
17123
17110
  return items;
17124
17111
  }, [heading, headingClassName, description, descriptionClassName]);
17125
- const desktopOrder = React26.useMemo(() => {
17112
+ const desktopOrder = React27.useMemo(() => {
17126
17113
  return directionConfig.desktop === "mediaRight" ? "lg:flex-row" : "lg:flex-row-reverse";
17127
17114
  }, [directionConfig?.desktop]);
17128
- const mobileOrder = React26.useMemo(() => {
17115
+ const mobileOrder = React27.useMemo(() => {
17129
17116
  return directionConfig?.mobile === "mediaTop" ? "flex-col" : "flex-col-reverse";
17130
17117
  }, [directionConfig?.mobile]);
17131
- const imageArea = React26.useMemo(() => {
17118
+ const imageArea = React27.useMemo(() => {
17132
17119
  if (!image?.src) {
17133
17120
  return null;
17134
17121
  }
@@ -19052,16 +19039,16 @@ function CarouselAnimatedSections({
19052
19039
  pattern = "diagonalCrossBasic",
19053
19040
  patternOpacity = 0.033
19054
19041
  }) {
19055
- const [currentIndex, setCurrentIndex] = React26.useState(0);
19056
- const [direction, setDirection] = React26.useState(0);
19057
- const [isAnimating, setIsAnimating] = React26.useState(false);
19058
- const goToNext = React26.useCallback(() => {
19042
+ const [currentIndex, setCurrentIndex] = React27.useState(0);
19043
+ const [direction, setDirection] = React27.useState(0);
19044
+ const [isAnimating, setIsAnimating] = React27.useState(false);
19045
+ const goToNext = React27.useCallback(() => {
19059
19046
  if (isAnimating || currentIndex >= (sections?.length ?? 0) - 1) return;
19060
19047
  setIsAnimating(true);
19061
19048
  setDirection(1);
19062
19049
  setCurrentIndex((prev) => prev + 1);
19063
19050
  }, [currentIndex, isAnimating, sections?.length]);
19064
- const goToPrev = React26.useCallback(() => {
19051
+ const goToPrev = React27.useCallback(() => {
19065
19052
  if (isAnimating || currentIndex <= 0) return;
19066
19053
  setIsAnimating(true);
19067
19054
  setDirection(-1);
@@ -19073,7 +19060,7 @@ function CarouselAnimatedSections({
19073
19060
  setDirection(index > currentIndex ? 1 : -1);
19074
19061
  setCurrentIndex(index);
19075
19062
  };
19076
- React26.useEffect(() => {
19063
+ React27.useEffect(() => {
19077
19064
  const handleKeyDown = (e) => {
19078
19065
  if (e.key === "ArrowDown" || e.key === "ArrowRight") {
19079
19066
  goToNext();
@@ -19099,7 +19086,7 @@ function CarouselAnimatedSections({
19099
19086
  })
19100
19087
  };
19101
19088
  const currentSection = sections?.[currentIndex];
19102
- const actionElements = React26.useMemo(() => {
19089
+ const actionElements = React27.useMemo(() => {
19103
19090
  if (actionsSlot) return actionsSlot;
19104
19091
  if (actions && actions.length > 0) {
19105
19092
  return actions.map((action, index) => /* @__PURE__ */ jsxs(
@@ -19347,11 +19334,11 @@ function CarouselAutoProgressSlides({
19347
19334
  pattern,
19348
19335
  patternOpacity
19349
19336
  }) {
19350
- const [currentIndex, setCurrentIndex] = React26.useState(0);
19337
+ const [currentIndex, setCurrentIndex] = React27.useState(0);
19351
19338
  const progress = useMotionValue(100);
19352
- const [direction, setDirection] = React26.useState(1);
19339
+ const [direction, setDirection] = React27.useState(1);
19353
19340
  const clipPath = useMotionTemplate`inset(0 ${progress}% 0 0 round 10px)`;
19354
- React26.useEffect(() => {
19341
+ React27.useEffect(() => {
19355
19342
  const interval = setInterval(() => {
19356
19343
  const currentProgress = progress.get();
19357
19344
  if (currentProgress > 0) {
@@ -19530,22 +19517,22 @@ function CarouselAutoProgressSlides({
19530
19517
  );
19531
19518
  }
19532
19519
  function useDotButton(emblaApi) {
19533
- const [selectedIndex, setSelectedIndex] = React26.useState(0);
19534
- const [scrollSnaps, setScrollSnaps] = React26.useState([]);
19535
- const onDotButtonClick = React26.useCallback(
19520
+ const [selectedIndex, setSelectedIndex] = React27.useState(0);
19521
+ const [scrollSnaps, setScrollSnaps] = React27.useState([]);
19522
+ const onDotButtonClick = React27.useCallback(
19536
19523
  (index) => {
19537
19524
  if (!emblaApi) return;
19538
19525
  emblaApi.scrollTo(index);
19539
19526
  },
19540
19527
  [emblaApi]
19541
19528
  );
19542
- const onInit = React26.useCallback((api) => {
19529
+ const onInit = React27.useCallback((api) => {
19543
19530
  setScrollSnaps(api.scrollSnapList());
19544
19531
  }, []);
19545
- const onSelect = React26.useCallback((api) => {
19532
+ const onSelect = React27.useCallback((api) => {
19546
19533
  setSelectedIndex(api.selectedScrollSnap());
19547
19534
  }, []);
19548
- React26.useEffect(() => {
19535
+ React27.useEffect(() => {
19549
19536
  if (!emblaApi) return;
19550
19537
  onInit(emblaApi);
19551
19538
  onSelect(emblaApi);
@@ -19554,8 +19541,8 @@ function useDotButton(emblaApi) {
19554
19541
  return { selectedIndex, scrollSnaps, onDotButtonClick };
19555
19542
  }
19556
19543
  function useAutoplay(emblaApi) {
19557
- const [autoplayIsPlaying, setAutoplayIsPlaying] = React26.useState(false);
19558
- const onAutoplayButtonClick = React26.useCallback(
19544
+ const [autoplayIsPlaying, setAutoplayIsPlaying] = React27.useState(false);
19545
+ const onAutoplayButtonClick = React27.useCallback(
19559
19546
  (callback) => {
19560
19547
  const autoplay = emblaApi?.plugins()?.autoplay;
19561
19548
  if (!autoplay) return;
@@ -19565,13 +19552,13 @@ function useAutoplay(emblaApi) {
19565
19552
  },
19566
19553
  [emblaApi]
19567
19554
  );
19568
- const toggleAutoplay = React26.useCallback(() => {
19555
+ const toggleAutoplay = React27.useCallback(() => {
19569
19556
  const autoplay = emblaApi?.plugins()?.autoplay;
19570
19557
  if (!autoplay) return;
19571
19558
  const playOrStop = autoplay.isPlaying() ? autoplay.stop : autoplay.play;
19572
19559
  playOrStop();
19573
19560
  }, [emblaApi]);
19574
- React26.useEffect(() => {
19561
+ React27.useEffect(() => {
19575
19562
  const autoplay = emblaApi?.plugins()?.autoplay;
19576
19563
  if (!autoplay) return;
19577
19564
  setAutoplayIsPlaying(autoplay.isPlaying());
@@ -19580,11 +19567,11 @@ function useAutoplay(emblaApi) {
19580
19567
  return { autoplayIsPlaying, toggleAutoplay, onAutoplayButtonClick };
19581
19568
  }
19582
19569
  function useAutoplayProgress(emblaApi, progressNode) {
19583
- const [showAutoplayProgress, setShowAutoplayProgress] = React26.useState(false);
19584
- const animationName = React26.useRef("");
19585
- const timeoutId = React26.useRef(0);
19586
- const rafId = React26.useRef(0);
19587
- const startProgress = React26.useCallback(
19570
+ const [showAutoplayProgress, setShowAutoplayProgress] = React27.useState(false);
19571
+ const animationName = React27.useRef("");
19572
+ const timeoutId = React27.useRef(0);
19573
+ const rafId = React27.useRef(0);
19574
+ const startProgress = React27.useCallback(
19588
19575
  (timeUntilNext) => {
19589
19576
  const node = progressNode.current;
19590
19577
  if (!node || timeUntilNext === null) return;
@@ -19604,12 +19591,12 @@ function useAutoplayProgress(emblaApi, progressNode) {
19604
19591
  },
19605
19592
  [progressNode]
19606
19593
  );
19607
- React26.useEffect(() => {
19594
+ React27.useEffect(() => {
19608
19595
  const autoplay = emblaApi?.plugins()?.autoplay;
19609
19596
  if (!autoplay) return;
19610
19597
  emblaApi.on("autoplay:timerset", () => startProgress(autoplay.timeUntilNext())).on("autoplay:timerstopped", () => setShowAutoplayProgress(false));
19611
19598
  }, [emblaApi, startProgress]);
19612
- React26.useEffect(() => {
19599
+ React27.useEffect(() => {
19613
19600
  return () => {
19614
19601
  cancelAnimationFrame(rafId.current);
19615
19602
  clearTimeout(timeoutId.current);
@@ -19636,7 +19623,7 @@ function CarouselAutoplayProgress({
19636
19623
  pattern,
19637
19624
  patternOpacity
19638
19625
  }) {
19639
- const progressNode = React26.useRef(null);
19626
+ const progressNode = React27.useRef(null);
19640
19627
  const [emblaRef, emblaApi] = useEmblaCarousel(options, [
19641
19628
  Autoplay({ playOnInit: true, delay: autoplayDelay })
19642
19629
  ]);
@@ -19759,20 +19746,20 @@ function CarouselFeatureBadge({
19759
19746
  containerMaxWidth = "2xl"
19760
19747
  }) {
19761
19748
  const [emblaRef, emblaApi] = useEmblaCarousel();
19762
- const [canScrollPrev, setCanScrollPrev] = React26.useState(false);
19763
- const [canScrollNext, setCanScrollNext] = React26.useState(false);
19764
- const scrollPrev = React26.useCallback(() => {
19749
+ const [canScrollPrev, setCanScrollPrev] = React27.useState(false);
19750
+ const [canScrollNext, setCanScrollNext] = React27.useState(false);
19751
+ const scrollPrev = React27.useCallback(() => {
19765
19752
  emblaApi?.scrollPrev();
19766
19753
  }, [emblaApi]);
19767
- const scrollNext = React26.useCallback(() => {
19754
+ const scrollNext = React27.useCallback(() => {
19768
19755
  emblaApi?.scrollNext();
19769
19756
  }, [emblaApi]);
19770
- const onSelect = React26.useCallback(() => {
19757
+ const onSelect = React27.useCallback(() => {
19771
19758
  if (!emblaApi) return;
19772
19759
  setCanScrollPrev(emblaApi.canScrollPrev());
19773
19760
  setCanScrollNext(emblaApi.canScrollNext());
19774
19761
  }, [emblaApi]);
19775
- React26.useEffect(() => {
19762
+ React27.useEffect(() => {
19776
19763
  if (!emblaApi) return;
19777
19764
  onSelect();
19778
19765
  emblaApi.on("reInit", onSelect);
@@ -19892,10 +19879,10 @@ function CarouselFullscreenScrollFx({
19892
19879
  pattern = "diagonalCrossBasic",
19893
19880
  patternOpacity = 0.033
19894
19881
  }) {
19895
- const containerRef = React26.useRef(null);
19896
- const scrollContainerRef = React26.useRef(null);
19897
- const [activeIndex, setActiveIndex] = React26.useState(0);
19898
- React26.useEffect(() => {
19882
+ const containerRef = React27.useRef(null);
19883
+ const scrollContainerRef = React27.useRef(null);
19884
+ const [activeIndex, setActiveIndex] = React27.useState(0);
19885
+ React27.useEffect(() => {
19899
19886
  const scrollContainer = scrollContainerRef.current;
19900
19887
  if (!scrollContainer || !slides?.length) return;
19901
19888
  const handleScroll = () => {
@@ -19907,7 +19894,7 @@ function CarouselFullscreenScrollFx({
19907
19894
  scrollContainer.addEventListener("scroll", handleScroll);
19908
19895
  return () => scrollContainer.removeEventListener("scroll", handleScroll);
19909
19896
  }, [slides]);
19910
- const scrollToSlide = React26.useCallback((index) => {
19897
+ const scrollToSlide = React27.useCallback((index) => {
19911
19898
  const scrollContainer = scrollContainerRef.current;
19912
19899
  if (!scrollContainer) return;
19913
19900
  const slideHeight = scrollContainer.clientHeight;
@@ -19990,7 +19977,7 @@ function CarouselFullscreenScrollFx({
19990
19977
  className: "flex h-screen flex-col snap-y snap-mandatory overflow-x-hidden overflow-y-auto scroll-smooth",
19991
19978
  style: { scrollbarWidth: "none", msOverflowStyle: "none" },
19992
19979
  children: slidesSlot ? slidesSlot : slides?.map((slide, index) => {
19993
- const renderActions = React26.useMemo(() => {
19980
+ const renderActions = React27.useMemo(() => {
19994
19981
  if (!slide.actions || slide.actions.length === 0) return null;
19995
19982
  return slide.actions.map((action, actionIndex) => {
19996
19983
  const {
@@ -20123,25 +20110,25 @@ function CarouselGalleryThumbnails({
20123
20110
  patternOpacity,
20124
20111
  slideMediaBrightness = "100"
20125
20112
  }) {
20126
- const [currentIndex, setCurrentIndex] = React26.useState(0);
20127
- const prevSlide = React26.useCallback(() => {
20113
+ const [currentIndex, setCurrentIndex] = React27.useState(0);
20114
+ const prevSlide = React27.useCallback(() => {
20128
20115
  setCurrentIndex(
20129
20116
  (prev) => prev === 0 ? (images?.length ?? 0) - 1 : prev - 1
20130
20117
  );
20131
20118
  }, [images?.length]);
20132
- const nextSlide = React26.useCallback(() => {
20119
+ const nextSlide = React27.useCallback(() => {
20133
20120
  setCurrentIndex(
20134
20121
  (prev) => prev === (images?.length ?? 0) - 1 ? 0 : prev + 1
20135
20122
  );
20136
20123
  }, [images?.length]);
20137
- React26.useEffect(() => {
20124
+ React27.useEffect(() => {
20138
20125
  if (!autoPlay) return;
20139
20126
  const interval = setInterval(() => {
20140
20127
  nextSlide();
20141
20128
  }, autoPlayInterval);
20142
20129
  return () => clearInterval(interval);
20143
20130
  }, [currentIndex, autoPlay, autoPlayInterval, nextSlide]);
20144
- React26.useEffect(() => {
20131
+ React27.useEffect(() => {
20145
20132
  const handleKeyDown = (e) => {
20146
20133
  if (e.key === "ArrowRight") {
20147
20134
  nextSlide();
@@ -20286,9 +20273,9 @@ function CarouselHorizontalCards({
20286
20273
  pattern,
20287
20274
  patternOpacity
20288
20275
  }) {
20289
- const carouselRef = React26.useRef(null);
20290
- const [isAtStart, setIsAtStart] = React26.useState(true);
20291
- const [isAtEnd, setIsAtEnd] = React26.useState(false);
20276
+ const carouselRef = React27.useRef(null);
20277
+ const [isAtStart, setIsAtStart] = React27.useState(true);
20278
+ const [isAtEnd, setIsAtEnd] = React27.useState(false);
20292
20279
  const scrollLeft = () => {
20293
20280
  if (carouselRef.current) {
20294
20281
  carouselRef.current.scrollBy({ left: -300, behavior: "smooth" });
@@ -20299,7 +20286,7 @@ function CarouselHorizontalCards({
20299
20286
  carouselRef.current.scrollBy({ left: 300, behavior: "smooth" });
20300
20287
  }
20301
20288
  };
20302
- React26.useEffect(() => {
20289
+ React27.useEffect(() => {
20303
20290
  const checkScrollPosition = () => {
20304
20291
  if (carouselRef.current) {
20305
20292
  const { scrollLeft: scrollLeft2, scrollWidth, clientWidth } = carouselRef.current;
@@ -20499,13 +20486,13 @@ function CarouselImageHero({
20499
20486
  pattern,
20500
20487
  patternOpacity
20501
20488
  }) {
20502
- const hasImages = React26.useMemo(() => {
20489
+ const hasImages = React27.useMemo(() => {
20503
20490
  return images && images?.length > 0;
20504
20491
  }, [images]);
20505
- const [currentImageIndex, setCurrentImageIndex] = React26.useState(0);
20492
+ const [currentImageIndex, setCurrentImageIndex] = React27.useState(0);
20506
20493
  const progress = useMotionValue(100);
20507
20494
  const clipPath = useMotionTemplate`inset(0 ${progress}% 0 0 round 10px)`;
20508
- React26.useEffect(() => {
20495
+ React27.useEffect(() => {
20509
20496
  if (!hasImages || (images?.length ?? 0) < 2) return;
20510
20497
  const tickInterval = autoPlayInterval / 100;
20511
20498
  const interval = setInterval(() => {
@@ -20527,19 +20514,19 @@ function CarouselImageHero({
20527
20514
  autoPlayInterval,
20528
20515
  hasImages
20529
20516
  ]);
20530
- const handlePrev = React26.useCallback(() => {
20517
+ const handlePrev = React27.useCallback(() => {
20531
20518
  progress.set(100);
20532
20519
  setCurrentImageIndex(
20533
20520
  (prevIndex) => prevIndex > 0 ? prevIndex - 1 : (images?.length ?? 1) - 1
20534
20521
  );
20535
20522
  }, [images?.length, progress]);
20536
- const handleNext = React26.useCallback(() => {
20523
+ const handleNext = React27.useCallback(() => {
20537
20524
  progress.set(100);
20538
20525
  setCurrentImageIndex(
20539
20526
  (prevIndex) => prevIndex < (images?.length ?? 0) - 1 ? prevIndex + 1 : 0
20540
20527
  );
20541
20528
  }, [images?.length, progress]);
20542
- const handleDotClick = React26.useCallback(
20529
+ const handleDotClick = React27.useCallback(
20543
20530
  (index) => {
20544
20531
  progress.set(100);
20545
20532
  setCurrentImageIndex(index);
@@ -20716,8 +20703,8 @@ function CarouselMultiStepShowcase({
20716
20703
  pattern,
20717
20704
  patternOpacity
20718
20705
  }) {
20719
- const [activeStep, setActiveStep] = React26.useState(0);
20720
- const [direction, setDirection] = React26.useState(0);
20706
+ const [activeStep, setActiveStep] = React27.useState(0);
20707
+ const [direction, setDirection] = React27.useState(0);
20721
20708
  const goToStep = (index) => {
20722
20709
  setDirection(index > activeStep ? 1 : -1);
20723
20710
  setActiveStep(index);
@@ -21009,9 +20996,9 @@ function CarouselPortfolioHero({
21009
20996
  patternOpacity,
21010
20997
  slideMediaBrightness = "50"
21011
20998
  }) {
21012
- const [currentIndex, setCurrentIndex] = React26.useState(0);
21013
- const intervalRef = React26.useRef(null);
21014
- const resetInterval = React26.useCallback(() => {
20999
+ const [currentIndex, setCurrentIndex] = React27.useState(0);
21000
+ const intervalRef = React27.useRef(null);
21001
+ const resetInterval = React27.useCallback(() => {
21015
21002
  if (intervalRef.current) {
21016
21003
  clearInterval(intervalRef.current);
21017
21004
  }
@@ -21019,17 +21006,17 @@ function CarouselPortfolioHero({
21019
21006
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
21020
21007
  }, autoPlayInterval);
21021
21008
  }, [autoPlayInterval, slides?.length]);
21022
- const goToNext = React26.useCallback(() => {
21009
+ const goToNext = React27.useCallback(() => {
21023
21010
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
21024
21011
  resetInterval();
21025
21012
  }, [slides?.length, resetInterval]);
21026
- const goToPrev = React26.useCallback(() => {
21013
+ const goToPrev = React27.useCallback(() => {
21027
21014
  setCurrentIndex(
21028
21015
  (prevIndex) => (prevIndex - 1 + (slides?.length ?? 1)) % (slides?.length ?? 1)
21029
21016
  );
21030
21017
  resetInterval();
21031
21018
  }, [slides?.length, resetInterval]);
21032
- React26.useEffect(() => {
21019
+ React27.useEffect(() => {
21033
21020
  resetInterval();
21034
21021
  return () => {
21035
21022
  if (intervalRef.current) {
@@ -21221,9 +21208,9 @@ function CarouselProductFeatureShowcase({
21221
21208
  pattern,
21222
21209
  patternOpacity
21223
21210
  }) {
21224
- const [activeIndex, setActiveIndex] = React26.useState(0);
21225
- const [activeColorIndex, setActiveColorIndex] = React26.useState(0);
21226
- const [direction, setDirection] = React26.useState(0);
21211
+ const [activeIndex, setActiveIndex] = React27.useState(0);
21212
+ const [activeColorIndex, setActiveColorIndex] = React27.useState(0);
21213
+ const [direction, setDirection] = React27.useState(0);
21227
21214
  const activeFeature = features?.[activeIndex];
21228
21215
  const goToNext = () => {
21229
21216
  setDirection(1);
@@ -21443,9 +21430,9 @@ function CarouselProductFeatureShowcase({
21443
21430
  }
21444
21431
  );
21445
21432
  }
21446
- var ProgressSliderContext = React26.createContext(void 0);
21433
+ var ProgressSliderContext = React27.createContext(void 0);
21447
21434
  function useProgressSliderContext() {
21448
- const context = React26.useContext(ProgressSliderContext);
21435
+ const context = React27.useContext(ProgressSliderContext);
21449
21436
  if (!context) {
21450
21437
  throw new Error(
21451
21438
  "useProgressSliderContext must be used within a ProgressSlider"
@@ -21531,19 +21518,19 @@ function CarouselProgressSlider({
21531
21518
  pattern,
21532
21519
  patternOpacity
21533
21520
  }) {
21534
- const [active, setActive] = React26.useState(slides?.[0]?.id ?? "");
21535
- const [progress, setProgress] = React26.useState(0);
21536
- const [isFastForward, setIsFastForward] = React26.useState(false);
21537
- const [isPaused, setIsPaused] = React26.useState(false);
21538
- const frame = React26.useRef(0);
21539
- const firstFrameTime = React26.useRef(performance.now());
21540
- const targetValue = React26.useRef(null);
21541
- const pausedProgress = React26.useRef(0);
21542
- const sliderValues = React26.useMemo(
21521
+ const [active, setActive] = React27.useState(slides?.[0]?.id ?? "");
21522
+ const [progress, setProgress] = React27.useState(0);
21523
+ const [isFastForward, setIsFastForward] = React27.useState(false);
21524
+ const [isPaused, setIsPaused] = React27.useState(false);
21525
+ const frame = React27.useRef(0);
21526
+ const firstFrameTime = React27.useRef(performance.now());
21527
+ const targetValue = React27.useRef(null);
21528
+ const pausedProgress = React27.useRef(0);
21529
+ const sliderValues = React27.useMemo(
21543
21530
  () => slides?.map((slide) => slide.id),
21544
21531
  [slides]
21545
21532
  );
21546
- React26.useEffect(() => {
21533
+ React27.useEffect(() => {
21547
21534
  if ((sliderValues?.length ?? 0) > 0 && !isPaused) {
21548
21535
  firstFrameTime.current = performance.now();
21549
21536
  if (pausedProgress.current > 0) {
@@ -21708,11 +21695,11 @@ function CarouselScrollingFeatureShowcase({
21708
21695
  pattern,
21709
21696
  patternOpacity
21710
21697
  }) {
21711
- const [activeFeature, setActiveFeature] = React26.useState(
21698
+ const [activeFeature, setActiveFeature] = React27.useState(
21712
21699
  features?.[0]?.id ?? ""
21713
21700
  );
21714
- const featureRefs = React26.useRef(/* @__PURE__ */ new Map());
21715
- React26.useEffect(() => {
21701
+ const featureRefs = React27.useRef(/* @__PURE__ */ new Map());
21702
+ React27.useEffect(() => {
21716
21703
  if (!features || features.length === 0) return;
21717
21704
  const observerOptions = {
21718
21705
  root: null,
@@ -22637,9 +22624,9 @@ function FeatureChecklistImage({
22637
22624
  }
22638
22625
  );
22639
22626
  }
22640
- var CarouselContext = React26.createContext(null);
22627
+ var CarouselContext = React27.createContext(null);
22641
22628
  function useCarousel() {
22642
- const context = React26.useContext(CarouselContext);
22629
+ const context = React27.useContext(CarouselContext);
22643
22630
  if (!context) {
22644
22631
  throw new Error("useCarousel must be used within a <Carousel />");
22645
22632
  }
@@ -22661,20 +22648,20 @@ function Carousel({
22661
22648
  },
22662
22649
  plugins
22663
22650
  );
22664
- const [canScrollPrev, setCanScrollPrev] = React26.useState(false);
22665
- const [canScrollNext, setCanScrollNext] = React26.useState(false);
22666
- const onSelect = React26.useCallback((api2) => {
22651
+ const [canScrollPrev, setCanScrollPrev] = React27.useState(false);
22652
+ const [canScrollNext, setCanScrollNext] = React27.useState(false);
22653
+ const onSelect = React27.useCallback((api2) => {
22667
22654
  if (!api2) return;
22668
22655
  setCanScrollPrev(api2.canScrollPrev());
22669
22656
  setCanScrollNext(api2.canScrollNext());
22670
22657
  }, []);
22671
- const scrollPrev = React26.useCallback(() => {
22658
+ const scrollPrev = React27.useCallback(() => {
22672
22659
  api?.scrollPrev();
22673
22660
  }, [api]);
22674
- const scrollNext = React26.useCallback(() => {
22661
+ const scrollNext = React27.useCallback(() => {
22675
22662
  api?.scrollNext();
22676
22663
  }, [api]);
22677
- const handleKeyDown = React26.useCallback(
22664
+ const handleKeyDown = React27.useCallback(
22678
22665
  (event) => {
22679
22666
  if (event.key === "ArrowLeft") {
22680
22667
  event.preventDefault();
@@ -22686,11 +22673,11 @@ function Carousel({
22686
22673
  },
22687
22674
  [scrollPrev, scrollNext]
22688
22675
  );
22689
- React26.useEffect(() => {
22676
+ React27.useEffect(() => {
22690
22677
  if (!api || !setApi) return;
22691
22678
  setApi(api);
22692
22679
  }, [api, setApi]);
22693
- React26.useEffect(() => {
22680
+ React27.useEffect(() => {
22694
22681
  if (!api) return;
22695
22682
  onSelect(api);
22696
22683
  api.on("reInit", onSelect);
@@ -23614,7 +23601,7 @@ function FeatureThreeColumnValues({
23614
23601
  patternOpacity,
23615
23602
  patternClassName
23616
23603
  }) {
23617
- const renderValueIcon = React26.useCallback(
23604
+ const renderValueIcon = React27.useCallback(
23618
23605
  (value) => {
23619
23606
  if (value.icon) return value.icon;
23620
23607
  if (value.iconName)
@@ -24116,7 +24103,7 @@ function FeatureTabbedContentImage({
24116
24103
  patternOpacity,
24117
24104
  patternClassName
24118
24105
  }) {
24119
- const renderFeatures = React26.useCallback(
24106
+ const renderFeatures = React27.useCallback(
24120
24107
  (slide) => {
24121
24108
  if (slide.featuresSlot) return slide.featuresSlot;
24122
24109
  if (!slide.features || slide.features.length === 0) return null;
@@ -24140,7 +24127,7 @@ function FeatureTabbedContentImage({
24140
24127
  },
24141
24128
  []
24142
24129
  );
24143
- const renderActions = React26.useCallback(
24130
+ const renderActions = React27.useCallback(
24144
24131
  (slide) => {
24145
24132
  if (slide.actionsSlot) return slide.actionsSlot;
24146
24133
  if (!slide.actions || slide.actions.length === 0) return null;
@@ -24183,7 +24170,7 @@ function FeatureTabbedContentImage({
24183
24170
  },
24184
24171
  []
24185
24172
  );
24186
- const renderImage = React26.useCallback(
24173
+ const renderImage = React27.useCallback(
24187
24174
  (slide) => {
24188
24175
  if (slide.imageSlot) return slide.imageSlot;
24189
24176
  if (!slide.image) return null;
@@ -24419,7 +24406,7 @@ function FeatureUtilityCardsGrid({
24419
24406
  }
24420
24407
  );
24421
24408
  }, [learnMoreSlot, learnMoreAction, background]);
24422
- const renderUtilityImage = React26.useCallback(
24409
+ const renderUtilityImage = React27.useCallback(
24423
24410
  (utility) => {
24424
24411
  if (utility.imageSlot) return utility.imageSlot;
24425
24412
  if (utility.image) {
@@ -24597,7 +24584,7 @@ function FeatureBentoUtilities({
24597
24584
  patternOpacity,
24598
24585
  patternClassName
24599
24586
  }) {
24600
- const renderCard = React26.useCallback(
24587
+ const renderCard = React27.useCallback(
24601
24588
  (card, index) => {
24602
24589
  const hasImage = card.imageSrc || card.imageSlot;
24603
24590
  const cardClasses = cn(
@@ -24653,7 +24640,7 @@ function FeatureBentoUtilities({
24653
24640
  },
24654
24641
  [optixFlowConfig]
24655
24642
  );
24656
- const renderColumn = React26.useCallback(
24643
+ const renderColumn = React27.useCallback(
24657
24644
  (cards, slot) => {
24658
24645
  if (slot) return slot;
24659
24646
  if (!cards || cards.length === 0) return null;
@@ -25899,7 +25886,7 @@ function FeatureBentoImageGrid({
25899
25886
  patternOpacity,
25900
25887
  patternClassName
25901
25888
  }) {
25902
- const renderItemIcon = React26.useCallback(
25889
+ const renderItemIcon = React27.useCallback(
25903
25890
  (item) => {
25904
25891
  if (item.icon) return item.icon;
25905
25892
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 });
@@ -25907,7 +25894,7 @@ function FeatureBentoImageGrid({
25907
25894
  },
25908
25895
  []
25909
25896
  );
25910
- const renderItemImage = React26.useCallback(
25897
+ const renderItemImage = React27.useCallback(
25911
25898
  (item, imageClassName) => {
25912
25899
  if (item.imageSlot) return item.imageSlot;
25913
25900
  if (item.imageSrc) {
@@ -25926,7 +25913,7 @@ function FeatureBentoImageGrid({
25926
25913
  },
25927
25914
  [optixFlowConfig]
25928
25915
  );
25929
- const renderLargeCard = React26.useCallback(
25916
+ const renderLargeCard = React27.useCallback(
25930
25917
  (item) => {
25931
25918
  const iconContent = renderItemIcon(item);
25932
25919
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -26014,7 +26001,7 @@ function FeatureBentoImageGrid({
26014
26001
  },
26015
26002
  [largeCardClassName, renderItemImage, renderItemIcon]
26016
26003
  );
26017
- const renderSmallCard = React26.useCallback(
26004
+ const renderSmallCard = React27.useCallback(
26018
26005
  (item, index) => {
26019
26006
  const iconContent = renderItemIcon(item);
26020
26007
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -26629,7 +26616,7 @@ function FeatureAccordionImage({
26629
26616
  patternOpacity,
26630
26617
  patternClassName
26631
26618
  }) {
26632
- const [activeItem, setActiveItem] = React26.useState(defaultValue || "item-0");
26619
+ const [activeItem, setActiveItem] = React27.useState(defaultValue || "item-0");
26633
26620
  const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
26634
26621
  const currentImage = items?.[activeIndex] || items?.[0];
26635
26622
  const accordionItemsContent = useMemo(() => {
@@ -26778,7 +26765,7 @@ function FeatureCapabilitiesGrid({
26778
26765
  patternOpacity,
26779
26766
  patternClassName
26780
26767
  }) {
26781
- const renderItemIcon = React26.useCallback(
26768
+ const renderItemIcon = React27.useCallback(
26782
26769
  (item) => {
26783
26770
  if (item.icon) return item.icon;
26784
26771
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 });
@@ -26930,7 +26917,7 @@ function FeatureCapabilitiesGrid({
26930
26917
  }
26931
26918
  );
26932
26919
  }
26933
- var TeamMemberBackgroundImageCard = React26.forwardRef(
26920
+ var TeamMemberBackgroundImageCard = React27.forwardRef(
26934
26921
  ({ className, imageUrl, imageAlt, children, optixFlowConfig, background, ...props }, ref) => {
26935
26922
  return /* @__PURE__ */ jsxs(
26936
26923
  "div",
@@ -26978,7 +26965,7 @@ function TeamMediaShowcase({
26978
26965
  actionClassName,
26979
26966
  optixFlowConfig
26980
26967
  }) {
26981
- const renderItems = React26.useMemo(() => {
26968
+ const renderItems = React27.useMemo(() => {
26982
26969
  if (itemsSlot) return itemsSlot;
26983
26970
  return items.map((member, idx) => {
26984
26971
  const imageAlt = member.imageAlt || (member.name && typeof member.name === "string" && member.name.trim() !== "" ? member.name : `member-${idx}`);
@@ -27076,7 +27063,7 @@ function TeamSimpleGrid({
27076
27063
  memberNameClassName,
27077
27064
  memberRoleClassName
27078
27065
  }) {
27079
- const renderMembers = React26.useMemo(() => {
27066
+ const renderMembers = React27.useMemo(() => {
27080
27067
  if (membersSlot) return membersSlot;
27081
27068
  if (!members || members.length === 0) return null;
27082
27069
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -27238,7 +27225,7 @@ function FooterBrandLinksContact({
27238
27225
  linkListClassName,
27239
27226
  linkItemClassName
27240
27227
  ]);
27241
- const contactItemsContent = React26.useMemo(() => {
27228
+ const contactItemsContent = React27.useMemo(() => {
27242
27229
  if (!contactItems || contactItems.length === 0) return null;
27243
27230
  return contactItems.map((item, idx) => /* @__PURE__ */ jsxs(
27244
27231
  "div",
@@ -27596,7 +27583,7 @@ function TeamSocialGrid({
27596
27583
  memberRoleClassName,
27597
27584
  socialLinksClassName
27598
27585
  }) {
27599
- const renderMembers = React26.useMemo(() => {
27586
+ const renderMembers = React27.useMemo(() => {
27600
27587
  if (membersSlot) return membersSlot;
27601
27588
  if (!members || members.length === 0) return null;
27602
27589
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -27732,7 +27719,7 @@ function TeamGradientCards({
27732
27719
  memberRoleClassName,
27733
27720
  socialLinksClassName
27734
27721
  }) {
27735
- const renderMembers = React26.useMemo(() => {
27722
+ const renderMembers = React27.useMemo(() => {
27736
27723
  if (membersSlot) return membersSlot;
27737
27724
  if (!members || members.length === 0) return null;
27738
27725
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -27888,7 +27875,7 @@ function TeamBioBadges({
27888
27875
  memberBioClassName,
27889
27876
  socialLinksClassName
27890
27877
  }) {
27891
- const renderMembers = React26.useMemo(() => {
27878
+ const renderMembers = React27.useMemo(() => {
27892
27879
  if (membersSlot) return membersSlot;
27893
27880
  if (!members || members.length === 0) return null;
27894
27881
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -28065,7 +28052,7 @@ function TeamExpertiseCards({
28065
28052
  ctaDescriptionClassName,
28066
28053
  ctaButtonClassName
28067
28054
  }) {
28068
- const renderMembers = React26.useMemo(() => {
28055
+ const renderMembers = React27.useMemo(() => {
28069
28056
  if (membersSlot) return membersSlot;
28070
28057
  if (!members || members.length === 0) return null;
28071
28058
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -28142,7 +28129,7 @@ function TeamExpertiseCards({
28142
28129
  member.id
28143
28130
  ));
28144
28131
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName, memberDescriptionClassName, expertiseClassName]);
28145
- const renderCta = React26.useMemo(() => {
28132
+ const renderCta = React27.useMemo(() => {
28146
28133
  if (ctaSlot) return ctaSlot;
28147
28134
  return /* @__PURE__ */ jsxs(
28148
28135
  "div",
@@ -28258,7 +28245,7 @@ function TeamCompactGrid({
28258
28245
  ctaDescriptionClassName,
28259
28246
  ctaButtonClassName
28260
28247
  }) {
28261
- const renderMembers = React26.useMemo(() => {
28248
+ const renderMembers = React27.useMemo(() => {
28262
28249
  if (membersSlot) return membersSlot;
28263
28250
  if (!members || members.length === 0) return null;
28264
28251
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -28313,7 +28300,7 @@ function TeamCompactGrid({
28313
28300
  member.id
28314
28301
  ));
28315
28302
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName]);
28316
- const renderCta = React26.useMemo(() => {
28303
+ const renderCta = React27.useMemo(() => {
28317
28304
  if (ctaSlot) return ctaSlot;
28318
28305
  return /* @__PURE__ */ jsxs(
28319
28306
  "div",
@@ -28417,7 +28404,7 @@ function TeamInvestorShowcase({
28417
28404
  investorCompanyClassName,
28418
28405
  optixFlowConfig
28419
28406
  }) {
28420
- const renderInvestors = React26.useMemo(() => {
28407
+ const renderInvestors = React27.useMemo(() => {
28421
28408
  if (investorsSlot) return investorsSlot;
28422
28409
  if (!investors || investors.length === 0) return null;
28423
28410
  return investors.map((investor) => /* @__PURE__ */ jsxs("div", { className: investorCardClassName, children: [
@@ -28491,7 +28478,7 @@ function TeamCarouselExperience({
28491
28478
  memberRoleClassName,
28492
28479
  optixFlowConfig
28493
28480
  }) {
28494
- const renderMembers = React26.useMemo(() => {
28481
+ const renderMembers = React27.useMemo(() => {
28495
28482
  if (membersSlot) return membersSlot;
28496
28483
  if (!members || members.length === 0) return null;
28497
28484
  return members.map((member, idx) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-72", children: /* @__PURE__ */ jsxs(
@@ -28641,20 +28628,20 @@ function TeamFilterableSearch({
28641
28628
  emptyStateClassName,
28642
28629
  emptyStateMessage
28643
28630
  }) {
28644
- const [searchQuery, setSearchQuery] = React26.useState("");
28645
- const [selectedDepartment, setSelectedDepartment] = React26.useState("All");
28646
- const departments = React26.useMemo(() => {
28631
+ const [searchQuery, setSearchQuery] = React27.useState("");
28632
+ const [selectedDepartment, setSelectedDepartment] = React27.useState("All");
28633
+ const departments = React27.useMemo(() => {
28647
28634
  const depts = new Set(members.map((m) => m.department));
28648
28635
  return ["All", ...Array.from(depts)];
28649
28636
  }, [members]);
28650
- const filteredMembers = React26.useMemo(() => {
28637
+ const filteredMembers = React27.useMemo(() => {
28651
28638
  return members.filter((member) => {
28652
28639
  const matchesSearch = searchQuery === "" || member.name.toLowerCase().includes(searchQuery.toLowerCase()) || member.role.toLowerCase().includes(searchQuery.toLowerCase()) || member.description.toLowerCase().includes(searchQuery.toLowerCase());
28653
28640
  const matchesDepartment = selectedDepartment === "All" || member.department === selectedDepartment;
28654
28641
  return matchesSearch && matchesDepartment;
28655
28642
  });
28656
28643
  }, [members, searchQuery, selectedDepartment]);
28657
- const renderFilters = React26.useMemo(() => {
28644
+ const renderFilters = React27.useMemo(() => {
28658
28645
  if (filtersSlot) return filtersSlot;
28659
28646
  return /* @__PURE__ */ jsxs(
28660
28647
  "div",
@@ -28709,7 +28696,7 @@ function TeamFilterableSearch({
28709
28696
  selectedDepartment,
28710
28697
  filterButtonClassName
28711
28698
  ]);
28712
- const renderMembers = React26.useMemo(() => {
28699
+ const renderMembers = React27.useMemo(() => {
28713
28700
  if (membersSlot) return membersSlot;
28714
28701
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
28715
28702
  "div",
@@ -28896,7 +28883,7 @@ function TeamCompactCta({
28896
28883
  memberRoleClassName,
28897
28884
  ctaClassName
28898
28885
  }) {
28899
- const renderMembers = React26.useMemo(() => {
28886
+ const renderMembers = React27.useMemo(() => {
28900
28887
  if (membersSlot) return membersSlot;
28901
28888
  if (!members || members.length === 0) return null;
28902
28889
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -28924,7 +28911,7 @@ function TeamCompactCta({
28924
28911
  member.id
28925
28912
  ));
28926
28913
  }, [membersSlot, members, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, background]);
28927
- const renderCta = React26.useMemo(() => {
28914
+ const renderCta = React27.useMemo(() => {
28928
28915
  if (ctaSlot) return ctaSlot;
28929
28916
  return /* @__PURE__ */ jsx(
28930
28917
  Pressable,
@@ -29015,7 +29002,7 @@ function TeamHoverHighlight({
29015
29002
  socialLinksClassName,
29016
29003
  optixFlowConfig
29017
29004
  }) {
29018
- const renderMembers = React26.useMemo(() => {
29005
+ const renderMembers = React27.useMemo(() => {
29019
29006
  if (membersSlot) return membersSlot;
29020
29007
  if (!members || members.length === 0) return null;
29021
29008
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -29164,7 +29151,7 @@ function TeamSocialCards({
29164
29151
  socialLinksClassName,
29165
29152
  optixFlowConfig
29166
29153
  }) {
29167
- const renderMembers = React26.useMemo(() => {
29154
+ const renderMembers = React27.useMemo(() => {
29168
29155
  if (membersSlot) return membersSlot;
29169
29156
  if (!members || members.length === 0) return null;
29170
29157
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -29334,7 +29321,7 @@ function TeamGridAnimated({
29334
29321
  "hsl(var(--muted))",
29335
29322
  "hsl(var(--warning)/0.2)"
29336
29323
  ];
29337
- const renderMembers = React26.useMemo(() => {
29324
+ const renderMembers = React27.useMemo(() => {
29338
29325
  if (membersSlot) return membersSlot;
29339
29326
  if (!members || members.length === 0) return null;
29340
29327
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -29434,7 +29421,7 @@ function TeamGridAnimated({
29434
29421
  memberDesignationClassName,
29435
29422
  socialLinksClassName
29436
29423
  ]);
29437
- const renderSocialLinksMain = React26.useMemo(() => {
29424
+ const renderSocialLinksMain = React27.useMemo(() => {
29438
29425
  if (socialLinksMainSlot) return socialLinksMainSlot;
29439
29426
  if (!socialLinksMain || socialLinksMain.length === 0) return null;
29440
29427
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-center gap-4 py-4 md:justify-center", children: [
@@ -29551,7 +29538,7 @@ function TeamDepartmentSections({
29551
29538
  memberRoleClassName,
29552
29539
  optixFlowConfig
29553
29540
  }) {
29554
- const renderDepartments = React26.useMemo(() => {
29541
+ const renderDepartments = React27.useMemo(() => {
29555
29542
  if (departmentsSlot) return departmentsSlot;
29556
29543
  if (!departments || departments.length === 0) return null;
29557
29544
  return departments.map((department, deptIndex) => /* @__PURE__ */ jsxs(
@@ -29655,7 +29642,7 @@ function TeamAlternatingBios({
29655
29642
  socialLinksClassName,
29656
29643
  optixFlowConfig
29657
29644
  }) {
29658
- const renderMembers = React26.useMemo(() => {
29645
+ const renderMembers = React27.useMemo(() => {
29659
29646
  if (membersSlot) return membersSlot;
29660
29647
  if (!members || members.length === 0) return null;
29661
29648
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -29837,7 +29824,7 @@ function TeamAvatarSocial({
29837
29824
  memberRoleClassName,
29838
29825
  socialLinksClassName
29839
29826
  }) {
29840
- const renderMembers = React26.useMemo(() => {
29827
+ const renderMembers = React27.useMemo(() => {
29841
29828
  if (membersSlot) return membersSlot;
29842
29829
  if (!members || members.length === 0) return null;
29843
29830
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -29980,7 +29967,7 @@ function TeamHoverOverlay({
29980
29967
  socialLinksClassName,
29981
29968
  optixFlowConfig
29982
29969
  }) {
29983
- const renderMembers = React26.useMemo(() => {
29970
+ const renderMembers = React27.useMemo(() => {
29984
29971
  if (membersSlot) return membersSlot;
29985
29972
  if (!members || members.length === 0) return null;
29986
29973
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30156,14 +30143,14 @@ function TeamRoleFilter({
30156
30143
  socialLinksClassName,
30157
30144
  optixFlowConfig
30158
30145
  }) {
30159
- const [selectedRole, setSelectedRole] = React26.useState("All");
30160
- const filteredMembers = React26.useMemo(() => {
30146
+ const [selectedRole, setSelectedRole] = React27.useState("All");
30147
+ const filteredMembers = React27.useMemo(() => {
30161
30148
  if (!members) return [];
30162
30149
  return members.filter(
30163
30150
  (member) => selectedRole === "All" ? true : member.role === selectedRole
30164
30151
  );
30165
30152
  }, [members, selectedRole]);
30166
- const renderRoles = React26.useMemo(() => {
30153
+ const renderRoles = React27.useMemo(() => {
30167
30154
  if (rolesSlot) return rolesSlot;
30168
30155
  if (!roles) return null;
30169
30156
  return /* @__PURE__ */ jsx(
@@ -30187,7 +30174,7 @@ function TeamRoleFilter({
30187
30174
  }
30188
30175
  );
30189
30176
  }, [rolesSlot, filtersClassName, roles, selectedRole, filterButtonClassName]);
30190
- const renderMembers = React26.useMemo(() => {
30177
+ const renderMembers = React27.useMemo(() => {
30191
30178
  if (membersSlot) return membersSlot;
30192
30179
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
30193
30180
  Card,
@@ -30347,7 +30334,7 @@ function TeamContactCards({
30347
30334
  socialLinksClassName,
30348
30335
  optixFlowConfig
30349
30336
  }) {
30350
- const getStatusColor = React26.useCallback((status) => {
30337
+ const getStatusColor = React27.useCallback((status) => {
30351
30338
  switch (status) {
30352
30339
  case "active":
30353
30340
  return "bg-success";
@@ -30357,7 +30344,7 @@ function TeamContactCards({
30357
30344
  return getTextColor(background, "muted");
30358
30345
  }
30359
30346
  }, [background]);
30360
- const renderMembers = React26.useMemo(() => {
30347
+ const renderMembers = React27.useMemo(() => {
30361
30348
  if (membersSlot) return membersSlot;
30362
30349
  if (!members || members.length === 0) return null;
30363
30350
  return members.map((member) => /* @__PURE__ */ jsx(Card, { className: cn("p-0", memberCardClassName), children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6!", children: [
@@ -30564,7 +30551,7 @@ function TeamLargeImages({
30564
30551
  socialLinksClassName,
30565
30552
  optixFlowConfig
30566
30553
  }) {
30567
- const renderMembers = React26.useMemo(() => {
30554
+ const renderMembers = React27.useMemo(() => {
30568
30555
  if (membersSlot) return membersSlot;
30569
30556
  if (!members || members.length === 0) return null;
30570
30557
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30739,7 +30726,7 @@ function TeamSkillBadges({
30739
30726
  socialLinksClassName,
30740
30727
  optixFlowConfig
30741
30728
  }) {
30742
- const renderMembers = React26.useMemo(() => {
30729
+ const renderMembers = React27.useMemo(() => {
30743
30730
  if (membersSlot) return membersSlot;
30744
30731
  if (!members || members.length === 0) return null;
30745
30732
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30929,7 +30916,7 @@ function TeamTestimonialStats({
30929
30916
  socialLinksClassName,
30930
30917
  optixFlowConfig
30931
30918
  }) {
30932
- const renderMembers = React26.useMemo(() => {
30919
+ const renderMembers = React27.useMemo(() => {
30933
30920
  if (membersSlot) return membersSlot;
30934
30921
  if (!members || members.length === 0) return null;
30935
30922
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -35073,7 +35060,7 @@ function BlogGridAuthorCardsComponent({
35073
35060
  pattern,
35074
35061
  patternOpacity
35075
35062
  }) {
35076
- const viewAllActionContent = React26.useMemo(() => {
35063
+ const viewAllActionContent = React27.useMemo(() => {
35077
35064
  if (viewAllSlot) return viewAllSlot;
35078
35065
  if (!viewAllAction) return null;
35079
35066
  const {
@@ -35098,7 +35085,7 @@ function BlogGridAuthorCardsComponent({
35098
35085
  }
35099
35086
  );
35100
35087
  }, [viewAllSlot, viewAllAction]);
35101
- const postsContent = React26.useMemo(() => {
35088
+ const postsContent = React27.useMemo(() => {
35102
35089
  if (postsSlot) return postsSlot;
35103
35090
  if (!posts || posts.length === 0) return null;
35104
35091
  return posts.map((post) => {
@@ -35210,7 +35197,7 @@ function BlogCardsTaglineCta({
35210
35197
  pattern,
35211
35198
  patternOpacity
35212
35199
  }) {
35213
- const ctaActionContent = React26.useMemo(() => {
35200
+ const ctaActionContent = React27.useMemo(() => {
35214
35201
  if (ctaSlot) return ctaSlot;
35215
35202
  if (!ctaAction) return null;
35216
35203
  const {
@@ -35238,7 +35225,7 @@ function BlogCardsTaglineCta({
35238
35225
  }
35239
35226
  );
35240
35227
  }, [ctaSlot, ctaAction, ctaClassName]);
35241
- const postsContent = React26.useMemo(() => {
35228
+ const postsContent = React27.useMemo(() => {
35242
35229
  if (postsSlot) return postsSlot;
35243
35230
  if (!posts || posts.length === 0) return null;
35244
35231
  return posts.map((post) => {
@@ -35384,7 +35371,7 @@ function BlogCardsReadTime({
35384
35371
  pattern,
35385
35372
  patternOpacity
35386
35373
  }) {
35387
- const renderedViewAllAction = React26.useMemo(() => {
35374
+ const renderedViewAllAction = React27.useMemo(() => {
35388
35375
  if (viewAllSlot) return viewAllSlot;
35389
35376
  if (!viewAllAction) return null;
35390
35377
  const {
@@ -35401,7 +35388,7 @@ function BlogCardsReadTime({
35401
35388
  iconAfter
35402
35389
  ] }) });
35403
35390
  }, [viewAllSlot, viewAllAction]);
35404
- const renderedPosts = React26.useMemo(() => {
35391
+ const renderedPosts = React27.useMemo(() => {
35405
35392
  if (postsSlot) return postsSlot;
35406
35393
  if (!posts || posts.length === 0) return null;
35407
35394
  return posts.map((post) => {
@@ -35538,7 +35525,7 @@ function BlogCategoryOverlay({
35538
35525
  pattern,
35539
35526
  patternOpacity
35540
35527
  }) {
35541
- const viewAllActionContent = React26.useMemo(() => {
35528
+ const viewAllActionContent = React27.useMemo(() => {
35542
35529
  if (viewAllSlot) return viewAllSlot;
35543
35530
  if (!viewAllAction) return null;
35544
35531
  const {
@@ -35566,7 +35553,7 @@ function BlogCategoryOverlay({
35566
35553
  }
35567
35554
  );
35568
35555
  }, [viewAllSlot, viewAllAction, viewAllClassName]);
35569
- const postsContent = React26.useMemo(() => {
35556
+ const postsContent = React27.useMemo(() => {
35570
35557
  if (postsSlot) return postsSlot;
35571
35558
  if (!posts || posts.length === 0) return null;
35572
35559
  return posts.map((post) => {
@@ -35714,7 +35701,7 @@ function BlogFeaturedPopular({
35714
35701
  }) {
35715
35702
  const featuredPost = posts?.[0];
35716
35703
  const popularPosts = posts?.slice(1);
35717
- const renderedFeaturedPost = React26.useMemo(() => {
35704
+ const renderedFeaturedPost = React27.useMemo(() => {
35718
35705
  if (featuredSlot) return featuredSlot;
35719
35706
  if (!featuredPost) return null;
35720
35707
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link;
@@ -35766,7 +35753,7 @@ function BlogFeaturedPopular({
35766
35753
  featuredContentClassName,
35767
35754
  optixFlowConfig
35768
35755
  ]);
35769
- const renderedPopularPosts = React26.useMemo(() => {
35756
+ const renderedPopularPosts = React27.useMemo(() => {
35770
35757
  if (postsSlot) return postsSlot;
35771
35758
  if (!popularPosts || popularPosts.length === 0) return null;
35772
35759
  return popularPosts.map((post) => {
@@ -35883,7 +35870,7 @@ function BlogRelatedArticles({
35883
35870
  pattern,
35884
35871
  patternOpacity
35885
35872
  }) {
35886
- const renderedSeeAllAction = React26.useMemo(() => {
35873
+ const renderedSeeAllAction = React27.useMemo(() => {
35887
35874
  if (seeAllSlot) return seeAllSlot;
35888
35875
  if (!seeAllAction) return null;
35889
35876
  const {
@@ -35912,7 +35899,7 @@ function BlogRelatedArticles({
35912
35899
  }
35913
35900
  );
35914
35901
  }, [seeAllSlot, seeAllAction, seeAllClassName]);
35915
- const renderedArticles = React26.useMemo(() => {
35902
+ const renderedArticles = React27.useMemo(() => {
35916
35903
  if (articlesSlot) return articlesSlot;
35917
35904
  if (!articles || articles.length === 0) return null;
35918
35905
  return articles.map((item) => {
@@ -36220,7 +36207,7 @@ function BlogHorizontalCards({
36220
36207
  pattern,
36221
36208
  patternOpacity
36222
36209
  }) {
36223
- const ctaContent = React26.useMemo(() => {
36210
+ const ctaContent = React27.useMemo(() => {
36224
36211
  if (ctaSlot) return ctaSlot;
36225
36212
  if (!ctaAction) return null;
36226
36213
  const {
@@ -36245,7 +36232,7 @@ function BlogHorizontalCards({
36245
36232
  }
36246
36233
  );
36247
36234
  }, [ctaSlot, ctaAction]);
36248
- const postsContent = React26.useMemo(() => {
36235
+ const postsContent = React27.useMemo(() => {
36249
36236
  if (postsSlot) return postsSlot;
36250
36237
  if (!posts || posts.length === 0) return null;
36251
36238
  return posts.map((post) => {
@@ -36467,7 +36454,7 @@ function Label({
36467
36454
  );
36468
36455
  }
36469
36456
  var POSTS_PER_PAGE = 6;
36470
- var BlogCard = React26.memo(function BlogCard2({
36457
+ var BlogCard = React27.memo(function BlogCard2({
36471
36458
  post,
36472
36459
  optixFlowConfig,
36473
36460
  className
@@ -36506,7 +36493,7 @@ var BlogCard = React26.memo(function BlogCard2({
36506
36493
  ] })
36507
36494
  ] }) });
36508
36495
  });
36509
- var FilterForm = React26.memo(function FilterForm2({
36496
+ var FilterForm = React27.memo(function FilterForm2({
36510
36497
  categories,
36511
36498
  selectedCategories,
36512
36499
  onCategoryChange,
@@ -36539,7 +36526,7 @@ var FilterForm = React26.memo(function FilterForm2({
36539
36526
  }
36540
36527
  );
36541
36528
  });
36542
- var BreadcrumbBlog = React26.memo(function BreadcrumbBlog2({
36529
+ var BreadcrumbBlog = React27.memo(function BreadcrumbBlog2({
36543
36530
  breadcrumb
36544
36531
  }) {
36545
36532
  return /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumb.map((item, i) => {
@@ -36621,12 +36608,12 @@ function BlogFilteredResultsComponent({
36621
36608
  }, [posts, selectedCategories]);
36622
36609
  const postsToDisplay = filteredPosts.length > 0 ? filteredPosts : posts || [];
36623
36610
  const hasMore = visibleCount < postsToDisplay.length;
36624
- const breadcrumbContent = React26.useMemo(() => {
36611
+ const breadcrumbContent = React27.useMemo(() => {
36625
36612
  if (breadcrumbSlot) return breadcrumbSlot;
36626
36613
  if (!breadcrumb || breadcrumb.length === 0) return null;
36627
36614
  return /* @__PURE__ */ jsx(BreadcrumbBlog, { breadcrumb });
36628
36615
  }, [breadcrumbSlot, breadcrumb]);
36629
- const primaryPostContent = React26.useMemo(() => {
36616
+ const primaryPostContent = React27.useMemo(() => {
36630
36617
  if (primaryPostSlot) return primaryPostSlot;
36631
36618
  if (!primaryPost) return null;
36632
36619
  return /* @__PURE__ */ jsx(
@@ -36638,7 +36625,7 @@ function BlogFilteredResultsComponent({
36638
36625
  }
36639
36626
  );
36640
36627
  }, [primaryPostSlot, primaryPost, optixFlowConfig, postCardClassName]);
36641
- const categoriesContent = React26.useMemo(() => {
36628
+ const categoriesContent = React27.useMemo(() => {
36642
36629
  if (categoriesSlot) return categoriesSlot;
36643
36630
  if (!categories || categories.length === 0) return null;
36644
36631
  return /* @__PURE__ */ jsx(
@@ -36657,7 +36644,7 @@ function BlogFilteredResultsComponent({
36657
36644
  handleCategoryChange,
36658
36645
  categoriesClassName
36659
36646
  ]);
36660
- const postsContent = React26.useMemo(() => {
36647
+ const postsContent = React27.useMemo(() => {
36661
36648
  if (postsSlot) return postsSlot;
36662
36649
  return postsToDisplay.slice(0, visibleCount).map((post) => {
36663
36650
  const postKey = post.id || String(post.title) || Math.random().toString();
@@ -36678,7 +36665,7 @@ function BlogFilteredResultsComponent({
36678
36665
  optixFlowConfig,
36679
36666
  postCardClassName
36680
36667
  ]);
36681
- const loadMoreContent = React26.useMemo(() => {
36668
+ const loadMoreContent = React27.useMemo(() => {
36682
36669
  if (loadMoreSlot) return loadMoreSlot;
36683
36670
  if (!loadMoreAction || !hasMore) return null;
36684
36671
  const {
@@ -36804,7 +36791,7 @@ function BlogMasonryFeaturedComponent({
36804
36791
  }) {
36805
36792
  const featuredPost = posts?.[0];
36806
36793
  const otherPosts = posts?.slice(1);
36807
- const featuredPostContent = React26.useMemo(() => {
36794
+ const featuredPostContent = React27.useMemo(() => {
36808
36795
  if (featuredSlot) return featuredSlot;
36809
36796
  if (!featuredPost) return null;
36810
36797
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
@@ -36854,7 +36841,7 @@ function BlogMasonryFeaturedComponent({
36854
36841
  featuredImageClassName,
36855
36842
  optixFlowConfig
36856
36843
  ]);
36857
- const otherPostsContent = React26.useMemo(() => {
36844
+ const otherPostsContent = React27.useMemo(() => {
36858
36845
  if (postsSlot) return postsSlot;
36859
36846
  if (!otherPosts || otherPosts.length === 0) return null;
36860
36847
  return otherPosts.map((post) => {
@@ -36943,7 +36930,7 @@ function BlogHorizontalTimelineComponent({
36943
36930
  pattern,
36944
36931
  patternOpacity
36945
36932
  }) {
36946
- const renderPosts = React26.useMemo(() => {
36933
+ const renderPosts = React27.useMemo(() => {
36947
36934
  if (postsSlot) return postsSlot;
36948
36935
  if (!posts || posts.length === 0) return null;
36949
36936
  return posts.map((post, index) => {
@@ -37068,7 +37055,7 @@ function BlogGridNinePosts({
37068
37055
  pattern,
37069
37056
  patternOpacity
37070
37057
  }) {
37071
- const renderedCtaAction = React26.useMemo(() => {
37058
+ const renderedCtaAction = React27.useMemo(() => {
37072
37059
  if (ctaSlot) return ctaSlot;
37073
37060
  if (!ctaAction) return null;
37074
37061
  const {
@@ -37093,7 +37080,7 @@ function BlogGridNinePosts({
37093
37080
  }
37094
37081
  );
37095
37082
  }, [ctaSlot, ctaAction]);
37096
- const renderedPosts = React26.useMemo(() => {
37083
+ const renderedPosts = React27.useMemo(() => {
37097
37084
  if (postsSlot) return postsSlot;
37098
37085
  if (!posts || posts.length === 0) return null;
37099
37086
  return posts.map((post) => {
@@ -37191,9 +37178,9 @@ var AppleCarousel = ({
37191
37178
  className,
37192
37179
  containerClassName
37193
37180
  }) => {
37194
- const carouselRef = React26__default.useRef(null);
37195
- const [canScrollLeft, setCanScrollLeft] = React26__default.useState(false);
37196
- const [canScrollRight, setCanScrollRight] = React26__default.useState(true);
37181
+ const carouselRef = React27__default.useRef(null);
37182
+ const [canScrollLeft, setCanScrollLeft] = React27__default.useState(false);
37183
+ const [canScrollRight, setCanScrollRight] = React27__default.useState(true);
37197
37184
  const [currentIndex, setCurrentIndex] = useState(0);
37198
37185
  useEffect(() => {
37199
37186
  if (carouselRef.current) {
@@ -37430,7 +37417,7 @@ function BlogCarouselAppleComponent({
37430
37417
  containerClassName,
37431
37418
  cardClassName
37432
37419
  }) {
37433
- const carouselCards = React26.useMemo(() => {
37420
+ const carouselCards = React27.useMemo(() => {
37434
37421
  if (!posts || posts.length === 0) return [];
37435
37422
  return posts.map(
37436
37423
  (post, idx) => ({
@@ -37442,7 +37429,7 @@ function BlogCarouselAppleComponent({
37442
37429
  })
37443
37430
  );
37444
37431
  }, [posts]);
37445
- const cardElements = React26.useMemo(() => {
37432
+ const cardElements = React27.useMemo(() => {
37446
37433
  if (!posts || posts.length === 0) return [];
37447
37434
  return carouselCards.map((card, index) => {
37448
37435
  const post = posts[index];
@@ -37527,7 +37514,7 @@ function ArticleHeroProseComponent({
37527
37514
  description,
37528
37515
  authorImage
37529
37516
  } = post ?? {};
37530
- const authorContent = React26.useMemo(() => {
37517
+ const authorContent = React27.useMemo(() => {
37531
37518
  if (authorSlot) return authorSlot;
37532
37519
  if (!authorName) return null;
37533
37520
  return /* @__PURE__ */ jsxs(
@@ -37561,7 +37548,7 @@ function ArticleHeroProseComponent({
37561
37548
  dateFormat,
37562
37549
  authorClassName
37563
37550
  ]);
37564
- const heroMediaContent = React26.useMemo(() => {
37551
+ const heroMediaContent = React27.useMemo(() => {
37565
37552
  if (heroMediaSlot) return heroMediaSlot;
37566
37553
  if (!image) return null;
37567
37554
  return /* @__PURE__ */ jsx(
@@ -37662,7 +37649,7 @@ function ArticleSidebarStickyComponent({
37662
37649
  pattern,
37663
37650
  patternOpacity
37664
37651
  }) {
37665
- const backLinkContent = React26.useMemo(() => {
37652
+ const backLinkContent = React27.useMemo(() => {
37666
37653
  if (backLinkSlot) return backLinkSlot;
37667
37654
  if (!backHref && !backText) return null;
37668
37655
  return /* @__PURE__ */ jsxs(
@@ -37680,7 +37667,7 @@ function ArticleSidebarStickyComponent({
37680
37667
  }
37681
37668
  );
37682
37669
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
37683
- const renderAuthor = React26.useCallback(
37670
+ const renderAuthor = React27.useCallback(
37684
37671
  (isMobile = false) => {
37685
37672
  if (authorSlot) return authorSlot;
37686
37673
  if (!authorName) return null;
@@ -37712,7 +37699,7 @@ function ArticleSidebarStickyComponent({
37712
37699
  authorClassName
37713
37700
  ]
37714
37701
  );
37715
- const heroMediaContent = React26.useMemo(() => {
37702
+ const heroMediaContent = React27.useMemo(() => {
37716
37703
  if (heroMediaSlot) return heroMediaSlot;
37717
37704
  if (!heroImageSrc) return null;
37718
37705
  return /* @__PURE__ */ jsx(
@@ -37819,10 +37806,10 @@ function ArticleTocSidebarComponent({
37819
37806
  patternOpacity
37820
37807
  }) {
37821
37808
  const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
37822
- const [activeSection, setActiveSection] = React26.useState(
37809
+ const [activeSection, setActiveSection] = React27.useState(
37823
37810
  sections?.[0]?.id || ""
37824
37811
  );
37825
- React26.useEffect(() => {
37812
+ React27.useEffect(() => {
37826
37813
  if (!enableTocTracking || !sections || sections.length === 0) return;
37827
37814
  const observer = new IntersectionObserver(
37828
37815
  (entries) => {
@@ -37840,12 +37827,12 @@ function ArticleTocSidebarComponent({
37840
37827
  });
37841
37828
  return () => observer.disconnect();
37842
37829
  }, [sections, enableTocTracking]);
37843
- const categoryContent = React26.useMemo(() => {
37830
+ const categoryContent = React27.useMemo(() => {
37844
37831
  if (categorySlot) return categorySlot;
37845
37832
  if (!category) return null;
37846
37833
  return /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: category });
37847
37834
  }, [categorySlot, category]);
37848
- const authorContent = React26.useMemo(() => {
37835
+ const authorContent = React27.useMemo(() => {
37849
37836
  if (authorSlot) return authorSlot;
37850
37837
  if (!authorName) return null;
37851
37838
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4", authorClassName), children: [
@@ -37865,7 +37852,7 @@ function ArticleTocSidebarComponent({
37865
37852
  ] })
37866
37853
  ] });
37867
37854
  }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
37868
- const heroMediaContent = React26.useMemo(() => {
37855
+ const heroMediaContent = React27.useMemo(() => {
37869
37856
  if (heroMediaSlot) return heroMediaSlot;
37870
37857
  if (!heroImageSrc) return null;
37871
37858
  return /* @__PURE__ */ jsx(
@@ -37878,7 +37865,7 @@ function ArticleTocSidebarComponent({
37878
37865
  }
37879
37866
  );
37880
37867
  }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
37881
- const tocContent = React26.useMemo(() => {
37868
+ const tocContent = React27.useMemo(() => {
37882
37869
  if (tocSlot) return tocSlot;
37883
37870
  if (!sections || sections.length === 0) return null;
37884
37871
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -37886,7 +37873,7 @@ function ArticleTocSidebarComponent({
37886
37873
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
37887
37874
  const isActive = activeSection === section.id;
37888
37875
  if (renderSectionLink) {
37889
- return /* @__PURE__ */ jsx(React26.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
37876
+ return /* @__PURE__ */ jsx(React27.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
37890
37877
  }
37891
37878
  return /* @__PURE__ */ jsx(
37892
37879
  Pressable,
@@ -37903,7 +37890,7 @@ function ArticleTocSidebarComponent({
37903
37890
  }) })
37904
37891
  ] });
37905
37892
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
37906
- const ctaContent = React26.useMemo(() => {
37893
+ const ctaContent = React27.useMemo(() => {
37907
37894
  if (ctaSlot) return ctaSlot;
37908
37895
  if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
37909
37896
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", getNestedCardBg(background, "subtle"), getNestedCardTextColor(background), ctaClassName), children: [
@@ -37992,11 +37979,11 @@ function ArticleBreadcrumbSocialComponent({
37992
37979
  patternOpacity
37993
37980
  }) {
37994
37981
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
37995
- const [activeSection, setActiveSection] = React26.useState(
37982
+ const [activeSection, setActiveSection] = React27.useState(
37996
37983
  sections?.[0]?.id || ""
37997
37984
  );
37998
- const [showBackToTop, setShowBackToTop] = React26.useState(false);
37999
- React26.useEffect(() => {
37985
+ const [showBackToTop, setShowBackToTop] = React27.useState(false);
37986
+ React27.useEffect(() => {
38000
37987
  if (!enableTocTracking || !sections || sections.length === 0) return;
38001
37988
  const observer = new IntersectionObserver(
38002
37989
  (entries) => {
@@ -38014,7 +38001,7 @@ function ArticleBreadcrumbSocialComponent({
38014
38001
  });
38015
38002
  return () => observer.disconnect();
38016
38003
  }, [sections, enableTocTracking]);
38017
- React26.useEffect(() => {
38004
+ React27.useEffect(() => {
38018
38005
  if (!enableBackToTop) return;
38019
38006
  const handleScroll = () => {
38020
38007
  setShowBackToTop(window.scrollY > 400);
@@ -38022,15 +38009,15 @@ function ArticleBreadcrumbSocialComponent({
38022
38009
  window.addEventListener("scroll", handleScroll);
38023
38010
  return () => window.removeEventListener("scroll", handleScroll);
38024
38011
  }, [enableBackToTop]);
38025
- const scrollToTop = React26.useCallback(() => {
38012
+ const scrollToTop = React27.useCallback(() => {
38026
38013
  window.scrollTo({ top: 0, behavior: "smooth" });
38027
38014
  }, []);
38028
- const breadcrumbsContent = React26.useMemo(() => {
38015
+ const breadcrumbsContent = React27.useMemo(() => {
38029
38016
  if (breadcrumbsSlot) return breadcrumbsSlot;
38030
38017
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
38031
38018
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
38032
38019
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
38033
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
38020
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
38034
38021
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
38035
38022
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
38036
38023
  ] }, index)),
@@ -38040,7 +38027,7 @@ function ArticleBreadcrumbSocialComponent({
38040
38027
  ] })
38041
38028
  ] }) });
38042
38029
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
38043
- const authorContent = React26.useMemo(() => {
38030
+ const authorContent = React27.useMemo(() => {
38044
38031
  if (authorSlot) return authorSlot;
38045
38032
  if (!author) return null;
38046
38033
  return /* @__PURE__ */ jsxs(
@@ -38063,7 +38050,7 @@ function ArticleBreadcrumbSocialComponent({
38063
38050
  }
38064
38051
  );
38065
38052
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
38066
- const heroMediaContent = React26.useMemo(() => {
38053
+ const heroMediaContent = React27.useMemo(() => {
38067
38054
  if (heroMediaSlot) return heroMediaSlot;
38068
38055
  if (!heroImageSrc) return null;
38069
38056
  return /* @__PURE__ */ jsx(
@@ -38085,7 +38072,7 @@ function ArticleBreadcrumbSocialComponent({
38085
38072
  heroImageClassName,
38086
38073
  optixFlowConfig
38087
38074
  ]);
38088
- const tocContent = React26.useMemo(() => {
38075
+ const tocContent = React27.useMemo(() => {
38089
38076
  if (tocSlot) return tocSlot;
38090
38077
  if (!sections || sections.length === 0) return null;
38091
38078
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -38093,7 +38080,7 @@ function ArticleBreadcrumbSocialComponent({
38093
38080
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
38094
38081
  const isActive = activeSection === section.id;
38095
38082
  if (renderSectionLink) {
38096
- return /* @__PURE__ */ jsx(React26.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
38083
+ return /* @__PURE__ */ jsx(React27.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
38097
38084
  }
38098
38085
  return /* @__PURE__ */ jsx(
38099
38086
  Pressable,
@@ -38198,11 +38185,11 @@ function ArticleCompactTocComponent({
38198
38185
  pattern,
38199
38186
  patternOpacity
38200
38187
  }) {
38201
- const [activeSection, setActiveSection] = React26.useState(
38188
+ const [activeSection, setActiveSection] = React27.useState(
38202
38189
  sections?.[0]?.id || ""
38203
38190
  );
38204
- const [isTocOpen, setIsTocOpen] = React26.useState(false);
38205
- React26.useEffect(() => {
38191
+ const [isTocOpen, setIsTocOpen] = React27.useState(false);
38192
+ React27.useEffect(() => {
38206
38193
  if (!enableTocTracking) return;
38207
38194
  const observer = new IntersectionObserver(
38208
38195
  (entries) => {
@@ -38220,12 +38207,12 @@ function ArticleCompactTocComponent({
38220
38207
  });
38221
38208
  return () => observer.disconnect();
38222
38209
  }, [sections, enableTocTracking]);
38223
- const breadcrumbsContent = React26.useMemo(() => {
38210
+ const breadcrumbsContent = React27.useMemo(() => {
38224
38211
  if (breadcrumbsSlot) return breadcrumbsSlot;
38225
38212
  if (!breadcrumbs && !currentPage) return null;
38226
38213
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-6 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
38227
38214
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
38228
- breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
38215
+ breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
38229
38216
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
38230
38217
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
38231
38218
  ] }, index)),
@@ -38233,7 +38220,7 @@ function ArticleCompactTocComponent({
38233
38220
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: currentPage }) })
38234
38221
  ] }) });
38235
38222
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
38236
- const shareContent = React26.useMemo(() => {
38223
+ const shareContent = React27.useMemo(() => {
38237
38224
  if (shareSlot) return shareSlot;
38238
38225
  if (!socialLinks || socialLinks.length === 0) return null;
38239
38226
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-2", shareClassName), children: [
@@ -38250,13 +38237,13 @@ function ArticleCompactTocComponent({
38250
38237
  ))
38251
38238
  ] });
38252
38239
  }, [shareSlot, socialLinks, shareClassName]);
38253
- const renderTocLinks = React26.useCallback(
38240
+ const renderTocLinks = React27.useCallback(
38254
38241
  (onLinkClick) => {
38255
38242
  if (!sections) return null;
38256
38243
  return sections.map((section) => {
38257
38244
  const isActive = activeSection === section.id;
38258
38245
  if (renderSectionLink) {
38259
- return /* @__PURE__ */ jsx(React26.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
38246
+ return /* @__PURE__ */ jsx(React27.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
38260
38247
  }
38261
38248
  return /* @__PURE__ */ jsx(
38262
38249
  Pressable,
@@ -38275,7 +38262,7 @@ function ArticleCompactTocComponent({
38275
38262
  },
38276
38263
  [sections, activeSection, renderSectionLink]
38277
38264
  );
38278
- const tocContent = React26.useMemo(() => {
38265
+ const tocContent = React27.useMemo(() => {
38279
38266
  if (tocSlot) return tocSlot;
38280
38267
  if (!sections || sections.length === 0) return null;
38281
38268
  return /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isTocOpen, onOpenChange: setIsTocOpen, children: [
@@ -38308,7 +38295,7 @@ function ArticleCompactTocComponent({
38308
38295
  )
38309
38296
  ] }) });
38310
38297
  }, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
38311
- const desktopTocContent = React26.useMemo(() => {
38298
+ const desktopTocContent = React27.useMemo(() => {
38312
38299
  if (tocSlot) return null;
38313
38300
  if (!sections || sections.length === 0) return null;
38314
38301
  return /* @__PURE__ */ jsx(
@@ -38325,7 +38312,7 @@ function ArticleCompactTocComponent({
38325
38312
  }
38326
38313
  );
38327
38314
  }, [tocSlot, sections, tocClassName, renderTocLinks]);
38328
- const heroMediaContent = React26.useMemo(() => {
38315
+ const heroMediaContent = React27.useMemo(() => {
38329
38316
  if (heroMediaSlot) return heroMediaSlot;
38330
38317
  if (!heroImageSrc) return null;
38331
38318
  return /* @__PURE__ */ jsx(
@@ -38455,10 +38442,10 @@ function ArticleChaptersAuthorComponent({
38455
38442
  variant: "default"
38456
38443
  }
38457
38444
  ] : []);
38458
- const [activeChapter, setActiveChapter] = React26.useState(
38445
+ const [activeChapter, setActiveChapter] = React27.useState(
38459
38446
  chapters?.[0]?.id || ""
38460
38447
  );
38461
- React26.useEffect(() => {
38448
+ React27.useEffect(() => {
38462
38449
  if (!enableChapterTracking || !chapters || chapters.length === 0) return;
38463
38450
  const observer = new IntersectionObserver(
38464
38451
  (entries) => {
@@ -38476,12 +38463,12 @@ function ArticleChaptersAuthorComponent({
38476
38463
  });
38477
38464
  return () => observer.disconnect();
38478
38465
  }, [chapters, enableChapterTracking]);
38479
- const breadcrumbsContent = React26.useMemo(() => {
38466
+ const breadcrumbsContent = React27.useMemo(() => {
38480
38467
  if (breadcrumbsSlot) return breadcrumbsSlot;
38481
38468
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
38482
38469
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
38483
38470
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
38484
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
38471
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
38485
38472
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
38486
38473
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
38487
38474
  ] }, index)),
@@ -38489,7 +38476,7 @@ function ArticleChaptersAuthorComponent({
38489
38476
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof currentPage === "string" ? currentPage : currentPage }) })
38490
38477
  ] }) });
38491
38478
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
38492
- const chaptersNavContent = React26.useMemo(() => {
38479
+ const chaptersNavContent = React27.useMemo(() => {
38493
38480
  if (chaptersSlot) return chaptersSlot;
38494
38481
  if (!chapters || chapters.length === 0) return null;
38495
38482
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", chaptersClassName), children: [
@@ -38497,7 +38484,7 @@ function ArticleChaptersAuthorComponent({
38497
38484
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: chapters.map((chapter) => {
38498
38485
  const isActive = activeChapter === chapter.id;
38499
38486
  if (renderChapterLink) {
38500
- return /* @__PURE__ */ jsx(React26.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
38487
+ return /* @__PURE__ */ jsx(React27.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
38501
38488
  }
38502
38489
  return /* @__PURE__ */ jsxs(
38503
38490
  Pressable,
@@ -38523,7 +38510,7 @@ function ArticleChaptersAuthorComponent({
38523
38510
  renderChapterLink,
38524
38511
  chaptersClassName
38525
38512
  ]);
38526
- const authorCardContent = React26.useMemo(() => {
38513
+ const authorCardContent = React27.useMemo(() => {
38527
38514
  if (authorSlot) return authorSlot;
38528
38515
  if (!author) return null;
38529
38516
  let socialLinksContent = null;
@@ -38584,7 +38571,7 @@ function ArticleChaptersAuthorComponent({
38584
38571
  socialLinksContent
38585
38572
  ] });
38586
38573
  }, [authorSlot, author, authorClassName]);
38587
- const heroMediaContent = React26.useMemo(() => {
38574
+ const heroMediaContent = React27.useMemo(() => {
38588
38575
  if (heroMediaSlot) return heroMediaSlot;
38589
38576
  if (!heroImageSrc) return null;
38590
38577
  return /* @__PURE__ */ jsx(
@@ -38606,7 +38593,7 @@ function ArticleChaptersAuthorComponent({
38606
38593
  heroImageClassName,
38607
38594
  optixFlowConfig
38608
38595
  ]);
38609
- const conclusionContent = React26.useMemo(() => {
38596
+ const conclusionContent = React27.useMemo(() => {
38610
38597
  if (conclusionSlot) return conclusionSlot;
38611
38598
  if (!conclusionTitle && !conclusionDescription && (!conclusionActions || conclusionActions.length === 0))
38612
38599
  return null;
@@ -38758,7 +38745,7 @@ function ArticleSplitAnimatedComponent({
38758
38745
  }
38759
38746
  ] : []);
38760
38747
  const MotionWrapper = enableAnimations ? motion.div : "div";
38761
- const categoryContent = React26.useMemo(() => {
38748
+ const categoryContent = React27.useMemo(() => {
38762
38749
  if (categorySlot) return categorySlot;
38763
38750
  if (!category) return null;
38764
38751
  return /* @__PURE__ */ jsx(
@@ -38773,7 +38760,7 @@ function ArticleSplitAnimatedComponent({
38773
38760
  }
38774
38761
  );
38775
38762
  }, [categorySlot, category, categoryHref, categoryClassName]);
38776
- const heroMediaContent = React26.useMemo(() => {
38763
+ const heroMediaContent = React27.useMemo(() => {
38777
38764
  if (heroMediaSlot) return heroMediaSlot;
38778
38765
  if (!image) return null;
38779
38766
  return /* @__PURE__ */ jsx(
@@ -38786,7 +38773,7 @@ function ArticleSplitAnimatedComponent({
38786
38773
  }
38787
38774
  );
38788
38775
  }, [heroMediaSlot, image, imageAlt, title, optixFlowConfig]);
38789
- const authorContent = React26.useMemo(() => {
38776
+ const authorContent = React27.useMemo(() => {
38790
38777
  if (authorSlot) return authorSlot;
38791
38778
  if (!authorName) return null;
38792
38779
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-8 flex items-center gap-4", authorClassName), children: [
@@ -38814,7 +38801,7 @@ function ArticleSplitAnimatedComponent({
38814
38801
  authorRole,
38815
38802
  authorClassName
38816
38803
  ]);
38817
- const ctaContent = React26.useMemo(() => {
38804
+ const ctaContent = React27.useMemo(() => {
38818
38805
  if (ctaSlot) return ctaSlot;
38819
38806
  if (!ctaActions || ctaActions.length === 0) return null;
38820
38807
  return /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex flex-wrap gap-3", ctaClassName), children: ctaActions.map((action, index) => {
@@ -40254,7 +40241,7 @@ function FaqSidebarNavigation({
40254
40241
  accordionTriggerClassName,
40255
40242
  accordionContentClassName
40256
40243
  }) {
40257
- const [activeCategory, setActiveCategory] = React26.useState(
40244
+ const [activeCategory, setActiveCategory] = React27.useState(
40258
40245
  categories && categories.length > 1 ? "all" : categories?.[0]?.id || ""
40259
40246
  );
40260
40247
  const filteredCategories = useMemo(() => {
@@ -41143,7 +41130,7 @@ function FaqSplitHero({
41143
41130
  imageArea
41144
41131
  ] }) });
41145
41132
  }
41146
- var Controls = React26.memo(
41133
+ var Controls = React27.memo(
41147
41134
  ({
41148
41135
  handleNext,
41149
41136
  handlePrevious,
@@ -41174,7 +41161,7 @@ var Controls = React26.memo(
41174
41161
  ] });
41175
41162
  }
41176
41163
  );
41177
- var FeatureCard = React26.memo(
41164
+ var FeatureCard = React27.memo(
41178
41165
  ({ feature, isActive, onClick }) => {
41179
41166
  const variants2 = useMemo(
41180
41167
  () => ({
@@ -41282,7 +41269,7 @@ var FeatureCard = React26.memo(
41282
41269
  ) });
41283
41270
  }
41284
41271
  );
41285
- var FeaturesDesktop = React26.memo(
41272
+ var FeaturesDesktop = React27.memo(
41286
41273
  ({
41287
41274
  features,
41288
41275
  handleNext,
@@ -41316,7 +41303,7 @@ var FeaturesDesktop = React26.memo(
41316
41303
  ] });
41317
41304
  }
41318
41305
  );
41319
- var FeaturesMobile = React26.memo(
41306
+ var FeaturesMobile = React27.memo(
41320
41307
  ({
41321
41308
  features,
41322
41309
  handleNext,
@@ -41407,8 +41394,8 @@ function FeatureAnimatedCarousel({
41407
41394
  spacing = "py-12 md:py-32",
41408
41395
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
41409
41396
  }) {
41410
- const [activeIndex, setActiveIndex] = React26.useState(0);
41411
- const [direction, setDirection] = React26.useState(1);
41397
+ const [activeIndex, setActiveIndex] = React27.useState(0);
41398
+ const [direction, setDirection] = React27.useState(1);
41412
41399
  const handleNext = useCallback(() => {
41413
41400
  if (features && activeIndex < features.length - 1) {
41414
41401
  setDirection(1);
@@ -41839,7 +41826,7 @@ function FooterSplitImageAccordion({
41839
41826
  buttonAction,
41840
41827
  formSlot
41841
41828
  }) {
41842
- const renderForm = React26.useMemo(() => {
41829
+ const renderForm = React27.useMemo(() => {
41843
41830
  if (formSlot) return formSlot;
41844
41831
  if (!formEngineSetup) return null;
41845
41832
  const defaultButtonAction = {
@@ -42259,7 +42246,7 @@ function FooterInfoCardsAccordion({
42259
42246
  patternOpacity,
42260
42247
  optixFlowConfig
42261
42248
  }) {
42262
- const [email, setEmail] = React26.useState("");
42249
+ const [email, setEmail] = React27.useState("");
42263
42250
  (/* @__PURE__ */ new Date()).getFullYear();
42264
42251
  const handleSubmit = (e) => {
42265
42252
  e.preventDefault();
@@ -42564,13 +42551,13 @@ function CaseStudiesImageGrid({
42564
42551
  patternOpacity,
42565
42552
  optixFlowConfig
42566
42553
  }) {
42567
- const getGridClass = React26.useCallback((index) => {
42554
+ const getGridClass = React27.useCallback((index) => {
42568
42555
  if (index === 0 || index === 4) {
42569
42556
  return "row-span-2 aspect-square lg:aspect-auto";
42570
42557
  }
42571
42558
  return "aspect-3/2 md:aspect-2/1";
42572
42559
  }, []);
42573
- const renderedItems = React26.useMemo(() => {
42560
+ const renderedItems = React27.useMemo(() => {
42574
42561
  if (itemsSlot) return itemsSlot;
42575
42562
  if (!items || items.length === 0) return null;
42576
42563
  return items.map((item, index) => /* @__PURE__ */ jsxs(
@@ -42656,7 +42643,7 @@ function CaseStudiesTestimonialStats({
42656
42643
  patternOpacity,
42657
42644
  optixFlowConfig
42658
42645
  }) {
42659
- const renderedTestimonials = React26.useMemo(() => {
42646
+ const renderedTestimonials = React27.useMemo(() => {
42660
42647
  if (testimonialsSlot) return testimonialsSlot;
42661
42648
  if (!testimonials || testimonials.length === 0) return null;
42662
42649
  return testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs("div", { className: testimonialItemClassName, children: [
@@ -46129,7 +46116,7 @@ function CaseStudiesFeaturedBorder({
46129
46116
  patternOpacity,
46130
46117
  optixFlowConfig
46131
46118
  }) {
46132
- const renderedFeatured = React26.useMemo(() => {
46119
+ const renderedFeatured = React27.useMemo(() => {
46133
46120
  if (featuredSlot) return featuredSlot;
46134
46121
  if (!featuredCaseStudy) return null;
46135
46122
  return /* @__PURE__ */ jsxs(
@@ -46203,7 +46190,7 @@ function CaseStudiesFeaturedBorder({
46203
46190
  featuredImageClassName,
46204
46191
  optixFlowConfig
46205
46192
  ]);
46206
- const renderedCaseStudies = React26.useMemo(() => {
46193
+ const renderedCaseStudies = React27.useMemo(() => {
46207
46194
  if (caseStudiesSlot) return caseStudiesSlot;
46208
46195
  if (!caseStudies || caseStudies.length === 0) return null;
46209
46196
  return caseStudies.map((item, idx) => /* @__PURE__ */ jsxs(
@@ -46312,7 +46299,7 @@ function CaseStudiesStatsCard({
46312
46299
  patternOpacity,
46313
46300
  optixFlowConfig
46314
46301
  }) {
46315
- const renderedStats = React26.useMemo(() => {
46302
+ const renderedStats = React27.useMemo(() => {
46316
46303
  if (statsSlot) return statsSlot;
46317
46304
  if (!stats || stats.length === 0) return null;
46318
46305
  return /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col gap-8 sm:flex-row", statsClassName), children: stats.map((item, i) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
@@ -46320,7 +46307,7 @@ function CaseStudiesStatsCard({
46320
46307
  /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-muted-foreground", children: item.text })
46321
46308
  ] }, `stats-${i}`)) });
46322
46309
  }, [statsSlot, stats, statsClassName]);
46323
- const renderedAuthor = React26.useMemo(() => {
46310
+ const renderedAuthor = React27.useMemo(() => {
46324
46311
  if (authorSlot) return authorSlot;
46325
46312
  if (!author) return null;
46326
46313
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2.5", authorClassName), children: [
@@ -46334,7 +46321,7 @@ function CaseStudiesStatsCard({
46334
46321
  ] })
46335
46322
  ] });
46336
46323
  }, [authorSlot, author, authorClassName]);
46337
- const renderedActions = React26.useMemo(() => {
46324
+ const renderedActions = React27.useMemo(() => {
46338
46325
  if (actionsSlot) return actionsSlot;
46339
46326
  if (!actions || actions.length === 0) return null;
46340
46327
  return /* @__PURE__ */ jsx("div", { className: cn("shrink-0", actionsClassName), children: actions.map((action, index) => {
@@ -53434,7 +53421,7 @@ function HeroSplitImageNewsletter({
53434
53421
  onError,
53435
53422
  uploadTokens
53436
53423
  });
53437
- const renderForm = React26.useMemo(() => {
53424
+ const renderForm = React27.useMemo(() => {
53438
53425
  if (formSlot) return formSlot;
53439
53426
  if (!formFields || formFields.length === 0) return null;
53440
53427
  const defaultButtonAction = {
@@ -53513,7 +53500,7 @@ function HeroSplitImageNewsletter({
53513
53500
  resetUpload,
53514
53501
  resetSubmissionState
53515
53502
  ]);
53516
- const renderImage = React26.useMemo(() => {
53503
+ const renderImage = React27.useMemo(() => {
53517
53504
  if (imageSlot) return imageSlot;
53518
53505
  if (!image) return null;
53519
53506
  return /* @__PURE__ */ jsx("div", { className: "relative lg:w-1/2", children: /* @__PURE__ */ jsx(
@@ -54941,7 +54928,7 @@ function HeroSaasDashboardPreview({
54941
54928
  onError,
54942
54929
  uploadTokens
54943
54930
  });
54944
- const renderBadge = React26.useMemo(() => {
54931
+ const renderBadge = React27.useMemo(() => {
54945
54932
  if (badgeSlot) return badgeSlot;
54946
54933
  return /* @__PURE__ */ jsxs(
54947
54934
  "div",
@@ -54956,7 +54943,7 @@ function HeroSaasDashboardPreview({
54956
54943
  }
54957
54944
  );
54958
54945
  }, [badgeSlot, badgeIcon, badgeText]);
54959
- const renderForm = React26.useMemo(() => {
54946
+ const renderForm = React27.useMemo(() => {
54960
54947
  if (formSlot) return formSlot;
54961
54948
  const defaultButtonAction = {
54962
54949
  label: "Start Free Trial",
@@ -55031,7 +55018,7 @@ function HeroSaasDashboardPreview({
55031
55018
  resetUpload,
55032
55019
  resetSubmissionState
55033
55020
  ]);
55034
- const renderBrowserPreview = React26.useMemo(() => {
55021
+ const renderBrowserPreview = React27.useMemo(() => {
55035
55022
  if (browserPreviewSlot) return browserPreviewSlot;
55036
55023
  if (!browserPreview) return null;
55037
55024
  return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-12 md:mt-20", previewClassName), children: [
@@ -57282,7 +57269,7 @@ function HeroEcommerceProductShowcase({
57282
57269
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12",
57283
57270
  statsClassName
57284
57271
  ),
57285
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
57272
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
57286
57273
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
57287
57274
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
57288
57275
  /* @__PURE__ */ jsxs(
@@ -57726,7 +57713,7 @@ function HeroNewsletterMinimal({
57726
57713
  disclaimerClassName,
57727
57714
  statsClassName
57728
57715
  }) {
57729
- const renderStats = React26.useMemo(() => {
57716
+ const renderStats = React27.useMemo(() => {
57730
57717
  if (statsSlot) return statsSlot;
57731
57718
  if (!stats || stats.length === 0) return null;
57732
57719
  return stats.map((stat, index) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
@@ -57752,7 +57739,7 @@ function HeroNewsletterMinimal({
57752
57739
  /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
57753
57740
  ] }) }, index));
57754
57741
  }, [statsSlot, stats]);
57755
- const renderForm = React26.useMemo(() => {
57742
+ const renderForm = React27.useMemo(() => {
57756
57743
  if (formSlot) return formSlot;
57757
57744
  if (!formEngineSetup) return null;
57758
57745
  const defaultButtonAction = {
@@ -57919,7 +57906,7 @@ function HeroComingSoonCountdown({
57919
57906
  formClassName,
57920
57907
  socialLinksClassName
57921
57908
  }) {
57922
- const [timeLeft, setTimeLeft] = React26.useState(null);
57909
+ const [timeLeft, setTimeLeft] = React27.useState(null);
57923
57910
  const {
57924
57911
  uploadTokens,
57925
57912
  uploadProgress,
@@ -57939,7 +57926,7 @@ function HeroComingSoonCountdown({
57939
57926
  onError,
57940
57927
  uploadTokens
57941
57928
  });
57942
- const calculateTimeLeft = React26.useCallback(() => {
57929
+ const calculateTimeLeft = React27.useCallback(() => {
57943
57930
  if (!countdownDate) return null;
57944
57931
  const now = Date.now();
57945
57932
  const target = countdownDate.getTime();
@@ -57952,7 +57939,7 @@ function HeroComingSoonCountdown({
57952
57939
  seconds: Math.floor(diff % (1e3 * 60) / 1e3)
57953
57940
  };
57954
57941
  }, [countdownDate]);
57955
- React26.useEffect(() => {
57942
+ React27.useEffect(() => {
57956
57943
  setTimeLeft(calculateTimeLeft());
57957
57944
  if (!countdownDate) return;
57958
57945
  const timer = setInterval(() => {
@@ -57963,7 +57950,7 @@ function HeroComingSoonCountdown({
57963
57950
  return () => clearInterval(timer);
57964
57951
  }, [countdownDate, calculateTimeLeft]);
57965
57952
  const showCountdown = countdownSlot || timeLeft;
57966
- const renderForm = React26.useMemo(() => {
57953
+ const renderForm = React27.useMemo(() => {
57967
57954
  if (formSlot) return formSlot;
57968
57955
  const defaultButtonAction = {
57969
57956
  label: "Notify Me",
@@ -58039,7 +58026,7 @@ function HeroComingSoonCountdown({
58039
58026
  resetUpload,
58040
58027
  resetSubmissionState
58041
58028
  ]);
58042
- const renderSocialLinks = React26.useMemo(() => {
58029
+ const renderSocialLinks = React27.useMemo(() => {
58043
58030
  if (socialLinksSlot) return socialLinksSlot;
58044
58031
  if (!socialLinks || socialLinks.length === 0) return null;
58045
58032
  return socialLinks.map((link, index) => /* @__PURE__ */ jsx(
@@ -58172,7 +58159,7 @@ function HeroEventRegistration({
58172
58159
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12 w-full md:w-fit",
58173
58160
  statsClassName
58174
58161
  ),
58175
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
58162
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
58176
58163
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
58177
58164
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
58178
58165
  /* @__PURE__ */ jsxs(
@@ -58531,7 +58518,7 @@ function ComparisonTableTwoColumn({
58531
58518
  patternOpacity,
58532
58519
  optixFlowConfig
58533
58520
  }) {
58534
- const tableContent = React26.useMemo(() => {
58521
+ const tableContent = React27.useMemo(() => {
58535
58522
  if (tableSlot) return tableSlot;
58536
58523
  if (!rows || rows.length === 0) return null;
58537
58524
  return /* @__PURE__ */ jsx("div", { className: cn("-mr-4 overflow-x-auto", tableWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "min-w-2xl overflow-hidden", children: /* @__PURE__ */ jsxs(
@@ -58561,7 +58548,7 @@ function ComparisonTableTwoColumn({
58561
58548
  optixFlowConfig
58562
58549
  }
58563
58550
  ) : optionBLabel && (typeof optionBLabel === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: optionBLabel }) : optionBLabel) }),
58564
- rows.map((row, idx) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
58551
+ rows.map((row, idx) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
58565
58552
  /* @__PURE__ */ jsx("div", { className: "flex items-center border-b p-3 text-base font-medium md:p-4 md:text-lg", children: row.label }),
58566
58553
  /* @__PURE__ */ jsx("div", { className: cn("border-b bg-success/5 p-3 md:p-6", optionACellClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
58567
58554
  row.hasIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 20, className: "text-success" }),
@@ -58590,14 +58577,14 @@ function ComparisonTableTwoColumn({
58590
58577
  optionBLabel,
58591
58578
  optixFlowConfig
58592
58579
  ]);
58593
- const headingContent = React26.useMemo(() => {
58580
+ const headingContent = React27.useMemo(() => {
58594
58581
  if (!heading) return null;
58595
58582
  if (typeof heading === "string") {
58596
58583
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-8 text-3xl font-bold md:mb-12 md:text-5xl", headingClassName), children: heading });
58597
58584
  }
58598
58585
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
58599
58586
  }, [heading, headingClassName]);
58600
- const descriptionContent = React26.useMemo(() => {
58587
+ const descriptionContent = React27.useMemo(() => {
58601
58588
  if (!description) return null;
58602
58589
  if (typeof description === "string") {
58603
58590
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -58644,7 +58631,7 @@ function ComparisonFeatureCards({
58644
58631
  patternOpacity,
58645
58632
  optixFlowConfig
58646
58633
  }) {
58647
- const renderCard = React26.useCallback(
58634
+ const renderCard = React27.useCallback(
58648
58635
  (product, isHighlighted) => /* @__PURE__ */ jsxs(
58649
58636
  "div",
58650
58637
  {
@@ -58700,7 +58687,7 @@ function ComparisonFeatureCards({
58700
58687
  ),
58701
58688
  [cardClassName, optixFlowConfig]
58702
58689
  );
58703
- const cardsContent = React26.useMemo(() => {
58690
+ const cardsContent = React27.useMemo(() => {
58704
58691
  if (cardsSlot) return cardsSlot;
58705
58692
  if (!productA || !productB) return null;
58706
58693
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -58708,28 +58695,28 @@ function ComparisonFeatureCards({
58708
58695
  renderCard(productB, productB.highlighted ?? false)
58709
58696
  ] });
58710
58697
  }, [cardsSlot, productA, productB, renderCard]);
58711
- const headingContent = React26.useMemo(() => {
58698
+ const headingContent = React27.useMemo(() => {
58712
58699
  if (!heading) return null;
58713
58700
  if (typeof heading === "string") {
58714
58701
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-6 text-4xl font-semibold md:text-7xl", headingClassName), children: heading });
58715
58702
  }
58716
58703
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
58717
58704
  }, [heading, headingClassName]);
58718
- const descriptionContent = React26.useMemo(() => {
58705
+ const descriptionContent = React27.useMemo(() => {
58719
58706
  if (!description) return null;
58720
58707
  if (typeof description === "string") {
58721
58708
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-4xl text-muted-foreground md:text-xl", descriptionClassName), children: description });
58722
58709
  }
58723
58710
  return /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description });
58724
58711
  }, [description, descriptionClassName]);
58725
- const suitabilityContent = React26.useMemo(() => {
58712
+ const suitabilityContent = React27.useMemo(() => {
58726
58713
  if (!suitabilityTitle && !suitabilityDescription) return null;
58727
58714
  return /* @__PURE__ */ jsxs("div", { className: suitabilityClassName, children: [
58728
58715
  suitabilityTitle && (typeof suitabilityTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: suitabilityTitle }) : suitabilityTitle),
58729
58716
  suitabilityDescription && (typeof suitabilityDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "leading-6 text-muted-foreground md:text-lg", children: suitabilityDescription }) : suitabilityDescription)
58730
58717
  ] });
58731
58718
  }, [suitabilityTitle, suitabilityDescription, suitabilityClassName]);
58732
- const differencesContent = React26.useMemo(() => {
58719
+ const differencesContent = React27.useMemo(() => {
58733
58720
  if (!differencesTitle && !differencesDescription) return null;
58734
58721
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-16", differencesClassName), children: [
58735
58722
  differencesTitle && (typeof differencesTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: differencesTitle }) : differencesTitle),
@@ -58777,7 +58764,7 @@ function ComparisonGridBadges({
58777
58764
  pattern,
58778
58765
  patternOpacity
58779
58766
  }) {
58780
- const featuresContent = React26.useMemo(() => {
58767
+ const featuresContent = React27.useMemo(() => {
58781
58768
  if (featuresSlot) return featuresSlot;
58782
58769
  if (!features || features.length === 0) return null;
58783
58770
  return features.map((feature, idx) => /* @__PURE__ */ jsxs(
@@ -58824,14 +58811,14 @@ function ComparisonGridBadges({
58824
58811
  idx
58825
58812
  ));
58826
58813
  }, [featuresSlot, features, featureCardClassName, badgeClassName, optionALabel, optionBLabel]);
58827
- const headingContent = React26.useMemo(() => {
58814
+ const headingContent = React27.useMemo(() => {
58828
58815
  if (!heading) return null;
58829
58816
  if (typeof heading === "string") {
58830
58817
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-3xl font-bold md:text-5xl", headingClassName), children: heading });
58831
58818
  }
58832
58819
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
58833
58820
  }, [heading, headingClassName]);
58834
- const descriptionContent = React26.useMemo(() => {
58821
+ const descriptionContent = React27.useMemo(() => {
58835
58822
  if (!description) return null;
58836
58823
  if (typeof description === "string") {
58837
58824
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-2xl text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -58879,7 +58866,7 @@ function ComparisonMetricsRows({
58879
58866
  pattern,
58880
58867
  patternOpacity
58881
58868
  }) {
58882
- const metricsContent = React26.useMemo(() => {
58869
+ const metricsContent = React27.useMemo(() => {
58883
58870
  if (metricsSlot) return metricsSlot;
58884
58871
  if (!metrics || metrics.length === 0) return null;
58885
58872
  return /* @__PURE__ */ jsx(
@@ -58919,7 +58906,7 @@ function ComparisonMetricsRows({
58919
58906
  }
58920
58907
  );
58921
58908
  }, [metricsSlot, metrics, metricsClassName, metricRowClassName]);
58922
- const actionsContent = React26.useMemo(() => {
58909
+ const actionsContent = React27.useMemo(() => {
58923
58910
  if (actionsSlot) return actionsSlot;
58924
58911
  if (!actions || actions.length === 0) return null;
58925
58912
  return /* @__PURE__ */ jsx("div", { className: cn("flex justify-end", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
@@ -58940,7 +58927,7 @@ function ComparisonMetricsRows({
58940
58927
  idx
58941
58928
  )) });
58942
58929
  }, [actionsSlot, actions, actionsClassName]);
58943
- const headingContent = React26.useMemo(() => {
58930
+ const headingContent = React27.useMemo(() => {
58944
58931
  if (!heading) return null;
58945
58932
  if (typeof heading === "string") {
58946
58933
  return /* @__PURE__ */ jsx(
@@ -58956,7 +58943,7 @@ function ComparisonMetricsRows({
58956
58943
  }
58957
58944
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
58958
58945
  }, [heading, headingClassName]);
58959
- const descriptionContent = React26.useMemo(() => {
58946
+ const descriptionContent = React27.useMemo(() => {
58960
58947
  if (!description) return null;
58961
58948
  if (typeof description === "string") {
58962
58949
  return /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -59019,7 +59006,7 @@ function ComparisonImageCards({
59019
59006
  patternOpacity,
59020
59007
  optixFlowConfig
59021
59008
  }) {
59022
- const renderCard = React26.useCallback(
59009
+ const renderCard = React27.useCallback(
59023
59010
  (option) => /* @__PURE__ */ jsx("div", { className: cn("relative h-full", cardClassName), children: /* @__PURE__ */ jsxs("div", { className: cn(
59024
59011
  "relative aspect-4/5 min-h-[400px] overflow-hidden rounded-2xl sm:aspect-[0.9] sm:min-h-[480px] sm:rounded-3xl md:min-h-[520px]",
59025
59012
  getNestedCardBg(background, "accent"),
@@ -59043,7 +59030,7 @@ function ComparisonImageCards({
59043
59030
  ] }) }),
59044
59031
  [cardClassName, optixFlowConfig]
59045
59032
  );
59046
- const cardsContent = React26.useMemo(() => {
59033
+ const cardsContent = React27.useMemo(() => {
59047
59034
  if (cardsSlot) return cardsSlot;
59048
59035
  if (!optionA || !optionB) return null;
59049
59036
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -59061,14 +59048,14 @@ function ComparisonImageCards({
59061
59048
  )
59062
59049
  ] });
59063
59050
  }, [cardsSlot, optionA, optionB, dividerText, dividerClassName, renderCard]);
59064
- const headingContent = React26.useMemo(() => {
59051
+ const headingContent = React27.useMemo(() => {
59065
59052
  if (!heading) return null;
59066
59053
  if (typeof heading === "string") {
59067
59054
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium sm:text-4xl md:text-5xl lg:text-6xl", headingClassName), children: heading });
59068
59055
  }
59069
59056
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
59070
59057
  }, [heading, headingClassName]);
59071
- const descriptionContent = React26.useMemo(() => {
59058
+ const descriptionContent = React27.useMemo(() => {
59072
59059
  if (!description) return null;
59073
59060
  if (typeof description === "string") {
59074
59061
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto mt-4 max-w-3xl text-lg text-muted-foreground sm:mt-6 sm:text-xl", descriptionClassName), children: description });
@@ -59198,7 +59185,7 @@ function ComparisonTableTabs({
59198
59185
  patternOpacity
59199
59186
  }) {
59200
59187
  const [selectedTab, setSelectedTab] = useState(models?.[0]?.name || "");
59201
- const renderStatusIcon = React26.useCallback((status) => {
59188
+ const renderStatusIcon = React27.useCallback((status) => {
59202
59189
  if (status === "positive") {
59203
59190
  return /* @__PURE__ */ jsx("span", { className: "flex size-8 items-center justify-center rounded-full border bg-success/10", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" }) });
59204
59191
  }
@@ -59207,7 +59194,7 @@ function ComparisonTableTabs({
59207
59194
  }
59208
59195
  return /* @__PURE__ */ jsx("span", { className: "flex size-8 items-center justify-center rounded-full border bg-accent/10", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-minus", size: 16, className: "text-accent" }) });
59209
59196
  }, []);
59210
- const tableContent = React26.useMemo(() => {
59197
+ const tableContent = React27.useMemo(() => {
59211
59198
  if (tableSlot) return tableSlot;
59212
59199
  if (!models || models.length === 0 || !features || features.length === 0) return null;
59213
59200
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -59266,14 +59253,14 @@ function ComparisonTableTabs({
59266
59253
  ] }) })
59267
59254
  ] });
59268
59255
  }, [tableSlot, models, features, tabsClassName, tableClassName, tableHeaderClassName, tableCellClassName, selectedTab, renderStatusIcon]);
59269
- const headingContent = React26.useMemo(() => {
59256
+ const headingContent = React27.useMemo(() => {
59270
59257
  if (!heading) return null;
59271
59258
  if (typeof heading === "string") {
59272
59259
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
59273
59260
  }
59274
59261
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
59275
59262
  }, [heading, headingClassName]);
59276
- const descriptionContent = React26.useMemo(() => {
59263
+ const descriptionContent = React27.useMemo(() => {
59277
59264
  if (!description) return null;
59278
59265
  if (typeof description === "string") {
59279
59266
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -59364,7 +59351,7 @@ function ComparisonTableTooltips({
59364
59351
  pattern,
59365
59352
  patternOpacity
59366
59353
  }) {
59367
- const renderCellContent = React26.useCallback(
59354
+ const renderCellContent = React27.useCallback(
59368
59355
  (cell, isHighlighted) => {
59369
59356
  if (typeof cell === "string") {
59370
59357
  return cell;
@@ -59391,7 +59378,7 @@ function ComparisonTableTooltips({
59391
59378
  },
59392
59379
  []
59393
59380
  );
59394
- const tableContent = React26.useMemo(() => {
59381
+ const tableContent = React27.useMemo(() => {
59395
59382
  if (tableSlot) return tableSlot;
59396
59383
  if (!rows || rows.length === 0) return null;
59397
59384
  return /* @__PURE__ */ jsxs(Table, { className: cn("rounded border text-left shadow-lg", tableClassName), children: [
@@ -59417,14 +59404,14 @@ function ComparisonTableTooltips({
59417
59404
  ] }, idx)) })
59418
59405
  ] });
59419
59406
  }, [tableSlot, rows, tableClassName, tableHeaderClassName, tableCellClassName, optionALabel, optionBLabel, renderCellContent]);
59420
- const headingContent = React26.useMemo(() => {
59407
+ const headingContent = React27.useMemo(() => {
59421
59408
  if (!heading) return null;
59422
59409
  if (typeof heading === "string") {
59423
59410
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
59424
59411
  }
59425
59412
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
59426
59413
  }, [heading, headingClassName]);
59427
- const descriptionContent = React26.useMemo(() => {
59414
+ const descriptionContent = React27.useMemo(() => {
59428
59415
  if (!description) return null;
59429
59416
  if (typeof description === "string") {
59430
59417
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -59466,7 +59453,7 @@ function ComparisonFeatureGrid({
59466
59453
  pattern,
59467
59454
  patternOpacity
59468
59455
  }) {
59469
- const renderStatusIcon = React26.useCallback((status) => {
59456
+ const renderStatusIcon = React27.useCallback((status) => {
59470
59457
  if (status === true) {
59471
59458
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 20, className: "text-success" });
59472
59459
  }
@@ -59475,7 +59462,7 @@ function ComparisonFeatureGrid({
59475
59462
  }
59476
59463
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20, className: "text-destructive" });
59477
59464
  }, []);
59478
- const gridContent = React26.useMemo(() => {
59465
+ const gridContent = React27.useMemo(() => {
59479
59466
  if (gridSlot) return gridSlot;
59480
59467
  if (!features || features.length === 0) return null;
59481
59468
  return /* @__PURE__ */ jsxs(
@@ -59541,14 +59528,14 @@ function ComparisonFeatureGrid({
59541
59528
  optionBLabel,
59542
59529
  renderStatusIcon
59543
59530
  ]);
59544
- const headingContent = React26.useMemo(() => {
59531
+ const headingContent = React27.useMemo(() => {
59545
59532
  if (!heading) return null;
59546
59533
  if (typeof heading === "string") {
59547
59534
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
59548
59535
  }
59549
59536
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
59550
59537
  }, [heading, headingClassName]);
59551
- const descriptionContent = React26.useMemo(() => {
59538
+ const descriptionContent = React27.useMemo(() => {
59552
59539
  if (!description) return null;
59553
59540
  if (typeof description === "string") {
59554
59541
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -59592,7 +59579,7 @@ function ComparisonAiModels({
59592
59579
  optixFlowConfig
59593
59580
  }) {
59594
59581
  const [hoveredModel, setHoveredModel] = useState(null);
59595
- const renderStatusIcon = React26.useCallback((status) => {
59582
+ const renderStatusIcon = React27.useCallback((status) => {
59596
59583
  if (status === "best") {
59597
59584
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" });
59598
59585
  }
@@ -59601,7 +59588,7 @@ function ComparisonAiModels({
59601
59588
  }
59602
59589
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/minus", size: 16, className: "text-muted-foreground" });
59603
59590
  }, []);
59604
- const getCellClassName = React26.useCallback(
59591
+ const getCellClassName = React27.useCallback(
59605
59592
  (status, modelKey) => {
59606
59593
  const baseClass = "cursor-pointer py-4 text-center font-medium transition-all duration-300";
59607
59594
  let statusClass = "";
@@ -59622,7 +59609,7 @@ function ComparisonAiModels({
59622
59609
  },
59623
59610
  [hoveredModel]
59624
59611
  );
59625
- const getSummaryCardClassName = React26.useCallback(
59612
+ const getSummaryCardClassName = React27.useCallback(
59626
59613
  (modelKey) => {
59627
59614
  const baseClass = "rounded border border-border/30 bg-background/50 p-3 transition-all duration-300";
59628
59615
  if (hoveredModel === modelKey) {
@@ -59637,7 +59624,7 @@ function ComparisonAiModels({
59637
59624
  },
59638
59625
  [hoveredModel]
59639
59626
  );
59640
- const tableContent = React26.useMemo(() => {
59627
+ const tableContent = React27.useMemo(() => {
59641
59628
  if (tableSlot) return tableSlot;
59642
59629
  if (!models || !comparisonData || comparisonData.length === 0) return null;
59643
59630
  return /* @__PURE__ */ jsx(
@@ -59715,7 +59702,7 @@ function ComparisonAiModels({
59715
59702
  getCellClassName,
59716
59703
  renderStatusIcon
59717
59704
  ]);
59718
- const analysisContent = React26.useMemo(() => {
59705
+ const analysisContent = React27.useMemo(() => {
59719
59706
  if (analysisSlot) return analysisSlot;
59720
59707
  if (!models) return null;
59721
59708
  return /* @__PURE__ */ jsx("div", { className: cn(
@@ -59756,14 +59743,14 @@ function ComparisonAiModels({
59756
59743
  ] })
59757
59744
  ] }) });
59758
59745
  }, [analysisSlot, models, analysisClassName, getSummaryCardClassName]);
59759
- const headingContent = React26.useMemo(() => {
59746
+ const headingContent = React27.useMemo(() => {
59760
59747
  if (!heading) return null;
59761
59748
  if (typeof heading === "string") {
59762
59749
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
59763
59750
  }
59764
59751
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
59765
59752
  }, [heading, headingClassName]);
59766
- const descriptionContent = React26.useMemo(() => {
59753
+ const descriptionContent = React27.useMemo(() => {
59767
59754
  if (!description) return null;
59768
59755
  if (typeof description === "string") {
59769
59756
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -59813,7 +59800,7 @@ function ComparisonLegacyModern({
59813
59800
  pattern,
59814
59801
  patternOpacity
59815
59802
  }) {
59816
- const columnsContent = React26.useMemo(() => {
59803
+ const columnsContent = React27.useMemo(() => {
59817
59804
  if (columnsSlot) return columnsSlot;
59818
59805
  if (!legacyFeatures || legacyFeatures.length === 0 || !modernFeatures || modernFeatures.length === 0)
59819
59806
  return null;
@@ -59825,7 +59812,7 @@ function ComparisonLegacyModern({
59825
59812
  legacyColumnClassName
59826
59813
  ), children: [
59827
59814
  legacyTitle && (typeof legacyTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: legacyTitle }) : legacyTitle),
59828
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
59815
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
59829
59816
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
59830
59817
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16, className: "my-1.5 shrink-0 text-muted-foreground" }),
59831
59818
  /* @__PURE__ */ jsx("li", { className: "text-sm", children: feature.text })
@@ -59842,7 +59829,7 @@ function ComparisonLegacyModern({
59842
59829
  ),
59843
59830
  children: [
59844
59831
  modernTitle && (typeof modernTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: modernTitle }) : modernTitle),
59845
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
59832
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
59846
59833
  /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2 text-sm", children: [
59847
59834
  /* @__PURE__ */ jsx("span", { className: "text-lg", children: feature.emoji }),
59848
59835
  feature.text
@@ -59854,7 +59841,7 @@ function ComparisonLegacyModern({
59854
59841
  )
59855
59842
  ] });
59856
59843
  }, [columnsSlot, legacyFeatures, modernFeatures, legacyTitle, modernTitle, legacyColumnClassName, modernColumnClassName]);
59857
- const headingContent = React26.useMemo(() => {
59844
+ const headingContent = React27.useMemo(() => {
59858
59845
  if (!heading && !headingHighlight) return null;
59859
59846
  return /* @__PURE__ */ jsxs("h2", { className: cn("text-4xl font-medium md:text-5xl lg:text-7xl", headingClassName), children: [
59860
59847
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
@@ -59867,7 +59854,7 @@ function ComparisonLegacyModern({
59867
59854
  ] }) : headingHighlight)
59868
59855
  ] });
59869
59856
  }, [heading, headingHighlight, headingClassName, headingHighlightClassName]);
59870
- const descriptionContent = React26.useMemo(() => {
59857
+ const descriptionContent = React27.useMemo(() => {
59871
59858
  if (!description) return null;
59872
59859
  if (typeof description === "string") {
59873
59860
  return /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description });
@@ -60040,7 +60027,7 @@ var NavbarMobileMenu = ({
60040
60027
  closeIconClassName,
60041
60028
  title = "Mobile Navigation"
60042
60029
  }) => {
60043
- React26.useEffect(() => {
60030
+ React27.useEffect(() => {
60044
60031
  if (open) {
60045
60032
  const originalOverflow = document.body.style.overflow;
60046
60033
  document.body.style.overflow = "hidden";
@@ -60269,7 +60256,7 @@ var NavbarDropdownMenu = ({
60269
60256
  patternOpacity,
60270
60257
  optixFlowConfig
60271
60258
  }) => {
60272
- const [open, setOpen] = React26.useState(false);
60259
+ const [open, setOpen] = React27.useState(false);
60273
60260
  const renderAuthActions = useMemo(() => {
60274
60261
  if (authActionsSlot) return authActionsSlot;
60275
60262
  if (!authActions || authActions.length === 0) return null;
@@ -60495,7 +60482,7 @@ var NavbarCenteredMenu = ({
60495
60482
  patternOpacity,
60496
60483
  optixFlowConfig
60497
60484
  }) => {
60498
- const [open, setOpen] = React26.useState(false);
60485
+ const [open, setOpen] = React27.useState(false);
60499
60486
  const renderAuthActions = useMemo(() => {
60500
60487
  if (authActionsSlot) return authActionsSlot;
60501
60488
  if (!authActions || authActions.length === 0) return null;
@@ -60635,7 +60622,7 @@ var DesktopMenuItem = ({
60635
60622
  index,
60636
60623
  optixFlowConfig
60637
60624
  }) => {
60638
- const imagesRef = React26.useRef([]);
60625
+ const imagesRef = React27.useRef([]);
60639
60626
  const layout = link.layout || "simple-grid";
60640
60627
  const handleMouseEnter = (event) => {
60641
60628
  const index2 = Number(event.currentTarget.getAttribute("data-index"));
@@ -61870,7 +61857,7 @@ var NavbarFeatureGrid = ({
61870
61857
  patternOpacity,
61871
61858
  optixFlowConfig
61872
61859
  }) => {
61873
- const [open, setOpen] = React26.useState(false);
61860
+ const [open, setOpen] = React27.useState(false);
61874
61861
  const renderAuthActions = useMemo(() => {
61875
61862
  if (authActionsSlot) return authActionsSlot;
61876
61863
  if (!authActions || authActions.length === 0) return null;
@@ -65080,7 +65067,7 @@ var DesktopMenuItem7 = ({
65080
65067
  if (item.groups && item.groups.length > 0) {
65081
65068
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
65082
65069
  /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.label }),
65083
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
65070
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
65084
65071
  groupIndex > 0 && /* @__PURE__ */ jsx(
65085
65072
  Separator,
65086
65073
  {
@@ -65832,7 +65819,7 @@ var NavbarSimpleLinks = ({
65832
65819
  const renderNavItems = useMemo(() => {
65833
65820
  if (navItemsSlot) return navItemsSlot;
65834
65821
  if (!navItems || navItems.length === 0) return null;
65835
- return navItems.map((item) => /* @__PURE__ */ jsx(React26.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
65822
+ return navItems.map((item) => /* @__PURE__ */ jsx(React27.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
65836
65823
  NavigationMenuLink,
65837
65824
  {
65838
65825
  "data-nav-item": item.name,
@@ -70861,7 +70848,7 @@ function PricingFullComparison({
70861
70848
  resolvedPlanIds[index]
70862
70849
  ))
70863
70850
  ] }) }),
70864
- /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
70851
+ /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
70865
70852
  /* @__PURE__ */ jsx("tr", { className: cn(getNestedCardBg(background), getNestedCardTextColor(background), categoryRowClassName), children: /* @__PURE__ */ jsx(
70866
70853
  "td",
70867
70854
  {
@@ -75462,9 +75449,9 @@ function ProcessStickySteps({
75462
75449
  );
75463
75450
  }
75464
75451
  var usePrevious = (value) => {
75465
- const [prev, setPrev] = React26.useState(void 0);
75466
- const ref = React26.useRef(value);
75467
- React26.useEffect(() => {
75452
+ const [prev, setPrev] = React27.useState(void 0);
75453
+ const ref = React27.useRef(value);
75454
+ React27.useEffect(() => {
75468
75455
  setPrev(ref.current);
75469
75456
  ref.current = value;
75470
75457
  }, [value]);
@@ -75477,12 +75464,12 @@ var ProcessCard = ({
75477
75464
  itemClassName,
75478
75465
  background
75479
75466
  }) => {
75480
- const ref = React26.useRef(null);
75467
+ const ref = React27.useRef(null);
75481
75468
  const itemInView = useInView(ref, {
75482
75469
  amount: 0,
75483
75470
  margin: "0px 0px -60% 0px"
75484
75471
  });
75485
- React26.useEffect(() => {
75472
+ React27.useEffect(() => {
75486
75473
  if (itemInView) {
75487
75474
  setActive(index);
75488
75475
  }
@@ -75532,7 +75519,7 @@ function ProcessScrollImage({
75532
75519
  ctaText,
75533
75520
  ctaUrl
75534
75521
  }) {
75535
- const [active, setActive] = React26.useState(0);
75522
+ const [active, setActive] = React27.useState(0);
75536
75523
  const previousActive = usePrevious(active);
75537
75524
  const resolvedHeading = title ?? heading;
75538
75525
  const resolvedActions = actions ?? (ctaText && ctaUrl ? [
@@ -75716,7 +75703,7 @@ var ProcessCard2 = ({
75716
75703
  hoverImageClassName,
75717
75704
  background
75718
75705
  }) => {
75719
- const [isHovered, setIsHovered] = React26.useState(false);
75706
+ const [isHovered, setIsHovered] = React27.useState(false);
75720
75707
  const titleText = typeof step.title === "string" ? step.title : `Step ${index + 1}`;
75721
75708
  return /* @__PURE__ */ jsxs(
75722
75709
  "li",
@@ -76040,7 +76027,7 @@ function ProcessExpandableTimeline({
76040
76027
  // Backwards compatibility
76041
76028
  title
76042
76029
  }) {
76043
- const [expandedIndex, setExpandedIndex] = React26.useState(null);
76030
+ const [expandedIndex, setExpandedIndex] = React27.useState(null);
76044
76031
  const resolvedHeading = title ?? heading;
76045
76032
  const toggleExpand = (index) => {
76046
76033
  setExpandedIndex(expandedIndex === index ? null : index);
@@ -80811,7 +80798,7 @@ function ListAchievementsShowcase({
80811
80798
  if (!items || items.length === 0) return null;
80812
80799
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", itemsClassName), children: [
80813
80800
  /* @__PURE__ */ jsx(Separator, {}),
80814
- items.map((item, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
80801
+ items.map((item, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
80815
80802
  /* @__PURE__ */ jsxs(
80816
80803
  "div",
80817
80804
  {
@@ -80931,7 +80918,7 @@ function ListCareerTimeline({
80931
80918
  const renderExperiences = useMemo(() => {
80932
80919
  if (experiencesSlot) return experiencesSlot;
80933
80920
  if (!experiences || experiences.length === 0) return null;
80934
- return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
80921
+ return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
80935
80922
  /* @__PURE__ */ jsx(Separator, {}),
80936
80923
  /* @__PURE__ */ jsxs(
80937
80924
  "div",
@@ -80952,7 +80939,7 @@ function ListCareerTimeline({
80952
80939
  const renderAwards = useMemo(() => {
80953
80940
  if (awardsSlot) return awardsSlot;
80954
80941
  if (!awards || awards.length === 0) return null;
80955
- return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
80942
+ return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
80956
80943
  /* @__PURE__ */ jsx(Separator, {}),
80957
80944
  /* @__PURE__ */ jsxs(
80958
80945
  "div",
@@ -81087,7 +81074,7 @@ function ListMetricsDashboard({
81087
81074
  activeCategory: controlledActiveCategory,
81088
81075
  onActiveCategoryChange
81089
81076
  }) {
81090
- const [internalActiveTab, setInternalActiveTab] = React26.useState("all");
81077
+ const [internalActiveTab, setInternalActiveTab] = React27.useState("all");
81091
81078
  const activeTab = controlledActiveCategory ?? internalActiveTab;
81092
81079
  const handleTabChange = (value) => {
81093
81080
  if (onActiveCategoryChange) {
@@ -81571,7 +81558,7 @@ function ListSearchableGrid({
81571
81558
  searchTerm: controlledSearchTerm,
81572
81559
  onSearchTermChange
81573
81560
  }) {
81574
- const [internalSearchTerm, setInternalSearchTerm] = React26.useState("");
81561
+ const [internalSearchTerm, setInternalSearchTerm] = React27.useState("");
81575
81562
  const searchTerm = controlledSearchTerm ?? internalSearchTerm;
81576
81563
  const handleSearchChange = (value) => {
81577
81564
  if (onSearchTermChange) {
@@ -81580,7 +81567,7 @@ function ListSearchableGrid({
81580
81567
  setInternalSearchTerm(value);
81581
81568
  }
81582
81569
  };
81583
- const filteredItems = React26.useMemo(() => {
81570
+ const filteredItems = React27.useMemo(() => {
81584
81571
  if (!searchTerm) {
81585
81572
  return items ?? [];
81586
81573
  }
@@ -81743,7 +81730,7 @@ function ListSearchableGrid({
81743
81730
  }
81744
81731
  );
81745
81732
  }
81746
- var { useMemo: useMemo412 } = React26;
81733
+ var { useMemo: useMemo412 } = React27;
81747
81734
  function OfferModalNewsletterDiscount({
81748
81735
  title,
81749
81736
  emailPlaceholder,
@@ -81892,7 +81879,7 @@ function OfferModalNewsletterDiscount({
81892
81879
  }
81893
81880
  ) });
81894
81881
  }
81895
- var { useMemo: useMemo413 } = React26;
81882
+ var { useMemo: useMemo413 } = React27;
81896
81883
  function OfferModalMembershipImage({
81897
81884
  overline,
81898
81885
  title,
@@ -82181,7 +82168,7 @@ function SheetDescription({
82181
82168
  }
82182
82169
  );
82183
82170
  }
82184
- var { useMemo: useMemo414 } = React26;
82171
+ var { useMemo: useMemo414 } = React27;
82185
82172
  function OfferModalSheetNewsletter({
82186
82173
  logo,
82187
82174
  logoSlot,
@@ -82930,10 +82917,10 @@ function ProjectDetailSidebarNavigation(props) {
82930
82917
  heroImageClassName,
82931
82918
  metadataClassName
82932
82919
  } = props;
82933
- const [activeSection, setActiveSection] = React26.useState(
82920
+ const [activeSection, setActiveSection] = React27.useState(
82934
82921
  sections?.[0]?.id || ""
82935
82922
  );
82936
- React26.useEffect(() => {
82923
+ React27.useEffect(() => {
82937
82924
  const handleScroll = () => {
82938
82925
  const sectionElements = sections?.map(
82939
82926
  (section) => document.getElementById(section.id)
@@ -85793,7 +85780,7 @@ function ProjectDetailTabbedCaseStudy(props) {
85793
85780
  testimonialClassName,
85794
85781
  toolsClassName
85795
85782
  } = props;
85796
- const [activeTab, setActiveTab] = React26.useState(tabs?.[0]?.id || "");
85783
+ const [activeTab, setActiveTab] = React27.useState(tabs?.[0]?.id || "");
85797
85784
  const renderedBackAction = useMemo(() => {
85798
85785
  if (backActionSlot) return backActionSlot;
85799
85786
  if (!backAction) return null;
@@ -86181,7 +86168,7 @@ function RevealImage({
86181
86168
  index,
86182
86169
  optixFlowConfig
86183
86170
  }) {
86184
- const ref = React26.useRef(null);
86171
+ const ref = React27.useRef(null);
86185
86172
  const { scrollYProgress } = useScroll({
86186
86173
  target: ref,
86187
86174
  offset: ["start end", "end start"]
@@ -86376,7 +86363,7 @@ function ParallaxSection({
86376
86363
  index,
86377
86364
  optixFlowConfig
86378
86365
  }) {
86379
- const ref = React26.useRef(null);
86366
+ const ref = React27.useRef(null);
86380
86367
  const { scrollYProgress } = useScroll({
86381
86368
  target: ref,
86382
86369
  offset: ["start end", "end start"]
@@ -86449,7 +86436,7 @@ function ProjectDetailParallaxScroll(props) {
86449
86436
  heroImageClassName,
86450
86437
  sectionsClassName
86451
86438
  } = props;
86452
- const heroRef = React26.useRef(null);
86439
+ const heroRef = React27.useRef(null);
86453
86440
  const { scrollYProgress } = useScroll({
86454
86441
  target: heroRef,
86455
86442
  offset: ["start start", "end start"]
@@ -86987,7 +86974,7 @@ function IndustriesExpandableShowcase({
86987
86974
  patternClassName,
86988
86975
  optixFlowConfig
86989
86976
  }) {
86990
- const [activeContractor, setActiveContractor] = React26.useState(
86977
+ const [activeContractor, setActiveContractor] = React27.useState(
86991
86978
  contractors?.[0]?.id || ""
86992
86979
  );
86993
86980
  const handleContractorHover = (contractorId) => {
@@ -87640,7 +87627,7 @@ function ResourceDetailDocumentSidebar({
87640
87627
  }) {
87641
87628
  const renderedBreadcrumbs = useMemo(() => {
87642
87629
  if (breadcrumbsSlot) return breadcrumbsSlot;
87643
- return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
87630
+ return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
87644
87631
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: !crumb.href ? /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof crumb.label === "string" ? crumb.label : crumb.label }) : /* @__PURE__ */ jsx(BreadcrumbLink, { href: crumb.href, children: index === 0 ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) : typeof crumb.label === "string" ? crumb.label : crumb.label }) }),
87645
87632
  index < (breadcrumbs?.length || 0) - 1 && /* @__PURE__ */ jsx(BreadcrumbSeparator, {})
87646
87633
  ] }, index)) }) });
@@ -91041,8 +91028,8 @@ function ServicesListTableHover({
91041
91028
  patternOpacity,
91042
91029
  optixFlowConfig
91043
91030
  }) {
91044
- const [hoveredIndex, setHoveredIndex] = React26.useState(null);
91045
- const [mousePosition, setMousePosition] = React26.useState({ x: 0, y: 0 });
91031
+ const [hoveredIndex, setHoveredIndex] = React27.useState(null);
91032
+ const [mousePosition, setMousePosition] = React27.useState({ x: 0, y: 0 });
91046
91033
  const handleMouseMove = (e) => {
91047
91034
  setMousePosition({ x: e.clientX, y: e.clientY });
91048
91035
  };
@@ -91292,7 +91279,7 @@ function ServicesListStickyImage({
91292
91279
  patternOpacity,
91293
91280
  optixFlowConfig
91294
91281
  }) {
91295
- const [activeIndex, setActiveIndex] = React26.useState(0);
91282
+ const [activeIndex, setActiveIndex] = React27.useState(0);
91296
91283
  const renderServices = () => {
91297
91284
  if (servicesSlot) return servicesSlot;
91298
91285
  if (!services || services.length === 0) return null;
@@ -91544,8 +91531,8 @@ function ServicesListVideoShowcase({
91544
91531
  patternOpacity,
91545
91532
  optixFlowConfig
91546
91533
  }) {
91547
- const [playingIndex, setPlayingIndex] = React26.useState(null);
91548
- const videoRefs = React26.useRef([]);
91534
+ const [playingIndex, setPlayingIndex] = React27.useState(null);
91535
+ const videoRefs = React27.useRef([]);
91549
91536
  const handleMouseEnter = (index) => {
91550
91537
  setPlayingIndex(index);
91551
91538
  videoRefs.current[index]?.play();
@@ -94838,7 +94825,7 @@ function StatsCircularProgress({
94838
94825
  statInfoClassName
94839
94826
  }) {
94840
94827
  const effectiveDefaultCategory = defaultCategory || (categories && categories.length > 0 ? categories[0].id : "");
94841
- const [category, setCategory] = React26.useState(effectiveDefaultCategory);
94828
+ const [category, setCategory] = React27.useState(effectiveDefaultCategory);
94842
94829
  const badgeContent = useMemo(() => {
94843
94830
  if (badgeSlot) return badgeSlot;
94844
94831
  if (!badge) return null;
@@ -95131,8 +95118,8 @@ function StatsCardGroup({
95131
95118
  );
95132
95119
  }
95133
95120
  function useAnimatedCounter(endValue, duration = 2e3, isVisible) {
95134
- const [count, setCount] = React26.useState(0);
95135
- React26.useEffect(() => {
95121
+ const [count, setCount] = React27.useState(0);
95122
+ React27.useEffect(() => {
95136
95123
  if (!isVisible) return;
95137
95124
  let startTime = null;
95138
95125
  let animationFrame;
@@ -95220,9 +95207,9 @@ function StatsAnimatedCounter({
95220
95207
  statLabelClassName,
95221
95208
  statIconClassName
95222
95209
  }) {
95223
- const [isVisible, setIsVisible] = React26.useState(false);
95224
- const sectionRef = React26.useRef(null);
95225
- React26.useEffect(() => {
95210
+ const [isVisible, setIsVisible] = React27.useState(false);
95211
+ const sectionRef = React27.useRef(null);
95212
+ React27.useEffect(() => {
95226
95213
  const observer = new IntersectionObserver(
95227
95214
  ([entry]) => {
95228
95215
  if (entry.isIntersecting) {
@@ -95310,8 +95297,8 @@ function StatsAnimatedCounter({
95310
95297
  );
95311
95298
  }
95312
95299
  function useNumberTicker(endValue, duration = 2500, isVisible, decimals = 0) {
95313
- const [displayValue, setDisplayValue] = React26.useState("0");
95314
- React26.useEffect(() => {
95300
+ const [displayValue, setDisplayValue] = React27.useState("0");
95301
+ React27.useEffect(() => {
95315
95302
  if (!isVisible) return;
95316
95303
  let startTime = null;
95317
95304
  let animationFrame;
@@ -95426,9 +95413,9 @@ function StatsNumberTicker({
95426
95413
  statLabelClassName,
95427
95414
  statDescriptionClassName
95428
95415
  }) {
95429
- const [isVisible, setIsVisible] = React26.useState(false);
95430
- const sectionRef = React26.useRef(null);
95431
- React26.useEffect(() => {
95416
+ const [isVisible, setIsVisible] = React27.useState(false);
95417
+ const sectionRef = React27.useRef(null);
95418
+ React27.useEffect(() => {
95432
95419
  const observer = new IntersectionObserver(
95433
95420
  ([entry]) => {
95434
95421
  if (entry.isIntersecting) {
@@ -95687,9 +95674,9 @@ function StatsBarComparison({
95687
95674
  barValueClassName,
95688
95675
  barTrackClassName
95689
95676
  }) {
95690
- const [isVisible, setIsVisible] = React26.useState(!animate);
95691
- const sectionRef = React26.useRef(null);
95692
- React26.useEffect(() => {
95677
+ const [isVisible, setIsVisible] = React27.useState(!animate);
95678
+ const sectionRef = React27.useRef(null);
95679
+ React27.useEffect(() => {
95693
95680
  if (!animate) return;
95694
95681
  const observer = new IntersectionObserver(
95695
95682
  ([entry]) => {
@@ -95867,7 +95854,7 @@ function TimelineVerticalIconDashed({
95867
95854
  "mx-auto flex flex-col items-center justify-center text-center sm:max-w-xl",
95868
95855
  stepsClassName
95869
95856
  ),
95870
- children: steps.map((step, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
95857
+ children: steps.map((step, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
95871
95858
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", stepClassName), children: [
95872
95859
  /* @__PURE__ */ jsx(
95873
95860
  "span",
@@ -96134,7 +96121,7 @@ function TimelineTwoColumnFeatured({
96134
96121
  style,
96135
96122
  optixFlowConfig
96136
96123
  }) {
96137
- const renderActions = React26.useMemo(() => {
96124
+ const renderActions = React27.useMemo(() => {
96138
96125
  if (actionsSlot) {
96139
96126
  return actionsSlot;
96140
96127
  }
@@ -96262,7 +96249,7 @@ function TimelineTwoColumnFeatured({
96262
96249
  }
96263
96250
  );
96264
96251
  }
96265
- var DiagonalPattern = React26.memo(({
96252
+ var DiagonalPattern = React27.memo(({
96266
96253
  className,
96267
96254
  patternOpacity = 0.15
96268
96255
  }) => {
@@ -96301,7 +96288,7 @@ function TimelineAlternatingDiagonal({
96301
96288
  style,
96302
96289
  optixFlowConfig
96303
96290
  }) {
96304
- const renderedBadge = React26.useMemo(() => {
96291
+ const renderedBadge = React27.useMemo(() => {
96305
96292
  if (badgeSlot) {
96306
96293
  return badgeSlot;
96307
96294
  }
@@ -96679,7 +96666,7 @@ function TimelineProductivityList({
96679
96666
  }
96680
96667
  );
96681
96668
  }
96682
- var ProcessBar = React26.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("div", { className: "relative w-full scale-75", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: steps.map((step, index) => /* @__PURE__ */ jsxs(React26.Fragment, { children: [
96669
+ var ProcessBar = React27.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("div", { className: "relative w-full scale-75", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: steps.map((step, index) => /* @__PURE__ */ jsxs(React27.Fragment, { children: [
96683
96670
  /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsx(
96684
96671
  motion.div,
96685
96672
  {
@@ -96706,7 +96693,7 @@ var ProcessBar = React26.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("d
96706
96693
  )
96707
96694
  ] })
96708
96695
  ] }, index)) }) }));
96709
- var StepperContent = React26.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
96696
+ var StepperContent = React27.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
96710
96697
  return /* @__PURE__ */ jsxs("div", { className: cn("my-4 flex min-h-[400px] w-full flex-col items-center justify-center overflow-hidden rounded-2xl p-6 text-center", getNestedCardBg(background), getNestedCardTextColor(background)), children: [
96711
96698
  /* @__PURE__ */ jsx(
96712
96699
  motion.div,
@@ -96739,7 +96726,7 @@ var StepperContent = React26.memo(({ step, optixFlowConfig, imageClassName, desc
96739
96726
  )
96740
96727
  ] });
96741
96728
  });
96742
- var NavButtons = React26.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
96729
+ var NavButtons = React27.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
96743
96730
  /* @__PURE__ */ jsxs(
96744
96731
  Pressable,
96745
96732
  {
@@ -96790,10 +96777,10 @@ function TimelineStepperAnimated({
96790
96777
  }) {
96791
96778
  const safeInitialStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(initialStep ?? 0, (steps?.length ?? 1) - 1)) : 0;
96792
96779
  const [currentStep, setCurrentStep] = useState(safeInitialStep);
96793
- const handleNext = React26.useCallback(() => {
96780
+ const handleNext = React27.useCallback(() => {
96794
96781
  setCurrentStep((prev) => Math.min(prev + 1, (steps?.length ?? 1) - 1));
96795
96782
  }, [steps?.length]);
96796
- const handlePrev = React26.useCallback(() => {
96783
+ const handlePrev = React27.useCallback(() => {
96797
96784
  setCurrentStep((prev) => Math.max(prev - 1, 0));
96798
96785
  }, []);
96799
96786
  const safeCurrentStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(currentStep, (steps?.length ?? 1) - 1)) : 0;
@@ -97502,7 +97489,7 @@ function TimelineTabbedPhases({
97502
97489
  style,
97503
97490
  optixFlowConfig
97504
97491
  }) {
97505
- const renderDownloadButton = React26.useMemo(() => {
97492
+ const renderDownloadButton = React27.useMemo(() => {
97506
97493
  if (downloadSlot) {
97507
97494
  return downloadSlot;
97508
97495
  }
@@ -97722,7 +97709,7 @@ function TimelineProductLaunch({
97722
97709
  id,
97723
97710
  style
97724
97711
  }) {
97725
- const renderCta = React26.useMemo(() => {
97712
+ const renderCta = React27.useMemo(() => {
97726
97713
  if (ctaSlot) {
97727
97714
  return ctaSlot;
97728
97715
  }
@@ -98180,9 +98167,9 @@ function LinkTreeBlock({
98180
98167
  }) {
98181
98168
  const resolvedBackground = background;
98182
98169
  const resolvedPattern = pattern ?? backgroundPattern;
98183
- const [lightboxOpen, setLightboxOpen] = React26.useState(false);
98184
- const [lightboxIndex, setLightboxIndex] = React26.useState(0);
98185
- const lightboxItems = React26.useMemo(() => {
98170
+ const [lightboxOpen, setLightboxOpen] = React27.useState(false);
98171
+ const [lightboxIndex, setLightboxIndex] = React27.useState(0);
98172
+ const lightboxItems = React27.useMemo(() => {
98186
98173
  if (!mediaGallery || mediaGallery.length === 0) return [];
98187
98174
  return mediaGallery.slice(0, mediaGalleryLimit).map((item, index) => ({
98188
98175
  id: item.id ?? `media-${index}`,
@@ -98194,11 +98181,11 @@ function LinkTreeBlock({
98194
98181
  share: true
98195
98182
  }));
98196
98183
  }, [mediaGallery, mediaGalleryLimit]);
98197
- const handleMediaClick = React26.useCallback((index) => {
98184
+ const handleMediaClick = React27.useCallback((index) => {
98198
98185
  setLightboxIndex(index);
98199
98186
  setLightboxOpen(true);
98200
98187
  }, []);
98201
- const handleLightboxClose = React26.useCallback(() => {
98188
+ const handleLightboxClose = React27.useCallback(() => {
98202
98189
  setLightboxOpen(false);
98203
98190
  }, []);
98204
98191
  const resolveImage = (value, fallbackAlt) => {
@@ -98210,7 +98197,7 @@ function LinkTreeBlock({
98210
98197
  };
98211
98198
  const nameForAlt = typeof brandName === "string" ? brandName : "Brand avatar";
98212
98199
  const resolvedAvatar = resolveImage(brandAvatar || brandLogo, nameForAlt);
98213
- const renderBrandHeader = React26.useMemo(() => {
98200
+ const renderBrandHeader = React27.useMemo(() => {
98214
98201
  if (brandSlot) return brandSlot;
98215
98202
  return /* @__PURE__ */ jsxs(
98216
98203
  "div",
@@ -98297,7 +98284,7 @@ function LinkTreeBlock({
98297
98284
  brandTagline,
98298
98285
  taglineClassName
98299
98286
  ]);
98300
- const renderLinks = React26.useMemo(() => {
98287
+ const renderLinks = React27.useMemo(() => {
98301
98288
  if (linksSlot) return linksSlot;
98302
98289
  if (!links || links.length === 0) return null;
98303
98290
  return /* @__PURE__ */ jsx("div", { className: cn("space-y-3", linksClassName), children: links.map((link, index) => {
@@ -98413,7 +98400,7 @@ function LinkTreeBlock({
98413
98400
  linkBadgeClassName,
98414
98401
  linkChevronClassName
98415
98402
  ]);
98416
- const renderMediaGallery = React26.useMemo(() => {
98403
+ const renderMediaGallery = React27.useMemo(() => {
98417
98404
  if (mediaGallerySlot) return mediaGallerySlot;
98418
98405
  if (!mediaGallery || mediaGallery.length === 0) return null;
98419
98406
  const items = mediaGallery.slice(0, mediaGalleryLimit);
@@ -98526,7 +98513,7 @@ function LinkTreeBlock({
98526
98513
  mediaGalleryOverlayClassName,
98527
98514
  mediaGalleryPlayIconClassName
98528
98515
  ]);
98529
- const renderSocialLinks = React26.useMemo(() => {
98516
+ const renderSocialLinks = React27.useMemo(() => {
98530
98517
  if (socialLinksSlot) return socialLinksSlot;
98531
98518
  if (!socialLinks || socialLinks.length === 0) return null;
98532
98519
  return /* @__PURE__ */ jsx(
@@ -98559,7 +98546,7 @@ function LinkTreeBlock({
98559
98546
  socialIconClassName,
98560
98547
  socialLinkClassName
98561
98548
  ]);
98562
- const renderFooter = React26.useMemo(() => {
98549
+ const renderFooter = React27.useMemo(() => {
98563
98550
  if (footerSlot) return footerSlot;
98564
98551
  if (!footerAction) return null;
98565
98552
  const resolvedFooterAction = footerAction;