@websolutespa/bom-mixer-ui 1.7.9 → 1.7.11

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 (305) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/index.js +315 -187
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/components/google-map/google-map-skeleton.js +4 -2
  5. package/dist/esm/components/google-map/google-map-skeleton.js.map +1 -1
  6. package/dist/esm/components/media/media-image.js +33 -7
  7. package/dist/esm/components/media/media-image.js.map +1 -1
  8. package/dist/esm/components/media/media-items.js +103 -0
  9. package/dist/esm/components/media/media-items.js.map +1 -0
  10. package/dist/esm/components/media/media-video.js +83 -0
  11. package/dist/esm/components/media/media-video.js.map +1 -0
  12. package/dist/esm/components/media/media.js +52 -176
  13. package/dist/esm/components/media/media.js.map +1 -1
  14. package/dist/esm/components/meta/meta.js +6 -4
  15. package/dist/esm/components/meta/meta.js.map +1 -1
  16. package/dist/esm/components/svg-animation/svg-animation.js +30 -5
  17. package/dist/esm/components/svg-animation/svg-animation.js.map +1 -1
  18. package/dist/esm/components/utils.js +26 -1
  19. package/dist/esm/components/utils.js.map +1 -1
  20. package/dist/esm/fields/field-accept.js +3 -1
  21. package/dist/esm/fields/field-accept.js.map +1 -1
  22. package/dist/esm/fields/field-collection.js +3 -1
  23. package/dist/esm/fields/field-collection.js.map +1 -1
  24. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js +3 -1
  25. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js.map +1 -1
  26. package/dist/esm/forms/checkbox/checkbox-icon.js +3 -2
  27. package/dist/esm/forms/checkbox/checkbox-icon.js.map +1 -1
  28. package/dist/esm/forms/custom-select/custom-select-dropdown.js +3 -1
  29. package/dist/esm/forms/custom-select/custom-select-dropdown.js.map +1 -1
  30. package/dist/esm/forms/custom-select/custom-select-label.js +3 -2
  31. package/dist/esm/forms/custom-select/custom-select-label.js.map +1 -1
  32. package/dist/esm/forms/custom-select/custom-select-multiple-value.js +4 -2
  33. package/dist/esm/forms/custom-select/custom-select-multiple-value.js.map +1 -1
  34. package/dist/esm/forms/custom-select/custom-select-option.js +2 -1
  35. package/dist/esm/forms/custom-select/custom-select-option.js.map +1 -1
  36. package/dist/esm/forms/custom-select/custom-select.js +2 -0
  37. package/dist/esm/forms/custom-select/custom-select.js.map +1 -1
  38. package/dist/esm/forms/form-error/form-error.js +2 -0
  39. package/dist/esm/forms/form-error/form-error.js.map +1 -1
  40. package/dist/esm/forms/form-tester/form-tester.js +2 -0
  41. package/dist/esm/forms/form-tester/form-tester.js.map +1 -1
  42. package/dist/esm/forms/radio/radio-group.js +2 -1
  43. package/dist/esm/forms/radio/radio-group.js.map +1 -1
  44. package/dist/esm/forms/radio/radio-icon.js +3 -2
  45. package/dist/esm/forms/radio/radio-icon.js.map +1 -1
  46. package/dist/esm/forms/radio-card/radio-card-base.js +2 -0
  47. package/dist/esm/forms/radio-card/radio-card-base.js.map +1 -1
  48. package/dist/esm/forms/radio-color/radio-color-base.js +2 -0
  49. package/dist/esm/forms/radio-color/radio-color-base.js.map +1 -1
  50. package/dist/esm/forms/radio-color/radio-color-group.js +2 -1
  51. package/dist/esm/forms/radio-color/radio-color-group.js.map +1 -1
  52. package/dist/esm/forms/radio-option/radio-option-group.js +2 -1
  53. package/dist/esm/forms/radio-option/radio-option-group.js.map +1 -1
  54. package/dist/esm/hoc/with-page-transition/with-page-transition.js +4 -2
  55. package/dist/esm/hoc/with-page-transition/with-page-transition.js.map +1 -1
  56. package/dist/esm/index.js +4 -1
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/layouts/layout-default/layout-default.js +5 -4
  59. package/dist/esm/layouts/layout-default/layout-default.js.map +1 -1
  60. package/dist/esm/layouts/layout-fixed/layout-fixed.js +5 -4
  61. package/dist/esm/layouts/layout-fixed/layout-fixed.js.map +1 -1
  62. package/dist/esm/lazy/carousel-1/carousel-1.js +3 -2
  63. package/dist/esm/lazy/carousel-1/carousel-1.js.map +1 -1
  64. package/dist/esm/lazy/download-1/download-1.js +4 -2
  65. package/dist/esm/lazy/download-1/download-1.js.map +1 -1
  66. package/dist/esm/lazy/lazy-loader/lazy-loader.js +3 -1
  67. package/dist/esm/lazy/lazy-loader/lazy-loader.js.map +1 -1
  68. package/dist/esm/lazy/media-full-1/media-full-1.js +4 -2
  69. package/dist/esm/lazy/media-full-1/media-full-1.js.map +1 -1
  70. package/dist/esm/lazy/media-full-2/media-full-2.js +4 -2
  71. package/dist/esm/lazy/media-full-2/media-full-2.js.map +1 -1
  72. package/dist/esm/lazy/media-media-1/media-media-1.js +4 -2
  73. package/dist/esm/lazy/media-media-1/media-media-1.js.map +1 -1
  74. package/dist/esm/lazy/not-found/not-found.js +4 -2
  75. package/dist/esm/lazy/not-found/not-found.js.map +1 -1
  76. package/dist/esm/lazy/related-1/related-1-card.js +3 -2
  77. package/dist/esm/lazy/related-1/related-1-card.js.map +1 -1
  78. package/dist/esm/lazy/related-1/related-1.js +4 -2
  79. package/dist/esm/lazy/related-1/related-1.js.map +1 -1
  80. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js +4 -2
  81. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js.map +1 -1
  82. package/dist/esm/lazy/text-1/text-1.js +4 -2
  83. package/dist/esm/lazy/text-1/text-1.js.map +1 -1
  84. package/dist/esm/lazy/text-aside-1/text-aside-1.js +4 -2
  85. package/dist/esm/lazy/text-aside-1/text-aside-1.js.map +1 -1
  86. package/dist/esm/lazy/text-media-1/text-media-1.js +4 -2
  87. package/dist/esm/lazy/text-media-1/text-media-1.js.map +1 -1
  88. package/dist/esm/lazy/text-text-1/text-text-1.js +4 -2
  89. package/dist/esm/lazy/text-text-1/text-text-1.js.map +1 -1
  90. package/dist/esm/sections/auth/auth-change-password.js +2 -1
  91. package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
  92. package/dist/esm/sections/auth/auth-drawer.js +4 -2
  93. package/dist/esm/sections/auth/auth-drawer.js.map +1 -1
  94. package/dist/esm/sections/auth/auth-forgot-success.js +4 -2
  95. package/dist/esm/sections/auth/auth-forgot-success.js.map +1 -1
  96. package/dist/esm/sections/auth/auth-forgot.js +2 -1
  97. package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
  98. package/dist/esm/sections/auth/auth-login.js +2 -1
  99. package/dist/esm/sections/auth/auth-login.js.map +1 -1
  100. package/dist/esm/sections/auth/auth-register-success.js +4 -2
  101. package/dist/esm/sections/auth/auth-register-success.js.map +1 -1
  102. package/dist/esm/sections/auth/auth-register.js +2 -1
  103. package/dist/esm/sections/auth/auth-register.js.map +1 -1
  104. package/dist/esm/sections/auth/auth-update.js +2 -1
  105. package/dist/esm/sections/auth/auth-update.js.map +1 -1
  106. package/dist/esm/sections/blog-more/blog-card.js +3 -2
  107. package/dist/esm/sections/blog-more/blog-card.js.map +1 -1
  108. package/dist/esm/sections/blog-more/blog-more.js +4 -2
  109. package/dist/esm/sections/blog-more/blog-more.js.map +1 -1
  110. package/dist/esm/sections/blog-proposition/blog-proposition.js +3 -2
  111. package/dist/esm/sections/blog-proposition/blog-proposition.js.map +1 -1
  112. package/dist/esm/sections/cart-mini/cart-mini-item.js +4 -2
  113. package/dist/esm/sections/cart-mini/cart-mini-item.js.map +1 -1
  114. package/dist/esm/sections/cart-mini/cart-mini.js +4 -2
  115. package/dist/esm/sections/cart-mini/cart-mini.js.map +1 -1
  116. package/dist/esm/sections/categories-proposition/categories-proposition-card.js +3 -2
  117. package/dist/esm/sections/categories-proposition/categories-proposition-card.js.map +1 -1
  118. package/dist/esm/sections/categories-proposition/categories-proposition.js +4 -2
  119. package/dist/esm/sections/categories-proposition/categories-proposition.js.map +1 -1
  120. package/dist/esm/sections/category-hero/category-hero.js +3 -2
  121. package/dist/esm/sections/category-hero/category-hero.js.map +1 -1
  122. package/dist/esm/sections/category-proposition/category-proposition.js +4 -2
  123. package/dist/esm/sections/category-proposition/category-proposition.js.map +1 -1
  124. package/dist/esm/sections/checkout/checkout-basket-item.js +4 -2
  125. package/dist/esm/sections/checkout/checkout-basket-item.js.map +1 -1
  126. package/dist/esm/sections/checkout/checkout-basket.js +3 -2
  127. package/dist/esm/sections/checkout/checkout-basket.js.map +1 -1
  128. package/dist/esm/sections/checkout/checkout-delivery.js +2 -1
  129. package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
  130. package/dist/esm/sections/checkout/checkout-discount.js +2 -1
  131. package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
  132. package/dist/esm/sections/checkout/checkout-empty.js +4 -2
  133. package/dist/esm/sections/checkout/checkout-empty.js.map +1 -1
  134. package/dist/esm/sections/checkout/checkout-error.js +4 -2
  135. package/dist/esm/sections/checkout/checkout-error.js.map +1 -1
  136. package/dist/esm/sections/checkout/checkout-forgot-success.js +4 -2
  137. package/dist/esm/sections/checkout/checkout-forgot-success.js.map +1 -1
  138. package/dist/esm/sections/checkout/checkout-forgot.js +4 -2
  139. package/dist/esm/sections/checkout/checkout-forgot.js.map +1 -1
  140. package/dist/esm/sections/checkout/checkout-info.js +3 -1
  141. package/dist/esm/sections/checkout/checkout-info.js.map +1 -1
  142. package/dist/esm/sections/checkout/checkout-login.js +4 -2
  143. package/dist/esm/sections/checkout/checkout-login.js.map +1 -1
  144. package/dist/esm/sections/checkout/checkout-payment.js +2 -1
  145. package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
  146. package/dist/esm/sections/checkout/checkout-register-success.js +4 -2
  147. package/dist/esm/sections/checkout/checkout-register-success.js.map +1 -1
  148. package/dist/esm/sections/checkout/checkout-register.js +4 -2
  149. package/dist/esm/sections/checkout/checkout-register.js.map +1 -1
  150. package/dist/esm/sections/checkout/checkout-review.js +2 -1
  151. package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
  152. package/dist/esm/sections/checkout/checkout-success.js +4 -2
  153. package/dist/esm/sections/checkout/checkout-success.js.map +1 -1
  154. package/dist/esm/sections/checkout/checkout-user-info.js +2 -1
  155. package/dist/esm/sections/checkout/checkout-user-info.js.map +1 -1
  156. package/dist/esm/sections/checkout/checkout-wizard.js +2 -1
  157. package/dist/esm/sections/checkout/checkout-wizard.js.map +1 -1
  158. package/dist/esm/sections/colors/colors.js +3 -1
  159. package/dist/esm/sections/colors/colors.js.map +1 -1
  160. package/dist/esm/sections/contact-card/contact-card.js +3 -2
  161. package/dist/esm/sections/contact-card/contact-card.js.map +1 -1
  162. package/dist/esm/sections/contact-form/contact-form.js +4 -2
  163. package/dist/esm/sections/contact-form/contact-form.js.map +1 -1
  164. package/dist/esm/sections/contact-hero/contact-hero.js +4 -2
  165. package/dist/esm/sections/contact-hero/contact-hero.js.map +1 -1
  166. package/dist/esm/sections/footer/footer.js +4 -2
  167. package/dist/esm/sections/footer/footer.js.map +1 -1
  168. package/dist/esm/sections/header/header-card.js +3 -2
  169. package/dist/esm/sections/header/header-card.js.map +1 -1
  170. package/dist/esm/sections/header/header-submenu.js +2 -1
  171. package/dist/esm/sections/header/header-submenu.js.map +1 -1
  172. package/dist/esm/sections/header/header.js +2 -1
  173. package/dist/esm/sections/header/header.js.map +1 -1
  174. package/dist/esm/sections/hero/hero.js +3 -2
  175. package/dist/esm/sections/hero/hero.js.map +1 -1
  176. package/dist/esm/sections/icons/icons.js +3 -1
  177. package/dist/esm/sections/icons/icons.js.map +1 -1
  178. package/dist/esm/sections/magazine-related/magazine-related.js +3 -2
  179. package/dist/esm/sections/magazine-related/magazine-related.js.map +1 -1
  180. package/dist/esm/sections/magazine-search/magazine-search-card.js +3 -2
  181. package/dist/esm/sections/magazine-search/magazine-search-card.js.map +1 -1
  182. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js +4 -2
  183. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js.map +1 -1
  184. package/dist/esm/sections/magazine-search/magazine-search-filters.js +3 -2
  185. package/dist/esm/sections/magazine-search/magazine-search-filters.js.map +1 -1
  186. package/dist/esm/sections/magazine-search/magazine-search.js +2 -1
  187. package/dist/esm/sections/magazine-search/magazine-search.js.map +1 -1
  188. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js +3 -1
  189. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js.map +1 -1
  190. package/dist/esm/sections/order/order-address.js +4 -2
  191. package/dist/esm/sections/order/order-address.js.map +1 -1
  192. package/dist/esm/sections/order/order-item.js +4 -2
  193. package/dist/esm/sections/order/order-item.js.map +1 -1
  194. package/dist/esm/sections/order/order-register.js +2 -1
  195. package/dist/esm/sections/order/order-register.js.map +1 -1
  196. package/dist/esm/sections/order/order-summary-item.js +4 -2
  197. package/dist/esm/sections/order/order-summary-item.js.map +1 -1
  198. package/dist/esm/sections/order/order-summary.js +4 -2
  199. package/dist/esm/sections/order/order-summary.js.map +1 -1
  200. package/dist/esm/sections/product-overview/product-overview-gallery.js +3 -2
  201. package/dist/esm/sections/product-overview/product-overview-gallery.js.map +1 -1
  202. package/dist/esm/sections/product-overview/product-overview.js +2 -1
  203. package/dist/esm/sections/product-overview/product-overview.js.map +1 -1
  204. package/dist/esm/sections/products-detail-download/products-detail-download.js +4 -2
  205. package/dist/esm/sections/products-detail-download/products-detail-download.js.map +1 -1
  206. package/dist/esm/sections/products-detail-related/products-detail-related-card.js +3 -2
  207. package/dist/esm/sections/products-detail-related/products-detail-related-card.js.map +1 -1
  208. package/dist/esm/sections/products-detail-related/products-detail-related.js +4 -2
  209. package/dist/esm/sections/products-detail-related/products-detail-related.js.map +1 -1
  210. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js +4 -2
  211. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js.map +1 -1
  212. package/dist/esm/sections/products-hero/products-hero-card.js +4 -3
  213. package/dist/esm/sections/products-hero/products-hero-card.js.map +1 -1
  214. package/dist/esm/sections/products-hero/products-hero.js +4 -2
  215. package/dist/esm/sections/products-hero/products-hero.js.map +1 -1
  216. package/dist/esm/sections/products-proposition/products-proposition-card.js +3 -2
  217. package/dist/esm/sections/products-proposition/products-proposition-card.js.map +1 -1
  218. package/dist/esm/sections/products-proposition/products-proposition.js +4 -2
  219. package/dist/esm/sections/products-proposition/products-proposition.js.map +1 -1
  220. package/dist/esm/sections/products-related/products-related-card.js +3 -2
  221. package/dist/esm/sections/products-related/products-related-card.js.map +1 -1
  222. package/dist/esm/sections/products-related/products-related.js +4 -2
  223. package/dist/esm/sections/products-related/products-related.js.map +1 -1
  224. package/dist/esm/sections/products-search/products-search-card.js +3 -2
  225. package/dist/esm/sections/products-search/products-search-card.js.map +1 -1
  226. package/dist/esm/sections/products-search/products-search-filters-modal.js +4 -2
  227. package/dist/esm/sections/products-search/products-search-filters-modal.js.map +1 -1
  228. package/dist/esm/sections/products-search/products-search-filters.js +3 -2
  229. package/dist/esm/sections/products-search/products-search-filters.js.map +1 -1
  230. package/dist/esm/sections/products-search/products-search-recap.js +4 -2
  231. package/dist/esm/sections/products-search/products-search-recap.js.map +1 -1
  232. package/dist/esm/sections/products-search/products-search.js +2 -1
  233. package/dist/esm/sections/products-search/products-search.js.map +1 -1
  234. package/dist/esm/sections/proposition/proposition.js +4 -2
  235. package/dist/esm/sections/proposition/proposition.js.map +1 -1
  236. package/dist/esm/sections/reserved_area/reserved_area.js +4 -2
  237. package/dist/esm/sections/reserved_area/reserved_area.js.map +1 -1
  238. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js +2 -1
  239. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js.map +1 -1
  240. package/dist/esm/sections/shop-category-hero/shop-category-hero.js +3 -2
  241. package/dist/esm/sections/shop-category-hero/shop-category-hero.js.map +1 -1
  242. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js +3 -2
  243. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js.map +1 -1
  244. package/dist/esm/sections/shop-detail-related/shop-detail-related.js +4 -2
  245. package/dist/esm/sections/shop-detail-related/shop-detail-related.js.map +1 -1
  246. package/dist/esm/sections/shop-hero/shop-hero-card.js +3 -2
  247. package/dist/esm/sections/shop-hero/shop-hero-card.js.map +1 -1
  248. package/dist/esm/sections/shop-hero/shop-hero.js +4 -2
  249. package/dist/esm/sections/shop-hero/shop-hero.js.map +1 -1
  250. package/dist/esm/sections/shop-incentive/shop-incentive.js +4 -2
  251. package/dist/esm/sections/shop-incentive/shop-incentive.js.map +1 -1
  252. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js +3 -2
  253. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js.map +1 -1
  254. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js +4 -2
  255. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js.map +1 -1
  256. package/dist/esm/sections/shop-search/shop-search-card.js +3 -2
  257. package/dist/esm/sections/shop-search/shop-search-card.js.map +1 -1
  258. package/dist/esm/sections/shop-search/shop-search-filters-modal.js +4 -2
  259. package/dist/esm/sections/shop-search/shop-search-filters-modal.js.map +1 -1
  260. package/dist/esm/sections/shop-search/shop-search-filters.js +3 -2
  261. package/dist/esm/sections/shop-search/shop-search-filters.js.map +1 -1
  262. package/dist/esm/sections/shop-search/shop-search-recap.js +4 -2
  263. package/dist/esm/sections/shop-search/shop-search-recap.js.map +1 -1
  264. package/dist/esm/sections/shop-search/shop-search.js +2 -1
  265. package/dist/esm/sections/shop-search/shop-search.js.map +1 -1
  266. package/dist/esm/sections/split/split.js +4 -2
  267. package/dist/esm/sections/split/split.js.map +1 -1
  268. package/dist/esm/sections/store-locator/store-locator-search.js +2 -1
  269. package/dist/esm/sections/store-locator/store-locator-search.js.map +1 -1
  270. package/dist/esm/sections/swiper-hero/swiper-hero.js +4 -2
  271. package/dist/esm/sections/swiper-hero/swiper-hero.js.map +1 -1
  272. package/dist/esm/sections/typography/typography.js +3 -1
  273. package/dist/esm/sections/typography/typography.js.map +1 -1
  274. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -4
  275. package/dist/types/components/css.d.ts +1 -1
  276. package/dist/types/components/google-map/google-map.d.ts +1 -1
  277. package/dist/types/components/grid/grid.d.ts +1 -1
  278. package/dist/types/components/index.d.ts +3 -0
  279. package/dist/types/components/index.d.ts.map +1 -1
  280. package/dist/types/components/media/media-image.d.ts +6 -2
  281. package/dist/types/components/media/media-image.d.ts.map +1 -1
  282. package/dist/types/components/media/media-items.d.ts +56 -0
  283. package/dist/types/components/media/media-items.d.ts.map +1 -0
  284. package/dist/types/components/media/media-video.d.ts +12 -0
  285. package/dist/types/components/media/media-video.d.ts.map +1 -0
  286. package/dist/types/components/media/media.d.ts +3 -42
  287. package/dist/types/components/media/media.d.ts.map +1 -1
  288. package/dist/types/components/meta/meta.d.ts +4 -1
  289. package/dist/types/components/meta/meta.d.ts.map +1 -1
  290. package/dist/types/components/svg-animation/svg-animation.d.ts +2 -1
  291. package/dist/types/components/svg-animation/svg-animation.d.ts.map +1 -1
  292. package/dist/types/components/utils.d.ts +2 -1
  293. package/dist/types/components/utils.d.ts.map +1 -1
  294. package/dist/types/forms/radio-card/radio-card-base.d.ts +2 -0
  295. package/dist/types/forms/radio-card/radio-card-base.d.ts.map +1 -1
  296. package/package.json +2 -2
  297. package/src/components/index.ts +3 -0
  298. package/src/components/media/media-image.tsx +39 -8
  299. package/src/components/media/media-items.tsx +151 -0
  300. package/src/components/media/media-video.tsx +90 -0
  301. package/src/components/media/media.tsx +64 -213
  302. package/src/components/meta/meta.tsx +18 -6
  303. package/src/components/svg-animation/svg-animation.tsx +36 -8
  304. package/src/components/utils.ts +23 -1
  305. package/src/sections/products-hero/products-hero-card.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @websolutespa/bom-mixer-ui
2
2
 
3
+ ## 1.7.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Modified: Media
8
+ - Added: MediaImage, MediaVideo, MediaItems, pickResponsiveProps
9
+ - Updated dependencies
10
+ - @websolutespa/bom-mixer-models@1.7.5
11
+ - @websolutespa/bom-mixer-store@1.7.4
12
+ - @websolutespa/bom-core@1.7.7
13
+
14
+ ## 1.7.10
15
+
16
+ ### Patch Changes
17
+
18
+ - Modified: Media, Meta
19
+ - Added: SvgAnimation mode overOut
20
+ - Updated dependencies
21
+ - Updated dependencies
22
+ - @websolutespa/bom-core@1.7.5
23
+ - @websolutespa/bom-mixer-models@1.7.4
24
+
3
25
  ## 1.7.9
4
26
 
5
27
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -726,6 +726,31 @@ function getAspectResponsive(props, defaultValue) {
726
726
  }
727
727
  return rules;
728
728
  }
729
+ function pickResponsiveProps(props) {
730
+ const displayProps = {};
731
+ const otherProps = {};
732
+ const responsiveKeys = [];
733
+ for (var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
734
+ keys[_key - 1] = arguments[_key];
735
+ }
736
+ keys.forEach(k => {
737
+ responsiveKeys.push(k);
738
+ responsiveKeys.push(`${k}Sm`);
739
+ responsiveKeys.push(`${k}Md`);
740
+ responsiveKeys.push(`${k}Lg`);
741
+ responsiveKeys.push(`${k}Xl`);
742
+ });
743
+ Object.entries(props).forEach(_ref => {
744
+ let [k, v] = _ref;
745
+ const key = k;
746
+ if (responsiveKeys.includes(key)) {
747
+ displayProps[k] = v;
748
+ } else {
749
+ otherProps[k] = v;
750
+ }
751
+ });
752
+ return [displayProps, otherProps];
753
+ }
729
754
  function isChildElement(parent, child) {
730
755
  if (!parent || !child) {
731
756
  return false;
@@ -4363,23 +4388,49 @@ const MediaImage = _a => {
4363
4388
  var {
4364
4389
  className,
4365
4390
  type,
4366
- loading = 'lazy'
4391
+ loading = 'lazy',
4392
+ onLoaded,
4393
+ canLoad = true
4367
4394
  } = _a,
4368
- props = __rest(_a, ["className", "type", "loading"]);
4395
+ props = __rest(_a, ["className", "type", "loading", "onLoaded", "canLoad"]);
4369
4396
  const theme = React.useContext(styled.ThemeContext);
4370
4397
  if (!theme) {
4371
4398
  throw new Error('MediaImage must be used within ThemeProvider');
4372
4399
  }
4400
+ const imageRef = React.useRef(null);
4373
4401
  const classNames = bomCore.getClassNames(className, 'image', props.src && {
4374
4402
  'image-svg': isSVG(props.src)
4375
4403
  });
4376
4404
  const imageProps = getImageProps(props, theme.mediaQuery);
4405
+ const onLoad = () => {
4406
+ if (typeof onLoaded === 'function') {
4407
+ onLoaded(imageRef);
4408
+ }
4409
+ };
4410
+ React.useEffect(() => {
4411
+ if (imageRef.current && canLoad) {
4412
+ if (imageRef.current.complete) {
4413
+ if (typeof onLoaded === 'function') {
4414
+ onLoaded(imageRef);
4415
+ }
4416
+ } else {
4417
+ imageRef.current.addEventListener('load', onLoad);
4418
+ return () => {
4419
+ if (imageRef.current) {
4420
+ imageRef.current.removeEventListener('load', onLoad);
4421
+ }
4422
+ };
4423
+ }
4424
+ }
4425
+ return () => {};
4426
+ }, [imageRef, canLoad]);
4377
4427
  return jsxRuntime.jsx(StyledMediaImage, Object.assign({
4428
+ ref: imageRef
4429
+ }, canLoad ? imageProps : undefined, {
4378
4430
  className: classNames,
4379
- loading: loading
4380
- }, imageProps, {
4381
- draggable: "false",
4382
- decoding: "async"
4431
+ loading: loading,
4432
+ draggable: false,
4433
+ decoding: 'async'
4383
4434
  }));
4384
4435
  };
4385
4436
  function getMediaSizes(mediaQuery, ratio, size) {
@@ -4518,6 +4569,174 @@ function isSVG(src) {
4518
4569
  return src.indexOf('.svg') !== -1;
4519
4570
  }
4520
4571
 
4572
+ const StyledMediaVideo = styled__default.default.video`
4573
+ max-width: 100%;
4574
+ // height: auto;
4575
+ user-select: none;
4576
+ color: transparent;
4577
+
4578
+ &.video {
4579
+ &--muted {
4580
+ &::cue {
4581
+ background-color: transparent;
4582
+ background-image: none;
4583
+ color: transparent;
4584
+ font-size: 0;
4585
+ }
4586
+ }
4587
+ }
4588
+ `;
4589
+ const MediaVideo = _a => {
4590
+ var {
4591
+ className,
4592
+ onLoaded,
4593
+ canLoad = true,
4594
+ src
4595
+ } = _a,
4596
+ props = __rest(_a, ["className", "onLoaded", "canLoad", "src"]);
4597
+ const videoRef = React.useRef(null);
4598
+ const {
4599
+ locale
4600
+ } = bomMixerHooks.useLayout();
4601
+ const classNames = bomCore.getClassNames(className, 'video', 'video--muted');
4602
+ const onLoad = () => {
4603
+ if (typeof onLoaded === 'function' && videoRef.current && videoRef.current.readyState && videoRef.current.readyState >= 2) {
4604
+ onLoaded(videoRef);
4605
+ }
4606
+ };
4607
+ React.useEffect(() => {
4608
+ if (videoRef.current && canLoad) {
4609
+ if (videoRef.current.readyState && videoRef.current.readyState >= 2) {
4610
+ if (typeof onLoaded === 'function') {
4611
+ onLoaded(videoRef);
4612
+ }
4613
+ } else {
4614
+ videoRef.current.addEventListener('loadeddata', onLoad);
4615
+ return () => {
4616
+ if (videoRef.current) {
4617
+ videoRef.current.removeEventListener('loadeddata', onLoad);
4618
+ }
4619
+ };
4620
+ }
4621
+ }
4622
+ return () => {};
4623
+ }, [videoRef, canLoad]);
4624
+ return jsxRuntime.jsx(StyledMediaVideo, Object.assign({
4625
+ ref: videoRef,
4626
+ className: classNames,
4627
+ playsInline: true,
4628
+ autoPlay: true,
4629
+ muted: true,
4630
+ loop: true
4631
+ }, props, {
4632
+ children: canLoad && jsxRuntime.jsxs(jsxRuntime.Fragment, {
4633
+ children: [jsxRuntime.jsx("source", {
4634
+ src: src,
4635
+ type: "video/mp4"
4636
+ }), locale && jsxRuntime.jsx("track", {
4637
+ src: `/captions.vtt?locale=${locale}&title=${props.title}`,
4638
+ kind: "captions",
4639
+ srcLang: locale,
4640
+ label: "Video Captions"
4641
+ })]
4642
+ })
4643
+ }));
4644
+ };
4645
+
4646
+ const MediaItem = _ref => {
4647
+ let {
4648
+ item,
4649
+ options = {}
4650
+ } = _ref;
4651
+ const mediaItem = React.useMemo(() => {
4652
+ if (typeof item['media'] === 'object') {
4653
+ item = item['media'];
4654
+ }
4655
+ const mediaItem = {
4656
+ type: item.type,
4657
+ src: item.src
4658
+ };
4659
+ if (item.abstract) {
4660
+ mediaItem.abstract = item.abstract;
4661
+ }
4662
+ if (item.alt) {
4663
+ mediaItem.alt = item.alt;
4664
+ }
4665
+ if (item.mimeType) {
4666
+ mediaItem.mimeType = item.mimeType;
4667
+ }
4668
+ if (item.url) {
4669
+ mediaItem.src = item.url;
4670
+ }
4671
+ if (item.title) {
4672
+ mediaItem.title = item.title;
4673
+ }
4674
+ mediaItem.width = options.width || item.width;
4675
+ mediaItem.height = options.height || item.height;
4676
+ mediaItem.aspectRatio = options.aspectRatio;
4677
+ mediaItem.aspectRatioSm = options.aspectRatioSm;
4678
+ mediaItem.aspectRatioMd = options.aspectRatioMd;
4679
+ mediaItem.aspectRatioLg = options.aspectRatioLg;
4680
+ mediaItem.aspectRatioXl = options.aspectRatioXl;
4681
+ mediaItem.onLoaded = options.onLoaded;
4682
+ mediaItem.canLoad = options.canLoad;
4683
+ return mediaItem;
4684
+ }, [item, options]);
4685
+ const mediaItemProps = React.useMemo(() => {
4686
+ const media = __rest(mediaItem, ["width", "height", "sizes"]);
4687
+ const title = media.title || options.title || media.alt || options.alt;
4688
+ const alt = media.alt || options.alt || media.title || options.title;
4689
+ const src = media.src || media.url || '';
4690
+ const mediaItemProps = {
4691
+ src,
4692
+ title,
4693
+ alt,
4694
+ size: options.size,
4695
+ onLoaded: mediaItem.onLoaded,
4696
+ canLoad: mediaItem.canLoad
4697
+ };
4698
+ const hasGallery = options.galleryId != null && typeof options.open === 'function';
4699
+ if (hasGallery) {
4700
+ mediaItemProps['data-gallery'] = JSON.stringify({
4701
+ galleryId: options.galleryId,
4702
+ media
4703
+ });
4704
+ mediaItemProps.onClick = event => {
4705
+ if (options.open) {
4706
+ options.open(media);
4707
+ }
4708
+ };
4709
+ }
4710
+ if (bomCore.isMediaImage(media)) {
4711
+ if (options.width) {
4712
+ mediaItemProps.width = options.width;
4713
+ }
4714
+ mediaItemProps.height = options.height;
4715
+ mediaItemProps.aspectRatio = options.aspectRatio;
4716
+ mediaItemProps.aspectRatioSm = options.aspectRatioSm;
4717
+ mediaItemProps.aspectRatioMd = options.aspectRatioMd;
4718
+ mediaItemProps.aspectRatioLg = options.aspectRatioLg;
4719
+ mediaItemProps.aspectRatioXl = options.aspectRatioXl;
4720
+ if (options.eager) {
4721
+ mediaItemProps.loading = 'eager';
4722
+ }
4723
+ }
4724
+ return mediaItemProps;
4725
+ }, [mediaItem]);
4726
+ return bomCore.isMediaVideo(mediaItem) ? jsxRuntime.jsx(MediaVideo, Object.assign({}, mediaItemProps)) : jsxRuntime.jsx(MediaImage, Object.assign({}, mediaItemProps));
4727
+ };
4728
+ const MediaItems = _ref2 => {
4729
+ let {
4730
+ item,
4731
+ options = {}
4732
+ } = _ref2;
4733
+ const items = Array.isArray(item) ? item : [item];
4734
+ return items.map((item, m) => jsxRuntime.jsx(MediaItem, {
4735
+ item: item,
4736
+ options: options
4737
+ }, m));
4738
+ };
4739
+
4521
4740
  const StyledMediaInfo = styled__default.default.div`
4522
4741
  position: absolute;
4523
4742
  display: flex;
@@ -4550,7 +4769,6 @@ const StyledMedia$1 = styled__default.default.div`
4550
4769
  flex-direction: column;
4551
4770
  justify-content: center;
4552
4771
  align-items: center;
4553
- // color: var(--color-neutral-100);
4554
4772
 
4555
4773
  ${props => getCssResponsive(props)}
4556
4774
 
@@ -4563,7 +4781,7 @@ const StyledMedia$1 = styled__default.default.div`
4563
4781
  &>video,
4564
4782
  &>.video {
4565
4783
  object-fit: cover;
4566
- background: transparent; // var(--color-neutral-200);
4784
+ background: transparent;
4567
4785
  }
4568
4786
 
4569
4787
  &>svg {
@@ -4590,24 +4808,24 @@ const StyledMedia$1 = styled__default.default.div`
4590
4808
  }
4591
4809
 
4592
4810
  ${props => props.circle ? styled.css`
4593
- aspect-ratio: 1;
4594
- overflow: hidden;
4595
- border-radius: 50%;
4596
- &>* {
4597
- top: 0;
4598
- left: 0;
4599
- height: 100%;
4600
- }
4601
- ` : ''};
4811
+ aspect-ratio: 1;
4812
+ overflow: hidden;
4813
+ border-radius: 50%;
4814
+ &>* {
4815
+ top: 0;
4816
+ left: 0;
4817
+ height: 100%;
4818
+ }
4819
+ ` : ''}
4602
4820
 
4603
- ${props => props.rounded ? styled.css`
4604
- overflow: hidden;
4605
- border-radius: var(--border-radius);
4606
- ` : ''};
4821
+ ${props => props.rounded ? styled.css`
4822
+ overflow: hidden;
4823
+ border-radius: var(--border-radius);
4824
+ ` : ''}
4607
4825
 
4608
4826
  ${props => getAspectResponsive(props, props.circle ? {
4609
4827
  aspectRatio: 1
4610
- } : undefined)};
4828
+ } : undefined)}
4611
4829
 
4612
4830
  ${props => props.overlay ? styled.css`
4613
4831
  position: relative;
@@ -4619,7 +4837,7 @@ const StyledMedia$1 = styled__default.default.div`
4619
4837
  left: 0;
4620
4838
  width: 100%;
4621
4839
  height: 100%;
4622
- ${typeof props.overlay === 'number' ? styled.css`background: rgba(0,0,0,${props.overlay})` : styled.css`background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 15.9%, rgba(0, 0, 0, 0) 41.67%, rgba(0, 0, 0, 0.1) 61.79%, rgba(0, 0, 0, 0.6) 100%)`};
4840
+ ${typeof props.overlay === 'number' ? `background: rgba(0,0,0,${props.overlay});` : `background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 15.9%, rgba(0, 0, 0, 0) 41.67%, rgba(0, 0, 0, 0.1) 61.79%, rgba(0, 0, 0, 0.6) 100%);`}
4623
4841
  }
4624
4842
  ` : ''}
4625
4843
  `;
@@ -4627,20 +4845,19 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4627
4845
  var {
4628
4846
  children,
4629
4847
  item,
4630
- onClick,
4631
4848
  className,
4632
- size,
4633
4849
  width,
4634
4850
  height,
4851
+ size,
4635
4852
  eager,
4636
4853
  alt,
4637
4854
  title,
4855
+ onClick,
4856
+ onLoaded,
4857
+ canLoad,
4638
4858
  as = 'div'
4639
4859
  } = _a,
4640
- props = __rest(_a, ["children", "item", "onClick", "className", "size", "width", "height", "eager", "alt", "title", "as"]);
4641
- const {
4642
- locale
4643
- } = bomMixerHooks.useLayout();
4860
+ props = __rest(_a, ["children", "item", "className", "width", "height", "size", "eager", "alt", "title", "onClick", "onLoaded", "canLoad", "as"]);
4644
4861
  const {
4645
4862
  id,
4646
4863
  open
@@ -4648,29 +4865,38 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4648
4865
  const classNames = bomCore.getClassNames(className, 'media', {
4649
4866
  'media--gallery': id
4650
4867
  });
4651
- // console.log('props.width', props.width, 'props.height', props.height);
4652
- const mediaChildren = item && !children ? getMediaItems(item, {
4653
- width,
4654
- height,
4655
- size,
4656
- aspectRatio: props.aspectRatio,
4657
- aspectRatioSm: props.aspectRatioSm,
4658
- aspectRatioMd: props.aspectRatioMd,
4659
- aspectRatioLg: props.aspectRatioLg,
4660
- aspectRatioXl: props.aspectRatioXl,
4661
- eager,
4662
- galleryId: id,
4663
- alt,
4664
- title,
4665
- locale,
4666
- open
4667
- }) : children;
4868
+ const style = {};
4869
+ if (typeof width === 'string' && width.indexOf('px') !== -1) {
4870
+ style.width = width;
4871
+ }
4872
+ if (typeof height === 'string' && height.indexOf('px') !== -1) {
4873
+ style.height = height;
4874
+ }
4668
4875
  return jsxRuntime.jsx(StyledMedia$1, Object.assign({
4669
4876
  className: classNames,
4670
4877
  ref: ref,
4671
4878
  as: as
4672
- }, props, {
4673
- children: mediaChildren
4879
+ }, props, style, {
4880
+ children: children ? children : item && jsxRuntime.jsx(MediaItems, {
4881
+ item: item,
4882
+ options: {
4883
+ width,
4884
+ height,
4885
+ aspectRatio: props.aspectRatio,
4886
+ aspectRatioSm: props.aspectRatioSm,
4887
+ aspectRatioMd: props.aspectRatioMd,
4888
+ aspectRatioLg: props.aspectRatioLg,
4889
+ aspectRatioXl: props.aspectRatioXl,
4890
+ galleryId: id,
4891
+ size,
4892
+ eager,
4893
+ alt,
4894
+ title,
4895
+ open,
4896
+ onLoaded,
4897
+ canLoad
4898
+ }
4899
+ })
4674
4900
  }));
4675
4901
  });
4676
4902
  MediaBase.displayName = 'Media';
@@ -4678,136 +4904,6 @@ const Media = bomCore.withSchema(MediaBase, {
4678
4904
  Info: MediaInfo,
4679
4905
  displayName: 'Media'
4680
4906
  });
4681
- const StyledVideo = styled__default.default('video')`
4682
- &.video {
4683
- &--muted {
4684
- &::cue {
4685
- background-color: transparent;
4686
- background-image: none;
4687
- color: transparent;
4688
- font-size: 0;
4689
- }
4690
- }
4691
- }
4692
- `;
4693
- function getMediaItems(itemOrItems, options) {
4694
- if (options === void 0) {
4695
- options = {};
4696
- }
4697
- // !!! todo remap payloadcms media
4698
- const items = (Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]).map(x => {
4699
- if (typeof x['media'] === 'object') {
4700
- x = x['media'];
4701
- }
4702
- const mediaItem = {
4703
- type: x.type,
4704
- src: typeof x.url === 'string' ? x.url : x.src
4705
- };
4706
- if (x.abstract) {
4707
- mediaItem.abstract = x.abstract;
4708
- }
4709
- if (x.alt) {
4710
- mediaItem.alt = x.alt;
4711
- }
4712
- if (x.mimeType) {
4713
- mediaItem.mimeType = x.mimeType;
4714
- }
4715
- if (x.title) {
4716
- mediaItem.title = x.title;
4717
- }
4718
- mediaItem.width = options.width || x.width;
4719
- /*
4720
- if (options.width) {
4721
- mediaItem.width = parseInt(String(options.width));
4722
- } else if (x.width) {
4723
- mediaItem.width = x.width;
4724
- }
4725
- */
4726
- mediaItem.height = options.height || x.height;
4727
- /*
4728
- if (options.height) {
4729
- mediaItem.height = parseInt(String(options.height));
4730
- } else if (x.height) {
4731
- mediaItem.height = x.height;
4732
- }
4733
- */
4734
- mediaItem.aspectRatio = options.aspectRatio;
4735
- mediaItem.aspectRatioSm = options.aspectRatioSm;
4736
- mediaItem.aspectRatioMd = options.aspectRatioMd;
4737
- mediaItem.aspectRatioLg = options.aspectRatioLg;
4738
- mediaItem.aspectRatioXl = options.aspectRatioXl;
4739
- return mediaItem;
4740
- });
4741
- const hasGallery = options.galleryId != null && typeof options.open === 'function';
4742
- const getMediaItemProps = _a => {
4743
- var media = __rest(_a, ["width", "height"]);
4744
- const title = media.title || options.title || media.alt || options.alt;
4745
- const alt = media.alt || options.alt || media.title || options.title;
4746
- const src = media.src || media.url || '';
4747
- const props = {
4748
- src,
4749
- title,
4750
- alt,
4751
- size: options.size
4752
- };
4753
- if (hasGallery) {
4754
- props['data-gallery'] = JSON.stringify({
4755
- galleryId: options.galleryId,
4756
- media
4757
- });
4758
- props.onClick = event => {
4759
- if (options.open) {
4760
- options.open(media);
4761
- }
4762
- };
4763
- }
4764
- if (bomCore.resolveMediaType(media) === 'image') {
4765
- /*
4766
- let width: number | undefined = undefined;
4767
- let height: number | undefined = undefined;
4768
- if (options.width) {
4769
- width = parseInt(String(options.width));
4770
- }
4771
- props.width = width;
4772
- if (options.height) {
4773
- height = parseInt(String(options.height));
4774
- }
4775
- props.height = height;
4776
- console.log('width', width, options.width, 'height', height, options.height);
4777
- */
4778
- props.width = options.width;
4779
- props.height = options.height;
4780
- props.aspectRatio = options.aspectRatio;
4781
- props.aspectRatioSm = options.aspectRatioSm;
4782
- props.aspectRatioMd = options.aspectRatioMd;
4783
- props.aspectRatioLg = options.aspectRatioLg;
4784
- props.aspectRatioXl = options.aspectRatioXl;
4785
- if (options.eager) {
4786
- props.loading = 'eager';
4787
- }
4788
- }
4789
- return props;
4790
- };
4791
- return items.map((media, m) => bomCore.resolveMediaType(media) === 'video' ? jsxRuntime.jsxs(StyledVideo, Object.assign({
4792
- className: "video video--muted",
4793
- playsInline: true,
4794
- autoPlay: true,
4795
- muted: true,
4796
- loop: true
4797
- }, getMediaItemProps(media), {
4798
- children: [jsxRuntime.jsx("source", {
4799
- src: media.src,
4800
- type: "video/mp4"
4801
- }), options.locale && jsxRuntime.jsx("track", {
4802
- src: `/captions.vtt?locale=${options.locale}&title=${media.title}`,
4803
- kind: "captions",
4804
- srcLang: options.locale,
4805
- label: "Video Captions"
4806
- })]
4807
- }), m) : jsxRuntime.jsx(MediaImage, Object.assign({
4808
- draggable: false
4809
- }, getMediaItemProps(media)), m));
4810
- }
4811
4907
 
4812
4908
  const ModalContext = /*#__PURE__*/React.createContext({});
4813
4909
  function useModalContext() {
@@ -5418,7 +5514,9 @@ MediaGallery.displayName = 'MediaGallery';
5418
5514
 
5419
5515
  function Meta(_ref) {
5420
5516
  let {
5421
- children
5517
+ children,
5518
+ websiteName = 'WebsiteName',
5519
+ structuredDataCollections
5422
5520
  } = _ref;
5423
5521
  var _a, _b, _e;
5424
5522
  const page = bomMixerHooks.usePage();
@@ -5459,14 +5557,14 @@ function Meta(_ref) {
5459
5557
  }
5460
5558
  }
5461
5559
  // structuredData
5462
- const structuredData = bomMixerModels.resolveStructuredData(page);
5560
+ const structuredData = bomMixerModels.resolveStructuredData(page, websiteName, structuredDataCollections);
5463
5561
  return jsxRuntime.jsxs(Head__default.default, {
5464
5562
  children: [jsxRuntime.jsx("title", {
5465
5563
  children: title
5466
5564
  }), jsxRuntime.jsx("meta", {
5467
5565
  name: "description",
5468
5566
  content: description
5469
- }), false , bomCore.isProduction ? jsxRuntime.jsx("meta", {
5567
+ }), false , bomCore.getIsProduction() ? jsxRuntime.jsx("meta", {
5470
5568
  name: "robots",
5471
5569
  content: ((_e = page.meta) === null || _e === void 0 ? void 0 : _e.robots) || 'index, follow'
5472
5570
  }) : jsxRuntime.jsx("meta", {
@@ -6701,6 +6799,7 @@ const SvgAnimationStrategy = {
6701
6799
  Once: 'once',
6702
6800
  Scroll: 'scroll',
6703
6801
  Over: 'over',
6802
+ OverOut: 'overOut',
6704
6803
  Controlled: 'controlled'
6705
6804
  };
6706
6805
  // export type SvgAnimationComponent<C extends React.ElementType = 'div'> = UIComponentWithRef<C, Props>;
@@ -6791,6 +6890,9 @@ const SvgAnimation = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
6791
6890
  case SvgAnimationStrategy.Over:
6792
6891
  playerRef.current.goToAndStop(playerRef.current.totalFrames - 1, true);
6793
6892
  break;
6893
+ case SvgAnimationStrategy.OverOut:
6894
+ playerRef.current.goToAndStop(0, true);
6895
+ break;
6794
6896
  }
6795
6897
  }
6796
6898
  } else {
@@ -6838,9 +6940,19 @@ const SvgAnimation = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
6838
6940
  if (!playerRef.current) {
6839
6941
  return;
6840
6942
  }
6841
- if (mode === SvgAnimationStrategy.Default || mode === SvgAnimationStrategy.Once) {
6842
- playerRef.current.goToAndPlay(0);
6943
+ switch (mode) {
6944
+ case SvgAnimationStrategy.Default:
6945
+ case SvgAnimationStrategy.Once:
6946
+ playerRef.current.goToAndPlay(0);
6947
+ break;
6948
+ case SvgAnimationStrategy.Over:
6949
+ playerRef.current.goToAndStop(playerRef.current.totalFrames - 1, true);
6950
+ break;
6951
+ case SvgAnimationStrategy.OverOut:
6952
+ playerRef.current.goToAndStop(0, true);
6953
+ break;
6843
6954
  }
6955
+ // console.log('onLoad', playerRef.current);
6844
6956
  };
6845
6957
  const onMouseEnter = event => {
6846
6958
  if (typeof props.onMouseEnter === 'function') {
@@ -6849,9 +6961,18 @@ const SvgAnimation = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
6849
6961
  if (!playerRef.current) {
6850
6962
  return;
6851
6963
  }
6852
- if (mode === SvgAnimationStrategy.Over && playerRef.current.isPaused) {
6964
+ if (mode === SvgAnimationStrategy.Over) {
6853
6965
  playerRef.current.goToAndPlay(0);
6854
6966
  }
6967
+ if (mode === SvgAnimationStrategy.OverOut) {
6968
+ playerRef.current.setDirection(1);
6969
+ playerRef.current.setSpeed(1);
6970
+ if (playerRef.current.currentFrame === playerRef.current.totalFrames - 1) {
6971
+ playerRef.current.goToAndPlay(0);
6972
+ } else {
6973
+ playerRef.current.play();
6974
+ }
6975
+ }
6855
6976
  };
6856
6977
  const onMouseLeave = event => {
6857
6978
  if (typeof props.onMouseLeave === 'function') {
@@ -6860,8 +6981,10 @@ const SvgAnimation = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
6860
6981
  if (!playerRef.current) {
6861
6982
  return;
6862
6983
  }
6863
- if (mode === SvgAnimationStrategy.Over) {
6864
- playerRef.current.goToAndStop(playerRef.current.totalFrames - 1, true);
6984
+ if (mode === SvgAnimationStrategy.OverOut) {
6985
+ playerRef.current.setDirection(-1);
6986
+ playerRef.current.setSpeed(1.5);
6987
+ playerRef.current.play();
6865
6988
  }
6866
6989
  };
6867
6990
  const classNames = bomCore.getClassNames('lottie', className, {
@@ -16947,7 +17070,7 @@ const ProductsHeroCard = _a => {
16947
17070
  borderRadius: "0.4rem",
16948
17071
  justifyContent: "flex-end",
16949
17072
  children: [jsxRuntime.jsx(Card.Background, {
16950
- children: jsxRuntime.jsx(Media, {
17073
+ children: item.media && jsxRuntime.jsx(Media, {
16951
17074
  overlay: 0.2,
16952
17075
  item: item.media
16953
17076
  })
@@ -20617,6 +20740,7 @@ exports.CssInputContainerDefault = CssInputContainerDefault;
20617
20740
  exports.CssInputDefault = CssInputDefault;
20618
20741
  exports.CssInputReset = CssInputReset;
20619
20742
  exports.CssLabelDefault = CssLabelDefault;
20743
+ exports.CssMap = CssMap;
20620
20744
  exports.CssPrint = CssPrint;
20621
20745
  exports.CssRadioCardDefault = CssRadioCardDefault;
20622
20746
  exports.CssRadioColorDefault = CssRadioColorDefault;
@@ -20688,6 +20812,9 @@ exports.MarketsAndLanguagesDrawer = MarketsAndLanguagesDrawer;
20688
20812
  exports.Media = Media;
20689
20813
  exports.MediaGallery = MediaGallery;
20690
20814
  exports.MediaImage = MediaImage;
20815
+ exports.MediaItem = MediaItem;
20816
+ exports.MediaItems = MediaItems;
20817
+ exports.MediaVideo = MediaVideo;
20691
20818
  exports.Meta = Meta;
20692
20819
  exports.Modal = Modal;
20693
20820
  exports.Nav = Nav;
@@ -20816,6 +20943,7 @@ exports.mediaUp = mediaUp;
20816
20943
  exports.pickChild = pickChild;
20817
20944
  exports.pickChildByProps = pickChildByProps;
20818
20945
  exports.pickChildrenFirst = pickChildrenFirst;
20946
+ exports.pickResponsiveProps = pickResponsiveProps;
20819
20947
  exports.radioCardVariants = radioCardVariants;
20820
20948
  exports.radioColorVariants = radioColorVariants;
20821
20949
  exports.radioOptionVariants = radioOptionVariants;