@opensite/ui 2.6.1 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -167,6 +167,6 @@ interface FeatureBentoImageGridProps {
167
167
  * />
168
168
  * ```
169
169
  */
170
- declare function FeatureBentoImageGrid({ title, description, items, itemsSlot, className, containerClassName, titleClassName, descriptionClassName, gridClassName, largeCardClassName, smallCardClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureBentoImageGridProps): React.JSX.Element;
170
+ declare function FeatureBentoImageGrid({ title, description, items, itemsSlot, className, titleClassName, descriptionClassName, gridClassName, largeCardClassName, smallCardClassName, optixFlowConfig, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, }: FeatureBentoImageGridProps): React.JSX.Element;
171
171
 
172
172
  export { FeatureBentoImageGrid, type FeatureBentoImageGridProps };
@@ -816,7 +816,6 @@ function FeatureBentoImageGrid({
816
816
  items,
817
817
  itemsSlot,
818
818
  className,
819
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
820
819
  titleClassName,
821
820
  descriptionClassName,
822
821
  gridClassName,
@@ -824,6 +823,7 @@ function FeatureBentoImageGrid({
824
823
  smallCardClassName,
825
824
  optixFlowConfig,
826
825
  background,
826
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
827
827
  spacing = "py-12 md:py-32",
828
828
  pattern,
829
829
  patternOpacity,
@@ -1069,17 +1069,8 @@ function FeatureBentoImageGrid({
1069
1069
  ),
1070
1070
  children: title
1071
1071
  }
1072
- ) : /* @__PURE__ */ jsx(
1073
- "div",
1074
- {
1075
- className: cn(
1076
- "mb-4 text-center text-4xl font-semibold text-balance",
1077
- titleClassName
1078
- ),
1079
- children: title
1080
- }
1081
- )),
1082
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-balance", descriptionClassName), children: description })),
1072
+ ) : title),
1073
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-balance", descriptionClassName), children: description }) : description),
1083
1074
  /* @__PURE__ */ jsx(
1084
1075
  "div",
1085
1076
  {
@@ -36,32 +36,6 @@ var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrim
36
36
  function cn(...inputs) {
37
37
  return tailwindMerge.twMerge(clsx.clsx(inputs));
38
38
  }
39
- function getTextColor(parentBg, variant = "default", options) {
40
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
- if (isDark) {
42
- switch (variant) {
43
- case "default":
44
- return "text-foreground";
45
- case "muted":
46
- return "text-foreground/80";
47
- case "subtle":
48
- return "text-foreground/60";
49
- case "accent":
50
- return "text-accent-foreground";
51
- }
52
- } else {
53
- switch (variant) {
54
- case "default":
55
- return "text-foreground";
56
- case "muted":
57
- return "text-muted-foreground";
58
- case "subtle":
59
- return "text-muted-foreground/70";
60
- case "accent":
61
- return "text-primary";
62
- }
63
- }
64
- }
65
39
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
66
40
  function DynamicIcon({ apiKey, ...props }) {
67
41
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
@@ -1001,7 +975,7 @@ function FeatureBentoUtilities({
1001
975
  }
1002
976
  return /* @__PURE__ */ jsxRuntime.jsxs(Card, { className: cardClasses, children: [
1003
977
  renderTitle(),
1004
- card.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: card.description })
978
+ card.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "relative", children: card.description })
1005
979
  ] }, index);
1006
980
  },
1007
981
  [optixFlowConfig]
@@ -1030,20 +1004,10 @@ function FeatureBentoUtilities({
1030
1004
  className,
1031
1005
  containerClassName: cn("max-w-7xl", containerClassName),
1032
1006
  children: [
1033
- (labelIconElement || label) && /* @__PURE__ */ jsxRuntime.jsxs(
1034
- "div",
1035
- {
1036
- className: cn(
1037
- "flex items-center gap-2",
1038
- getTextColor(background, "muted"),
1039
- labelClassName
1040
- ),
1041
- children: [
1042
- labelIconElement,
1043
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: label }))
1044
- ]
1045
- }
1046
- ),
1007
+ (labelIconElement || label) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2", labelClassName), children: [
1008
+ labelIconElement,
1009
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: label }))
1010
+ ] }),
1047
1011
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mt-3 mb-8" }),
1048
1012
  /* @__PURE__ */ jsxRuntime.jsxs(
1049
1013
  "div",
@@ -14,32 +14,6 @@ import { Img } from '@page-speed/img';
14
14
  function cn(...inputs) {
15
15
  return twMerge(clsx(inputs));
16
16
  }
17
- function getTextColor(parentBg, variant = "default", options) {
18
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
19
- if (isDark) {
20
- switch (variant) {
21
- case "default":
22
- return "text-foreground";
23
- case "muted":
24
- return "text-foreground/80";
25
- case "subtle":
26
- return "text-foreground/60";
27
- case "accent":
28
- return "text-accent-foreground";
29
- }
30
- } else {
31
- switch (variant) {
32
- case "default":
33
- return "text-foreground";
34
- case "muted":
35
- return "text-muted-foreground";
36
- case "subtle":
37
- return "text-muted-foreground/70";
38
- case "accent":
39
- return "text-primary";
40
- }
41
- }
42
- }
43
17
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
44
18
  function DynamicIcon({ apiKey, ...props }) {
45
19
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
@@ -979,7 +953,7 @@ function FeatureBentoUtilities({
979
953
  }
980
954
  return /* @__PURE__ */ jsxs(Card, { className: cardClasses, children: [
981
955
  renderTitle(),
982
- card.description && /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: card.description })
956
+ card.description && /* @__PURE__ */ jsx("p", { className: "relative", children: card.description })
983
957
  ] }, index);
984
958
  },
985
959
  [optixFlowConfig]
@@ -1008,20 +982,10 @@ function FeatureBentoUtilities({
1008
982
  className,
1009
983
  containerClassName: cn("max-w-7xl", containerClassName),
1010
984
  children: [
1011
- (labelIconElement || label) && /* @__PURE__ */ jsxs(
1012
- "div",
1013
- {
1014
- className: cn(
1015
- "flex items-center gap-2",
1016
- getTextColor(background, "muted"),
1017
- labelClassName
1018
- ),
1019
- children: [
1020
- labelIconElement,
1021
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsx("div", { className: "text-sm", children: label }))
1022
- ]
1023
- }
1024
- ),
985
+ (labelIconElement || label) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", labelClassName), children: [
986
+ labelIconElement,
987
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsx("div", { className: "text-sm", children: label }))
988
+ ] }),
1025
989
  /* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" }),
1026
990
  /* @__PURE__ */ jsxs(
1027
991
  "div",
package/dist/registry.cjs CHANGED
@@ -21120,7 +21120,7 @@ function CarouselPortfolioHero({
21120
21120
  navigationClassName,
21121
21121
  counterClassName,
21122
21122
  optixFlowConfig,
21123
- background = "dark",
21123
+ background,
21124
21124
  spacing = "none",
21125
21125
  pattern,
21126
21126
  patternOpacity,
@@ -21154,34 +21154,6 @@ function CarouselPortfolioHero({
21154
21154
  }
21155
21155
  };
21156
21156
  }, [resetInterval]);
21157
- const renderActions = () => {
21158
- if (actionsSlot) return actionsSlot;
21159
- if (!actions || actions.length === 0) return null;
21160
- return actions.map((action, index) => {
21161
- const {
21162
- label,
21163
- icon,
21164
- iconAfter,
21165
- children,
21166
- className: actionClassName,
21167
- ...pressableProps
21168
- } = action;
21169
- return /* @__PURE__ */ jsxRuntime.jsx(
21170
- Pressable,
21171
- {
21172
- asButton: true,
21173
- className: actionClassName,
21174
- ...pressableProps,
21175
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
21176
- icon,
21177
- label,
21178
- iconAfter
21179
- ] })
21180
- },
21181
- index
21182
- );
21183
- });
21184
- };
21185
21157
  const currentSlide = slides?.[currentIndex];
21186
21158
  return /* @__PURE__ */ jsxRuntime.jsxs(
21187
21159
  Section,
@@ -21223,7 +21195,7 @@ function CarouselPortfolioHero({
21223
21195
  className: cn(
21224
21196
  "relative z-10 flex h-full w-full flex-col justify-end px-6 pb-16 md:px-8 lg:px-12"
21225
21197
  ),
21226
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("max-w-4xl", contentClassName), children: [
21198
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", contentClassName), children: [
21227
21199
  currentSlide?.tag && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: typeof currentSlide.tag === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21228
21200
  "span",
21229
21201
  {
@@ -21259,7 +21231,14 @@ function CarouselPortfolioHero({
21259
21231
  {
21260
21232
  className: cn("mt-8 flex items-center gap-4", actionsClassName),
21261
21233
  children: [
21262
- renderActions(),
21234
+ /* @__PURE__ */ jsxRuntime.jsx(
21235
+ BlockActions,
21236
+ {
21237
+ actions,
21238
+ actionsSlot,
21239
+ actionsClassName
21240
+ }
21241
+ ),
21263
21242
  /* @__PURE__ */ jsxRuntime.jsxs(
21264
21243
  "div",
21265
21244
  {
@@ -21273,7 +21252,11 @@ function CarouselPortfolioHero({
21273
21252
  {
21274
21253
  variant: "outline",
21275
21254
  size: "icon",
21276
- className: cn("rounded-full border-foreground/40", getNestedCardBg(background), getNestedCardTextColor(background)),
21255
+ className: cn(
21256
+ "rounded-full border-foreground/40",
21257
+ getNestedCardBg(background),
21258
+ getNestedCardTextColor(background)
21259
+ ),
21277
21260
  onClick: goToPrev,
21278
21261
  asButton: true,
21279
21262
  children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
@@ -23889,7 +23872,6 @@ function FeatureBadgeGridSix({
23889
23872
  {
23890
23873
  className: cn(
23891
23874
  "text-sm md:text-base",
23892
- getTextColor(background, "muted"),
23893
23875
  feature.descriptionClassName
23894
23876
  ),
23895
23877
  children: feature.description
@@ -23899,7 +23881,6 @@ function FeatureBadgeGridSix({
23899
23881
  {
23900
23882
  className: cn(
23901
23883
  "text-sm md:text-base",
23902
- getTextColor(background, "muted"),
23903
23884
  feature.descriptionClassName
23904
23885
  ),
23905
23886
  children: feature.description
@@ -23970,16 +23951,7 @@ function FeatureBadgeGridSix({
23970
23951
  ),
23971
23952
  children: title
23972
23953
  }
23973
- ) : /* @__PURE__ */ jsxRuntime.jsx(
23974
- "div",
23975
- {
23976
- className: cn(
23977
- "text-2xl font-bold md:text-3xl lg:text-4xl",
23978
- titleClassName
23979
- ),
23980
- children: title
23981
- }
23982
- ))
23954
+ ) : title)
23983
23955
  ] }),
23984
23956
  /* @__PURE__ */ jsxRuntime.jsx(
23985
23957
  "div",
@@ -24739,7 +24711,7 @@ function FeatureBentoUtilities({
24739
24711
  }
24740
24712
  return /* @__PURE__ */ jsxRuntime.jsxs(Card, { className: cardClasses, children: [
24741
24713
  renderTitle(),
24742
- card.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: card.description })
24714
+ card.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "relative", children: card.description })
24743
24715
  ] }, index);
24744
24716
  },
24745
24717
  [optixFlowConfig]
@@ -24768,20 +24740,10 @@ function FeatureBentoUtilities({
24768
24740
  className,
24769
24741
  containerClassName: cn("max-w-7xl", containerClassName),
24770
24742
  children: [
24771
- (labelIconElement || label) && /* @__PURE__ */ jsxRuntime.jsxs(
24772
- "div",
24773
- {
24774
- className: cn(
24775
- "flex items-center gap-2",
24776
- getTextColor(background, "muted"),
24777
- labelClassName
24778
- ),
24779
- children: [
24780
- labelIconElement,
24781
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: label }))
24782
- ]
24783
- }
24784
- ),
24743
+ (labelIconElement || label) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2", labelClassName), children: [
24744
+ labelIconElement,
24745
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: label }))
24746
+ ] }),
24785
24747
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mt-3 mb-8" }),
24786
24748
  /* @__PURE__ */ jsxRuntime.jsxs(
24787
24749
  "div",
@@ -25977,7 +25939,6 @@ function FeatureBentoImageGrid({
25977
25939
  items,
25978
25940
  itemsSlot,
25979
25941
  className,
25980
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
25981
25942
  titleClassName,
25982
25943
  descriptionClassName,
25983
25944
  gridClassName,
@@ -25985,6 +25946,7 @@ function FeatureBentoImageGrid({
25985
25946
  smallCardClassName,
25986
25947
  optixFlowConfig,
25987
25948
  background,
25949
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
25988
25950
  spacing = "py-12 md:py-32",
25989
25951
  pattern,
25990
25952
  patternOpacity,
@@ -26230,17 +26192,8 @@ function FeatureBentoImageGrid({
26230
26192
  ),
26231
26193
  children: title
26232
26194
  }
26233
- ) : /* @__PURE__ */ jsxRuntime.jsx(
26234
- "div",
26235
- {
26236
- className: cn(
26237
- "mb-4 text-center text-4xl font-semibold text-balance",
26238
- titleClassName
26239
- ),
26240
- children: title
26241
- }
26242
- )),
26243
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-center text-balance", descriptionClassName), children: description })),
26195
+ ) : title),
26196
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-balance", descriptionClassName), children: description }) : description),
26244
26197
  /* @__PURE__ */ jsxRuntime.jsx(
26245
26198
  "div",
26246
26199
  {
@@ -36963,11 +36916,11 @@ function BlogFilteredResultsComponent({
36963
36916
  }
36964
36917
  function BlogMasonryFeaturedComponent({
36965
36918
  heading,
36919
+ description,
36966
36920
  posts,
36967
36921
  featuredSlot,
36968
36922
  postsSlot,
36969
36923
  className,
36970
- containerClassName,
36971
36924
  headingClassName,
36972
36925
  postsClassName,
36973
36926
  featuredClassName,
@@ -36975,7 +36928,8 @@ function BlogMasonryFeaturedComponent({
36975
36928
  postCardClassName,
36976
36929
  optixFlowConfig,
36977
36930
  background,
36978
- spacing,
36931
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
36932
+ spacing = "py-12 md:py-32",
36979
36933
  pattern,
36980
36934
  patternOpacity
36981
36935
  }) {
@@ -36984,7 +36938,7 @@ function BlogMasonryFeaturedComponent({
36984
36938
  const featuredPostContent = React30__namespace.useMemo(() => {
36985
36939
  if (featuredSlot) return featuredSlot;
36986
36940
  if (!featuredPost) return null;
36987
- const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
36941
+ const postHref = featuredPost.href || featuredPost.url || featuredPost.link;
36988
36942
  return /* @__PURE__ */ jsxRuntime.jsx(
36989
36943
  "div",
36990
36944
  {
@@ -37011,13 +36965,13 @@ function BlogMasonryFeaturedComponent({
37011
36965
  }
37012
36966
  ),
37013
36967
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-5", children: [
37014
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
36968
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm", children: [
37015
36969
  (featuredPost.date || featuredPost.published) && /* @__PURE__ */ jsxRuntime.jsx("time", { children: featuredPost.date || featuredPost.published }),
37016
36970
  (featuredPost.date || featuredPost.published) && featuredPost.author && "\xB7",
37017
36971
  featuredPost.author && /* @__PURE__ */ jsxRuntime.jsx("span", { children: featuredPost.author })
37018
36972
  ] }),
37019
- featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title })),
37020
- (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-muted-foreground", children: featuredPost.description || featuredPost.summary })
36973
+ featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg", children: featuredPost.title })),
36974
+ (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4", children: featuredPost.description || featuredPost.summary })
37021
36975
  ] })
37022
36976
  ]
37023
36977
  }
@@ -37074,22 +37028,24 @@ function BlogMasonryFeaturedComponent({
37074
37028
  className: cn(className),
37075
37029
  pattern,
37076
37030
  patternOpacity,
37077
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
37031
+ containerClassName,
37032
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
37078
37033
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
37079
37034
  "h1",
37080
37035
  {
37081
37036
  className: cn(
37082
- "mb-6 md:mb-12 text-center text-4xl font-medium md:text-6xl text-balance",
37037
+ "mb-6 md:mb-12 text-center text-2xl font-medium md:text-4xl text-balance",
37083
37038
  headingClassName
37084
37039
  ),
37085
37040
  children: heading
37086
37041
  }
37087
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
37042
+ ) : heading),
37043
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-balance", children: description }) : description),
37088
37044
  /* @__PURE__ */ jsxRuntime.jsxs(
37089
37045
  "div",
37090
37046
  {
37091
37047
  className: cn(
37092
- "xs:grid-cols-1 mt-6 md:mt-16 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
37048
+ "grid-cols-1 mt-6 md:mt-16 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
37093
37049
  postsClassName
37094
37050
  ),
37095
37051
  children: [
@@ -37678,7 +37634,6 @@ function BlogCarouselAppleComponent({
37678
37634
  function ArticleHeroProseComponent({
37679
37635
  post,
37680
37636
  className,
37681
- containerClassName,
37682
37637
  headerClassName,
37683
37638
  titleClassName,
37684
37639
  descriptionClassName,
@@ -37691,7 +37646,8 @@ function ArticleHeroProseComponent({
37691
37646
  dateFormat = "MMMM d, yyyy",
37692
37647
  optixFlowConfig,
37693
37648
  background,
37694
- spacing,
37649
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
37650
+ spacing = "hero",
37695
37651
  pattern,
37696
37652
  patternOpacity
37697
37653
  }) {
@@ -37762,8 +37718,9 @@ function ArticleHeroProseComponent({
37762
37718
  pattern,
37763
37719
  patternOpacity,
37764
37720
  className,
37721
+ containerClassName,
37765
37722
  children: [
37766
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
37723
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
37767
37724
  "div",
37768
37725
  {
37769
37726
  className: cn(
@@ -37775,7 +37732,7 @@ function ArticleHeroProseComponent({
37775
37732
  "h1",
37776
37733
  {
37777
37734
  className: cn(
37778
- "max-w-3xl text-5xl font-semibold text-pretty md:text-6xl",
37735
+ "max-w-full md:max-w-3xl text-2xl font-semibold text-pretty md:text-5xl",
37779
37736
  titleClassName
37780
37737
  ),
37781
37738
  children: title
@@ -37785,7 +37742,7 @@ function ArticleHeroProseComponent({
37785
37742
  "h3",
37786
37743
  {
37787
37744
  className: cn(
37788
- "max-w-3xl text-lg text-muted-foreground md:text-xl text-balance",
37745
+ "max-w-full md:max-w-3xl text-lg text-muted-foreground md:text-xl text-balance",
37789
37746
  descriptionClassName
37790
37747
  ),
37791
37748
  children: description
@@ -37796,7 +37753,7 @@ function ArticleHeroProseComponent({
37796
37753
  ]
37797
37754
  }
37798
37755
  ) }),
37799
- children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
37756
+ children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
37800
37757
  "div",
37801
37758
  {
37802
37759
  className: cn(
@@ -37964,7 +37921,6 @@ function ArticleSidebarStickyComponent({
37964
37921
  }
37965
37922
  function ArticleTocSidebarComponent({
37966
37923
  className,
37967
- containerClassName,
37968
37924
  articleClassName,
37969
37925
  sidebarClassName,
37970
37926
  headerClassName,
@@ -37992,19 +37948,18 @@ function ArticleTocSidebarComponent({
37992
37948
  heroMediaSlot,
37993
37949
  ctaTitle,
37994
37950
  ctaDescription,
37995
- ctaActions: ctaActionsProp,
37996
- ctaButtonText,
37997
- ctaButtonHref,
37951
+ ctaActions,
37998
37952
  ctaSlot,
37999
37953
  children,
38000
37954
  enableTocTracking = true,
38001
37955
  optixFlowConfig,
38002
37956
  background,
38003
- spacing,
37957
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
37958
+ spacing = "hero",
38004
37959
  pattern,
38005
- patternOpacity
37960
+ patternOpacity,
37961
+ patternClassName
38006
37962
  }) {
38007
- const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
38008
37963
  const [activeSection, setActiveSection] = React30__namespace.useState(
38009
37964
  sections?.[0]?.id || ""
38010
37965
  );
@@ -38040,7 +37995,14 @@ function ArticleTocSidebarComponent({
38040
37995
  /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: authorName.charAt(0) })
38041
37996
  ] }),
38042
37997
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
38043
- authorHref ? /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: authorHref, className: "text-sm font-medium hover:underline", children: authorName }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
37998
+ authorHref ? /* @__PURE__ */ jsxRuntime.jsx(
37999
+ Pressable,
38000
+ {
38001
+ href: authorHref,
38002
+ className: "text-sm font-medium hover:underline",
38003
+ children: authorName
38004
+ }
38005
+ ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
38044
38006
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", children: [
38045
38007
  publishDate,
38046
38008
  readTime && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -38050,7 +38012,15 @@ function ArticleTocSidebarComponent({
38050
38012
  ] })
38051
38013
  ] })
38052
38014
  ] });
38053
- }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
38015
+ }, [
38016
+ authorSlot,
38017
+ authorName,
38018
+ authorImage,
38019
+ authorHref,
38020
+ publishDate,
38021
+ readTime,
38022
+ authorClassName
38023
+ ]);
38054
38024
  const heroMediaContent = React30__namespace.useMemo(() => {
38055
38025
  if (heroMediaSlot) return heroMediaSlot;
38056
38026
  if (!heroImageSrc) return null;
@@ -38059,11 +38029,20 @@ function ArticleTocSidebarComponent({
38059
38029
  {
38060
38030
  src: heroImageSrc,
38061
38031
  alt: heroImageAlt,
38062
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
38032
+ className: cn(
38033
+ "my-8 aspect-video w-full rounded-lg object-cover",
38034
+ heroImageClassName
38035
+ ),
38063
38036
  optixFlowConfig
38064
38037
  }
38065
38038
  );
38066
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
38039
+ }, [
38040
+ heroMediaSlot,
38041
+ heroImageSrc,
38042
+ heroImageAlt,
38043
+ heroImageClassName,
38044
+ optixFlowConfig
38045
+ ]);
38067
38046
  const tocContent = React30__namespace.useMemo(() => {
38068
38047
  if (tocSlot) return tocSlot;
38069
38048
  if (!sections || sections.length === 0) return null;
@@ -38091,12 +38070,20 @@ function ArticleTocSidebarComponent({
38091
38070
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
38092
38071
  const ctaContent = React30__namespace.useMemo(() => {
38093
38072
  if (ctaSlot) return ctaSlot;
38094
- if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
38095
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border p-4", getNestedCardBg(background, "subtle"), getNestedCardTextColor(background), ctaClassName), children: [
38073
+ if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0))
38074
+ return null;
38075
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border p-4", ctaClassName), children: [
38096
38076
  ctaTitle && (typeof ctaTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold", children: ctaTitle }) : ctaTitle),
38097
- ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm text-muted-foreground", children: ctaDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: ctaDescription })),
38077
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm", children: ctaDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: ctaDescription })),
38098
38078
  ctaActions && ctaActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: ctaActions.map((action, index) => {
38099
- const { label, icon, iconAfter, children: actionChildren, className: actionClassName, ...pressableProps } = action;
38079
+ const {
38080
+ label,
38081
+ icon,
38082
+ iconAfter,
38083
+ children: actionChildren,
38084
+ className: actionClassName,
38085
+ ...pressableProps
38086
+ } = action;
38100
38087
  return /* @__PURE__ */ jsxRuntime.jsx(
38101
38088
  Pressable,
38102
38089
  {
@@ -38121,18 +38108,38 @@ function ArticleTocSidebarComponent({
38121
38108
  spacing,
38122
38109
  pattern,
38123
38110
  patternOpacity,
38124
- className,
38125
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_300px]", children: [
38126
- /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
38127
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
38128
- categoryContent,
38129
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
38130
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
38131
- authorContent
38132
- ] }),
38133
- heroMediaContent,
38134
- children
38135
- ] }),
38111
+ patternClassName,
38112
+ className: cn(pattern && "overflow-visible", className),
38113
+ containerClassName,
38114
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_300px]", children: [
38115
+ /* @__PURE__ */ jsxRuntime.jsxs(
38116
+ "article",
38117
+ {
38118
+ className: cn(
38119
+ "prose max-w-none dark:prose-invert",
38120
+ articleClassName
38121
+ ),
38122
+ children: [
38123
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
38124
+ categoryContent,
38125
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
38126
+ "h1",
38127
+ {
38128
+ className: cn(
38129
+ "mt-4 text-2xl font-bold tracking-tight md:text-4xl",
38130
+ titleClassName
38131
+ ),
38132
+ children: title
38133
+ }
38134
+ ) : title),
38135
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description),
38136
+ authorContent
38137
+ ] }),
38138
+ heroMediaContent,
38139
+ children
38140
+ ]
38141
+ }
38142
+ ),
38136
38143
  /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
38137
38144
  tocContent,
38138
38145
  ctaContent