@opensite/ui 2.6.6 → 2.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/registry.js CHANGED
@@ -21201,7 +21201,7 @@ function CarouselPortfolioHero({
21201
21201
  "div",
21202
21202
  {
21203
21203
  className: cn(
21204
- "ml-auto flex items-center gap-2",
21204
+ "ml-auto flex items-center gap-2 mt-4 md:mt-8",
21205
21205
  navigationClassName
21206
21206
  ),
21207
21207
  children: [
@@ -37580,7 +37580,7 @@ function ArticleHeroProseComponent({
37580
37580
  dateFormat = "MMMM d, yyyy",
37581
37581
  optixFlowConfig,
37582
37582
  background,
37583
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
37583
+ containerClassName,
37584
37584
  spacing = "hero",
37585
37585
  pattern,
37586
37586
  patternOpacity
@@ -37742,7 +37742,7 @@ function ArticleSidebarStickyComponent({
37742
37742
  {
37743
37743
  href: backHref,
37744
37744
  className: cn(
37745
- "inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
37745
+ "inline-flex items-center gap-2 text-sm",
37746
37746
  backLinkClassName
37747
37747
  ),
37748
37748
  children: [
@@ -37771,7 +37771,7 @@ function ArticleSidebarStickyComponent({
37771
37771
  children: authorName
37772
37772
  }
37773
37773
  ) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
37774
- publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
37774
+ publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs", children: publishDate })
37775
37775
  ] })
37776
37776
  ] });
37777
37777
  },
@@ -38114,7 +38114,8 @@ function ArticleBreadcrumbSocialComponent({
38114
38114
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
38115
38115
  spacing = "hero",
38116
38116
  pattern,
38117
- patternOpacity
38117
+ patternOpacity,
38118
+ patternClassName
38118
38119
  }) {
38119
38120
  const [activeSection, setActiveSection] = React30.useState(
38120
38121
  sections?.[0]?.id || ""
@@ -38181,7 +38182,7 @@ function ArticleBreadcrumbSocialComponent({
38181
38182
  ] }),
38182
38183
  /* @__PURE__ */ jsxs("div", { children: [
38183
38184
  author.name && /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
38184
- (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
38185
+ (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
38185
38186
  ] })
38186
38187
  ]
38187
38188
  }
@@ -38225,7 +38226,7 @@ function ArticleBreadcrumbSocialComponent({
38225
38226
  href: `#${section.id}`,
38226
38227
  className: cn(
38227
38228
  "block text-sm transition-colors",
38228
- isActive ? "font-medium" : "text-muted-foreground hover:text-foreground"
38229
+ isActive ? "underline" : ""
38229
38230
  ),
38230
38231
  children: section.title
38231
38232
  },
@@ -38241,7 +38242,8 @@ function ArticleBreadcrumbSocialComponent({
38241
38242
  spacing,
38242
38243
  pattern,
38243
38244
  patternOpacity,
38244
- className,
38245
+ patternClassName,
38246
+ className: cn(pattern && "overflow-visible", className),
38245
38247
  containerClassName,
38246
38248
  children: [
38247
38249
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -38266,7 +38268,6 @@ function ArticleBreadcrumbSocialComponent({
38266
38268
  }
38267
38269
  ) : title),
38268
38270
  authorContent,
38269
- /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
38270
38271
  heroMediaContent,
38271
38272
  children
38272
38273
  ]
@@ -38279,7 +38280,7 @@ function ArticleBreadcrumbSocialComponent({
38279
38280
  "button",
38280
38281
  {
38281
38282
  onClick: scrollToTop,
38282
- className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-opacity hover:opacity-90",
38283
+ className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full shadow-lg transition-opacity hover:opacity-90",
38283
38284
  "aria-label": "Back to top",
38284
38285
  children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
38285
38286
  }
@@ -38321,7 +38322,8 @@ function ArticleCompactTocComponent({
38321
38322
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
38322
38323
  spacing = "hero",
38323
38324
  pattern,
38324
- patternOpacity
38325
+ patternOpacity,
38326
+ patternClassName
38325
38327
  }) {
38326
38328
  const [activeSection, setActiveSection] = React30.useState(
38327
38329
  sections?.[0]?.id || ""
@@ -38362,7 +38364,7 @@ function ArticleCompactTocComponent({
38362
38364
  if (shareSlot) return shareSlot;
38363
38365
  if (!socialLinks || socialLinks.length === 0) return null;
38364
38366
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-2", shareClassName), children: [
38365
- /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "Share:" }),
38367
+ /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Share:" }),
38366
38368
  socialLinks.map((link, index) => /* @__PURE__ */ jsx(
38367
38369
  Pressable,
38368
38370
  {
@@ -38389,7 +38391,7 @@ function ArticleCompactTocComponent({
38389
38391
  href: `#${section.id}`,
38390
38392
  className: cn(
38391
38393
  "block text-sm transition-colors",
38392
- isActive ? "font-medium" : "text-muted-foreground hover:text-foreground"
38394
+ isActive ? "underline" : ""
38393
38395
  ),
38394
38396
  onClick: onLinkClick,
38395
38397
  children: section.title
@@ -38433,23 +38435,14 @@ function ArticleCompactTocComponent({
38433
38435
  )
38434
38436
  ] }) });
38435
38437
  }, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
38438
+ const hasDesktopToc = !tocSlot && sections && sections.length > 0;
38436
38439
  const desktopTocContent = React30.useMemo(() => {
38437
- if (tocSlot) return null;
38438
- if (!sections || sections.length === 0) return null;
38439
- return /* @__PURE__ */ jsx(
38440
- "aside",
38441
- {
38442
- className: cn(
38443
- "hidden lg:block fixed top-24 right-8 w-64 max-h-[calc(100vh-8rem)] overflow-y-auto",
38444
- tocClassName
38445
- ),
38446
- children: /* @__PURE__ */ jsxs("nav", { className: "space-y-2 rounded-lg border bg-background p-4", children: [
38447
- /* @__PURE__ */ jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
38448
- renderTocLinks()
38449
- ] })
38450
- }
38451
- );
38452
- }, [tocSlot, sections, tocClassName, renderTocLinks]);
38440
+ if (!hasDesktopToc) return null;
38441
+ return /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block w-64 shrink-0", tocClassName), children: /* @__PURE__ */ jsxs("nav", { className: "sticky top-24 max-h-[calc(100vh-8rem)] overflow-y-auto space-y-2 rounded-lg border p-4", children: [
38442
+ /* @__PURE__ */ jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
38443
+ renderTocLinks()
38444
+ ] }) });
38445
+ }, [hasDesktopToc, tocClassName, renderTocLinks]);
38453
38446
  const heroMediaContent = React30.useMemo(() => {
38454
38447
  if (heroMediaSlot) return heroMediaSlot;
38455
38448
  if (!heroImageSrc) return null;
@@ -38472,20 +38465,20 @@ function ArticleCompactTocComponent({
38472
38465
  heroImageClassName,
38473
38466
  optixFlowConfig
38474
38467
  ]);
38475
- return /* @__PURE__ */ jsxs(
38468
+ return /* @__PURE__ */ jsx(
38476
38469
  Section,
38477
38470
  {
38478
38471
  background,
38479
38472
  spacing,
38480
38473
  pattern,
38481
38474
  patternOpacity,
38482
- className: cn("relative", className),
38475
+ patternClassName,
38476
+ className: cn(pattern && "overflow-visible", className),
38483
38477
  containerClassName,
38484
- children: [
38485
- desktopTocContent,
38486
- /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
38487
- breadcrumbsContent,
38488
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
38478
+ children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
38479
+ breadcrumbsContent,
38480
+ /* @__PURE__ */ jsxs("div", { className: cn("relative", hasDesktopToc && "lg:flex lg:gap-8"), children: [
38481
+ /* @__PURE__ */ jsxs("div", { className: cn(hasDesktopToc && "min-w-0 lg:flex-1"), children: [
38489
38482
  title && (typeof title === "string" ? /* @__PURE__ */ jsx(
38490
38483
  "h1",
38491
38484
  {
@@ -38500,11 +38493,11 @@ function ArticleCompactTocComponent({
38500
38493
  "div",
38501
38494
  {
38502
38495
  className: cn(
38503
- "mt-4 flex flex-wrap items-center gap-4 text-sm text-muted-foreground",
38496
+ "mt-4 flex flex-wrap items-center gap-4 text-sm",
38504
38497
  metaClassName
38505
38498
  ),
38506
38499
  children: [
38507
- authorName && (authorHref ? /* @__PURE__ */ jsx(Pressable, { href: authorHref, className: "hover:underline", children: authorName }) : /* @__PURE__ */ jsx("span", { children: authorName })),
38500
+ authorName && /* @__PURE__ */ jsx(Pressable, { href: authorHref, children: authorName }),
38508
38501
  authorName && publishDate && /* @__PURE__ */ jsx(Separator, { orientation: "vertical", className: "h-4" }),
38509
38502
  publishDate && /* @__PURE__ */ jsx("span", { children: publishDate }),
38510
38503
  publishDate && readTime && /* @__PURE__ */ jsx(Separator, { orientation: "vertical", className: "h-4" }),
@@ -38513,7 +38506,6 @@ function ArticleCompactTocComponent({
38513
38506
  }
38514
38507
  ),
38515
38508
  shareContent,
38516
- /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
38517
38509
  tocContent,
38518
38510
  children && /* @__PURE__ */ jsxs(
38519
38511
  "article",
@@ -38528,9 +38520,10 @@ function ArticleCompactTocComponent({
38528
38520
  ]
38529
38521
  }
38530
38522
  )
38531
- ] })
38523
+ ] }),
38524
+ desktopTocContent
38532
38525
  ] })
38533
- ]
38526
+ ] })
38534
38527
  }
38535
38528
  );
38536
38529
  }
@@ -38569,6 +38562,7 @@ function ArticleChaptersAuthorComponent({
38569
38562
  background,
38570
38563
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
38571
38564
  spacing = "hero",
38565
+ patternClassName,
38572
38566
  pattern,
38573
38567
  patternOpacity
38574
38568
  }) {
@@ -38622,16 +38616,14 @@ function ArticleChaptersAuthorComponent({
38622
38616
  href: `#${chapter.id}`,
38623
38617
  className: cn(
38624
38618
  "flex items-center gap-3 text-sm transition-colors",
38625
- isActive ? "font-medium" : ""
38619
+ isActive ? "underline" : ""
38626
38620
  ),
38627
38621
  children: [
38628
38622
  /* @__PURE__ */ jsx(
38629
38623
  "span",
38630
38624
  {
38631
38625
  className: cn(
38632
- "flex h-6 w-6 items-center justify-center rounded-full text-xs",
38633
- getNestedCardBg(background),
38634
- getNestedCardTextColor(background)
38626
+ "flex h-6 w-6 items-center justify-center rounded-full text-xs"
38635
38627
  ),
38636
38628
  children: chapter.number
38637
38629
  }
@@ -38704,10 +38696,10 @@ function ArticleChaptersAuthorComponent({
38704
38696
  ] }),
38705
38697
  /* @__PURE__ */ jsxs("div", { children: [
38706
38698
  /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
38707
- /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: author.role })
38699
+ /* @__PURE__ */ jsx("p", { className: "text-xs", children: author.role })
38708
38700
  ] })
38709
38701
  ] }),
38710
- author.bio && /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm text-muted-foreground", children: author.bio }),
38702
+ author.bio && /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm", children: author.bio }),
38711
38703
  socialLinksContent
38712
38704
  ] });
38713
38705
  }, [authorSlot, author, authorClassName]);
@@ -38742,8 +38734,6 @@ function ArticleChaptersAuthorComponent({
38742
38734
  {
38743
38735
  className: cn(
38744
38736
  "mt-12 rounded-lg border p-6 not-prose",
38745
- getNestedCardBg(background, "subtle"),
38746
- getNestedCardTextColor(background),
38747
38737
  conclusionClassName
38748
38738
  ),
38749
38739
  children: [
@@ -38790,7 +38780,8 @@ function ArticleChaptersAuthorComponent({
38790
38780
  spacing,
38791
38781
  pattern,
38792
38782
  patternOpacity,
38793
- className,
38783
+ patternClassName,
38784
+ className: cn(pattern && "overflow-visible", className),
38794
38785
  containerClassName,
38795
38786
  children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
38796
38787
  breadcrumbsContent,
@@ -38842,7 +38833,6 @@ function ArticleChaptersAuthorComponent({
38842
38833
  }
38843
38834
  function ArticleSplitAnimatedComponent({
38844
38835
  className,
38845
- containerClassName,
38846
38836
  imageContainerClassName,
38847
38837
  contentClassName,
38848
38838
  titleClassName,
@@ -38866,25 +38856,16 @@ function ArticleSplitAnimatedComponent({
38866
38856
  category,
38867
38857
  categoryHref,
38868
38858
  categorySlot,
38869
- ctaActions: ctaActionsProp,
38870
- ctaText,
38871
- ctaHref,
38859
+ ctaActions,
38872
38860
  ctaSlot,
38873
38861
  enableAnimations = true,
38874
38862
  optixFlowConfig,
38875
38863
  background,
38876
- spacing,
38877
38864
  pattern,
38878
- patternOpacity
38865
+ patternOpacity,
38866
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
38867
+ spacing = "lg"
38879
38868
  }) {
38880
- const ctaActions = ctaActionsProp ?? (ctaText ? [
38881
- {
38882
- label: ctaText,
38883
- href: ctaHref || "#",
38884
- variant: "default",
38885
- size: "lg"
38886
- }
38887
- ] : []);
38888
38869
  const MotionWrapper = enableAnimations ? motion.div : "div";
38889
38870
  const categoryContent = React30.useMemo(() => {
38890
38871
  if (categorySlot) return categorySlot;
@@ -38894,7 +38875,7 @@ function ArticleSplitAnimatedComponent({
38894
38875
  {
38895
38876
  href: categoryHref,
38896
38877
  className: cn(
38897
- "inline-block rounded-full bg-primary/20 px-3 py-1 text-sm font-medium text-primary-foreground backdrop-blur-sm transition-colors hover:bg-primary/30",
38878
+ "inline-block rounded-full bg-primary px-3 py-1 text-sm font-medium text-primary-foreground backdrop-blur-sm transition-colors",
38898
38879
  categoryClassName
38899
38880
  ),
38900
38881
  children: category
@@ -38931,7 +38912,7 @@ function ArticleSplitAnimatedComponent({
38931
38912
  children: authorName
38932
38913
  }
38933
38914
  ) : /* @__PURE__ */ jsx("p", { className: "font-medium", children: authorName }),
38934
- authorRole && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: authorRole })
38915
+ authorRole && /* @__PURE__ */ jsx("p", { className: "text-sm ", children: authorRole })
38935
38916
  ] })
38936
38917
  ] });
38937
38918
  }, [
@@ -39016,7 +38997,7 @@ function ArticleSplitAnimatedComponent({
39016
38997
  "div",
39017
38998
  {
39018
38999
  className: cn(
39019
- "flex items-center gap-4 text-sm text-muted-foreground",
39000
+ "flex items-center gap-4 text-sm ",
39020
39001
  metaClassName
39021
39002
  ),
39022
39003
  children: [
@@ -39035,17 +39016,8 @@ function ArticleSplitAnimatedComponent({
39035
39016
  ),
39036
39017
  children: title
39037
39018
  }
39038
- ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", titleClassName), children: title })),
39039
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
39040
- "p",
39041
- {
39042
- className: cn(
39043
- "mt-4 text-lg text-muted-foreground",
39044
- descriptionClassName
39045
- ),
39046
- children: description
39047
- }
39048
- ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
39019
+ ) : title),
39020
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description),
39049
39021
  authorContent,
39050
39022
  ctaContent
39051
39023
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "2.6.6",
3
+ "version": "2.6.7",
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",