dune-react 0.0.9 → 0.0.11

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 (210) hide show
  1. package/dist/components/puck-base/article-card.js +1 -1
  2. package/dist/components/puck-base/button.d.ts +0 -1
  3. package/dist/components/puck-base/button.js +5 -4
  4. package/dist/components/puck-base/card.js +0 -1
  5. package/dist/components/puck-base/content.js +0 -1
  6. package/dist/components/puck-base/core/fields.d.ts +2 -150
  7. package/dist/components/puck-base/core/fields.js +7 -83
  8. package/dist/components/puck-base/core/styles.d.ts +1946 -0
  9. package/dist/components/puck-base/core/styles.js +250 -0
  10. package/dist/components/puck-base/core/with-editable.d.ts +5 -7
  11. package/dist/components/puck-base/core/with-editable.js +69 -64
  12. package/dist/components/puck-base/{action-field.d.ts → fields/action-field.d.ts} +1 -1
  13. package/dist/components/puck-base/{action-field.js → fields/action-field.js} +91 -16
  14. package/dist/components/puck-base/fields/auto-field.d.ts +0 -1
  15. package/dist/components/puck-base/fields/auto-field.js +2 -90
  16. package/dist/components/puck-base/form.js +0 -1
  17. package/dist/components/puck-base/index.d.ts +1 -1
  18. package/dist/components/puck-base/navigation-menu.d.ts +18 -0
  19. package/dist/components/puck-base/navigation-menu.js +202 -0
  20. package/dist/components/puck-block/banner-sections/announcement-banner-1/announcement-banner.d.ts +9 -7
  21. package/dist/components/puck-block/banner-sections/announcement-banner-1/announcement-banner.js +11 -8
  22. package/dist/components/puck-block/banner-sections/announcement-banner-1/index.js +19 -37
  23. package/dist/components/puck-block/banner-sections/marquee-1/index.js +26 -24
  24. package/dist/components/puck-block/banner-sections/marquee-1/marquee.d.ts +9 -9
  25. package/dist/components/puck-block/banner-sections/marquee-1/marquee.js +28 -21
  26. package/dist/components/puck-block/banner-sections/props.d.ts +22 -0
  27. package/dist/components/puck-block/contact-sections/contact-us-1/contact-us.d.ts +13 -4
  28. package/dist/components/puck-block/contact-sections/contact-us-1/contact-us.js +114 -105
  29. package/dist/components/puck-block/contact-sections/contact-us-1/index.js +87 -7
  30. package/dist/components/puck-block/contact-sections/contact-us-2/contact-us-2.d.ts +15 -11
  31. package/dist/components/puck-block/contact-sections/contact-us-2/contact-us-2.js +27 -22
  32. package/dist/components/puck-block/contact-sections/contact-us-2/index.js +54 -52
  33. package/dist/components/puck-block/contact-sections/contact-us-3/contact-us-3.d.ts +15 -12
  34. package/dist/components/puck-block/contact-sections/contact-us-3/contact-us-3.js +29 -24
  35. package/dist/components/puck-block/contact-sections/contact-us-3/index.js +73 -60
  36. package/dist/components/puck-block/contact-sections/props.d.ts +65 -0
  37. package/dist/components/puck-block/cta-sections/banner-cta-1/banner-cta.d.ts +13 -9
  38. package/dist/components/puck-block/cta-sections/banner-cta-1/banner-cta.js +28 -30
  39. package/dist/components/puck-block/cta-sections/banner-cta-1/index.js +23 -25
  40. package/dist/components/puck-block/cta-sections/cta-1/cta.d.ts +6 -4
  41. package/dist/components/puck-block/cta-sections/cta-1/cta.js +5 -7
  42. package/dist/components/puck-block/cta-sections/cta-1/index.js +5 -9
  43. package/dist/components/puck-block/cta-sections/gradient-cta-1/gradient-cta.d.ts +10 -10
  44. package/dist/components/puck-block/cta-sections/gradient-cta-1/gradient-cta.js +48 -22
  45. package/dist/components/puck-block/cta-sections/gradient-cta-1/index.js +36 -29
  46. package/dist/components/puck-block/cta-sections/newsletter-signup-1/index.js +13 -5
  47. package/dist/components/puck-block/cta-sections/newsletter-signup-1/newsletter-signup.d.ts +7 -3
  48. package/dist/components/puck-block/cta-sections/newsletter-signup-1/newsletter-signup.js +35 -32
  49. package/dist/components/puck-block/cta-sections/promo-section-1/index.js +5 -7
  50. package/dist/components/puck-block/cta-sections/promo-section-1/promo-section.d.ts +6 -4
  51. package/dist/components/puck-block/cta-sections/promo-section-1/promo-section.js +93 -79
  52. package/dist/components/puck-block/cta-sections/props.d.ts +47 -0
  53. package/dist/components/puck-block/faq-sections/accordion-1/accordion.d.ts +6 -4
  54. package/dist/components/puck-block/faq-sections/accordion-1/accordion.js +44 -33
  55. package/dist/components/puck-block/faq-sections/accordion-1/index.js +3 -5
  56. package/dist/components/puck-block/faq-sections/faq-1/faq.d.ts +9 -7
  57. package/dist/components/puck-block/faq-sections/faq-1/faq.js +50 -44
  58. package/dist/components/puck-block/faq-sections/faq-1/index.js +12 -14
  59. package/dist/components/puck-block/faq-sections/faq-2/faq-2.d.ts +6 -4
  60. package/dist/components/puck-block/faq-sections/faq-2/faq-2.js +4 -6
  61. package/dist/components/puck-block/faq-sections/faq-2/index.js +4 -5
  62. package/dist/components/puck-block/faq-sections/props.d.ts +30 -0
  63. package/dist/components/puck-block/feature-sections/bento-1/bento.d.ts +6 -4
  64. package/dist/components/puck-block/feature-sections/bento-1/bento.js +2 -4
  65. package/dist/components/puck-block/feature-sections/bento-1/index.js +4 -5
  66. package/dist/components/puck-block/feature-sections/feature-cards-1/feature-cards.d.ts +6 -4
  67. package/dist/components/puck-block/feature-sections/feature-cards-1/feature-cards.js +2 -4
  68. package/dist/components/puck-block/feature-sections/feature-cards-1/index.js +4 -7
  69. package/dist/components/puck-block/feature-sections/feature-showcase-1/feature-showcase.d.ts +6 -4
  70. package/dist/components/puck-block/feature-sections/feature-showcase-1/feature-showcase.js +2 -4
  71. package/dist/components/puck-block/feature-sections/feature-showcase-1/index.js +4 -5
  72. package/dist/components/puck-block/feature-sections/icon-grid-1/icon-grid.d.ts +6 -4
  73. package/dist/components/puck-block/feature-sections/icon-grid-1/icon-grid.js +59 -53
  74. package/dist/components/puck-block/feature-sections/icon-grid-1/index.js +7 -8
  75. package/dist/components/puck-block/feature-sections/product-features-1/index.js +4 -5
  76. package/dist/components/puck-block/feature-sections/product-features-1/product-features.d.ts +6 -4
  77. package/dist/components/puck-block/feature-sections/product-features-1/product-features.js +2 -4
  78. package/dist/components/puck-block/feature-sections/props.d.ts +48 -0
  79. package/dist/components/puck-block/footer-sections/footer-1/footer.d.ts +5 -3
  80. package/dist/components/puck-block/footer-sections/footer-1/footer.js +6 -6
  81. package/dist/components/puck-block/footer-sections/footer-1/index.js +3 -5
  82. package/dist/components/puck-block/footer-sections/props.d.ts +31 -0
  83. package/dist/components/puck-block/gallery-sections/gallery-1/gallery.d.ts +9 -7
  84. package/dist/components/puck-block/gallery-sections/gallery-1/gallery.js +48 -40
  85. package/dist/components/puck-block/gallery-sections/gallery-1/index.js +33 -35
  86. package/dist/components/puck-block/gallery-sections/gallery-2/gallery-2.d.ts +6 -4
  87. package/dist/components/puck-block/gallery-sections/gallery-2/gallery-2.js +19 -13
  88. package/dist/components/puck-block/gallery-sections/gallery-2/index.js +4 -6
  89. package/dist/components/puck-block/gallery-sections/gallery-3/gallery-3.d.ts +7 -5
  90. package/dist/components/puck-block/gallery-sections/gallery-3/gallery-3.js +5 -7
  91. package/dist/components/puck-block/gallery-sections/gallery-3/index.js +13 -14
  92. package/dist/components/puck-block/gallery-sections/props.d.ts +26 -0
  93. package/dist/components/puck-block/header-sections/header-1/header.d.ts +11 -6
  94. package/dist/components/puck-block/header-sections/header-1/header.js +34 -28
  95. package/dist/components/puck-block/header-sections/header-1/index.d.ts +1 -1
  96. package/dist/components/puck-block/header-sections/header-1/index.js +26 -30
  97. package/dist/components/puck-block/header-sections/props.d.ts +41 -0
  98. package/dist/components/puck-block/header-sections/sticky-nav-1/index.js +12 -12
  99. package/dist/components/puck-block/header-sections/sticky-nav-1/sticky-nav.d.ts +8 -6
  100. package/dist/components/puck-block/header-sections/sticky-nav-1/sticky-nav.js +5 -5
  101. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/fullscreen-hero.d.ts +7 -5
  102. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/fullscreen-hero.js +19 -5
  103. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/index.js +17 -17
  104. package/dist/components/puck-block/hero-sections/gradient-hero-1/gradient-hero.d.ts +8 -4
  105. package/dist/components/puck-block/hero-sections/gradient-hero-1/gradient-hero.js +36 -26
  106. package/dist/components/puck-block/hero-sections/gradient-hero-1/index.js +19 -15
  107. package/dist/components/puck-block/hero-sections/grid-hero-1/grid-hero.d.ts +7 -6
  108. package/dist/components/puck-block/hero-sections/grid-hero-1/grid-hero.js +8 -11
  109. package/dist/components/puck-block/hero-sections/grid-hero-1/index.js +43 -11
  110. package/dist/components/puck-block/hero-sections/hero-1/hero.d.ts +6 -4
  111. package/dist/components/puck-block/hero-sections/hero-1/hero.js +6 -8
  112. package/dist/components/puck-block/hero-sections/hero-1/index.js +4 -4
  113. package/dist/components/puck-block/hero-sections/image-hero-1/image-hero.d.ts +9 -7
  114. package/dist/components/puck-block/hero-sections/image-hero-1/image-hero.js +65 -59
  115. package/dist/components/puck-block/hero-sections/image-hero-1/index.js +35 -36
  116. package/dist/components/puck-block/hero-sections/props.d.ts +71 -0
  117. package/dist/components/puck-block/hero-sections/split-hero-1/index.js +6 -5
  118. package/dist/components/puck-block/hero-sections/split-hero-1/split-hero.d.ts +8 -8
  119. package/dist/components/puck-block/hero-sections/split-hero-1/split-hero.js +48 -47
  120. package/dist/components/puck-block/hero-sections/video-hero-1/index.js +4 -3
  121. package/dist/components/puck-block/hero-sections/video-hero-1/video-hero.d.ts +6 -2
  122. package/dist/components/puck-block/hero-sections/video-hero-1/video-hero.js +30 -22
  123. package/dist/components/puck-block/location-sections/location-1/index.js +44 -42
  124. package/dist/components/puck-block/location-sections/location-1/location.d.ts +8 -6
  125. package/dist/components/puck-block/location-sections/location-1/location.js +8 -15
  126. package/dist/components/puck-block/location-sections/location-2/index.js +66 -57
  127. package/dist/components/puck-block/location-sections/location-2/location.d.ts +12 -6
  128. package/dist/components/puck-block/location-sections/location-2/location.js +8 -14
  129. package/dist/components/puck-block/location-sections/location-3/index.js +25 -24
  130. package/dist/components/puck-block/location-sections/location-3/location.d.ts +10 -6
  131. package/dist/components/puck-block/location-sections/location-3/location.js +12 -11
  132. package/dist/components/puck-block/location-sections/props.d.ts +45 -0
  133. package/dist/components/puck-block/metrics-sections/props.d.ts +43 -0
  134. package/dist/components/puck-block/metrics-sections/stats-1/index.js +6 -7
  135. package/dist/components/puck-block/metrics-sections/stats-1/stats.d.ts +7 -5
  136. package/dist/components/puck-block/metrics-sections/stats-1/stats.js +61 -55
  137. package/dist/components/puck-block/metrics-sections/stats-2/index.js +4 -7
  138. package/dist/components/puck-block/metrics-sections/stats-2/stats-2.d.ts +6 -4
  139. package/dist/components/puck-block/metrics-sections/stats-2/stats-2.js +4 -7
  140. package/dist/components/puck-block/metrics-sections/stats-3/index.js +19 -29
  141. package/dist/components/puck-block/metrics-sections/stats-3/stats-3.d.ts +7 -6
  142. package/dist/components/puck-block/metrics-sections/stats-3/stats-3.js +22 -13
  143. package/dist/components/puck-block/pricing-sections/comparison-1/comparison.d.ts +7 -5
  144. package/dist/components/puck-block/pricing-sections/comparison-1/comparison.js +45 -39
  145. package/dist/components/puck-block/pricing-sections/comparison-1/index.js +5 -7
  146. package/dist/components/puck-block/pricing-sections/pricing-1/index.js +10 -13
  147. package/dist/components/puck-block/pricing-sections/pricing-1/pricing.d.ts +8 -6
  148. package/dist/components/puck-block/pricing-sections/pricing-1/pricing.js +47 -35
  149. package/dist/components/puck-block/pricing-sections/pricing-2/index.js +7 -12
  150. package/dist/components/puck-block/pricing-sections/pricing-2/pricing-2.d.ts +6 -4
  151. package/dist/components/puck-block/pricing-sections/pricing-2/pricing-2.js +60 -57
  152. package/dist/components/puck-block/pricing-sections/props.d.ts +46 -0
  153. package/dist/components/puck-block/showcase-sections/before-after-1/before-after.d.ts +7 -5
  154. package/dist/components/puck-block/showcase-sections/before-after-1/before-after.js +8 -10
  155. package/dist/components/puck-block/showcase-sections/before-after-1/index.js +6 -8
  156. package/dist/components/puck-block/showcase-sections/case-study-1/case-study.d.ts +6 -2
  157. package/dist/components/puck-block/showcase-sections/case-study-1/case-study.js +29 -21
  158. package/dist/components/puck-block/showcase-sections/case-study-1/index.js +4 -3
  159. package/dist/components/puck-block/showcase-sections/props.d.ts +48 -0
  160. package/dist/components/puck-block/showcase-sections/step-by-step-1/index.js +3 -5
  161. package/dist/components/puck-block/showcase-sections/step-by-step-1/step-by-step.d.ts +6 -4
  162. package/dist/components/puck-block/showcase-sections/step-by-step-1/step-by-step.js +38 -41
  163. package/dist/components/puck-block/team-sections/props.d.ts +39 -0
  164. package/dist/components/puck-block/team-sections/team-grid-1/index.js +5 -6
  165. package/dist/components/puck-block/team-sections/team-grid-1/team-grid.d.ts +6 -4
  166. package/dist/components/puck-block/team-sections/team-grid-1/team-grid.js +23 -17
  167. package/dist/components/puck-block/team-sections/team-grid-2/index.js +4 -7
  168. package/dist/components/puck-block/team-sections/team-grid-2/team-grid-2.d.ts +6 -4
  169. package/dist/components/puck-block/team-sections/team-grid-2/team-grid-2.js +5 -7
  170. package/dist/components/puck-block/team-sections/team-profiles-1/index.js +4 -5
  171. package/dist/components/puck-block/team-sections/team-profiles-1/team-profiles.d.ts +6 -4
  172. package/dist/components/puck-block/team-sections/team-profiles-1/team-profiles.js +5 -7
  173. package/dist/components/puck-block/testimonial-sections/customers-1/customers.d.ts +9 -7
  174. package/dist/components/puck-block/testimonial-sections/customers-1/customers.js +8 -11
  175. package/dist/components/puck-block/testimonial-sections/customers-1/index.js +17 -17
  176. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/index.js +15 -12
  177. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/logo-marquee.d.ts +7 -3
  178. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/logo-marquee.js +33 -24
  179. package/dist/components/puck-block/testimonial-sections/logo-wall-1/index.js +17 -16
  180. package/dist/components/puck-block/testimonial-sections/logo-wall-1/logo-wall.d.ts +6 -4
  181. package/dist/components/puck-block/testimonial-sections/logo-wall-1/logo-wall.js +5 -7
  182. package/dist/components/puck-block/testimonial-sections/props.d.ts +34 -0
  183. package/dist/components/puck-block/testimonial-sections/review-section-1/index.js +17 -16
  184. package/dist/components/puck-block/testimonial-sections/review-section-1/review-section.d.ts +8 -6
  185. package/dist/components/puck-block/testimonial-sections/review-section-1/review-section.js +22 -17
  186. package/dist/components/puck-block/testimonial-sections/testimonials-1/index.js +17 -17
  187. package/dist/components/puck-block/testimonial-sections/testimonials-1/testimonials.d.ts +8 -6
  188. package/dist/components/puck-block/testimonial-sections/testimonials-1/testimonials.js +100 -67
  189. package/dist/components/puck-block/text-sections/articles-1/articles.d.ts +7 -5
  190. package/dist/components/puck-block/text-sections/articles-1/articles.js +41 -34
  191. package/dist/components/puck-block/text-sections/articles-1/index.js +24 -25
  192. package/dist/components/puck-block/text-sections/content-section-1/content-section.d.ts +7 -5
  193. package/dist/components/puck-block/text-sections/content-section-1/content-section.js +6 -9
  194. package/dist/components/puck-block/text-sections/content-section-1/index.js +14 -16
  195. package/dist/components/puck-block/text-sections/props.d.ts +58 -0
  196. package/dist/components/puck-block/text-sections/rich-text-1/index.js +13 -15
  197. package/dist/components/puck-block/text-sections/rich-text-1/rich-text.d.ts +7 -5
  198. package/dist/components/puck-block/text-sections/rich-text-1/rich-text.js +11 -11
  199. package/dist/components/puck-block/text-sections/tab-section-1/index.js +4 -5
  200. package/dist/components/puck-block/text-sections/tab-section-1/tab-section.d.ts +6 -4
  201. package/dist/components/puck-block/text-sections/tab-section-1/tab-section.js +10 -8
  202. package/dist/components/puck-block/text-sections/timeline-1/index.js +3 -5
  203. package/dist/components/puck-block/text-sections/timeline-1/timeline.d.ts +6 -4
  204. package/dist/components/puck-block/text-sections/timeline-1/timeline.js +3 -5
  205. package/dist/components/puck-block/text-sections/two-column-1/index.js +4 -6
  206. package/dist/components/puck-block/text-sections/two-column-1/two-column.d.ts +6 -4
  207. package/dist/components/puck-block/text-sections/two-column-1/two-column.js +5 -7
  208. package/dist/components/shadcn/navigation-menu.js +8 -33
  209. package/dist/index.js +3 -2
  210. package/package.json +2 -2
@@ -4,11 +4,13 @@ export interface Gallery2Image {
4
4
  alt?: string;
5
5
  }
6
6
  export interface Gallery2Props {
7
- padding?: CompoundContainerProps["padding"];
8
- sectionStyle?: CompoundContainerProps["sectionStyle"];
9
- backgroundColor?: string;
10
7
  heading?: string;
11
8
  description?: string;
12
9
  images?: Gallery2Image[];
10
+ styles?: {
11
+ padding?: CompoundContainerProps["padding"];
12
+ sectionStyle?: CompoundContainerProps["sectionStyle"];
13
+ backgroundColor?: string;
14
+ };
13
15
  }
14
- export declare const Gallery2: ({ padding, sectionStyle, backgroundColor, heading, description, images, }: Gallery2Props) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const Gallery2: ({ heading, description, images, styles, }: Gallery2Props) => import("react/jsx-runtime").JSX.Element;
@@ -6,12 +6,10 @@ import { ChevronLeft, ChevronRight } from "lucide-react";
6
6
  import { CompoundContainer } from "../../../puck-base/container.js";
7
7
  import { CompoundImage } from "../../../puck-base/image.js";
8
8
  const Gallery2 = ({
9
- padding,
10
- sectionStyle,
11
- backgroundColor,
12
9
  heading,
13
10
  description,
14
- images = []
11
+ images = [],
12
+ styles
15
13
  }) => {
16
14
  const [emblaRef, emblaApi] = useEmblaCarousel({ align: "start", loop: false });
17
15
  const [canScrollPrev, setCanScrollPrev] = useState(false);
@@ -34,9 +32,9 @@ const Gallery2 = ({
34
32
  return /* @__PURE__ */ jsx(
35
33
  CompoundContainer,
36
34
  {
37
- padding,
38
- sectionStyle,
39
- backgroundColor,
35
+ padding: styles == null ? void 0 : styles.padding,
36
+ sectionStyle: styles == null ? void 0 : styles.sectionStyle,
37
+ backgroundColor: styles == null ? void 0 : styles.backgroundColor,
40
38
  children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
41
39
  (heading || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between lg:gap-8", children: [
42
40
  heading && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 lg:basis-1/2", children: /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight text-foreground lg:text-4xl", children: heading }) }),
@@ -61,21 +59,29 @@ const Gallery2 = ({
61
59
  /* @__PURE__ */ jsx(
62
60
  "button",
63
61
  {
64
- onClick: () => emblaApi == null ? void 0 : emblaApi.scrollPrev(),
62
+ onClick: (e) => {
63
+ e.stopPropagation();
64
+ emblaApi == null ? void 0 : emblaApi.scrollPrev();
65
+ },
66
+ style: { pointerEvents: "auto" },
65
67
  disabled: !canScrollPrev,
66
- className: "absolute left-4 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-background/90 shadow-md transition hover:bg-background disabled:opacity-30",
68
+ className: "absolute left-4 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-background/90 shadow-md transition hover:bg-background disabled:opacity-30 cursor-pointer",
67
69
  "aria-label": "Previous image",
68
- children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-5 w-5 text-foreground" })
70
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-5 w-5 text-foreground", style: { pointerEvents: "none" } })
69
71
  }
70
72
  ),
71
73
  /* @__PURE__ */ jsx(
72
74
  "button",
73
75
  {
74
- onClick: () => emblaApi == null ? void 0 : emblaApi.scrollNext(),
76
+ onClick: (e) => {
77
+ e.stopPropagation();
78
+ emblaApi == null ? void 0 : emblaApi.scrollNext();
79
+ },
80
+ style: { pointerEvents: "auto" },
75
81
  disabled: !canScrollNext,
76
- className: "absolute right-4 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-background/90 shadow-md transition hover:bg-background disabled:opacity-30",
82
+ className: "absolute right-4 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-background/90 shadow-md transition hover:bg-background disabled:opacity-30 cursor-pointer",
77
83
  "aria-label": "Next image",
78
- children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5 text-foreground" })
84
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5 text-foreground", style: { pointerEvents: "none" } })
79
85
  }
80
86
  )
81
87
  ] })
@@ -1,7 +1,7 @@
1
- import { paddingDefaults, backgroundColor, sectionStyle, padding } from "../../../puck-base/core/fields.js";
2
1
  import { Gallery2 } from "./gallery-2.js";
2
+ import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
3
3
  const defaultImage = {
4
- src: "https://dummyimage.com/1400x700/f5f4f4/101010.png&text=Gallery+Image",
4
+ src: "https://picsum.photos/seed/Gallery%20Image/1400/700",
5
5
  alt: "Gallery image"
6
6
  };
7
7
  const conf = {
@@ -24,9 +24,7 @@ const conf = {
24
24
  },
25
25
  defaultItemProps: defaultImage
26
26
  },
27
- padding,
28
- sectionStyle,
29
- backgroundColor
27
+ styles: createStylesField()
30
28
  },
31
29
  defaultProps: {
32
30
  heading: "Real transformations from real training",
@@ -35,7 +33,7 @@ const conf = {
35
33
  ...defaultImage,
36
34
  alt: `Gallery image ${i + 1}`
37
35
  })),
38
- padding: paddingDefaults
36
+ styles: createStylesDefaults()
39
37
  },
40
38
  render: Gallery2
41
39
  };
@@ -5,13 +5,15 @@ export interface Gallery3Image {
5
5
  caption?: string;
6
6
  }
7
7
  export interface Gallery3Props {
8
- padding?: CompoundContainerProps["padding"];
9
- sectionStyle?: CompoundContainerProps["sectionStyle"];
10
- backgroundColor?: string;
11
8
  heading?: string;
12
9
  description?: string;
13
10
  images?: Gallery3Image[];
14
11
  showCaptions?: boolean;
15
- gap?: "sm" | "md" | "lg";
12
+ styles?: {
13
+ padding?: CompoundContainerProps["padding"];
14
+ sectionStyle?: CompoundContainerProps["sectionStyle"];
15
+ backgroundColor?: string;
16
+ gap?: "sm" | "md" | "lg";
17
+ };
16
18
  }
17
- export declare const Gallery3: ({ padding, sectionStyle, backgroundColor, heading, description, images, showCaptions, gap, }: Gallery3Props) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const Gallery3: ({ heading, description, images, showCaptions, styles, }: Gallery3Props) => import("react/jsx-runtime").JSX.Element;
@@ -37,23 +37,21 @@ function ImageCard({
37
37
  );
38
38
  }
39
39
  const Gallery3 = ({
40
- padding,
41
- sectionStyle,
42
- backgroundColor,
43
40
  heading,
44
41
  description,
45
42
  images = [],
46
43
  showCaptions = true,
47
- gap = "md"
44
+ styles
48
45
  }) => {
46
+ const gap = (styles == null ? void 0 : styles.gap) ?? "md";
49
47
  const gc = gapClasses[gap] ?? gapClasses.md;
50
48
  const [img1, img2, img3, ...rest] = images;
51
49
  return /* @__PURE__ */ jsx(
52
50
  CompoundContainer,
53
51
  {
54
- padding,
55
- sectionStyle,
56
- backgroundColor,
52
+ padding: styles == null ? void 0 : styles.padding,
53
+ sectionStyle: styles == null ? void 0 : styles.sectionStyle,
54
+ backgroundColor: styles == null ? void 0 : styles.backgroundColor,
57
55
  children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8 lg:gap-12", children: [
58
56
  (heading || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between", children: [
59
57
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3", children: heading && /* @__PURE__ */ jsx("h2", { className: "text-4xl font-bold tracking-tight text-foreground lg:text-5xl", children: heading }) }),
@@ -1,5 +1,6 @@
1
- import { paddingDefaults, backgroundColor, sectionStyle, padding, getPlaceholderImageUrl } from "../../../puck-base/core/fields.js";
1
+ import { getPlaceholderImageUrl } from "../../../puck-base/core/fields.js";
2
2
  import { Gallery3 } from "./gallery-3.js";
3
+ import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
3
4
  const makeDefaultImage = (i) => ({
4
5
  src: getPlaceholderImageUrl("1200x800", `Gallery Image ${i + 1}`),
5
6
  alt: `Gallery image ${i + 1}`,
@@ -33,25 +34,23 @@ const conf = {
33
34
  { label: "隐藏", value: false }
34
35
  ]
35
36
  },
36
- gap: {
37
- type: "radio",
38
- options: [
39
- { label: "紧凑", value: "sm" },
40
- { label: "默认", value: "md" },
41
- { label: "宽松", value: "lg" }
42
- ]
43
- },
44
- padding,
45
- sectionStyle,
46
- backgroundColor
37
+ styles: createStylesField({
38
+ gap: {
39
+ type: "radio",
40
+ options: [
41
+ { label: "紧凑", value: "sm" },
42
+ { label: "默认", value: "md" },
43
+ { label: "宽松", value: "lg" }
44
+ ]
45
+ }
46
+ })
47
47
  },
48
48
  defaultProps: {
49
49
  heading: "Crafted with intention",
50
50
  description: "A curated selection of moments that define our work and vision.",
51
51
  images: Array.from({ length: 6 }, (_, i) => makeDefaultImage(i)),
52
52
  showCaptions: true,
53
- gap: "md",
54
- padding: paddingDefaults
53
+ styles: createStylesDefaults({ gap: "md" })
55
54
  },
56
55
  render: Gallery3
57
56
  };
@@ -0,0 +1,26 @@
1
+ type GalleryVariant = "gallery-1" | "gallery-2" | "gallery-3";
2
+ type GalleryPadding = {
3
+ top?: "none" | "small" | "medium" | "large";
4
+ bottom?: "none" | "small" | "medium" | "large";
5
+ };
6
+ type GallerySectionStyle = "default" | "dark" | "muted" | "inverted" | "custom";
7
+ type GalleryImage = {
8
+ src: string;
9
+ alt?: string;
10
+ caption?: string;
11
+ };
12
+ type GallerySectionProps = {
13
+ variant?: GalleryVariant;
14
+ heading?: string;
15
+ description?: string;
16
+ images?: GalleryImage[];
17
+ showCaptions?: boolean;
18
+ styles?: {
19
+ padding?: GalleryPadding;
20
+ sectionStyle?: GallerySectionStyle;
21
+ backgroundColor?: string;
22
+ columns?: 2 | 3 | 4;
23
+ gap?: "sm" | "md" | "lg";
24
+ aspectRatio?: "square" | "landscape" | "auto";
25
+ };
26
+ };
@@ -18,16 +18,21 @@ type SecondaryNavigationItem = NavigationLink & {
18
18
  };
19
19
  type NavigationItem = NavigationLink & {
20
20
  url?: string;
21
+ action?: Action;
21
22
  description?: string;
22
- cta?: CompoundButtonProps;
23
+ cta?: CompoundButtonProps & {
24
+ url?: string;
25
+ };
23
26
  items?: SubmenuLink[];
24
27
  };
25
28
  export interface HeaderProps extends ILayoutProps {
26
29
  companyName: string;
27
- primaryNavigation?: NavigationItem[];
28
- secondaryNavigation?: SecondaryNavigationItem[];
29
- sectionStyle?: "default" | "dark" | "muted" | "inverted";
30
- backgroundColor?: string;
30
+ navigation?: NavigationItem[];
31
+ actions?: SecondaryNavigationItem[];
32
+ styles?: {
33
+ sectionStyle?: "default" | "dark" | "muted" | "inverted";
34
+ backgroundColor?: string;
35
+ };
31
36
  }
32
- export declare const Header: ({ companyName, primaryNavigation, secondaryNavigation, sectionStyle, backgroundColor, }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
37
+ export declare const Header: ({ companyName, navigation, actions, styles, }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
33
38
  export {};
@@ -3,11 +3,15 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import { useState, Fragment as Fragment$1 } from "react";
4
4
  import { cn } from "../../../../utils/css-utils.js";
5
5
  import { Button } from "../../../shadcn/button.js";
6
- import { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuLink, NavigationMenuTrigger, NavigationMenuContent } from "../../../shadcn/navigation-menu.js";
6
+ import { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuLink, NavigationMenuTrigger, NavigationMenuContent } from "../../../puck-base/navigation-menu.js";
7
7
  import { MoveRight, X, Menu } from "lucide-react";
8
8
  import { registerOverlayPortal } from "@puckeditor/core";
9
9
  import { CompoundButton } from "../../../puck-base/button.js";
10
10
  import { ErrorBoundary } from "../../../puck-base/error-boundary.js";
11
+ import { resolveActionUrl } from "../../../puck-base/core/types.js";
12
+ function coerceAction(action, legacyUrl) {
13
+ return action ?? (legacyUrl ? /^https?:\/\//i.test(legacyUrl) ? { type: "external", externalUrl: legacyUrl } : { type: "page", pageUrl: legacyUrl } : void 0);
14
+ }
11
15
  const HEADER_SECTION_VARS = {
12
16
  dark: {
13
17
  "--background": "oklch(0.145 0 0)",
@@ -29,29 +33,30 @@ const HEADER_SECTION_VARS = {
29
33
  };
30
34
  const Header = ({
31
35
  companyName,
32
- primaryNavigation,
33
- secondaryNavigation,
34
- sectionStyle,
35
- backgroundColor
36
+ navigation,
37
+ actions,
38
+ styles
36
39
  }) => {
37
40
  const [isOpen, setOpen] = useState(false);
38
- const sectionVars = sectionStyle && sectionStyle !== "default" ? HEADER_SECTION_VARS[sectionStyle] ?? {} : {};
41
+ const sectionVars = (styles == null ? void 0 : styles.sectionStyle) && styles.sectionStyle !== "default" ? HEADER_SECTION_VARS[styles.sectionStyle] ?? {} : {};
39
42
  return /* @__PURE__ */ jsx(ErrorBoundary, { children: /* @__PURE__ */ jsx(
40
43
  "header",
41
44
  {
42
- className: cn("bg-background text-foreground sticky top-0 left-0 z-40 w-full"),
45
+ className: cn(
46
+ "bg-background text-foreground sticky top-0 left-0 z-40 w-full"
47
+ ),
43
48
  style: {
44
- ...backgroundColor ? { backgroundColor } : {},
49
+ ...(styles == null ? void 0 : styles.backgroundColor) ? { backgroundColor: styles.backgroundColor } : {},
45
50
  ...sectionVars
46
51
  },
47
52
  children: /* @__PURE__ */ jsxs("div", { className: "relative container mx-auto flex min-h-20 flex-row items-center gap-4 lg:grid lg:grid-cols-[auto_1fr_auto]", children: [
48
53
  /* @__PURE__ */ jsx("div", { className: "flex lg:justify-start", children: /* @__PURE__ */ jsx("p", { className: "font-semibold whitespace-nowrap", children: companyName }) }),
49
- /* @__PURE__ */ jsx("div", { className: "hidden flex-row items-center justify-center gap-4 lg:flex", children: Array.isArray(primaryNavigation) && primaryNavigation.length > 0 ? /* @__PURE__ */ jsx(NavigationMenu, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(NavigationMenuList, { className: "flex flex-row justify-center gap-4", children: primaryNavigation.map((item, index) => {
50
- var _a, _b;
54
+ /* @__PURE__ */ jsx("div", { className: "hidden flex-row items-center justify-center gap-4 lg:flex", children: Array.isArray(navigation) && navigation.length > 0 ? /* @__PURE__ */ jsx(NavigationMenu, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(NavigationMenuList, { className: "flex flex-row justify-center gap-4", children: navigation.map((item, index) => {
55
+ var _a;
51
56
  return /* @__PURE__ */ jsx(NavigationMenuItem, { children: item.url ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx(
52
57
  CompoundButton,
53
58
  {
54
- url: item.url,
59
+ action: coerceAction(item.action, item.url),
55
60
  label: item.label,
56
61
  variant: "ghost"
57
62
  }
@@ -70,20 +75,22 @@ const Header = ({
70
75
  /* @__PURE__ */ jsx("p", { className: "text-base", children: item.label }),
71
76
  item.description ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: item.description }) : null
72
77
  ] }),
73
- ((_a = item.cta) == null ? void 0 : _a.url) ? /* @__PURE__ */ jsx(
74
- CompoundButton,
75
- {
76
- label: item.cta.label,
77
- url: item.cta.url,
78
- action: item.cta.action,
79
- variant: item.cta.variant,
80
- size: item.cta.size,
81
- icon: item.cta.icon,
82
- className: "mt-10"
83
- }
84
- ) : null
78
+ (() => {
79
+ const ctaAction = item.cta && coerceAction(item.cta.action, item.cta.url);
80
+ return ctaAction && resolveActionUrl(ctaAction) ? /* @__PURE__ */ jsx(
81
+ CompoundButton,
82
+ {
83
+ label: item.cta.label,
84
+ action: ctaAction,
85
+ variant: item.cta.variant,
86
+ size: item.cta.size,
87
+ icon: item.cta.icon,
88
+ className: "mt-10"
89
+ }
90
+ ) : null;
91
+ })()
85
92
  ] }),
86
- /* @__PURE__ */ jsx("div", { className: "flex h-full flex-col justify-end text-sm", children: (_b = item.items) == null ? void 0 : _b.map((subItem, index2) => /* @__PURE__ */ jsxs(
93
+ /* @__PURE__ */ jsx("div", { className: "flex h-full flex-col justify-end text-sm", children: (_a = item.items) == null ? void 0 : _a.map((subItem, index2) => /* @__PURE__ */ jsxs(
87
94
  NavigationMenuLink,
88
95
  {
89
96
  href: subItem.url,
@@ -98,7 +105,7 @@ const Header = ({
98
105
  ] }) })
99
106
  ] }) }, index);
100
107
  }) }) }) : null }),
101
- /* @__PURE__ */ jsx("div", { className: "flex w-full justify-end gap-4", children: secondaryNavigation == null ? void 0 : secondaryNavigation.map((item, index) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
108
+ /* @__PURE__ */ jsx("div", { className: "flex w-full justify-end gap-4", children: actions == null ? void 0 : actions.map((item, index) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
102
109
  /* @__PURE__ */ jsx(
103
110
  CompoundButton,
104
111
  {
@@ -106,8 +113,7 @@ const Header = ({
106
113
  variant: item.variant,
107
114
  size: item.size,
108
115
  icon: item.icon,
109
- url: item.url,
110
- action: item.action,
116
+ action: coerceAction(item.action, item.url),
111
117
  className: cn({
112
118
  "hidden md:inline": item.isHiddenOnMobile === "true"
113
119
  })
@@ -125,7 +131,7 @@ const Header = ({
125
131
  children: isOpen ? /* @__PURE__ */ jsx(X, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx(Menu, { className: "h-5 w-5" })
126
132
  }
127
133
  ),
128
- isOpen && /* @__PURE__ */ jsx("div", { className: "bg-background absolute top-20 right-0 container flex w-full flex-col gap-8 border-t py-4 shadow-lg", children: primaryNavigation == null ? void 0 : primaryNavigation.map((item, index) => /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
134
+ isOpen && /* @__PURE__ */ jsx("div", { className: "bg-background absolute top-20 right-0 container flex w-full flex-col gap-8 border-t py-4 shadow-lg", children: navigation == null ? void 0 : navigation.map((item, index) => /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
129
135
  item.url ? /* @__PURE__ */ jsxs(
130
136
  "a",
131
137
  {
@@ -1,7 +1,7 @@
1
1
  import { ComponentConfig } from "@puckeditor/core";
2
2
  import { HeaderProps } from "./header";
3
3
  export type { HeaderProps };
4
- export declare const defaultPrimaryNavigationItems: ({
4
+ export declare const defaultNavigationItems: ({
5
5
  label: string;
6
6
  url: string;
7
7
  description: string;
@@ -1,6 +1,8 @@
1
+ "use client";
1
2
  import { Header } from "./header.js";
2
- import { backgroundColor, sectionStyle, actionDefaults, button, action } from "../../../puck-base/core/fields.js";
3
- const defaultPrimaryNavigationItems = [
3
+ import { actionDefaults, button, action } from "../../../puck-base/core/fields.js";
4
+ import { createStylesField } from "../../../puck-base/core/styles.js";
5
+ const defaultNavigationItems = [
4
6
  {
5
7
  label: "Home",
6
8
  url: "/",
@@ -73,30 +75,25 @@ const defaultPrimaryNavigationItems = [
73
75
  ]
74
76
  }
75
77
  ];
76
- const defaultSecondaryNavigationItems = [
78
+ const defaultActionItems = [
77
79
  {
78
- label: "Book a demo",
79
- url: "#",
80
- variant: "ghost",
81
- icon: "none",
82
- divider: "true",
83
- isHiddenOnMobile: "true"
84
- },
85
- {
86
- label: "Sign in",
87
- url: "#",
88
- variant: "outline",
89
- icon: "none",
90
- divider: "false",
91
- isHiddenOnMobile: "false"
92
- },
93
- {
94
- label: "Get started",
80
+ label: "Get Start",
95
81
  url: "#",
82
+ action: {
83
+ type: "email",
84
+ pageUrl: "",
85
+ externalUrl: "#",
86
+ openInNewTab: "false",
87
+ email: "",
88
+ subject: "",
89
+ phone: "",
90
+ sectionId: "",
91
+ downloadUrl: ""
92
+ },
96
93
  variant: "default",
97
94
  icon: "none",
98
95
  divider: "false",
99
- isHiddenOnMobile: "true"
96
+ isHiddenOnMobile: "false"
100
97
  }
101
98
  ];
102
99
  const conf = {
@@ -105,8 +102,8 @@ const conf = {
105
102
  label: "company name",
106
103
  type: "text"
107
104
  },
108
- primaryNavigation: {
109
- label: "primary navigation",
105
+ navigation: {
106
+ label: "navigation",
110
107
  type: "array",
111
108
  max: 4,
112
109
  getItemSummary: (item, index = 0) => item.label || `Link ${index + 1}`,
@@ -142,8 +139,8 @@ const conf = {
142
139
  items: []
143
140
  }
144
141
  },
145
- secondaryNavigation: {
146
- label: "secondary navigation",
142
+ actions: {
143
+ label: "actions",
147
144
  type: "array",
148
145
  max: 4,
149
146
  getItemSummary: (item, index = 0) => item.label || `Link ${index}`,
@@ -179,13 +176,12 @@ const conf = {
179
176
  isHiddenOnMobile: "true"
180
177
  }
181
178
  },
182
- sectionStyle,
183
- backgroundColor
179
+ styles: createStylesField()
184
180
  },
185
181
  defaultProps: {
186
182
  companyName: "TWBlocks",
187
- primaryNavigation: defaultPrimaryNavigationItems,
188
- secondaryNavigation: defaultSecondaryNavigationItems,
183
+ navigation: defaultNavigationItems,
184
+ actions: defaultActionItems,
189
185
  __metadata: {
190
186
  type: "layout"
191
187
  }
@@ -194,5 +190,5 @@ const conf = {
194
190
  };
195
191
  export {
196
192
  conf as default,
197
- defaultPrimaryNavigationItems
193
+ defaultNavigationItems
198
194
  };
@@ -0,0 +1,41 @@
1
+ type HeaderVariant = "header-1" | "sticky-nav-1";
2
+ type HeaderPadding = {
3
+ top?: "none" | "small" | "medium" | "large";
4
+ bottom?: "none" | "small" | "medium" | "large";
5
+ };
6
+ type HeaderSectionStyle = "default" | "dark" | "muted" | "inverted" | "custom";
7
+ type HeaderButton = {
8
+ label: string;
9
+ url?: string;
10
+ action?: string;
11
+ variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
12
+ size?: "default" | "sm" | "lg" | "icon";
13
+ icon?: string;
14
+ divider?: boolean;
15
+ isHiddenOnMobile?: boolean;
16
+ };
17
+ type HeaderNavigationItem = {
18
+ label: string;
19
+ url?: string;
20
+ description?: string;
21
+ cta?: HeaderButton;
22
+ items?: Array<{
23
+ label: string;
24
+ url: string;
25
+ }>;
26
+ };
27
+ type HeaderSectionProps = {
28
+ variant?: HeaderVariant;
29
+ __metadata?: {
30
+ type: "layout";
31
+ };
32
+ companyName?: string;
33
+ logo?: string;
34
+ navigation?: HeaderNavigationItem[];
35
+ actions?: HeaderButton[];
36
+ styles?: {
37
+ padding?: HeaderPadding;
38
+ sectionStyle?: HeaderSectionStyle;
39
+ backgroundColor?: string;
40
+ };
41
+ };
@@ -1,26 +1,26 @@
1
- import { backgroundColor, sectionStyle } from "../../../puck-base/core/fields.js";
2
1
  import { StickyNav } from "./sticky-nav.js";
2
+ import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
3
3
  const conf = {
4
4
  fields: {
5
5
  logo: { type: "text", contentEditable: true },
6
- links: {
6
+ navigation: {
7
7
  type: "array",
8
8
  max: 8,
9
9
  getItemSummary: (item, i = 0) => item.label || `Link ${i + 1}`,
10
- arrayFields: { label: { type: "text" }, href: { type: "text" } },
11
- defaultItemProps: { label: "Link", href: "#" }
10
+ arrayFields: { label: { type: "text" }, url: { type: "text" } },
11
+ defaultItemProps: { label: "Link", url: "#" }
12
12
  },
13
- sectionStyle,
14
- backgroundColor
13
+ styles: createStylesField()
15
14
  },
16
15
  defaultProps: {
17
16
  logo: "Brand",
18
- links: [
19
- { label: "Features", href: "#features" },
20
- { label: "Pricing", href: "#pricing" },
21
- { label: "About", href: "#about" },
22
- { label: "Contact", href: "#contact" }
23
- ]
17
+ navigation: [
18
+ { label: "Features", url: "#features" },
19
+ { label: "Pricing", url: "#pricing" },
20
+ { label: "About", url: "#about" },
21
+ { label: "Contact", url: "#contact" }
22
+ ],
23
+ styles: createStylesDefaults()
24
24
  },
25
25
  render: StickyNav
26
26
  };
@@ -1,12 +1,14 @@
1
1
  import { type CompoundContainerProps } from "@/components/puck-base/container";
2
2
  export interface StickyNavProps {
3
- padding?: CompoundContainerProps["padding"];
4
- sectionStyle?: CompoundContainerProps["sectionStyle"];
5
- backgroundColor?: string;
6
- links?: Array<{
3
+ navigation?: Array<{
7
4
  label: string;
8
- href: string;
5
+ url: string;
9
6
  }>;
10
7
  logo?: string;
8
+ styles?: {
9
+ padding?: CompoundContainerProps["padding"];
10
+ sectionStyle?: CompoundContainerProps["sectionStyle"];
11
+ backgroundColor?: string;
12
+ };
11
13
  }
12
- export declare const StickyNav: ({ links, logo, sectionStyle, backgroundColor }: StickyNavProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const StickyNav: ({ navigation, logo, styles }: StickyNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -19,22 +19,22 @@ const NAV_SECTION_VARS = {
19
19
  "--border": "oklch(0.87 0 0)"
20
20
  }
21
21
  };
22
- const StickyNav = ({ links = [], logo, sectionStyle, backgroundColor }) => {
23
- const sectionVars = sectionStyle && sectionStyle !== "default" ? NAV_SECTION_VARS[sectionStyle] ?? {} : {};
22
+ const StickyNav = ({ navigation = [], logo, styles }) => {
23
+ const sectionVars = (styles == null ? void 0 : styles.sectionStyle) && styles.sectionStyle !== "default" ? NAV_SECTION_VARS[styles.sectionStyle] ?? {} : {};
24
24
  return /* @__PURE__ */ jsx(
25
25
  "nav",
26
26
  {
27
27
  className: "bg-background/80 border-border sticky top-0 z-50 border-b backdrop-blur-md",
28
28
  style: {
29
- ...backgroundColor ? { backgroundColor } : {},
29
+ ...(styles == null ? void 0 : styles.backgroundColor) ? { backgroundColor: styles.backgroundColor } : {},
30
30
  ...sectionVars
31
31
  },
32
32
  children: /* @__PURE__ */ jsxs("div", { className: "mx-auto flex h-14 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8", children: [
33
33
  /* @__PURE__ */ jsx("span", { className: "text-foreground text-lg font-bold", children: logo || "Brand" }),
34
- /* @__PURE__ */ jsx("div", { className: "hidden gap-6 md:flex", children: links.map((link, i) => /* @__PURE__ */ jsx(
34
+ /* @__PURE__ */ jsx("div", { className: "hidden gap-6 md:flex", children: navigation.map((link, i) => /* @__PURE__ */ jsx(
35
35
  "a",
36
36
  {
37
- href: link.href || "#",
37
+ href: link.url || "#",
38
38
  className: "text-muted-foreground hover:text-foreground text-sm transition-colors",
39
39
  children: link.label
40
40
  },