@opensite/ui 3.1.8 → 3.2.0

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.
@@ -40,36 +40,6 @@ var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
40
40
  function cn(...inputs) {
41
41
  return tailwindMerge.twMerge(clsx.clsx(inputs));
42
42
  }
43
- function getNestedCardBg(parentBg, variant = "muted", options) {
44
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
- if (isDark) {
46
- switch (variant) {
47
- case "muted":
48
- return "bg-background";
49
- case "card":
50
- return "bg-card";
51
- case "accent":
52
- return "bg-accent";
53
- case "subtle":
54
- return "bg-background/50";
55
- }
56
- } else {
57
- switch (variant) {
58
- case "muted":
59
- return "bg-muted";
60
- case "card":
61
- return "bg-card";
62
- case "accent":
63
- return "bg-accent";
64
- case "subtle":
65
- return "bg-muted/50";
66
- }
67
- }
68
- }
69
- function getNestedCardTextColor(parentBg, options) {
70
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
- return isDark ? "text-foreground" : "";
72
- }
73
43
  function AspectRatio({
74
44
  ...props
75
45
  }) {
@@ -693,8 +663,9 @@ function BlogFilteredResultsComponent({
693
663
  loadMoreClassName,
694
664
  optixFlowConfig,
695
665
  background,
696
- spacing = "pt-6 pb-16 lg:pt-12 lg:pb-32",
666
+ spacing = "hero",
697
667
  pattern,
668
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
698
669
  patternOpacity
699
670
  }) {
700
671
  const effectivePostsPerPage = postsPerPage || POSTS_PER_PAGE;
@@ -828,14 +799,14 @@ function BlogFilteredResultsComponent({
828
799
  className: cn(className),
829
800
  pattern,
830
801
  patternOpacity,
802
+ containerClassName,
831
803
  children: [
832
804
  /* @__PURE__ */ jsxRuntime.jsx(
833
805
  "div",
834
806
  {
835
807
  className: cn(
836
808
  "bg-size-[3.125rem_3.125rem] bg-repeat rounded-2xl shadow-xl",
837
- getNestedCardBg(background),
838
- getNestedCardTextColor(background),
809
+ "bg-muted text-muted-foreground",
839
810
  heroClassName
840
811
  ),
841
812
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col items-start justify-start gap-6 md:gap-16 p-6 md:p-20 lg:flex-row lg:items-center lg:justify-between", children: [
@@ -133,6 +133,10 @@ interface BlogFilteredResultsProps {
133
133
  * Vertical spacing for the section
134
134
  */
135
135
  spacing?: SectionSpacing;
136
+ /**
137
+ * Additional CSS classes for the container
138
+ */
139
+ containerClassName?: string;
136
140
  /**
137
141
  * Optional background pattern name or URL
138
142
  */
@@ -144,6 +148,6 @@ interface BlogFilteredResultsProps {
144
148
  /** Optional Section ID */
145
149
  sectionId?: string;
146
150
  }
147
- declare function BlogFilteredResultsComponent({ sectionId, heading, description, allContentHeading, breadcrumb, breadcrumbSlot, primaryPost, primaryPostSlot, posts, postsSlot, categories, categoriesSlot, postsPerPage, loadMoreAction, loadMoreSlot, className, heroClassName, headingClassName, descriptionClassName, primaryPostClassName, allContentClassName, allContentHeadingClassName, categoriesClassName, postsClassName, postCardClassName, loadMoreClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: BlogFilteredResultsProps): React.JSX.Element;
151
+ declare function BlogFilteredResultsComponent({ sectionId, heading, description, allContentHeading, breadcrumb, breadcrumbSlot, primaryPost, primaryPostSlot, posts, postsSlot, categories, categoriesSlot, postsPerPage, loadMoreAction, loadMoreSlot, className, heroClassName, headingClassName, descriptionClassName, primaryPostClassName, allContentClassName, allContentHeadingClassName, categoriesClassName, postsClassName, postCardClassName, loadMoreClassName, optixFlowConfig, background, spacing, pattern, containerClassName, patternOpacity, }: BlogFilteredResultsProps): React.JSX.Element;
148
152
 
149
153
  export { BlogFilteredResultsComponent as BlogFilteredResults, type BlogFilteredResultsProps, type BreadcrumbItemType, type CategoryFilter };
@@ -133,6 +133,10 @@ interface BlogFilteredResultsProps {
133
133
  * Vertical spacing for the section
134
134
  */
135
135
  spacing?: SectionSpacing;
136
+ /**
137
+ * Additional CSS classes for the container
138
+ */
139
+ containerClassName?: string;
136
140
  /**
137
141
  * Optional background pattern name or URL
138
142
  */
@@ -144,6 +148,6 @@ interface BlogFilteredResultsProps {
144
148
  /** Optional Section ID */
145
149
  sectionId?: string;
146
150
  }
147
- declare function BlogFilteredResultsComponent({ sectionId, heading, description, allContentHeading, breadcrumb, breadcrumbSlot, primaryPost, primaryPostSlot, posts, postsSlot, categories, categoriesSlot, postsPerPage, loadMoreAction, loadMoreSlot, className, heroClassName, headingClassName, descriptionClassName, primaryPostClassName, allContentClassName, allContentHeadingClassName, categoriesClassName, postsClassName, postCardClassName, loadMoreClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: BlogFilteredResultsProps): React.JSX.Element;
151
+ declare function BlogFilteredResultsComponent({ sectionId, heading, description, allContentHeading, breadcrumb, breadcrumbSlot, primaryPost, primaryPostSlot, posts, postsSlot, categories, categoriesSlot, postsPerPage, loadMoreAction, loadMoreSlot, className, heroClassName, headingClassName, descriptionClassName, primaryPostClassName, allContentClassName, allContentHeadingClassName, categoriesClassName, postsClassName, postCardClassName, loadMoreClassName, optixFlowConfig, background, spacing, pattern, containerClassName, patternOpacity, }: BlogFilteredResultsProps): React.JSX.Element;
148
152
 
149
153
  export { BlogFilteredResultsComponent as BlogFilteredResults, type BlogFilteredResultsProps, type BreadcrumbItemType, type CategoryFilter };
@@ -16,36 +16,6 @@ import * as LabelPrimitive from '@radix-ui/react-label';
16
16
  function cn(...inputs) {
17
17
  return twMerge(clsx(inputs));
18
18
  }
19
- function getNestedCardBg(parentBg, variant = "muted", options) {
20
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
21
- if (isDark) {
22
- switch (variant) {
23
- case "muted":
24
- return "bg-background";
25
- case "card":
26
- return "bg-card";
27
- case "accent":
28
- return "bg-accent";
29
- case "subtle":
30
- return "bg-background/50";
31
- }
32
- } else {
33
- switch (variant) {
34
- case "muted":
35
- return "bg-muted";
36
- case "card":
37
- return "bg-card";
38
- case "accent":
39
- return "bg-accent";
40
- case "subtle":
41
- return "bg-muted/50";
42
- }
43
- }
44
- }
45
- function getNestedCardTextColor(parentBg, options) {
46
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
47
- return isDark ? "text-foreground" : "";
48
- }
49
19
  function AspectRatio({
50
20
  ...props
51
21
  }) {
@@ -669,8 +639,9 @@ function BlogFilteredResultsComponent({
669
639
  loadMoreClassName,
670
640
  optixFlowConfig,
671
641
  background,
672
- spacing = "pt-6 pb-16 lg:pt-12 lg:pb-32",
642
+ spacing = "hero",
673
643
  pattern,
644
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
674
645
  patternOpacity
675
646
  }) {
676
647
  const effectivePostsPerPage = postsPerPage || POSTS_PER_PAGE;
@@ -804,14 +775,14 @@ function BlogFilteredResultsComponent({
804
775
  className: cn(className),
805
776
  pattern,
806
777
  patternOpacity,
778
+ containerClassName,
807
779
  children: [
808
780
  /* @__PURE__ */ jsx(
809
781
  "div",
810
782
  {
811
783
  className: cn(
812
784
  "bg-size-[3.125rem_3.125rem] bg-repeat rounded-2xl shadow-xl",
813
- getNestedCardBg(background),
814
- getNestedCardTextColor(background),
785
+ "bg-muted text-muted-foreground",
815
786
  heroClassName
816
787
  ),
817
788
  children: /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col items-start justify-start gap-6 md:gap-16 p-6 md:p-20 lg:flex-row lg:items-center lg:justify-between", children: [
@@ -6,8 +6,8 @@ var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var img = require('@page-speed/img');
8
8
  var pressable = require('@page-speed/pressable');
9
- var jsxRuntime = require('react/jsx-runtime');
10
9
  var icon = require('@page-speed/icon');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
11
 
12
12
  function _interopNamespace(e) {
13
13
  if (e && e.__esModule) return e;
@@ -33,29 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
  function cn(...inputs) {
34
34
  return tailwindMerge.twMerge(clsx.clsx(inputs));
35
35
  }
36
- function Card({ className, ...props }) {
37
- return /* @__PURE__ */ jsxRuntime.jsx(
38
- "div",
39
- {
40
- "data-slot": "card",
41
- className: cn(
42
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
43
- className
44
- ),
45
- ...props
46
- }
47
- );
48
- }
49
- function CardContent({ className, ...props }) {
50
- return /* @__PURE__ */ jsxRuntime.jsx(
51
- "div",
52
- {
53
- "data-slot": "card-content",
54
- className: cn("px-6", className),
55
- ...props
56
- }
57
- );
58
- }
59
36
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
60
37
  var DynamicIcon = React__namespace.memo(function DynamicIcon2({
61
38
  apiKey,
@@ -447,7 +424,7 @@ function BlogHorizontalTimelineComponent({
447
424
  postsSlot,
448
425
  readText,
449
426
  className,
450
- containerClassName,
427
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
451
428
  headingClassName,
452
429
  postsClassName,
453
430
  postItemClassName,
@@ -495,13 +472,13 @@ function BlogHorizontalTimelineComponent({
495
472
  }
496
473
  ),
497
474
  /* @__PURE__ */ jsxRuntime.jsx(
498
- Card,
475
+ "div",
499
476
  {
500
477
  className: cn(
501
478
  "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
502
479
  postCardClassName
503
480
  ),
504
- children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
481
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
505
482
  "div",
506
483
  {
507
484
  className: cn(
@@ -511,11 +488,11 @@ function BlogHorizontalTimelineComponent({
511
488
  children: [
512
489
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-2 md:h-full md:justify-between md:pr-8", children: [
513
490
  post.title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-bold tracking-tight line-clamp-2", children: post.title }),
514
- postDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold tracking-widest text-muted-foreground uppercase md:mt-2 md:text-sm", children: postDate })
491
+ postDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold tracking-widest uppercase md:mt-2 md:text-sm opacity-75", children: postDate })
515
492
  ] }),
516
493
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
517
494
  postDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
518
- readText && /* @__PURE__ */ jsxRuntime.jsxs(pressable.Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
495
+ readText && /* @__PURE__ */ jsxRuntime.jsxs(pressable.Pressable, { href: postHref, asButton: true, variant: "outline", children: [
519
496
  readText,
520
497
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
521
498
  ] })
@@ -548,7 +525,8 @@ function BlogHorizontalTimelineComponent({
548
525
  className: cn(className),
549
526
  pattern,
550
527
  patternOpacity,
551
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
528
+ containerClassName,
529
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
552
530
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
553
531
  "h1",
554
532
  {
@@ -558,7 +536,7 @@ function BlogHorizontalTimelineComponent({
558
536
  ),
559
537
  children: heading
560
538
  }
561
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
539
+ ) : heading),
562
540
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
563
541
  ] })
564
542
  }
@@ -5,36 +5,13 @@ import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Img } from '@page-speed/img';
7
7
  import { Pressable } from '@page-speed/pressable';
8
- import { jsx, jsxs } from 'react/jsx-runtime';
9
8
  import { Icon } from '@page-speed/icon';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
11
11
  // components/blocks/blog/blog-horizontal-timeline.tsx
12
12
  function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
- function Card({ className, ...props }) {
16
- return /* @__PURE__ */ jsx(
17
- "div",
18
- {
19
- "data-slot": "card",
20
- className: cn(
21
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
22
- className
23
- ),
24
- ...props
25
- }
26
- );
27
- }
28
- function CardContent({ className, ...props }) {
29
- return /* @__PURE__ */ jsx(
30
- "div",
31
- {
32
- "data-slot": "card-content",
33
- className: cn("px-6", className),
34
- ...props
35
- }
36
- );
37
- }
38
15
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
39
16
  var DynamicIcon = React.memo(function DynamicIcon2({
40
17
  apiKey,
@@ -426,7 +403,7 @@ function BlogHorizontalTimelineComponent({
426
403
  postsSlot,
427
404
  readText,
428
405
  className,
429
- containerClassName,
406
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
430
407
  headingClassName,
431
408
  postsClassName,
432
409
  postItemClassName,
@@ -474,13 +451,13 @@ function BlogHorizontalTimelineComponent({
474
451
  }
475
452
  ),
476
453
  /* @__PURE__ */ jsx(
477
- Card,
454
+ "div",
478
455
  {
479
456
  className: cn(
480
457
  "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
481
458
  postCardClassName
482
459
  ),
483
- children: /* @__PURE__ */ jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs(
460
+ children: /* @__PURE__ */ jsx("div", { className: "p-0", children: /* @__PURE__ */ jsxs(
484
461
  "div",
485
462
  {
486
463
  className: cn(
@@ -490,11 +467,11 @@ function BlogHorizontalTimelineComponent({
490
467
  children: [
491
468
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-2 md:h-full md:justify-between md:pr-8", children: [
492
469
  post.title && /* @__PURE__ */ jsx("h2", { className: "text-lg font-bold tracking-tight line-clamp-2", children: post.title }),
493
- postDate && /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold tracking-widest text-muted-foreground uppercase md:mt-2 md:text-sm", children: postDate })
470
+ postDate && /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold tracking-widest uppercase md:mt-2 md:text-sm opacity-75", children: postDate })
494
471
  ] }),
495
472
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
496
473
  postDescription && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
497
- readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
474
+ readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "outline", children: [
498
475
  readText,
499
476
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
500
477
  ] })
@@ -527,7 +504,8 @@ function BlogHorizontalTimelineComponent({
527
504
  className: cn(className),
528
505
  pattern,
529
506
  patternOpacity,
530
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
507
+ containerClassName,
508
+ children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
531
509
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
532
510
  "h1",
533
511
  {
@@ -537,7 +515,7 @@ function BlogHorizontalTimelineComponent({
537
515
  ),
538
516
  children: heading
539
517
  }
540
- ) : /* @__PURE__ */ jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
518
+ ) : heading),
541
519
  /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
542
520
  ] })
543
521
  }
@@ -624,7 +624,7 @@ function CarouselGalleryThumbnails({
624
624
  "button",
625
625
  {
626
626
  className: cn(
627
- "relative h-20 w-20 shrink-0 transition-all duration-200",
627
+ "relative h-20 w-20 shrink-0 transition-all duration-200 rounded-lg",
628
628
  index === currentIndex ? "ring-2 ring-primary ring-offset-2" : "opacity-70 hover:opacity-100",
629
629
  thumbnailClassName
630
630
  ),
@@ -603,7 +603,7 @@ function CarouselGalleryThumbnails({
603
603
  "button",
604
604
  {
605
605
  className: cn(
606
- "relative h-20 w-20 shrink-0 transition-all duration-200",
606
+ "relative h-20 w-20 shrink-0 transition-all duration-200 rounded-lg",
607
607
  index === currentIndex ? "ring-2 ring-primary ring-offset-2" : "opacity-70 hover:opacity-100",
608
608
  thumbnailClassName
609
609
  ),
@@ -536,7 +536,7 @@ function CarouselImageHero({
536
536
  indicatorsClassName,
537
537
  optixFlowConfig,
538
538
  background,
539
- spacing = "py-0 md:py-32",
539
+ spacing = "hero",
540
540
  pattern,
541
541
  patternOpacity
542
542
  }) {
@@ -515,7 +515,7 @@ function CarouselImageHero({
515
515
  indicatorsClassName,
516
516
  optixFlowConfig,
517
517
  background,
518
- spacing = "py-0 md:py-32",
518
+ spacing = "hero",
519
519
  pattern,
520
520
  patternOpacity
521
521
  }) {
@@ -465,7 +465,7 @@ function CarouselProductFeatureShowcase({
465
465
  indicatorsClassName,
466
466
  optixFlowConfig,
467
467
  background,
468
- spacing,
468
+ spacing = "hero",
469
469
  pattern,
470
470
  patternOpacity
471
471
  }) {
@@ -444,7 +444,7 @@ function CarouselProductFeatureShowcase({
444
444
  indicatorsClassName,
445
445
  optixFlowConfig,
446
446
  background,
447
- spacing,
447
+ spacing = "hero",
448
448
  pattern,
449
449
  patternOpacity
450
450
  }) {
package/dist/registry.cjs CHANGED
@@ -20555,7 +20555,7 @@ function CarouselGalleryThumbnails({
20555
20555
  "button",
20556
20556
  {
20557
20557
  className: cn(
20558
- "relative h-20 w-20 shrink-0 transition-all duration-200",
20558
+ "relative h-20 w-20 shrink-0 transition-all duration-200 rounded-lg",
20559
20559
  index === currentIndex ? "ring-2 ring-primary ring-offset-2" : "opacity-70 hover:opacity-100",
20560
20560
  thumbnailClassName
20561
20561
  ),
@@ -20809,7 +20809,7 @@ function CarouselImageHero({
20809
20809
  indicatorsClassName,
20810
20810
  optixFlowConfig,
20811
20811
  background,
20812
- spacing = "py-0 md:py-32",
20812
+ spacing = "hero",
20813
20813
  pattern,
20814
20814
  patternOpacity
20815
20815
  }) {
@@ -21526,7 +21526,7 @@ function CarouselProductFeatureShowcase({
21526
21526
  indicatorsClassName,
21527
21527
  optixFlowConfig,
21528
21528
  background,
21529
- spacing,
21529
+ spacing = "hero",
21530
21530
  pattern,
21531
21531
  patternOpacity
21532
21532
  }) {
@@ -37067,8 +37067,9 @@ function BlogFilteredResultsComponent({
37067
37067
  loadMoreClassName,
37068
37068
  optixFlowConfig,
37069
37069
  background,
37070
- spacing = "pt-6 pb-16 lg:pt-12 lg:pb-32",
37070
+ spacing = "hero",
37071
37071
  pattern,
37072
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
37072
37073
  patternOpacity
37073
37074
  }) {
37074
37075
  const effectivePostsPerPage = postsPerPage || POSTS_PER_PAGE;
@@ -37202,14 +37203,14 @@ function BlogFilteredResultsComponent({
37202
37203
  className: cn(className),
37203
37204
  pattern,
37204
37205
  patternOpacity,
37206
+ containerClassName,
37205
37207
  children: [
37206
37208
  /* @__PURE__ */ jsxRuntime.jsx(
37207
37209
  "div",
37208
37210
  {
37209
37211
  className: cn(
37210
37212
  "bg-size-[3.125rem_3.125rem] bg-repeat rounded-2xl shadow-xl",
37211
- getNestedCardBg(background),
37212
- getNestedCardTextColor(background),
37213
+ "bg-muted text-muted-foreground",
37213
37214
  heroClassName
37214
37215
  ),
37215
37216
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col items-start justify-start gap-6 md:gap-16 p-6 md:p-20 lg:flex-row lg:items-center lg:justify-between", children: [
@@ -37427,7 +37428,7 @@ function BlogHorizontalTimelineComponent({
37427
37428
  postsSlot,
37428
37429
  readText,
37429
37430
  className,
37430
- containerClassName,
37431
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
37431
37432
  headingClassName,
37432
37433
  postsClassName,
37433
37434
  postItemClassName,
@@ -37475,13 +37476,13 @@ function BlogHorizontalTimelineComponent({
37475
37476
  }
37476
37477
  ),
37477
37478
  /* @__PURE__ */ jsxRuntime.jsx(
37478
- Card,
37479
+ "div",
37479
37480
  {
37480
37481
  className: cn(
37481
37482
  "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
37482
37483
  postCardClassName
37483
37484
  ),
37484
- children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
37485
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
37485
37486
  "div",
37486
37487
  {
37487
37488
  className: cn(
@@ -37491,11 +37492,11 @@ function BlogHorizontalTimelineComponent({
37491
37492
  children: [
37492
37493
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-2 md:h-full md:justify-between md:pr-8", children: [
37493
37494
  post.title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-bold tracking-tight line-clamp-2", children: post.title }),
37494
- postDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold tracking-widest text-muted-foreground uppercase md:mt-2 md:text-sm", children: postDate })
37495
+ postDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold tracking-widest uppercase md:mt-2 md:text-sm opacity-75", children: postDate })
37495
37496
  ] }),
37496
37497
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
37497
37498
  postDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
37498
- readText && /* @__PURE__ */ jsxRuntime.jsxs(pressable.Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
37499
+ readText && /* @__PURE__ */ jsxRuntime.jsxs(pressable.Pressable, { href: postHref, asButton: true, variant: "outline", children: [
37499
37500
  readText,
37500
37501
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
37501
37502
  ] })
@@ -37528,7 +37529,8 @@ function BlogHorizontalTimelineComponent({
37528
37529
  className: cn(className),
37529
37530
  pattern,
37530
37531
  patternOpacity,
37531
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
37532
+ containerClassName,
37533
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
37532
37534
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
37533
37535
  "h1",
37534
37536
  {
@@ -37538,7 +37540,7 @@ function BlogHorizontalTimelineComponent({
37538
37540
  ),
37539
37541
  children: heading
37540
37542
  }
37541
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
37543
+ ) : heading),
37542
37544
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
37543
37545
  ] })
37544
37546
  }
package/dist/registry.js CHANGED
@@ -20515,7 +20515,7 @@ function CarouselGalleryThumbnails({
20515
20515
  "button",
20516
20516
  {
20517
20517
  className: cn(
20518
- "relative h-20 w-20 shrink-0 transition-all duration-200",
20518
+ "relative h-20 w-20 shrink-0 transition-all duration-200 rounded-lg",
20519
20519
  index === currentIndex ? "ring-2 ring-primary ring-offset-2" : "opacity-70 hover:opacity-100",
20520
20520
  thumbnailClassName
20521
20521
  ),
@@ -20769,7 +20769,7 @@ function CarouselImageHero({
20769
20769
  indicatorsClassName,
20770
20770
  optixFlowConfig,
20771
20771
  background,
20772
- spacing = "py-0 md:py-32",
20772
+ spacing = "hero",
20773
20773
  pattern,
20774
20774
  patternOpacity
20775
20775
  }) {
@@ -21486,7 +21486,7 @@ function CarouselProductFeatureShowcase({
21486
21486
  indicatorsClassName,
21487
21487
  optixFlowConfig,
21488
21488
  background,
21489
- spacing,
21489
+ spacing = "hero",
21490
21490
  pattern,
21491
21491
  patternOpacity
21492
21492
  }) {
@@ -37027,8 +37027,9 @@ function BlogFilteredResultsComponent({
37027
37027
  loadMoreClassName,
37028
37028
  optixFlowConfig,
37029
37029
  background,
37030
- spacing = "pt-6 pb-16 lg:pt-12 lg:pb-32",
37030
+ spacing = "hero",
37031
37031
  pattern,
37032
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
37032
37033
  patternOpacity
37033
37034
  }) {
37034
37035
  const effectivePostsPerPage = postsPerPage || POSTS_PER_PAGE;
@@ -37162,14 +37163,14 @@ function BlogFilteredResultsComponent({
37162
37163
  className: cn(className),
37163
37164
  pattern,
37164
37165
  patternOpacity,
37166
+ containerClassName,
37165
37167
  children: [
37166
37168
  /* @__PURE__ */ jsx(
37167
37169
  "div",
37168
37170
  {
37169
37171
  className: cn(
37170
37172
  "bg-size-[3.125rem_3.125rem] bg-repeat rounded-2xl shadow-xl",
37171
- getNestedCardBg(background),
37172
- getNestedCardTextColor(background),
37173
+ "bg-muted text-muted-foreground",
37173
37174
  heroClassName
37174
37175
  ),
37175
37176
  children: /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col items-start justify-start gap-6 md:gap-16 p-6 md:p-20 lg:flex-row lg:items-center lg:justify-between", children: [
@@ -37387,7 +37388,7 @@ function BlogHorizontalTimelineComponent({
37387
37388
  postsSlot,
37388
37389
  readText,
37389
37390
  className,
37390
- containerClassName,
37391
+ containerClassName = "mx-auto w-full px-4 lg:px-8 max-w-full md:max-w-7xl relative z-10 flex justify-center",
37391
37392
  headingClassName,
37392
37393
  postsClassName,
37393
37394
  postItemClassName,
@@ -37435,13 +37436,13 @@ function BlogHorizontalTimelineComponent({
37435
37436
  }
37436
37437
  ),
37437
37438
  /* @__PURE__ */ jsx(
37438
- Card,
37439
+ "div",
37439
37440
  {
37440
37441
  className: cn(
37441
37442
  "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
37442
37443
  postCardClassName
37443
37444
  ),
37444
- children: /* @__PURE__ */ jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs(
37445
+ children: /* @__PURE__ */ jsx("div", { className: "p-0", children: /* @__PURE__ */ jsxs(
37445
37446
  "div",
37446
37447
  {
37447
37448
  className: cn(
@@ -37451,11 +37452,11 @@ function BlogHorizontalTimelineComponent({
37451
37452
  children: [
37452
37453
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-2 md:h-full md:justify-between md:pr-8", children: [
37453
37454
  post.title && /* @__PURE__ */ jsx("h2", { className: "text-lg font-bold tracking-tight line-clamp-2", children: post.title }),
37454
- postDate && /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold tracking-widest text-muted-foreground uppercase md:mt-2 md:text-sm", children: postDate })
37455
+ postDate && /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold tracking-widest uppercase md:mt-2 md:text-sm opacity-75", children: postDate })
37455
37456
  ] }),
37456
37457
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
37457
37458
  postDescription && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
37458
- readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
37459
+ readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "outline", children: [
37459
37460
  readText,
37460
37461
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
37461
37462
  ] })
@@ -37488,7 +37489,8 @@ function BlogHorizontalTimelineComponent({
37488
37489
  className: cn(className),
37489
37490
  pattern,
37490
37491
  patternOpacity,
37491
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
37492
+ containerClassName,
37493
+ children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
37492
37494
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
37493
37495
  "h1",
37494
37496
  {
@@ -37498,7 +37500,7 @@ function BlogHorizontalTimelineComponent({
37498
37500
  ),
37499
37501
  children: heading
37500
37502
  }
37501
- ) : /* @__PURE__ */ jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
37503
+ ) : heading),
37502
37504
  /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
37503
37505
  ] })
37504
37506
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "3.1.8",
3
+ "version": "3.2.0",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",