yt-uikit 0.8.17 → 0.8.18-freebie-milestone.0

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 (256) hide show
  1. package/README.md +94 -94
  2. package/dist/esm/atoms/bundleBuilderProductDetailsAtom.d.ts +4 -4
  3. package/dist/esm/atoms/cartDataAtom.d.ts +3 -3
  4. package/dist/esm/atoms/cartLoadingAtom.d.ts +22 -22
  5. package/dist/esm/atoms/cartTimer.d.ts +2 -2
  6. package/dist/esm/atoms/couponSelectionOpenAtom.d.ts +3 -3
  7. package/dist/esm/atoms/dateAtom.d.ts +1 -1
  8. package/dist/esm/atoms/freebieClaimModalAtom.d.ts +7 -7
  9. package/dist/esm/atoms/giftWrap.d.ts +2 -2
  10. package/dist/esm/atoms/gstCompanyNameAtom.d.ts +1 -1
  11. package/dist/esm/atoms/gstInputAtom.d.ts +1 -1
  12. package/dist/esm/atoms/maxQtyErrorAtom.d.ts +3 -3
  13. package/dist/esm/atoms/multiClaimSelectionAtom.d.ts +19 -19
  14. package/dist/esm/atoms/noteInputAtom.d.ts +3 -3
  15. package/dist/esm/atoms/postalCodeAtom.d.ts +1 -1
  16. package/dist/esm/atoms/shippingAtom.d.ts +8 -8
  17. package/dist/esm/atoms/showGSTInputAtom.d.ts +1 -1
  18. package/dist/esm/atoms/variantSelectionModalAtom.d.ts +23 -23
  19. package/dist/esm/components/BundleBlock/Bundle.d.ts +396 -396
  20. package/dist/esm/components/BundleBlock/BundleBuilder/BundleBuilder.d.ts +40 -40
  21. package/dist/esm/components/BundleBlock/BundleBuilder/ResponsiveBgImage.d.ts +9 -9
  22. package/dist/esm/components/BundleBlock/BundleBuilder/VariantOptionsModal.d.ts +15 -15
  23. package/dist/esm/components/BundleBlock/BundleBuilder/bundleBuilder.style.d.ts +37 -37
  24. package/dist/esm/components/BundleBlock/BundleBuilderTracker/BundleBuilderTracker.d.ts +51 -51
  25. package/dist/esm/components/BundleBlock/BundleBuilderTracker/bundleBuilderTracker.style.d.ts +77 -77
  26. package/dist/esm/components/BundleBlock/BundleProductDetailsModal/BundleProductDetailsModal.d.ts +36 -36
  27. package/dist/esm/components/BundleBlock/BundleProductDetailsModal/bundleProductDetailsModal.style.d.ts +10 -10
  28. package/dist/esm/components/BundleBlock/CollectionBundle/ColllectionBundle.d.ts +116 -116
  29. package/dist/esm/components/BundleBlock/CollectionBundle/FileUpload.d.ts +15 -15
  30. package/dist/esm/components/BundleBlock/CollectionBundle/LoadingSpinner.d.ts +2 -2
  31. package/dist/esm/components/BundleBlock/CollectionBundle/ProductDetailsModal.d.ts +15 -15
  32. package/dist/esm/components/BundleBlock/ComboBundle.d.ts +16 -16
  33. package/dist/esm/components/BundleBlock/FixedBundle/FixedBundle.d.ts +4 -4
  34. package/dist/esm/components/BundleBlock/FixedBundle/SeparateVariantOptions.d.ts +39 -39
  35. package/dist/esm/components/BundleBlock/FixedBundle/VariantSelectorModal.d.ts +22 -22
  36. package/dist/esm/components/BundleBlock/FixedBundle/fixedBundle.style.d.ts +90 -90
  37. package/dist/esm/components/BundleBlock/Loader.d.ts +5 -5
  38. package/dist/esm/components/BundleBlock/MixAndMatchBundle/MixAndMatchBundle.d.ts +8 -8
  39. package/dist/esm/components/BundleBlock/MixAndMatchBundle/mixAndMatchBundle.style.d.ts +86 -86
  40. package/dist/esm/components/BundleBlock/VolumeBundle/VolumeBundle.d.ts +3 -3
  41. package/dist/esm/components/BundleBlock/VolumeBundle/volumeBundle.style.d.ts +80 -80
  42. package/dist/esm/components/BundleBlock/index.d.ts +1 -1
  43. package/dist/esm/components/Cart/ApplyCoupon.d.ts +12 -12
  44. package/dist/esm/components/Cart/Bundle.d.ts +6 -6
  45. package/dist/esm/components/Cart/Cart.d.ts +218 -218
  46. package/dist/esm/components/Cart/CartDrawer.d.ts +21 -21
  47. package/dist/esm/components/Cart/CartOffersCarousel.d.ts +45 -45
  48. package/dist/esm/components/Cart/CartProductsList.d.ts +45 -44
  49. package/dist/esm/components/Cart/CartTimer.d.ts +8 -8
  50. package/dist/esm/components/Cart/CheckoutSection.d.ts +38 -38
  51. package/dist/esm/components/Cart/CouponSelection.d.ts +25 -25
  52. package/dist/esm/components/Cart/DatePicker.d.ts +10 -10
  53. package/dist/esm/components/Cart/EmptyCart.d.ts +33 -33
  54. package/dist/esm/components/Cart/FloatingCart.d.ts +23 -23
  55. package/dist/esm/components/Cart/FooterSections.d.ts +6 -6
  56. package/dist/esm/components/Cart/FreebieClaimErrorBoundary.d.ts +28 -0
  57. package/dist/esm/components/Cart/FreebieClaimManager.d.ts +17 -17
  58. package/dist/esm/components/Cart/FreebieClaimOverlay.d.ts +17 -17
  59. package/dist/esm/components/Cart/FreebieClaimOverlayCard.d.ts +9 -9
  60. package/dist/esm/components/Cart/FreebieClaimSection.d.ts +17 -17
  61. package/dist/esm/components/Cart/FreebieClaimSectionCard.d.ts +16 -16
  62. package/dist/esm/components/Cart/GSTSection.d.ts +15 -15
  63. package/dist/esm/components/Cart/GiftWrap.d.ts +14 -14
  64. package/dist/esm/components/Cart/GuestDiscountCoupon.d.ts +9 -9
  65. package/dist/esm/components/Cart/InlineCartOfferInfoText.d.ts +10 -10
  66. package/dist/esm/components/Cart/LoyaltyAppliedCTA.d.ts +19 -19
  67. package/dist/esm/components/Cart/LoyaltyApplyCTA.d.ts +18 -18
  68. package/dist/esm/components/Cart/LoyaltyBadge.d.ts +10 -10
  69. package/dist/esm/components/Cart/LoyaltyGuestCTA.d.ts +17 -17
  70. package/dist/esm/components/Cart/MultiStepProgressBar/CheckpointConfetti.d.ts +11 -11
  71. package/dist/esm/components/Cart/MultiStepProgressBar/CheckpointIcon.d.ts +3 -3
  72. package/dist/esm/components/Cart/MultiStepProgressBar/CheckpointTooltip.d.ts +3 -3
  73. package/dist/esm/components/Cart/MultiStepProgressBar/MultiStepIcon.d.ts +9 -9
  74. package/dist/esm/components/Cart/MultiStepProgressBar/MultiStepProgressBar.d.ts +5 -5
  75. package/dist/esm/components/Cart/MultiStepProgressBar/MultiStepProgressBar.styled.d.ts +45 -45
  76. package/dist/esm/components/Cart/MultiStepProgressBar/MultiStepUtils.d.ts +6 -6
  77. package/dist/esm/components/Cart/MultiStepProgressBar/MultiTierProgressBar.d.ts +4 -4
  78. package/dist/esm/components/Cart/MultiStepProgressBar/MutiTierNextRewardMessage.d.ts +3 -3
  79. package/dist/esm/components/Cart/MultiStepProgressBar/NextRewardMessage.d.ts +3 -3
  80. package/dist/esm/components/Cart/MultiStepProgressBar/SingleTierProgressBar.d.ts +4 -4
  81. package/dist/esm/components/Cart/MultiStepProgressBar/SingleTierProgressBar.styled.d.ts +22 -22
  82. package/dist/esm/components/Cart/MultiStepProgressBar/SingletTierNextRewardMessage.d.ts +3 -3
  83. package/dist/esm/components/Cart/MultiStepProgressBar/types.d.ts +55 -55
  84. package/dist/esm/components/Cart/NextFreebieRow.d.ts +22 -19
  85. package/dist/esm/components/Cart/NoteSection.d.ts +8 -8
  86. package/dist/esm/components/Cart/ProductCard.d.ts +29 -29
  87. package/dist/esm/components/Cart/ProductRecCard.d.ts +20 -20
  88. package/dist/esm/components/Cart/ProductRecList.d.ts +23 -23
  89. package/dist/esm/components/Cart/ProgressBar.d.ts +13 -13
  90. package/dist/esm/components/Cart/ProgressBarCartLoader.d.ts +7 -7
  91. package/dist/esm/components/Cart/QuantitySelector.d.ts +12 -12
  92. package/dist/esm/components/Cart/RegionSpecificDelivery.d.ts +17 -17
  93. package/dist/esm/components/Cart/RewardPointsPreview.d.ts +10 -10
  94. package/dist/esm/components/Cart/StandardDelivery.d.ts +11 -11
  95. package/dist/esm/components/Cart/StickyCart.d.ts +52 -52
  96. package/dist/esm/components/Cart/VariantSelectionPopup/DesktopVariantPopup.d.ts +18 -18
  97. package/dist/esm/components/Cart/VariantSelectionPopup/DesktopVariantPopup.styled.d.ts +60 -60
  98. package/dist/esm/components/Cart/VariantSelectionPopup/MobileVariantPopover.d.ts +18 -18
  99. package/dist/esm/components/Cart/index.d.ts +1 -1
  100. package/dist/esm/components/CouponFrame/CouponFrame.d.ts +15 -15
  101. package/dist/esm/components/CouponFrame/index.d.ts +1 -1
  102. package/dist/esm/components/Nudge/LeadGenerationNudge.d.ts +15 -15
  103. package/dist/esm/components/Nudge/Nudge.d.ts +40 -40
  104. package/dist/esm/components/Nudge/index.d.ts +1 -1
  105. package/dist/esm/components/ProductOffersBlock/ProductOffersCoupon.d.ts +12 -12
  106. package/dist/esm/components/ProductOffersBlock/ProductOffersList.d.ts +12 -12
  107. package/dist/esm/components/ProductOffersBlock/ProductOffersTermsMobilePopover.d.ts +10 -10
  108. package/dist/esm/components/ProductOffersBlock/ProductOffersTermsPopup.d.ts +10 -10
  109. package/dist/esm/components/ProductOffersBlock/ProductsOffers.d.ts +32 -32
  110. package/dist/esm/components/SpinnerWheel/SpinnerWheel.d.ts +23 -23
  111. package/dist/esm/components/SpinnerWheel/WheelSection.d.ts +9 -9
  112. package/dist/esm/components/SpinnerWheel/index.d.ts +1 -1
  113. package/dist/esm/components/index.d.ts +6 -6
  114. package/dist/esm/components/shared/Spinner.d.ts +23 -0
  115. package/dist/esm/components/shared/index.d.ts +2 -0
  116. package/dist/esm/index.d.ts +1 -1
  117. package/dist/esm/index.js +38 -38
  118. package/dist/esm/types/atoms/bundleBuilderProductDetailsAtom.d.ts +4 -4
  119. package/dist/esm/types/atoms/cartDataAtom.d.ts +3 -3
  120. package/dist/esm/types/atoms/cartLoadingAtom.d.ts +22 -22
  121. package/dist/esm/types/atoms/cartTimer.d.ts +2 -2
  122. package/dist/esm/types/atoms/couponSelectionOpenAtom.d.ts +3 -3
  123. package/dist/esm/types/atoms/dateAtom.d.ts +1 -1
  124. package/dist/esm/types/atoms/freebieClaimModalAtom.d.ts +7 -7
  125. package/dist/esm/types/atoms/giftWrap.d.ts +2 -2
  126. package/dist/esm/types/atoms/gstCompanyNameAtom.d.ts +1 -1
  127. package/dist/esm/types/atoms/gstInputAtom.d.ts +1 -1
  128. package/dist/esm/types/atoms/maxQtyErrorAtom.d.ts +3 -3
  129. package/dist/esm/types/atoms/multiClaimSelectionAtom.d.ts +19 -19
  130. package/dist/esm/types/atoms/noteInputAtom.d.ts +3 -3
  131. package/dist/esm/types/atoms/postalCodeAtom.d.ts +1 -1
  132. package/dist/esm/types/atoms/shippingAtom.d.ts +8 -8
  133. package/dist/esm/types/atoms/showGSTInputAtom.d.ts +1 -1
  134. package/dist/esm/types/atoms/variantSelectionModalAtom.d.ts +23 -23
  135. package/dist/esm/types/components/BundleBlock/Bundle.d.ts +396 -396
  136. package/dist/esm/types/components/BundleBlock/BundleBuilder/BundleBuilder.d.ts +40 -40
  137. package/dist/esm/types/components/BundleBlock/BundleBuilder/ResponsiveBgImage.d.ts +9 -9
  138. package/dist/esm/types/components/BundleBlock/BundleBuilder/VariantOptionsModal.d.ts +15 -15
  139. package/dist/esm/types/components/BundleBlock/BundleBuilder/bundleBuilder.style.d.ts +37 -37
  140. package/dist/esm/types/components/BundleBlock/BundleBuilderTracker/BundleBuilderTracker.d.ts +51 -51
  141. package/dist/esm/types/components/BundleBlock/BundleBuilderTracker/bundleBuilderTracker.style.d.ts +77 -77
  142. package/dist/esm/types/components/BundleBlock/BundleProductDetailsModal/BundleProductDetailsModal.d.ts +36 -36
  143. package/dist/esm/types/components/BundleBlock/BundleProductDetailsModal/bundleProductDetailsModal.style.d.ts +10 -10
  144. package/dist/esm/types/components/BundleBlock/CollectionBundle/ColllectionBundle.d.ts +116 -116
  145. package/dist/esm/types/components/BundleBlock/CollectionBundle/FileUpload.d.ts +15 -15
  146. package/dist/esm/types/components/BundleBlock/CollectionBundle/LoadingSpinner.d.ts +2 -2
  147. package/dist/esm/types/components/BundleBlock/CollectionBundle/ProductDetailsModal.d.ts +15 -15
  148. package/dist/esm/types/components/BundleBlock/ComboBundle.d.ts +16 -16
  149. package/dist/esm/types/components/BundleBlock/FixedBundle/FixedBundle.d.ts +4 -4
  150. package/dist/esm/types/components/BundleBlock/FixedBundle/SeparateVariantOptions.d.ts +39 -39
  151. package/dist/esm/types/components/BundleBlock/FixedBundle/VariantSelectorModal.d.ts +22 -22
  152. package/dist/esm/types/components/BundleBlock/FixedBundle/fixedBundle.style.d.ts +90 -90
  153. package/dist/esm/types/components/BundleBlock/Loader.d.ts +5 -5
  154. package/dist/esm/types/components/BundleBlock/MixAndMatchBundle/MixAndMatchBundle.d.ts +8 -8
  155. package/dist/esm/types/components/BundleBlock/MixAndMatchBundle/mixAndMatchBundle.style.d.ts +86 -86
  156. package/dist/esm/types/components/BundleBlock/VolumeBundle/VolumeBundle.d.ts +3 -3
  157. package/dist/esm/types/components/BundleBlock/VolumeBundle/volumeBundle.style.d.ts +80 -80
  158. package/dist/esm/types/components/BundleBlock/index.d.ts +1 -1
  159. package/dist/esm/types/components/Cart/ApplyCoupon.d.ts +12 -12
  160. package/dist/esm/types/components/Cart/Bundle.d.ts +6 -6
  161. package/dist/esm/types/components/Cart/Cart.d.ts +218 -218
  162. package/dist/esm/types/components/Cart/CartDrawer.d.ts +21 -21
  163. package/dist/esm/types/components/Cart/CartOffersCarousel.d.ts +45 -45
  164. package/dist/esm/types/components/Cart/CartProductsList.d.ts +45 -44
  165. package/dist/esm/types/components/Cart/CartTimer.d.ts +8 -8
  166. package/dist/esm/types/components/Cart/CheckoutSection.d.ts +38 -38
  167. package/dist/esm/types/components/Cart/CouponSelection.d.ts +25 -25
  168. package/dist/esm/types/components/Cart/DatePicker.d.ts +10 -10
  169. package/dist/esm/types/components/Cart/EmptyCart.d.ts +33 -33
  170. package/dist/esm/types/components/Cart/FloatingCart.d.ts +23 -23
  171. package/dist/esm/types/components/Cart/FooterSections.d.ts +6 -6
  172. package/dist/esm/types/components/Cart/FreebieClaimErrorBoundary.d.ts +28 -0
  173. package/dist/esm/types/components/Cart/FreebieClaimManager.d.ts +17 -17
  174. package/dist/esm/types/components/Cart/FreebieClaimOverlay.d.ts +17 -17
  175. package/dist/esm/types/components/Cart/FreebieClaimOverlayCard.d.ts +9 -9
  176. package/dist/esm/types/components/Cart/FreebieClaimSection.d.ts +17 -17
  177. package/dist/esm/types/components/Cart/FreebieClaimSectionCard.d.ts +16 -16
  178. package/dist/esm/types/components/Cart/GSTSection.d.ts +15 -15
  179. package/dist/esm/types/components/Cart/GiftWrap.d.ts +14 -14
  180. package/dist/esm/types/components/Cart/GuestDiscountCoupon.d.ts +9 -9
  181. package/dist/esm/types/components/Cart/InlineCartOfferInfoText.d.ts +10 -10
  182. package/dist/esm/types/components/Cart/LoyaltyAppliedCTA.d.ts +19 -19
  183. package/dist/esm/types/components/Cart/LoyaltyApplyCTA.d.ts +18 -18
  184. package/dist/esm/types/components/Cart/LoyaltyBadge.d.ts +10 -10
  185. package/dist/esm/types/components/Cart/LoyaltyGuestCTA.d.ts +17 -17
  186. package/dist/esm/types/components/Cart/MultiStepProgressBar/CheckpointConfetti.d.ts +11 -11
  187. package/dist/esm/types/components/Cart/MultiStepProgressBar/CheckpointIcon.d.ts +3 -3
  188. package/dist/esm/types/components/Cart/MultiStepProgressBar/CheckpointTooltip.d.ts +3 -3
  189. package/dist/esm/types/components/Cart/MultiStepProgressBar/MultiStepIcon.d.ts +9 -9
  190. package/dist/esm/types/components/Cart/MultiStepProgressBar/MultiStepProgressBar.d.ts +5 -5
  191. package/dist/esm/types/components/Cart/MultiStepProgressBar/MultiStepProgressBar.styled.d.ts +45 -45
  192. package/dist/esm/types/components/Cart/MultiStepProgressBar/MultiStepUtils.d.ts +6 -6
  193. package/dist/esm/types/components/Cart/MultiStepProgressBar/MultiTierProgressBar.d.ts +4 -4
  194. package/dist/esm/types/components/Cart/MultiStepProgressBar/MutiTierNextRewardMessage.d.ts +3 -3
  195. package/dist/esm/types/components/Cart/MultiStepProgressBar/NextRewardMessage.d.ts +3 -3
  196. package/dist/esm/types/components/Cart/MultiStepProgressBar/SingleTierProgressBar.d.ts +4 -4
  197. package/dist/esm/types/components/Cart/MultiStepProgressBar/SingleTierProgressBar.styled.d.ts +22 -22
  198. package/dist/esm/types/components/Cart/MultiStepProgressBar/SingletTierNextRewardMessage.d.ts +3 -3
  199. package/dist/esm/types/components/Cart/MultiStepProgressBar/types.d.ts +55 -55
  200. package/dist/esm/types/components/Cart/NextFreebieRow.d.ts +22 -19
  201. package/dist/esm/types/components/Cart/NoteSection.d.ts +8 -8
  202. package/dist/esm/types/components/Cart/ProductCard.d.ts +29 -29
  203. package/dist/esm/types/components/Cart/ProductRecCard.d.ts +20 -20
  204. package/dist/esm/types/components/Cart/ProductRecList.d.ts +23 -23
  205. package/dist/esm/types/components/Cart/ProgressBar.d.ts +13 -13
  206. package/dist/esm/types/components/Cart/ProgressBarCartLoader.d.ts +7 -7
  207. package/dist/esm/types/components/Cart/QuantitySelector.d.ts +12 -12
  208. package/dist/esm/types/components/Cart/RegionSpecificDelivery.d.ts +17 -17
  209. package/dist/esm/types/components/Cart/RewardPointsPreview.d.ts +10 -10
  210. package/dist/esm/types/components/Cart/StandardDelivery.d.ts +11 -11
  211. package/dist/esm/types/components/Cart/StickyCart.d.ts +52 -52
  212. package/dist/esm/types/components/Cart/VariantSelectionPopup/DesktopVariantPopup.d.ts +18 -18
  213. package/dist/esm/types/components/Cart/VariantSelectionPopup/DesktopVariantPopup.styled.d.ts +60 -60
  214. package/dist/esm/types/components/Cart/VariantSelectionPopup/MobileVariantPopover.d.ts +18 -18
  215. package/dist/esm/types/components/Cart/index.d.ts +1 -1
  216. package/dist/esm/types/components/CouponFrame/CouponFrame.d.ts +15 -15
  217. package/dist/esm/types/components/CouponFrame/index.d.ts +1 -1
  218. package/dist/esm/types/components/Nudge/LeadGenerationNudge.d.ts +15 -15
  219. package/dist/esm/types/components/Nudge/Nudge.d.ts +40 -40
  220. package/dist/esm/types/components/Nudge/index.d.ts +1 -1
  221. package/dist/esm/types/components/ProductOffersBlock/ProductOffersCoupon.d.ts +12 -12
  222. package/dist/esm/types/components/ProductOffersBlock/ProductOffersList.d.ts +12 -12
  223. package/dist/esm/types/components/ProductOffersBlock/ProductOffersTermsMobilePopover.d.ts +10 -10
  224. package/dist/esm/types/components/ProductOffersBlock/ProductOffersTermsPopup.d.ts +10 -10
  225. package/dist/esm/types/components/ProductOffersBlock/ProductsOffers.d.ts +32 -32
  226. package/dist/esm/types/components/SpinnerWheel/SpinnerWheel.d.ts +23 -23
  227. package/dist/esm/types/components/SpinnerWheel/WheelSection.d.ts +9 -9
  228. package/dist/esm/types/components/SpinnerWheel/index.d.ts +1 -1
  229. package/dist/esm/types/components/index.d.ts +6 -6
  230. package/dist/esm/types/components/shared/Spinner.d.ts +23 -0
  231. package/dist/esm/types/components/shared/index.d.ts +2 -0
  232. package/dist/esm/types/index.d.ts +1 -1
  233. package/dist/esm/types/utils/converter.d.ts +2 -2
  234. package/dist/esm/types/utils/customVariantOptions.d.ts +20 -20
  235. package/dist/esm/types/utils/freebieErrorLogger.d.ts +68 -0
  236. package/dist/esm/types/utils/freebieProductUtils.d.ts +23 -23
  237. package/dist/esm/types/utils/freebieUtils.d.ts +5 -5
  238. package/dist/esm/types/utils/freebieValidation.d.ts +45 -0
  239. package/dist/esm/types/utils/index.d.ts +14 -14
  240. package/dist/esm/utils/converter.d.ts +2 -2
  241. package/dist/esm/utils/customVariantOptions.d.ts +20 -20
  242. package/dist/esm/utils/freebieErrorLogger.d.ts +68 -0
  243. package/dist/esm/utils/freebieProductUtils.d.ts +23 -23
  244. package/dist/esm/utils/freebieUtils.d.ts +5 -5
  245. package/dist/esm/utils/freebieValidation.d.ts +45 -0
  246. package/dist/esm/utils/index.d.ts +14 -14
  247. package/dist/index.d.ts +724 -723
  248. package/package.json +95 -95
  249. package/src/assets/Frame.svg +4 -4
  250. package/src/assets/bundlePlus.svg +4 -4
  251. package/src/assets/copy-icon.svg +3 -3
  252. package/src/assets/copy-iconBlack.svg +4 -4
  253. package/src/assets/coupon.svg +4 -4
  254. package/src/assets/delivery.svg +5 -5
  255. package/dist/esm/components/LoyaltyPageBlock/LoyaltyPageBlock.d.ts +0 -63
  256. package/dist/esm/types/components/LoyaltyPageBlock/LoyaltyPageBlock.d.ts +0 -63
@@ -1,15 +1,15 @@
1
- import React from "react";
2
- import "./Nudge.scss";
3
- import "react-international-phone/style.css";
4
- type LeadGenerationNudgeProps = {
5
- ctaButtonColor?: string;
6
- headerColor?: string;
7
- title?: string;
8
- subtitle?: string;
9
- handleLoginOrSignup?: (phoneNumber: string, email: string) => Promise<any>;
10
- handleSubmit?: (phoneNumber: string, otp: string) => Promise<any>;
11
- onClose?: () => void;
12
- closeIconColor?: string;
13
- };
14
- declare const LeadGenerationNudge: ({ ctaButtonColor, headerColor, handleLoginOrSignup, handleSubmit, title, subtitle, onClose, closeIconColor, }: LeadGenerationNudgeProps) => React.JSX.Element;
15
- export default LeadGenerationNudge;
1
+ import React from "react";
2
+ import "./Nudge.scss";
3
+ import "react-international-phone/style.css";
4
+ type LeadGenerationNudgeProps = {
5
+ ctaButtonColor?: string;
6
+ headerColor?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ handleLoginOrSignup?: (phoneNumber: string, email: string) => Promise<any>;
10
+ handleSubmit?: (phoneNumber: string, otp: string) => Promise<any>;
11
+ onClose?: () => void;
12
+ closeIconColor?: string;
13
+ };
14
+ declare const LeadGenerationNudge: ({ ctaButtonColor, headerColor, handleLoginOrSignup, handleSubmit, title, subtitle, onClose, closeIconColor, }: LeadGenerationNudgeProps) => React.JSX.Element;
15
+ export default LeadGenerationNudge;
@@ -1,40 +1,40 @@
1
- import React from "react";
2
- export interface NudgeProps {
3
- title?: string;
4
- text?: string;
5
- highlightColor?: string;
6
- backgroundColor?: string;
7
- variant?: "campaign" | "delivery" | "checkout" | "postPurchase" | "registration" | "leadGeneration";
8
- extraProps?: any;
9
- cartValue?: number;
10
- freeDeliveryValue?: number;
11
- imageUrl?: string;
12
- nudgeImageUrl?: string;
13
- onClickCheckout?: () => void;
14
- onClose?: () => void;
15
- isDev?: boolean;
16
- onGotoCartClick?: () => void;
17
- bannerCtaAction?: () => void;
18
- bannerCtaText?: string;
19
- ctaButtonBackgroundColor?: string;
20
- ctaTextColor?: string;
21
- ctaButtonText?: string;
22
- ctaButtonPosition?: "left" | "right" | "center";
23
- postPurchaseCtaAction?: () => void;
24
- postPurchaseCredits?: number;
25
- largeScreenImageUrl?: string;
26
- smallScreenImageUrl?: string;
27
- ctaButtonLink?: string;
28
- autoCloseTimeout?: number;
29
- isCTAButtonEnabled?: boolean;
30
- isCTARedirectionEnabled?: boolean;
31
- borderRadius?: string;
32
- padding?: string;
33
- onClickCtaButton?: () => void;
34
- position?: "right" | "left";
35
- closeIconColor?: string;
36
- handleLoginOrSignup?: (phoneNumber: string, email: string) => Promise<any>;
37
- handleSubmit?: (phoneNumber: string, otp: string) => Promise<any>;
38
- }
39
- declare const Nudge: React.FC<NudgeProps>;
40
- export default Nudge;
1
+ import React from "react";
2
+ export interface NudgeProps {
3
+ title?: string;
4
+ text?: string;
5
+ highlightColor?: string;
6
+ backgroundColor?: string;
7
+ variant?: "campaign" | "delivery" | "checkout" | "postPurchase" | "registration" | "leadGeneration";
8
+ extraProps?: any;
9
+ cartValue?: number;
10
+ freeDeliveryValue?: number;
11
+ imageUrl?: string;
12
+ nudgeImageUrl?: string;
13
+ onClickCheckout?: () => void;
14
+ onClose?: () => void;
15
+ isDev?: boolean;
16
+ onGotoCartClick?: () => void;
17
+ bannerCtaAction?: () => void;
18
+ bannerCtaText?: string;
19
+ ctaButtonBackgroundColor?: string;
20
+ ctaTextColor?: string;
21
+ ctaButtonText?: string;
22
+ ctaButtonPosition?: "left" | "right" | "center";
23
+ postPurchaseCtaAction?: () => void;
24
+ postPurchaseCredits?: number;
25
+ largeScreenImageUrl?: string;
26
+ smallScreenImageUrl?: string;
27
+ ctaButtonLink?: string;
28
+ autoCloseTimeout?: number;
29
+ isCTAButtonEnabled?: boolean;
30
+ isCTARedirectionEnabled?: boolean;
31
+ borderRadius?: string;
32
+ padding?: string;
33
+ onClickCtaButton?: () => void;
34
+ position?: "right" | "left";
35
+ closeIconColor?: string;
36
+ handleLoginOrSignup?: (phoneNumber: string, email: string) => Promise<any>;
37
+ handleSubmit?: (phoneNumber: string, otp: string) => Promise<any>;
38
+ }
39
+ declare const Nudge: React.FC<NudgeProps>;
40
+ export default Nudge;
@@ -1 +1 @@
1
- export { default } from "./Nudge";
1
+ export { default } from "./Nudge";
@@ -1,12 +1,12 @@
1
- import React from "react";
2
- import { CartCheckpoint } from "./ProductsOffers";
3
- import { ProductsOffersConfigType } from "./ProductsOffers";
4
- interface ProductOffersCouponProps {
5
- offersToShow: CartCheckpoint[];
6
- offersConfig?: ProductsOffersConfigType | null;
7
- getOfferCardMessage: (offer: CartCheckpoint) => string;
8
- setSelectedOffer: (offer: CartCheckpoint | null) => void;
9
- setShowPopup: (show: boolean) => void;
10
- }
11
- export declare const ProductOffersCoupon: ({ offersToShow, offersConfig, getOfferCardMessage, setSelectedOffer, setShowPopup, }: ProductOffersCouponProps) => React.JSX.Element;
12
- export {};
1
+ import React from "react";
2
+ import { CartCheckpoint } from "./ProductsOffers";
3
+ import { ProductsOffersConfigType } from "./ProductsOffers";
4
+ interface ProductOffersCouponProps {
5
+ offersToShow: CartCheckpoint[];
6
+ offersConfig?: ProductsOffersConfigType | null;
7
+ getOfferCardMessage: (offer: CartCheckpoint) => string;
8
+ setSelectedOffer: (offer: CartCheckpoint | null) => void;
9
+ setShowPopup: (show: boolean) => void;
10
+ }
11
+ export declare const ProductOffersCoupon: ({ offersToShow, offersConfig, getOfferCardMessage, setSelectedOffer, setShowPopup, }: ProductOffersCouponProps) => React.JSX.Element;
12
+ export {};
@@ -1,12 +1,12 @@
1
- import React from "react";
2
- import { CartCheckpoint } from "./ProductsOffers";
3
- import { ProductsOffersConfigType } from "./ProductsOffers";
4
- interface ProductOffersListProps {
5
- offersToShow: CartCheckpoint[];
6
- offersConfig: ProductsOffersConfigType;
7
- getOfferCardMessage: (offer: CartCheckpoint) => string;
8
- setSelectedOffer: (offer: CartCheckpoint | null) => void;
9
- setShowPopup: (show: boolean) => void;
10
- }
11
- export declare const ProductOffersList: ({ offersToShow, offersConfig, getOfferCardMessage, setSelectedOffer, setShowPopup, }: ProductOffersListProps) => React.JSX.Element;
12
- export {};
1
+ import React from "react";
2
+ import { CartCheckpoint } from "./ProductsOffers";
3
+ import { ProductsOffersConfigType } from "./ProductsOffers";
4
+ interface ProductOffersListProps {
5
+ offersToShow: CartCheckpoint[];
6
+ offersConfig: ProductsOffersConfigType;
7
+ getOfferCardMessage: (offer: CartCheckpoint) => string;
8
+ setSelectedOffer: (offer: CartCheckpoint | null) => void;
9
+ setShowPopup: (show: boolean) => void;
10
+ }
11
+ export declare const ProductOffersList: ({ offersToShow, offersConfig, getOfferCardMessage, setSelectedOffer, setShowPopup, }: ProductOffersListProps) => React.JSX.Element;
12
+ export {};
@@ -1,10 +1,10 @@
1
- import React from "react";
2
- import { CartCheckpoint, OfferTermsAndConditions } from "./ProductsOffers";
3
- import { ProductsOffersConfigType } from "./ProductsOffers";
4
- export declare const ProductOffersTermsMobilePopover: ({ showPopup, selectedOffer, selectedOfferTerms, onClose, offersConfig, }: {
5
- showPopup: boolean;
6
- selectedOffer: CartCheckpoint | null;
7
- selectedOfferTerms: OfferTermsAndConditions | null;
8
- onClose: () => void;
9
- offersConfig?: ProductsOffersConfigType | null | undefined;
10
- }) => React.ReactPortal | null;
1
+ import React from "react";
2
+ import { CartCheckpoint, OfferTermsAndConditions } from "./ProductsOffers";
3
+ import { ProductsOffersConfigType } from "./ProductsOffers";
4
+ export declare const ProductOffersTermsMobilePopover: ({ showPopup, selectedOffer, selectedOfferTerms, onClose, offersConfig, }: {
5
+ showPopup: boolean;
6
+ selectedOffer: CartCheckpoint | null;
7
+ selectedOfferTerms: OfferTermsAndConditions | null;
8
+ onClose: () => void;
9
+ offersConfig?: ProductsOffersConfigType | null | undefined;
10
+ }) => React.ReactPortal | null;
@@ -1,10 +1,10 @@
1
- import React from "react";
2
- import { CartCheckpoint, OfferTermsAndConditions } from "./ProductsOffers";
3
- import { ProductsOffersConfigType } from "./ProductsOffers";
4
- export declare const ProductOffersTermsPopup: ({ showPopup, selectedOffer, selectedOfferTerms, onClose, offersConfig, }: {
5
- showPopup: boolean;
6
- selectedOffer: CartCheckpoint | null;
7
- selectedOfferTerms: OfferTermsAndConditions | null;
8
- onClose: () => void;
9
- offersConfig?: ProductsOffersConfigType | null | undefined;
10
- }) => React.ReactPortal | null;
1
+ import React from "react";
2
+ import { CartCheckpoint, OfferTermsAndConditions } from "./ProductsOffers";
3
+ import { ProductsOffersConfigType } from "./ProductsOffers";
4
+ export declare const ProductOffersTermsPopup: ({ showPopup, selectedOffer, selectedOfferTerms, onClose, offersConfig, }: {
5
+ showPopup: boolean;
6
+ selectedOffer: CartCheckpoint | null;
7
+ selectedOfferTerms: OfferTermsAndConditions | null;
8
+ onClose: () => void;
9
+ offersConfig?: ProductsOffersConfigType | null | undefined;
10
+ }) => React.ReactPortal | null;
@@ -1,32 +1,32 @@
1
- import React from "react";
2
- import { Checkpoint } from "../Cart/Cart";
3
- export interface ProductsOffersConfigType {
4
- sectionType?: "coupon" | "list";
5
- sectionTitle?: string;
6
- sectionBackgroundColor?: string;
7
- sectionBgContrastColor?: string;
8
- cardBackgroundColor?: string;
9
- cardBackgroundTransparent?: boolean;
10
- textColor?: string;
11
- accentColor?: string;
12
- roundness?: number;
13
- cardPadding?: number;
14
- viewDetailsTitle?: string;
15
- alignment?: "left" | "middle" | "right";
16
- iconVisibility?: boolean;
17
- popupIsolationStrategy?: "revert" | "revert-layer" | "unset" | "initial" | "inherit" | "none";
18
- }
19
- export interface CartCheckpoint extends Checkpoint {
20
- customCartProgressBarCriteria?: string | null;
21
- discountPercentage?: number | null;
22
- discountId?: number | null;
23
- }
24
- export interface OfferTermsAndConditions {
25
- offerMessage: string;
26
- terms: string[];
27
- }
28
- declare const ProductsOffers: ({ offersConfig, offers, }: {
29
- offersConfig?: ProductsOffersConfigType | null | undefined;
30
- offers: CartCheckpoint[];
31
- }) => React.JSX.Element;
32
- export default ProductsOffers;
1
+ import React from "react";
2
+ import { Checkpoint } from "../Cart/Cart";
3
+ export interface ProductsOffersConfigType {
4
+ sectionType?: "coupon" | "list";
5
+ sectionTitle?: string;
6
+ sectionBackgroundColor?: string;
7
+ sectionBgContrastColor?: string;
8
+ cardBackgroundColor?: string;
9
+ cardBackgroundTransparent?: boolean;
10
+ textColor?: string;
11
+ accentColor?: string;
12
+ roundness?: number;
13
+ cardPadding?: number;
14
+ viewDetailsTitle?: string;
15
+ alignment?: "left" | "middle" | "right";
16
+ iconVisibility?: boolean;
17
+ popupIsolationStrategy?: "revert" | "revert-layer" | "unset" | "initial" | "inherit" | "none";
18
+ }
19
+ export interface CartCheckpoint extends Checkpoint {
20
+ customCartProgressBarCriteria?: string | null;
21
+ discountPercentage?: number | null;
22
+ discountId?: number | null;
23
+ }
24
+ export interface OfferTermsAndConditions {
25
+ offerMessage: string;
26
+ terms: string[];
27
+ }
28
+ declare const ProductsOffers: ({ offersConfig, offers, }: {
29
+ offersConfig?: ProductsOffersConfigType | null | undefined;
30
+ offers: CartCheckpoint[];
31
+ }) => React.JSX.Element;
32
+ export default ProductsOffers;
@@ -1,23 +1,23 @@
1
- import React from "react";
2
- import type { Dispatch, SetStateAction } from "react";
3
- interface SegmentProps {
4
- label: string;
5
- color: string;
6
- outcome: "WIN" | "LOSE";
7
- winHeading?: string;
8
- winValue?: number;
9
- probability?: number;
10
- }
11
- export interface WheelProps {
12
- segments: SegmentProps[];
13
- setWinningSegment: Dispatch<SetStateAction<number | null>>;
14
- ctaButtonText?: string;
15
- brandThemeColor?: string | undefined;
16
- brandGameDefaultThemeColor?: string | undefined;
17
- wheelSectionColor1?: string | undefined;
18
- wheelSectionColor2?: string | undefined;
19
- wheelCenterLogo?: string | undefined;
20
- isStatic?: boolean | undefined;
21
- }
22
- declare const SpinnerWheel: React.FC<WheelProps>;
23
- export default SpinnerWheel;
1
+ import React from "react";
2
+ import type { Dispatch, SetStateAction } from "react";
3
+ interface SegmentProps {
4
+ label: string;
5
+ color: string;
6
+ outcome: "WIN" | "LOSE";
7
+ winHeading?: string;
8
+ winValue?: number;
9
+ probability?: number;
10
+ }
11
+ export interface WheelProps {
12
+ segments: SegmentProps[];
13
+ setWinningSegment: Dispatch<SetStateAction<number | null>>;
14
+ ctaButtonText?: string;
15
+ brandThemeColor?: string | undefined;
16
+ brandGameDefaultThemeColor?: string | undefined;
17
+ wheelSectionColor1?: string | undefined;
18
+ wheelSectionColor2?: string | undefined;
19
+ wheelCenterLogo?: string | undefined;
20
+ isStatic?: boolean | undefined;
21
+ }
22
+ declare const SpinnerWheel: React.FC<WheelProps>;
23
+ export default SpinnerWheel;
@@ -1,9 +1,9 @@
1
- import React from "react";
2
- interface WheelSectionProps {
3
- color: string;
4
- label: string;
5
- index: number;
6
- total: number;
7
- }
8
- export declare const WheelSection: React.FC<WheelSectionProps>;
9
- export {};
1
+ import React from "react";
2
+ interface WheelSectionProps {
3
+ color: string;
4
+ label: string;
5
+ index: number;
6
+ total: number;
7
+ }
8
+ export declare const WheelSection: React.FC<WheelSectionProps>;
9
+ export {};
@@ -1 +1 @@
1
- export { default } from "./SpinnerWheel";
1
+ export { default } from "./SpinnerWheel";
@@ -1,6 +1,6 @@
1
- export { default as Nudge } from "./Nudge";
2
- export { default as SpinnerWheel } from "./SpinnerWheel";
3
- export { default as Cart } from "./Cart";
4
- export { default as Bundle } from "./BundleBlock";
5
- export { default as BundleLoader } from "./BundleBlock/Loader";
6
- export { default as ProductOffers, ProductsOffersConfigType, CartCheckpoint, } from "./ProductOffersBlock/ProductsOffers";
1
+ export { default as Nudge } from "./Nudge";
2
+ export { default as SpinnerWheel } from "./SpinnerWheel";
3
+ export { default as Cart } from "./Cart";
4
+ export { default as Bundle } from "./BundleBlock";
5
+ export { default as BundleLoader } from "./BundleBlock/Loader";
6
+ export { default as ProductOffers, ProductsOffersConfigType, CartCheckpoint, } from "./ProductOffersBlock/ProductsOffers";
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ export interface SpinnerProps {
3
+ color?: string;
4
+ size?: number;
5
+ loading?: boolean;
6
+ }
7
+ /**
8
+ * A lightweight CSS-only spinner component to replace ClipLoader from react-spinners.
9
+ * Uses CSS animations for the spinning effect.
10
+ */
11
+ export declare const Spinner: React.FC<SpinnerProps>;
12
+ export interface ScaleLoaderProps {
13
+ color?: string;
14
+ loading?: boolean;
15
+ height?: number;
16
+ width?: number;
17
+ }
18
+ /**
19
+ * A lightweight CSS-only scale loader component to replace ScaleLoader from react-spinners.
20
+ * Displays animated bars that pulse in sequence.
21
+ */
22
+ export declare const ScaleLoader: React.FC<ScaleLoaderProps>;
23
+ export default Spinner;
@@ -0,0 +1,2 @@
1
+ export { Spinner, ScaleLoader } from "./Spinner";
2
+ export type { SpinnerProps, ScaleLoaderProps } from "./Spinner";
@@ -1 +1 @@
1
- export * from "./components";
1
+ export * from "./components";
@@ -1,2 +1,2 @@
1
- export declare const getCurrencyValueFromShopifyPrice: (price: number, currency: string) => number;
2
- export declare const getCurrencySymbol: (cartData: any, currency?: string) => string;
1
+ export declare const getCurrencyValueFromShopifyPrice: (price: number, currency: string) => number;
2
+ export declare const getCurrencySymbol: (cartData: any, currency?: string) => string;
@@ -1,20 +1,20 @@
1
- export interface CustomVariantValue {
2
- name: string;
3
- value: string;
4
- }
5
- export interface CustomVariantOption {
6
- id?: string;
7
- name: string;
8
- type?: "text" | "image" | "color" | string;
9
- values: CustomVariantValue[];
10
- }
11
- export interface CustomVariantOptions {
12
- options: CustomVariantOption[];
13
- }
14
- export declare const normalizeVariantLabel: (label?: string) => string;
15
- export declare const extractHexFromLabel: (label?: string) => string | null;
16
- export declare const loadCustomVariantOptions: () => CustomVariantOptions | null;
17
- export declare const saveCustomVariantOptions: (input: CustomVariantOptions | CustomVariantOption[]) => void;
18
- export declare const clearCustomVariantOptions: () => void;
19
- export declare const findMatchingCustomVariantValue: (customOption: CustomVariantOption | undefined, optionValue?: string) => CustomVariantValue | undefined;
20
- export declare const useCustomVariantOptions: () => CustomVariantOptions | null;
1
+ export interface CustomVariantValue {
2
+ name: string;
3
+ value: string;
4
+ }
5
+ export interface CustomVariantOption {
6
+ id?: string;
7
+ name: string;
8
+ type?: "text" | "image" | "color" | string;
9
+ values: CustomVariantValue[];
10
+ }
11
+ export interface CustomVariantOptions {
12
+ options: CustomVariantOption[];
13
+ }
14
+ export declare const normalizeVariantLabel: (label?: string) => string;
15
+ export declare const extractHexFromLabel: (label?: string) => string | null;
16
+ export declare const loadCustomVariantOptions: () => CustomVariantOptions | null;
17
+ export declare const saveCustomVariantOptions: (input: CustomVariantOptions | CustomVariantOption[]) => void;
18
+ export declare const clearCustomVariantOptions: () => void;
19
+ export declare const findMatchingCustomVariantValue: (customOption: CustomVariantOption | undefined, optionValue?: string) => CustomVariantValue | undefined;
20
+ export declare const useCustomVariantOptions: () => CustomVariantOptions | null;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Centralized error logging utility for Freebie Claim components
3
+ * Provides detailed error logging with context to help debug issues across stores
4
+ */
5
+ export declare enum FreebieErrorSeverity {
6
+ WARNING = "WARNING",
7
+ ERROR = "ERROR",
8
+ CRITICAL = "CRITICAL"
9
+ }
10
+ export interface FreebieErrorContext {
11
+ component?: string;
12
+ productId?: string;
13
+ productTitle?: string;
14
+ variantId?: string;
15
+ checkpointId?: number;
16
+ storeData?: any;
17
+ additionalData?: any;
18
+ }
19
+ export interface FreebieError {
20
+ severity: FreebieErrorSeverity;
21
+ message: string;
22
+ context: FreebieErrorContext;
23
+ timestamp: string;
24
+ }
25
+ declare class FreebieErrorLogger {
26
+ private errors;
27
+ private maxErrors;
28
+ /**
29
+ * Log an error with context
30
+ */
31
+ log(severity: FreebieErrorSeverity, message: string, context?: FreebieErrorContext): void;
32
+ /**
33
+ * Log a warning
34
+ */
35
+ warn(message: string, context?: FreebieErrorContext): void;
36
+ /**
37
+ * Log an error
38
+ */
39
+ error(message: string, context?: FreebieErrorContext): void;
40
+ /**
41
+ * Log a critical error
42
+ */
43
+ critical(message: string, context?: FreebieErrorContext): void;
44
+ /**
45
+ * Get all logged errors
46
+ */
47
+ getErrors(): FreebieError[];
48
+ /**
49
+ * Get errors by severity
50
+ */
51
+ getErrorsBySeverity(severity: FreebieErrorSeverity): FreebieError[];
52
+ /**
53
+ * Clear all errors
54
+ */
55
+ clearErrors(): void;
56
+ /**
57
+ * Export errors as JSON for debugging
58
+ */
59
+ exportErrors(): string;
60
+ }
61
+ export declare const freebieErrorLogger: FreebieErrorLogger;
62
+ export declare const logMissingProp: (component: string, propName: string, additionalContext?: any) => void;
63
+ export declare const logInvalidData: (component: string, dataType: string, issue: string, data?: any) => void;
64
+ export declare const logProductError: (component: string, message: string, productId?: string, productTitle?: string, additionalData?: any) => void;
65
+ export declare const logVariantError: (component: string, message: string, productId?: string, variantId?: string, additionalData?: any) => void;
66
+ export declare const logCheckpointError: (component: string, message: string, checkpointId?: number, additionalData?: any) => void;
67
+ export declare const logWarning: (component: string, message: string, context?: FreebieErrorContext) => void;
68
+ export {};
@@ -1,23 +1,23 @@
1
- export declare const isVariantAvailable: (product: any, variantNode: any) => boolean;
2
- export interface ProcessedFreebieProduct {
3
- selectedVariantId?: string;
4
- selectedVariantGid?: string;
5
- selectedVariantPrice: number;
6
- availableVariants: any[];
7
- displayVariantCount: number;
8
- effectiveDiscount: number;
9
- effectivePrice: number;
10
- dealAmount: number;
11
- showOptions: boolean;
12
- isFree: boolean;
13
- }
14
- /**
15
- * Process freebie product data to extract pricing, variant, and display information
16
- * Consolidates expensive calculations that were happening in multiple components
17
- */
18
- export declare const processFreebieProduct: (product: any, freebieCouponTemplates?: any[], localVariantId?: string) => ProcessedFreebieProduct;
19
- /**
20
- * Get initial variant ID with deal amount preference
21
- * Used by FreebieClaimSectionCard for smart variant selection
22
- */
23
- export declare const getInitialVariantWithDealAmount: (availableVariants: any[], freebieCouponTemplates?: any[]) => string | undefined;
1
+ export declare const isVariantAvailable: (product: any, variantNode: any) => boolean;
2
+ export interface ProcessedFreebieProduct {
3
+ selectedVariantId?: string;
4
+ selectedVariantGid?: string;
5
+ selectedVariantPrice: number;
6
+ availableVariants: any[];
7
+ displayVariantCount: number;
8
+ effectiveDiscount: number;
9
+ effectivePrice: number;
10
+ dealAmount: number;
11
+ showOptions: boolean;
12
+ isFree: boolean;
13
+ }
14
+ /**
15
+ * Process freebie product data to extract pricing, variant, and display information
16
+ * Consolidates expensive calculations that were happening in multiple components
17
+ */
18
+ export declare const processFreebieProduct: (product: any, freebieCouponTemplates?: any[], localVariantId?: string) => ProcessedFreebieProduct;
19
+ /**
20
+ * Get initial variant ID with deal amount preference
21
+ * Used by FreebieClaimSectionCard for smart variant selection
22
+ */
23
+ export declare const getInitialVariantWithDealAmount: (availableVariants: any[], freebieCouponTemplates?: any[]) => string | undefined;
@@ -1,5 +1,5 @@
1
- /**
2
- * Shared utility function for adding freebie products to cart
3
- * Used by both FreebieClaimManager and FreebieClaimSection to avoid code duplication
4
- */
5
- export declare const addFreebieProductsToCart: (selectedProductIds: string[], freebieProductsInCart: any[], addFreebieToCart?: ((variantId: string, originalAllowedVariantIds?: string[]) => Promise<void>) | undefined) => Promise<void>;
1
+ /**
2
+ * Shared utility function for adding freebie products to cart
3
+ * Used by both FreebieClaimManager and FreebieClaimSection to avoid code duplication
4
+ */
5
+ export declare const addFreebieProductsToCart: (selectedProductIds: string[], freebieProductsInCart: any[], addFreebieToCart?: ((variantId: string, originalAllowedVariantIds?: string[]) => Promise<void>) | undefined) => Promise<void>;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Validation utilities for Freebie Claim components
3
+ * Validates product data, configuration, and required props
4
+ */
5
+ export interface ValidationResult {
6
+ isValid: boolean;
7
+ errors: string[];
8
+ warnings: string[];
9
+ }
10
+ /**
11
+ * Validate that required props are present
12
+ */
13
+ export declare const validateRequiredProps: (component: string, props: {
14
+ freebieProductsInCart?: any[];
15
+ addFreebieToCart?: Function;
16
+ freebiesInCart?: string[];
17
+ }) => ValidationResult;
18
+ /**
19
+ * Validate product data structure
20
+ */
21
+ export declare const validateProductData: (component: string, product: any, index?: number) => ValidationResult;
22
+ /**
23
+ * Validate all products in cart
24
+ */
25
+ export declare const validateAllProducts: (component: string, products: any[]) => ValidationResult;
26
+ /**
27
+ * Validate variant data
28
+ */
29
+ export declare const validateVariantData: (component: string, variant: any, productId?: string) => ValidationResult;
30
+ /**
31
+ * Validate checkpoint data
32
+ */
33
+ export declare const validateCheckpoint: (component: string, checkpoint: any) => ValidationResult;
34
+ /**
35
+ * Validate freebie claim configuration
36
+ */
37
+ export declare const validateFreebieClaimData: (component: string, freebieClaimData: any) => ValidationResult;
38
+ /**
39
+ * Validate that products match inventory requirements
40
+ */
41
+ export declare const validateInventoryQuantity: (component: string, product: any, shouldCheckInventoryQuantity: boolean) => ValidationResult;
42
+ /**
43
+ * Log validation summary
44
+ */
45
+ export declare const logValidationSummary: (component: string, validationResults: ValidationResult[]) => void;