dune-react 0.0.11 → 0.0.13

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 (84) hide show
  1. package/dist/components/puck-base/core/fields.d.ts +25 -96
  2. package/dist/components/puck-base/core/fields.js +4 -10
  3. package/dist/components/puck-base/core/icon-catalog.d.ts +14 -0
  4. package/dist/components/puck-base/core/icon-catalog.js +193 -0
  5. package/dist/components/puck-base/fields/action-field.d.ts +23 -1
  6. package/dist/components/puck-base/fields/action-field.js +174 -130
  7. package/dist/components/puck-base/gradient-text.js +1 -1
  8. package/dist/components/puck-base/icon-picker-field.d.ts +8 -0
  9. package/dist/components/puck-base/icon-picker-field.js +153 -0
  10. package/dist/components/puck-base/index.d.ts +1 -1
  11. package/dist/components/puck-block/banner-sections/announcement-banner-1/index.js +1 -1
  12. package/dist/components/puck-block/banner-sections/marquee-1/index.js +6 -4
  13. package/dist/components/puck-block/contact-sections/contact-us-1/index.js +18 -8
  14. package/dist/components/puck-block/contact-sections/contact-us-2/contact-us-2.js +1 -1
  15. package/dist/components/puck-block/contact-sections/contact-us-2/index.js +7 -7
  16. package/dist/components/puck-block/contact-sections/contact-us-3/index.js +2 -2
  17. package/dist/components/puck-block/cta-sections/banner-cta-1/index.js +4 -4
  18. package/dist/components/puck-block/cta-sections/cta-1/index.js +9 -9
  19. package/dist/components/puck-block/cta-sections/gradient-cta-1/index.js +3 -3
  20. package/dist/components/puck-block/cta-sections/newsletter-signup-1/index.js +1 -1
  21. package/dist/components/puck-block/cta-sections/promo-section-1/index.js +5 -5
  22. package/dist/components/puck-block/faq-sections/accordion-1/index.js +7 -3
  23. package/dist/components/puck-block/faq-sections/faq-1/index.js +16 -4
  24. package/dist/components/puck-block/faq-sections/faq-2/index.js +11 -11
  25. package/dist/components/puck-block/feature-sections/bento-1/bento.js +16 -7
  26. package/dist/components/puck-block/feature-sections/bento-1/index.js +19 -6
  27. package/dist/components/puck-block/feature-sections/feature-cards-1/index.js +11 -10
  28. package/dist/components/puck-block/feature-sections/feature-showcase-1/index.js +10 -10
  29. package/dist/components/puck-block/feature-sections/icon-grid-1/index.js +13 -18
  30. package/dist/components/puck-block/feature-sections/product-features-1/index.js +18 -23
  31. package/dist/components/puck-block/footer-sections/footer-1/index.js +17 -22
  32. package/dist/components/puck-block/gallery-sections/gallery-1/index.js +12 -8
  33. package/dist/components/puck-block/gallery-sections/gallery-2/index.js +10 -9
  34. package/dist/components/puck-block/gallery-sections/gallery-3/index.js +17 -14
  35. package/dist/components/puck-block/header-sections/header-1/index.js +56 -40
  36. package/dist/components/puck-block/header-sections/sticky-nav-1/index.js +4 -3
  37. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/index.js +4 -3
  38. package/dist/components/puck-block/hero-sections/gradient-hero-1/index.js +4 -4
  39. package/dist/components/puck-block/hero-sections/hero-1/index.js +16 -12
  40. package/dist/components/puck-block/hero-sections/image-hero-1/index.js +2 -2
  41. package/dist/components/puck-block/hero-sections/props.d.ts +1 -12
  42. package/dist/components/puck-block/hero-sections/split-hero-1/index.js +7 -7
  43. package/dist/components/puck-block/hero-sections/video-hero-1/index.js +5 -5
  44. package/dist/components/puck-block/index.d.ts +0 -1
  45. package/dist/components/puck-block/location-sections/location-1/index.js +4 -4
  46. package/dist/components/puck-block/location-sections/location-1/location.js +1 -1
  47. package/dist/components/puck-block/location-sections/location-2/index.js +4 -4
  48. package/dist/components/puck-block/location-sections/location-2/location.js +1 -1
  49. package/dist/components/puck-block/location-sections/location-3/index.js +15 -14
  50. package/dist/components/puck-block/location-sections/location-3/location.d.ts +1 -0
  51. package/dist/components/puck-block/location-sections/location-3/location.js +2 -2
  52. package/dist/components/puck-block/metrics-sections/stats-1/index.js +13 -13
  53. package/dist/components/puck-block/metrics-sections/stats-2/index.js +8 -8
  54. package/dist/components/puck-block/metrics-sections/stats-3/index.js +13 -13
  55. package/dist/components/puck-block/pricing-sections/comparison-1/index.js +2 -2
  56. package/dist/components/puck-block/pricing-sections/pricing-1/index.js +39 -19
  57. package/dist/components/puck-block/pricing-sections/pricing-2/index.js +30 -30
  58. package/dist/components/puck-block/showcase-sections/before-after-1/index.js +12 -12
  59. package/dist/components/puck-block/showcase-sections/case-study-1/index.js +7 -7
  60. package/dist/components/puck-block/showcase-sections/step-by-step-1/index.js +8 -8
  61. package/dist/components/puck-block/team-sections/team-grid-1/index.js +9 -9
  62. package/dist/components/puck-block/team-sections/team-grid-2/index.js +12 -12
  63. package/dist/components/puck-block/team-sections/team-profiles-1/index.js +11 -9
  64. package/dist/components/puck-block/testimonial-sections/customers-1/index.js +18 -7
  65. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/index.js +1 -1
  66. package/dist/components/puck-block/testimonial-sections/logo-wall-1/index.js +7 -7
  67. package/dist/components/puck-block/testimonial-sections/review-section-1/index.js +27 -12
  68. package/dist/components/puck-block/testimonial-sections/testimonials-1/index.js +17 -7
  69. package/dist/components/puck-block/text-sections/articles-1/articles.d.ts +3 -2
  70. package/dist/components/puck-block/text-sections/articles-1/articles.js +6 -4
  71. package/dist/components/puck-block/text-sections/articles-1/index.js +46 -18
  72. package/dist/components/puck-block/text-sections/content-section-1/index.js +6 -6
  73. package/dist/components/puck-block/text-sections/rich-text-1/index.js +1 -1
  74. package/dist/components/puck-block/text-sections/rich-text-1/rich-text.js +6 -1
  75. package/dist/components/puck-block/text-sections/tab-section-1/index.js +12 -12
  76. package/dist/components/puck-block/text-sections/timeline-1/index.js +17 -7
  77. package/dist/components/puck-block/text-sections/two-column-1/index.js +10 -10
  78. package/dist/index.js +69 -63
  79. package/dist/node_modules/.pnpm/lucide-react@0.540.0_react@19.2.4/node_modules/lucide-react/dist/esm/DynamicIcon.js +1 -3
  80. package/package.json +2 -1
  81. package/dist/components/puck-block/hero-sections/grid-hero-1/grid-hero.d.ts +0 -26
  82. package/dist/components/puck-block/hero-sections/grid-hero-1/grid-hero.js +0 -125
  83. package/dist/components/puck-block/hero-sections/grid-hero-1/index.d.ts +0 -5
  84. package/dist/components/puck-block/hero-sections/grid-hero-1/index.js +0 -71
@@ -1,4 +1,4 @@
1
- import { image16x9Placeholder, image } from "../../../puck-base/core/fields.js";
1
+ import { image } from "../../../puck-base/core/fields.js";
2
2
  import { FeatureShowcase } from "./feature-showcase.js";
3
3
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
4
4
  const conf = {
@@ -29,21 +29,21 @@ const conf = {
29
29
  styles: createStylesField()
30
30
  },
31
31
  defaultProps: {
32
- heading: "Everything you need",
33
- description: "Powerful features designed to help you build, ship, and grow faster.",
34
- image: image16x9Placeholder,
32
+ heading: "Designed for speed and clarity",
33
+ description: "Every detail is crafted to help your team move faster without sacrificing quality.",
34
+ image: { src: "https://images.pexels.com/photos/577210/pexels-photo-577210.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Sleek laptop showcasing data analytics and graphs on the screen in a bright room." },
35
35
  features: [
36
36
  {
37
- title: "Lightning fast",
38
- description: "Built for speed from the ground up."
37
+ title: "Instant preview",
38
+ description: "See changes in real time before they go live."
39
39
  },
40
40
  {
41
- title: "Secure by default",
42
- description: "Enterprise-grade security built in."
41
+ title: "Version control",
42
+ description: "Roll back to any previous version with one click."
43
43
  },
44
44
  {
45
- title: "Easy integration",
46
- description: "Connect with your favorite tools."
45
+ title: "Team permissions",
46
+ description: "Fine-grained access control for every project."
47
47
  }
48
48
  ],
49
49
  layout: "image-right",
@@ -1,4 +1,4 @@
1
- import { buttons } from "../../../puck-base/core/fields.js";
1
+ import { icon, buttons } from "../../../puck-base/core/fields.js";
2
2
  import { IconGrid } from "./icon-grid.js";
3
3
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
4
4
  const conf = {
@@ -19,12 +19,7 @@ const conf = {
19
19
  max: 12,
20
20
  getItemSummary: (item, i = 0) => item.title || `Feature ${i + 1}`,
21
21
  arrayFields: {
22
- icon: {
23
- type: "text",
24
- ai: {
25
- instructions: "Use a Lucide icon name in kebab-case (e.g. book-open, target, compass, zap, shield, globe, heart, star, rocket, lock, clock, check, sparkles, pen-tool, layers, users, message-circle). Any valid Lucide icon name works."
26
- }
27
- },
22
+ icon,
28
23
  title: { type: "text" },
29
24
  description: { type: "textarea" }
30
25
  },
@@ -37,27 +32,27 @@ const conf = {
37
32
  styles: createStylesField()
38
33
  },
39
34
  defaultProps: {
40
- heading: "Why choose us",
41
- description: "Features that set us apart.",
35
+ heading: "Built for every workflow",
36
+ description: "From planning to launch, we've got you covered.",
42
37
  columns: 3,
43
38
  features: [
44
39
  {
45
40
  icon: "zap",
46
- title: "Fast",
47
- description: "Lightning-fast performance."
41
+ title: "API First",
42
+ description: "Build on a robust, well-documented API."
48
43
  },
49
44
  {
50
45
  icon: "shield",
51
- title: "Secure",
52
- description: "Enterprise-grade security."
46
+ title: "Enterprise Security",
47
+ description: "SOC 2 compliant with end-to-end encryption."
53
48
  },
54
- { icon: "globe", title: "Global", description: "Available worldwide." },
55
- { icon: "heart", title: "Loved", description: "Trusted by thousands." },
56
- { icon: "rocket", title: "Scalable", description: "Grows with you." },
49
+ { icon: "globe", title: "Global CDN", description: "Sub-50ms response times worldwide." },
50
+ { icon: "heart", title: "24/7 Support", description: "Expert help whenever you need it." },
51
+ { icon: "rocket", title: "Cloud Native", description: "Serverless infrastructure that scales automatically." },
57
52
  {
58
53
  icon: "sparkles",
59
- title: "Modern",
60
- description: "Built with latest tech."
54
+ title: "Custom Integrations",
55
+ description: "Connect with the tools your team already uses."
61
56
  }
62
57
  ],
63
58
  styles: createStylesDefaults()
@@ -42,45 +42,40 @@ const conf = {
42
42
  styles: createStylesField()
43
43
  },
44
44
  defaultProps: {
45
- heading: "Built for the Trail",
46
- description: "Every detail of the Summit 32L is engineered for performance and comfort on long-distance hikes.",
45
+ heading: "Powerful under the hood",
46
+ description: "Advanced capabilities that scale with your business.",
47
47
  layout: "grid",
48
48
  columns: 3,
49
49
  features: [
50
50
  {
51
- icon: "mountain",
52
- title: "Weather-Resistant Shell",
53
- description: "Ripstop nylon exterior with DWR coating sheds rain and resists abrasion on rugged terrain."
51
+ icon: "test-tube-diagonal",
52
+ title: "Automated Testing",
53
+ description: "Run your test suite on every push with parallel execution and smart retries."
54
54
  },
55
55
  {
56
- icon: "wind",
57
- title: "Ventilated Back Panel",
58
- description: "Suspended mesh back panel promotes airflow, keeping you cool during steep climbs."
56
+ icon: "git-branch",
57
+ title: "CI/CD Pipeline",
58
+ description: "Fully managed continuous integration and deployment with zero configuration."
59
59
  },
60
60
  {
61
- icon: "lock",
62
- title: "Lockable Zippers",
63
- description: "YKK zippers with locking pulls keep your gear secure on crowded trails and transit."
61
+ icon: "scroll-text",
62
+ title: "Real-time Logs",
63
+ description: "Stream logs from any environment with powerful search and filtering."
64
64
  },
65
65
  {
66
- icon: "droplets",
67
- title: "Hydration Compatible",
68
- description: "Dedicated sleeve and port for up to a 3L hydration reservoir, accessible without removing the pack."
66
+ icon: "globe",
67
+ title: "Custom Domains",
68
+ description: "Connect your own domains with automatic SSL provisioning and renewal."
69
69
  },
70
70
  {
71
- icon: "ruler",
72
- title: "Adjustable Torso Fit",
73
- description: "Sliding harness system fits torso lengths from 15 to 22 inches for a custom, load-bearing fit."
74
- },
75
- {
76
- icon: "moon",
77
- title: "Reflective Accents",
78
- description: "360° reflective details and a blinker attachment loop for visibility during dawn and dusk hikes."
71
+ icon: "webhook",
72
+ title: "Webhooks",
73
+ description: "Trigger external services and workflows with configurable webhook events."
79
74
  }
80
75
  ],
81
76
  image: {
82
77
  src: getPlaceholderImageUrl("1200x800", "Product Image"),
83
- alt: "Summit 32L hiking backpack"
78
+ alt: "Platform features overview"
84
79
  },
85
80
  styles: createStylesDefaults()
86
81
  },
@@ -61,33 +61,28 @@ const conf = {
61
61
  styles: createStylesField()
62
62
  },
63
63
  defaultProps: {
64
- companyName: "Puck Visual Editor",
65
- tagLine: "Build visually. Launch instantly.",
66
- address: "1 Puck Avenue\nVisual Park\nCA 123123\n© 2024 Puck, Inc.",
64
+ companyName: "Acme Inc",
65
+ tagLine: "Build faster. Ship with confidence.",
66
+ address: "123 Market St\nSan Francisco, CA 94105\n© 2024 Acme, Inc.",
67
67
  navigation: [
68
- {
69
- label: "Home",
70
- url: "/",
71
- items: []
72
- },
73
68
  {
74
69
  label: "Product",
75
70
  items: [
76
71
  {
77
- label: "Reports",
78
- url: "/reports"
72
+ label: "Features",
73
+ url: "/features"
79
74
  },
80
75
  {
81
- label: "Statistics",
82
- url: "/statistics"
76
+ label: "Pricing",
77
+ url: "/pricing"
83
78
  },
84
79
  {
85
- label: "Dashboards",
86
- url: "/dashboards"
80
+ label: "Changelog",
81
+ url: "/changelog"
87
82
  },
88
83
  {
89
- label: "Recordings",
90
- url: "/recordings"
84
+ label: "Docs",
85
+ url: "/docs"
91
86
  }
92
87
  ]
93
88
  },
@@ -95,19 +90,19 @@ const conf = {
95
90
  label: "Company",
96
91
  items: [
97
92
  {
98
- label: "About us",
93
+ label: "About",
99
94
  url: "/about"
100
95
  },
101
96
  {
102
- label: "Fundraising",
103
- url: "/fundraising"
97
+ label: "Blog",
98
+ url: "/blog"
104
99
  },
105
100
  {
106
- label: "Investors",
107
- url: "/investors"
101
+ label: "Careers",
102
+ url: "/careers"
108
103
  },
109
104
  {
110
- label: "Contact us",
105
+ label: "Contact",
111
106
  url: "/contact"
112
107
  }
113
108
  ]
@@ -2,8 +2,8 @@ import { description, heading } from "../../../puck-base/core/fields.js";
2
2
  import { Gallery } from "./gallery.js";
3
3
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
4
4
  const defaultImage = {
5
- src: "https://picsum.photos/seed/Gallery%20Image/800/600",
6
- alt: "Gallery image",
5
+ src: "https://images.pexels.com/photos/3888151/pexels-photo-3888151.jpeg?auto=compress&cs=tinysrgb&w=1200",
6
+ alt: "Developer workspace with laptop showing code",
7
7
  caption: ""
8
8
  };
9
9
  const conf = {
@@ -52,12 +52,16 @@ const conf = {
52
52
  })
53
53
  },
54
54
  defaultProps: {
55
- heading: "Our Gallery",
56
- description: "A showcase of our finest work and moments.",
57
- images: Array.from({ length: 6 }).map((_, i) => ({
58
- ...defaultImage,
59
- alt: `Gallery image ${i + 1}`
60
- })),
55
+ heading: "Product Showcase",
56
+ description: "A visual tour of our platform's key features and interfaces.",
57
+ images: [
58
+ { src: "https://images.pexels.com/photos/3888151/pexels-photo-3888151.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Developer workspace with laptop showing program code on screen", caption: "" },
59
+ { src: "https://images.pexels.com/photos/546819/pexels-photo-546819.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "MacBook Pro displaying lines of code with colorful syntax highlighting", caption: "" },
60
+ { src: "https://images.pexels.com/photos/574071/pexels-photo-574071.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Computer monitor showing colorful code on dark background", caption: "" },
61
+ { src: "https://images.pexels.com/photos/4218883/pexels-photo-4218883.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Clean workspace with computer displaying code editor", caption: "" },
62
+ { src: "https://images.pexels.com/photos/270404/pexels-photo-270404.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Source code displayed on computer screen in developer office", caption: "" },
63
+ { src: "https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Minimalist developer desk setup with laptop and coffee", caption: "" }
64
+ ],
61
65
  styles: createStylesDefaults({ columns: 3, gap: "md", aspectRatio: "auto" })
62
66
  },
63
67
  render: Gallery
@@ -1,8 +1,8 @@
1
1
  import { Gallery2 } from "./gallery-2.js";
2
2
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
3
3
  const defaultImage = {
4
- src: "https://picsum.photos/seed/Gallery%20Image/1400/700",
5
- alt: "Gallery image"
4
+ src: "https://images.pexels.com/photos/3861969/pexels-photo-3861969.jpeg?auto=compress&cs=tinysrgb&w=1200",
5
+ alt: "Developer working at desk with multiple monitors showing code"
6
6
  };
7
7
  const conf = {
8
8
  fields: {
@@ -19,7 +19,7 @@ const conf = {
19
19
  max: 10,
20
20
  getItemSummary: (item, index = 0) => item.alt || `Image ${index + 1}`,
21
21
  arrayFields: {
22
- src: { type: "image", label: "图片" },
22
+ src: { type: "image", label: "Image" },
23
23
  alt: { type: "text", label: "Alt Text" }
24
24
  },
25
25
  defaultItemProps: defaultImage
@@ -27,12 +27,13 @@ const conf = {
27
27
  styles: createStylesField()
28
28
  },
29
29
  defaultProps: {
30
- heading: "Real transformations from real training",
31
- description: "Watch how customized programs and one-on-one coaching help clients reach their fitness goals. Every session is built around your needs.",
32
- images: Array.from({ length: 3 }).map((_, i) => ({
33
- ...defaultImage,
34
- alt: `Gallery image ${i + 1}`
35
- })),
30
+ heading: "Built by developers, for developers",
31
+ description: "Explore how teams use our tools to design, build, and ship products that make an impact.",
32
+ images: [
33
+ { src: "https://images.pexels.com/photos/3861969/pexels-photo-3861969.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Developer working at desk with multiple monitors showing code" },
34
+ { src: "https://images.pexels.com/photos/1181677/pexels-photo-1181677.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Two developers collaborating on code at a shared workspace" },
35
+ { src: "https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Tech team collaborating around laptops at a modern office table" }
36
+ ],
36
37
  styles: createStylesDefaults()
37
38
  },
38
39
  render: Gallery2
@@ -1,11 +1,14 @@
1
- import { getPlaceholderImageUrl } from "../../../puck-base/core/fields.js";
2
1
  import { Gallery3 } from "./gallery-3.js";
3
2
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
4
- const makeDefaultImage = (i) => ({
5
- src: getPlaceholderImageUrl("1200x800", `Gallery Image ${i + 1}`),
6
- alt: `Gallery image ${i + 1}`,
7
- caption: ""
8
- });
3
+ const pexelsImages = [
4
+ { src: "https://images.pexels.com/photos/113850/pexels-photo-113850.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Technology desktop showing colorful source code on screen", caption: "" },
5
+ { src: "https://images.pexels.com/photos/196644/pexels-photo-196644.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Top-down view of laptop displaying code in a modern workspace", caption: "" },
6
+ { src: "https://images.pexels.com/photos/6424590/pexels-photo-6424590.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Close-up of laptop screen showing programming code", caption: "" },
7
+ { src: "https://images.pexels.com/photos/1181671/pexels-photo-1181671.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Developer focused on coding at laptop in a bright workspace", caption: "" },
8
+ { src: "https://images.pexels.com/photos/3888151/pexels-photo-3888151.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Modern laptop with program code on screen at workplace", caption: "" },
9
+ { src: "https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Tech team working together at a collaborative desk setup", caption: "" }
10
+ ];
11
+ const makeDefaultImage = (i) => pexelsImages[i % pexelsImages.length];
9
12
  const conf = {
10
13
  fields: {
11
14
  heading: {
@@ -21,7 +24,7 @@ const conf = {
21
24
  max: 9,
22
25
  getItemSummary: (item, index = 0) => item.alt || `Image ${index + 1}`,
23
26
  arrayFields: {
24
- src: { type: "image", label: "图片" },
27
+ src: { type: "image", label: "Image" },
25
28
  alt: { type: "text", label: "Alt Text" },
26
29
  caption: { type: "text", label: "Caption" }
27
30
  },
@@ -30,24 +33,24 @@ const conf = {
30
33
  showCaptions: {
31
34
  type: "radio",
32
35
  options: [
33
- { label: "显示", value: true },
34
- { label: "隐藏", value: false }
36
+ { label: "Show", value: true },
37
+ { label: "Hide", value: false }
35
38
  ]
36
39
  },
37
40
  styles: createStylesField({
38
41
  gap: {
39
42
  type: "radio",
40
43
  options: [
41
- { label: "紧凑", value: "sm" },
42
- { label: "默认", value: "md" },
43
- { label: "宽松", value: "lg" }
44
+ { label: "Compact", value: "sm" },
45
+ { label: "Default", value: "md" },
46
+ { label: "Spacious", value: "lg" }
44
47
  ]
45
48
  }
46
49
  })
47
50
  },
48
51
  defaultProps: {
49
- heading: "Crafted with intention",
50
- description: "A curated selection of moments that define our work and vision.",
52
+ heading: "Design that speaks for itself",
53
+ description: "A curated look at the interfaces and experiences our platform helps bring to life.",
51
54
  images: Array.from({ length: 6 }, (_, i) => makeDefaultImage(i)),
52
55
  showCaptions: true,
53
56
  styles: createStylesDefaults({ gap: "md" })
@@ -4,8 +4,8 @@ import { actionDefaults, button, action } from "../../../puck-base/core/fields.j
4
4
  import { createStylesField } from "../../../puck-base/core/styles.js";
5
5
  const defaultNavigationItems = [
6
6
  {
7
- label: "Home",
8
- url: "/",
7
+ label: "Product",
8
+ url: "/product",
9
9
  description: "",
10
10
  items: [],
11
11
  cta: {
@@ -17,10 +17,10 @@ const defaultNavigationItems = [
17
17
  }
18
18
  },
19
19
  {
20
- label: "Product",
21
- description: "Managing a small business today is already tough.",
20
+ label: "Features",
21
+ description: "Everything you need to build, deploy, and scale.",
22
22
  cta: {
23
- label: "Book a call today",
23
+ label: "See all features",
24
24
  url: "#",
25
25
  size: "default",
26
26
  variant: "default",
@@ -28,59 +28,75 @@ const defaultNavigationItems = [
28
28
  },
29
29
  items: [
30
30
  {
31
- label: "Reports",
32
- url: "/reports"
31
+ label: "Continuous Deployment",
32
+ url: "/features/deployment"
33
33
  },
34
34
  {
35
- label: "Statistics",
36
- url: "/statistics"
35
+ label: "Edge Functions",
36
+ url: "/features/edge"
37
37
  },
38
38
  {
39
- label: "Dashboards",
40
- url: "/dashboards"
39
+ label: "Analytics",
40
+ url: "/features/analytics"
41
41
  },
42
42
  {
43
- label: "Recordings",
44
- url: "/recordings"
43
+ label: "Monitoring",
44
+ url: "/features/monitoring"
45
45
  }
46
46
  ]
47
47
  },
48
48
  {
49
- label: "Company",
50
- description: "Managing a small business today is already tough.",
49
+ label: "Pricing",
50
+ url: "/pricing",
51
+ description: "",
52
+ items: [],
51
53
  cta: {
52
- label: "Book a call today",
53
- url: "#",
54
+ label: "",
55
+ url: "",
54
56
  size: "default",
55
57
  variant: "default",
56
58
  icon: "none"
57
- },
58
- items: [
59
- {
60
- label: "About us",
61
- url: "/about"
62
- },
63
- {
64
- label: "Fundraising",
65
- url: "/fundraising"
66
- },
67
- {
68
- label: "Investors",
69
- url: "/investors"
70
- },
71
- {
72
- label: "Contact us",
73
- url: "/contact"
74
- }
75
- ]
59
+ }
60
+ },
61
+ {
62
+ label: "Docs",
63
+ url: "/docs",
64
+ description: "",
65
+ items: [],
66
+ cta: {
67
+ label: "",
68
+ url: "",
69
+ size: "default",
70
+ variant: "default",
71
+ icon: "none"
72
+ }
76
73
  }
77
74
  ];
78
75
  const defaultActionItems = [
79
76
  {
80
- label: "Get Start",
77
+ label: "Sign In",
78
+ url: "#",
79
+ action: {
80
+ type: "external",
81
+ pageUrl: "",
82
+ externalUrl: "#",
83
+ openInNewTab: "false",
84
+ email: "",
85
+ subject: "",
86
+ phone: "",
87
+ sectionId: "",
88
+ downloadUrl: ""
89
+ },
90
+ variant: "outline",
91
+ icon: "none",
92
+ divider: "false",
93
+ isHiddenOnMobile: "true"
94
+ },
95
+ {
96
+ label: "Get Started",
81
97
  url: "#",
82
98
  action: {
83
- type: "email",
99
+ type: "external",
84
100
  pageUrl: "",
85
101
  externalUrl: "#",
86
102
  openInNewTab: "false",
@@ -131,7 +147,7 @@ const conf = {
131
147
  url: "",
132
148
  description: "A description will appear if the link has no URL defined",
133
149
  cta: {
134
- label: "Book a call today",
150
+ label: "Learn more",
135
151
  url: "#",
136
152
  variant: "default",
137
153
  icon: "none"
@@ -179,7 +195,7 @@ const conf = {
179
195
  styles: createStylesField()
180
196
  },
181
197
  defaultProps: {
182
- companyName: "TWBlocks",
198
+ companyName: "Acme",
183
199
  navigation: defaultNavigationItems,
184
200
  actions: defaultActionItems,
185
201
  __metadata: {
@@ -13,12 +13,13 @@ const conf = {
13
13
  styles: createStylesField()
14
14
  },
15
15
  defaultProps: {
16
- logo: "Brand",
16
+ logo: "Acme",
17
17
  navigation: [
18
+ { label: "Product", url: "#product" },
18
19
  { label: "Features", url: "#features" },
19
20
  { label: "Pricing", url: "#pricing" },
20
- { label: "About", url: "#about" },
21
- { label: "Contact", url: "#contact" }
21
+ { label: "Docs", url: "#docs" },
22
+ { label: "Blog", url: "#blog" }
22
23
  ],
23
24
  styles: createStylesDefaults()
24
25
  },
@@ -27,16 +27,17 @@ const conf = {
27
27
  })
28
28
  },
29
29
  defaultProps: {
30
- heading: "Your bold headline here.",
31
- description: "A compelling description that supports your headline and encourages visitors to take action.",
30
+ heading: "The future of work starts here",
31
+ description: "Empower your team with tools that adapt to how you work not the other way around.",
32
32
  buttons: [
33
33
  {
34
- label: "Get Started",
34
+ label: "Get Early Access",
35
35
  variant: "default",
36
36
  size: "default",
37
37
  icon: "none"
38
38
  }
39
39
  ],
40
+ backgroundImage: "https://images.pexels.com/photos/924824/pexels-photo-924824.jpeg?auto=compress&cs=tinysrgb&w=1920",
40
41
  styles: createStylesDefaults({
41
42
  sectionStyle: "dark",
42
43
  overlay: "dark"
@@ -18,11 +18,11 @@ const conf = {
18
18
  })
19
19
  },
20
20
  defaultProps: {
21
- heading: "Build something amazing",
22
- description: "The next-generation platform for teams who want to ship faster, together.",
23
- badge: { label: "Try it", url: "", variant: "default" },
21
+ heading: "Supercharge your workflow",
22
+ description: "The developer-first platform for building, testing, and deploying at scale.",
23
+ badge: { label: "Introducing v2.0", url: "", variant: "default" },
24
24
  buttons: [
25
- { label: "Get Started Free", icon: "move-right", variant: "default" }
25
+ { label: "Start Building", icon: "move-right", variant: "default" }
26
26
  ],
27
27
  styles: createStylesDefaults({
28
28
  sectionStyle: "dark",
@@ -1,4 +1,4 @@
1
- import { image1x1Placeholder, image9x16Placeholder, images, buttons, badge } from "../../../puck-base/core/fields.js";
1
+ import { images, buttons, badge } from "../../../puck-base/core/fields.js";
2
2
  import { Hero } from "./hero.js";
3
3
  import { getRandomAdjective } from "../../../puck-base/core/utils.js";
4
4
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
@@ -39,33 +39,37 @@ const conf = {
39
39
  instructions: "Never select the 'single image 16x9' option. Always include 3 images when selecting the 'three images 1x1, 9:16, 1x1' option."
40
40
  }
41
41
  },
42
- images: { ...images, max: 3 },
42
+ images: { ...images, max: 3, defaultItemProps: { src: "https://images.pexels.com/photos/3888151/pexels-photo-3888151.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Modern laptop displaying program code in a clean developer workspace" } },
43
43
  styles: createStylesField()
44
44
  },
45
45
  defaultProps: {
46
46
  displaySize: "default",
47
- heading: "Heading",
48
- description: "Description",
47
+ heading: "Ship products your customers love",
48
+ description: "The all-in-one platform that helps teams design, build, and launch faster — without the chaos.",
49
49
  adjectives: [],
50
50
  badge: {
51
- label: "Badge",
51
+ label: "Now in Beta",
52
52
  url: "",
53
53
  variant: "secondary"
54
54
  },
55
55
  buttons: [
56
56
  {
57
- label: "Secondary CTA",
58
- icon: "ellipsis",
59
- variant: "secondary"
60
- },
61
- {
62
- label: "Primary CTA",
57
+ label: "Start Free Trial",
63
58
  icon: "move-right",
64
59
  variant: "default"
60
+ },
61
+ {
62
+ label: "Watch Demo",
63
+ icon: "play",
64
+ variant: "secondary"
65
65
  }
66
66
  ],
67
67
  imageLayout: "1x1-9x16-1x1",
68
- images: [image1x1Placeholder, image9x16Placeholder, image1x1Placeholder],
68
+ images: [
69
+ { src: "https://images.pexels.com/photos/3888151/pexels-photo-3888151.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Modern laptop displaying program code in a clean developer workspace" },
70
+ { src: "https://images.pexels.com/photos/546819/pexels-photo-546819.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "MacBook Pro showing lines of code with syntax highlighting" },
71
+ { src: "https://images.pexels.com/photos/574071/pexels-photo-574071.jpeg?auto=compress&cs=tinysrgb&w=1200", alt: "Computer monitor displaying colorful code in a dark environment" }
72
+ ],
69
73
  styles: createStylesDefaults()
70
74
  },
71
75
  render: Hero