dune-react 0.0.23 → 0.0.24

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 (52) hide show
  1. package/dist/components/puck-base/image.js +1 -1
  2. package/dist/components/puck-block/banner-sections/dual-row-marquee/dual-row-marquee.js +77 -53
  3. package/dist/components/puck-block/contact-sections/tab-locations/tab-locations.js +71 -55
  4. package/dist/components/puck-block/feature-sections/tab-feature/component.js +1 -1
  5. package/dist/components/puck-block/gallery-sections/image-carousel/index.d.ts +14 -1
  6. package/dist/components/puck-block/gallery-sections/interactive-portfolio/interactive-portfolio.js +165 -104
  7. package/dist/components/puck-block/gallery-sections/masonry-grid/index.d.ts +17 -1
  8. package/dist/components/puck-block/gallery-sections/masonry-grid/masonry-grid.js +56 -31
  9. package/dist/components/puck-block/gallery-sections/portfolio-cards/index.d.ts +17 -1
  10. package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +40 -12
  11. package/dist/components/puck-block/gallery-sections/props.d.ts +31 -2
  12. package/dist/components/puck-block/gallery-sections/props.js +17 -4
  13. package/dist/components/puck-block/gallery-sections/scroll-parallax/scroll-parallax.js +68 -37
  14. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/scroll-parallax-portfolio.js +281 -159
  15. package/dist/components/puck-block/gallery-sections/static-grid/index.d.ts +17 -1
  16. package/dist/components/puck-block/header-sections/centered-navbar/centered-navbar.js +94 -14
  17. package/dist/components/puck-block/hero-sections/grid-expand-hero/index.d.ts +17 -1
  18. package/dist/components/puck-block/hero-sections/inline-image-hero/inline-image-hero.js +59 -28
  19. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.d.ts +17 -1
  20. package/dist/components/puck-block/hero-sections/props.d.ts +34 -2
  21. package/dist/components/puck-block/hero-sections/props.js +18 -4
  22. package/dist/components/puck-block/hero-sections/tab-hero/component.js +1 -1
  23. package/dist/components/puck-block/index.d.ts +1 -0
  24. package/dist/components/puck-block/location-sections/index.d.ts +3 -0
  25. package/dist/components/puck-block/location-sections/location-1/index.js +102 -0
  26. package/dist/components/puck-block/location-sections/location-1/location.d.ts +0 -3
  27. package/dist/components/puck-block/location-sections/location-1/location.js +139 -0
  28. package/dist/components/puck-block/location-sections/location-2/index.js +126 -0
  29. package/dist/components/puck-block/location-sections/location-2/location.d.ts +0 -3
  30. package/dist/components/puck-block/location-sections/location-2/location.js +133 -0
  31. package/dist/components/puck-block/location-sections/location-3/index.js +109 -0
  32. package/dist/components/puck-block/location-sections/location-3/location.d.ts +0 -3
  33. package/dist/components/puck-block/location-sections/location-3/location.js +140 -0
  34. package/dist/components/puck-block/location-sections/props.d.ts +0 -3
  35. package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +1 -1
  36. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/component.js +134 -33
  37. package/dist/components/puck-block/pricing-sections/tab-pricing-grid/component.js +86 -40
  38. package/dist/components/puck-block/pricing-sections/tab-single-pricing/component.js +1 -1
  39. package/dist/components/puck-block/registry.generated.d.ts +228 -6
  40. package/dist/components/puck-block/registry.generated.js +157 -138
  41. package/dist/components/puck-block/showcase-sections/tab-timeline/component.js +1 -1
  42. package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.js +157 -83
  43. package/dist/components/puck-block/testimonial-sections/centered-testimonial/component.js +71 -28
  44. package/dist/components/puck-block/testimonial-sections/image-testimonial/component.js +66 -29
  45. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/component.js +1 -1
  46. package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +4 -4
  47. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/component.js +2 -2
  48. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/component.js +1 -1
  49. package/dist/components/puck-core/core/props/form.js +25 -1
  50. package/dist/components/puck-core/fields/location-field.js +4 -1
  51. package/dist/index.js +6 -0
  52. package/package.json +4 -1
@@ -30,7 +30,7 @@ const TabStats = (props) => {
30
30
  TabsContent,
31
31
  {
32
32
  value: tab.value,
33
- className: "data-[state=active]:animate-tabs",
33
+ className: "animate-tabs",
34
34
  children: /* @__PURE__ */ jsxs("div", { className: "relative size-full", children: [
35
35
  tab.image && /* @__PURE__ */ jsx(
36
36
  CompoundImage,
@@ -5,7 +5,16 @@ import { Tabs, TabsList, TabsTrigger, TabsContent } from "../../../shadcn/tabs.j
5
5
  import { cn } from "../../../../utils/css-utils.js";
6
6
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
7
7
  const PricingComparisonTable = (props) => {
8
- const { tagline, heading, description, pricingPlans, featureCategories, tabs, defaultTabValue, styles } = {
8
+ const {
9
+ tagline,
10
+ heading,
11
+ description,
12
+ pricingPlans,
13
+ featureCategories,
14
+ tabs,
15
+ defaultTabValue,
16
+ styles
17
+ } = {
9
18
  ...PricingComparisonTableDefaults,
10
19
  ...props
11
20
  };
@@ -17,7 +26,7 @@ const PricingComparisonTable = (props) => {
17
26
  tableStyle = "border-separated",
18
27
  bottomButtons = false
19
28
  } = styles ?? {};
20
- const renderHeader = (plans) => /* @__PURE__ */ jsxs("div", { className: "sticky top-0 grid grid-cols-3 border-b border-border-primary bg-white md:grid-cols-[1.5fr_1fr_1fr_1fr]", children: [
29
+ const renderHeader = (plans) => /* @__PURE__ */ jsxs("div", { className: "sticky top-0 grid grid-cols-3 border-b border-border-primary bg-background-primary md:grid-cols-[1.5fr_1fr_1fr_1fr]", children: [
21
30
  /* @__PURE__ */ jsx("div", { className: "hidden md:block" }),
22
31
  plans.map((plan, index) => /* @__PURE__ */ jsxs(
23
32
  "div",
@@ -38,20 +47,36 @@ const PricingComparisonTable = (props) => {
38
47
  ] }),
39
48
  /* @__PURE__ */ jsx("p", { children: plan.description })
40
49
  ] }),
41
- /* @__PURE__ */ jsx("div", { className: "mt-6 md:mt-8", children: /* @__PURE__ */ jsx(Button, { variant: plan.button.variant, size: plan.button.size, className: "w-full whitespace-normal px-3 py-1 sm:px-4 sm:py-3", children: plan.button.label }) })
50
+ /* @__PURE__ */ jsx("div", { className: "mt-6 md:mt-8", children: /* @__PURE__ */ jsx(
51
+ Button,
52
+ {
53
+ variant: plan.button.variant,
54
+ size: plan.button.size,
55
+ className: "w-full whitespace-normal px-3 py-1 sm:px-4 sm:py-3",
56
+ children: plan.button.label
57
+ }
58
+ ) })
42
59
  ]
43
60
  },
44
61
  index
45
62
  ))
46
63
  ] });
47
64
  const renderFeatures = () => /* @__PURE__ */ jsx("div", { children: featureCategories.map((featureCategory, catIndex) => /* @__PURE__ */ jsxs("div", { children: [
48
- featureCategory.title && /* @__PURE__ */ jsx("div", { className: `border-b border-border-primary py-5 ${tableStyle === "zebra-striped" ? "bg-background-secondary" : ""}`, children: /* @__PURE__ */ jsx("h3", { className: "text-md font-bold leading-[1.4] md:text-xl", children: featureCategory.title }) }),
65
+ featureCategory.title && /* @__PURE__ */ jsx(
66
+ "div",
67
+ {
68
+ className: `border-b border-border-primary py-5 ${tableStyle === "zebra-striped" ? "bg-background-secondary" : ""}`,
69
+ children: /* @__PURE__ */ jsx("h3", { className: "text-md font-bold leading-[1.4] md:text-xl", children: featureCategory.title })
70
+ }
71
+ ),
49
72
  featureCategory.features.map((feature, featureIndex) => /* @__PURE__ */ jsxs(
50
73
  "div",
51
74
  {
52
75
  className: cn(
53
76
  "grid grid-cols-3 border-b border-border-primary md:grid-cols-[1.5fr_1fr_1fr_1fr]",
54
- { "bg-background-secondary": tableStyle === "zebra-striped" && featureIndex % 2 === 0 }
77
+ {
78
+ "bg-background-secondary": tableStyle === "zebra-striped" && featureIndex % 2 === 0
79
+ }
55
80
  ),
56
81
  children: [
57
82
  /* @__PURE__ */ jsx("p", { className: "col-span-3 row-span-1 border-b border-border-primary py-4 pr-4 md:col-span-1 md:border-0 md:pr-6", children: feature.text }),
@@ -76,41 +101,113 @@ const PricingComparisonTable = (props) => {
76
101
  ] }, catIndex)) });
77
102
  const renderBottomButtons = (plans) => /* @__PURE__ */ jsxs("div", { className: "mt-8 grid grid-cols-3 md:grid-cols-[1.5fr_1fr_1fr_1fr]", children: [
78
103
  /* @__PURE__ */ jsx("div", { className: "hidden md:block" }),
79
- plans.map((plan, index) => /* @__PURE__ */ jsx("div", { className: cn("px-2 sm:px-4 lg:px-6", { "border-l border-border-primary": index > 0 }), children: /* @__PURE__ */ jsx(Button, { variant: plan.button.variant, size: plan.button.size, className: "w-full whitespace-normal px-3 py-1 sm:px-4 sm:py-3", children: plan.button.label }) }, index))
104
+ plans.map((plan, index) => /* @__PURE__ */ jsx(
105
+ "div",
106
+ {
107
+ className: cn("px-2 sm:px-4 lg:px-6", {
108
+ "border-l border-border-primary": index > 0
109
+ }),
110
+ children: /* @__PURE__ */ jsx(
111
+ Button,
112
+ {
113
+ variant: plan.button.variant,
114
+ size: plan.button.size,
115
+ className: "w-full whitespace-normal px-3 py-1 sm:px-4 sm:py-3",
116
+ children: plan.button.label
117
+ }
118
+ )
119
+ },
120
+ index
121
+ ))
80
122
  ] });
81
- return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
82
- /* @__PURE__ */ jsxs("div", { className: "mx-auto mb-12 max-w-lg text-center md:mb-18 lg:mb-20", children: [
83
- /* @__PURE__ */ jsx("p", { className: "mb-3 font-semibold md:mb-4", children: tagline }),
84
- /* @__PURE__ */ jsx("h1", { className: "mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl", children: heading }),
85
- /* @__PURE__ */ jsx("p", { className: "md:text-md", children: description })
86
- ] }),
87
- tabSwitching && tabs ? /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultTabValue || "monthly", children: [
88
- /* @__PURE__ */ jsx(TabsList, { className: "mx-auto mb-12 w-fit", children: tabs.map((tab, index) => /* @__PURE__ */ jsx(TabsTrigger, { value: tab.value, children: tab.tabName }, index)) }),
89
- tabs.map((tab, index) => /* @__PURE__ */ jsxs(TabsContent, { value: tab.value, className: "w-full data-[state=active]:animate-tabs", children: [
90
- renderHeader(tab.pricingPlans),
91
- renderFeatures(),
92
- bottomButtons && renderBottomButtons(tab.pricingPlans)
93
- ] }, index))
94
- ] }) : /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
95
- renderHeader(pricingPlans),
96
- renderFeatures(),
97
- bottomButtons && renderBottomButtons(pricingPlans)
98
- ] })
99
- ] }) });
123
+ return /* @__PURE__ */ jsx(
124
+ SectionWrapper,
125
+ {
126
+ className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName),
127
+ style: sectionStyle,
128
+ css,
129
+ children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
130
+ /* @__PURE__ */ jsxs("div", { className: "mx-auto mb-12 max-w-lg text-center md:mb-18 lg:mb-20", children: [
131
+ /* @__PURE__ */ jsx("p", { className: "mb-3 font-semibold md:mb-4", children: tagline }),
132
+ /* @__PURE__ */ jsx("h1", { className: "mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl", children: heading }),
133
+ /* @__PURE__ */ jsx("p", { className: "md:text-md", children: description })
134
+ ] }),
135
+ tabSwitching && tabs ? /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultTabValue || "monthly", children: [
136
+ /* @__PURE__ */ jsx(TabsList, { className: "mx-auto mb-12 w-fit", children: tabs.map((tab, index) => /* @__PURE__ */ jsx(TabsTrigger, { value: tab.value, children: tab.tabName }, index)) }),
137
+ tabs.map((tab, index) => /* @__PURE__ */ jsxs(
138
+ TabsContent,
139
+ {
140
+ value: tab.value,
141
+ className: "w-full animate-tabs",
142
+ children: [
143
+ renderHeader(tab.pricingPlans),
144
+ renderFeatures(),
145
+ bottomButtons && renderBottomButtons(tab.pricingPlans)
146
+ ]
147
+ },
148
+ index
149
+ ))
150
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
151
+ renderHeader(pricingPlans),
152
+ renderFeatures(),
153
+ bottomButtons && renderBottomButtons(pricingPlans)
154
+ ] })
155
+ ] })
156
+ }
157
+ );
100
158
  };
101
159
  const defaultPlans = [
102
- { planName: "Basic", monthlyPrice: "$19", description: "Lorem ipsum dolor sit amet", button: { label: "Get started" } },
103
- { planName: "Business", monthlyPrice: "$29", description: "Lorem ipsum dolor sit amet", button: { label: "Get started" } },
104
- { planName: "Enterprise", monthlyPrice: "$49", description: "Lorem ipsum dolor sit amet", button: { label: "Get started" } }
160
+ {
161
+ planName: "Basic",
162
+ monthlyPrice: "$19",
163
+ description: "Lorem ipsum dolor sit amet",
164
+ button: { label: "Get started" }
165
+ },
166
+ {
167
+ planName: "Business",
168
+ monthlyPrice: "$29",
169
+ description: "Lorem ipsum dolor sit amet",
170
+ button: { label: "Get started" }
171
+ },
172
+ {
173
+ planName: "Enterprise",
174
+ monthlyPrice: "$49",
175
+ description: "Lorem ipsum dolor sit amet",
176
+ button: { label: "Get started" }
177
+ }
105
178
  ];
106
179
  const defaultFeatureCategory = {
107
180
  title: "Feature Category",
108
181
  features: [
109
182
  { text: "Feature text goes here", items: ["10", "25", "Unlimited"] },
110
- { text: "Feature text goes here", items: [/* @__PURE__ */ jsx(BiCheck, { className: "size-6" }), /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }), /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })] },
111
- { text: "Feature text goes here", items: [/* @__PURE__ */ jsx(BiCheck, { className: "size-6" }), /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }), /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })] },
112
- { text: "Feature text goes here", items: ["", /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }), /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })] },
113
- { text: "Feature text goes here", items: ["", "", /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })] }
183
+ {
184
+ text: "Feature text goes here",
185
+ items: [
186
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }),
187
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }),
188
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })
189
+ ]
190
+ },
191
+ {
192
+ text: "Feature text goes here",
193
+ items: [
194
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }),
195
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }),
196
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })
197
+ ]
198
+ },
199
+ {
200
+ text: "Feature text goes here",
201
+ items: [
202
+ "",
203
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }),
204
+ /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })
205
+ ]
206
+ },
207
+ {
208
+ text: "Feature text goes here",
209
+ items: ["", "", /* @__PURE__ */ jsx(BiCheck, { className: "size-6" })]
210
+ }
114
211
  ]
115
212
  };
116
213
  const PricingComparisonTableDefaults = {
@@ -118,7 +215,11 @@ const PricingComparisonTableDefaults = {
118
215
  heading: "Pricing plan",
119
216
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
120
217
  pricingPlans: defaultPlans,
121
- featureCategories: [defaultFeatureCategory, defaultFeatureCategory, defaultFeatureCategory],
218
+ featureCategories: [
219
+ defaultFeatureCategory,
220
+ defaultFeatureCategory,
221
+ defaultFeatureCategory
222
+ ],
122
223
  styles: {
123
224
  tabSwitching: false,
124
225
  tableStyle: "border-separated",
@@ -9,55 +9,93 @@ const TabPricingGrid = (props) => {
9
9
  ...TabPricingGridDefaults,
10
10
  ...props
11
11
  };
12
- const { className: sectionClassName, style: sectionStyle, css, columns = 2 } = styles ?? {};
12
+ const {
13
+ className: sectionClassName,
14
+ style: sectionStyle,
15
+ css,
16
+ columns = 2
17
+ } = styles ?? {};
13
18
  const gridColsClass = columns === 3 ? "md:grid-cols-2 lg:grid-cols-3" : "md:grid-cols-2";
14
19
  const containerMaxW = columns === 3 ? "" : "max-w-xl";
15
- return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: `container ${containerMaxW}`, children: [
16
- /* @__PURE__ */ jsxs("div", { className: "mx-auto mb-8 max-w-lg text-center md:mb-10 lg:mb-12", children: [
17
- /* @__PURE__ */ jsx("p", { className: "mb-3 font-semibold md:mb-4", children: tagline }),
18
- /* @__PURE__ */ jsx("h2", { className: "rb-5 mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl", children: heading }),
19
- /* @__PURE__ */ jsx("p", { className: "md:text-md", children: description })
20
- ] }),
21
- /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultTabValue, children: [
22
- /* @__PURE__ */ jsx(TabsList, { className: "mx-auto mb-12 w-fit", children: tabs.map((tab, index) => /* @__PURE__ */ jsx(TabsTrigger, { value: tab.value, children: tab.tabName }, index)) }),
23
- tabs.map((tab, index) => /* @__PURE__ */ jsx(
24
- TabsContent,
25
- {
26
- value: tab.value,
27
- className: `grid grid-cols-1 gap-8 data-[state=active]:animate-tabs ${gridColsClass}`,
28
- children: tab.plans.map((plan, planIndex) => /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between border border-border-primary px-6 py-8 md:p-8", children: [
29
- /* @__PURE__ */ jsxs("div", { children: [
30
- /* @__PURE__ */ jsxs("div", { className: "rb-6 mb-6 text-center md:mb-8", children: [
31
- /* @__PURE__ */ jsx("h6", { className: "text-md font-bold leading-[1.4] md:text-xl", children: plan.planName }),
32
- /* @__PURE__ */ jsxs("h1", { className: "my-2 text-6xl font-bold md:text-9xl lg:text-10xl", children: [
33
- plan.price,
34
- /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold md:text-3xl lg:text-4xl", children: tab.value === "monthly" ? "/mo" : "/yr" })
35
- ] }),
36
- tab.value === "yearly" && plan.discount && /* @__PURE__ */ jsx("p", { className: "mt-2 font-medium", children: plan.discount })
37
- ] }),
38
- /* @__PURE__ */ jsx("div", { className: "mb-8 grid grid-cols-1 gap-4 py-2", children: plan.features.map((feature, featureIndex) => /* @__PURE__ */ jsxs("div", { className: "flex self-start", children: [
39
- /* @__PURE__ */ jsx("div", { className: "mr-4 flex-none self-start", children: /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }) }),
40
- /* @__PURE__ */ jsx("p", { children: feature })
41
- ] }, featureIndex)) })
42
- ] }),
43
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Button, { variant: plan.button.variant, size: plan.button.size, className: "w-full", children: plan.button.label }) })
44
- ] }, planIndex))
45
- },
46
- index
47
- ))
48
- ] })
49
- ] }) });
20
+ return /* @__PURE__ */ jsx(
21
+ SectionWrapper,
22
+ {
23
+ className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName),
24
+ style: sectionStyle,
25
+ css,
26
+ children: /* @__PURE__ */ jsxs("div", { className: `container ${containerMaxW}`, children: [
27
+ /* @__PURE__ */ jsxs("div", { className: "mx-auto mb-8 max-w-lg text-center md:mb-10 lg:mb-12", children: [
28
+ /* @__PURE__ */ jsx("p", { className: "mb-3 font-semibold md:mb-4", children: tagline }),
29
+ /* @__PURE__ */ jsx("h2", { className: "rb-5 mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl", children: heading }),
30
+ /* @__PURE__ */ jsx("p", { className: "md:text-md", children: description })
31
+ ] }),
32
+ /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultTabValue, children: [
33
+ /* @__PURE__ */ jsx(TabsList, { className: "mx-auto mb-12 w-fit", children: tabs.map((tab, index) => /* @__PURE__ */ jsx(TabsTrigger, { value: tab.value, children: tab.tabName }, index)) }),
34
+ tabs.map((tab, index) => /* @__PURE__ */ jsx(
35
+ TabsContent,
36
+ {
37
+ value: tab.value,
38
+ className: `grid grid-cols-1 gap-8 animate-tabs ${gridColsClass}`,
39
+ children: tab.plans.map((plan, planIndex) => /* @__PURE__ */ jsxs(
40
+ "div",
41
+ {
42
+ className: "flex h-full flex-col justify-between border border-border-primary px-6 py-8 md:p-8",
43
+ children: [
44
+ /* @__PURE__ */ jsxs("div", { children: [
45
+ /* @__PURE__ */ jsxs("div", { className: "rb-6 mb-6 text-center md:mb-8", children: [
46
+ /* @__PURE__ */ jsx("h6", { className: "text-md font-bold leading-[1.4] md:text-xl", children: plan.planName }),
47
+ /* @__PURE__ */ jsxs("h1", { className: "my-2 text-6xl font-bold md:text-9xl lg:text-10xl", children: [
48
+ plan.price,
49
+ /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold md:text-3xl lg:text-4xl", children: tab.value === "monthly" ? "/mo" : "/yr" })
50
+ ] }),
51
+ tab.value === "yearly" && plan.discount && /* @__PURE__ */ jsx("p", { className: "mt-2 font-medium", children: plan.discount })
52
+ ] }),
53
+ /* @__PURE__ */ jsx("div", { className: "mb-8 grid grid-cols-1 gap-4 py-2", children: plan.features.map((feature, featureIndex) => /* @__PURE__ */ jsxs("div", { className: "flex self-start", children: [
54
+ /* @__PURE__ */ jsx("div", { className: "mr-4 flex-none self-start", children: /* @__PURE__ */ jsx(BiCheck, { className: "size-6" }) }),
55
+ /* @__PURE__ */ jsx("p", { children: feature })
56
+ ] }, featureIndex)) })
57
+ ] }),
58
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
59
+ Button,
60
+ {
61
+ variant: plan.button.variant,
62
+ size: plan.button.size,
63
+ className: "w-full",
64
+ children: plan.button.label
65
+ }
66
+ ) })
67
+ ]
68
+ },
69
+ planIndex
70
+ ))
71
+ },
72
+ index
73
+ ))
74
+ ] })
75
+ ] })
76
+ }
77
+ );
50
78
  };
51
79
  const basePlan = {
52
80
  planName: "Basic plan",
53
81
  price: "$19",
54
- features: ["Feature text goes here", "Feature text goes here", "Feature text goes here"],
82
+ features: [
83
+ "Feature text goes here",
84
+ "Feature text goes here",
85
+ "Feature text goes here"
86
+ ],
55
87
  button: { label: "Get started" }
56
88
  };
57
89
  const businessPlan = {
58
90
  planName: "Business plan",
59
91
  price: "$29",
60
- features: ["Feature text goes here", "Feature text goes here", "Feature text goes here", "Feature text goes here", "Feature text goes here"],
92
+ features: [
93
+ "Feature text goes here",
94
+ "Feature text goes here",
95
+ "Feature text goes here",
96
+ "Feature text goes here",
97
+ "Feature text goes here"
98
+ ],
61
99
  button: { label: "Get started" }
62
100
  };
63
101
  const TabPricingGridDefaults = {
@@ -75,8 +113,16 @@ const TabPricingGridDefaults = {
75
113
  value: "yearly",
76
114
  tabName: "Yearly",
77
115
  plans: [
78
- { ...basePlan, price: "$180", discount: "Save 20% with the annual plan" },
79
- { ...businessPlan, price: "$280", discount: "Save 20% with the annual plan" }
116
+ {
117
+ ...basePlan,
118
+ price: "$180",
119
+ discount: "Save 20% with the annual plan"
120
+ },
121
+ {
122
+ ...businessPlan,
123
+ price: "$280",
124
+ discount: "Save 20% with the annual plan"
125
+ }
80
126
  ]
81
127
  }
82
128
  ],
@@ -22,7 +22,7 @@ const TabSinglePricing = (props) => {
22
22
  TabsContent,
23
23
  {
24
24
  value: tab.value,
25
- className: "container max-w-md data-[state=active]:animate-tabs",
25
+ className: "container max-w-md animate-tabs",
26
26
  children: tab.plans.map((plan, planIndex) => /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between border border-border-primary px-6 py-8 md:p-8", children: [
27
27
  /* @__PURE__ */ jsxs("div", { children: [
28
28
  /* @__PURE__ */ jsxs("div", { className: "rb-6 mb-6 text-center md:mb-8", children: [