@websolutespa/bom-mixer-ui 1.7.3 → 1.7.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 (268) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/index.js +143 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/components/google-map/google-map-skeleton.js +1 -0
  5. package/dist/esm/components/google-map/google-map-skeleton.js.map +1 -1
  6. package/dist/esm/components/svg-animation/svg-animation.js +151 -0
  7. package/dist/esm/components/svg-animation/svg-animation.js.map +1 -0
  8. package/dist/esm/fields/field-accept.js +1 -0
  9. package/dist/esm/fields/field-accept.js.map +1 -1
  10. package/dist/esm/fields/field-collection.js +1 -0
  11. package/dist/esm/fields/field-collection.js.map +1 -1
  12. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js +1 -0
  13. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js.map +1 -1
  14. package/dist/esm/forms/checkbox/checkbox-icon.js +1 -0
  15. package/dist/esm/forms/checkbox/checkbox-icon.js.map +1 -1
  16. package/dist/esm/forms/custom-select/custom-select-dropdown.js +1 -0
  17. package/dist/esm/forms/custom-select/custom-select-dropdown.js.map +1 -1
  18. package/dist/esm/forms/custom-select/custom-select-label.js +1 -0
  19. package/dist/esm/forms/custom-select/custom-select-label.js.map +1 -1
  20. package/dist/esm/forms/custom-select/custom-select-multiple-value.js +1 -0
  21. package/dist/esm/forms/custom-select/custom-select-multiple-value.js.map +1 -1
  22. package/dist/esm/forms/custom-select/custom-select-option.js +1 -0
  23. package/dist/esm/forms/custom-select/custom-select-option.js.map +1 -1
  24. package/dist/esm/forms/custom-select/custom-select.js +1 -0
  25. package/dist/esm/forms/custom-select/custom-select.js.map +1 -1
  26. package/dist/esm/forms/form-error/form-error.js +1 -0
  27. package/dist/esm/forms/form-error/form-error.js.map +1 -1
  28. package/dist/esm/forms/form-tester/form-tester.js +1 -0
  29. package/dist/esm/forms/form-tester/form-tester.js.map +1 -1
  30. package/dist/esm/forms/radio/radio-group.js +1 -0
  31. package/dist/esm/forms/radio/radio-group.js.map +1 -1
  32. package/dist/esm/forms/radio/radio-icon.js +1 -0
  33. package/dist/esm/forms/radio/radio-icon.js.map +1 -1
  34. package/dist/esm/forms/radio-card/radio-card-base.js +1 -0
  35. package/dist/esm/forms/radio-card/radio-card-base.js.map +1 -1
  36. package/dist/esm/forms/radio-color/radio-color-base.js +1 -0
  37. package/dist/esm/forms/radio-color/radio-color-base.js.map +1 -1
  38. package/dist/esm/forms/radio-color/radio-color-group.js +1 -0
  39. package/dist/esm/forms/radio-color/radio-color-group.js.map +1 -1
  40. package/dist/esm/forms/radio-option/radio-option-group.js +1 -0
  41. package/dist/esm/forms/radio-option/radio-option-group.js.map +1 -1
  42. package/dist/esm/hoc/with-page-transition/with-page-transition.js +1 -0
  43. package/dist/esm/hoc/with-page-transition/with-page-transition.js.map +1 -1
  44. package/dist/esm/index.js +1 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/layouts/layout-default/layout-default.js +1 -0
  47. package/dist/esm/layouts/layout-default/layout-default.js.map +1 -1
  48. package/dist/esm/layouts/layout-fixed/layout-fixed.js +1 -0
  49. package/dist/esm/layouts/layout-fixed/layout-fixed.js.map +1 -1
  50. package/dist/esm/lazy/carousel-1/carousel-1.js +1 -0
  51. package/dist/esm/lazy/carousel-1/carousel-1.js.map +1 -1
  52. package/dist/esm/lazy/download-1/download-1.js +1 -0
  53. package/dist/esm/lazy/download-1/download-1.js.map +1 -1
  54. package/dist/esm/lazy/lazy-loader/lazy-loader.js +1 -0
  55. package/dist/esm/lazy/lazy-loader/lazy-loader.js.map +1 -1
  56. package/dist/esm/lazy/media-full-1/media-full-1.js +1 -0
  57. package/dist/esm/lazy/media-full-1/media-full-1.js.map +1 -1
  58. package/dist/esm/lazy/media-full-2/media-full-2.js +1 -0
  59. package/dist/esm/lazy/media-full-2/media-full-2.js.map +1 -1
  60. package/dist/esm/lazy/media-media-1/media-media-1.js +1 -0
  61. package/dist/esm/lazy/media-media-1/media-media-1.js.map +1 -1
  62. package/dist/esm/lazy/not-found/not-found.js +1 -0
  63. package/dist/esm/lazy/not-found/not-found.js.map +1 -1
  64. package/dist/esm/lazy/related-1/related-1-card.js +1 -0
  65. package/dist/esm/lazy/related-1/related-1-card.js.map +1 -1
  66. package/dist/esm/lazy/related-1/related-1.js +1 -0
  67. package/dist/esm/lazy/related-1/related-1.js.map +1 -1
  68. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js +1 -0
  69. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js.map +1 -1
  70. package/dist/esm/lazy/text-1/text-1.js +1 -0
  71. package/dist/esm/lazy/text-1/text-1.js.map +1 -1
  72. package/dist/esm/lazy/text-aside-1/text-aside-1.js +1 -0
  73. package/dist/esm/lazy/text-aside-1/text-aside-1.js.map +1 -1
  74. package/dist/esm/lazy/text-media-1/text-media-1.js +1 -0
  75. package/dist/esm/lazy/text-media-1/text-media-1.js.map +1 -1
  76. package/dist/esm/lazy/text-text-1/text-text-1.js +1 -0
  77. package/dist/esm/lazy/text-text-1/text-text-1.js.map +1 -1
  78. package/dist/esm/sections/auth/auth-change-password.js +1 -0
  79. package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
  80. package/dist/esm/sections/auth/auth-drawer.js +1 -0
  81. package/dist/esm/sections/auth/auth-drawer.js.map +1 -1
  82. package/dist/esm/sections/auth/auth-forgot-success.js +1 -0
  83. package/dist/esm/sections/auth/auth-forgot-success.js.map +1 -1
  84. package/dist/esm/sections/auth/auth-forgot.js +1 -0
  85. package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
  86. package/dist/esm/sections/auth/auth-login.js +1 -0
  87. package/dist/esm/sections/auth/auth-login.js.map +1 -1
  88. package/dist/esm/sections/auth/auth-register-success.js +1 -0
  89. package/dist/esm/sections/auth/auth-register-success.js.map +1 -1
  90. package/dist/esm/sections/auth/auth-register.js +1 -0
  91. package/dist/esm/sections/auth/auth-register.js.map +1 -1
  92. package/dist/esm/sections/auth/auth-update.js +1 -0
  93. package/dist/esm/sections/auth/auth-update.js.map +1 -1
  94. package/dist/esm/sections/blog-more/blog-card.js +1 -0
  95. package/dist/esm/sections/blog-more/blog-card.js.map +1 -1
  96. package/dist/esm/sections/blog-more/blog-more.js +1 -0
  97. package/dist/esm/sections/blog-more/blog-more.js.map +1 -1
  98. package/dist/esm/sections/blog-proposition/blog-proposition.js +1 -0
  99. package/dist/esm/sections/blog-proposition/blog-proposition.js.map +1 -1
  100. package/dist/esm/sections/cart-mini/cart-mini-item.js +1 -0
  101. package/dist/esm/sections/cart-mini/cart-mini-item.js.map +1 -1
  102. package/dist/esm/sections/cart-mini/cart-mini.js +1 -0
  103. package/dist/esm/sections/cart-mini/cart-mini.js.map +1 -1
  104. package/dist/esm/sections/categories-proposition/categories-proposition-card.js +1 -0
  105. package/dist/esm/sections/categories-proposition/categories-proposition-card.js.map +1 -1
  106. package/dist/esm/sections/categories-proposition/categories-proposition.js +1 -0
  107. package/dist/esm/sections/categories-proposition/categories-proposition.js.map +1 -1
  108. package/dist/esm/sections/category-hero/category-hero.js +1 -0
  109. package/dist/esm/sections/category-hero/category-hero.js.map +1 -1
  110. package/dist/esm/sections/category-proposition/category-proposition.js +1 -0
  111. package/dist/esm/sections/category-proposition/category-proposition.js.map +1 -1
  112. package/dist/esm/sections/checkout/checkout-basket-item.js +1 -0
  113. package/dist/esm/sections/checkout/checkout-basket-item.js.map +1 -1
  114. package/dist/esm/sections/checkout/checkout-basket.js +1 -0
  115. package/dist/esm/sections/checkout/checkout-basket.js.map +1 -1
  116. package/dist/esm/sections/checkout/checkout-delivery.js +1 -0
  117. package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
  118. package/dist/esm/sections/checkout/checkout-discount.js +1 -0
  119. package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
  120. package/dist/esm/sections/checkout/checkout-empty.js +1 -0
  121. package/dist/esm/sections/checkout/checkout-empty.js.map +1 -1
  122. package/dist/esm/sections/checkout/checkout-error.js +1 -0
  123. package/dist/esm/sections/checkout/checkout-error.js.map +1 -1
  124. package/dist/esm/sections/checkout/checkout-forgot-success.js +1 -0
  125. package/dist/esm/sections/checkout/checkout-forgot-success.js.map +1 -1
  126. package/dist/esm/sections/checkout/checkout-forgot.js +1 -0
  127. package/dist/esm/sections/checkout/checkout-forgot.js.map +1 -1
  128. package/dist/esm/sections/checkout/checkout-info.js +1 -0
  129. package/dist/esm/sections/checkout/checkout-info.js.map +1 -1
  130. package/dist/esm/sections/checkout/checkout-login.js +1 -0
  131. package/dist/esm/sections/checkout/checkout-login.js.map +1 -1
  132. package/dist/esm/sections/checkout/checkout-payment.js +1 -0
  133. package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
  134. package/dist/esm/sections/checkout/checkout-register-success.js +1 -0
  135. package/dist/esm/sections/checkout/checkout-register-success.js.map +1 -1
  136. package/dist/esm/sections/checkout/checkout-register.js +1 -0
  137. package/dist/esm/sections/checkout/checkout-register.js.map +1 -1
  138. package/dist/esm/sections/checkout/checkout-review.js +1 -0
  139. package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
  140. package/dist/esm/sections/checkout/checkout-success.js +1 -0
  141. package/dist/esm/sections/checkout/checkout-success.js.map +1 -1
  142. package/dist/esm/sections/checkout/checkout-user-info.js +1 -0
  143. package/dist/esm/sections/checkout/checkout-user-info.js.map +1 -1
  144. package/dist/esm/sections/checkout/checkout-wizard.js +1 -0
  145. package/dist/esm/sections/checkout/checkout-wizard.js.map +1 -1
  146. package/dist/esm/sections/colors/colors.js +1 -0
  147. package/dist/esm/sections/colors/colors.js.map +1 -1
  148. package/dist/esm/sections/contact-card/contact-card.js +1 -0
  149. package/dist/esm/sections/contact-card/contact-card.js.map +1 -1
  150. package/dist/esm/sections/contact-form/contact-form.js +1 -0
  151. package/dist/esm/sections/contact-form/contact-form.js.map +1 -1
  152. package/dist/esm/sections/contact-hero/contact-hero.js +1 -0
  153. package/dist/esm/sections/contact-hero/contact-hero.js.map +1 -1
  154. package/dist/esm/sections/footer/footer.js +1 -0
  155. package/dist/esm/sections/footer/footer.js.map +1 -1
  156. package/dist/esm/sections/header/header-card.js +1 -0
  157. package/dist/esm/sections/header/header-card.js.map +1 -1
  158. package/dist/esm/sections/header/header-submenu.js +1 -0
  159. package/dist/esm/sections/header/header-submenu.js.map +1 -1
  160. package/dist/esm/sections/header/header.js +1 -0
  161. package/dist/esm/sections/header/header.js.map +1 -1
  162. package/dist/esm/sections/hero/hero.js +1 -0
  163. package/dist/esm/sections/hero/hero.js.map +1 -1
  164. package/dist/esm/sections/icons/icons.js +1 -0
  165. package/dist/esm/sections/icons/icons.js.map +1 -1
  166. package/dist/esm/sections/magazine-related/magazine-related.js +1 -0
  167. package/dist/esm/sections/magazine-related/magazine-related.js.map +1 -1
  168. package/dist/esm/sections/magazine-search/magazine-search-card.js +1 -0
  169. package/dist/esm/sections/magazine-search/magazine-search-card.js.map +1 -1
  170. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js +1 -0
  171. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js.map +1 -1
  172. package/dist/esm/sections/magazine-search/magazine-search-filters.js +1 -0
  173. package/dist/esm/sections/magazine-search/magazine-search-filters.js.map +1 -1
  174. package/dist/esm/sections/magazine-search/magazine-search.js +1 -0
  175. package/dist/esm/sections/magazine-search/magazine-search.js.map +1 -1
  176. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js +1 -0
  177. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js.map +1 -1
  178. package/dist/esm/sections/order/order-address.js +1 -0
  179. package/dist/esm/sections/order/order-address.js.map +1 -1
  180. package/dist/esm/sections/order/order-item.js +1 -0
  181. package/dist/esm/sections/order/order-item.js.map +1 -1
  182. package/dist/esm/sections/order/order-register.js +1 -0
  183. package/dist/esm/sections/order/order-register.js.map +1 -1
  184. package/dist/esm/sections/order/order-summary-item.js +1 -0
  185. package/dist/esm/sections/order/order-summary-item.js.map +1 -1
  186. package/dist/esm/sections/order/order-summary.js +1 -0
  187. package/dist/esm/sections/order/order-summary.js.map +1 -1
  188. package/dist/esm/sections/product-overview/product-overview-gallery.js +1 -0
  189. package/dist/esm/sections/product-overview/product-overview-gallery.js.map +1 -1
  190. package/dist/esm/sections/product-overview/product-overview.js +1 -0
  191. package/dist/esm/sections/product-overview/product-overview.js.map +1 -1
  192. package/dist/esm/sections/products-detail-download/products-detail-download.js +1 -0
  193. package/dist/esm/sections/products-detail-download/products-detail-download.js.map +1 -1
  194. package/dist/esm/sections/products-detail-related/products-detail-related-card.js +1 -0
  195. package/dist/esm/sections/products-detail-related/products-detail-related-card.js.map +1 -1
  196. package/dist/esm/sections/products-detail-related/products-detail-related.js +1 -0
  197. package/dist/esm/sections/products-detail-related/products-detail-related.js.map +1 -1
  198. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js +1 -0
  199. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js.map +1 -1
  200. package/dist/esm/sections/products-hero/products-hero-card.js +1 -0
  201. package/dist/esm/sections/products-hero/products-hero-card.js.map +1 -1
  202. package/dist/esm/sections/products-hero/products-hero.js +1 -0
  203. package/dist/esm/sections/products-hero/products-hero.js.map +1 -1
  204. package/dist/esm/sections/products-proposition/products-proposition-card.js +1 -0
  205. package/dist/esm/sections/products-proposition/products-proposition-card.js.map +1 -1
  206. package/dist/esm/sections/products-proposition/products-proposition.js +1 -0
  207. package/dist/esm/sections/products-proposition/products-proposition.js.map +1 -1
  208. package/dist/esm/sections/products-related/products-related-card.js +1 -0
  209. package/dist/esm/sections/products-related/products-related-card.js.map +1 -1
  210. package/dist/esm/sections/products-related/products-related.js +1 -0
  211. package/dist/esm/sections/products-related/products-related.js.map +1 -1
  212. package/dist/esm/sections/products-search/products-search-card.js +1 -0
  213. package/dist/esm/sections/products-search/products-search-card.js.map +1 -1
  214. package/dist/esm/sections/products-search/products-search-filters-modal.js +1 -0
  215. package/dist/esm/sections/products-search/products-search-filters-modal.js.map +1 -1
  216. package/dist/esm/sections/products-search/products-search-filters.js +1 -0
  217. package/dist/esm/sections/products-search/products-search-filters.js.map +1 -1
  218. package/dist/esm/sections/products-search/products-search-recap.js +1 -0
  219. package/dist/esm/sections/products-search/products-search-recap.js.map +1 -1
  220. package/dist/esm/sections/products-search/products-search.js +1 -0
  221. package/dist/esm/sections/products-search/products-search.js.map +1 -1
  222. package/dist/esm/sections/proposition/proposition.js +1 -0
  223. package/dist/esm/sections/proposition/proposition.js.map +1 -1
  224. package/dist/esm/sections/reserved_area/reserved_area.js +1 -0
  225. package/dist/esm/sections/reserved_area/reserved_area.js.map +1 -1
  226. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js +1 -0
  227. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js.map +1 -1
  228. package/dist/esm/sections/shop-category-hero/shop-category-hero.js +1 -0
  229. package/dist/esm/sections/shop-category-hero/shop-category-hero.js.map +1 -1
  230. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js +1 -0
  231. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js.map +1 -1
  232. package/dist/esm/sections/shop-detail-related/shop-detail-related.js +1 -0
  233. package/dist/esm/sections/shop-detail-related/shop-detail-related.js.map +1 -1
  234. package/dist/esm/sections/shop-hero/shop-hero-card.js +1 -0
  235. package/dist/esm/sections/shop-hero/shop-hero-card.js.map +1 -1
  236. package/dist/esm/sections/shop-hero/shop-hero.js +1 -0
  237. package/dist/esm/sections/shop-hero/shop-hero.js.map +1 -1
  238. package/dist/esm/sections/shop-incentive/shop-incentive.js +1 -0
  239. package/dist/esm/sections/shop-incentive/shop-incentive.js.map +1 -1
  240. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js +1 -0
  241. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js.map +1 -1
  242. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js +1 -0
  243. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js.map +1 -1
  244. package/dist/esm/sections/shop-search/shop-search-card.js +1 -0
  245. package/dist/esm/sections/shop-search/shop-search-card.js.map +1 -1
  246. package/dist/esm/sections/shop-search/shop-search-filters-modal.js +1 -0
  247. package/dist/esm/sections/shop-search/shop-search-filters-modal.js.map +1 -1
  248. package/dist/esm/sections/shop-search/shop-search-filters.js +1 -0
  249. package/dist/esm/sections/shop-search/shop-search-filters.js.map +1 -1
  250. package/dist/esm/sections/shop-search/shop-search-recap.js +1 -0
  251. package/dist/esm/sections/shop-search/shop-search-recap.js.map +1 -1
  252. package/dist/esm/sections/shop-search/shop-search.js +1 -0
  253. package/dist/esm/sections/shop-search/shop-search.js.map +1 -1
  254. package/dist/esm/sections/split/split.js +1 -0
  255. package/dist/esm/sections/split/split.js.map +1 -1
  256. package/dist/esm/sections/store-locator/store-locator-search.js +1 -0
  257. package/dist/esm/sections/store-locator/store-locator-search.js.map +1 -1
  258. package/dist/esm/sections/swiper-hero/swiper-hero.js +1 -0
  259. package/dist/esm/sections/swiper-hero/swiper-hero.js.map +1 -1
  260. package/dist/esm/sections/typography/typography.js +1 -0
  261. package/dist/esm/sections/typography/typography.js.map +1 -1
  262. package/dist/types/components/index.d.ts +1 -0
  263. package/dist/types/components/index.d.ts.map +1 -1
  264. package/dist/types/components/svg-animation/svg-animation.d.ts +14 -0
  265. package/dist/types/components/svg-animation/svg-animation.d.ts.map +1 -0
  266. package/package.json +3 -1
  267. package/src/components/index.ts +1 -0
  268. package/src/components/svg-animation/svg-animation.tsx +152 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @websolutespa/bom-mixer-ui
2
2
 
3
+ ## 1.7.4
4
+
5
+ ### Patch Changes
6
+
7
+ - aa41666: Added: SvgAnimation
8
+ - Updated dependencies [aa41666]
9
+ - @websolutespa/bom-mixer-hooks@1.7.1
10
+
3
11
  ## 1.7.3
4
12
 
5
13
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -15,6 +15,7 @@ var bomMixerStore = require('@websolutespa/bom-mixer-store');
15
15
  var bomMixerModels = require('@websolutespa/bom-mixer-models');
16
16
  var Head = require('next/head');
17
17
  var router = require('next/router');
18
+ var LottiePlayerLight = require('react-lottie-player/dist/LottiePlayerLight');
18
19
  var bomMixerForms = require('@websolutespa/bom-mixer-forms');
19
20
  var dynamic = require('next/dynamic');
20
21
  var jsApiLoader = require('@googlemaps/js-api-loader');
@@ -28,6 +29,7 @@ var styled__default = /*#__PURE__*/_interopDefault(styled);
28
29
  var NextLink__default = /*#__PURE__*/_interopDefault(NextLink);
29
30
  var swiperCss__default = /*#__PURE__*/_interopDefault(swiperCss);
30
31
  var Head__default = /*#__PURE__*/_interopDefault(Head);
32
+ var LottiePlayerLight__default = /*#__PURE__*/_interopDefault(LottiePlayerLight);
31
33
  var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
32
34
  var MarkerClustererPlus__default = /*#__PURE__*/_interopDefault(MarkerClustererPlus);
33
35
 
@@ -6684,6 +6686,146 @@ const Skeleton = _a => {
6684
6686
  }));
6685
6687
  };
6686
6688
 
6689
+ const StyledSvgAnimation = styled__default.default.div`
6690
+ display: flex;
6691
+ justify-content: center;
6692
+ align-items: center;
6693
+ & > div {
6694
+ object-fit: contain;
6695
+ width: 100%;
6696
+ height: 100%;
6697
+ }
6698
+ ${props => getCssResponsive(props)}
6699
+ `;
6700
+ const SvgAnimation = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
6701
+ var {
6702
+ className,
6703
+ as = 'div',
6704
+ href,
6705
+ animation,
6706
+ loop = false,
6707
+ scrollable = false,
6708
+ scrollableRef,
6709
+ width,
6710
+ height
6711
+ } = _a,
6712
+ props = __rest(_a, ["className", "as", "href", "animation", "loop", "scrollable", "scrollableRef", "width", "height"]);
6713
+ if (!href && !animation) {
6714
+ throw 'SvgAnimation.error: please submit an animation loader or a href';
6715
+ }
6716
+ const elementRef = React.useRef();
6717
+ React.useImperativeHandle(forwardedRef, () => {
6718
+ return elementRef.current;
6719
+ }, [elementRef]);
6720
+ const isIntersecting = bomMixerHooks.useIntersectionObserver(elementRef, {
6721
+ threshold: 0,
6722
+ root: null,
6723
+ rootMargin: '0px'
6724
+ });
6725
+ const playerRef = React.useRef();
6726
+ const [shouldLoad, setShouldLoad] = React.useState(false);
6727
+ const [animationData, setAnimationData] = React.useState();
6728
+ const [animationPath, setAnimationPath] = React.useState();
6729
+ const [animationPosition, setAnimationPosition] = React.useState();
6730
+ // load animation on shouldLoad
6731
+ React.useEffect(() => {
6732
+ if (shouldLoad) {
6733
+ // console.log('SvgAnimation.shouldLoad');
6734
+ if (typeof animation === 'function') {
6735
+ animation().then(setAnimationData);
6736
+ } else {
6737
+ setAnimationPath(href);
6738
+ }
6739
+ }
6740
+ // eslint-disable-next-line react-hooks/exhaustive-deps
6741
+ }, [shouldLoad]);
6742
+ // handle intersection
6743
+ React.useEffect(() => {
6744
+ if (isIntersecting) {
6745
+ if (!shouldLoad) {
6746
+ setShouldLoad(true);
6747
+ } else {
6748
+ if (!scrollable && playerRef.current) {
6749
+ // console.log('SvgAnimation.play');
6750
+ playerRef.current.goToAndPlay(0);
6751
+ }
6752
+ }
6753
+ } else {
6754
+ if (!scrollable && playerRef.current) {
6755
+ // console.log('SvgAnimation.stop');
6756
+ playerRef.current.stop();
6757
+ }
6758
+ }
6759
+ }, [isIntersecting, scrollable, shouldLoad]);
6760
+ // handle scroll
6761
+ React.useEffect(() => {
6762
+ const scrollElement = scrollable ? scrollableRef ? scrollableRef.current : window : undefined;
6763
+ const onScroll = () => {
6764
+ if (elementRef.current && playerRef.current) {
6765
+ let top = 0;
6766
+ const rect = elementRef.current.getBoundingClientRect();
6767
+ if (scrollableRef && scrollableRef.current) {
6768
+ const scrollableRect = scrollableRef.current.getBoundingClientRect();
6769
+ top = 1 - (rect.top - scrollableRect.top) / (scrollableRect.height + rect.height);
6770
+ } else {
6771
+ top = 1 - rect.top / (window.innerHeight + rect.height);
6772
+ }
6773
+ const position = Math.max(0, Math.min(1, top));
6774
+ const frame = Math.round(playerRef.current.totalFrames * position);
6775
+ setAnimationPosition(frame);
6776
+ }
6777
+ };
6778
+ if (scrollable) {
6779
+ if (scrollElement) {
6780
+ scrollElement.addEventListener('scroll', onScroll, {
6781
+ passive: true
6782
+ });
6783
+ }
6784
+ }
6785
+ return () => {
6786
+ if (scrollable && scrollElement) {
6787
+ scrollElement.removeEventListener('scroll', onScroll);
6788
+ }
6789
+ };
6790
+ }, [scrollable, scrollableRef]);
6791
+ const onLoad = () => {
6792
+ if (!scrollable && playerRef.current) {
6793
+ playerRef.current.goToAndPlay(0);
6794
+ }
6795
+ };
6796
+ const classNames = bomCore.getClassNames('lottie', className, {
6797
+ loading: !animationData
6798
+ });
6799
+ return jsxRuntime.jsxs(StyledSvgAnimation, Object.assign({
6800
+ ref: elementRef,
6801
+ className: classNames,
6802
+ as: as
6803
+ }, props, {
6804
+ children: [animationData && jsxRuntime.jsx(LottiePlayerLight__default.default, {
6805
+ ref: playerRef,
6806
+ animationData: animationData,
6807
+ goTo: animationPosition,
6808
+ onLoad: onLoad,
6809
+ loop: loop,
6810
+ style: {
6811
+ width,
6812
+ height
6813
+ }
6814
+ }), animationPath && jsxRuntime.jsx(LottiePlayerLight__default.default, {
6815
+ ref: playerRef,
6816
+ path: animationPath,
6817
+ goTo: animationPosition,
6818
+ onLoad: onLoad,
6819
+ loop: loop,
6820
+ style: {
6821
+ width,
6822
+ height
6823
+ }
6824
+ })]
6825
+ }));
6826
+ });
6827
+ SvgAnimation.displayName = 'SvgAnimation';
6828
+
6687
6829
  const Svg = styled__default.default.svg.attrs({
6688
6830
  version: '1.1',
6689
6831
  xmlns: 'http://www.w3.org/2000/svg',
@@ -20543,6 +20685,7 @@ exports.Skeleton = Skeleton;
20543
20685
  exports.Split = Split;
20544
20686
  exports.StoreLocatorSearch = StoreLocatorSearch;
20545
20687
  exports.Svg = Svg;
20688
+ exports.SvgAnimation = SvgAnimation;
20546
20689
  exports.SwiperComponent = SwiperComponent;
20547
20690
  exports.SwiperHero = SwiperHero;
20548
20691
  exports.Tabs = Tabs;