@websolutespa/bom-mixer-ui 1.7.10 → 1.7.12

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 (297) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/index.js +271 -178
  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 +32 -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 +44 -175
  13. package/dist/esm/components/media/media.js.map +1 -1
  14. package/dist/esm/components/utils.js +26 -1
  15. package/dist/esm/components/utils.js.map +1 -1
  16. package/dist/esm/fields/field-accept.js +3 -1
  17. package/dist/esm/fields/field-accept.js.map +1 -1
  18. package/dist/esm/fields/field-collection.js +3 -1
  19. package/dist/esm/fields/field-collection.js.map +1 -1
  20. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js +3 -1
  21. package/dist/esm/forms/autocomplete/autocomplete-dropdown.js.map +1 -1
  22. package/dist/esm/forms/checkbox/checkbox-icon.js +3 -2
  23. package/dist/esm/forms/checkbox/checkbox-icon.js.map +1 -1
  24. package/dist/esm/forms/custom-select/custom-select-dropdown.js +3 -1
  25. package/dist/esm/forms/custom-select/custom-select-dropdown.js.map +1 -1
  26. package/dist/esm/forms/custom-select/custom-select-label.js +3 -2
  27. package/dist/esm/forms/custom-select/custom-select-label.js.map +1 -1
  28. package/dist/esm/forms/custom-select/custom-select-multiple-value.js +4 -2
  29. package/dist/esm/forms/custom-select/custom-select-multiple-value.js.map +1 -1
  30. package/dist/esm/forms/custom-select/custom-select-option.js +2 -1
  31. package/dist/esm/forms/custom-select/custom-select-option.js.map +1 -1
  32. package/dist/esm/forms/custom-select/custom-select.js +2 -0
  33. package/dist/esm/forms/custom-select/custom-select.js.map +1 -1
  34. package/dist/esm/forms/form-error/form-error.js +2 -0
  35. package/dist/esm/forms/form-error/form-error.js.map +1 -1
  36. package/dist/esm/forms/form-tester/form-tester.js +2 -0
  37. package/dist/esm/forms/form-tester/form-tester.js.map +1 -1
  38. package/dist/esm/forms/radio/radio-group.js +2 -1
  39. package/dist/esm/forms/radio/radio-group.js.map +1 -1
  40. package/dist/esm/forms/radio/radio-icon.js +3 -2
  41. package/dist/esm/forms/radio/radio-icon.js.map +1 -1
  42. package/dist/esm/forms/radio-card/radio-card-base.js +2 -0
  43. package/dist/esm/forms/radio-card/radio-card-base.js.map +1 -1
  44. package/dist/esm/forms/radio-color/radio-color-base.js +2 -0
  45. package/dist/esm/forms/radio-color/radio-color-base.js.map +1 -1
  46. package/dist/esm/forms/radio-color/radio-color-group.js +2 -1
  47. package/dist/esm/forms/radio-color/radio-color-group.js.map +1 -1
  48. package/dist/esm/forms/radio-option/radio-option-group.js +2 -1
  49. package/dist/esm/forms/radio-option/radio-option-group.js.map +1 -1
  50. package/dist/esm/hoc/with-page-transition/with-page-transition.js +4 -2
  51. package/dist/esm/hoc/with-page-transition/with-page-transition.js.map +1 -1
  52. package/dist/esm/index.js +4 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/layouts/layout-default/layout-default.js +5 -4
  55. package/dist/esm/layouts/layout-default/layout-default.js.map +1 -1
  56. package/dist/esm/layouts/layout-fixed/layout-fixed.js +5 -4
  57. package/dist/esm/layouts/layout-fixed/layout-fixed.js.map +1 -1
  58. package/dist/esm/lazy/carousel-1/carousel-1.js +3 -2
  59. package/dist/esm/lazy/carousel-1/carousel-1.js.map +1 -1
  60. package/dist/esm/lazy/download-1/download-1.js +4 -2
  61. package/dist/esm/lazy/download-1/download-1.js.map +1 -1
  62. package/dist/esm/lazy/lazy-loader/lazy-loader.js +3 -1
  63. package/dist/esm/lazy/lazy-loader/lazy-loader.js.map +1 -1
  64. package/dist/esm/lazy/media-full-1/media-full-1.js +4 -2
  65. package/dist/esm/lazy/media-full-1/media-full-1.js.map +1 -1
  66. package/dist/esm/lazy/media-full-2/media-full-2.js +4 -2
  67. package/dist/esm/lazy/media-full-2/media-full-2.js.map +1 -1
  68. package/dist/esm/lazy/media-media-1/media-media-1.js +4 -2
  69. package/dist/esm/lazy/media-media-1/media-media-1.js.map +1 -1
  70. package/dist/esm/lazy/not-found/not-found.js +4 -2
  71. package/dist/esm/lazy/not-found/not-found.js.map +1 -1
  72. package/dist/esm/lazy/related-1/related-1-card.js +3 -2
  73. package/dist/esm/lazy/related-1/related-1-card.js.map +1 -1
  74. package/dist/esm/lazy/related-1/related-1.js +4 -2
  75. package/dist/esm/lazy/related-1/related-1.js.map +1 -1
  76. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js +4 -2
  77. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js.map +1 -1
  78. package/dist/esm/lazy/text-1/text-1.js +4 -2
  79. package/dist/esm/lazy/text-1/text-1.js.map +1 -1
  80. package/dist/esm/lazy/text-aside-1/text-aside-1.js +4 -2
  81. package/dist/esm/lazy/text-aside-1/text-aside-1.js.map +1 -1
  82. package/dist/esm/lazy/text-media-1/text-media-1.js +4 -2
  83. package/dist/esm/lazy/text-media-1/text-media-1.js.map +1 -1
  84. package/dist/esm/lazy/text-text-1/text-text-1.js +4 -2
  85. package/dist/esm/lazy/text-text-1/text-text-1.js.map +1 -1
  86. package/dist/esm/sections/auth/auth-change-password.js +2 -1
  87. package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
  88. package/dist/esm/sections/auth/auth-drawer.js +4 -2
  89. package/dist/esm/sections/auth/auth-drawer.js.map +1 -1
  90. package/dist/esm/sections/auth/auth-forgot-success.js +4 -2
  91. package/dist/esm/sections/auth/auth-forgot-success.js.map +1 -1
  92. package/dist/esm/sections/auth/auth-forgot.js +2 -1
  93. package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
  94. package/dist/esm/sections/auth/auth-login.js +2 -1
  95. package/dist/esm/sections/auth/auth-login.js.map +1 -1
  96. package/dist/esm/sections/auth/auth-register-success.js +4 -2
  97. package/dist/esm/sections/auth/auth-register-success.js.map +1 -1
  98. package/dist/esm/sections/auth/auth-register.js +2 -1
  99. package/dist/esm/sections/auth/auth-register.js.map +1 -1
  100. package/dist/esm/sections/auth/auth-update.js +2 -1
  101. package/dist/esm/sections/auth/auth-update.js.map +1 -1
  102. package/dist/esm/sections/blog-more/blog-card.js +3 -2
  103. package/dist/esm/sections/blog-more/blog-card.js.map +1 -1
  104. package/dist/esm/sections/blog-more/blog-more.js +4 -2
  105. package/dist/esm/sections/blog-more/blog-more.js.map +1 -1
  106. package/dist/esm/sections/blog-proposition/blog-proposition.js +3 -2
  107. package/dist/esm/sections/blog-proposition/blog-proposition.js.map +1 -1
  108. package/dist/esm/sections/cart-mini/cart-mini-item.js +4 -2
  109. package/dist/esm/sections/cart-mini/cart-mini-item.js.map +1 -1
  110. package/dist/esm/sections/cart-mini/cart-mini.js +4 -2
  111. package/dist/esm/sections/cart-mini/cart-mini.js.map +1 -1
  112. package/dist/esm/sections/categories-proposition/categories-proposition-card.js +3 -2
  113. package/dist/esm/sections/categories-proposition/categories-proposition-card.js.map +1 -1
  114. package/dist/esm/sections/categories-proposition/categories-proposition.js +4 -2
  115. package/dist/esm/sections/categories-proposition/categories-proposition.js.map +1 -1
  116. package/dist/esm/sections/category-hero/category-hero.js +3 -2
  117. package/dist/esm/sections/category-hero/category-hero.js.map +1 -1
  118. package/dist/esm/sections/category-proposition/category-proposition.js +4 -2
  119. package/dist/esm/sections/category-proposition/category-proposition.js.map +1 -1
  120. package/dist/esm/sections/checkout/checkout-basket-item.js +4 -2
  121. package/dist/esm/sections/checkout/checkout-basket-item.js.map +1 -1
  122. package/dist/esm/sections/checkout/checkout-basket.js +3 -2
  123. package/dist/esm/sections/checkout/checkout-basket.js.map +1 -1
  124. package/dist/esm/sections/checkout/checkout-delivery.js +2 -1
  125. package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
  126. package/dist/esm/sections/checkout/checkout-discount.js +2 -1
  127. package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
  128. package/dist/esm/sections/checkout/checkout-empty.js +4 -2
  129. package/dist/esm/sections/checkout/checkout-empty.js.map +1 -1
  130. package/dist/esm/sections/checkout/checkout-error.js +4 -2
  131. package/dist/esm/sections/checkout/checkout-error.js.map +1 -1
  132. package/dist/esm/sections/checkout/checkout-forgot-success.js +4 -2
  133. package/dist/esm/sections/checkout/checkout-forgot-success.js.map +1 -1
  134. package/dist/esm/sections/checkout/checkout-forgot.js +4 -2
  135. package/dist/esm/sections/checkout/checkout-forgot.js.map +1 -1
  136. package/dist/esm/sections/checkout/checkout-info.js +3 -1
  137. package/dist/esm/sections/checkout/checkout-info.js.map +1 -1
  138. package/dist/esm/sections/checkout/checkout-login.js +4 -2
  139. package/dist/esm/sections/checkout/checkout-login.js.map +1 -1
  140. package/dist/esm/sections/checkout/checkout-payment.js +2 -1
  141. package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
  142. package/dist/esm/sections/checkout/checkout-register-success.js +4 -2
  143. package/dist/esm/sections/checkout/checkout-register-success.js.map +1 -1
  144. package/dist/esm/sections/checkout/checkout-register.js +4 -2
  145. package/dist/esm/sections/checkout/checkout-register.js.map +1 -1
  146. package/dist/esm/sections/checkout/checkout-review.js +2 -1
  147. package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
  148. package/dist/esm/sections/checkout/checkout-success.js +4 -2
  149. package/dist/esm/sections/checkout/checkout-success.js.map +1 -1
  150. package/dist/esm/sections/checkout/checkout-user-info.js +2 -1
  151. package/dist/esm/sections/checkout/checkout-user-info.js.map +1 -1
  152. package/dist/esm/sections/checkout/checkout-wizard.js +2 -1
  153. package/dist/esm/sections/checkout/checkout-wizard.js.map +1 -1
  154. package/dist/esm/sections/colors/colors.js +3 -1
  155. package/dist/esm/sections/colors/colors.js.map +1 -1
  156. package/dist/esm/sections/contact-card/contact-card.js +3 -2
  157. package/dist/esm/sections/contact-card/contact-card.js.map +1 -1
  158. package/dist/esm/sections/contact-form/contact-form.js +4 -2
  159. package/dist/esm/sections/contact-form/contact-form.js.map +1 -1
  160. package/dist/esm/sections/contact-hero/contact-hero.js +4 -2
  161. package/dist/esm/sections/contact-hero/contact-hero.js.map +1 -1
  162. package/dist/esm/sections/footer/footer.js +4 -2
  163. package/dist/esm/sections/footer/footer.js.map +1 -1
  164. package/dist/esm/sections/header/header-card.js +3 -2
  165. package/dist/esm/sections/header/header-card.js.map +1 -1
  166. package/dist/esm/sections/header/header-submenu.js +2 -1
  167. package/dist/esm/sections/header/header-submenu.js.map +1 -1
  168. package/dist/esm/sections/header/header.js +2 -1
  169. package/dist/esm/sections/header/header.js.map +1 -1
  170. package/dist/esm/sections/hero/hero.js +3 -2
  171. package/dist/esm/sections/hero/hero.js.map +1 -1
  172. package/dist/esm/sections/icons/icons.js +3 -1
  173. package/dist/esm/sections/icons/icons.js.map +1 -1
  174. package/dist/esm/sections/magazine-related/magazine-related.js +3 -2
  175. package/dist/esm/sections/magazine-related/magazine-related.js.map +1 -1
  176. package/dist/esm/sections/magazine-search/magazine-search-card.js +3 -2
  177. package/dist/esm/sections/magazine-search/magazine-search-card.js.map +1 -1
  178. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js +4 -2
  179. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js.map +1 -1
  180. package/dist/esm/sections/magazine-search/magazine-search-filters.js +3 -2
  181. package/dist/esm/sections/magazine-search/magazine-search-filters.js.map +1 -1
  182. package/dist/esm/sections/magazine-search/magazine-search.js +2 -1
  183. package/dist/esm/sections/magazine-search/magazine-search.js.map +1 -1
  184. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js +3 -1
  185. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js.map +1 -1
  186. package/dist/esm/sections/order/order-address.js +4 -2
  187. package/dist/esm/sections/order/order-address.js.map +1 -1
  188. package/dist/esm/sections/order/order-item.js +4 -2
  189. package/dist/esm/sections/order/order-item.js.map +1 -1
  190. package/dist/esm/sections/order/order-register.js +2 -1
  191. package/dist/esm/sections/order/order-register.js.map +1 -1
  192. package/dist/esm/sections/order/order-summary-item.js +4 -2
  193. package/dist/esm/sections/order/order-summary-item.js.map +1 -1
  194. package/dist/esm/sections/order/order-summary.js +4 -2
  195. package/dist/esm/sections/order/order-summary.js.map +1 -1
  196. package/dist/esm/sections/product-overview/product-overview-gallery.js +3 -2
  197. package/dist/esm/sections/product-overview/product-overview-gallery.js.map +1 -1
  198. package/dist/esm/sections/product-overview/product-overview.js +2 -1
  199. package/dist/esm/sections/product-overview/product-overview.js.map +1 -1
  200. package/dist/esm/sections/products-detail-download/products-detail-download.js +4 -2
  201. package/dist/esm/sections/products-detail-download/products-detail-download.js.map +1 -1
  202. package/dist/esm/sections/products-detail-related/products-detail-related-card.js +3 -2
  203. package/dist/esm/sections/products-detail-related/products-detail-related-card.js.map +1 -1
  204. package/dist/esm/sections/products-detail-related/products-detail-related.js +4 -2
  205. package/dist/esm/sections/products-detail-related/products-detail-related.js.map +1 -1
  206. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js +4 -2
  207. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js.map +1 -1
  208. package/dist/esm/sections/products-hero/products-hero-card.js +4 -3
  209. package/dist/esm/sections/products-hero/products-hero-card.js.map +1 -1
  210. package/dist/esm/sections/products-hero/products-hero.js +4 -2
  211. package/dist/esm/sections/products-hero/products-hero.js.map +1 -1
  212. package/dist/esm/sections/products-proposition/products-proposition-card.js +3 -2
  213. package/dist/esm/sections/products-proposition/products-proposition-card.js.map +1 -1
  214. package/dist/esm/sections/products-proposition/products-proposition.js +4 -2
  215. package/dist/esm/sections/products-proposition/products-proposition.js.map +1 -1
  216. package/dist/esm/sections/products-related/products-related-card.js +3 -2
  217. package/dist/esm/sections/products-related/products-related-card.js.map +1 -1
  218. package/dist/esm/sections/products-related/products-related.js +4 -2
  219. package/dist/esm/sections/products-related/products-related.js.map +1 -1
  220. package/dist/esm/sections/products-search/products-search-card.js +3 -2
  221. package/dist/esm/sections/products-search/products-search-card.js.map +1 -1
  222. package/dist/esm/sections/products-search/products-search-filters-modal.js +4 -2
  223. package/dist/esm/sections/products-search/products-search-filters-modal.js.map +1 -1
  224. package/dist/esm/sections/products-search/products-search-filters.js +3 -2
  225. package/dist/esm/sections/products-search/products-search-filters.js.map +1 -1
  226. package/dist/esm/sections/products-search/products-search-recap.js +4 -2
  227. package/dist/esm/sections/products-search/products-search-recap.js.map +1 -1
  228. package/dist/esm/sections/products-search/products-search.js +2 -1
  229. package/dist/esm/sections/products-search/products-search.js.map +1 -1
  230. package/dist/esm/sections/proposition/proposition.js +4 -2
  231. package/dist/esm/sections/proposition/proposition.js.map +1 -1
  232. package/dist/esm/sections/reserved_area/reserved_area.js +4 -2
  233. package/dist/esm/sections/reserved_area/reserved_area.js.map +1 -1
  234. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js +2 -1
  235. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js.map +1 -1
  236. package/dist/esm/sections/shop-category-hero/shop-category-hero.js +3 -2
  237. package/dist/esm/sections/shop-category-hero/shop-category-hero.js.map +1 -1
  238. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js +3 -2
  239. package/dist/esm/sections/shop-detail-related/shop-detail-related-card.js.map +1 -1
  240. package/dist/esm/sections/shop-detail-related/shop-detail-related.js +4 -2
  241. package/dist/esm/sections/shop-detail-related/shop-detail-related.js.map +1 -1
  242. package/dist/esm/sections/shop-hero/shop-hero-card.js +3 -2
  243. package/dist/esm/sections/shop-hero/shop-hero-card.js.map +1 -1
  244. package/dist/esm/sections/shop-hero/shop-hero.js +4 -2
  245. package/dist/esm/sections/shop-hero/shop-hero.js.map +1 -1
  246. package/dist/esm/sections/shop-incentive/shop-incentive.js +4 -2
  247. package/dist/esm/sections/shop-incentive/shop-incentive.js.map +1 -1
  248. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js +3 -2
  249. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js.map +1 -1
  250. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js +4 -2
  251. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js.map +1 -1
  252. package/dist/esm/sections/shop-search/shop-search-card.js +3 -2
  253. package/dist/esm/sections/shop-search/shop-search-card.js.map +1 -1
  254. package/dist/esm/sections/shop-search/shop-search-filters-modal.js +4 -2
  255. package/dist/esm/sections/shop-search/shop-search-filters-modal.js.map +1 -1
  256. package/dist/esm/sections/shop-search/shop-search-filters.js +3 -2
  257. package/dist/esm/sections/shop-search/shop-search-filters.js.map +1 -1
  258. package/dist/esm/sections/shop-search/shop-search-recap.js +4 -2
  259. package/dist/esm/sections/shop-search/shop-search-recap.js.map +1 -1
  260. package/dist/esm/sections/shop-search/shop-search.js +2 -1
  261. package/dist/esm/sections/shop-search/shop-search.js.map +1 -1
  262. package/dist/esm/sections/split/split.js +4 -2
  263. package/dist/esm/sections/split/split.js.map +1 -1
  264. package/dist/esm/sections/store-locator/store-locator-search.js +2 -1
  265. package/dist/esm/sections/store-locator/store-locator-search.js.map +1 -1
  266. package/dist/esm/sections/swiper-hero/swiper-hero.js +4 -2
  267. package/dist/esm/sections/swiper-hero/swiper-hero.js.map +1 -1
  268. package/dist/esm/sections/typography/typography.js +3 -1
  269. package/dist/esm/sections/typography/typography.js.map +1 -1
  270. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -4
  271. package/dist/types/components/css.d.ts +1 -1
  272. package/dist/types/components/google-map/google-map.d.ts +1 -1
  273. package/dist/types/components/grid/grid.d.ts +1 -1
  274. package/dist/types/components/index.d.ts +3 -0
  275. package/dist/types/components/index.d.ts.map +1 -1
  276. package/dist/types/components/media/media-image.d.ts +6 -2
  277. package/dist/types/components/media/media-image.d.ts.map +1 -1
  278. package/dist/types/components/media/media-items.d.ts +56 -0
  279. package/dist/types/components/media/media-items.d.ts.map +1 -0
  280. package/dist/types/components/media/media-video.d.ts +12 -0
  281. package/dist/types/components/media/media-video.d.ts.map +1 -0
  282. package/dist/types/components/media/media.d.ts +3 -42
  283. package/dist/types/components/media/media.d.ts.map +1 -1
  284. package/dist/types/components/svg-animation/svg-animation.d.ts +1 -1
  285. package/dist/types/components/svg-animation/svg-animation.d.ts.map +1 -1
  286. package/dist/types/components/utils.d.ts +2 -1
  287. package/dist/types/components/utils.d.ts.map +1 -1
  288. package/dist/types/forms/radio-card/radio-card-base.d.ts +2 -0
  289. package/dist/types/forms/radio-card/radio-card-base.d.ts.map +1 -1
  290. package/package.json +1 -1
  291. package/src/components/index.ts +3 -0
  292. package/src/components/media/media-image.tsx +38 -8
  293. package/src/components/media/media-items.tsx +151 -0
  294. package/src/components/media/media-video.tsx +90 -0
  295. package/src/components/media/media.tsx +57 -213
  296. package/src/components/utils.ts +23 -1
  297. package/src/sections/products-hero/products-hero-card.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @websolutespa/bom-mixer-ui
2
2
 
3
+ ## 1.7.12
4
+
5
+ ### Patch Changes
6
+
7
+ - Removing: default image decoding async
8
+
9
+ ## 1.7.11
10
+
11
+ ### Patch Changes
12
+
13
+ - Modified: Media
14
+ - Added: MediaImage, MediaVideo, MediaItems, pickResponsiveProps
15
+ - Updated dependencies
16
+ - @websolutespa/bom-mixer-models@1.7.5
17
+ - @websolutespa/bom-mixer-store@1.7.4
18
+ - @websolutespa/bom-core@1.7.7
19
+
3
20
  ## 1.7.10
4
21
 
5
22
  ### 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,48 @@ 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
4383
4433
  }));
4384
4434
  };
4385
4435
  function getMediaSizes(mediaQuery, ratio, size) {
@@ -4518,6 +4568,174 @@ function isSVG(src) {
4518
4568
  return src.indexOf('.svg') !== -1;
4519
4569
  }
4520
4570
 
4571
+ const StyledMediaVideo = styled__default.default.video`
4572
+ max-width: 100%;
4573
+ // height: auto;
4574
+ user-select: none;
4575
+ color: transparent;
4576
+
4577
+ &.video {
4578
+ &--muted {
4579
+ &::cue {
4580
+ background-color: transparent;
4581
+ background-image: none;
4582
+ color: transparent;
4583
+ font-size: 0;
4584
+ }
4585
+ }
4586
+ }
4587
+ `;
4588
+ const MediaVideo = _a => {
4589
+ var {
4590
+ className,
4591
+ onLoaded,
4592
+ canLoad = true,
4593
+ src
4594
+ } = _a,
4595
+ props = __rest(_a, ["className", "onLoaded", "canLoad", "src"]);
4596
+ const videoRef = React.useRef(null);
4597
+ const {
4598
+ locale
4599
+ } = bomMixerHooks.useLayout();
4600
+ const classNames = bomCore.getClassNames(className, 'video', 'video--muted');
4601
+ const onLoad = () => {
4602
+ if (typeof onLoaded === 'function' && videoRef.current && videoRef.current.readyState && videoRef.current.readyState >= 2) {
4603
+ onLoaded(videoRef);
4604
+ }
4605
+ };
4606
+ React.useEffect(() => {
4607
+ if (videoRef.current && canLoad) {
4608
+ if (videoRef.current.readyState && videoRef.current.readyState >= 2) {
4609
+ if (typeof onLoaded === 'function') {
4610
+ onLoaded(videoRef);
4611
+ }
4612
+ } else {
4613
+ videoRef.current.addEventListener('loadeddata', onLoad);
4614
+ return () => {
4615
+ if (videoRef.current) {
4616
+ videoRef.current.removeEventListener('loadeddata', onLoad);
4617
+ }
4618
+ };
4619
+ }
4620
+ }
4621
+ return () => {};
4622
+ }, [videoRef, canLoad]);
4623
+ return jsxRuntime.jsx(StyledMediaVideo, Object.assign({
4624
+ ref: videoRef,
4625
+ className: classNames,
4626
+ playsInline: true,
4627
+ autoPlay: true,
4628
+ muted: true,
4629
+ loop: true
4630
+ }, props, {
4631
+ children: canLoad && jsxRuntime.jsxs(jsxRuntime.Fragment, {
4632
+ children: [jsxRuntime.jsx("source", {
4633
+ src: src,
4634
+ type: "video/mp4"
4635
+ }), locale && jsxRuntime.jsx("track", {
4636
+ src: `/captions.vtt?locale=${locale}&title=${props.title}`,
4637
+ kind: "captions",
4638
+ srcLang: locale,
4639
+ label: "Video Captions"
4640
+ })]
4641
+ })
4642
+ }));
4643
+ };
4644
+
4645
+ const MediaItem = _ref => {
4646
+ let {
4647
+ item,
4648
+ options = {}
4649
+ } = _ref;
4650
+ const mediaItem = React.useMemo(() => {
4651
+ if (typeof item['media'] === 'object') {
4652
+ item = item['media'];
4653
+ }
4654
+ const mediaItem = {
4655
+ type: item.type,
4656
+ src: item.src
4657
+ };
4658
+ if (item.abstract) {
4659
+ mediaItem.abstract = item.abstract;
4660
+ }
4661
+ if (item.alt) {
4662
+ mediaItem.alt = item.alt;
4663
+ }
4664
+ if (item.mimeType) {
4665
+ mediaItem.mimeType = item.mimeType;
4666
+ }
4667
+ if (item.url) {
4668
+ mediaItem.src = item.url;
4669
+ }
4670
+ if (item.title) {
4671
+ mediaItem.title = item.title;
4672
+ }
4673
+ mediaItem.width = options.width || item.width;
4674
+ mediaItem.height = options.height || item.height;
4675
+ mediaItem.aspectRatio = options.aspectRatio;
4676
+ mediaItem.aspectRatioSm = options.aspectRatioSm;
4677
+ mediaItem.aspectRatioMd = options.aspectRatioMd;
4678
+ mediaItem.aspectRatioLg = options.aspectRatioLg;
4679
+ mediaItem.aspectRatioXl = options.aspectRatioXl;
4680
+ mediaItem.onLoaded = options.onLoaded;
4681
+ mediaItem.canLoad = options.canLoad;
4682
+ return mediaItem;
4683
+ }, [item, options]);
4684
+ const mediaItemProps = React.useMemo(() => {
4685
+ const media = __rest(mediaItem, ["width", "height", "sizes"]);
4686
+ const title = media.title || options.title || media.alt || options.alt;
4687
+ const alt = media.alt || options.alt || media.title || options.title;
4688
+ const src = media.src || media.url || '';
4689
+ const mediaItemProps = {
4690
+ src,
4691
+ title,
4692
+ alt,
4693
+ size: options.size,
4694
+ onLoaded: mediaItem.onLoaded,
4695
+ canLoad: mediaItem.canLoad
4696
+ };
4697
+ const hasGallery = options.galleryId != null && typeof options.open === 'function';
4698
+ if (hasGallery) {
4699
+ mediaItemProps['data-gallery'] = JSON.stringify({
4700
+ galleryId: options.galleryId,
4701
+ media
4702
+ });
4703
+ mediaItemProps.onClick = event => {
4704
+ if (options.open) {
4705
+ options.open(media);
4706
+ }
4707
+ };
4708
+ }
4709
+ if (bomCore.isMediaImage(media)) {
4710
+ if (options.width) {
4711
+ mediaItemProps.width = options.width;
4712
+ }
4713
+ mediaItemProps.height = options.height;
4714
+ mediaItemProps.aspectRatio = options.aspectRatio;
4715
+ mediaItemProps.aspectRatioSm = options.aspectRatioSm;
4716
+ mediaItemProps.aspectRatioMd = options.aspectRatioMd;
4717
+ mediaItemProps.aspectRatioLg = options.aspectRatioLg;
4718
+ mediaItemProps.aspectRatioXl = options.aspectRatioXl;
4719
+ if (options.eager) {
4720
+ mediaItemProps.loading = 'eager';
4721
+ }
4722
+ }
4723
+ return mediaItemProps;
4724
+ }, [mediaItem]);
4725
+ return bomCore.isMediaVideo(mediaItem) ? jsxRuntime.jsx(MediaVideo, Object.assign({}, mediaItemProps)) : jsxRuntime.jsx(MediaImage, Object.assign({}, mediaItemProps));
4726
+ };
4727
+ const MediaItems = _ref2 => {
4728
+ let {
4729
+ item,
4730
+ options = {}
4731
+ } = _ref2;
4732
+ const items = Array.isArray(item) ? item : [item];
4733
+ return items.map((item, m) => jsxRuntime.jsx(MediaItem, {
4734
+ item: item,
4735
+ options: options
4736
+ }, m));
4737
+ };
4738
+
4521
4739
  const StyledMediaInfo = styled__default.default.div`
4522
4740
  position: absolute;
4523
4741
  display: flex;
@@ -4550,7 +4768,6 @@ const StyledMedia$1 = styled__default.default.div`
4550
4768
  flex-direction: column;
4551
4769
  justify-content: center;
4552
4770
  align-items: center;
4553
- // color: var(--color-neutral-100);
4554
4771
 
4555
4772
  ${props => getCssResponsive(props)}
4556
4773
 
@@ -4563,7 +4780,7 @@ const StyledMedia$1 = styled__default.default.div`
4563
4780
  &>video,
4564
4781
  &>.video {
4565
4782
  object-fit: cover;
4566
- background: transparent; // var(--color-neutral-200);
4783
+ background: transparent;
4567
4784
  }
4568
4785
 
4569
4786
  &>svg {
@@ -4590,24 +4807,24 @@ const StyledMedia$1 = styled__default.default.div`
4590
4807
  }
4591
4808
 
4592
4809
  ${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
- ` : ''};
4810
+ aspect-ratio: 1;
4811
+ overflow: hidden;
4812
+ border-radius: 50%;
4813
+ &>* {
4814
+ top: 0;
4815
+ left: 0;
4816
+ height: 100%;
4817
+ }
4818
+ ` : ''}
4602
4819
 
4603
- ${props => props.rounded ? styled.css`
4604
- overflow: hidden;
4605
- border-radius: var(--border-radius);
4606
- ` : ''};
4820
+ ${props => props.rounded ? styled.css`
4821
+ overflow: hidden;
4822
+ border-radius: var(--border-radius);
4823
+ ` : ''}
4607
4824
 
4608
4825
  ${props => getAspectResponsive(props, props.circle ? {
4609
4826
  aspectRatio: 1
4610
- } : undefined)};
4827
+ } : undefined)}
4611
4828
 
4612
4829
  ${props => props.overlay ? styled.css`
4613
4830
  position: relative;
@@ -4619,7 +4836,7 @@ const StyledMedia$1 = styled__default.default.div`
4619
4836
  left: 0;
4620
4837
  width: 100%;
4621
4838
  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%)`};
4839
+ ${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
4840
  }
4624
4841
  ` : ''}
4625
4842
  `;
@@ -4627,20 +4844,19 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4627
4844
  var {
4628
4845
  children,
4629
4846
  item,
4630
- onClick,
4631
4847
  className,
4632
- size,
4633
4848
  width,
4634
4849
  height,
4850
+ size,
4635
4851
  eager,
4636
4852
  alt,
4637
4853
  title,
4854
+ onClick,
4855
+ onLoaded,
4856
+ canLoad,
4638
4857
  as = 'div'
4639
4858
  } = _a,
4640
- props = __rest(_a, ["children", "item", "onClick", "className", "size", "width", "height", "eager", "alt", "title", "as"]);
4641
- const {
4642
- locale
4643
- } = bomMixerHooks.useLayout();
4859
+ props = __rest(_a, ["children", "item", "className", "width", "height", "size", "eager", "alt", "title", "onClick", "onLoaded", "canLoad", "as"]);
4644
4860
  const {
4645
4861
  id,
4646
4862
  open
@@ -4648,7 +4864,6 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4648
4864
  const classNames = bomCore.getClassNames(className, 'media', {
4649
4865
  'media--gallery': id
4650
4866
  });
4651
- // console.log('props.width', props.width, 'props.height', props.height);
4652
4867
  const style = {};
4653
4868
  if (typeof width === 'string' && width.indexOf('px') !== -1) {
4654
4869
  style.width = width;
@@ -4656,28 +4871,31 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4656
4871
  if (typeof height === 'string' && height.indexOf('px') !== -1) {
4657
4872
  style.height = height;
4658
4873
  }
4659
- const mediaChildren = item && !children ? getMediaItems(item, {
4660
- width,
4661
- height,
4662
- size,
4663
- aspectRatio: props.aspectRatio,
4664
- aspectRatioSm: props.aspectRatioSm,
4665
- aspectRatioMd: props.aspectRatioMd,
4666
- aspectRatioLg: props.aspectRatioLg,
4667
- aspectRatioXl: props.aspectRatioXl,
4668
- eager,
4669
- galleryId: id,
4670
- alt,
4671
- title,
4672
- locale,
4673
- open
4674
- }) : children;
4675
4874
  return jsxRuntime.jsx(StyledMedia$1, Object.assign({
4676
4875
  className: classNames,
4677
4876
  ref: ref,
4678
4877
  as: as
4679
4878
  }, props, style, {
4680
- children: mediaChildren
4879
+ children: children ? children : item && jsxRuntime.jsx(MediaItems, {
4880
+ item: item,
4881
+ options: {
4882
+ width,
4883
+ height,
4884
+ aspectRatio: props.aspectRatio,
4885
+ aspectRatioSm: props.aspectRatioSm,
4886
+ aspectRatioMd: props.aspectRatioMd,
4887
+ aspectRatioLg: props.aspectRatioLg,
4888
+ aspectRatioXl: props.aspectRatioXl,
4889
+ galleryId: id,
4890
+ size,
4891
+ eager,
4892
+ alt,
4893
+ title,
4894
+ open,
4895
+ onLoaded,
4896
+ canLoad
4897
+ }
4898
+ })
4681
4899
  }));
4682
4900
  });
4683
4901
  MediaBase.displayName = 'Media';
@@ -4685,136 +4903,6 @@ const Media = bomCore.withSchema(MediaBase, {
4685
4903
  Info: MediaInfo,
4686
4904
  displayName: 'Media'
4687
4905
  });
4688
- const StyledVideo = styled__default.default('video')`
4689
- &.video {
4690
- &--muted {
4691
- &::cue {
4692
- background-color: transparent;
4693
- background-image: none;
4694
- color: transparent;
4695
- font-size: 0;
4696
- }
4697
- }
4698
- }
4699
- `;
4700
- function getMediaItems(itemOrItems, options) {
4701
- if (options === void 0) {
4702
- options = {};
4703
- }
4704
- // !!! todo remap payloadcms media
4705
- const items = (Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]).map(x => {
4706
- if (typeof x['media'] === 'object') {
4707
- x = x['media'];
4708
- }
4709
- const mediaItem = {
4710
- type: x.type,
4711
- src: typeof x.url === 'string' ? x.url : x.src
4712
- };
4713
- if (x.abstract) {
4714
- mediaItem.abstract = x.abstract;
4715
- }
4716
- if (x.alt) {
4717
- mediaItem.alt = x.alt;
4718
- }
4719
- if (x.mimeType) {
4720
- mediaItem.mimeType = x.mimeType;
4721
- }
4722
- if (x.title) {
4723
- mediaItem.title = x.title;
4724
- }
4725
- mediaItem.width = options.width || x.width;
4726
- /*
4727
- if (options.width) {
4728
- mediaItem.width = parseInt(String(options.width));
4729
- } else if (x.width) {
4730
- mediaItem.width = x.width;
4731
- }
4732
- */
4733
- mediaItem.height = options.height || x.height;
4734
- /*
4735
- if (options.height) {
4736
- mediaItem.height = parseInt(String(options.height));
4737
- } else if (x.height) {
4738
- mediaItem.height = x.height;
4739
- }
4740
- */
4741
- mediaItem.aspectRatio = options.aspectRatio;
4742
- mediaItem.aspectRatioSm = options.aspectRatioSm;
4743
- mediaItem.aspectRatioMd = options.aspectRatioMd;
4744
- mediaItem.aspectRatioLg = options.aspectRatioLg;
4745
- mediaItem.aspectRatioXl = options.aspectRatioXl;
4746
- return mediaItem;
4747
- });
4748
- const hasGallery = options.galleryId != null && typeof options.open === 'function';
4749
- const getMediaItemProps = _a => {
4750
- var media = __rest(_a, ["width", "height"]);
4751
- const title = media.title || options.title || media.alt || options.alt;
4752
- const alt = media.alt || options.alt || media.title || options.title;
4753
- const src = media.src || media.url || '';
4754
- const props = {
4755
- src,
4756
- title,
4757
- alt,
4758
- size: options.size
4759
- };
4760
- if (hasGallery) {
4761
- props['data-gallery'] = JSON.stringify({
4762
- galleryId: options.galleryId,
4763
- media
4764
- });
4765
- props.onClick = event => {
4766
- if (options.open) {
4767
- options.open(media);
4768
- }
4769
- };
4770
- }
4771
- if (bomCore.resolveMediaType(media) === 'image') {
4772
- /*
4773
- let width: number | undefined = undefined;
4774
- let height: number | undefined = undefined;
4775
- if (options.width) {
4776
- width = parseInt(String(options.width));
4777
- }
4778
- props.width = width;
4779
- if (options.height) {
4780
- height = parseInt(String(options.height));
4781
- }
4782
- props.height = height;
4783
- console.log('width', width, options.width, 'height', height, options.height);
4784
- */
4785
- props.width = options.width;
4786
- props.height = options.height;
4787
- props.aspectRatio = options.aspectRatio;
4788
- props.aspectRatioSm = options.aspectRatioSm;
4789
- props.aspectRatioMd = options.aspectRatioMd;
4790
- props.aspectRatioLg = options.aspectRatioLg;
4791
- props.aspectRatioXl = options.aspectRatioXl;
4792
- if (options.eager) {
4793
- props.loading = 'eager';
4794
- }
4795
- }
4796
- return props;
4797
- };
4798
- return items.map((media, m) => bomCore.resolveMediaType(media) === 'video' ? jsxRuntime.jsxs(StyledVideo, Object.assign({
4799
- className: "video video--muted",
4800
- playsInline: true,
4801
- autoPlay: true,
4802
- muted: true,
4803
- loop: true
4804
- }, getMediaItemProps(media), {
4805
- children: [jsxRuntime.jsx("source", {
4806
- src: media.src,
4807
- type: "video/mp4"
4808
- }), options.locale && jsxRuntime.jsx("track", {
4809
- src: `/captions.vtt?locale=${options.locale}&title=${media.title}`,
4810
- kind: "captions",
4811
- srcLang: options.locale,
4812
- label: "Video Captions"
4813
- })]
4814
- }), m) : jsxRuntime.jsx(MediaImage, Object.assign({
4815
- draggable: false
4816
- }, getMediaItemProps(media)), m));
4817
- }
4818
4906
 
4819
4907
  const ModalContext = /*#__PURE__*/React.createContext({});
4820
4908
  function useModalContext() {
@@ -16981,7 +17069,7 @@ const ProductsHeroCard = _a => {
16981
17069
  borderRadius: "0.4rem",
16982
17070
  justifyContent: "flex-end",
16983
17071
  children: [jsxRuntime.jsx(Card.Background, {
16984
- children: jsxRuntime.jsx(Media, {
17072
+ children: item.media && jsxRuntime.jsx(Media, {
16985
17073
  overlay: 0.2,
16986
17074
  item: item.media
16987
17075
  })
@@ -20651,6 +20739,7 @@ exports.CssInputContainerDefault = CssInputContainerDefault;
20651
20739
  exports.CssInputDefault = CssInputDefault;
20652
20740
  exports.CssInputReset = CssInputReset;
20653
20741
  exports.CssLabelDefault = CssLabelDefault;
20742
+ exports.CssMap = CssMap;
20654
20743
  exports.CssPrint = CssPrint;
20655
20744
  exports.CssRadioCardDefault = CssRadioCardDefault;
20656
20745
  exports.CssRadioColorDefault = CssRadioColorDefault;
@@ -20722,6 +20811,9 @@ exports.MarketsAndLanguagesDrawer = MarketsAndLanguagesDrawer;
20722
20811
  exports.Media = Media;
20723
20812
  exports.MediaGallery = MediaGallery;
20724
20813
  exports.MediaImage = MediaImage;
20814
+ exports.MediaItem = MediaItem;
20815
+ exports.MediaItems = MediaItems;
20816
+ exports.MediaVideo = MediaVideo;
20725
20817
  exports.Meta = Meta;
20726
20818
  exports.Modal = Modal;
20727
20819
  exports.Nav = Nav;
@@ -20850,6 +20942,7 @@ exports.mediaUp = mediaUp;
20850
20942
  exports.pickChild = pickChild;
20851
20943
  exports.pickChildByProps = pickChildByProps;
20852
20944
  exports.pickChildrenFirst = pickChildrenFirst;
20945
+ exports.pickResponsiveProps = pickResponsiveProps;
20853
20946
  exports.radioCardVariants = radioCardVariants;
20854
20947
  exports.radioColorVariants = radioColorVariants;
20855
20948
  exports.radioOptionVariants = radioOptionVariants;