@opensite/ui 1.3.2 → 1.3.4

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 (167) hide show
  1. package/dist/footer-accordion-social.cjs +1344 -0
  2. package/dist/footer-accordion-social.d.cts +154 -0
  3. package/dist/footer-accordion-social.d.ts +154 -0
  4. package/dist/footer-accordion-social.js +1322 -0
  5. package/dist/footer-info-cards-accordion.cjs +1427 -0
  6. package/dist/footer-info-cards-accordion.d.cts +278 -0
  7. package/dist/footer-info-cards-accordion.d.ts +278 -0
  8. package/dist/footer-info-cards-accordion.js +1404 -0
  9. package/dist/footer-newsletter-contact.cjs +1281 -0
  10. package/dist/footer-newsletter-contact.d.cts +163 -0
  11. package/dist/footer-newsletter-contact.d.ts +163 -0
  12. package/dist/footer-newsletter-contact.js +1259 -0
  13. package/dist/footer-split-image-accordion.cjs +1395 -0
  14. package/dist/footer-split-image-accordion.d.cts +236 -0
  15. package/dist/footer-split-image-accordion.d.ts +236 -0
  16. package/dist/footer-split-image-accordion.js +1372 -0
  17. package/dist/list-achievements-showcase.cjs +1141 -0
  18. package/dist/list-achievements-showcase.d.cts +131 -0
  19. package/dist/list-achievements-showcase.d.ts +131 -0
  20. package/dist/list-achievements-showcase.js +1119 -0
  21. package/dist/list-career-timeline.cjs +531 -0
  22. package/dist/list-career-timeline.d.cts +153 -0
  23. package/dist/list-career-timeline.d.ts +153 -0
  24. package/dist/list-career-timeline.js +509 -0
  25. package/dist/list-feature-comparison.cjs +1211 -0
  26. package/dist/list-feature-comparison.d.cts +189 -0
  27. package/dist/list-feature-comparison.d.ts +189 -0
  28. package/dist/list-feature-comparison.js +1190 -0
  29. package/dist/list-metrics-dashboard.cjs +1402 -0
  30. package/dist/list-metrics-dashboard.d.cts +191 -0
  31. package/dist/list-metrics-dashboard.d.ts +191 -0
  32. package/dist/list-metrics-dashboard.js +1379 -0
  33. package/dist/list-service-category-table.cjs +762 -0
  34. package/dist/list-service-category-table.d.cts +135 -0
  35. package/dist/list-service-category-table.d.ts +135 -0
  36. package/dist/list-service-category-table.js +741 -0
  37. package/dist/offer-modal-membership-image.cjs +1361 -0
  38. package/dist/offer-modal-membership-image.d.cts +194 -0
  39. package/dist/offer-modal-membership-image.d.ts +194 -0
  40. package/dist/offer-modal-membership-image.js +1339 -0
  41. package/dist/offer-modal-newsletter-discount.cjs +1296 -0
  42. package/dist/offer-modal-newsletter-discount.d.cts +164 -0
  43. package/dist/offer-modal-newsletter-discount.d.ts +164 -0
  44. package/dist/offer-modal-newsletter-discount.js +1274 -0
  45. package/dist/offer-modal-sheet-newsletter.cjs +1360 -0
  46. package/dist/offer-modal-sheet-newsletter.d.cts +221 -0
  47. package/dist/offer-modal-sheet-newsletter.d.ts +221 -0
  48. package/dist/offer-modal-sheet-newsletter.js +1337 -0
  49. package/dist/pricing-addons-cards.cjs +1143 -0
  50. package/dist/pricing-addons-cards.d.cts +203 -0
  51. package/dist/pricing-addons-cards.d.ts +203 -0
  52. package/dist/pricing-addons-cards.js +1122 -0
  53. package/dist/pricing-addons-featured.cjs +1224 -0
  54. package/dist/pricing-addons-featured.d.cts +271 -0
  55. package/dist/pricing-addons-featured.d.ts +271 -0
  56. package/dist/pricing-addons-featured.js +1203 -0
  57. package/dist/pricing-collapsible-plans.cjs +1315 -0
  58. package/dist/pricing-collapsible-plans.d.cts +258 -0
  59. package/dist/pricing-collapsible-plans.d.ts +258 -0
  60. package/dist/pricing-collapsible-plans.js +1294 -0
  61. package/dist/pricing-columns-toggle.cjs +1234 -0
  62. package/dist/pricing-columns-toggle.d.cts +251 -0
  63. package/dist/pricing-columns-toggle.d.ts +251 -0
  64. package/dist/pricing-columns-toggle.js +1212 -0
  65. package/dist/pricing-comparison-headers.cjs +1235 -0
  66. package/dist/pricing-comparison-headers.d.cts +245 -0
  67. package/dist/pricing-comparison-headers.d.ts +245 -0
  68. package/dist/pricing-comparison-headers.js +1213 -0
  69. package/dist/pricing-comparison-table.cjs +1374 -0
  70. package/dist/pricing-comparison-table.d.cts +280 -0
  71. package/dist/pricing-comparison-table.d.ts +280 -0
  72. package/dist/pricing-comparison-table.js +1352 -0
  73. package/dist/pricing-discount-card.cjs +1217 -0
  74. package/dist/pricing-discount-card.d.cts +195 -0
  75. package/dist/pricing-discount-card.d.ts +195 -0
  76. package/dist/pricing-discount-card.js +1195 -0
  77. package/dist/pricing-enterprise-contact.cjs +1094 -0
  78. package/dist/pricing-enterprise-contact.d.cts +170 -0
  79. package/dist/pricing-enterprise-contact.d.ts +170 -0
  80. package/dist/pricing-enterprise-contact.js +1073 -0
  81. package/dist/pricing-feature-matrix.cjs +1197 -0
  82. package/dist/pricing-feature-matrix.d.cts +56 -0
  83. package/dist/pricing-feature-matrix.d.ts +56 -0
  84. package/dist/pricing-feature-matrix.js +1174 -0
  85. package/dist/pricing-four-tier-toggle.cjs +1320 -0
  86. package/dist/pricing-four-tier-toggle.d.cts +266 -0
  87. package/dist/pricing-four-tier-toggle.d.ts +266 -0
  88. package/dist/pricing-four-tier-toggle.js +1297 -0
  89. package/dist/pricing-full-comparison.cjs +1301 -0
  90. package/dist/pricing-full-comparison.d.cts +265 -0
  91. package/dist/pricing-full-comparison.d.ts +265 -0
  92. package/dist/pricing-full-comparison.js +1279 -0
  93. package/dist/pricing-gradient-cards.cjs +1248 -0
  94. package/dist/pricing-gradient-cards.d.cts +258 -0
  95. package/dist/pricing-gradient-cards.d.ts +258 -0
  96. package/dist/pricing-gradient-cards.js +1226 -0
  97. package/dist/pricing-icon-headers.cjs +1163 -0
  98. package/dist/pricing-icon-headers.d.cts +218 -0
  99. package/dist/pricing-icon-headers.d.ts +218 -0
  100. package/dist/pricing-icon-headers.js +1142 -0
  101. package/dist/pricing-minimal-cards.cjs +1146 -0
  102. package/dist/pricing-minimal-cards.d.cts +210 -0
  103. package/dist/pricing-minimal-cards.d.ts +210 -0
  104. package/dist/pricing-minimal-cards.js +1125 -0
  105. package/dist/pricing-packages-radio.cjs +1203 -0
  106. package/dist/pricing-packages-radio.d.cts +243 -0
  107. package/dist/pricing-packages-radio.d.ts +243 -0
  108. package/dist/pricing-packages-radio.js +1182 -0
  109. package/dist/pricing-popular-highlight.cjs +1293 -0
  110. package/dist/pricing-popular-highlight.d.cts +255 -0
  111. package/dist/pricing-popular-highlight.d.ts +255 -0
  112. package/dist/pricing-popular-highlight.js +1271 -0
  113. package/dist/pricing-radio-toggle.cjs +1277 -0
  114. package/dist/pricing-radio-toggle.d.cts +251 -0
  115. package/dist/pricing-radio-toggle.d.ts +251 -0
  116. package/dist/pricing-radio-toggle.js +1255 -0
  117. package/dist/pricing-responsive-table.cjs +1229 -0
  118. package/dist/pricing-responsive-table.d.cts +55 -0
  119. package/dist/pricing-responsive-table.d.ts +55 -0
  120. package/dist/pricing-responsive-table.js +1206 -0
  121. package/dist/pricing-services-cards.cjs +1209 -0
  122. package/dist/pricing-services-cards.d.cts +230 -0
  123. package/dist/pricing-services-cards.d.ts +230 -0
  124. package/dist/pricing-services-cards.js +1188 -0
  125. package/dist/pricing-simple-card.cjs +1102 -0
  126. package/dist/pricing-simple-card.d.cts +174 -0
  127. package/dist/pricing-simple-card.d.ts +174 -0
  128. package/dist/pricing-simple-card.js +1081 -0
  129. package/dist/pricing-single-card.cjs +1174 -0
  130. package/dist/pricing-single-card.d.cts +201 -0
  131. package/dist/pricing-single-card.d.ts +201 -0
  132. package/dist/pricing-single-card.js +1152 -0
  133. package/dist/pricing-split-layout.cjs +1001 -0
  134. package/dist/pricing-split-layout.d.cts +44 -0
  135. package/dist/pricing-split-layout.d.ts +44 -0
  136. package/dist/pricing-split-layout.js +980 -0
  137. package/dist/pricing-spotlight-card.cjs +1157 -0
  138. package/dist/pricing-spotlight-card.d.cts +201 -0
  139. package/dist/pricing-spotlight-card.d.ts +201 -0
  140. package/dist/pricing-spotlight-card.js +1136 -0
  141. package/dist/pricing-switch-cards.cjs +1274 -0
  142. package/dist/pricing-switch-cards.d.cts +254 -0
  143. package/dist/pricing-switch-cards.d.ts +254 -0
  144. package/dist/pricing-switch-cards.js +1252 -0
  145. package/dist/pricing-tabs-toggle.cjs +1314 -0
  146. package/dist/pricing-tabs-toggle.d.cts +274 -0
  147. package/dist/pricing-tabs-toggle.d.ts +274 -0
  148. package/dist/pricing-tabs-toggle.js +1291 -0
  149. package/dist/pricing-tier-grid.cjs +1190 -0
  150. package/dist/pricing-tier-grid.d.cts +224 -0
  151. package/dist/pricing-tier-grid.d.ts +224 -0
  152. package/dist/pricing-tier-grid.js +1169 -0
  153. package/dist/pricing-toggle-cards.cjs +1330 -0
  154. package/dist/pricing-toggle-cards.d.cts +267 -0
  155. package/dist/pricing-toggle-cards.d.ts +267 -0
  156. package/dist/pricing-toggle-cards.js +1307 -0
  157. package/dist/pricing-toggle-period.cjs +1251 -0
  158. package/dist/pricing-toggle-period.d.cts +265 -0
  159. package/dist/pricing-toggle-period.d.ts +265 -0
  160. package/dist/pricing-toggle-period.js +1230 -0
  161. package/dist/pricing-two-column-basic.cjs +1243 -0
  162. package/dist/pricing-two-column-basic.d.cts +244 -0
  163. package/dist/pricing-two-column-basic.d.ts +244 -0
  164. package/dist/pricing-two-column-basic.js +1222 -0
  165. package/dist/registry.cjs +109 -85
  166. package/dist/registry.js +931 -907
  167. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -66012,10 +66012,11 @@ function PricingAddonsCards({
66012
66012
  if (addon.featuresSlot) return addon.featuresSlot;
66013
66013
  if (!addon.features || addon.features.length === 0) return null;
66014
66014
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: addon.features.map((feature, featureIndex) => {
66015
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
66015
+ const iconName = feature.iconName || featureIconName;
66016
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
66016
66017
  DynamicIcon,
66017
66018
  {
66018
- name: feature.iconName || featureIconName,
66019
+ name: iconName,
66019
66020
  size: 16,
66020
66021
  className: cn(
66021
66022
  "mt-0.5 shrink-0 text-primary",
@@ -66232,10 +66233,11 @@ function PricingAddonsFeatured({
66232
66233
  if (addon.featuresSlot) return addon.featuresSlot;
66233
66234
  if (!addon.features || addon.features.length === 0) return null;
66234
66235
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: addon.features.map((feature, featureIndex) => {
66235
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
66236
+ const iconName = feature.iconName || featureIconName;
66237
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
66236
66238
  DynamicIcon,
66237
66239
  {
66238
- name: feature.iconName || featureIconName,
66240
+ name: iconName,
66239
66241
  size: 16,
66240
66242
  className: cn(
66241
66243
  "mt-0.5 shrink-0 text-primary",
@@ -66480,7 +66482,7 @@ function PricingAddonsFeatured({
66480
66482
  function PricingCollapsiblePlans({
66481
66483
  title,
66482
66484
  subtitle,
66483
- plans,
66485
+ plans = [],
66484
66486
  plansSlot,
66485
66487
  defaultSelectedIndex,
66486
66488
  selectedIndex,
@@ -66537,10 +66539,11 @@ function PricingCollapsiblePlans({
66537
66539
  if (plan.featuresSlot) return plan.featuresSlot;
66538
66540
  if (!plan.features || plan.features.length === 0) return null;
66539
66541
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 space-y-3", featuresClassName), children: plan.features.map((feature, index) => {
66540
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
66542
+ const iconName = feature.iconName || featureIconName;
66543
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
66541
66544
  DynamicIcon,
66542
66545
  {
66543
- name: feature.iconName || featureIconName,
66546
+ name: iconName,
66544
66547
  size: 18,
66545
66548
  className: cn(
66546
66549
  "mt-0.5 shrink-0 text-primary",
@@ -66874,10 +66877,11 @@ function PricingColumnsToggle({
66874
66877
  if (plan.featuresSlot) return plan.featuresSlot;
66875
66878
  if (!plan.features || plan.features.length === 0) return null;
66876
66879
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-8 flex-1 space-y-4", featuresClassName), children: plan.features.map((feature, featureIndex) => {
66877
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
66880
+ const iconName = feature.iconName || featureIconName;
66881
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
66878
66882
  DynamicIcon,
66879
66883
  {
66880
- name: feature.iconName || featureIconName,
66884
+ name: iconName,
66881
66885
  size: 18,
66882
66886
  className: cn(
66883
66887
  "mt-0.5 shrink-0 text-primary",
@@ -67139,15 +67143,15 @@ function PricingComparisonHeaders({
67139
67143
  yearlyBadge,
67140
67144
  monthlyInterval,
67141
67145
  yearlyInterval,
67142
- plans,
67146
+ plans = [],
67143
67147
  plansSlot,
67144
67148
  features,
67145
67149
  featuresSlot,
67146
67150
  featureColumnLabel,
67147
67151
  availableIcon,
67148
67152
  unavailableIcon,
67149
- availableIconName,
67150
- unavailableIconName,
67153
+ availableIconName = "Check",
67154
+ unavailableIconName = "X",
67151
67155
  background,
67152
67156
  spacing,
67153
67157
  pattern,
@@ -67409,7 +67413,7 @@ function PricingComparisonHeaders({
67409
67413
  function PricingComparisonTable({
67410
67414
  title,
67411
67415
  subtitle,
67412
- plans,
67416
+ plans = [],
67413
67417
  plansSlot,
67414
67418
  comparisonFeatures,
67415
67419
  comparisonSlot,
@@ -67419,8 +67423,8 @@ function PricingComparisonTable({
67419
67423
  featureIconName,
67420
67424
  availableIcon,
67421
67425
  unavailableIcon,
67422
- availableIconName,
67423
- unavailableIconName,
67426
+ availableIconName = "Check",
67427
+ unavailableIconName = "X",
67424
67428
  background,
67425
67429
  spacing,
67426
67430
  pattern,
@@ -67457,10 +67461,11 @@ function PricingComparisonTable({
67457
67461
  if (plan.featuresSlot) return plan.featuresSlot;
67458
67462
  if (!plan.features || plan.features.length === 0) return null;
67459
67463
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
67460
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
67464
+ const iconName = feature.iconName || featureIconName;
67465
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
67461
67466
  DynamicIcon,
67462
67467
  {
67463
- name: feature.iconName || featureIconName,
67468
+ name: iconName,
67464
67469
  size: 18,
67465
67470
  className: cn(
67466
67471
  "mt-0.5 shrink-0 text-primary",
@@ -67732,10 +67737,11 @@ function PricingDiscountCard({
67732
67737
  if (featuresSlot) return featuresSlot;
67733
67738
  if (!features || features.length === 0) return null;
67734
67739
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3", featuresClassName), children: features.map((feature, index) => {
67735
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
67740
+ const iconName = feature.iconName || featureIconName;
67741
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
67736
67742
  DynamicIcon,
67737
67743
  {
67738
- name: feature.iconName || featureIconName,
67744
+ name: iconName,
67739
67745
  size: 18,
67740
67746
  className: cn(
67741
67747
  "mt-0.5 shrink-0 text-primary",
@@ -67917,7 +67923,7 @@ function PricingEnterpriseContact({
67917
67923
  actionClassName,
67918
67924
  featuresClassName
67919
67925
  }) {
67920
- const renderActions = useMemo(() => {
67926
+ const renderActions = React52.useMemo(() => {
67921
67927
  if (actionsSlot) return actionsSlot;
67922
67928
  if (!actions || actions.length === 0) return null;
67923
67929
  return actions.map((action, index) => {
@@ -67945,14 +67951,15 @@ function PricingEnterpriseContact({
67945
67951
  );
67946
67952
  });
67947
67953
  }, [actionsSlot, actions, actionClassName]);
67948
- const renderFeatures = useMemo(() => {
67954
+ const renderFeatures = React52.useMemo(() => {
67949
67955
  if (featuresSlot) return featuresSlot;
67950
67956
  if (!features || features.length === 0) return null;
67951
67957
  return features.map((feature, index) => {
67952
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
67958
+ const iconName = feature.iconName || featureIconName;
67959
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
67953
67960
  DynamicIcon,
67954
67961
  {
67955
- name: feature.iconName || featureIconName,
67962
+ name: iconName,
67956
67963
  size: 16,
67957
67964
  className: cn("text-primary", feature.iconClassName)
67958
67965
  }
@@ -68054,8 +68061,8 @@ function PricingFeatureMatrix({
68054
68061
  className,
68055
68062
  title,
68056
68063
  subtitle,
68057
- plans,
68058
- featureCategories,
68064
+ plans = [],
68065
+ featureCategories = [],
68059
68066
  background = "default"
68060
68067
  }) {
68061
68068
  const [billingPeriod, setBillingPeriod] = React52.useState("monthly");
@@ -68236,10 +68243,11 @@ function PricingFourTierToggle({
68236
68243
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
68237
68244
  const isIncluded = feature.included !== false;
68238
68245
  const fallbackIconName = isIncluded ? includedIconName : excludedIconName;
68239
- const resolvedIcon = feature.icon ?? (isIncluded ? includedIcon : excludedIcon) ?? (feature.iconName || fallbackIconName ? /* @__PURE__ */ jsxRuntime.jsx(
68246
+ const iconName = feature.iconName || fallbackIconName;
68247
+ const resolvedIcon = feature.icon ?? (isIncluded ? includedIcon : excludedIcon) ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
68240
68248
  DynamicIcon,
68241
68249
  {
68242
- name: feature.iconName || fallbackIconName,
68250
+ name: iconName,
68243
68251
  size: 16,
68244
68252
  className: cn(
68245
68253
  "mt-0.5 shrink-0",
@@ -68502,16 +68510,16 @@ function PricingFullComparison({
68502
68510
  yearlyBadge,
68503
68511
  monthlyInterval,
68504
68512
  yearlyInterval,
68505
- plans,
68513
+ plans = [],
68506
68514
  plansSlot,
68507
- features,
68515
+ features = [],
68508
68516
  comparisonSlot,
68509
68517
  categoryOrder,
68510
68518
  featureColumnLabel,
68511
68519
  availableIcon,
68512
68520
  unavailableIcon,
68513
- availableIconName,
68514
- unavailableIconName,
68521
+ availableIconName = "Check",
68522
+ unavailableIconName = "X",
68515
68523
  background,
68516
68524
  spacing,
68517
68525
  pattern,
@@ -68851,10 +68859,11 @@ function PricingGradientCards({
68851
68859
  if (plan.featuresSlot) return plan.featuresSlot;
68852
68860
  if (!plan.features || plan.features.length === 0) return null;
68853
68861
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
68854
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
68862
+ const iconName = feature.iconName || featureIconName;
68863
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
68855
68864
  DynamicIcon,
68856
68865
  {
68857
- name: feature.iconName || featureIconName,
68866
+ name: iconName,
68858
68867
  size: 18,
68859
68868
  className: cn(
68860
68869
  "mt-0.5 shrink-0 text-primary",
@@ -69127,10 +69136,11 @@ function PricingIconHeaders({
69127
69136
  if (plan.featuresSlot) return plan.featuresSlot;
69128
69137
  if (!plan.features || plan.features.length === 0) return null;
69129
69138
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
69130
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
69139
+ const iconName = feature.iconName || featureIconName;
69140
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
69131
69141
  DynamicIcon,
69132
69142
  {
69133
- name: feature.iconName || featureIconName,
69143
+ name: iconName,
69134
69144
  size: 18,
69135
69145
  className: cn(
69136
69146
  "mt-0.5 shrink-0 text-primary",
@@ -69356,10 +69366,11 @@ function PricingMinimalCards({
69356
69366
  if (plan.featuresSlot) return plan.featuresSlot;
69357
69367
  if (!plan.features || plan.features.length === 0) return null;
69358
69368
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-2", featuresClassName), children: plan.features.map((feature, featureIndex) => {
69359
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
69369
+ const iconName = feature.iconName || featureIconName;
69370
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
69360
69371
  DynamicIcon,
69361
69372
  {
69362
- name: feature.iconName || featureIconName,
69373
+ name: iconName,
69363
69374
  size: 16,
69364
69375
  className: cn(
69365
69376
  "shrink-0 text-primary",
@@ -69536,7 +69547,7 @@ function PricingMinimalCards({
69536
69547
  function PricingPackagesRadio({
69537
69548
  title,
69538
69549
  subtitle,
69539
- packages,
69550
+ packages = [],
69540
69551
  packagesSlot,
69541
69552
  selectedPackageId,
69542
69553
  defaultSelectedPackageId,
@@ -69587,10 +69598,11 @@ function PricingPackagesRadio({
69587
69598
  if (pkg.featuresSlot) return pkg.featuresSlot;
69588
69599
  if (!pkg.features || pkg.features.length === 0) return null;
69589
69600
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-4 grid gap-2 sm:grid-cols-2", featuresClassName), children: pkg.features.map((feature, index) => {
69590
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
69601
+ const iconName = feature.iconName || featureIconName;
69602
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
69591
69603
  DynamicIcon,
69592
69604
  {
69593
- name: feature.iconName || featureIconName,
69605
+ name: iconName,
69594
69606
  size: 16,
69595
69607
  className: cn(
69596
69608
  "shrink-0 text-primary",
@@ -69848,10 +69860,11 @@ function PricingPopularHighlight({
69848
69860
  if (plan.featuresSlot) return plan.featuresSlot;
69849
69861
  if (!plan.features || plan.features.length === 0) return null;
69850
69862
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
69851
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
69863
+ const iconName = feature.iconName || featureIconName;
69864
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
69852
69865
  DynamicIcon,
69853
69866
  {
69854
- name: feature.iconName || featureIconName,
69867
+ name: iconName,
69855
69868
  size: 18,
69856
69869
  className: cn(
69857
69870
  "mt-0.5 shrink-0 text-primary",
@@ -70152,10 +70165,11 @@ function PricingRadioToggle({
70152
70165
  if (plan.featuresSlot) return plan.featuresSlot;
70153
70166
  if (!plan.features || plan.features.length === 0) return null;
70154
70167
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-8 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
70155
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
70168
+ const iconName = feature.iconName || featureIconName;
70169
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
70156
70170
  DynamicIcon,
70157
70171
  {
70158
- name: feature.iconName || featureIconName,
70172
+ name: iconName,
70159
70173
  size: 18,
70160
70174
  className: cn(
70161
70175
  "mt-0.5 shrink-0 text-primary",
@@ -70397,7 +70411,7 @@ function PricingResponsiveTable({
70397
70411
  title,
70398
70412
  subtitle,
70399
70413
  plans = [],
70400
- features,
70414
+ features = [],
70401
70415
  background = "default"
70402
70416
  }) {
70403
70417
  const [isYearly, setIsYearly] = React52.useState(false);
@@ -70573,10 +70587,11 @@ function PricingServicesCards({
70573
70587
  if (plan.featuresSlot) return plan.featuresSlot;
70574
70588
  if (!plan.features || plan.features.length === 0) return null;
70575
70589
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-8 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
70576
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
70590
+ const iconName = feature.iconName || featureIconName;
70591
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
70577
70592
  DynamicIcon,
70578
70593
  {
70579
- name: feature.iconName || featureIconName,
70594
+ name: iconName,
70580
70595
  size: 18,
70581
70596
  className: cn(
70582
70597
  "mt-0.5 shrink-0 text-primary",
@@ -70821,10 +70836,11 @@ function PricingSimpleCard({
70821
70836
  if (featuresSlot) return featuresSlot;
70822
70837
  if (!features || features.length === 0) return null;
70823
70838
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-8 space-y-3", featuresClassName), children: features.map((feature, index) => {
70824
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
70839
+ const iconName = feature.iconName || featureIconName;
70840
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
70825
70841
  DynamicIcon,
70826
70842
  {
70827
- name: feature.iconName || featureIconName,
70843
+ name: iconName,
70828
70844
  size: 18,
70829
70845
  className: cn(
70830
70846
  "mt-0.5 shrink-0 text-primary",
@@ -70979,10 +70995,11 @@ function PricingSingleCard({
70979
70995
  if (group.featuresSlot) return group.featuresSlot;
70980
70996
  if (!group.features || group.features.length === 0) return null;
70981
70997
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3", groupFeaturesClassName), children: group.features.map((feature, featureIndex) => {
70982
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
70998
+ const iconName = feature.iconName || featureIconName;
70999
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
70983
71000
  DynamicIcon,
70984
71001
  {
70985
- name: feature.iconName || featureIconName,
71002
+ name: iconName,
70986
71003
  size: 16,
70987
71004
  className: cn(
70988
71005
  "mt-0.5 shrink-0 text-primary",
@@ -71136,7 +71153,7 @@ function PricingSplitLayout({
71136
71153
  description,
71137
71154
  price,
71138
71155
  priceDescription,
71139
- features,
71156
+ features = [],
71140
71157
  buttonText,
71141
71158
  buttonHref = "#",
71142
71159
  secondaryButtonText,
@@ -71235,14 +71252,15 @@ function PricingSpotlightCard({
71235
71252
  actionClassName,
71236
71253
  finePrintClassName
71237
71254
  }) {
71238
- const renderFeatures = useMemo(() => {
71255
+ const renderFeatures = React52.useMemo(() => {
71239
71256
  if (featuresSlot) return featuresSlot;
71240
71257
  if (!features || features.length === 0) return null;
71241
71258
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-8 space-y-4", featuresClassName), children: features.map((feature, index) => {
71242
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
71259
+ const iconName = feature.iconName || featureIconName;
71260
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
71243
71261
  DynamicIcon,
71244
71262
  {
71245
- name: feature.iconName || featureIconName,
71263
+ name: iconName,
71246
71264
  size: 14,
71247
71265
  className: cn(
71248
71266
  "text-primary",
@@ -71297,7 +71315,7 @@ function PricingSpotlightCard({
71297
71315
  );
71298
71316
  }) });
71299
71317
  }, [featuresSlot, features, featuresClassName, featureIcon, featureIconName, featureIconClassName, featureItemClassName, featureIconWrapperClassName, featureTextClassName]);
71300
- const renderActions = useMemo(() => {
71318
+ const renderActions = React52.useMemo(() => {
71301
71319
  if (actionsSlot) return actionsSlot;
71302
71320
  if (!actions || actions.length === 0) return null;
71303
71321
  return actions.map((action, index) => {
@@ -71466,10 +71484,11 @@ function PricingSwitchCards({
71466
71484
  if (plan.featuresSlot) return plan.featuresSlot;
71467
71485
  if (!plan.features || plan.features.length === 0) return null;
71468
71486
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
71469
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
71487
+ const iconName = feature.iconName || featureIconName;
71488
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
71470
71489
  DynamicIcon,
71471
71490
  {
71472
- name: feature.iconName || featureIconName,
71491
+ name: iconName,
71473
71492
  size: 18,
71474
71493
  className: cn(
71475
71494
  "mt-0.5 shrink-0 text-primary",
@@ -71758,10 +71777,11 @@ function PricingTabsToggle({
71758
71777
  if (plan.featuresSlot) return plan.featuresSlot;
71759
71778
  if (!plan.features || plan.features.length === 0) return null;
71760
71779
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-6 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
71761
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
71780
+ const iconName = feature.iconName || featureIconName;
71781
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
71762
71782
  DynamicIcon,
71763
71783
  {
71764
- name: feature.iconName || featureIconName,
71784
+ name: iconName,
71765
71785
  size: 18,
71766
71786
  className: cn(
71767
71787
  "mt-0.5 shrink-0 text-primary",
@@ -72021,10 +72041,11 @@ function PricingTierGrid({
72021
72041
  if (tier.featuresSlot) return tier.featuresSlot;
72022
72042
  if (!tier.features || tier.features.length === 0) return null;
72023
72043
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-6 space-y-3", featuresClassName), children: tier.features.map((feature, index) => {
72024
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
72044
+ const iconName = feature.iconName || featureIconName;
72045
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
72025
72046
  DynamicIcon,
72026
72047
  {
72027
- name: feature.iconName || featureIconName,
72048
+ name: iconName,
72028
72049
  size: 16,
72029
72050
  className: cn(
72030
72051
  "mt-0.5 shrink-0",
@@ -72290,10 +72311,11 @@ function PricingToggleCards({
72290
72311
  if (plan.featuresSlot) return plan.featuresSlot;
72291
72312
  if (!plan.features || plan.features.length === 0) return null;
72292
72313
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
72293
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
72314
+ const iconName = feature.iconName || featureIconName;
72315
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
72294
72316
  DynamicIcon,
72295
72317
  {
72296
- name: feature.iconName || featureIconName,
72318
+ name: iconName,
72297
72319
  size: 18,
72298
72320
  className: cn(
72299
72321
  "mt-0.5 shrink-0 text-primary",
@@ -72535,9 +72557,9 @@ function PricingToggleCards({
72535
72557
  function PricingTogglePeriod({
72536
72558
  title,
72537
72559
  subtitle,
72538
- periods,
72560
+ periods = [],
72539
72561
  defaultPeriodId,
72540
- plans,
72562
+ plans = [],
72541
72563
  plansSlot,
72542
72564
  featureIcon,
72543
72565
  featureIconName,
@@ -72581,10 +72603,11 @@ function PricingTogglePeriod({
72581
72603
  if (plan.featuresSlot) return plan.featuresSlot;
72582
72604
  if (!plan.features || plan.features.length === 0) return null;
72583
72605
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-8 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
72584
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
72606
+ const iconName = feature.iconName || featureIconName;
72607
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
72585
72608
  DynamicIcon,
72586
72609
  {
72587
- name: feature.iconName || featureIconName,
72610
+ name: iconName,
72588
72611
  size: 18,
72589
72612
  className: cn(
72590
72613
  "mt-0.5 shrink-0 text-primary",
@@ -72869,10 +72892,11 @@ function PricingTwoColumnBasic({
72869
72892
  if (plan.featuresSlot) return plan.featuresSlot;
72870
72893
  if (!plan.features || plan.features.length === 0) return null;
72871
72894
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-8 flex-1 space-y-3", featuresClassName), children: plan.features.map((feature, featureIndex) => {
72872
- const resolvedIcon = feature.icon ?? featureIcon ?? (feature.iconName || featureIconName ? /* @__PURE__ */ jsxRuntime.jsx(
72895
+ const iconName = feature.iconName || featureIconName;
72896
+ const resolvedIcon = feature.icon ?? featureIcon ?? (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
72873
72897
  DynamicIcon,
72874
72898
  {
72875
- name: feature.iconName || featureIconName,
72899
+ name: iconName,
72876
72900
  size: 18,
72877
72901
  className: cn(
72878
72902
  "mt-0.5 shrink-0 text-primary",
@@ -79556,7 +79580,7 @@ function ListSearchableGrid({
79556
79580
  }
79557
79581
  );
79558
79582
  }
79559
- var { useMemo: useMemo443 } = React52__namespace;
79583
+ var { useMemo: useMemo444 } = React52__namespace;
79560
79584
  function OfferModalNewsletterDiscount({
79561
79585
  title,
79562
79586
  emailPlaceholder,
@@ -79624,7 +79648,7 @@ function OfferModalNewsletterDiscount({
79624
79648
  });
79625
79649
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
79626
79650
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
79627
- const renderCloseButton = useMemo443(() => {
79651
+ const renderCloseButton = useMemo444(() => {
79628
79652
  if (closeButtonSlot) return closeButtonSlot;
79629
79653
  if (!closeButtonText) return null;
79630
79654
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -79638,12 +79662,12 @@ function OfferModalNewsletterDiscount({
79638
79662
  }
79639
79663
  ) }) });
79640
79664
  }, [closeButtonSlot, closeButtonText, closeClassName]);
79641
- const renderHeader = useMemo443(() => {
79665
+ const renderHeader = useMemo444(() => {
79642
79666
  if (headerSlot) return headerSlot;
79643
79667
  if (!title) return null;
79644
79668
  return /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
79645
79669
  }, [headerSlot, title, headerClassName, titleClassName]);
79646
- const renderForm = useMemo443(() => {
79670
+ const renderForm = useMemo444(() => {
79647
79671
  if (formSlot) return formSlot;
79648
79672
  return /* @__PURE__ */ jsxRuntime.jsxs(
79649
79673
  forms.Form,
@@ -79705,7 +79729,7 @@ function OfferModalNewsletterDiscount({
79705
79729
  }
79706
79730
  ) });
79707
79731
  }
79708
- var { useMemo: useMemo444 } = React52__namespace;
79732
+ var { useMemo: useMemo445 } = React52__namespace;
79709
79733
  function OfferModalMembershipImage({
79710
79734
  overline,
79711
79735
  title,
@@ -79782,7 +79806,7 @@ function OfferModalMembershipImage({
79782
79806
  });
79783
79807
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
79784
79808
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
79785
- const renderImage = useMemo444(() => {
79809
+ const renderImage = useMemo445(() => {
79786
79810
  if (imageSlot) return imageSlot;
79787
79811
  if (!image) return null;
79788
79812
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -79795,7 +79819,7 @@ function OfferModalMembershipImage({
79795
79819
  }
79796
79820
  ) });
79797
79821
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
79798
- const renderCloseButton = useMemo444(() => {
79822
+ const renderCloseButton = useMemo445(() => {
79799
79823
  if (closeButtonSlot) return closeButtonSlot;
79800
79824
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
79801
79825
  Pressable,
@@ -79811,7 +79835,7 @@ function OfferModalMembershipImage({
79811
79835
  }
79812
79836
  ) }) });
79813
79837
  }, [closeButtonSlot, closeClassName]);
79814
- const renderForm = useMemo444(() => {
79838
+ const renderForm = useMemo445(() => {
79815
79839
  if (formSlot) return formSlot;
79816
79840
  return /* @__PURE__ */ jsxRuntime.jsxs(
79817
79841
  forms.Form,
@@ -79874,7 +79898,7 @@ function OfferModalMembershipImage({
79874
79898
  }
79875
79899
  );
79876
79900
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
79877
- const renderFooter = useMemo444(() => {
79901
+ const renderFooter = useMemo445(() => {
79878
79902
  if (footerSlot) return footerSlot;
79879
79903
  if (!description) return null;
79880
79904
  return /* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -79994,7 +80018,7 @@ function SheetDescription({
79994
80018
  }
79995
80019
  );
79996
80020
  }
79997
- var { useMemo: useMemo445 } = React52__namespace;
80021
+ var { useMemo: useMemo446 } = React52__namespace;
79998
80022
  function OfferModalSheetNewsletter({
79999
80023
  logo,
80000
80024
  logoSlot,
@@ -80077,7 +80101,7 @@ function OfferModalSheetNewsletter({
80077
80101
  });
80078
80102
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
80079
80103
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
80080
- const renderLogo = useMemo445(() => {
80104
+ const renderLogo = useMemo446(() => {
80081
80105
  if (logoSlot) return logoSlot;
80082
80106
  if (!logo) return null;
80083
80107
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -80091,7 +80115,7 @@ function OfferModalSheetNewsletter({
80091
80115
  }
80092
80116
  );
80093
80117
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
80094
- const renderHeader = useMemo445(() => {
80118
+ const renderHeader = useMemo446(() => {
80095
80119
  if (headerSlot) return headerSlot;
80096
80120
  return /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
80097
80121
  renderLogo,
@@ -80101,7 +80125,7 @@ function OfferModalSheetNewsletter({
80101
80125
  ] })
80102
80126
  ] });
80103
80127
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
80104
- const renderForm = useMemo445(() => {
80128
+ const renderForm = useMemo446(() => {
80105
80129
  if (formSlot) return formSlot;
80106
80130
  return /* @__PURE__ */ jsxRuntime.jsx(
80107
80131
  forms.Form,
@@ -80149,7 +80173,7 @@ function OfferModalSheetNewsletter({
80149
80173
  }
80150
80174
  );
80151
80175
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
80152
- const renderLegal = useMemo445(() => {
80176
+ const renderLegal = useMemo446(() => {
80153
80177
  if (legalSlot) return legalSlot;
80154
80178
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
80155
80179
  return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -80163,7 +80187,7 @@ function OfferModalSheetNewsletter({
80163
80187
  "."
80164
80188
  ] });
80165
80189
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
80166
- const renderImage = useMemo445(() => {
80190
+ const renderImage = useMemo446(() => {
80167
80191
  if (imageSlot) return imageSlot;
80168
80192
  if (!image) return null;
80169
80193
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(