@opensite/ui 2.4.8 → 2.4.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.
Files changed (91) hide show
  1. package/dist/about-developer-profile.cjs +1 -1
  2. package/dist/about-developer-profile.js +1 -1
  3. package/dist/about-stats-sidebar.cjs +5 -3
  4. package/dist/about-stats-sidebar.js +5 -3
  5. package/dist/about-story-hero.cjs +119 -105
  6. package/dist/about-story-hero.js +101 -102
  7. package/dist/components.cjs +1 -1
  8. package/dist/components.js +1 -1
  9. package/dist/cta-accent-background.cjs +8 -69
  10. package/dist/cta-accent-background.d.cts +1 -1
  11. package/dist/cta-accent-background.d.ts +1 -1
  12. package/dist/cta-accent-background.js +8 -69
  13. package/dist/cta-app-download-newsletter.cjs +4 -81
  14. package/dist/cta-app-download-newsletter.js +4 -81
  15. package/dist/faq-badge-support.cjs +97 -84
  16. package/dist/faq-badge-support.d.cts +1 -1
  17. package/dist/faq-badge-support.d.ts +1 -1
  18. package/dist/faq-badge-support.js +97 -83
  19. package/dist/faq-sidebar-navigation.cjs +106 -72
  20. package/dist/faq-sidebar-navigation.d.cts +1 -1
  21. package/dist/faq-sidebar-navigation.d.ts +1 -1
  22. package/dist/faq-sidebar-navigation.js +104 -70
  23. package/dist/faq-simple-accordion.cjs +83 -50
  24. package/dist/faq-simple-accordion.d.cts +13 -1
  25. package/dist/faq-simple-accordion.d.ts +13 -1
  26. package/dist/faq-simple-accordion.js +82 -46
  27. package/dist/feature-accordion-image.cjs +115 -85
  28. package/dist/feature-accordion-image.js +113 -83
  29. package/dist/feature-animated-carousel.cjs +2 -2
  30. package/dist/feature-animated-carousel.js +2 -2
  31. package/dist/feature-image-cards-three-column.cjs +2 -2
  32. package/dist/feature-image-cards-three-column.js +2 -2
  33. package/dist/footer-accordion-social.cjs +1 -1
  34. package/dist/footer-accordion-social.js +1 -1
  35. package/dist/footer-animated-social.cjs +1 -1
  36. package/dist/footer-animated-social.js +1 -1
  37. package/dist/footer-brand-description.cjs +1 -1
  38. package/dist/footer-brand-description.js +1 -1
  39. package/dist/footer-brand-links-contact.cjs +1 -1
  40. package/dist/footer-brand-links-contact.js +1 -1
  41. package/dist/footer-comprehensive-links.cjs +1 -1
  42. package/dist/footer-comprehensive-links.js +1 -1
  43. package/dist/footer-contact-card.cjs +1 -1
  44. package/dist/footer-contact-card.js +1 -1
  45. package/dist/footer-cta-banner.cjs +1 -1
  46. package/dist/footer-cta-banner.js +1 -1
  47. package/dist/footer-cta-social.cjs +1 -1
  48. package/dist/footer-cta-social.js +1 -1
  49. package/dist/footer-info-cards-accordion.cjs +1 -1
  50. package/dist/footer-info-cards-accordion.js +1 -1
  51. package/dist/footer-nav-social.cjs +1 -1
  52. package/dist/footer-nav-social.js +1 -1
  53. package/dist/footer-newsletter-contact.cjs +1 -1
  54. package/dist/footer-newsletter-contact.js +1 -1
  55. package/dist/footer-newsletter-grid.cjs +1 -1
  56. package/dist/footer-newsletter-grid.js +1 -1
  57. package/dist/footer-newsletter-minimal.cjs +1 -1
  58. package/dist/footer-newsletter-minimal.js +1 -1
  59. package/dist/footer-social-apps.cjs +1 -1
  60. package/dist/footer-social-apps.js +1 -1
  61. package/dist/footer-social-newsletter.cjs +1 -1
  62. package/dist/footer-social-newsletter.js +1 -1
  63. package/dist/footer-split-image-accordion.cjs +1 -1
  64. package/dist/footer-split-image-accordion.js +1 -1
  65. package/dist/hero-coming-soon-countdown.cjs +1 -1
  66. package/dist/hero-coming-soon-countdown.js +1 -1
  67. package/dist/hero-product-showcase-floating.cjs +120 -90
  68. package/dist/hero-product-showcase-floating.d.cts +5 -1
  69. package/dist/hero-product-showcase-floating.d.ts +5 -1
  70. package/dist/hero-product-showcase-floating.js +120 -90
  71. package/dist/index.cjs +1 -1
  72. package/dist/index.js +1 -1
  73. package/dist/link-page-bento-layout.cjs +1 -1
  74. package/dist/link-page-bento-layout.js +1 -1
  75. package/dist/link-page-grid-cards.cjs +1 -1
  76. package/dist/link-page-grid-cards.js +1 -1
  77. package/dist/link-page-minimal-profile.cjs +1 -1
  78. package/dist/link-page-minimal-profile.js +1 -1
  79. package/dist/link-page-newsletter-social.cjs +1 -1
  80. package/dist/link-page-newsletter-social.js +1 -1
  81. package/dist/link-tree-block.cjs +1 -1
  82. package/dist/link-tree-block.js +1 -1
  83. package/dist/navbar-fullscreen-menu.cjs +1 -1
  84. package/dist/navbar-fullscreen-menu.js +1 -1
  85. package/dist/navbar-transparent-overlay.cjs +1 -1
  86. package/dist/navbar-transparent-overlay.js +1 -1
  87. package/dist/registry.cjs +396 -289
  88. package/dist/registry.js +396 -289
  89. package/dist/social-link-icon.cjs +1 -1
  90. package/dist/social-link-icon.js +1 -1
  91. package/package.json +2 -2
@@ -874,7 +874,7 @@ var platformIconMap = {
874
874
  yelp: "cib/yelp",
875
875
  spotify: "cib/spotify",
876
876
  apple: "cib/apple",
877
- x: "line-md/twitter-x-alt",
877
+ x: "prime/twitter",
878
878
  github: "cib/github",
879
879
  snapchat: "cib/snapchat",
880
880
  discord: "cib/discord",
@@ -853,7 +853,7 @@ var platformIconMap = {
853
853
  yelp: "cib/yelp",
854
854
  spotify: "cib/spotify",
855
855
  apple: "cib/apple",
856
- x: "line-md/twitter-x-alt",
856
+ x: "prime/twitter",
857
857
  github: "cib/github",
858
858
  snapchat: "cib/snapchat",
859
859
  discord: "cib/discord",
@@ -447,7 +447,9 @@ function AboutStatsSidebar({
447
447
  "div",
448
448
  {
449
449
  className: cn(
450
- "mt-8 space-y-6 p-6 bg-card text-card-foreground rounded-xl shadow-xl",
450
+ "bg-card text-card-foreground",
451
+ "mt-4 md:mt-6 space-y-6 p-6",
452
+ "rounded-xl shadow-xl",
451
453
  featuresClassName
452
454
  ),
453
455
  children: features.map((feature, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
@@ -495,8 +497,8 @@ function AboutStatsSidebar({
495
497
  ),
496
498
  children: title
497
499
  }
498
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
499
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
500
+ ) : title),
501
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description)
500
502
  ]
501
503
  }
502
504
  ),
@@ -441,7 +441,9 @@ function AboutStatsSidebar({
441
441
  "div",
442
442
  {
443
443
  className: cn(
444
- "mt-8 space-y-6 p-6 bg-card text-card-foreground rounded-xl shadow-xl",
444
+ "bg-card text-card-foreground",
445
+ "mt-4 md:mt-6 space-y-6 p-6",
446
+ "rounded-xl shadow-xl",
445
447
  featuresClassName
446
448
  ),
447
449
  children: features.map((feature, idx) => /* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
@@ -489,8 +491,8 @@ function AboutStatsSidebar({
489
491
  ),
490
492
  children: title
491
493
  }
492
- ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
493
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
494
+ ) : title),
495
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description)
494
496
  ]
495
497
  }
496
498
  ),
@@ -1,80 +1,36 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React4 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var img = require('@page-speed/img');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
10
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
11
27
 
12
- var React__default = /*#__PURE__*/_interopDefault(React);
28
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
13
29
 
14
30
  // components/blocks/about/about-story-hero.tsx
15
31
  function cn(...inputs) {
16
32
  return tailwindMerge.twMerge(clsx.clsx(inputs));
17
33
  }
18
- function getNestedCardBg(parentBg, variant = "muted", options) {
19
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
20
- if (isDark) {
21
- switch (variant) {
22
- case "muted":
23
- return "bg-background";
24
- case "card":
25
- return "bg-card";
26
- case "accent":
27
- return "bg-accent";
28
- case "subtle":
29
- return "bg-background/50";
30
- }
31
- } else {
32
- switch (variant) {
33
- case "muted":
34
- return "bg-muted";
35
- case "card":
36
- return "bg-card";
37
- case "accent":
38
- return "bg-accent";
39
- case "subtle":
40
- return "bg-muted/50";
41
- }
42
- }
43
- }
44
- function getNestedCardTextColor(parentBg, options) {
45
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
46
- return isDark ? "text-foreground" : "";
47
- }
48
- function getTextColor(parentBg, variant = "default", options) {
49
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
50
- if (isDark) {
51
- switch (variant) {
52
- case "default":
53
- return "text-foreground";
54
- case "muted":
55
- return "text-foreground/80";
56
- case "subtle":
57
- return "text-foreground/60";
58
- case "accent":
59
- return "text-accent-foreground";
60
- }
61
- } else {
62
- switch (variant) {
63
- case "default":
64
- return "text-foreground";
65
- case "muted":
66
- return "text-muted-foreground";
67
- case "subtle":
68
- return "text-muted-foreground/70";
69
- case "accent":
70
- return "text-primary";
71
- }
72
- }
73
- }
74
- function getAccentColor(parentBg, options) {
75
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
76
- return isDark ? "text-accent-foreground" : "text-primary";
77
- }
78
34
  var maxWidthStyles = {
79
35
  sm: "max-w-screen-sm",
80
36
  md: "max-w-screen-md",
@@ -84,7 +40,7 @@ var maxWidthStyles = {
84
40
  "4xl": "max-w-[1536px]",
85
41
  full: "max-w-full"
86
42
  };
87
- var Container = React__default.default.forwardRef(
43
+ var Container = React4__namespace.default.forwardRef(
88
44
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
89
45
  const Component = as;
90
46
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -389,7 +345,7 @@ var spacingStyles = {
389
345
  };
390
346
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
391
347
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
392
- var Section = React__default.default.forwardRef(
348
+ var Section = React4__namespace.default.forwardRef(
393
349
  ({
394
350
  id,
395
351
  title,
@@ -450,6 +406,38 @@ var Section = React__default.default.forwardRef(
450
406
  }
451
407
  );
452
408
  Section.displayName = "Section";
409
+ function TextInner({ as, className, children, ...props }, ref) {
410
+ const Component = as || "span";
411
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cn(className), ...props, children });
412
+ }
413
+ var Text = React4__namespace.forwardRef(TextInner);
414
+ Text.displayName = "Text";
415
+ function isContentTextItem(item) {
416
+ return item !== null && typeof item === "object" && !React4__namespace.isValidElement(item) && "_type" in item && item._type === "text";
417
+ }
418
+ var ContentGroup = React4__namespace.forwardRef(
419
+ ({ items, className, children, ...props }, ref) => {
420
+ const hasContent = items && items.length > 0;
421
+ if (!hasContent) {
422
+ return null;
423
+ }
424
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn(className), ...props, children: [
425
+ items.map((item, idx) => {
426
+ if (isContentTextItem(item)) {
427
+ const { _type, ...textProps } = item;
428
+ return /* @__PURE__ */ jsxRuntime.jsx(Text, { ...textProps }, idx);
429
+ }
430
+ const reactNode = item;
431
+ if (React4__namespace.isValidElement(reactNode)) {
432
+ return React4__namespace.cloneElement(reactNode, { key: reactNode.key ?? idx });
433
+ }
434
+ return /* @__PURE__ */ jsxRuntime.jsx(React4__namespace.Fragment, { children: reactNode }, idx);
435
+ }),
436
+ children
437
+ ] });
438
+ }
439
+ );
440
+ ContentGroup.displayName = "ContentGroup";
453
441
  function AboutStoryHero({
454
442
  title,
455
443
  subtitle,
@@ -471,25 +459,75 @@ function AboutStoryHero({
471
459
  pattern,
472
460
  patternOpacity
473
461
  }) {
474
- const teamInfoContent = React.useMemo(() => {
462
+ const teamInfoContent = React4.useMemo(() => {
475
463
  if (teamInfoSlot) return teamInfoSlot;
476
464
  if (!teamInfo) return null;
477
465
  return /* @__PURE__ */ jsxRuntime.jsxs(
478
466
  "div",
479
467
  {
480
468
  className: cn(
481
- "mt-6 md:mt-8 rounded-2xl p-6",
482
- getNestedCardBg(background),
483
- getNestedCardTextColor(background),
469
+ "rounded-2xl bg-muted text-muted-foreground",
470
+ "flex flex-col items-start gap-2",
484
471
  teamInfoClassName
485
472
  ),
486
473
  children: [
487
- typeof teamInfo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-2xl font-bold", children: teamInfo.title }) : teamInfo.title,
488
- typeof teamInfo.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1", getTextColor(background, "muted")), children: teamInfo.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: teamInfo.description })
474
+ teamInfo.title ? typeof teamInfo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl md:text-2xl font-bold", children: teamInfo.title }) : teamInfo.title : null,
475
+ teamInfo.description ? typeof teamInfo.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg", children: teamInfo.description }) : teamInfo.description : null
489
476
  ]
490
477
  }
491
478
  );
492
479
  }, [teamInfoSlot, teamInfo, teamInfoClassName, background]);
480
+ const contentItems = React4.useMemo(() => {
481
+ const items = [];
482
+ if (subtitle) {
483
+ if (typeof subtitle === "string") {
484
+ items.push({
485
+ _type: "text",
486
+ as: "p",
487
+ className: cn(
488
+ "text-sm font-semibold",
489
+ "uppercase tracking-wider opacity-65",
490
+ subtitleClassName
491
+ ),
492
+ children: subtitle
493
+ });
494
+ } else {
495
+ items.push(subtitle);
496
+ }
497
+ }
498
+ if (title) {
499
+ if (typeof title === "string") {
500
+ items.push({
501
+ _type: "text",
502
+ as: "h1",
503
+ className: cn("text-4xl font-bold tracking-tight md:text-5xl", title),
504
+ children: title
505
+ });
506
+ } else {
507
+ items.push(title);
508
+ }
509
+ }
510
+ if (content) {
511
+ if (typeof content === "string") {
512
+ items.push({
513
+ _type: "text",
514
+ as: "p",
515
+ className: cn("text-lg whitespace-pre-line", bodyClassName),
516
+ children: content
517
+ });
518
+ } else {
519
+ items.push(content);
520
+ }
521
+ }
522
+ return items;
523
+ }, [
524
+ subtitle,
525
+ subtitleClassName,
526
+ title,
527
+ titleClassName,
528
+ content,
529
+ bodyClassName
530
+ ]);
493
531
  return /* @__PURE__ */ jsxRuntime.jsx(
494
532
  Section,
495
533
  {
@@ -497,49 +535,24 @@ function AboutStoryHero({
497
535
  spacing,
498
536
  pattern,
499
537
  patternOpacity,
500
- className: cn(className),
538
+ className,
501
539
  containerClassName,
502
540
  children: /* @__PURE__ */ jsxRuntime.jsxs(
503
541
  "div",
504
542
  {
505
543
  className: cn(
506
- "grid gap:6 md:gap-12 lg:grid-cols-2 lg:items-center",
544
+ "grid gap-6 md:gap-12 grid-cols-1 lg:grid-cols-2 items-center",
507
545
  contentClassName
508
546
  ),
509
547
  children: [
510
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
511
- subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
512
- "p",
513
- {
514
- className: cn(
515
- "text-sm font-semibold uppercase tracking-wider",
516
- getAccentColor(background),
517
- subtitleClassName
518
- ),
519
- children: subtitle
520
- }
521
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: subtitleClassName, children: subtitle })),
522
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
523
- "h1",
524
- {
525
- className: cn(
526
- "mt-4 text-4xl font-bold tracking-tight md:text-5xl",
527
- titleClassName
528
- ),
529
- children: title
530
- }
531
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
532
- content && (typeof content === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
533
- "p",
548
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6 md:space-y-8", children: [
549
+ /* @__PURE__ */ jsxRuntime.jsx(
550
+ ContentGroup,
534
551
  {
535
- className: cn(
536
- "mt-6 text-lg whitespace-pre-line",
537
- getTextColor(background, "muted"),
538
- bodyClassName
539
- ),
540
- children: content
552
+ items: contentItems,
553
+ className: "space-y-4 md:space-y-6"
541
554
  }
542
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6", bodyClassName), children: content })),
555
+ ),
543
556
  (teamInfoSlot || teamInfo) && teamInfoContent
544
557
  ] }),
545
558
  heroImage && /* @__PURE__ */ jsxRuntime.jsx(
@@ -548,7 +561,8 @@ function AboutStoryHero({
548
561
  src: heroImage.src,
549
562
  alt: heroImage.alt,
550
563
  className: cn(
551
- "mt-6 md:mt-0 w-full h-auto rounded-2xl object-cover sm:h-full",
564
+ "w-full h-auto sm:h-full",
565
+ "rounded-2xl object-cover shadow-xl",
552
566
  imageClassName
553
567
  ),
554
568
  optixFlowConfig
@@ -1,5 +1,6 @@
1
1
  "use client";
2
- import React, { useMemo } from 'react';
2
+ import * as React4 from 'react';
3
+ import React4__default, { useMemo } from 'react';
3
4
  import { clsx } from 'clsx';
4
5
  import { twMerge } from 'tailwind-merge';
5
6
  import { Img } from '@page-speed/img';
@@ -9,66 +10,6 @@ import { jsx, jsxs } from 'react/jsx-runtime';
9
10
  function cn(...inputs) {
10
11
  return twMerge(clsx(inputs));
11
12
  }
12
- function getNestedCardBg(parentBg, variant = "muted", options) {
13
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
14
- if (isDark) {
15
- switch (variant) {
16
- case "muted":
17
- return "bg-background";
18
- case "card":
19
- return "bg-card";
20
- case "accent":
21
- return "bg-accent";
22
- case "subtle":
23
- return "bg-background/50";
24
- }
25
- } else {
26
- switch (variant) {
27
- case "muted":
28
- return "bg-muted";
29
- case "card":
30
- return "bg-card";
31
- case "accent":
32
- return "bg-accent";
33
- case "subtle":
34
- return "bg-muted/50";
35
- }
36
- }
37
- }
38
- function getNestedCardTextColor(parentBg, options) {
39
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
40
- return isDark ? "text-foreground" : "";
41
- }
42
- function getTextColor(parentBg, variant = "default", options) {
43
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
44
- if (isDark) {
45
- switch (variant) {
46
- case "default":
47
- return "text-foreground";
48
- case "muted":
49
- return "text-foreground/80";
50
- case "subtle":
51
- return "text-foreground/60";
52
- case "accent":
53
- return "text-accent-foreground";
54
- }
55
- } else {
56
- switch (variant) {
57
- case "default":
58
- return "text-foreground";
59
- case "muted":
60
- return "text-muted-foreground";
61
- case "subtle":
62
- return "text-muted-foreground/70";
63
- case "accent":
64
- return "text-primary";
65
- }
66
- }
67
- }
68
- function getAccentColor(parentBg, options) {
69
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
70
- return isDark ? "text-accent-foreground" : "text-primary";
71
- }
72
13
  var maxWidthStyles = {
73
14
  sm: "max-w-screen-sm",
74
15
  md: "max-w-screen-md",
@@ -78,7 +19,7 @@ var maxWidthStyles = {
78
19
  "4xl": "max-w-[1536px]",
79
20
  full: "max-w-full"
80
21
  };
81
- var Container = React.forwardRef(
22
+ var Container = React4__default.forwardRef(
82
23
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
83
24
  const Component = as;
84
25
  return /* @__PURE__ */ jsx(
@@ -383,7 +324,7 @@ var spacingStyles = {
383
324
  };
384
325
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
385
326
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
386
- var Section = React.forwardRef(
327
+ var Section = React4__default.forwardRef(
387
328
  ({
388
329
  id,
389
330
  title,
@@ -444,6 +385,38 @@ var Section = React.forwardRef(
444
385
  }
445
386
  );
446
387
  Section.displayName = "Section";
388
+ function TextInner({ as, className, children, ...props }, ref) {
389
+ const Component = as || "span";
390
+ return /* @__PURE__ */ jsx(Component, { ref, className: cn(className), ...props, children });
391
+ }
392
+ var Text = React4.forwardRef(TextInner);
393
+ Text.displayName = "Text";
394
+ function isContentTextItem(item) {
395
+ return item !== null && typeof item === "object" && !React4.isValidElement(item) && "_type" in item && item._type === "text";
396
+ }
397
+ var ContentGroup = React4.forwardRef(
398
+ ({ items, className, children, ...props }, ref) => {
399
+ const hasContent = items && items.length > 0;
400
+ if (!hasContent) {
401
+ return null;
402
+ }
403
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn(className), ...props, children: [
404
+ items.map((item, idx) => {
405
+ if (isContentTextItem(item)) {
406
+ const { _type, ...textProps } = item;
407
+ return /* @__PURE__ */ jsx(Text, { ...textProps }, idx);
408
+ }
409
+ const reactNode = item;
410
+ if (React4.isValidElement(reactNode)) {
411
+ return React4.cloneElement(reactNode, { key: reactNode.key ?? idx });
412
+ }
413
+ return /* @__PURE__ */ jsx(React4.Fragment, { children: reactNode }, idx);
414
+ }),
415
+ children
416
+ ] });
417
+ }
418
+ );
419
+ ContentGroup.displayName = "ContentGroup";
447
420
  function AboutStoryHero({
448
421
  title,
449
422
  subtitle,
@@ -472,18 +445,68 @@ function AboutStoryHero({
472
445
  "div",
473
446
  {
474
447
  className: cn(
475
- "mt-6 md:mt-8 rounded-2xl p-6",
476
- getNestedCardBg(background),
477
- getNestedCardTextColor(background),
448
+ "rounded-2xl bg-muted text-muted-foreground",
449
+ "flex flex-col items-start gap-2",
478
450
  teamInfoClassName
479
451
  ),
480
452
  children: [
481
- typeof teamInfo.title === "string" ? /* @__PURE__ */ jsx("p", { className: "text-2xl font-bold", children: teamInfo.title }) : teamInfo.title,
482
- typeof teamInfo.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1", getTextColor(background, "muted")), children: teamInfo.description }) : /* @__PURE__ */ jsx("div", { className: "mt-1", children: teamInfo.description })
453
+ teamInfo.title ? typeof teamInfo.title === "string" ? /* @__PURE__ */ jsx("h2", { className: "text-xl md:text-2xl font-bold", children: teamInfo.title }) : teamInfo.title : null,
454
+ teamInfo.description ? typeof teamInfo.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg", children: teamInfo.description }) : teamInfo.description : null
483
455
  ]
484
456
  }
485
457
  );
486
458
  }, [teamInfoSlot, teamInfo, teamInfoClassName, background]);
459
+ const contentItems = useMemo(() => {
460
+ const items = [];
461
+ if (subtitle) {
462
+ if (typeof subtitle === "string") {
463
+ items.push({
464
+ _type: "text",
465
+ as: "p",
466
+ className: cn(
467
+ "text-sm font-semibold",
468
+ "uppercase tracking-wider opacity-65",
469
+ subtitleClassName
470
+ ),
471
+ children: subtitle
472
+ });
473
+ } else {
474
+ items.push(subtitle);
475
+ }
476
+ }
477
+ if (title) {
478
+ if (typeof title === "string") {
479
+ items.push({
480
+ _type: "text",
481
+ as: "h1",
482
+ className: cn("text-4xl font-bold tracking-tight md:text-5xl", title),
483
+ children: title
484
+ });
485
+ } else {
486
+ items.push(title);
487
+ }
488
+ }
489
+ if (content) {
490
+ if (typeof content === "string") {
491
+ items.push({
492
+ _type: "text",
493
+ as: "p",
494
+ className: cn("text-lg whitespace-pre-line", bodyClassName),
495
+ children: content
496
+ });
497
+ } else {
498
+ items.push(content);
499
+ }
500
+ }
501
+ return items;
502
+ }, [
503
+ subtitle,
504
+ subtitleClassName,
505
+ title,
506
+ titleClassName,
507
+ content,
508
+ bodyClassName
509
+ ]);
487
510
  return /* @__PURE__ */ jsx(
488
511
  Section,
489
512
  {
@@ -491,49 +514,24 @@ function AboutStoryHero({
491
514
  spacing,
492
515
  pattern,
493
516
  patternOpacity,
494
- className: cn(className),
517
+ className,
495
518
  containerClassName,
496
519
  children: /* @__PURE__ */ jsxs(
497
520
  "div",
498
521
  {
499
522
  className: cn(
500
- "grid gap:6 md:gap-12 lg:grid-cols-2 lg:items-center",
523
+ "grid gap-6 md:gap-12 grid-cols-1 lg:grid-cols-2 items-center",
501
524
  contentClassName
502
525
  ),
503
526
  children: [
504
- /* @__PURE__ */ jsxs("div", { children: [
505
- subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsx(
506
- "p",
507
- {
508
- className: cn(
509
- "text-sm font-semibold uppercase tracking-wider",
510
- getAccentColor(background),
511
- subtitleClassName
512
- ),
513
- children: subtitle
514
- }
515
- ) : /* @__PURE__ */ jsx("div", { className: subtitleClassName, children: subtitle })),
516
- title && (typeof title === "string" ? /* @__PURE__ */ jsx(
517
- "h1",
518
- {
519
- className: cn(
520
- "mt-4 text-4xl font-bold tracking-tight md:text-5xl",
521
- titleClassName
522
- ),
523
- children: title
524
- }
525
- ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", titleClassName), children: title })),
526
- content && (typeof content === "string" ? /* @__PURE__ */ jsx(
527
- "p",
527
+ /* @__PURE__ */ jsxs("div", { className: "space-y-6 md:space-y-8", children: [
528
+ /* @__PURE__ */ jsx(
529
+ ContentGroup,
528
530
  {
529
- className: cn(
530
- "mt-6 text-lg whitespace-pre-line",
531
- getTextColor(background, "muted"),
532
- bodyClassName
533
- ),
534
- children: content
531
+ items: contentItems,
532
+ className: "space-y-4 md:space-y-6"
535
533
  }
536
- ) : /* @__PURE__ */ jsx("div", { className: cn("mt-6", bodyClassName), children: content })),
534
+ ),
537
535
  (teamInfoSlot || teamInfo) && teamInfoContent
538
536
  ] }),
539
537
  heroImage && /* @__PURE__ */ jsx(
@@ -542,7 +540,8 @@ function AboutStoryHero({
542
540
  src: heroImage.src,
543
541
  alt: heroImage.alt,
544
542
  className: cn(
545
- "mt-6 md:mt-0 w-full h-auto rounded-2xl object-cover sm:h-full",
543
+ "w-full h-auto sm:h-full",
544
+ "rounded-2xl object-cover shadow-xl",
546
545
  imageClassName
547
546
  ),
548
547
  optixFlowConfig
@@ -1554,7 +1554,7 @@ var platformIconMap = {
1554
1554
  yelp: "cib/yelp",
1555
1555
  spotify: "cib/spotify",
1556
1556
  apple: "cib/apple",
1557
- x: "line-md/twitter-x-alt",
1557
+ x: "prime/twitter",
1558
1558
  github: "cib/github",
1559
1559
  snapchat: "cib/snapchat",
1560
1560
  discord: "cib/discord",
@@ -1531,7 +1531,7 @@ var platformIconMap = {
1531
1531
  yelp: "cib/yelp",
1532
1532
  spotify: "cib/spotify",
1533
1533
  apple: "cib/apple",
1534
- x: "line-md/twitter-x-alt",
1534
+ x: "prime/twitter",
1535
1535
  github: "cib/github",
1536
1536
  snapchat: "cib/snapchat",
1537
1537
  discord: "cib/discord",