dune-react 0.0.10 → 0.0.12

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 (120) 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 +3 -3
  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 +26 -119
  7. package/dist/components/puck-base/core/fields.js +10 -17
  8. package/dist/components/puck-base/core/icon-catalog.d.ts +14 -0
  9. package/dist/components/puck-base/core/icon-catalog.js +193 -0
  10. package/dist/components/puck-base/core/styles.d.ts +102 -33
  11. package/dist/components/puck-base/core/styles.js +45 -81
  12. package/dist/components/puck-base/core/with-editable.d.ts +4 -9
  13. package/dist/components/puck-base/core/with-editable.js +43 -62
  14. package/dist/components/puck-base/fields/action-field.d.ts +30 -0
  15. package/dist/components/puck-base/fields/action-field.js +289 -0
  16. package/dist/components/puck-base/fields/auto-field.d.ts +0 -1
  17. package/dist/components/puck-base/fields/auto-field.js +2 -90
  18. package/dist/components/puck-base/form.js +0 -1
  19. package/dist/components/puck-base/gradient-text.js +1 -1
  20. package/dist/components/puck-base/icon-picker-field.d.ts +8 -0
  21. package/dist/components/puck-base/icon-picker-field.js +153 -0
  22. package/dist/components/puck-base/index.d.ts +1 -1
  23. package/dist/components/puck-base/navigation-menu.d.ts +18 -0
  24. package/dist/components/puck-base/navigation-menu.js +202 -0
  25. package/dist/components/puck-block/banner-sections/announcement-banner-1/index.js +1 -1
  26. package/dist/components/puck-block/banner-sections/marquee-1/index.js +6 -4
  27. package/dist/components/puck-block/contact-sections/contact-us-1/index.js +18 -8
  28. package/dist/components/puck-block/contact-sections/contact-us-2/contact-us-2.js +1 -1
  29. package/dist/components/puck-block/contact-sections/contact-us-2/index.js +7 -7
  30. package/dist/components/puck-block/contact-sections/contact-us-3/index.js +2 -2
  31. package/dist/components/puck-block/cta-sections/banner-cta-1/banner-cta.d.ts +2 -1
  32. package/dist/components/puck-block/cta-sections/banner-cta-1/banner-cta.js +6 -5
  33. package/dist/components/puck-block/cta-sections/banner-cta-1/index.js +4 -4
  34. package/dist/components/puck-block/cta-sections/cta-1/index.js +9 -9
  35. package/dist/components/puck-block/cta-sections/gradient-cta-1/gradient-cta.js +34 -12
  36. package/dist/components/puck-block/cta-sections/gradient-cta-1/index.js +3 -3
  37. package/dist/components/puck-block/cta-sections/newsletter-signup-1/index.js +1 -1
  38. package/dist/components/puck-block/cta-sections/promo-section-1/index.js +5 -6
  39. package/dist/components/puck-block/cta-sections/promo-section-1/promo-section.js +2 -2
  40. package/dist/components/puck-block/faq-sections/accordion-1/accordion.js +8 -3
  41. package/dist/components/puck-block/faq-sections/accordion-1/index.js +7 -3
  42. package/dist/components/puck-block/faq-sections/faq-1/index.js +16 -4
  43. package/dist/components/puck-block/faq-sections/faq-2/index.js +11 -11
  44. package/dist/components/puck-block/feature-sections/bento-1/bento.js +16 -7
  45. package/dist/components/puck-block/feature-sections/bento-1/index.js +19 -6
  46. package/dist/components/puck-block/feature-sections/feature-cards-1/index.js +11 -12
  47. package/dist/components/puck-block/feature-sections/feature-showcase-1/index.js +10 -10
  48. package/dist/components/puck-block/feature-sections/icon-grid-1/icon-grid.js +1 -1
  49. package/dist/components/puck-block/feature-sections/icon-grid-1/index.js +13 -18
  50. package/dist/components/puck-block/feature-sections/product-features-1/index.js +18 -23
  51. package/dist/components/puck-block/footer-sections/footer-1/index.js +17 -22
  52. package/dist/components/puck-block/gallery-sections/gallery-1/index.js +12 -8
  53. package/dist/components/puck-block/gallery-sections/gallery-2/gallery-2.js +14 -6
  54. package/dist/components/puck-block/gallery-sections/gallery-2/index.js +10 -9
  55. package/dist/components/puck-block/gallery-sections/gallery-3/index.js +17 -14
  56. package/dist/components/puck-block/header-sections/header-1/header.d.ts +4 -1
  57. package/dist/components/puck-block/header-sections/header-1/header.js +26 -19
  58. package/dist/components/puck-block/header-sections/header-1/index.js +61 -50
  59. package/dist/components/puck-block/header-sections/sticky-nav-1/index.js +4 -3
  60. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/fullscreen-hero.js +15 -2
  61. package/dist/components/puck-block/hero-sections/fullscreen-hero-1/index.js +4 -4
  62. package/dist/components/puck-block/hero-sections/gradient-hero-1/gradient-hero.js +2 -2
  63. package/dist/components/puck-block/hero-sections/gradient-hero-1/index.js +5 -4
  64. package/dist/components/puck-block/hero-sections/grid-hero-1/grid-hero.js +1 -1
  65. package/dist/components/puck-block/hero-sections/grid-hero-1/index.js +8 -8
  66. package/dist/components/puck-block/hero-sections/hero-1/hero.js +1 -1
  67. package/dist/components/puck-block/hero-sections/hero-1/index.js +16 -12
  68. package/dist/components/puck-block/hero-sections/image-hero-1/image-hero.d.ts +0 -1
  69. package/dist/components/puck-block/hero-sections/image-hero-1/image-hero.js +1 -1
  70. package/dist/components/puck-block/hero-sections/image-hero-1/index.js +23 -6
  71. package/dist/components/puck-block/hero-sections/split-hero-1/index.js +7 -7
  72. package/dist/components/puck-block/hero-sections/video-hero-1/index.js +5 -5
  73. package/dist/components/puck-block/hero-sections/video-hero-1/video-hero.js +1 -1
  74. package/dist/components/puck-block/location-sections/location-1/index.js +4 -7
  75. package/dist/components/puck-block/location-sections/location-1/location.d.ts +1 -0
  76. package/dist/components/puck-block/location-sections/location-1/location.js +2 -3
  77. package/dist/components/puck-block/location-sections/location-2/index.js +4 -7
  78. package/dist/components/puck-block/location-sections/location-2/location.d.ts +1 -0
  79. package/dist/components/puck-block/location-sections/location-2/location.js +2 -3
  80. package/dist/components/puck-block/location-sections/location-3/index.js +15 -14
  81. package/dist/components/puck-block/location-sections/location-3/location.d.ts +3 -0
  82. package/dist/components/puck-block/location-sections/location-3/location.js +7 -4
  83. package/dist/components/puck-block/metrics-sections/stats-1/index.js +13 -13
  84. package/dist/components/puck-block/metrics-sections/stats-2/index.js +8 -10
  85. package/dist/components/puck-block/metrics-sections/stats-2/stats-2.js +0 -1
  86. package/dist/components/puck-block/metrics-sections/stats-3/index.js +13 -15
  87. package/dist/components/puck-block/metrics-sections/stats-3/stats-3.js +14 -1
  88. package/dist/components/puck-block/pricing-sections/comparison-1/index.js +2 -2
  89. package/dist/components/puck-block/pricing-sections/pricing-1/index.js +39 -21
  90. package/dist/components/puck-block/pricing-sections/pricing-2/index.js +30 -34
  91. package/dist/components/puck-block/showcase-sections/before-after-1/index.js +12 -13
  92. package/dist/components/puck-block/showcase-sections/case-study-1/case-study.js +1 -1
  93. package/dist/components/puck-block/showcase-sections/case-study-1/index.js +8 -8
  94. package/dist/components/puck-block/showcase-sections/step-by-step-1/index.js +8 -8
  95. package/dist/components/puck-block/team-sections/team-grid-1/index.js +9 -9
  96. package/dist/components/puck-block/team-sections/team-grid-2/index.js +12 -14
  97. package/dist/components/puck-block/team-sections/team-profiles-1/index.js +11 -9
  98. package/dist/components/puck-block/testimonial-sections/customers-1/index.js +18 -7
  99. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/index.js +2 -2
  100. package/dist/components/puck-block/testimonial-sections/logo-marquee-1/logo-marquee.js +1 -1
  101. package/dist/components/puck-block/testimonial-sections/logo-wall-1/index.js +7 -7
  102. package/dist/components/puck-block/testimonial-sections/review-section-1/index.js +27 -12
  103. package/dist/components/puck-block/testimonial-sections/testimonials-1/index.js +17 -7
  104. package/dist/components/puck-block/testimonial-sections/testimonials-1/testimonials.js +30 -10
  105. package/dist/components/puck-block/text-sections/articles-1/articles.js +1 -1
  106. package/dist/components/puck-block/text-sections/articles-1/index.js +12 -8
  107. package/dist/components/puck-block/text-sections/content-section-1/content-section.js +0 -1
  108. package/dist/components/puck-block/text-sections/content-section-1/index.js +6 -8
  109. package/dist/components/puck-block/text-sections/rich-text-1/index.js +1 -1
  110. package/dist/components/puck-block/text-sections/rich-text-1/rich-text.js +6 -1
  111. package/dist/components/puck-block/text-sections/tab-section-1/index.js +12 -12
  112. package/dist/components/puck-block/text-sections/tab-section-1/tab-section.js +7 -3
  113. package/dist/components/puck-block/text-sections/timeline-1/index.js +17 -7
  114. package/dist/components/puck-block/text-sections/two-column-1/index.js +10 -10
  115. package/dist/components/shadcn/navigation-menu.js +8 -33
  116. package/dist/index.js +9 -1
  117. package/dist/node_modules/.pnpm/lucide-react@0.540.0_react@19.2.4/node_modules/lucide-react/dist/esm/DynamicIcon.js +1 -3
  118. package/package.json +3 -2
  119. package/dist/components/puck-base/action-field.d.ts +0 -8
  120. package/dist/components/puck-base/action-field.js +0 -170
@@ -15,7 +15,6 @@ const locationButtonFields = {
15
15
  };
16
16
  const locationButtonDefaults = {
17
17
  label: "Button",
18
- url: "",
19
18
  variant: "default",
20
19
  size: "default",
21
20
  icon: "none",
@@ -71,11 +70,11 @@ const conf = {
71
70
  styles: createStylesField()
72
71
  },
73
72
  defaultProps: {
74
- heading: "Find us in\nLos Angeles",
75
- description: "Located in the heart of Los Angeles, bblopo is easy to reach. Stop by to meet Yanxin and start your fitness journey today.",
73
+ heading: "Our Offices",
74
+ description: "We have offices around the globe. Visit us or get in touch with a local team near you.",
76
75
  contentAlign: "left",
77
76
  contentPosition: "left",
78
- mapEmbedUrl: "https://maps.google.com/maps?q=Los%20Angeles%2C%20California%2C%20United%20States&z=13&t=m&output=embed",
77
+ mapEmbedUrl: "https://maps.google.com/maps?q=San%20Francisco%2C%20California%2C%20United%20States&z=13&t=m&output=embed",
79
78
  mapTitle: "Google Maps",
80
79
  mapFilter: "grayscale(45%) contrast(1.06) brightness(0.98) saturate(0.9)",
81
80
  mapTintMode: "theme",
@@ -83,8 +82,7 @@ const conf = {
83
82
  mapTintOpacity: 0.21,
84
83
  buttons: [
85
84
  {
86
- label: "Call to visit",
87
- url: "tel:+12345678900",
85
+ label: "Contact us",
88
86
  variant: "default",
89
87
  size: "default",
90
88
  icon: "none",
@@ -92,7 +90,6 @@ const conf = {
92
90
  },
93
91
  {
94
92
  label: "Get directions",
95
- url: "mailto:email@mybusiness.com",
96
93
  variant: "secondary",
97
94
  size: "default",
98
95
  icon: "none",
@@ -2,6 +2,7 @@ import { CompoundContainerProps } from "@/components/puck-base/container";
2
2
  import { CompoundButtonProps } from "@/components/puck-base/button";
3
3
  interface LocationButton extends Omit<CompoundButtonProps, "label"> {
4
4
  label?: string;
5
+ url?: string;
5
6
  colorMode?: "theme" | "custom";
6
7
  backgroundColor?: string;
7
8
  textColor?: string;
@@ -23,8 +23,7 @@ const LocationActionButton = ({
23
23
  CompoundButton,
24
24
  {
25
25
  label,
26
- url,
27
- action,
26
+ action: action ?? (url ? /^https?:\/\//i.test(url) ? { type: "external", externalUrl: url } : { type: "page", pageUrl: url } : void 0),
28
27
  variant,
29
28
  size,
30
29
  icon,
@@ -113,7 +112,7 @@ const LocationSection = ({
113
112
  allowFullScreen: true,
114
113
  style: { filter: mapFilter }
115
114
  }
116
- ) : /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center justify-center bg-muted text-muted-foreground", children: "地图地址未配置" }),
115
+ ) : /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center justify-center bg-muted text-muted-foreground", children: "Map address not configured" }),
117
116
  showMapTint ? /* @__PURE__ */ jsx(
118
117
  "div",
119
118
  {
@@ -15,7 +15,6 @@ const locationButtonFields = {
15
15
  };
16
16
  const locationButtonDefaults = {
17
17
  label: "Button",
18
- url: "",
19
18
  variant: "default",
20
19
  size: "default",
21
20
  icon: "none",
@@ -83,11 +82,11 @@ const conf = {
83
82
  styles: createStylesField(location2ExtraStyleFields)
84
83
  },
85
84
  defaultProps: {
86
- heading: "Come visit\nus today",
87
- description: "We're in the heart of the city, easy to reach by public transport or car. Drop by any time.",
88
- address: "123 Main Street\nNew York, NY 10001",
85
+ heading: "Our Offices",
86
+ description: "Visit our headquarters in London or reach out to one of our regional offices worldwide.",
87
+ address: "10 Finsbury Square\nLondon, UK EC2A 1AF",
89
88
  contentPosition: "left",
90
- mapEmbedUrl: "https://maps.google.com/maps?q=New%20York%2C%20NY%2C%20United%20States&z=13&t=m&output=embed",
89
+ mapEmbedUrl: "https://maps.google.com/maps?q=London%2C%20United%20Kingdom&z=13&t=m&output=embed",
91
90
  mapTitle: "Google Maps",
92
91
  mapFilter: "grayscale(40%) contrast(1.05) brightness(1.0) saturate(0.85)",
93
92
  mapTintMode: "none",
@@ -96,7 +95,6 @@ const conf = {
96
95
  buttons: [
97
96
  {
98
97
  label: "Get Directions",
99
- url: "https://maps.google.com",
100
98
  variant: "default",
101
99
  size: "default",
102
100
  icon: "none",
@@ -104,7 +102,6 @@ const conf = {
104
102
  },
105
103
  {
106
104
  label: "Call Us",
107
- url: "tel:+12345678900",
108
105
  variant: "outline",
109
106
  size: "default",
110
107
  icon: "none",
@@ -2,6 +2,7 @@ import { CompoundContainerProps } from "@/components/puck-base/container";
2
2
  import { CompoundButtonProps } from "@/components/puck-base/button";
3
3
  interface LocationButton extends Omit<CompoundButtonProps, "label"> {
4
4
  label?: string;
5
+ url?: string;
5
6
  colorMode?: "theme" | "custom";
6
7
  backgroundColor?: string;
7
8
  textColor?: string;
@@ -22,8 +22,7 @@ const ActionButton = ({
22
22
  CompoundButton,
23
23
  {
24
24
  label,
25
- url,
26
- action,
25
+ action: action ?? (url ? /^https?:\/\//i.test(url) ? { type: "external", externalUrl: url } : { type: "page", pageUrl: url } : void 0),
27
26
  variant,
28
27
  size,
29
28
  icon,
@@ -67,7 +66,7 @@ const Location2 = ({
67
66
  allowFullScreen: true,
68
67
  style: { filter: mapFilter }
69
68
  }
70
- ) : /* @__PURE__ */ jsx("div", { className: "bg-muted text-muted-foreground flex h-full w-full items-center justify-center text-sm", children: "地图地址未配置" }),
69
+ ) : /* @__PURE__ */ jsx("div", { className: "bg-muted text-muted-foreground flex h-full w-full items-center justify-center text-sm", children: "Map address not configured" }),
71
70
  showMapTint && /* @__PURE__ */ jsx(
72
71
  "div",
73
72
  {
@@ -1,9 +1,9 @@
1
1
  import { Location3 } from "./location.js";
2
2
  import { createStylesDefaults, createStylesField } from "../../../puck-base/core/styles.js";
3
3
  const defaultLocation = {
4
- name: "Downtown",
5
- address: "123 Main Street\nNew York, NY 10001",
6
- phone: "+1 (555) 000-0001",
4
+ name: "San Francisco, CA",
5
+ address: "123 Market Street\nSan Francisco, CA 94105",
6
+ phone: "+1 (415) 555-0100",
7
7
  hours: "Mon–Fri: 9am–6pm\nSat: 10am–4pm",
8
8
  directionsUrl: "https://maps.google.com"
9
9
  };
@@ -43,32 +43,33 @@ const conf = {
43
43
  address: { type: "textarea", contentEditable: true },
44
44
  phone: { type: "text" },
45
45
  hours: { type: "textarea", label: "Business Hours" },
46
- directionsUrl: { type: "text", label: "Directions URL" }
46
+ directionsUrl: { type: "text", label: "Directions URL" },
47
+ directionsLabel: { type: "text", label: "Directions Button Label" }
47
48
  },
48
49
  defaultItemProps: defaultLocation
49
50
  },
50
51
  styles: createStylesField(location3ExtraStyleFields)
51
52
  },
52
53
  defaultProps: {
53
- heading: "Find us\nnear you",
54
- description: "Multiple convenient locations across the city to serve you better.",
54
+ heading: "Our Offices",
55
+ description: "We have teams around the world ready to help you succeed.",
55
56
  mapEmbedUrl: "https://maps.google.com/maps?q=New%20York%2C%20NY%2C%20United%20States&z=11&t=m&output=embed",
56
57
  mapTitle: "Google Maps",
57
58
  mapFilter: "grayscale(35%) contrast(1.05) brightness(1.0)",
58
59
  locations: [
59
60
  defaultLocation,
60
61
  {
61
- name: "Midtown",
62
- address: "456 Park Avenue\nNew York, NY 10022",
63
- phone: "+1 (555) 000-0002",
64
- hours: "Mon–Fri: 8am7pm\nSat–Sun: 10am–5pm",
62
+ name: "London, UK",
63
+ address: "10 Finsbury Square\nLondon, EC2A 1AF",
64
+ phone: "+44 20 7946 0200",
65
+ hours: "Mon–Fri: 9am6pm\nSat: 10am–3pm",
65
66
  directionsUrl: "https://maps.google.com"
66
67
  },
67
68
  {
68
- name: "Brooklyn",
69
- address: "789 Atlantic Ave\nBrooklyn, NY 11217",
70
- phone: "+1 (555) 000-0003",
71
- hours: "Mon–Fri: 9am–6pm\nSat: 11am–4pm",
69
+ name: "Tokyo, Japan",
70
+ address: "1-1-2 Marunouchi\nChiyoda-ku, Tokyo 100-0005",
71
+ phone: "+81 3-1234-5678",
72
+ hours: "Mon–Fri: 9am–6pm",
72
73
  directionsUrl: "https://maps.google.com"
73
74
  }
74
75
  ],
@@ -1,10 +1,13 @@
1
1
  import { CompoundContainerProps } from "@/components/puck-base/container";
2
+ import type { Action } from "@/components/puck-base/core/types";
2
3
  export interface LocationEntry {
3
4
  name: string;
4
5
  address?: string;
5
6
  phone?: string;
6
7
  hours?: string;
7
8
  directionsUrl?: string;
9
+ directionsLabel?: string;
10
+ directionsAction?: Action;
8
11
  }
9
12
  export interface Location3Props {
10
13
  heading?: string;
@@ -37,7 +37,7 @@ const Location3 = ({
37
37
  allowFullScreen: true,
38
38
  style: { filter: mapFilter }
39
39
  }
40
- ) : /* @__PURE__ */ jsx("div", { className: "bg-muted text-muted-foreground flex h-full w-full items-center justify-center text-sm", children: "地图地址未配置" }) }),
40
+ ) : /* @__PURE__ */ jsx("div", { className: "bg-muted text-muted-foreground flex h-full w-full items-center justify-center text-sm", children: "Map address not configured" }) }),
41
41
  locations.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-1 gap-5", colClass), children: locations.map((loc, i) => /* @__PURE__ */ jsxs(
42
42
  "div",
43
43
  {
@@ -104,11 +104,14 @@ const Location3 = ({
104
104
  ),
105
105
  /* @__PURE__ */ jsx("span", { className: "whitespace-pre-line", children: loc.hours })
106
106
  ] }),
107
- loc.directionsUrl && /* @__PURE__ */ jsx("div", { className: "mt-auto pt-2", children: /* @__PURE__ */ jsx(
107
+ (loc.directionsAction || loc.directionsUrl) && /* @__PURE__ */ jsx("div", { className: "mt-auto pt-2", children: /* @__PURE__ */ jsx(
108
108
  CompoundButton,
109
109
  {
110
- label: "Get Directions",
111
- url: loc.directionsUrl,
110
+ label: loc.directionsLabel || "Get Directions",
111
+ action: loc.directionsAction ?? (loc.directionsUrl ? {
112
+ type: "external",
113
+ externalUrl: loc.directionsUrl
114
+ } : void 0),
112
115
  variant: "outline",
113
116
  size: "sm",
114
117
  icon: "map-pin"
@@ -67,8 +67,8 @@ const conf = {
67
67
  styles: createStylesField()
68
68
  },
69
69
  defaultProps: {
70
- heading: "The numbers speak for themselves",
71
- description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
70
+ heading: "Trusted by teams worldwide",
71
+ description: "The numbers behind the platform teams rely on every day.",
72
72
  badge: {
73
73
  label: "Platform",
74
74
  url: "",
@@ -84,32 +84,32 @@ const conf = {
84
84
  ],
85
85
  items: [
86
86
  {
87
- label: "Monthly active users",
88
- value: "500",
87
+ label: "Teams",
88
+ value: "10,000+",
89
89
  percentage: 20.1,
90
90
  direction: "increase",
91
91
  polarity: "positive"
92
92
  },
93
93
  {
94
- label: "Daily active users",
95
- value: "20.1",
94
+ label: "Uptime",
95
+ value: "99.99%",
96
96
  percentage: 2,
97
- direction: "decrease",
98
- polarity: "negative"
97
+ direction: "increase",
98
+ polarity: "positive"
99
99
  },
100
100
  {
101
- label: "Monthly recurring revenue",
102
- value: "$523.520",
101
+ label: "Deployments",
102
+ value: "50M+",
103
103
  percentage: 8,
104
104
  direction: "increase",
105
105
  polarity: "positive"
106
106
  },
107
107
  {
108
- label: "Cost per acquisition",
109
- value: "$5.60",
108
+ label: "Satisfaction",
109
+ value: "4.9/5",
110
110
  percentage: 2,
111
111
  direction: "increase",
112
- polarity: "negative"
112
+ polarity: "positive"
113
113
  }
114
114
  ],
115
115
  layout: "section",
@@ -37,35 +37,33 @@ const conf = {
37
37
  },
38
38
  defaultItemProps: {
39
39
  metric: "100%",
40
- title: "Custom program design",
40
+ title: "Platform metric",
41
41
  variant: "light"
42
42
  }
43
43
  },
44
44
  styles: createStylesField()
45
45
  },
46
46
  defaultProps: {
47
- heading: "Real results from dedicated training",
48
- description: "We focus on measurable progress and sustainable fitness habits. Every client gets customized programs built around their goals and current fitness level.",
47
+ heading: "Built for scale, loved by developers",
48
+ description: "From startups to enterprises, teams ship faster and more reliably with our platform.",
49
49
  buttons: [
50
50
  {
51
- label: "Explore our programs",
52
- url: "/services",
51
+ label: "View case studies",
53
52
  variant: "outline",
54
53
  size: "default",
55
54
  icon: "none"
56
55
  },
57
56
  {
58
- label: "Schedule your first session",
59
- url: "#",
57
+ label: "Get started",
60
58
  variant: "default",
61
59
  size: "default",
62
60
  icon: "none"
63
61
  }
64
62
  ],
65
63
  items: [
66
- { metric: "100%", title: "Custom program design", variant: "dark" },
67
- { metric: "1:1", title: "Personalized attention", variant: "light" },
68
- { metric: "LA", title: "Local Los Angeles training", variant: "light" }
64
+ { metric: "99.9%", title: "Platform reliability", variant: "dark" },
65
+ { metric: "2x", title: "Faster deployments", variant: "light" },
66
+ { metric: "150+", title: "Countries served", variant: "light" }
69
67
  ],
70
68
  styles: createStylesDefaults()
71
69
  },
@@ -24,7 +24,6 @@ const Stats2 = ({
24
24
  CompoundButton,
25
25
  {
26
26
  label: btn.label,
27
- url: btn.url,
28
27
  action: btn.action,
29
28
  variant: btn.variant,
30
29
  size: btn.size,
@@ -42,19 +42,17 @@ const conf = {
42
42
  styles: createStylesField()
43
43
  },
44
44
  defaultProps: {
45
- heading: "Real progress from personalized training",
46
- description: "We focus on measurable improvements and sustainable habits that fit your life.",
45
+ heading: "Why teams choose us",
46
+ description: "Ship with confidence using a platform designed for modern development teams.",
47
47
  buttons: [
48
48
  {
49
- label: "Get started",
50
- url: "#",
49
+ label: "Start building",
51
50
  variant: "default",
52
51
  size: "default",
53
52
  icon: "none"
54
53
  },
55
54
  {
56
- label: "Learn more",
57
- url: "#",
55
+ label: "Read the docs",
58
56
  variant: "outline",
59
57
  size: "default",
60
58
  icon: "none"
@@ -62,19 +60,19 @@ const conf = {
62
60
  ],
63
61
  items: [
64
62
  {
65
- metric: "100%",
66
- title: "Customized programs",
67
- description: "Every plan is tailored to your goals, fitness level, and schedule."
63
+ metric: "5,000+",
64
+ title: "Active teams",
65
+ description: "Engineering teams of all sizes trust our platform to ship production software daily."
68
66
  },
69
67
  {
70
- metric: "1-on-1",
71
- title: "Direct coaching",
72
- description: "You work directly with your coach for focused attention and real-time feedback."
68
+ metric: "< 200ms",
69
+ title: "Median response time",
70
+ description: "Edge-optimized infrastructure delivers sub-200ms response times globally."
73
71
  },
74
72
  {
75
- metric: "4 weeks",
76
- title: "Visible results",
77
- description: "Most clients see measurable strength and endurance improvements within the first month."
73
+ metric: "3 min",
74
+ title: "Average setup time",
75
+ description: "Go from sign-up to your first deployment in under three minutes."
78
76
  }
79
77
  ],
80
78
  styles: createStylesDefaults()
@@ -26,7 +26,20 @@ const Stats3 = ({
26
26
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-8 lg:basis-1/2", children: [
27
27
  description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: description }),
28
28
  buttons.some((button) => button == null ? void 0 : button.label) && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 sm:flex-row", children: buttons.map(
29
- (button, index) => (button == null ? void 0 : button.label) ? /* @__PURE__ */ jsx(CompoundButton, { ...button }, index) : null
29
+ (button, index) => (button == null ? void 0 : button.label) ? /* @__PURE__ */ jsx(
30
+ CompoundButton,
31
+ {
32
+ label: button.label,
33
+ action: button.action,
34
+ variant: button.variant,
35
+ size: button.size,
36
+ icon: button.icon,
37
+ type: button.type,
38
+ disabled: button.disabled,
39
+ className: button.className
40
+ },
41
+ index
42
+ ) : null
30
43
  ) })
31
44
  ] })
32
45
  ] }) }),
@@ -34,8 +34,8 @@ const conf = {
34
34
  styles: createStylesField()
35
35
  },
36
36
  defaultProps: {
37
- heading: "Compare Plans",
38
- description: "Choose the plan that best fits your needs.",
37
+ heading: "Compare plans",
38
+ description: "Find the right plan for your team.",
39
39
  plans: [
40
40
  {
41
41
  name: "Starter",
@@ -23,7 +23,6 @@ const conf = {
23
23
  features: [features.defaultItemProps],
24
24
  button: {
25
25
  label: "Choose",
26
- url: "#",
27
26
  variant: "default",
28
27
  size: "default",
29
28
  icon: "arrow-right"
@@ -36,31 +35,50 @@ const conf = {
36
35
  },
37
36
  defaultProps: {
38
37
  badge: {
39
- label: "Platform",
38
+ label: "Pricing",
40
39
  url: "",
41
40
  variant: "default"
42
41
  },
43
- heading: "Something new!",
44
- description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt",
42
+ heading: "Simple, transparent pricing",
43
+ description: "Start free. Upgrade when you're ready. No hidden fees.",
45
44
  buttons: [],
46
- plans: Array.from({ length: 3 }).map((_, index) => ({
47
- name: `Plan ${index + 1}`,
48
- description: "Our goal is to streamline SMB trade, making it easier and faster than ever for everyone and everywhere.",
49
- price: "$40",
50
- cycle: "month",
51
- features: Array.from({ length: 3 }).map((_2, index2) => ({
52
- icon: "check",
53
- name: `Feature ${index2 + 1}`,
54
- description: "We've made it fast and reliable."
55
- })),
56
- button: {
57
- label: "Sign up today",
58
- url: "#",
59
- icon: "arrow-right",
60
- variant: "outline",
61
- size: "default"
45
+ plans: [
46
+ {
47
+ name: "Free",
48
+ description: "For individuals",
49
+ price: "$0",
50
+ cycle: "month",
51
+ features: [
52
+ { icon: "check", name: "1 project", description: "Get started with a single workspace" },
53
+ { icon: "check", name: "Basic analytics", description: "Track page views and key events" },
54
+ { icon: "check", name: "Community support", description: "Get help from our active community" }
55
+ ],
56
+ button: {
57
+ label: "Get Started",
58
+ icon: "arrow-right",
59
+ variant: "outline",
60
+ size: "default"
61
+ }
62
+ },
63
+ {
64
+ name: "Pro",
65
+ description: "For growing teams",
66
+ price: "$29",
67
+ cycle: "month",
68
+ features: [
69
+ { icon: "check", name: "Unlimited projects", description: "No limits on workspaces or environments" },
70
+ { icon: "check", name: "Advanced analytics", description: "Deep insights with custom dashboards" },
71
+ { icon: "check", name: "Priority support", description: "Direct access to our engineering team" },
72
+ { icon: "check", name: "Custom domains", description: "Connect your own domain with auto SSL" }
73
+ ],
74
+ button: {
75
+ label: "Start Free Trial",
76
+ icon: "arrow-right",
77
+ variant: "default",
78
+ size: "default"
79
+ }
62
80
  }
63
- })),
81
+ ],
64
82
  styles: createStylesDefaults()
65
83
  },
66
84
  render: Pricing
@@ -50,7 +50,6 @@ const conf = {
50
50
  period: "per month",
51
51
  button: {
52
52
  label: "Get started",
53
- url: "#",
54
53
  variant: "outline",
55
54
  size: "default",
56
55
  icon: "none"
@@ -69,75 +68,72 @@ const conf = {
69
68
  styles: createStylesField()
70
69
  },
71
70
  defaultProps: {
72
- heading: "Training plans tailored to you",
73
- description: "Choose the package that fits your goals. Start with one session or commit to a program.",
71
+ heading: "Simple, transparent pricing",
72
+ description: "Start free. Upgrade when you're ready. No hidden fees.",
74
73
  plans: [
75
74
  {
76
75
  badgeLabel: "",
77
- title: "Single Session",
78
- description: "Try a one-on-one training session. Perfect for first-timers or testing your fit.",
79
- price: "$75",
80
- period: "per session",
76
+ title: "Free",
77
+ description: "For individuals getting started.",
78
+ price: "$0",
79
+ period: "per month",
81
80
  button: {
82
- label: "Schedule a session",
83
- url: "#",
81
+ label: "Get Started",
84
82
  variant: "outline",
85
83
  size: "default",
86
84
  icon: "none"
87
85
  },
88
86
  featuresLabel: "What's included:",
89
87
  features: [
90
- { title: "One 60-minute session" },
91
- { title: "Form and technique guidance" },
92
- { title: "Personalized exercise selection" },
93
- { title: "No commitment required" }
88
+ { title: "1 project" },
89
+ { title: "Basic analytics" },
90
+ { title: "Community support" },
91
+ { title: "1 GB storage" }
94
92
  ],
95
93
  isFeatured: false
96
94
  },
97
95
  {
98
96
  badgeLabel: "Most popular",
99
- title: "4-Week Program",
100
- description: "Four weekly sessions designed around your goals. Build momentum and see real progress in a month.",
101
- price: "$260",
97
+ title: "Pro",
98
+ description: "For growing teams that need more power and flexibility.",
99
+ price: "$29",
102
100
  period: "per month",
103
101
  button: {
104
- label: "Start your program",
105
- url: "#",
102
+ label: "Start Free Trial",
106
103
  variant: "default",
107
104
  size: "default",
108
105
  icon: "none"
109
106
  },
110
107
  featuresLabel: "What's included:",
111
108
  features: [
112
- { title: "Four 60-minute sessions" },
113
- { title: "Custom workout plan" },
114
- { title: "Monthly progress check-in" },
115
- { title: "Email support between sessions" },
116
- { title: "Form videos and tips" }
109
+ { title: "Unlimited projects" },
110
+ { title: "Advanced analytics" },
111
+ { title: "Priority support" },
112
+ { title: "Custom domains" },
113
+ { title: "50 GB storage" }
117
114
  ],
118
115
  isFeatured: true
119
116
  },
120
117
  {
121
118
  badgeLabel: "",
122
- title: "8-Week Intensive",
123
- description: "Two sessions per week for eight weeks. Get serious results with consistent training and close coaching.",
124
- price: "$480",
119
+ title: "Enterprise",
120
+ description: "For organizations that need advanced security and dedicated support.",
121
+ price: "$99",
125
122
  period: "per month",
126
123
  button: {
127
- label: "Join the intensive",
128
- url: "#",
124
+ label: "Contact Sales",
129
125
  variant: "outline",
130
126
  size: "default",
131
127
  icon: "none"
132
128
  },
133
129
  featuresLabel: "What's included:",
134
130
  features: [
135
- { title: "Eight 60-minute sessions" },
136
- { title: "Detailed fitness assessment" },
137
- { title: "Progressive training plan" },
138
- { title: "Bi-weekly progress reviews" },
139
- { title: "Priority scheduling" },
140
- { title: "Direct phone and email support" }
131
+ { title: "Everything in Pro" },
132
+ { title: "SSO and SAML" },
133
+ { title: "Dedicated account manager" },
134
+ { title: "99.99% uptime SLA" },
135
+ { title: "Unlimited storage" },
136
+ { title: "Custom integrations" }
141
137
  ],
142
138
  isFeatured: false
143
139
  }