@websolutespa/bom-mixer-ui 1.7.10 → 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 (297) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/index.js +272 -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 +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 +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 +39 -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,16 @@
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
+
3
14
  ## 1.7.10
4
15
 
5
16
  ### 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,7 +4865,6 @@ 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
4868
  const style = {};
4653
4869
  if (typeof width === 'string' && width.indexOf('px') !== -1) {
4654
4870
  style.width = width;
@@ -4656,28 +4872,31 @@ const MediaBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
4656
4872
  if (typeof height === 'string' && height.indexOf('px') !== -1) {
4657
4873
  style.height = height;
4658
4874
  }
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
4875
  return jsxRuntime.jsx(StyledMedia$1, Object.assign({
4676
4876
  className: classNames,
4677
4877
  ref: ref,
4678
4878
  as: as
4679
4879
  }, props, style, {
4680
- children: mediaChildren
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
+ })
4681
4900
  }));
4682
4901
  });
4683
4902
  MediaBase.displayName = 'Media';
@@ -4685,136 +4904,6 @@ const Media = bomCore.withSchema(MediaBase, {
4685
4904
  Info: MediaInfo,
4686
4905
  displayName: 'Media'
4687
4906
  });
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
4907
 
4819
4908
  const ModalContext = /*#__PURE__*/React.createContext({});
4820
4909
  function useModalContext() {
@@ -16981,7 +17070,7 @@ const ProductsHeroCard = _a => {
16981
17070
  borderRadius: "0.4rem",
16982
17071
  justifyContent: "flex-end",
16983
17072
  children: [jsxRuntime.jsx(Card.Background, {
16984
- children: jsxRuntime.jsx(Media, {
17073
+ children: item.media && jsxRuntime.jsx(Media, {
16985
17074
  overlay: 0.2,
16986
17075
  item: item.media
16987
17076
  })
@@ -20651,6 +20740,7 @@ exports.CssInputContainerDefault = CssInputContainerDefault;
20651
20740
  exports.CssInputDefault = CssInputDefault;
20652
20741
  exports.CssInputReset = CssInputReset;
20653
20742
  exports.CssLabelDefault = CssLabelDefault;
20743
+ exports.CssMap = CssMap;
20654
20744
  exports.CssPrint = CssPrint;
20655
20745
  exports.CssRadioCardDefault = CssRadioCardDefault;
20656
20746
  exports.CssRadioColorDefault = CssRadioColorDefault;
@@ -20722,6 +20812,9 @@ exports.MarketsAndLanguagesDrawer = MarketsAndLanguagesDrawer;
20722
20812
  exports.Media = Media;
20723
20813
  exports.MediaGallery = MediaGallery;
20724
20814
  exports.MediaImage = MediaImage;
20815
+ exports.MediaItem = MediaItem;
20816
+ exports.MediaItems = MediaItems;
20817
+ exports.MediaVideo = MediaVideo;
20725
20818
  exports.Meta = Meta;
20726
20819
  exports.Modal = Modal;
20727
20820
  exports.Nav = Nav;
@@ -20850,6 +20943,7 @@ exports.mediaUp = mediaUp;
20850
20943
  exports.pickChild = pickChild;
20851
20944
  exports.pickChildByProps = pickChildByProps;
20852
20945
  exports.pickChildrenFirst = pickChildrenFirst;
20946
+ exports.pickResponsiveProps = pickResponsiveProps;
20853
20947
  exports.radioCardVariants = radioCardVariants;
20854
20948
  exports.radioColorVariants = radioColorVariants;
20855
20949
  exports.radioOptionVariants = radioOptionVariants;