@sonic-equipment/ui 0.0.119 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1518) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +5 -0
  2. package/dist/_virtual/index.js +7 -0
  3. package/dist/address-info-display/address-info-display.d.ts +6 -0
  4. package/dist/address-info-display/address-info-display.js +10 -0
  5. package/dist/address-info-display/address-info-display.module.css.js +3 -0
  6. package/dist/algolia/algolia-active-categories.js +39 -0
  7. package/dist/algolia/algolia-active-filters.js +38 -0
  8. package/dist/algolia/algolia-categories-filters.js +27 -0
  9. package/dist/algolia/algolia-dummy-refinement-list-consumer.js +20 -0
  10. package/dist/algolia/algolia-filter-panel.js +39 -0
  11. package/dist/algolia/algolia-filter-panel.module.css.js +3 -0
  12. package/dist/algolia/algolia-hit-type.d.ts +2 -0
  13. package/dist/algolia/algolia-hit-type.js +6 -0
  14. package/dist/algolia/algolia-hits-provider.js +17 -0
  15. package/dist/algolia/algolia-index-config.d.ts +3 -1
  16. package/dist/algolia/algolia-index-config.js +77 -0
  17. package/dist/algolia/algolia-initialization.js +34 -0
  18. package/dist/algolia/algolia-insight-instant-search-provider.js +14 -0
  19. package/dist/algolia/algolia-insights-provider.d.ts +1 -1
  20. package/dist/algolia/algolia-insights-provider.js +25 -0
  21. package/dist/algolia/algolia-instant-search-state-provider.js +16 -0
  22. package/dist/algolia/algolia-multi-select-filter-section.js +27 -0
  23. package/dist/algolia/algolia-pagination.js +18 -0
  24. package/dist/algolia/algolia-provider.js +34 -0
  25. package/dist/algolia/algolia-query-string-routing.js +108 -0
  26. package/dist/algolia/algolia-results-count.js +22 -0
  27. package/dist/algolia/algolia-search-provider.js +176 -0
  28. package/dist/algolia/algolia-searchclient-offline.js +26 -0
  29. package/dist/algolia/algolia-sonic-searchclient.d.ts +2 -1
  30. package/dist/algolia/algolia-sonic-searchclient.js +26 -0
  31. package/dist/algolia/algolia-sort-by.js +29 -0
  32. package/dist/algolia/constants/index.d.ts +1 -0
  33. package/dist/algolia/constants/index.js +3 -0
  34. package/dist/algolia/filter-section.js +34 -0
  35. package/dist/algolia/filter-section.module.css.js +3 -0
  36. package/dist/algolia/use-algolia-hits.js +19 -0
  37. package/dist/algolia/use-algolia-insights-provider-global-state.js +9 -0
  38. package/dist/algolia/use-algolia-insights.d.ts +20 -6
  39. package/dist/algolia/use-algolia-insights.js +303 -0
  40. package/dist/algolia/use-algolia-instant-search-state.js +25 -0
  41. package/dist/algolia/use-algolia-search.d.ts +5 -4
  42. package/dist/algolia/use-algolia-search.js +41 -0
  43. package/dist/authentication/authenticated-container.d.ts +9 -0
  44. package/dist/authentication/authenticated-container.js +21 -0
  45. package/dist/background-overlay/background-overlay-manager.d.ts +178 -0
  46. package/dist/background-overlay/background-overlay-manager.js +297 -0
  47. package/dist/background-overlay/background-overlay.d.ts +12 -2
  48. package/dist/background-overlay/background-overlay.js +40 -0
  49. package/dist/badges/badge/badge.d.ts +5 -2
  50. package/dist/badges/badge/badge.js +18 -0
  51. package/dist/badges/badge/badge.module.css.js +3 -0
  52. package/dist/badges/badge/icon-with-badge/icon-with-badge.d.ts +11 -4
  53. package/dist/badges/badge/icon-with-badge/icon-with-badge.js +12 -0
  54. package/dist/badges/badge/icon-with-badge/icon-with-badge.module.css.js +3 -0
  55. package/dist/badges/tag/tag.js +11 -0
  56. package/dist/badges/tag/tag.module.css.js +3 -0
  57. package/dist/base.css +49 -0
  58. package/dist/breadcrumbs/breadcrumb.js +26 -0
  59. package/dist/breadcrumbs/breadcrumb.module.css.js +3 -0
  60. package/dist/buttons/add-to-cart-button/add-to-cart-button.d.ts +1 -3
  61. package/dist/buttons/add-to-cart-button/add-to-cart-button.js +118 -0
  62. package/dist/buttons/add-to-cart-button/add-to-cart-button.module.css.js +3 -0
  63. package/dist/buttons/add-to-cart-button/connected-add-to-cart-button.d.ts +1 -1
  64. package/dist/buttons/add-to-cart-button/connected-add-to-cart-button.js +126 -0
  65. package/dist/buttons/button/button.d.ts +19 -2
  66. package/dist/buttons/button/button.js +36 -0
  67. package/dist/buttons/button/button.module.css.js +3 -0
  68. package/dist/buttons/close-button/close-button.d.ts +12 -0
  69. package/dist/buttons/close-button/close-button.js +11 -0
  70. package/dist/buttons/close-button/close-button.module.css.js +3 -0
  71. package/dist/buttons/favorite/connected-favorite-button.d.ts +1 -1
  72. package/dist/buttons/favorite/connected-favorite-button.js +56 -0
  73. package/dist/buttons/favorite/favorite-button.d.ts +1 -1
  74. package/dist/buttons/favorite/favorite-button.js +15 -0
  75. package/dist/buttons/favorite/favorite-button.module.css.js +3 -0
  76. package/dist/buttons/icon-button/icon-button.d.ts +20 -6
  77. package/dist/buttons/icon-button/icon-button.js +24 -0
  78. package/dist/buttons/icon-button/icon-button.module.css.js +3 -0
  79. package/dist/buttons/link/link.d.ts +24 -5
  80. package/dist/buttons/link/link.js +17 -0
  81. package/dist/buttons/link/link.module.css.js +3 -0
  82. package/dist/buttons/print-button/print-button.d.ts +2 -1
  83. package/dist/buttons/print-button/print-button.js +10 -0
  84. package/dist/buttons/reorder-button/connected-reorder-button.d.ts +4 -0
  85. package/dist/buttons/reorder-button/connected-reorder-button.js +38 -0
  86. package/dist/buttons/reorder-button/reorder-button.d.ts +9 -0
  87. package/dist/buttons/reorder-button/reorder-button.js +12 -0
  88. package/dist/cards/category-card/category-card.d.ts +3 -2
  89. package/dist/cards/category-card/category-card.js +14 -0
  90. package/dist/cards/category-card/category-card.module.css.js +3 -0
  91. package/dist/cards/data-card/data-card.d.ts +39 -0
  92. package/dist/cards/data-card/data-card.js +68 -0
  93. package/dist/cards/data-card/data-card.module.css.js +3 -0
  94. package/dist/cards/orderline-card/connected-orderline-card.js +13 -0
  95. package/dist/cards/orderline-card/connected-remove-button.js +18 -0
  96. package/dist/cards/orderline-card/orderline-card.d.ts +4 -4
  97. package/dist/cards/orderline-card/orderline-card.js +22 -0
  98. package/dist/cards/orderline-card/orderline-card.module.css.js +3 -0
  99. package/dist/cards/product-card/connected-product-card.d.ts +6 -2
  100. package/dist/cards/product-card/connected-product-card.js +11 -0
  101. package/dist/cards/product-card/product-card.d.ts +4 -2
  102. package/dist/cards/product-card/product-card.js +22 -0
  103. package/dist/cards/product-card/product-card.module.css.js +3 -0
  104. package/dist/cards/table-card/table-card.d.ts +15 -0
  105. package/dist/cards/table-card/table-card.js +15 -0
  106. package/dist/cards/table-card/table-card.module.css.js +3 -0
  107. package/dist/carousel/card-carousel/card-carousel.js +24 -0
  108. package/dist/carousel/card-carousel/card-carousel.module.css.js +3 -0
  109. package/dist/carousel/carousel-navigation-button.d.ts +1 -1
  110. package/dist/carousel/carousel-navigation-button.js +12 -0
  111. package/dist/carousel/carousel-navigation-button.module.css.js +3 -0
  112. package/dist/carousel/carousel.js +69 -0
  113. package/dist/carousel/carousel.module.css.js +3 -0
  114. package/dist/carousel/category-carousel/category-carousel.js +10 -0
  115. package/dist/carousel/category-carousel/category-carousel.module.css.js +3 -0
  116. package/dist/carousel/pagination/pagination.d.ts +1 -1
  117. package/dist/carousel/pagination/pagination.js +36 -0
  118. package/dist/carousel/pagination/pagination.module.css.js +3 -0
  119. package/dist/carousel/pagination/transitions.js +144 -0
  120. package/dist/carousel/usp-carousel/product-usp-carousel-slide.js +13 -0
  121. package/dist/carousel/usp-carousel/product-usp-carousel.js +10 -0
  122. package/dist/carousel/usp-carousel/usp-carousel.js +49 -0
  123. package/dist/carousel/usp-carousel/usp-carousel.module.css.js +3 -0
  124. package/dist/cart-totals/cart-totals-summary.d.ts +4 -2
  125. package/dist/cart-totals/cart-totals-summary.js +13 -0
  126. package/dist/cart-totals/cart-totals-summary.module.css.js +3 -0
  127. package/dist/cart-totals/cart-totals.d.ts +11 -6
  128. package/dist/cart-totals/cart-totals.js +15 -0
  129. package/dist/cart-totals/cart-totals.module.css.js +3 -0
  130. package/dist/collapsables/accordion/accordion-item.d.ts +4 -1
  131. package/dist/collapsables/accordion/accordion-item.js +36 -0
  132. package/dist/collapsables/accordion/accordion.d.ts +11 -2
  133. package/dist/collapsables/accordion/accordion.js +35 -0
  134. package/dist/collapsables/accordion/accordion.module.css.js +3 -0
  135. package/dist/collapsables/cascading-component/cascading-component-container-context.d.ts +2 -0
  136. package/dist/collapsables/cascading-component/cascading-component-container-context.js +6 -0
  137. package/dist/collapsables/cascading-component/cascading-component-container-provider.d.ts +7 -0
  138. package/dist/collapsables/cascading-component/cascading-component-container-provider.js +29 -0
  139. package/dist/collapsables/cascading-component/cascading-component-container.d.ts +8 -0
  140. package/dist/collapsables/cascading-component/cascading-component-container.js +9 -0
  141. package/dist/collapsables/cascading-component/cascading-component.d.ts +17 -0
  142. package/dist/collapsables/cascading-component/cascading-component.js +45 -0
  143. package/dist/collapsables/cascading-component/types.d.ts +11 -0
  144. package/dist/collapsables/cascading-component/use-cascading-component-container.d.ts +2 -0
  145. package/dist/collapsables/cascading-component/use-cascading-component-container.js +9 -0
  146. package/dist/collapsables/cascading-component/use-cascading-component.d.ts +2 -0
  147. package/dist/collapsables/cascading-component/use-cascading-component.js +15 -0
  148. package/dist/collapsables/cascading-component/use-has-cascading-component-container.d.ts +1 -0
  149. package/dist/collapsables/cascading-component/use-has-cascading-component-container.js +8 -0
  150. package/dist/collapsables/show-all/show-all.js +35 -0
  151. package/dist/collapsables/show-all/show-all.module.css.js +3 -0
  152. package/dist/collapsables/unmounter/unmounter.d.ts +14 -0
  153. package/dist/collapsables/unmounter/unmounter.js +44 -0
  154. package/dist/collapsables/unmounter/utils.d.ts +2 -0
  155. package/dist/collapsables/unmounter/utils.js +21 -0
  156. package/dist/config.d.ts +4 -2
  157. package/dist/config.js +116 -0
  158. package/dist/cookies/client-cookie-context.d.ts +3 -0
  159. package/dist/cookies/client-cookie-context.js +30 -0
  160. package/dist/cookies/cookie-context.d.ts +2 -0
  161. package/dist/cookies/cookie-context.js +6 -0
  162. package/dist/cookies/cookie-provider.d.ts +6 -0
  163. package/dist/cookies/cookie-provider.js +10 -0
  164. package/dist/cookies/readonly-cookie-reader.d.ts +2 -0
  165. package/dist/cookies/readonly-cookie-reader.js +18 -0
  166. package/dist/cookies/types.d.ts +14 -0
  167. package/dist/cookies/types.js +7 -0
  168. package/dist/{shared/hooks → cookies}/use-cookie.d.ts +1 -1
  169. package/dist/cookies/use-cookie.js +33 -0
  170. package/dist/country-language-selection-list/connected-country-language-selection-list.d.ts +1 -0
  171. package/dist/country-language-selection-list/connected-country-language-selection-list.js +267 -0
  172. package/dist/country-language-selection-list/country-language-selection-list.d.ts +18 -0
  173. package/dist/country-language-selection-list/country-language-selection-list.js +54 -0
  174. package/dist/country-language-selection-list/country-language-selection-list.module.css.js +3 -0
  175. package/dist/country-language-selector/connected-country-language-selector.d.ts +11 -0
  176. package/dist/country-language-selector/connected-country-language-selector.js +155 -0
  177. package/dist/country-language-selector/country-language-selector.d.ts +18 -0
  178. package/dist/country-language-selector/country-language-selector.js +52 -0
  179. package/dist/country-language-selector/country-language-selector.module.css.js +3 -0
  180. package/dist/country-language-selector-button/connected-country-language-selector-button.d.ts +1 -0
  181. package/dist/country-language-selector-button/connected-country-language-selector-button.js +22 -0
  182. package/dist/country-language-selector-button/country-language-selector-button.d.ts +7 -0
  183. package/dist/country-language-selector-button/country-language-selector-button.js +18 -0
  184. package/dist/country-language-selector-button/country-language-selector-button.module.css.js +3 -0
  185. package/dist/country-select/country-select.d.ts +29 -0
  186. package/dist/country-select/country-select.js +29 -0
  187. package/dist/country-select/hooks/use-countries.d.ts +12 -0
  188. package/dist/country-select/hooks/use-countries.js +55 -0
  189. package/dist/country-selector/connected-country-selector.d.ts +8 -8
  190. package/dist/country-selector/connected-country-selector.js +58 -0
  191. package/dist/country-selector/country-selector-dialog/country-selector-dialog.d.ts +2 -2
  192. package/dist/country-selector/country-selector-dialog/country-selector-dialog.js +34 -0
  193. package/dist/country-selector/country-selector-dialog/country-selector-dialog.module.css.js +3 -0
  194. package/dist/country-selector/country-selector-trigger/country-selector-trigger.d.ts +2 -3
  195. package/dist/country-selector/country-selector-trigger/country-selector-trigger.js +24 -0
  196. package/dist/country-selector/country-selector-trigger/country-selector-trigger.module.css.js +3 -0
  197. package/dist/country-selector/use-countries-languages.d.ts +23 -6
  198. package/dist/country-selector/use-countries-languages.js +95 -0
  199. package/dist/delivery-time/delivery-time.d.ts +2 -2
  200. package/dist/delivery-time/delivery-time.js +32 -0
  201. package/dist/delivery-time/delivery-time.module.css.js +3 -0
  202. package/dist/display/details/details.d.ts +7 -0
  203. package/dist/display/details/details.js +11 -0
  204. package/dist/display/details/details.module.css.js +3 -0
  205. package/dist/display/info-display/info-display.d.ts +7 -0
  206. package/dist/display/info-display/info-display.js +9 -0
  207. package/dist/display/info-display/info-display.module.css.js +3 -0
  208. package/dist/display/price/price.d.ts +18 -0
  209. package/dist/display/price/price.js +41 -0
  210. package/dist/display/price/price.module.css.js +3 -0
  211. package/dist/display/product-sku/product-sku.d.ts +2 -1
  212. package/dist/display/product-sku/product-sku.js +10 -0
  213. package/dist/display/product-sku/product-sku.module.css.js +3 -0
  214. package/dist/drawer/drawer.d.ts +28 -0
  215. package/dist/drawer/drawer.js +49 -0
  216. package/dist/drawer/drawer.module.css.js +3 -0
  217. package/dist/drawer/use-drawer.d.ts +17 -0
  218. package/dist/drawer/use-drawer.js +67 -0
  219. package/dist/exports.d.ts +385 -50
  220. package/dist/filters/active-filters/active-filters.d.ts +1 -1
  221. package/dist/filters/active-filters/active-filters.js +19 -0
  222. package/dist/filters/active-filters/active-filters.module.css.js +3 -0
  223. package/dist/filters/multi-select/multi-select.js +21 -0
  224. package/dist/filters/multi-select/multi-select.module.css.js +3 -0
  225. package/dist/filters/pagination/pagination.js +14 -0
  226. package/dist/filters/pagination/pagination.module.css.js +3 -0
  227. package/dist/flag/flag.d.ts +8 -0
  228. package/dist/flag/flag.js +11 -0
  229. package/dist/flag/flag.module.css.js +3 -0
  230. package/dist/flags/flag-ad.d.ts +1 -0
  231. package/dist/flags/flag-ad.js +7 -0
  232. package/dist/flags/flag-ae.d.ts +1 -0
  233. package/dist/flags/flag-ae.js +7 -0
  234. package/dist/flags/flag-al.d.ts +1 -0
  235. package/dist/flags/flag-al.js +7 -0
  236. package/dist/flags/flag-at.d.ts +1 -0
  237. package/dist/flags/flag-at.js +7 -0
  238. package/dist/flags/flag-ba.d.ts +1 -0
  239. package/dist/flags/flag-ba.js +7 -0
  240. package/dist/flags/flag-be.d.ts +1 -0
  241. package/dist/flags/flag-be.js +7 -0
  242. package/dist/flags/flag-bg.d.ts +1 -0
  243. package/dist/flags/flag-bg.js +7 -0
  244. package/dist/flags/flag-br.d.ts +1 -0
  245. package/dist/flags/flag-br.js +7 -0
  246. package/dist/flags/flag-ca.d.ts +1 -0
  247. package/dist/flags/flag-ca.js +7 -0
  248. package/dist/flags/flag-ch.d.ts +1 -0
  249. package/dist/flags/flag-ch.js +7 -0
  250. package/dist/flags/flag-cy.d.ts +1 -0
  251. package/dist/flags/flag-cy.js +7 -0
  252. package/dist/flags/flag-cz.d.ts +1 -0
  253. package/dist/flags/flag-cz.js +7 -0
  254. package/dist/flags/flag-de.d.ts +1 -0
  255. package/dist/flags/flag-de.js +7 -0
  256. package/dist/flags/flag-dj.d.ts +1 -0
  257. package/dist/flags/flag-dj.js +7 -0
  258. package/dist/flags/flag-dk.d.ts +1 -0
  259. package/dist/flags/flag-dk.js +7 -0
  260. package/dist/flags/flag-ec.d.ts +1 -0
  261. package/dist/flags/flag-ec.js +7 -0
  262. package/dist/flags/flag-ee.d.ts +1 -0
  263. package/dist/flags/flag-ee.js +7 -0
  264. package/dist/flags/flag-es.d.ts +1 -0
  265. package/dist/flags/flag-es.js +7 -0
  266. package/dist/flags/flag-eu.d.ts +1 -0
  267. package/dist/flags/flag-eu.js +7 -0
  268. package/dist/flags/flag-fi.d.ts +1 -0
  269. package/dist/flags/flag-fi.js +7 -0
  270. package/dist/flags/flag-fr.d.ts +1 -0
  271. package/dist/flags/flag-fr.js +7 -0
  272. package/dist/flags/flag-gb.d.ts +1 -0
  273. package/dist/flags/flag-gb.js +7 -0
  274. package/dist/flags/flag-gr.d.ts +1 -0
  275. package/dist/flags/flag-gr.js +7 -0
  276. package/dist/flags/flag-hr.d.ts +1 -0
  277. package/dist/flags/flag-hr.js +7 -0
  278. package/dist/flags/flag-hu.d.ts +1 -0
  279. package/dist/flags/flag-hu.js +7 -0
  280. package/dist/flags/flag-ie.d.ts +1 -0
  281. package/dist/flags/flag-ie.js +7 -0
  282. package/dist/flags/flag-iq.d.ts +1 -0
  283. package/dist/flags/flag-iq.js +7 -0
  284. package/dist/flags/flag-is.d.ts +1 -0
  285. package/dist/flags/flag-is.js +7 -0
  286. package/dist/flags/flag-it.d.ts +1 -0
  287. package/dist/flags/flag-it.js +7 -0
  288. package/dist/flags/flag-kw.d.ts +1 -0
  289. package/dist/flags/flag-kw.js +7 -0
  290. package/dist/flags/flag-kz.d.ts +1 -0
  291. package/dist/flags/flag-kz.js +7 -0
  292. package/dist/flags/flag-lb.d.ts +1 -0
  293. package/dist/flags/flag-lb.js +7 -0
  294. package/dist/flags/flag-lt.d.ts +1 -0
  295. package/dist/flags/flag-lt.js +7 -0
  296. package/dist/flags/flag-lu.d.ts +1 -0
  297. package/dist/flags/flag-lu.js +7 -0
  298. package/dist/flags/flag-lv.d.ts +1 -0
  299. package/dist/flags/flag-lv.js +7 -0
  300. package/dist/flags/flag-ma.d.ts +1 -0
  301. package/dist/flags/flag-ma.js +7 -0
  302. package/dist/flags/flag-mc.d.ts +1 -0
  303. package/dist/flags/flag-mc.js +7 -0
  304. package/dist/flags/flag-md.d.ts +1 -0
  305. package/dist/flags/flag-md.js +7 -0
  306. package/dist/flags/flag-me.d.ts +1 -0
  307. package/dist/flags/flag-me.js +7 -0
  308. package/dist/flags/flag-mk.d.ts +1 -0
  309. package/dist/flags/flag-mk.js +7 -0
  310. package/dist/flags/flag-mt.d.ts +1 -0
  311. package/dist/flags/flag-mt.js +7 -0
  312. package/dist/flags/flag-mx.d.ts +1 -0
  313. package/dist/flags/flag-mx.js +7 -0
  314. package/dist/flags/flag-my.d.ts +1 -0
  315. package/dist/flags/flag-my.js +7 -0
  316. package/dist/flags/flag-nl.d.ts +1 -0
  317. package/dist/flags/flag-nl.js +7 -0
  318. package/dist/flags/flag-no.d.ts +1 -0
  319. package/dist/flags/flag-no.js +7 -0
  320. package/dist/flags/flag-pl.d.ts +1 -0
  321. package/dist/flags/flag-pl.js +7 -0
  322. package/dist/flags/flag-pt.d.ts +1 -0
  323. package/dist/flags/flag-pt.js +7 -0
  324. package/dist/flags/flag-ro.d.ts +1 -0
  325. package/dist/flags/flag-ro.js +7 -0
  326. package/dist/flags/flag-rs.d.ts +1 -0
  327. package/dist/flags/flag-rs.js +7 -0
  328. package/dist/flags/flag-sa.d.ts +1 -0
  329. package/dist/flags/flag-sa.js +7 -0
  330. package/dist/flags/flag-se.d.ts +1 -0
  331. package/dist/flags/flag-se.js +7 -0
  332. package/dist/flags/flag-sg.d.ts +1 -0
  333. package/dist/flags/flag-sg.js +7 -0
  334. package/dist/flags/flag-si.d.ts +1 -0
  335. package/dist/flags/flag-si.js +7 -0
  336. package/dist/flags/flag-sk.d.ts +1 -0
  337. package/dist/flags/flag-sk.js +7 -0
  338. package/dist/flags/flag-tr.d.ts +1 -0
  339. package/dist/flags/flag-tr.js +7 -0
  340. package/dist/flags/flag-tw.d.ts +1 -0
  341. package/dist/flags/flag-tw.js +7 -0
  342. package/dist/flags/flag-ua.d.ts +1 -0
  343. package/dist/flags/flag-ua.js +7 -0
  344. package/dist/flags/flag-us.d.ts +1 -0
  345. package/dist/flags/flag-us.js +7 -0
  346. package/dist/flags/flag-vn.d.ts +1 -0
  347. package/dist/flags/flag-vn.js +7 -0
  348. package/dist/flags/flag-xk.d.ts +1 -0
  349. package/dist/flags/flag-xk.js +7 -0
  350. package/dist/flags/flag-za.d.ts +1 -0
  351. package/dist/flags/flag-za.js +7 -0
  352. package/dist/flags/index.d.ts +1 -0
  353. package/dist/flags/index.js +88 -0
  354. package/dist/footer/connected-footer.d.ts +3 -0
  355. package/dist/footer/connected-footer.js +21 -0
  356. package/dist/footer/footer.d.ts +9 -0
  357. package/dist/footer/footer.js +39 -0
  358. package/dist/footer/footer.model.d.ts +6 -0
  359. package/dist/footer/footer.module.css.js +3 -0
  360. package/dist/forms/elements/checkbox/checkbox.d.ts +23 -0
  361. package/dist/forms/elements/checkbox/checkbox.js +15 -0
  362. package/dist/forms/elements/checkbox/checkbox.module.css.js +3 -0
  363. package/dist/forms/elements/color-checkbox/color-checkbox.d.ts +7 -0
  364. package/dist/forms/elements/color-checkbox/color-checkbox.js +17 -0
  365. package/dist/forms/elements/field-error/field-error.d.ts +19 -0
  366. package/dist/forms/elements/field-error/field-error.js +27 -0
  367. package/dist/forms/elements/field-error/field-error.module.css.js +3 -0
  368. package/dist/forms/{input → elements/input}/input.d.ts +6 -0
  369. package/dist/forms/elements/input/input.js +31 -0
  370. package/dist/forms/elements/input/input.module.css.js +3 -0
  371. package/dist/forms/elements/label/label.d.ts +8 -0
  372. package/dist/forms/elements/label/label.js +13 -0
  373. package/dist/forms/elements/label/label.module.css.js +3 -0
  374. package/dist/forms/elements/select/select.d.ts +20 -0
  375. package/dist/forms/elements/select/select.js +37 -0
  376. package/dist/forms/elements/select/select.module.css.js +3 -0
  377. package/dist/forms/elements/switch/switch.d.ts +22 -0
  378. package/dist/forms/elements/switch/switch.js +15 -0
  379. package/dist/forms/elements/switch/switch.module.css.js +3 -0
  380. package/dist/forms/{textarea → elements/textarea}/textarea.d.ts +4 -0
  381. package/dist/forms/elements/textarea/textarea.js +54 -0
  382. package/dist/forms/elements/textarea/textarea.module.css.js +3 -0
  383. package/dist/forms/fields/checkbox-field/checkbox-field.d.ts +10 -0
  384. package/dist/forms/fields/checkbox-field/checkbox-field.js +16 -0
  385. package/dist/forms/fields/checkbox-field/checkbox-field.module.css.js +3 -0
  386. package/dist/forms/fields/number-field/number-field.d.ts +39 -0
  387. package/dist/forms/fields/number-field/number-field.js +55 -0
  388. package/dist/forms/fields/number-field/number-field.module.css.js +3 -0
  389. package/dist/forms/fields/password-field/password-field.d.ts +2 -0
  390. package/dist/forms/fields/password-field/password-field.js +16 -0
  391. package/dist/forms/fields/search-field/search-field.d.ts +5 -0
  392. package/dist/forms/fields/search-field/search-field.js +20 -0
  393. package/dist/forms/fields/select-field/select-field.d.ts +34 -0
  394. package/dist/forms/fields/select-field/select-field.js +51 -0
  395. package/dist/forms/fields/select-field/select-field.module.css.js +3 -0
  396. package/dist/forms/fields/switch-field/switch-field.d.ts +10 -0
  397. package/dist/forms/fields/switch-field/switch-field.js +18 -0
  398. package/dist/forms/fields/switch-field/switch-field.module.css.js +3 -0
  399. package/dist/forms/fields/text-field/password-reveal-toggle/password-reveal-toggle.d.ts +10 -0
  400. package/dist/forms/fields/text-field/password-reveal-toggle/password-reveal-toggle.js +18 -0
  401. package/dist/forms/fields/text-field/password-reveal-toggle/password-reveal-toggle.module.css.js +3 -0
  402. package/dist/forms/fields/text-field/text-field.d.ts +50 -0
  403. package/dist/forms/fields/text-field/text-field.js +26 -0
  404. package/dist/forms/fields/text-field/text-field.module.css.js +3 -0
  405. package/dist/forms/layout/form/form-field-layout.d.ts +10 -0
  406. package/dist/forms/layout/form/form-field-layout.js +10 -0
  407. package/dist/forms/layout/form/form-field-layout.module.css.js +3 -0
  408. package/dist/forms/layout/form/form-segment-group.d.ts +6 -0
  409. package/dist/forms/layout/form/form-segment-group.js +14 -0
  410. package/dist/forms/layout/form/form-segment-group.module.css.js +3 -0
  411. package/dist/forms/layout/form/form-segment.d.ts +6 -0
  412. package/dist/forms/layout/form/form-segment.js +10 -0
  413. package/dist/forms/layout/form/form-segment.module.css.js +3 -0
  414. package/dist/forms/layout/form/form.d.ts +20 -0
  415. package/dist/forms/layout/form/form.js +28 -0
  416. package/dist/forms/layout/form/form.module.css.js +3 -0
  417. package/dist/forms/partials/address-form/address-form.d.ts +11 -0
  418. package/dist/forms/partials/address-form/address-form.js +40 -0
  419. package/dist/forms/partials/address-form/address-form.module.css.js +3 -0
  420. package/dist/forms/partials/password-validation/password-validation.d.ts +4 -0
  421. package/dist/forms/partials/password-validation/password-validation.js +33 -0
  422. package/dist/global-search/categories-grid/categories-grid.js +14 -0
  423. package/dist/global-search/categories-grid/categories-grid.module.css.js +3 -0
  424. package/dist/global-search/global-search-provider/global-search-provider.d.ts +0 -6
  425. package/dist/global-search/global-search-provider/global-search-provider.js +9 -0
  426. package/dist/global-search/global-search-provider/use-search-disclosure.d.ts +1 -6
  427. package/dist/global-search/global-search-provider/use-search-disclosure.js +9 -0
  428. package/dist/global-search/global-search.d.ts +3 -1
  429. package/dist/global-search/global-search.js +44 -0
  430. package/dist/global-search/global-search.module.css.js +3 -0
  431. package/dist/global-search/plugins/categories-plugin.d.ts +1 -1
  432. package/dist/global-search/plugins/categories-plugin.js +37 -0
  433. package/dist/global-search/plugins/popular-categories-plugin.d.ts +1 -1
  434. package/dist/global-search/plugins/popular-categories-plugin.js +35 -0
  435. package/dist/global-search/plugins/popular-searches-plugin.d.ts +1 -1
  436. package/dist/global-search/plugins/popular-searches-plugin.js +24 -0
  437. package/dist/global-search/plugins/query-suggestions-plugin.d.ts +1 -1
  438. package/dist/global-search/plugins/query-suggestions-plugin.js +23 -0
  439. package/dist/global-search/plugins/quick-access-plugin.d.ts +1 -1
  440. package/dist/global-search/plugins/quick-access-plugin.js +35 -0
  441. package/dist/global-search/plugins/recent-searches-plugin.d.ts +1 -1
  442. package/dist/global-search/plugins/recent-searches-plugin.js +18 -0
  443. package/dist/global-search/search-highlight/highlight.d.ts +2 -1
  444. package/dist/global-search/search-highlight/highlight.js +15 -0
  445. package/dist/global-search/search-input/connected-search-input.js +22 -0
  446. package/dist/global-search/search-input/search-input.d.ts +2 -2
  447. package/dist/global-search/search-input/search-input.js +30 -0
  448. package/dist/global-search/search-input/search-input.module.css.js +3 -0
  449. package/dist/global-search/search-result-panel/panel-content.js +16 -0
  450. package/dist/global-search/search-result-panel/search-result-panel.js +17 -0
  451. package/dist/global-search/search-result-panel/search-result-panel.module.css.js +3 -0
  452. package/dist/global-search/search-result-panel/sections/no-search-results.d.ts +3 -1
  453. package/dist/global-search/search-result-panel/sections/no-search-results.js +32 -0
  454. package/dist/global-search/search-result-panel/sections/no-search.d.ts +5 -1
  455. package/dist/global-search/search-result-panel/sections/no-search.js +59 -0
  456. package/dist/global-search/search-result-panel/sections/search-content.module.css.js +3 -0
  457. package/dist/global-search/search-result-panel/sections/searching.d.ts +1 -0
  458. package/dist/global-search/search-result-panel/sections/searching.js +11 -0
  459. package/dist/global-search/search-result-panel/sections/section-container.js +9 -0
  460. package/dist/global-search/search-result-panel/sections/with-results.d.ts +3 -1
  461. package/dist/global-search/search-result-panel/sections/with-results.js +104 -0
  462. package/dist/global-search/search-section/search-list-item.d.ts +3 -2
  463. package/dist/global-search/search-section/search-list-item.js +14 -0
  464. package/dist/global-search/search-section/search-list-item.module.css.js +3 -0
  465. package/dist/global-search/search-section/search-list.js +10 -0
  466. package/dist/global-search/search-section/search-list.module.css.js +3 -0
  467. package/dist/global-search/search-section/search-section.js +10 -0
  468. package/dist/global-search/search-section/search-section.module.css.js +3 -0
  469. package/dist/global-search/types.d.ts +6 -4
  470. package/dist/header/buttons/account/connected-account-button.d.ts +5 -0
  471. package/dist/header/buttons/account/connected-account-button.js +30 -0
  472. package/dist/header/buttons/account/connected-account-button.module.css.js +3 -0
  473. package/dist/header/buttons/cart/connected-cart-button.d.ts +7 -0
  474. package/dist/header/buttons/cart/connected-cart-button.js +13 -0
  475. package/dist/header/buttons/favorites/connected-favorites-button.d.ts +7 -0
  476. package/dist/header/buttons/favorites/connected-favorites-button.js +11 -0
  477. package/dist/header/buttons/hamburger/hamburger-button.d.ts +7 -0
  478. package/dist/header/buttons/hamburger/hamburger-button.js +13 -0
  479. package/dist/header/buttons/hamburger/hamburger-button.module.css.js +3 -0
  480. package/dist/header/buttons/search/search-button.d.ts +7 -0
  481. package/dist/header/buttons/search/search-button.js +11 -0
  482. package/dist/header/connected-header.d.ts +3 -0
  483. package/dist/header/connected-header.js +21 -0
  484. package/dist/header/drawers/desktop-navigation-drawer.d.ts +8 -0
  485. package/dist/header/drawers/desktop-navigation-drawer.js +11 -0
  486. package/dist/header/drawers/desktop-navigation-drawer.module.css.js +3 -0
  487. package/dist/header/drawers/mobile-navigation-drawer.d.ts +7 -0
  488. package/dist/header/drawers/mobile-navigation-drawer.js +11 -0
  489. package/dist/header/drawers/mobile-navigation-drawer.module.css.js +3 -0
  490. package/dist/header/drawers/search-drawer.d.ts +5 -0
  491. package/dist/header/drawers/search-drawer.js +10 -0
  492. package/dist/header/header-layout/header-layout.d.ts +10 -0
  493. package/dist/header/header-layout/header-layout.js +10 -0
  494. package/dist/header/header-layout/header-layout.module.css.js +3 -0
  495. package/dist/header/header.d.ts +7 -0
  496. package/dist/header/header.js +76 -0
  497. package/dist/header/header.module.css.js +3 -0
  498. package/dist/header/link-list/navigation-link-list.d.ts +8 -0
  499. package/dist/header/link-list/navigation-link-list.js +31 -0
  500. package/dist/header/link-list/navigation-link-list.module.css.js +3 -0
  501. package/dist/header/sonic-logo/sonic-logo.d.ts +7 -0
  502. package/dist/header/sonic-logo/sonic-logo.js +18 -0
  503. package/dist/header/sonic-logo/sonic-logo.module.css.js +3 -0
  504. package/dist/icon/icon.d.ts +10 -0
  505. package/dist/icon/icon.js +11 -0
  506. package/dist/icon/icon.module.css.js +3 -0
  507. package/dist/icons/glyph/glyphs-arrow-boldcaps-left-icon.js +7 -0
  508. package/dist/icons/glyph/glyphs-arrow-boldcaps-right-icon.js +7 -0
  509. package/dist/icons/glyph/glyphs-chevrons-bold-down-icon.js +7 -0
  510. package/dist/icons/glyph/glyphs-chevrons-bold-left-icon.js +7 -0
  511. package/dist/icons/glyph/glyphs-chevrons-bold-right-icon.js +7 -0
  512. package/dist/icons/glyph/glyphs-chevrons-bold-up-icon.js +7 -0
  513. package/dist/icons/glyph/glyphs-chevrons-slim-down-icon.js +7 -0
  514. package/dist/icons/glyph/glyphs-chevrons-slim-left-icon.js +7 -0
  515. package/dist/icons/glyph/glyphs-chevrons-slim-right-icon.js +7 -0
  516. package/dist/icons/glyph/glyphs-chevrons-slim-up-icon.js +7 -0
  517. package/dist/icons/index.d.ts +87 -0
  518. package/dist/icons/index.js +90 -0
  519. package/dist/icons/solid/solid-add-icon.d.ts +1 -0
  520. package/dist/icons/solid/solid-attention-icon.js +7 -0
  521. package/dist/icons/solid/solid-cart-icon.js +7 -0
  522. package/dist/icons/solid/solid-close-icon.js +7 -0
  523. package/dist/icons/solid/solid-dashboard-icon.d.ts +1 -0
  524. package/dist/icons/solid/solid-edit-icon.d.ts +1 -0
  525. package/dist/icons/solid/solid-edit-icon.js +7 -0
  526. package/dist/icons/solid/solid-facebook-icon.d.ts +1 -0
  527. package/dist/icons/solid/solid-favorite-icon.js +7 -0
  528. package/dist/icons/solid/solid-folder-icon.d.ts +1 -0
  529. package/dist/icons/solid/solid-home-icon.js +7 -0
  530. package/dist/icons/solid/solid-information-icon.js +7 -0
  531. package/dist/icons/solid/solid-instagram-icon.d.ts +1 -0
  532. package/dist/icons/solid/solid-link-icon.d.ts +1 -0
  533. package/dist/icons/solid/solid-linkedin-icon.d.ts +1 -0
  534. package/dist/icons/solid/solid-login-icon.js +7 -0
  535. package/dist/icons/solid/solid-logout-icon.d.ts +1 -0
  536. package/dist/icons/solid/solid-logout-icon.js +7 -0
  537. package/dist/icons/solid/solid-mail-icon.d.ts +1 -0
  538. package/dist/icons/solid/solid-news-icon.js +7 -0
  539. package/dist/icons/solid/solid-notice-icon.js +7 -0
  540. package/dist/icons/solid/solid-okay-icon.js +7 -0
  541. package/dist/icons/solid/solid-package-icon.d.ts +1 -0
  542. package/dist/icons/solid/solid-payment-icon.d.ts +1 -0
  543. package/dist/icons/solid/solid-rating-icon.js +7 -0
  544. package/dist/icons/solid/solid-remove-icon.d.ts +1 -0
  545. package/dist/icons/solid/solid-salecategory-icon.d.ts +1 -0
  546. package/dist/icons/solid/solid-salecategory-icon.js +7 -0
  547. package/dist/icons/solid/solid-stories-icon.d.ts +1 -0
  548. package/dist/icons/solid/solid-tag-icon.js +7 -0
  549. package/dist/icons/solid/solid-thumbsdown-icon.d.ts +1 -0
  550. package/dist/icons/solid/solid-thumbsup-icon.d.ts +1 -0
  551. package/dist/icons/solid/solid-tiktok-icon.d.ts +1 -0
  552. package/dist/icons/solid/solid-youtube-icon.d.ts +1 -0
  553. package/dist/icons/stroke/stroke-3d-icon.d.ts +1 -0
  554. package/dist/icons/stroke/stroke-3dview-icon.d.ts +1 -0
  555. package/dist/icons/stroke/stroke-add-icon.d.ts +1 -0
  556. package/dist/icons/stroke/stroke-arkit-icon.d.ts +1 -0
  557. package/dist/icons/stroke/stroke-arrowdown-icon.d.ts +1 -0
  558. package/dist/icons/stroke/stroke-arrowleft-icon.d.ts +1 -0
  559. package/dist/icons/stroke/stroke-arrowleft-icon.js +7 -0
  560. package/dist/icons/stroke/stroke-arrowright-icon.d.ts +1 -0
  561. package/dist/icons/stroke/stroke-arrowright-icon.js +7 -0
  562. package/dist/icons/stroke/stroke-arrowup-icon.d.ts +1 -0
  563. package/dist/icons/stroke/stroke-categories-icon.js +7 -0
  564. package/dist/icons/stroke/stroke-checkmark-icon.js +7 -0
  565. package/dist/icons/stroke/stroke-closebox-icon.js +7 -0
  566. package/dist/icons/stroke/stroke-dashboard-icon.d.ts +1 -0
  567. package/dist/icons/stroke/stroke-dehashed-icon.js +7 -0
  568. package/dist/icons/stroke/stroke-download-icon.js +7 -0
  569. package/dist/icons/stroke/stroke-edit-icon.d.ts +1 -0
  570. package/dist/icons/stroke/stroke-efficiency-icon.d.ts +1 -0
  571. package/dist/icons/stroke/stroke-event-icon.d.ts +1 -0
  572. package/dist/icons/stroke/stroke-event-icon.js +7 -0
  573. package/dist/icons/stroke/stroke-facebook-icon.d.ts +1 -0
  574. package/dist/icons/stroke/stroke-fallback-icon.d.ts +1 -0
  575. package/dist/icons/stroke/stroke-favorite-icon.js +7 -0
  576. package/dist/icons/stroke/stroke-filter-icon.js +7 -0
  577. package/dist/icons/stroke/stroke-folder-icon.d.ts +1 -0
  578. package/dist/icons/stroke/stroke-happy-icon.d.ts +1 -0
  579. package/dist/icons/stroke/stroke-hashed-icon.js +7 -0
  580. package/dist/icons/stroke/stroke-information-icon.js +7 -0
  581. package/dist/icons/stroke/stroke-innovate-icon.d.ts +1 -0
  582. package/dist/icons/stroke/stroke-instagram-icon.d.ts +1 -0
  583. package/dist/icons/stroke/stroke-link-icon.d.ts +1 -0
  584. package/dist/icons/stroke/stroke-linkedin-icon.d.ts +1 -0
  585. package/dist/icons/stroke/stroke-logout-icon.d.ts +1 -0
  586. package/dist/icons/stroke/stroke-mail-icon.d.ts +1 -0
  587. package/dist/icons/stroke/stroke-minus-icon.d.ts +1 -0
  588. package/dist/icons/stroke/stroke-minus-icon.js +7 -0
  589. package/dist/icons/stroke/stroke-modular-icon.d.ts +1 -0
  590. package/dist/icons/stroke/stroke-neutral-icon.d.ts +1 -0
  591. package/dist/icons/stroke/stroke-news-icon.d.ts +1 -0
  592. package/dist/icons/stroke/stroke-notice-icon.js +7 -0
  593. package/dist/icons/stroke/stroke-package-icon.d.ts +1 -0
  594. package/dist/icons/stroke/stroke-payment-icon.d.ts +1 -0
  595. package/dist/icons/stroke/stroke-plus-icon.d.ts +1 -0
  596. package/dist/icons/stroke/stroke-plus-icon.js +7 -0
  597. package/dist/icons/stroke/stroke-proactive-icon.d.ts +1 -0
  598. package/dist/icons/stroke/stroke-productivity-icon.d.ts +1 -0
  599. package/dist/icons/stroke/stroke-recent-icon.js +7 -0
  600. package/dist/icons/stroke/stroke-remove-icon.d.ts +1 -0
  601. package/dist/icons/stroke/stroke-sad-icon.d.ts +1 -0
  602. package/dist/icons/stroke/stroke-sale-icon.d.ts +1 -0
  603. package/dist/icons/stroke/stroke-salecategory-icon.d.ts +1 -0
  604. package/dist/icons/stroke/stroke-search-icon.js +7 -0
  605. package/dist/icons/stroke/stroke-stories-icon.d.ts +1 -0
  606. package/dist/icons/stroke/stroke-style-icon.d.ts +1 -0
  607. package/dist/icons/stroke/stroke-support-icon.d.ts +1 -0
  608. package/dist/icons/stroke/stroke-teamplayer-icon.d.ts +1 -0
  609. package/dist/icons/stroke/stroke-thumbsdown-icon.d.ts +1 -0
  610. package/dist/icons/stroke/stroke-thumbsup-icon.d.ts +1 -0
  611. package/dist/icons/stroke/stroke-tiktok-icon.d.ts +1 -0
  612. package/dist/icons/stroke/stroke-trash-icon.js +7 -0
  613. package/dist/icons/stroke/stroke-warranty10y-icon.d.ts +1 -0
  614. package/dist/icons/stroke/stroke-warranty1y-icon.d.ts +1 -0
  615. package/dist/icons/stroke/stroke-warranty3y-icon.d.ts +1 -0
  616. package/dist/icons/stroke/stroke-warranty5y-icon.d.ts +1 -0
  617. package/dist/icons/stroke/stroke-warrantyconsumable-icon.d.ts +1 -0
  618. package/dist/icons/stroke/stroke-warrantylifetime-icon.d.ts +1 -0
  619. package/dist/icons/stroke/stroke-youtube-icon.d.ts +1 -0
  620. package/dist/index.d.ts +2 -1
  621. package/dist/index.js +584 -12972
  622. package/dist/info-icon-tooltip/info-icon-tooltip.d.ts +11 -0
  623. package/dist/info-icon-tooltip/info-icon-tooltip.js +18 -0
  624. package/dist/info-icon-tooltip/info-icon-tooltip.module.css.js +3 -0
  625. package/dist/intl/formatted-date.d.ts +4 -0
  626. package/dist/intl/formatted-date.js +8 -0
  627. package/dist/intl/formatted-message.d.ts +3 -3
  628. package/dist/intl/formatted-message.js +30 -0
  629. package/dist/intl/intl-context.d.ts +13 -5
  630. package/dist/intl/intl-context.js +6 -0
  631. package/dist/intl/intl-provider.d.ts +4 -2
  632. package/dist/intl/intl-provider.js +35 -0
  633. package/dist/intl/missing-translation-provider.d.ts +6 -0
  634. package/dist/intl/missing-translation-provider.js +45 -0
  635. package/dist/intl/translation-id.d.ts +1 -1
  636. package/dist/intl/types.d.ts +34 -12
  637. package/dist/intl/types.js +33 -0
  638. package/dist/intl/use-country-code.d.ts +3 -0
  639. package/dist/intl/use-country-code.js +15 -0
  640. package/dist/intl/use-culture-code.d.ts +2 -1
  641. package/dist/intl/use-culture-code.js +15 -0
  642. package/dist/intl/use-currency-code.d.ts +4 -0
  643. package/dist/intl/use-currency-code.js +15 -0
  644. package/dist/intl/use-formatted-date.d.ts +6 -0
  645. package/dist/intl/use-formatted-date.js +20 -0
  646. package/dist/intl/use-formatted-message.d.ts +2 -2
  647. package/dist/intl/use-formatted-message.js +17 -0
  648. package/dist/intl/use-intl.d.ts +1 -0
  649. package/dist/intl/use-intl.js +12 -0
  650. package/dist/intl/use-language-code.js +10 -0
  651. package/dist/intl/utils.js +30 -0
  652. package/dist/{pages/page-container/page-container.d.ts → layout/center.d.ts} +1 -1
  653. package/dist/layout/center.js +10 -0
  654. package/dist/layout/center.module.css.js +3 -0
  655. package/dist/lists/download-document-list/download-document-list.js +14 -0
  656. package/dist/lists/download-document-list/download-document-list.module.css.js +3 -0
  657. package/dist/lists/feature-list/feature-list.js +26 -0
  658. package/dist/lists/feature-list/feature-list.module.css.js +3 -0
  659. package/dist/lists/icon-list/icon-list.d.ts +11 -0
  660. package/dist/lists/icon-list/icon-list.js +13 -0
  661. package/dist/lists/icon-list/icon-list.module.css.js +3 -0
  662. package/dist/lists/menu-list/menu-list-back-button.d.ts +8 -0
  663. package/dist/lists/menu-list/menu-list-back-button.js +10 -0
  664. package/dist/lists/menu-list/menu-list-header.d.ts +8 -0
  665. package/dist/lists/menu-list/menu-list-header.js +11 -0
  666. package/dist/lists/menu-list/menu-list-item.d.ts +16 -0
  667. package/dist/lists/menu-list/menu-list-item.js +17 -0
  668. package/dist/lists/menu-list/menu-list-provider.d.ts +11 -0
  669. package/dist/lists/menu-list/menu-list-provider.js +30 -0
  670. package/dist/lists/menu-list/menu-list.d.ts +20 -0
  671. package/dist/lists/menu-list/menu-list.js +15 -0
  672. package/dist/lists/menu-list/menu-list.module.css.js +3 -0
  673. package/dist/lists/menu-list/use-menu-list-item.d.ts +5 -0
  674. package/dist/lists/menu-list/use-menu-list-item.js +13 -0
  675. package/dist/lists/menu-list/use-menu-list.d.ts +1 -0
  676. package/dist/lists/menu-list/use-menu-list.js +12 -0
  677. package/dist/lists/orderline-list/orderline-list.d.ts +1 -1
  678. package/dist/lists/orderline-list/orderline-list.js +32 -0
  679. package/dist/lists/orderline-list/orderline-list.module.css.js +3 -0
  680. package/dist/lists/product-overview-grid/product-overview-grid.js +15 -0
  681. package/dist/lists/product-overview-grid/product-overview-grid.module.css.js +3 -0
  682. package/dist/lists/widget-grid/widget-grid.d.ts +5 -0
  683. package/dist/lists/widget-grid/widget-grid.js +9 -0
  684. package/dist/lists/widget-grid/widget-grid.module.css.js +3 -0
  685. package/dist/lists/widget-grid/widget.d.ts +6 -0
  686. package/dist/lists/widget-grid/widget.js +10 -0
  687. package/dist/loading/blank-page-spacer.js +9 -0
  688. package/dist/loading/blank-page-spacer.module.css.js +3 -0
  689. package/dist/loading/dynamic-loading-overlay.d.ts +5 -0
  690. package/dist/loading/dynamic-loading-overlay.js +33 -0
  691. package/dist/loading/dynamic-loading-overlay.module.css.js +3 -0
  692. package/dist/loading/loading-overlay.js +10 -0
  693. package/dist/loading/loading-overlay.module.css.js +3 -0
  694. package/dist/loading/progress-circle.d.ts +3 -1
  695. package/dist/loading/progress-circle.js +10 -0
  696. package/dist/loading/progress-circle.module.css.js +3 -0
  697. package/dist/logging/logger.d.ts +11 -0
  698. package/dist/logging/logger.js +22 -0
  699. package/dist/logging/use-log-error.d.ts +1 -0
  700. package/dist/logging/use-log-error.js +13 -0
  701. package/dist/media/image/image.d.ts +3 -2
  702. package/dist/media/image/image.js +63 -0
  703. package/dist/media/image/image.module.css.js +3 -0
  704. package/dist/media/image-grid/images-grid.d.ts +2 -1
  705. package/dist/media/image-grid/images-grid.js +32 -0
  706. package/dist/media/image-grid/images-grid.module.css.js +3 -0
  707. package/dist/media/image-lightbox/image-lightbox.d.ts +2 -1
  708. package/dist/media/image-lightbox/image-lightbox.js +49 -0
  709. package/dist/media/image-lightbox/image-lightbox.module.css.js +3 -0
  710. package/dist/media/zoom-image/zoom-image.d.ts +1 -1
  711. package/dist/media/zoom-image/zoom-image.js +39 -0
  712. package/dist/media/zoom-image/zoom-image.module.css.js +3 -0
  713. package/dist/message/message.d.ts +7 -0
  714. package/dist/message/message.js +17 -0
  715. package/dist/message/message.module.css.js +3 -0
  716. package/dist/modals/confirmation/confirmation-dialog.d.ts +5 -3
  717. package/dist/modals/confirmation/confirmation-dialog.js +12 -0
  718. package/dist/modals/confirmation/confirmation-dialog.module.css.js +3 -0
  719. package/dist/modals/dialog/dialog.d.ts +12 -6
  720. package/dist/modals/dialog/dialog.js +36 -0
  721. package/dist/modals/dialog/dialog.module.css.js +3 -0
  722. package/dist/modals/favorite/add-to-favorite-dialog.d.ts +1 -1
  723. package/dist/modals/favorite/add-to-favorite-dialog.js +60 -0
  724. package/dist/modals/favorite/add-to-favorite-dialog.module.css.js +3 -0
  725. package/dist/modals/modal/modal.d.ts +1 -1
  726. package/dist/modals/modal/modal.js +17 -0
  727. package/dist/modals/modal/modal.module.css.js +3 -0
  728. package/dist/modals/recover-password/recover-password-dialog.d.ts +6 -0
  729. package/dist/modals/recover-password/recover-password-dialog.js +35 -0
  730. package/dist/modals/signin/sign-in-dialog.js +21 -0
  731. package/dist/navigation/mobile-navigation/mobile-navigation.d.ts +8 -0
  732. package/dist/navigation/mobile-navigation/mobile-navigation.js +24 -0
  733. package/dist/navigation/mobile-navigation/mobile-navigation.module.css.js +3 -0
  734. package/dist/navigation/panel-navigation/panel-navigation.d.ts +15 -0
  735. package/dist/navigation/panel-navigation/panel-navigation.js +64 -0
  736. package/dist/navigation/panel-navigation/panel-navigation.module.css.js +3 -0
  737. package/dist/navigation/quick-access-menu/quick-access-menu.d.ts +9 -0
  738. package/dist/navigation/quick-access-menu/quick-access-menu.js +24 -0
  739. package/dist/navigation/quick-access-menu/quick-access-menu.module.css.js +3 -0
  740. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/checkOptions.js +7 -0
  741. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js +109 -0
  742. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/createStore.js +31 -0
  743. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js +51 -0
  744. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js +12 -0
  745. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js +135 -0
  746. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js +355 -0
  747. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/metadata.js +44 -0
  748. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/onInput.js +148 -0
  749. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js +202 -0
  750. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/reshape.js +48 -0
  751. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/resolve.js +119 -0
  752. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js +149 -0
  753. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js +50 -0
  754. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js +42 -0
  755. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js +38 -0
  756. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js +79 -0
  757. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getAutocompleteElementId.js +12 -0
  758. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getNativeEvent.js +5 -0
  759. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js +31 -0
  760. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js +53 -0
  761. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/getPluginSubmitPromise.js +39 -0
  762. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js +5 -0
  763. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js +6 -0
  764. package/dist/node_modules/.pnpm/@algolia_autocomplete-core@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js +25 -0
  765. package/dist/node_modules/.pnpm/@algolia_autocomplete-js@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-js/dist/esm/requesters/createAlgoliaRequester.js +16 -0
  766. package/dist/node_modules/.pnpm/@algolia_autocomplete-js@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-js/dist/esm/requesters/getAlgoliaResults.js +12 -0
  767. package/dist/node_modules/.pnpm/@algolia_autocomplete-js@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0_search-insights@2.17.3/node_modules/@algolia/autocomplete-js/dist/esm/userAgents.js +8 -0
  768. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createAlgoliaInsightsPlugin.js +252 -0
  769. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createClickedEvent.js +16 -0
  770. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createSearchInsightsApi.js +209 -0
  771. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createViewedEvents.js +18 -0
  772. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isAlgoliaInsightsHit.js +5 -0
  773. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-algolia-insights@1.19.2_@algolia_client-search@4.24.0_algo_a07b7691870c05b2461c74a9a00d6a70/node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isModernInsightsClient.js +25 -0
  774. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-query-suggestions@1.19.2_@algolia_client-search@4.24.0_alg_bf126b808dc57984d528cd690af7915e/node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/constants.js +7 -0
  775. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-query-suggestions@1.19.2_@algolia_client-search@4.24.0_alg_bf126b808dc57984d528cd690af7915e/node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/createQuerySuggestionsPlugin.js +118 -0
  776. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-query-suggestions@1.19.2_@algolia_client-search@4.24.0_alg_bf126b808dc57984d528cd690af7915e/node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/getTemplates.js +64 -0
  777. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/addHighlightedAttribute.js +21 -0
  778. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/constants.js +10 -0
  779. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorage.js +36 -0
  780. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorageRecentSearchesPlugin.js +49 -0
  781. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createRecentSearchesPlugin.js +137 -0
  782. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createStorageApi.js +16 -0
  783. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getLocalStorage.js +33 -0
  784. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getTemplates.js +72 -0
  785. package/dist/node_modules/.pnpm/@algolia_autocomplete-plugin-recent-searches@1.19.2_@algolia_client-search@4.24.0_algol_ca60faa7de036e25f1f4aff1b32494ae/node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/search.js +25 -0
  786. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js +4 -0
  787. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js +25 -0
  788. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js +51 -0
  789. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/createAlgoliaRequester.js +6 -0
  790. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/createRequester.js +37 -0
  791. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/getAlgoliaResults.js +19 -0
  792. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js +69 -0
  793. package/dist/node_modules/.pnpm/@algolia_autocomplete-preset-algolia@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-preset-algolia/dist/esm/utils/getAppIdAndApiKey.js +16 -0
  794. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/createRef.js +7 -0
  795. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/debounce.js +16 -0
  796. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/decycle.js +34 -0
  797. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js +7 -0
  798. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js +6 -0
  799. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/getAttributeValueByPath.js +7 -0
  800. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js +10 -0
  801. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/invariant.js +15 -0
  802. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/isEqual.js +26 -0
  803. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/noop.js +3 -0
  804. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/safelyRunOnBrowser.js +13 -0
  805. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js +8 -0
  806. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/version.js +3 -0
  807. package/dist/node_modules/.pnpm/@algolia_autocomplete-shared@1.19.2_@algolia_client-search@4.24.0_algoliasearch@4.24.0/node_modules/@algolia/autocomplete-shared/dist/esm/warn.js +26 -0
  808. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/routers/history.js +341 -0
  809. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/stateMappings/simple.js +36 -0
  810. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/utils/documentation.js +8 -0
  811. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/utils/logger.js +32 -0
  812. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/utils/noop.js +3 -0
  813. package/dist/node_modules/.pnpm/instantsearch.js@4.79.2_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/utils/safelyRunOnBrowser.js +24 -0
  814. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/formats.js +33 -0
  815. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/index.js +25 -0
  816. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/parse.js +269 -0
  817. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/stringify.js +300 -0
  818. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/utils.js +264 -0
  819. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/modules/free-mode.js +237 -0
  820. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/modules/navigation.js +200 -0
  821. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/modules/thumbs.js +197 -0
  822. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/create-element-if-not-defined.js +21 -0
  823. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/ssr-window.esm.js +146 -0
  824. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/swiper-core.js +3951 -0
  825. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/update-on-virtual-data.js +131 -0
  826. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/update-swiper.js +232 -0
  827. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/shared/utils.js +315 -0
  828. package/dist/node_modules/.pnpm/swiper@11.2.10/node_modules/swiper/swiper-react.js +389 -0
  829. package/dist/notifications/announcements/announcement-list.d.ts +7 -0
  830. package/dist/notifications/announcements/announcement-list.js +30 -0
  831. package/dist/notifications/announcements/announcement-list.module.css.js +3 -0
  832. package/dist/notifications/announcements/announcement.d.ts +2 -1
  833. package/dist/notifications/announcements/announcement.js +28 -0
  834. package/dist/notifications/announcements/announcement.module.css.js +3 -0
  835. package/dist/notifications/announcements/connected-announcement-list.d.ts +3 -0
  836. package/dist/notifications/announcements/connected-announcement-list.js +22 -0
  837. package/dist/notifications/announcements/use-filter-announcements.d.ts +2 -0
  838. package/dist/notifications/announcements/use-filter-announcements.js +35 -0
  839. package/dist/observers/intersection-observer.d.ts +9 -1
  840. package/dist/observers/intersection-observer.js +22 -0
  841. package/dist/pages/account/change-password-page/change-password-page.d.ts +6 -0
  842. package/dist/pages/account/change-password-page/change-password-page.js +57 -0
  843. package/dist/pages/account/components/change-password-form/change-password-form.d.ts +16 -0
  844. package/dist/pages/account/components/change-password-form/change-password-form.js +49 -0
  845. package/dist/pages/account/components/create-account-form/create-account-form.d.ts +11 -0
  846. package/dist/pages/account/components/create-account-form/create-account-form.js +75 -0
  847. package/dist/pages/account/components/create-account-form/create-account-form.module.css.js +3 -0
  848. package/dist/pages/account/components/sign-in-form/sign-in-form.d.ts +28 -0
  849. package/dist/pages/account/components/sign-in-form/sign-in-form.js +77 -0
  850. package/dist/pages/account/components/sign-in-form/sign-in-form.module.css.js +3 -0
  851. package/dist/pages/account/create-account-page/create-account-page.d.ts +3 -0
  852. package/dist/pages/account/create-account-page/create-account-page.js +51 -0
  853. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-background-image.d.ts +6 -0
  854. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-background-image.js +9 -0
  855. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-layout.d.ts +9 -0
  856. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-layout.js +12 -0
  857. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-layout.module.css.js +3 -0
  858. package/dist/pages/account/sign-in-page/sign-in-page.d.ts +4 -0
  859. package/dist/pages/account/sign-in-page/sign-in-page.js +106 -0
  860. package/dist/pages/checkout/cart-page/cart-page.js +133 -0
  861. package/dist/pages/checkout/cart-page/components/empty-cart-page.d.ts +1 -0
  862. package/dist/pages/checkout/cart-page/components/empty-cart-page.js +12 -0
  863. package/dist/pages/checkout/components/billing-and-invoice-information.d.ts +7 -0
  864. package/dist/pages/checkout/components/billing-and-invoice-information.js +13 -0
  865. package/dist/pages/checkout/components/billing-and-invoice-information.module.css.js +3 -0
  866. package/dist/pages/{layouts → checkout/layouts}/checkout-page-layout/checkout-page-layout.d.ts +1 -1
  867. package/dist/pages/checkout/layouts/checkout-page-layout/checkout-page-layout.js +34 -0
  868. package/dist/pages/checkout/layouts/checkout-page-layout/checkout-page-layout.module.css.js +3 -0
  869. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-content.d.ts +7 -0
  870. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-content.js +10 -0
  871. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-header.d.ts +8 -0
  872. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-header.js +10 -0
  873. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-link.d.ts +4 -0
  874. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section-link.js +9 -0
  875. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section.d.ts +7 -0
  876. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section.js +11 -0
  877. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section.module.css.js +3 -0
  878. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.d.ts +5 -0
  879. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.js +110 -0
  880. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.d.ts +4 -0
  881. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.js +30 -0
  882. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.module.css.js +3 -0
  883. package/dist/pages/checkout/payment-page/components/adyen-payment.d.ts +31 -0
  884. package/dist/pages/checkout/payment-page/components/adyen-payment.js +217 -0
  885. package/dist/pages/checkout/payment-page/components/adyen-payment.module.css.js +3 -0
  886. package/dist/pages/checkout/payment-page/components/payment.d.ts +14 -0
  887. package/dist/pages/checkout/payment-page/components/payment.js +280 -0
  888. package/dist/pages/checkout/payment-page/components/payment.module.css.js +3 -0
  889. package/dist/pages/checkout/payment-page/hooks/use-get-adyen-redirect-result.d.ts +1 -0
  890. package/dist/pages/checkout/payment-page/hooks/use-get-adyen-redirect-result.js +14 -0
  891. package/dist/pages/checkout/payment-page/hooks/use-has-returned-from-adyen.d.ts +1 -0
  892. package/dist/pages/checkout/payment-page/hooks/use-has-returned-from-adyen.js +9 -0
  893. package/dist/pages/checkout/payment-page/payment-page-content.d.ts +13 -0
  894. package/dist/pages/checkout/payment-page/payment-page-content.js +51 -0
  895. package/dist/pages/checkout/payment-page/payment-page.d.ts +3 -0
  896. package/dist/pages/checkout/payment-page/payment-page.js +64 -0
  897. package/dist/pages/checkout/payment-page/utils/parse-amount.d.ts +3 -0
  898. package/dist/pages/checkout/payment-page/utils/parse-amount.js +10 -0
  899. package/dist/pages/checkout/shipping-page/components/address-book-selector.d.ts +6 -0
  900. package/dist/pages/checkout/shipping-page/components/address-book-selector.js +81 -0
  901. package/dist/pages/checkout/shipping-page/components/address-book-selector.module.css.js +3 -0
  902. package/dist/pages/checkout/shipping-page/components/currency-change-dialog.d.ts +6 -0
  903. package/dist/pages/checkout/shipping-page/components/currency-change-dialog.js +15 -0
  904. package/dist/pages/checkout/shipping-page/components/edit-checkout-bill-to-address-form.d.ts +16 -0
  905. package/dist/pages/checkout/shipping-page/components/edit-checkout-bill-to-address-form.js +49 -0
  906. package/dist/pages/checkout/shipping-page/components/edit-checkout-bill-to-address-form.module.css.js +3 -0
  907. package/dist/pages/checkout/shipping-page/components/readonly-address.d.ts +17 -0
  908. package/dist/pages/checkout/shipping-page/components/readonly-address.js +130 -0
  909. package/dist/pages/checkout/shipping-page/components/readonly-address.module.css.js +3 -0
  910. package/dist/pages/checkout/shipping-page/components/ship-to-mode-selector.d.ts +8 -0
  911. package/dist/pages/checkout/shipping-page/components/ship-to-mode-selector.js +25 -0
  912. package/dist/pages/checkout/shipping-page/components/sonic-address.d.ts +1 -0
  913. package/dist/pages/checkout/shipping-page/components/sonic-address.js +15 -0
  914. package/dist/pages/checkout/shipping-page/components/sonic-address.module.css.js +3 -0
  915. package/dist/pages/checkout/shipping-page/hooks/use-patch-shipping-details.d.ts +22 -0
  916. package/dist/pages/checkout/shipping-page/hooks/use-patch-shipping-details.js +60 -0
  917. package/dist/pages/checkout/shipping-page/shipping-page-content.d.ts +15 -0
  918. package/dist/pages/checkout/shipping-page/shipping-page-content.js +43 -0
  919. package/dist/pages/checkout/shipping-page/shipping-page.d.ts +1 -0
  920. package/dist/pages/checkout/shipping-page/shipping-page.js +190 -0
  921. package/dist/pages/checkout/shipping-page/shipping-page.module.css.js +3 -0
  922. package/dist/pages/components/page/page.d.ts +13 -0
  923. package/dist/pages/components/page/page.js +15 -0
  924. package/dist/pages/components/page-container/page-container.d.ts +10 -0
  925. package/dist/pages/components/page-container/page-container.js +11 -0
  926. package/dist/pages/components/page-container/page-container.module.css.js +3 -0
  927. package/dist/pages/components/page-meta-data/page-meta-data.d.ts +15 -0
  928. package/dist/pages/components/page-meta-data/page-meta-data.js +100 -0
  929. package/dist/pages/countries-page/countries-page.d.ts +1 -0
  930. package/dist/pages/countries-page/countries-page.js +18 -0
  931. package/dist/pages/error-page/error-page.d.ts +2 -1
  932. package/dist/pages/error-page/error-page.js +20 -0
  933. package/dist/pages/loading-page/loading-page.js +10 -0
  934. package/dist/pages/my-sonic/actions/change-customer/change-customer-dialog.d.ts +16 -0
  935. package/dist/pages/my-sonic/actions/change-customer/change-customer-dialog.js +30 -0
  936. package/dist/pages/my-sonic/actions/change-customer/change-customer-dialog.module.css.js +3 -0
  937. package/dist/pages/my-sonic/actions/change-customer/change-customer.d.ts +16 -0
  938. package/dist/pages/my-sonic/actions/change-customer/change-customer.js +76 -0
  939. package/dist/pages/my-sonic/actions/change-customer/change-customer.module.css.js +3 -0
  940. package/dist/pages/my-sonic/actions/change-customer/connected-change-customer-dialog.d.ts +7 -0
  941. package/dist/pages/my-sonic/actions/change-customer/connected-change-customer-dialog.js +50 -0
  942. package/dist/pages/my-sonic/actions/change-password/change-password-dialog.d.ts +12 -0
  943. package/dist/pages/my-sonic/actions/change-password/change-password-dialog.js +25 -0
  944. package/dist/pages/my-sonic/actions/change-password/change-password-dialog.module.css.js +3 -0
  945. package/dist/pages/my-sonic/actions/change-password/change-password.d.ts +8 -0
  946. package/dist/pages/my-sonic/actions/change-password/change-password.js +28 -0
  947. package/dist/pages/my-sonic/actions/change-password/change-password.module.css.js +3 -0
  948. package/dist/pages/my-sonic/actions/change-password/connected-change-password-dialog.d.ts +5 -0
  949. package/dist/pages/my-sonic/actions/change-password/connected-change-password-dialog.js +39 -0
  950. package/dist/pages/my-sonic/actions/create-ship-to-address/connected-create-ship-to-address-form.d.ts +5 -0
  951. package/dist/pages/my-sonic/actions/create-ship-to-address/connected-create-ship-to-address-form.js +89 -0
  952. package/dist/pages/my-sonic/actions/create-ship-to-address/create-ship-to-address.module.css.js +3 -0
  953. package/dist/pages/my-sonic/actions/edit-bill-to-address/connected-edit-bill-to-address-form.d.ts +4 -0
  954. package/dist/pages/my-sonic/actions/edit-bill-to-address/connected-edit-bill-to-address-form.js +94 -0
  955. package/dist/pages/my-sonic/actions/edit-bill-to-address/edit-bill-to-address.module.css.js +3 -0
  956. package/dist/pages/my-sonic/actions/edit-ship-to-address/connected-edit-ship-to-address-form.d.ts +5 -0
  957. package/dist/pages/my-sonic/actions/edit-ship-to-address/connected-edit-ship-to-address-form.js +126 -0
  958. package/dist/pages/my-sonic/actions/edit-ship-to-address/edit-ship-to-address.module.css.js +3 -0
  959. package/dist/pages/my-sonic/actions/edit-user-info/connected-edit-user-info-dialog.d.ts +5 -0
  960. package/dist/pages/my-sonic/actions/edit-user-info/connected-edit-user-info-dialog.js +56 -0
  961. package/dist/pages/my-sonic/actions/edit-user-info/edit-user-info-dialog.d.ts +10 -0
  962. package/dist/pages/my-sonic/actions/edit-user-info/edit-user-info-dialog.js +15 -0
  963. package/dist/pages/my-sonic/actions/edit-user-info/edit-user-info.d.ts +11 -0
  964. package/dist/pages/my-sonic/actions/edit-user-info/edit-user-info.js +29 -0
  965. package/dist/pages/my-sonic/actions/edit-user-info/edit-user-info.module.css.js +3 -0
  966. package/dist/pages/my-sonic/actions/upload-order/upload-order-form.d.ts +1 -0
  967. package/dist/pages/my-sonic/actions/upload-order/upload-order-form.js +19 -0
  968. package/dist/pages/my-sonic/actions/upload-order/upload-order-instructions.d.ts +3 -0
  969. package/dist/pages/my-sonic/actions/upload-order/upload-order-instructions.js +13 -0
  970. package/dist/pages/my-sonic/actions/upload-order/upload-order.d.ts +3 -0
  971. package/dist/pages/my-sonic/actions/upload-order/upload-order.js +12 -0
  972. package/dist/pages/my-sonic/actions/upload-order/upload-order.module.css.js +3 -0
  973. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-aside.d.ts +4 -0
  974. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-aside.js +9 -0
  975. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-breadcrumb.d.ts +4 -0
  976. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js +9 -0
  977. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-main.d.ts +4 -0
  978. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-main.js +9 -0
  979. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-page.d.ts +5 -0
  980. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-page.js +10 -0
  981. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-pre-aside.d.ts +4 -0
  982. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-pre-aside.js +9 -0
  983. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-title.d.ts +4 -0
  984. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-title.js +10 -0
  985. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout.d.ts +5 -0
  986. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout.js +10 -0
  987. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout.module.css.js +3 -0
  988. package/dist/pages/my-sonic/navigation/connected-my-sonic-navigation.d.ts +1 -0
  989. package/dist/pages/my-sonic/navigation/connected-my-sonic-navigation.js +15 -0
  990. package/dist/pages/my-sonic/navigation/connected-my-sonic-navigation.module.css.js +3 -0
  991. package/dist/pages/my-sonic/navigation/my-sonic-desktop-navigation.d.ts +7 -0
  992. package/dist/pages/my-sonic/navigation/my-sonic-desktop-navigation.js +24 -0
  993. package/dist/pages/my-sonic/navigation/my-sonic-desktop-navigation.module.css.js +3 -0
  994. package/dist/pages/my-sonic/navigation/my-sonic-mobile-navigation.d.ts +5 -0
  995. package/dist/pages/my-sonic/navigation/my-sonic-mobile-navigation.js +26 -0
  996. package/dist/pages/my-sonic/navigation/my-sonic-navigation-items.d.ts +21 -0
  997. package/dist/pages/my-sonic/navigation/my-sonic-navigation-items.js +45 -0
  998. package/dist/pages/my-sonic/pages/create-ship-to-address-details-page/create-ship-to-address-details-page.d.ts +8 -0
  999. package/dist/pages/my-sonic/pages/create-ship-to-address-details-page/create-ship-to-address-details-page.js +29 -0
  1000. package/dist/pages/my-sonic/pages/edit-bill-to-address-details-page/edit-bill-to-address-details-page.d.ts +7 -0
  1001. package/dist/pages/my-sonic/pages/edit-bill-to-address-details-page/edit-bill-to-address-details-page.js +29 -0
  1002. package/dist/pages/my-sonic/pages/edit-ship-to-address-details-page/edit-ship-to-address-details-page.d.ts +9 -0
  1003. package/dist/pages/my-sonic/pages/edit-ship-to-address-details-page/edit-ship-to-address-details-page.js +29 -0
  1004. package/dist/pages/my-sonic/pages/favorites/favorites-page.d.ts +2 -0
  1005. package/dist/pages/my-sonic/pages/favorites/favorites-page.js +48 -0
  1006. package/dist/pages/my-sonic/pages/my-account/my-account-page.d.ts +2 -0
  1007. package/dist/pages/my-sonic/pages/my-account/my-account-page.js +30 -0
  1008. package/dist/pages/my-sonic/pages/order-details/order-details-content.d.ts +10 -0
  1009. package/dist/pages/my-sonic/pages/order-details/order-details-content.js +70 -0
  1010. package/dist/pages/my-sonic/pages/order-details/order-details-content.module.css.js +3 -0
  1011. package/dist/pages/my-sonic/pages/order-details/order-details-page.d.ts +8 -0
  1012. package/dist/pages/my-sonic/pages/order-details/order-details-page.js +42 -0
  1013. package/dist/pages/my-sonic/pages/order-history/order-history-page.d.ts +2 -0
  1014. package/dist/pages/my-sonic/pages/order-history/order-history-page.js +193 -0
  1015. package/dist/pages/my-sonic/pages/order-history/order-history-page.module.css.js +3 -0
  1016. package/dist/pages/my-sonic/pages/upload-order-page/upload-order-page.d.ts +4 -0
  1017. package/dist/pages/my-sonic/pages/upload-order-page/upload-order-page.js +24 -0
  1018. package/dist/pages/my-sonic/widgets/components/address-data-card.d.ts +23 -0
  1019. package/dist/pages/my-sonic/widgets/components/address-data-card.js +43 -0
  1020. package/dist/pages/my-sonic/widgets/connected-address-book-widget.d.ts +1 -0
  1021. package/dist/pages/my-sonic/widgets/connected-address-book-widget.js +174 -0
  1022. package/dist/pages/my-sonic/widgets/connected-address-book-widget.module.css.js +3 -0
  1023. package/dist/pages/my-sonic/widgets/connected-bill-to-address-widget.d.ts +3 -0
  1024. package/dist/pages/my-sonic/widgets/connected-bill-to-address-widget.js +34 -0
  1025. package/dist/pages/my-sonic/widgets/connected-customer-information-widget.d.ts +1 -0
  1026. package/dist/pages/my-sonic/widgets/connected-customer-information-widget.js +57 -0
  1027. package/dist/pages/my-sonic/widgets/connected-ship-to-address-widget.d.ts +4 -0
  1028. package/dist/pages/my-sonic/widgets/connected-ship-to-address-widget.js +39 -0
  1029. package/dist/pages/my-sonic/widgets/connected-user-account-widget.d.ts +1 -0
  1030. package/dist/pages/my-sonic/widgets/connected-user-account-widget.js +44 -0
  1031. package/dist/pages/product/components/product-overview.d.ts +10 -0
  1032. package/dist/pages/product/components/product-overview.js +20 -0
  1033. package/dist/pages/{layouts → product/layouts}/product-details-page-layout/product-details-page-layout.d.ts +2 -2
  1034. package/dist/pages/product/layouts/product-details-page-layout/product-details-page-layout.js +10 -0
  1035. package/dist/pages/product/layouts/product-details-page-layout/product-details-page-layout.module.css.js +3 -0
  1036. package/dist/pages/{product-details-page → product/product-details-page}/components/product-details-images/product-detail-images.d.ts +1 -1
  1037. package/dist/pages/product/product-details-page/components/product-details-images/product-detail-images.js +33 -0
  1038. package/dist/pages/product/product-details-page/components/product-details-images/product-detail-images.module.css.js +3 -0
  1039. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.d.ts +5 -0
  1040. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.js +48 -0
  1041. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.module.css.js +3 -0
  1042. package/dist/pages/product/product-details-page/components/product-details-recently-viewed-section/product-details-recently-viewed-section.d.ts +1 -0
  1043. package/dist/pages/product/product-details-page/components/product-details-recently-viewed-section/product-details-recently-viewed-section.js +25 -0
  1044. package/dist/pages/product/product-details-page/components/product-details-recently-viewed-section/product-details-recently-viewed-section.module.css.js +3 -0
  1045. package/dist/pages/product/product-details-page/product-details-page.js +22 -0
  1046. package/dist/pages/product/product-details-page/product-details.d.ts +5 -0
  1047. package/dist/pages/product/product-details-page/product-details.js +47 -0
  1048. package/dist/pages/product/product-listing-page/no-results/no-results.js +16 -0
  1049. package/dist/pages/product/product-listing-page/no-results/no-results.module.css.js +3 -0
  1050. package/dist/pages/product/product-listing-page/product-listing-page-category-carousel/product-listing-page-category-carousel.js +22 -0
  1051. package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-page-data-types.d.ts +3 -1
  1052. package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-page-provider/product-listing-page-context.d.ts +1 -1
  1053. package/dist/pages/product/product-listing-page/product-listing-page-provider/product-listing-page-context.js +8 -0
  1054. package/dist/pages/product/product-listing-page/product-listing-page-provider/product-listing-page-provider.js +14 -0
  1055. package/dist/pages/product/product-listing-page/product-listing-page.js +29 -0
  1056. package/dist/pages/product/product-listing-page/product-listing-page.module.css.js +3 -0
  1057. package/dist/pages/product/product-listing-page/product-listing-product-overview/product-listing-product-overview.js +32 -0
  1058. package/dist/pages/product/product-listing-page/product-listing.d.ts +6 -0
  1059. package/dist/pages/product/product-listing-page/product-listing.js +49 -0
  1060. package/dist/pages/product/search-result-page/search-result-product-overview/search-result-product-overview.js +34 -0
  1061. package/dist/pages/product/search-result-page/search-results-page-category-carousel/search-results-page-category-carousel.js +22 -0
  1062. package/dist/pages/product/search-result-page/search-results-page.js +53 -0
  1063. package/dist/pages/product/search-result-page/search-results-page.module.css.js +3 -0
  1064. package/dist/promos/promo-banner/promo-banner.js +12 -0
  1065. package/dist/promos/promo-banner/promo-banner.module.css.js +3 -0
  1066. package/dist/promos/promo-banners/promo-banners.d.ts +6 -5
  1067. package/dist/promos/promo-banners/promo-banners.js +17 -0
  1068. package/dist/promos/promo-banners/promo-banners.module.css.js +3 -0
  1069. package/dist/promos/promo-card/promo-card.d.ts +1 -1
  1070. package/dist/promos/promo-card/promo-card.js +11 -0
  1071. package/dist/promos/promo-card/promo-card.module.css.js +3 -0
  1072. package/dist/shared/api/bff/hooks/cart/use-patch-cart.d.ts +11 -0
  1073. package/dist/shared/api/bff/hooks/cart/use-patch-cart.js +20 -0
  1074. package/dist/shared/api/bff/hooks/cart/use-place-order.d.ts +11 -0
  1075. package/dist/shared/api/bff/hooks/cart/use-place-order.js +21 -0
  1076. package/dist/shared/api/{storefront → bff}/hooks/cart/use-save-cart-for-later.d.ts +3 -3
  1077. package/dist/shared/api/bff/hooks/cart/use-save-cart-for-later.js +18 -0
  1078. package/dist/shared/api/bff/hooks/use-fetch-announcements.js +16 -0
  1079. package/dist/shared/api/bff/hooks/use-fetch-favorites.d.ts +2 -0
  1080. package/dist/shared/api/bff/hooks/use-fetch-favorites.js +30 -0
  1081. package/dist/shared/api/bff/hooks/use-fetch-navigation-links.d.ts +2 -0
  1082. package/dist/shared/api/bff/hooks/use-fetch-navigation-links.js +16 -0
  1083. package/dist/shared/api/bff/hooks/use-fetch-product-details-page-data.js +15 -0
  1084. package/dist/shared/api/bff/hooks/use-fetch-product-listing-page-data.js +15 -0
  1085. package/dist/shared/api/bff/hooks/use-fetch-products-prices.d.ts +2 -0
  1086. package/dist/shared/api/bff/hooks/use-fetch-products-prices.js +14 -0
  1087. package/dist/shared/api/bff/hooks/use-fetch-recently-viewed-products.d.ts +4 -0
  1088. package/dist/shared/api/bff/hooks/use-fetch-recently-viewed-products.js +16 -0
  1089. package/dist/shared/api/bff/model/bff.model.d.ts +88 -3
  1090. package/dist/shared/api/bff/model/bff.model.js +12 -0
  1091. package/dist/shared/api/bff/services/bff-service.d.ts +30 -5
  1092. package/dist/shared/api/bff/services/bff-service.js +179 -0
  1093. package/dist/shared/api/shared/hooks/use-awaitable-mutation.d.ts +31 -0
  1094. package/dist/shared/api/shared/hooks/use-awaitable-mutation.js +47 -0
  1095. package/dist/shared/api/shared/types.d.ts +6 -0
  1096. package/dist/shared/api/storefront/hooks/account/use-create-account.d.ts +3 -0
  1097. package/dist/shared/api/storefront/hooks/account/use-create-account.js +30 -0
  1098. package/dist/shared/api/storefront/hooks/account/use-create-guest-account.d.ts +2 -0
  1099. package/dist/shared/api/storefront/hooks/account/use-create-guest-account.js +38 -0
  1100. package/dist/shared/api/storefront/hooks/account/use-fetch-current-account.d.ts +3 -0
  1101. package/dist/shared/api/storefront/hooks/account/use-fetch-current-account.js +13 -0
  1102. package/dist/shared/api/storefront/hooks/account/use-patch-current-account.d.ts +11 -0
  1103. package/dist/shared/api/storefront/hooks/account/use-patch-current-account.js +20 -0
  1104. package/dist/shared/api/storefront/hooks/authentication/use-fetch-session.d.ts +1 -1
  1105. package/dist/shared/api/storefront/hooks/authentication/use-fetch-session.js +20 -0
  1106. package/dist/shared/api/storefront/hooks/authentication/use-invalidate-session.js +10 -0
  1107. package/dist/shared/api/storefront/hooks/authentication/use-is-authenticated.js +9 -0
  1108. package/dist/shared/api/storefront/hooks/authentication/use-patch-session.d.ts +22 -0
  1109. package/dist/shared/api/storefront/hooks/authentication/use-patch-session.js +17 -0
  1110. package/dist/shared/api/storefront/hooks/authentication/use-recover-password.d.ts +4 -0
  1111. package/dist/shared/api/storefront/hooks/authentication/use-recover-password.js +16 -0
  1112. package/dist/shared/api/storefront/hooks/authentication/use-sign-in.d.ts +1 -0
  1113. package/dist/shared/api/storefront/hooks/authentication/use-sign-in.js +33 -0
  1114. package/dist/shared/api/storefront/hooks/authentication/use-sign-out-mutation.d.ts +9 -0
  1115. package/dist/shared/api/storefront/hooks/authentication/use-sign-out-mutation.js +26 -0
  1116. package/dist/shared/api/storefront/hooks/authentication/use-sign-out.d.ts +5 -1
  1117. package/dist/shared/api/storefront/hooks/authentication/use-sign-out.js +30 -0
  1118. package/dist/shared/api/storefront/hooks/cart/use-add-bulk-products-to-current-cart.d.ts +4 -0
  1119. package/dist/shared/api/storefront/hooks/cart/use-add-bulk-products-to-current-cart.js +21 -0
  1120. package/dist/shared/api/storefront/hooks/cart/use-add-product-to-current-cart.d.ts +1 -1
  1121. package/dist/shared/api/storefront/hooks/cart/use-add-product-to-current-cart.js +26 -0
  1122. package/dist/shared/api/storefront/hooks/cart/use-delete-cart-line-by-id.d.ts +2 -2
  1123. package/dist/shared/api/storefront/hooks/cart/use-delete-cart-line-by-id.js +21 -0
  1124. package/dist/shared/api/storefront/hooks/cart/use-delete-current-cart.d.ts +3 -3
  1125. package/dist/shared/api/storefront/hooks/cart/use-delete-current-cart.js +19 -0
  1126. package/dist/shared/api/storefront/hooks/cart/use-fetch-cart-by-id.d.ts +8 -0
  1127. package/dist/shared/api/storefront/hooks/cart/use-fetch-cart-by-id.js +21 -0
  1128. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-checkout-atp.d.ts +1 -1
  1129. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-checkout-atp.js +16 -0
  1130. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-count.d.ts +1 -1
  1131. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-count.js +9 -0
  1132. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-lines-with-atp.d.ts +52 -20
  1133. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-lines-with-atp.js +12 -0
  1134. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-lines.d.ts +1 -1
  1135. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-lines.js +12 -0
  1136. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-product-atp.d.ts +1 -1
  1137. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-product-atp.js +16 -0
  1138. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-promotions.d.ts +1 -1
  1139. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-promotions.js +16 -0
  1140. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-with-atp.d.ts +40 -7
  1141. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-with-atp.js +31 -0
  1142. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart.d.ts +3 -4
  1143. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart.js +8 -0
  1144. package/dist/shared/api/storefront/hooks/cart/use-invalidate-current-cart.js +10 -0
  1145. package/dist/shared/api/storefront/hooks/cart/use-patch-cart-line-by-id.d.ts +6 -0
  1146. package/dist/shared/api/storefront/hooks/cart/use-patch-cart-line-by-id.js +23 -0
  1147. package/dist/shared/api/storefront/hooks/customer/use-fetch-bill-to-address.d.ts +4 -0
  1148. package/dist/shared/api/storefront/hooks/customer/use-fetch-bill-to-address.js +12 -0
  1149. package/dist/shared/api/storefront/hooks/customer/use-fetch-bill-to-addresses.d.ts +4 -0
  1150. package/dist/shared/api/storefront/hooks/customer/use-fetch-bill-to-addresses.js +14 -0
  1151. package/dist/shared/api/storefront/hooks/customer/use-fetch-current-bill-to-address.d.ts +3 -0
  1152. package/dist/shared/api/storefront/hooks/customer/use-fetch-current-bill-to-address.js +8 -0
  1153. package/dist/shared/api/storefront/hooks/customer/use-fetch-current-ship-to-address.d.ts +3 -0
  1154. package/dist/shared/api/storefront/hooks/customer/use-fetch-current-ship-to-address.js +12 -0
  1155. package/dist/shared/api/storefront/hooks/customer/use-fetch-fulfillment-methods-by-customer-id.d.ts +4 -0
  1156. package/dist/shared/api/storefront/hooks/customer/use-fetch-fulfillment-methods-by-customer-id.js +13 -0
  1157. package/dist/shared/api/storefront/hooks/customer/use-fetch-fulfillment-methods-for-current-cart.d.ts +3 -0
  1158. package/dist/shared/api/storefront/hooks/customer/use-fetch-fulfillment-methods-for-current-cart.js +13 -0
  1159. package/dist/shared/api/storefront/hooks/customer/use-fetch-paged-ship-to-addresses.d.ts +8 -0
  1160. package/dist/shared/api/storefront/hooks/customer/use-fetch-paged-ship-to-addresses.js +14 -0
  1161. package/dist/shared/api/storefront/hooks/customer/use-fetch-ship-to-address.d.ts +5 -0
  1162. package/dist/shared/api/storefront/hooks/customer/use-fetch-ship-to-address.js +19 -0
  1163. package/dist/shared/api/storefront/hooks/customer/use-fetch-ship-to-addresses.d.ts +3 -0
  1164. package/dist/shared/api/storefront/hooks/customer/use-fetch-ship-to-addresses.js +16 -0
  1165. package/dist/shared/api/storefront/hooks/customer/use-patch-bill-to-address.d.ts +12 -0
  1166. package/dist/shared/api/storefront/hooks/customer/use-patch-bill-to-address.js +18 -0
  1167. package/dist/shared/api/storefront/hooks/customer/use-patch-ship-to-address.d.ts +13 -0
  1168. package/dist/shared/api/storefront/hooks/customer/use-patch-ship-to-address.js +18 -0
  1169. package/dist/shared/api/storefront/hooks/customer/use-post-ship-to-address.d.ts +17 -0
  1170. package/dist/shared/api/storefront/hooks/customer/use-post-ship-to-address.js +18 -0
  1171. package/dist/shared/api/storefront/hooks/orders/use-fetch-order-by-id.d.ts +1 -0
  1172. package/dist/shared/api/storefront/hooks/orders/use-fetch-order-by-id.js +14 -0
  1173. package/dist/shared/api/storefront/hooks/orders/use-fetch-orders.d.ts +9 -0
  1174. package/dist/shared/api/storefront/hooks/orders/use-fetch-orders.js +14 -0
  1175. package/dist/shared/api/storefront/hooks/payment/use-create-adyen-session.d.ts +3 -0
  1176. package/dist/shared/api/storefront/hooks/payment/use-create-adyen-session.js +11 -0
  1177. package/dist/shared/api/storefront/hooks/payment/use-fetch-adyen-config.d.ts +1 -0
  1178. package/dist/shared/api/storefront/hooks/payment/use-fetch-adyen-config.js +15 -0
  1179. package/dist/shared/api/storefront/hooks/payment/use-invalidate-adyen.d.ts +1 -0
  1180. package/dist/shared/api/storefront/hooks/payment/use-invalidate-adyen.js +10 -0
  1181. package/dist/shared/api/storefront/hooks/product/use-mark-product-as-viewed.d.ts +5 -0
  1182. package/dist/shared/api/storefront/hooks/product/use-mark-product-as-viewed.js +17 -0
  1183. package/dist/shared/api/storefront/hooks/translation/use-fetch-translations.js +16 -0
  1184. package/dist/shared/api/storefront/hooks/website/use-fetch-countries-languages.d.ts +2 -2
  1185. package/dist/shared/api/storefront/hooks/website/use-fetch-countries-languages.js +16 -0
  1186. package/dist/shared/api/storefront/hooks/website/use-fetch-countries-with-languages.d.ts +4 -2
  1187. package/dist/shared/api/storefront/hooks/website/use-fetch-countries-with-languages.js +17 -0
  1188. package/dist/shared/api/storefront/hooks/website/use-fetch-country-models.d.ts +3 -0
  1189. package/dist/shared/api/storefront/hooks/website/use-fetch-country-models.js +17 -0
  1190. package/dist/shared/api/storefront/hooks/website/use-fetch-settings.d.ts +1 -1
  1191. package/dist/shared/api/storefront/hooks/website/use-fetch-settings.js +19 -0
  1192. package/dist/shared/api/storefront/hooks/website/use-update-locale.d.ts +1 -1
  1193. package/dist/shared/api/storefront/hooks/website/use-update-locale.js +12 -0
  1194. package/dist/shared/api/storefront/hooks/wishlist/use-add-wishlist-item-to-current-wishlist.js +28 -0
  1195. package/dist/shared/api/storefront/hooks/wishlist/use-add-wishlist-item-to-wishlist.js +30 -0
  1196. package/dist/shared/api/storefront/hooks/wishlist/use-create-wishlist.js +18 -0
  1197. package/dist/shared/api/storefront/hooks/wishlist/use-delete-wishlist-item-from-wishlist.js +19 -0
  1198. package/dist/shared/api/storefront/hooks/wishlist/use-fetch-all-wishlists-items.d.ts +1 -1
  1199. package/dist/shared/api/storefront/hooks/wishlist/use-fetch-all-wishlists-items.js +26 -0
  1200. package/dist/shared/api/storefront/hooks/wishlist/use-fetch-wishlists.d.ts +1 -1
  1201. package/dist/shared/api/storefront/hooks/wishlist/use-fetch-wishlists.js +15 -0
  1202. package/dist/shared/api/storefront/model/{shop.model.d.ts → storefront.model.d.ts} +100 -6
  1203. package/dist/shared/api/storefront/model/storefront.model.js +74 -0
  1204. package/dist/shared/api/storefront/services/account-service.d.ts +31 -0
  1205. package/dist/shared/api/storefront/services/account-service.js +87 -0
  1206. package/dist/shared/api/storefront/services/authentication-service.d.ts +37 -13
  1207. package/dist/shared/api/storefront/services/authentication-service.js +176 -0
  1208. package/dist/shared/api/storefront/services/cart-service.d.ts +26 -14
  1209. package/dist/shared/api/storefront/services/cart-service.js +168 -0
  1210. package/dist/shared/api/storefront/services/category-service.d.ts +6 -0
  1211. package/dist/shared/api/storefront/services/category-service.js +19 -0
  1212. package/dist/shared/api/storefront/services/customer-service.d.ts +49 -0
  1213. package/dist/shared/api/storefront/services/customer-service.js +112 -0
  1214. package/dist/shared/api/storefront/services/finance-service.d.ts +13 -0
  1215. package/dist/shared/api/storefront/services/finance-service.js +17 -0
  1216. package/dist/shared/api/storefront/services/order-service.d.ts +10 -0
  1217. package/dist/shared/api/storefront/services/order-service.js +40 -0
  1218. package/dist/shared/api/storefront/services/payment-service.d.ts +8 -0
  1219. package/dist/shared/api/storefront/services/payment-service.js +29 -0
  1220. package/dist/shared/api/storefront/services/product-service.d.ts +4 -0
  1221. package/dist/shared/api/storefront/services/product-service.js +10 -0
  1222. package/dist/shared/api/storefront/services/translation-service.js +21 -0
  1223. package/dist/shared/api/storefront/services/website-service.d.ts +1 -3
  1224. package/dist/shared/api/storefront/services/website-service.js +51 -0
  1225. package/dist/shared/api/storefront/services/wishlist-service.d.ts +4 -1
  1226. package/dist/shared/api/storefront/services/wishlist-service.js +87 -0
  1227. package/dist/shared/data/cart.data.d.ts +2 -0
  1228. package/dist/shared/data/cart.data.js +650 -0
  1229. package/dist/shared/data/countries-languages.data.d.ts +12 -0
  1230. package/dist/shared/data/countries-languages.data.js +74 -0
  1231. package/dist/shared/data/navigation.d.ts +2 -0
  1232. package/dist/shared/data/navigation.js +2605 -0
  1233. package/dist/shared/data/order.d.ts +2 -0
  1234. package/dist/shared/data/order.js +41 -0
  1235. package/dist/shared/error/basic-error-view.d.ts +1 -0
  1236. package/dist/shared/error/basic-error-view.js +10 -0
  1237. package/dist/shared/error/basic-error-view.module.css.js +3 -0
  1238. package/dist/shared/error/default-error-view.d.ts +2 -0
  1239. package/dist/shared/error/default-error-view.js +17 -0
  1240. package/dist/shared/error/default-error-view.module.css.js +3 -0
  1241. package/dist/shared/error/error-boundary.d.ts +16 -0
  1242. package/dist/shared/error/error-boundary.js +94 -0
  1243. package/dist/shared/error/errors.d.ts +17 -0
  1244. package/dist/shared/error/errors.js +62 -0
  1245. package/dist/shared/error/global-unhandled-error-handler.d.ts +13 -0
  1246. package/dist/shared/error/global-unhandled-error-handler.js +71 -0
  1247. package/dist/shared/error/types.d.ts +16 -0
  1248. package/dist/shared/feature-flags/use-feature-flags.d.ts +5 -4
  1249. package/dist/shared/feature-flags/use-feature-flags.js +49 -0
  1250. package/dist/shared/fetch/request.d.ts +41 -28
  1251. package/dist/shared/fetch/request.js +290 -0
  1252. package/dist/shared/ga/data-layer.d.ts +2 -0
  1253. package/dist/shared/ga/data-layer.js +12 -0
  1254. package/dist/shared/ga/google-analytics-provider.d.ts +9 -0
  1255. package/dist/shared/ga/google-analytics-provider.js +17 -0
  1256. package/dist/shared/ga/types.d.ts +38 -0
  1257. package/dist/shared/ga/types.js +8 -0
  1258. package/dist/shared/ga/use-data-layer.d.ts +54 -0
  1259. package/dist/shared/ga/use-data-layer.js +95 -0
  1260. package/dist/shared/hooks/use-breakpoint.js +25 -0
  1261. package/dist/shared/hooks/use-cookiebot.d.ts +16 -0
  1262. package/dist/shared/hooks/use-cookiebot.js +35 -0
  1263. package/dist/shared/hooks/use-css-link.d.ts +3 -0
  1264. package/dist/shared/hooks/use-css-link.js +21 -0
  1265. package/dist/shared/hooks/use-debounced-callback.d.ts +5 -1
  1266. package/dist/shared/hooks/use-debounced-callback.js +19 -0
  1267. package/dist/shared/hooks/use-disclosure.d.ts +3 -3
  1268. package/dist/shared/hooks/use-disclosure.js +25 -0
  1269. package/dist/shared/hooks/use-enable-mobile-zoom.js +37 -0
  1270. package/dist/shared/hooks/use-global-disclosure.d.ts +10 -0
  1271. package/dist/shared/hooks/use-global-disclosure.js +26 -0
  1272. package/dist/shared/hooks/use-inert.d.ts +3 -0
  1273. package/dist/shared/hooks/use-inert.js +16 -0
  1274. package/dist/shared/hooks/use-intersection-observer.d.ts +5 -2
  1275. package/dist/shared/hooks/use-intersection-observer.js +69 -0
  1276. package/dist/shared/hooks/use-is-breakpoint.js +20 -0
  1277. package/dist/shared/hooks/use-is-scrolled-beyond-element.d.ts +1 -0
  1278. package/dist/shared/hooks/use-is-scrolled-beyond-element.js +27 -0
  1279. package/dist/shared/hooks/use-mutation-observer.d.ts +3 -0
  1280. package/dist/shared/hooks/use-mutation-observer.js +28 -0
  1281. package/dist/shared/hooks/use-resize-observer.d.ts +2 -2
  1282. package/dist/shared/hooks/use-resize-observer.js +38 -0
  1283. package/dist/shared/hooks/use-script.d.ts +15 -0
  1284. package/dist/shared/hooks/use-script.js +34 -0
  1285. package/dist/shared/hooks/use-scroll-lock.js +12 -0
  1286. package/dist/shared/hooks/use-watch-css-property.d.ts +1 -0
  1287. package/dist/shared/hooks/use-watch-css-property.js +37 -0
  1288. package/dist/shared/local-storage/local-storage-context.d.ts +2 -0
  1289. package/dist/shared/local-storage/local-storage-context.js +6 -0
  1290. package/dist/shared/local-storage/local-storage-provider.d.ts +5 -0
  1291. package/dist/shared/local-storage/local-storage-provider.js +14 -0
  1292. package/dist/shared/local-storage/storage-mock.d.ts +10 -0
  1293. package/dist/shared/local-storage/storage-mock.js +34 -0
  1294. package/dist/shared/local-storage/types.d.ts +4 -0
  1295. package/dist/shared/local-storage/use-local-storage.js +24 -0
  1296. package/dist/shared/local-storage/use-session-storage.js +24 -0
  1297. package/dist/shared/model/account.d.ts +19 -0
  1298. package/dist/shared/model/account.js +4 -0
  1299. package/dist/shared/model/address.d.ts +30 -0
  1300. package/dist/shared/model/address.js +7 -0
  1301. package/dist/shared/model/announcement.js +18 -0
  1302. package/dist/shared/model/category.d.ts +5 -0
  1303. package/dist/shared/model/category.js +31 -0
  1304. package/dist/shared/model/countries-languages.d.ts +4 -1
  1305. package/dist/shared/model/countries-languages.js +32 -0
  1306. package/dist/shared/model/currency.d.ts +7 -26
  1307. package/dist/shared/model/currency.js +29 -0
  1308. package/dist/shared/model/defaults.d.ts +1 -0
  1309. package/dist/shared/model/defaults.js +3 -0
  1310. package/dist/shared/model/hit.d.ts +2 -0
  1311. package/dist/shared/model/hit.js +46 -0
  1312. package/dist/shared/model/image.d.ts +6 -7
  1313. package/dist/shared/model/image.js +7 -0
  1314. package/dist/shared/model/price.d.ts +5 -2
  1315. package/dist/shared/providers/cart-provider.d.ts +1 -1
  1316. package/dist/shared/providers/cart-provider.js +13 -0
  1317. package/dist/shared/providers/favorite-provider.d.ts +4 -4
  1318. package/dist/shared/providers/favorite-provider.js +33 -0
  1319. package/dist/shared/providers/global-state-provider.d.ts +3 -3
  1320. package/dist/shared/providers/global-state-provider.js +82 -0
  1321. package/dist/shared/providers/react-query-container.d.ts +9 -3
  1322. package/dist/shared/providers/react-query-container.js +15 -0
  1323. package/dist/shared/reset.module.css.js +3 -0
  1324. package/dist/shared/routing/route-context.d.ts +2 -0
  1325. package/dist/shared/routing/route-context.js +6 -0
  1326. package/dist/shared/routing/route-provider.d.ts +13 -10
  1327. package/dist/shared/routing/route-provider.js +16 -0
  1328. package/dist/shared/routing/route-utils.d.ts +5 -0
  1329. package/dist/shared/routing/route-utils.js +17 -0
  1330. package/dist/shared/routing/types.d.ts +46 -0
  1331. package/dist/shared/routing/use-location.d.ts +9 -0
  1332. package/dist/shared/routing/use-location.js +18 -0
  1333. package/dist/shared/routing/use-navigate.d.ts +6 -0
  1334. package/dist/shared/routing/use-navigate.js +20 -0
  1335. package/dist/shared/routing/use-on-navigate.d.ts +2 -0
  1336. package/dist/shared/routing/use-on-navigate.js +19 -0
  1337. package/dist/shared/routing/use-paths.d.ts +2 -0
  1338. package/dist/shared/routing/use-paths.js +9 -0
  1339. package/dist/shared/routing/use-route-link-element.d.ts +1 -0
  1340. package/dist/shared/routing/use-route-link-element.js +10 -0
  1341. package/dist/shared/routing/use-route-link.d.ts +9 -0
  1342. package/dist/shared/routing/use-route-link.js +26 -0
  1343. package/dist/shared/routing/use-router.d.ts +1 -0
  1344. package/dist/shared/routing/use-router.js +13 -0
  1345. package/dist/shared/routing/with-routing.d.ts +4 -6
  1346. package/dist/shared/routing/with-routing.js +34 -0
  1347. package/dist/shared/utils/array.js +5 -0
  1348. package/dist/shared/utils/breakpoints.js +33 -0
  1349. package/dist/shared/utils/children-to-text.d.ts +2 -0
  1350. package/dist/shared/utils/children-to-text.js +18 -0
  1351. package/dist/shared/utils/css.d.ts +1 -0
  1352. package/dist/shared/utils/css.js +24 -0
  1353. package/dist/shared/utils/date.d.ts +5 -11
  1354. package/dist/shared/utils/date.js +13 -0
  1355. package/dist/shared/utils/debug.d.ts +2 -0
  1356. package/dist/shared/utils/debug.js +21 -0
  1357. package/dist/shared/utils/environment.d.ts +3 -2
  1358. package/dist/shared/utils/environment.js +69 -0
  1359. package/dist/shared/utils/event-emitter.js +34 -0
  1360. package/dist/shared/utils/greeting.d.ts +1 -0
  1361. package/dist/shared/utils/greeting.js +15 -0
  1362. package/dist/shared/utils/merge.js +70 -0
  1363. package/dist/shared/utils/number.d.ts +2 -0
  1364. package/dist/shared/utils/number.js +10 -0
  1365. package/dist/shared/utils/price.d.ts +22 -1
  1366. package/dist/shared/utils/price.js +79 -0
  1367. package/dist/shared/utils/promise.d.ts +2 -0
  1368. package/dist/shared/utils/promise.js +9 -0
  1369. package/dist/shared/utils/query-client.d.ts +4 -0
  1370. package/dist/shared/utils/query-client.js +33 -0
  1371. package/dist/shared/utils/random.d.ts +10 -0
  1372. package/dist/shared/utils/random.js +16 -0
  1373. package/dist/shared/utils/refs.d.ts +2 -0
  1374. package/dist/shared/utils/refs.js +16 -0
  1375. package/dist/shared/{hooks/use-scroll-to.d.ts → utils/scrolling.d.ts} +1 -1
  1376. package/dist/shared/utils/scrolling.js +16 -0
  1377. package/dist/shared/utils/string.d.ts +1 -0
  1378. package/dist/shared/utils/string.js +7 -0
  1379. package/dist/shared/utils/time.js +9 -0
  1380. package/dist/shared/utils/types.d.ts +4 -0
  1381. package/dist/shared/utils/types.js +11 -0
  1382. package/dist/shared/utils/url.d.ts +5 -0
  1383. package/dist/shared/utils/url.js +20 -0
  1384. package/dist/shared/utils/url.test.d.ts +1 -0
  1385. package/dist/shared/utils/uuid.d.ts +3 -1
  1386. package/dist/shared/utils/uuid.js +18 -0
  1387. package/dist/sidebar/sidebar-provider.js +47 -0
  1388. package/dist/sidebar/sidebar-provider.module.css.js +3 -0
  1389. package/dist/sidebar/sidebar.d.ts +2 -1
  1390. package/dist/sidebar/sidebar.js +23 -0
  1391. package/dist/sidebar/sidebar.module.css.js +3 -0
  1392. package/dist/sidebar/toggle-sidebar-button.js +13 -0
  1393. package/dist/sidebar/use-sidebar.js +39 -0
  1394. package/dist/styles.css +8497 -3468
  1395. package/dist/table/data-table.d.ts +55 -0
  1396. package/dist/table/data-table.js +103 -0
  1397. package/dist/table/data-table.module.css.js +3 -0
  1398. package/dist/table/elements/col.d.ts +7 -0
  1399. package/dist/table/elements/col.js +10 -0
  1400. package/dist/table/elements/switch-sort-direction.d.ts +2 -0
  1401. package/dist/table/elements/switch-sort-direction.js +11 -0
  1402. package/dist/table/elements/table-context.d.ts +19 -0
  1403. package/dist/table/elements/table-context.js +6 -0
  1404. package/dist/table/elements/table-provider.d.ts +26 -0
  1405. package/dist/table/elements/table-provider.js +75 -0
  1406. package/dist/table/elements/table-row-context.d.ts +14 -0
  1407. package/dist/table/elements/table-row-context.js +17 -0
  1408. package/dist/table/elements/table-row-provider.d.ts +4 -0
  1409. package/dist/table/elements/table-row-provider.js +26 -0
  1410. package/dist/table/elements/table-sort-button.d.ts +12 -0
  1411. package/dist/table/elements/table-sort-button.js +19 -0
  1412. package/dist/table/elements/table.d.ts +14 -0
  1413. package/dist/table/elements/table.js +24 -0
  1414. package/dist/table/elements/table.module.css.js +3 -0
  1415. package/dist/table/elements/td.d.ts +7 -0
  1416. package/dist/table/elements/td.js +13 -0
  1417. package/dist/table/elements/th.d.ts +2 -0
  1418. package/dist/table/elements/th.js +12 -0
  1419. package/dist/table/elements/tr.d.ts +2 -0
  1420. package/dist/table/elements/tr.js +11 -0
  1421. package/dist/table/elements/types.d.ts +39 -0
  1422. package/dist/table/elements/use-table-row.d.ts +1 -0
  1423. package/dist/table/elements/use-table-row.js +9 -0
  1424. package/dist/table/elements/use-table.d.ts +2 -0
  1425. package/dist/table/elements/use-table.js +12 -0
  1426. package/dist/table/elements/use-td.d.ts +2 -0
  1427. package/dist/table/elements/use-td.js +28 -0
  1428. package/dist/table/elements/use-th.d.ts +2 -0
  1429. package/dist/table/elements/use-th.js +21 -0
  1430. package/dist/text/highlight-text/highlight-text.d.ts +10 -0
  1431. package/dist/text/highlight-text/highlight-text.js +20 -0
  1432. package/dist/text/highlight-text/highlight-text.module.css.js +3 -0
  1433. package/dist/text/status-text/status-text.d.ts +6 -0
  1434. package/dist/text/status-text/status-text.js +9 -0
  1435. package/dist/text/status-text/status-text.module.css.js +3 -0
  1436. package/dist/text/truncated/truncated.d.ts +7 -0
  1437. package/dist/text/truncated/truncated.js +12 -0
  1438. package/dist/text/truncated/truncated.module.css.js +3 -0
  1439. package/dist/toast/toast-provider.js +10 -0
  1440. package/dist/toast/toast-provider.module.css.js +3 -0
  1441. package/dist/toast/toast.d.ts +1 -1
  1442. package/dist/toast/toast.js +22 -0
  1443. package/dist/toast/toast.module.css.js +3 -0
  1444. package/dist/toast/use-toast.js +24 -0
  1445. package/dist/tokens/tokens.js +8 -0
  1446. package/dist/tooltip/tooltip.d.ts +10 -0
  1447. package/dist/tooltip/tooltip.js +32 -0
  1448. package/dist/tooltip/tooltip.module.css.js +3 -0
  1449. package/dist/typography/heading/heading.d.ts +9 -3
  1450. package/dist/typography/heading/heading.js +31 -0
  1451. package/dist/typography/heading/heading.module.css.js +3 -0
  1452. package/package.json +77 -73
  1453. package/dist/display/product-price/product-price.d.ts +0 -8
  1454. package/dist/display/product-price/product-total-price.d.ts +0 -7
  1455. package/dist/forms/checkbox/checkbox.d.ts +0 -11
  1456. package/dist/forms/color-checkbox/color-checkbox.d.ts +0 -5
  1457. package/dist/forms/field-error/field-error.d.ts +0 -5
  1458. package/dist/forms/label/label.d.ts +0 -6
  1459. package/dist/forms/number-field/number-field.d.ts +0 -31
  1460. package/dist/forms/select/select.d.ts +0 -13
  1461. package/dist/forms/text-field/text-field.d.ts +0 -29
  1462. package/dist/header/cart-icon/connected-cart-icon.d.ts +0 -3
  1463. package/dist/icons/other/career-innovate-icon.d.ts +0 -1
  1464. package/dist/icons/other/career-proactive-icon.d.ts +0 -1
  1465. package/dist/icons/other/career-teamplayer-icon.d.ts +0 -1
  1466. package/dist/icons/other/fallback-icon.d.ts +0 -1
  1467. package/dist/icons/other/some-facebook-icon.d.ts +0 -1
  1468. package/dist/icons/other/some-instagram-icon.d.ts +0 -1
  1469. package/dist/icons/other/some-linkedin-icon.d.ts +0 -1
  1470. package/dist/icons/other/some-mail-icon.d.ts +0 -1
  1471. package/dist/icons/other/some-youtube-icon.d.ts +0 -1
  1472. package/dist/icons/other/usp-efficiency-icon.d.ts +0 -1
  1473. package/dist/icons/other/usp-style-icon.d.ts +0 -1
  1474. package/dist/icons/other/usp-support-icon.d.ts +0 -1
  1475. package/dist/icons/other/warranty-10y-icon.d.ts +0 -1
  1476. package/dist/icons/other/warranty-1y-icon.d.ts +0 -1
  1477. package/dist/icons/other/warranty-3y-icon.d.ts +0 -1
  1478. package/dist/icons/other/warranty-5y-icon.d.ts +0 -1
  1479. package/dist/icons/other/warranty-consumable-icon.d.ts +0 -1
  1480. package/dist/icons/other/warranty-lifetime-icon.d.ts +0 -1
  1481. package/dist/icons/solid/solid-event-icon.d.ts +0 -1
  1482. package/dist/icons/solid/solid-sale-icon.d.ts +0 -1
  1483. package/dist/icons/solid/solid-vote-thumbsdown-icon.d.ts +0 -1
  1484. package/dist/icons/solid/solid-vote-thumbsup-icon.d.ts +0 -1
  1485. package/dist/icons/stroke/stroke-collapse-icon.d.ts +0 -1
  1486. package/dist/icons/stroke/stroke-expand-icon.d.ts +0 -1
  1487. package/dist/icons/stroke/stroke-vote-thumbsdown-icon.d.ts +0 -1
  1488. package/dist/icons/stroke/stroke-vote-thumbsup-icon.d.ts +0 -1
  1489. package/dist/lists/ul/list.d.ts +0 -10
  1490. package/dist/notifications/announcements/announcement-provider.d.ts +0 -1
  1491. package/dist/notifications/announcements/connected-announcement.d.ts +0 -5
  1492. package/dist/pages/page/page.d.ts +0 -9
  1493. package/dist/pages/product-details-page/components/product-details-panel/product-details-panel.d.ts +0 -4
  1494. package/dist/pages/product-listing-page/product-listing-page-provider/use-subcategories.d.ts +0 -4
  1495. package/dist/shared/api/bff/model/announcement.model.d.ts +0 -12
  1496. package/dist/shared/api/storefront/hooks/cart/use-patch-cart.d.ts +0 -4
  1497. package/dist/shared/api/storefront/hooks/cart/use-place-order.d.ts +0 -4
  1498. package/dist/shared/api/storefront/hooks/cart/use-update-cart-line-by-id.d.ts +0 -6
  1499. package/dist/shared/api/storefront/hooks/website/use-fetch-countries.d.ts +0 -1
  1500. package/dist/shared/routing/route-button.d.ts +0 -1
  1501. package/dist/shared/routing/route-icon-button.d.ts +0 -1
  1502. package/dist/shared/routing/route-link.d.ts +0 -1
  1503. package/dist/shared/utils/local-storage.d.ts +0 -7
  1504. package/dist/shared/utils/wait.d.ts +0 -1
  1505. /package/dist/algolia/{algolia-intialization.d.ts → algolia-initialization.d.ts} +0 -0
  1506. /package/dist/pages/{cart-page → checkout/cart-page}/cart-page.d.ts +0 -0
  1507. /package/dist/pages/{product-details-page → product/product-details-page}/product-details-page.d.ts +0 -0
  1508. /package/dist/pages/{product-listing-page → product/product-listing-page}/no-results/no-results.d.ts +0 -0
  1509. /package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-page-category-carousel/product-listing-page-category-carousel.d.ts +0 -0
  1510. /package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-page-provider/product-listing-page-provider.d.ts +0 -0
  1511. /package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-page.d.ts +0 -0
  1512. /package/dist/pages/{product-listing-page → product/product-listing-page}/product-listing-product-overview/product-listing-product-overview.d.ts +0 -0
  1513. /package/dist/pages/{search-result-page → product/search-result-page}/search-result-product-overview/search-result-product-overview.d.ts +0 -0
  1514. /package/dist/pages/{search-result-page → product/search-result-page}/search-results-page-category-carousel/search-results-page-category-carousel.d.ts +0 -0
  1515. /package/dist/pages/{search-result-page → product/search-result-page}/search-results-page.d.ts +0 -0
  1516. /package/dist/shared/{hooks → local-storage}/use-local-storage.d.ts +0 -0
  1517. /package/dist/shared/{hooks → local-storage}/use-session-storage.d.ts +0 -0
  1518. /package/dist/shared/utils/{date.test.d.ts → string.test.d.ts} +0 -0
@@ -0,0 +1,3951 @@
1
+ import { a as getWindow, g as getDocument } from './ssr-window.esm.js';
2
+ import { x as extend, v as showWarning, e as elementChildren, n as nextTick, u as animateCSSModeScroll, k as getTranslate, r as elementNextAll, t as elementPrevAll, a as setCSSProperty, q as elementStyle, h as elementOuterSize, i as elementIndex, c as createElement, y as deleteProps, w as elementIsChildOf, f as now, b as elementParents } from './utils.js';
3
+
4
+ let support;
5
+ function calcSupport() {
6
+ const window = getWindow();
7
+ const document = getDocument();
8
+ return {
9
+ smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,
10
+ touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)
11
+ };
12
+ }
13
+ function getSupport() {
14
+ if (!support) {
15
+ support = calcSupport();
16
+ }
17
+ return support;
18
+ }
19
+
20
+ let deviceCached;
21
+ function calcDevice(_temp) {
22
+ let {
23
+ userAgent
24
+ } = _temp === void 0 ? {} : _temp;
25
+ const support = getSupport();
26
+ const window = getWindow();
27
+ const platform = window.navigator.platform;
28
+ const ua = userAgent || window.navigator.userAgent;
29
+ const device = {
30
+ ios: false,
31
+ android: false
32
+ };
33
+ const screenWidth = window.screen.width;
34
+ const screenHeight = window.screen.height;
35
+ const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
36
+ let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
37
+ const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
38
+ const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
39
+ const windows = platform === 'Win32';
40
+ let macos = platform === 'MacIntel';
41
+
42
+ // iPadOs 13 fix
43
+ const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
44
+ if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {
45
+ ipad = ua.match(/(Version)\/([\d.]+)/);
46
+ if (!ipad) ipad = [0, 1, '13_0_0'];
47
+ macos = false;
48
+ }
49
+
50
+ // Android
51
+ if (android && !windows) {
52
+ device.os = 'android';
53
+ device.android = true;
54
+ }
55
+ if (ipad || iphone || ipod) {
56
+ device.os = 'ios';
57
+ device.ios = true;
58
+ }
59
+
60
+ // Export object
61
+ return device;
62
+ }
63
+ function getDevice(overrides) {
64
+ if (overrides === void 0) {
65
+ overrides = {};
66
+ }
67
+ if (!deviceCached) {
68
+ deviceCached = calcDevice(overrides);
69
+ }
70
+ return deviceCached;
71
+ }
72
+
73
+ let browser;
74
+ function calcBrowser() {
75
+ const window = getWindow();
76
+ const device = getDevice();
77
+ let needPerspectiveFix = false;
78
+ function isSafari() {
79
+ const ua = window.navigator.userAgent.toLowerCase();
80
+ return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
81
+ }
82
+ if (isSafari()) {
83
+ const ua = String(window.navigator.userAgent);
84
+ if (ua.includes('Version/')) {
85
+ const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));
86
+ needPerspectiveFix = major < 16 || major === 16 && minor < 2;
87
+ }
88
+ }
89
+ const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);
90
+ const isSafariBrowser = isSafari();
91
+ const need3dFix = isSafariBrowser || isWebView && device.ios;
92
+ return {
93
+ isSafari: needPerspectiveFix || isSafariBrowser,
94
+ needPerspectiveFix,
95
+ need3dFix,
96
+ isWebView
97
+ };
98
+ }
99
+ function getBrowser() {
100
+ if (!browser) {
101
+ browser = calcBrowser();
102
+ }
103
+ return browser;
104
+ }
105
+
106
+ function Resize(_ref) {
107
+ let {
108
+ swiper,
109
+ on,
110
+ emit
111
+ } = _ref;
112
+ const window = getWindow();
113
+ let observer = null;
114
+ let animationFrame = null;
115
+ const resizeHandler = () => {
116
+ if (!swiper || swiper.destroyed || !swiper.initialized) return;
117
+ emit('beforeResize');
118
+ emit('resize');
119
+ };
120
+ const createObserver = () => {
121
+ if (!swiper || swiper.destroyed || !swiper.initialized) return;
122
+ observer = new ResizeObserver(entries => {
123
+ animationFrame = window.requestAnimationFrame(() => {
124
+ const {
125
+ width,
126
+ height
127
+ } = swiper;
128
+ let newWidth = width;
129
+ let newHeight = height;
130
+ entries.forEach(_ref2 => {
131
+ let {
132
+ contentBoxSize,
133
+ contentRect,
134
+ target
135
+ } = _ref2;
136
+ if (target && target !== swiper.el) return;
137
+ newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
138
+ newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
139
+ });
140
+ if (newWidth !== width || newHeight !== height) {
141
+ resizeHandler();
142
+ }
143
+ });
144
+ });
145
+ observer.observe(swiper.el);
146
+ };
147
+ const removeObserver = () => {
148
+ if (animationFrame) {
149
+ window.cancelAnimationFrame(animationFrame);
150
+ }
151
+ if (observer && observer.unobserve && swiper.el) {
152
+ observer.unobserve(swiper.el);
153
+ observer = null;
154
+ }
155
+ };
156
+ const orientationChangeHandler = () => {
157
+ if (!swiper || swiper.destroyed || !swiper.initialized) return;
158
+ emit('orientationchange');
159
+ };
160
+ on('init', () => {
161
+ if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {
162
+ createObserver();
163
+ return;
164
+ }
165
+ window.addEventListener('resize', resizeHandler);
166
+ window.addEventListener('orientationchange', orientationChangeHandler);
167
+ });
168
+ on('destroy', () => {
169
+ removeObserver();
170
+ window.removeEventListener('resize', resizeHandler);
171
+ window.removeEventListener('orientationchange', orientationChangeHandler);
172
+ });
173
+ }
174
+
175
+ function Observer(_ref) {
176
+ let {
177
+ swiper,
178
+ extendParams,
179
+ on,
180
+ emit
181
+ } = _ref;
182
+ const observers = [];
183
+ const window = getWindow();
184
+ const attach = function (target, options) {
185
+ if (options === void 0) {
186
+ options = {};
187
+ }
188
+ const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
189
+ const observer = new ObserverFunc(mutations => {
190
+ // The observerUpdate event should only be triggered
191
+ // once despite the number of mutations. Additional
192
+ // triggers are redundant and are very costly
193
+ if (swiper.__preventObserver__) return;
194
+ if (mutations.length === 1) {
195
+ emit('observerUpdate', mutations[0]);
196
+ return;
197
+ }
198
+ const observerUpdate = function observerUpdate() {
199
+ emit('observerUpdate', mutations[0]);
200
+ };
201
+ if (window.requestAnimationFrame) {
202
+ window.requestAnimationFrame(observerUpdate);
203
+ } else {
204
+ window.setTimeout(observerUpdate, 0);
205
+ }
206
+ });
207
+ observer.observe(target, {
208
+ attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
209
+ childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,
210
+ characterData: typeof options.characterData === 'undefined' ? true : options.characterData
211
+ });
212
+ observers.push(observer);
213
+ };
214
+ const init = () => {
215
+ if (!swiper.params.observer) return;
216
+ if (swiper.params.observeParents) {
217
+ const containerParents = elementParents(swiper.hostEl);
218
+ for (let i = 0; i < containerParents.length; i += 1) {
219
+ attach(containerParents[i]);
220
+ }
221
+ }
222
+ // Observe container
223
+ attach(swiper.hostEl, {
224
+ childList: swiper.params.observeSlideChildren
225
+ });
226
+
227
+ // Observe wrapper
228
+ attach(swiper.wrapperEl, {
229
+ attributes: false
230
+ });
231
+ };
232
+ const destroy = () => {
233
+ observers.forEach(observer => {
234
+ observer.disconnect();
235
+ });
236
+ observers.splice(0, observers.length);
237
+ };
238
+ extendParams({
239
+ observer: false,
240
+ observeParents: false,
241
+ observeSlideChildren: false
242
+ });
243
+ on('init', init);
244
+ on('destroy', destroy);
245
+ }
246
+
247
+ /* eslint-disable no-underscore-dangle */
248
+
249
+ var eventsEmitter = {
250
+ on(events, handler, priority) {
251
+ const self = this;
252
+ if (!self.eventsListeners || self.destroyed) return self;
253
+ if (typeof handler !== 'function') return self;
254
+ const method = priority ? 'unshift' : 'push';
255
+ events.split(' ').forEach(event => {
256
+ if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
257
+ self.eventsListeners[event][method](handler);
258
+ });
259
+ return self;
260
+ },
261
+ once(events, handler, priority) {
262
+ const self = this;
263
+ if (!self.eventsListeners || self.destroyed) return self;
264
+ if (typeof handler !== 'function') return self;
265
+ function onceHandler() {
266
+ self.off(events, onceHandler);
267
+ if (onceHandler.__emitterProxy) {
268
+ delete onceHandler.__emitterProxy;
269
+ }
270
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
271
+ args[_key] = arguments[_key];
272
+ }
273
+ handler.apply(self, args);
274
+ }
275
+ onceHandler.__emitterProxy = handler;
276
+ return self.on(events, onceHandler, priority);
277
+ },
278
+ onAny(handler, priority) {
279
+ const self = this;
280
+ if (!self.eventsListeners || self.destroyed) return self;
281
+ if (typeof handler !== 'function') return self;
282
+ const method = priority ? 'unshift' : 'push';
283
+ if (self.eventsAnyListeners.indexOf(handler) < 0) {
284
+ self.eventsAnyListeners[method](handler);
285
+ }
286
+ return self;
287
+ },
288
+ offAny(handler) {
289
+ const self = this;
290
+ if (!self.eventsListeners || self.destroyed) return self;
291
+ if (!self.eventsAnyListeners) return self;
292
+ const index = self.eventsAnyListeners.indexOf(handler);
293
+ if (index >= 0) {
294
+ self.eventsAnyListeners.splice(index, 1);
295
+ }
296
+ return self;
297
+ },
298
+ off(events, handler) {
299
+ const self = this;
300
+ if (!self.eventsListeners || self.destroyed) return self;
301
+ if (!self.eventsListeners) return self;
302
+ events.split(' ').forEach(event => {
303
+ if (typeof handler === 'undefined') {
304
+ self.eventsListeners[event] = [];
305
+ } else if (self.eventsListeners[event]) {
306
+ self.eventsListeners[event].forEach((eventHandler, index) => {
307
+ if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
308
+ self.eventsListeners[event].splice(index, 1);
309
+ }
310
+ });
311
+ }
312
+ });
313
+ return self;
314
+ },
315
+ emit() {
316
+ const self = this;
317
+ if (!self.eventsListeners || self.destroyed) return self;
318
+ if (!self.eventsListeners) return self;
319
+ let events;
320
+ let data;
321
+ let context;
322
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
323
+ args[_key2] = arguments[_key2];
324
+ }
325
+ if (typeof args[0] === 'string' || Array.isArray(args[0])) {
326
+ events = args[0];
327
+ data = args.slice(1, args.length);
328
+ context = self;
329
+ } else {
330
+ events = args[0].events;
331
+ data = args[0].data;
332
+ context = args[0].context || self;
333
+ }
334
+ data.unshift(context);
335
+ const eventsArray = Array.isArray(events) ? events : events.split(' ');
336
+ eventsArray.forEach(event => {
337
+ if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
338
+ self.eventsAnyListeners.forEach(eventHandler => {
339
+ eventHandler.apply(context, [event, ...data]);
340
+ });
341
+ }
342
+ if (self.eventsListeners && self.eventsListeners[event]) {
343
+ self.eventsListeners[event].forEach(eventHandler => {
344
+ eventHandler.apply(context, data);
345
+ });
346
+ }
347
+ });
348
+ return self;
349
+ }
350
+ };
351
+
352
+ function updateSize() {
353
+ const swiper = this;
354
+ let width;
355
+ let height;
356
+ const el = swiper.el;
357
+ if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
358
+ width = swiper.params.width;
359
+ } else {
360
+ width = el.clientWidth;
361
+ }
362
+ if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {
363
+ height = swiper.params.height;
364
+ } else {
365
+ height = el.clientHeight;
366
+ }
367
+ if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
368
+ return;
369
+ }
370
+
371
+ // Subtract paddings
372
+ width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);
373
+ height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);
374
+ if (Number.isNaN(width)) width = 0;
375
+ if (Number.isNaN(height)) height = 0;
376
+ Object.assign(swiper, {
377
+ width,
378
+ height,
379
+ size: swiper.isHorizontal() ? width : height
380
+ });
381
+ }
382
+
383
+ function updateSlides() {
384
+ const swiper = this;
385
+ function getDirectionPropertyValue(node, label) {
386
+ return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);
387
+ }
388
+ const params = swiper.params;
389
+ const {
390
+ wrapperEl,
391
+ slidesEl,
392
+ size: swiperSize,
393
+ rtlTranslate: rtl,
394
+ wrongRTL
395
+ } = swiper;
396
+ const isVirtual = swiper.virtual && params.virtual.enabled;
397
+ const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
398
+ const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);
399
+ const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
400
+ let snapGrid = [];
401
+ const slidesGrid = [];
402
+ const slidesSizesGrid = [];
403
+ let offsetBefore = params.slidesOffsetBefore;
404
+ if (typeof offsetBefore === 'function') {
405
+ offsetBefore = params.slidesOffsetBefore.call(swiper);
406
+ }
407
+ let offsetAfter = params.slidesOffsetAfter;
408
+ if (typeof offsetAfter === 'function') {
409
+ offsetAfter = params.slidesOffsetAfter.call(swiper);
410
+ }
411
+ const previousSnapGridLength = swiper.snapGrid.length;
412
+ const previousSlidesGridLength = swiper.slidesGrid.length;
413
+ let spaceBetween = params.spaceBetween;
414
+ let slidePosition = -offsetBefore;
415
+ let prevSlideSize = 0;
416
+ let index = 0;
417
+ if (typeof swiperSize === 'undefined') {
418
+ return;
419
+ }
420
+ if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
421
+ spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
422
+ } else if (typeof spaceBetween === 'string') {
423
+ spaceBetween = parseFloat(spaceBetween);
424
+ }
425
+ swiper.virtualSize = -spaceBetween;
426
+
427
+ // reset margins
428
+ slides.forEach(slideEl => {
429
+ if (rtl) {
430
+ slideEl.style.marginLeft = '';
431
+ } else {
432
+ slideEl.style.marginRight = '';
433
+ }
434
+ slideEl.style.marginBottom = '';
435
+ slideEl.style.marginTop = '';
436
+ });
437
+
438
+ // reset cssMode offsets
439
+ if (params.centeredSlides && params.cssMode) {
440
+ setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');
441
+ setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
442
+ }
443
+ const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
444
+ if (gridEnabled) {
445
+ swiper.grid.initSlides(slides);
446
+ } else if (swiper.grid) {
447
+ swiper.grid.unsetSlides();
448
+ }
449
+
450
+ // Calc slides
451
+ let slideSize;
452
+ const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {
453
+ return typeof params.breakpoints[key].slidesPerView !== 'undefined';
454
+ }).length > 0;
455
+ for (let i = 0; i < slidesLength; i += 1) {
456
+ slideSize = 0;
457
+ let slide;
458
+ if (slides[i]) slide = slides[i];
459
+ if (gridEnabled) {
460
+ swiper.grid.updateSlide(i, slide, slides);
461
+ }
462
+ if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line
463
+
464
+ if (params.slidesPerView === 'auto') {
465
+ if (shouldResetSlideSize) {
466
+ slides[i].style[swiper.getDirectionLabel('width')] = ``;
467
+ }
468
+ const slideStyles = getComputedStyle(slide);
469
+ const currentTransform = slide.style.transform;
470
+ const currentWebKitTransform = slide.style.webkitTransform;
471
+ if (currentTransform) {
472
+ slide.style.transform = 'none';
473
+ }
474
+ if (currentWebKitTransform) {
475
+ slide.style.webkitTransform = 'none';
476
+ }
477
+ if (params.roundLengths) {
478
+ slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width') : elementOuterSize(slide, 'height');
479
+ } else {
480
+ // eslint-disable-next-line
481
+ const width = getDirectionPropertyValue(slideStyles, 'width');
482
+ const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');
483
+ const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');
484
+ const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');
485
+ const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');
486
+ const boxSizing = slideStyles.getPropertyValue('box-sizing');
487
+ if (boxSizing && boxSizing === 'border-box') {
488
+ slideSize = width + marginLeft + marginRight;
489
+ } else {
490
+ const {
491
+ clientWidth,
492
+ offsetWidth
493
+ } = slide;
494
+ slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
495
+ }
496
+ }
497
+ if (currentTransform) {
498
+ slide.style.transform = currentTransform;
499
+ }
500
+ if (currentWebKitTransform) {
501
+ slide.style.webkitTransform = currentWebKitTransform;
502
+ }
503
+ if (params.roundLengths) slideSize = Math.floor(slideSize);
504
+ } else {
505
+ slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
506
+ if (params.roundLengths) slideSize = Math.floor(slideSize);
507
+ if (slides[i]) {
508
+ slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;
509
+ }
510
+ }
511
+ if (slides[i]) {
512
+ slides[i].swiperSlideSize = slideSize;
513
+ }
514
+ slidesSizesGrid.push(slideSize);
515
+ if (params.centeredSlides) {
516
+ slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
517
+ if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
518
+ if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
519
+ if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
520
+ if (params.roundLengths) slidePosition = Math.floor(slidePosition);
521
+ if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
522
+ slidesGrid.push(slidePosition);
523
+ } else {
524
+ if (params.roundLengths) slidePosition = Math.floor(slidePosition);
525
+ if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
526
+ slidesGrid.push(slidePosition);
527
+ slidePosition = slidePosition + slideSize + spaceBetween;
528
+ }
529
+ swiper.virtualSize += slideSize + spaceBetween;
530
+ prevSlideSize = slideSize;
531
+ index += 1;
532
+ }
533
+ swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
534
+ if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
535
+ wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;
536
+ }
537
+ if (params.setWrapperSize) {
538
+ wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;
539
+ }
540
+ if (gridEnabled) {
541
+ swiper.grid.updateWrapperSize(slideSize, snapGrid);
542
+ }
543
+
544
+ // Remove last grid elements depending on width
545
+ if (!params.centeredSlides) {
546
+ const newSlidesGrid = [];
547
+ for (let i = 0; i < snapGrid.length; i += 1) {
548
+ let slidesGridItem = snapGrid[i];
549
+ if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
550
+ if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
551
+ newSlidesGrid.push(slidesGridItem);
552
+ }
553
+ }
554
+ snapGrid = newSlidesGrid;
555
+ if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
556
+ snapGrid.push(swiper.virtualSize - swiperSize);
557
+ }
558
+ }
559
+ if (isVirtual && params.loop) {
560
+ const size = slidesSizesGrid[0] + spaceBetween;
561
+ if (params.slidesPerGroup > 1) {
562
+ const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);
563
+ const groupSize = size * params.slidesPerGroup;
564
+ for (let i = 0; i < groups; i += 1) {
565
+ snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);
566
+ }
567
+ }
568
+ for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {
569
+ if (params.slidesPerGroup === 1) {
570
+ snapGrid.push(snapGrid[snapGrid.length - 1] + size);
571
+ }
572
+ slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);
573
+ swiper.virtualSize += size;
574
+ }
575
+ }
576
+ if (snapGrid.length === 0) snapGrid = [0];
577
+ if (spaceBetween !== 0) {
578
+ const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');
579
+ slides.filter((_, slideIndex) => {
580
+ if (!params.cssMode || params.loop) return true;
581
+ if (slideIndex === slides.length - 1) {
582
+ return false;
583
+ }
584
+ return true;
585
+ }).forEach(slideEl => {
586
+ slideEl.style[key] = `${spaceBetween}px`;
587
+ });
588
+ }
589
+ if (params.centeredSlides && params.centeredSlidesBounds) {
590
+ let allSlidesSize = 0;
591
+ slidesSizesGrid.forEach(slideSizeValue => {
592
+ allSlidesSize += slideSizeValue + (spaceBetween || 0);
593
+ });
594
+ allSlidesSize -= spaceBetween;
595
+ const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;
596
+ snapGrid = snapGrid.map(snap => {
597
+ if (snap <= 0) return -offsetBefore;
598
+ if (snap > maxSnap) return maxSnap + offsetAfter;
599
+ return snap;
600
+ });
601
+ }
602
+ if (params.centerInsufficientSlides) {
603
+ let allSlidesSize = 0;
604
+ slidesSizesGrid.forEach(slideSizeValue => {
605
+ allSlidesSize += slideSizeValue + (spaceBetween || 0);
606
+ });
607
+ allSlidesSize -= spaceBetween;
608
+ const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);
609
+ if (allSlidesSize + offsetSize < swiperSize) {
610
+ const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;
611
+ snapGrid.forEach((snap, snapIndex) => {
612
+ snapGrid[snapIndex] = snap - allSlidesOffset;
613
+ });
614
+ slidesGrid.forEach((snap, snapIndex) => {
615
+ slidesGrid[snapIndex] = snap + allSlidesOffset;
616
+ });
617
+ }
618
+ }
619
+ Object.assign(swiper, {
620
+ slides,
621
+ snapGrid,
622
+ slidesGrid,
623
+ slidesSizesGrid
624
+ });
625
+ if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {
626
+ setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
627
+ setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
628
+ const addToSnapGrid = -swiper.snapGrid[0];
629
+ const addToSlidesGrid = -swiper.slidesGrid[0];
630
+ swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);
631
+ swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);
632
+ }
633
+ if (slidesLength !== previousSlidesLength) {
634
+ swiper.emit('slidesLengthChange');
635
+ }
636
+ if (snapGrid.length !== previousSnapGridLength) {
637
+ if (swiper.params.watchOverflow) swiper.checkOverflow();
638
+ swiper.emit('snapGridLengthChange');
639
+ }
640
+ if (slidesGrid.length !== previousSlidesGridLength) {
641
+ swiper.emit('slidesGridLengthChange');
642
+ }
643
+ if (params.watchSlidesProgress) {
644
+ swiper.updateSlidesOffset();
645
+ }
646
+ swiper.emit('slidesUpdated');
647
+ if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {
648
+ const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
649
+ const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);
650
+ if (slidesLength <= params.maxBackfaceHiddenSlides) {
651
+ if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);
652
+ } else if (hasClassBackfaceClassAdded) {
653
+ swiper.el.classList.remove(backFaceHiddenClass);
654
+ }
655
+ }
656
+ }
657
+
658
+ function updateAutoHeight(speed) {
659
+ const swiper = this;
660
+ const activeSlides = [];
661
+ const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
662
+ let newHeight = 0;
663
+ let i;
664
+ if (typeof speed === 'number') {
665
+ swiper.setTransition(speed);
666
+ } else if (speed === true) {
667
+ swiper.setTransition(swiper.params.speed);
668
+ }
669
+ const getSlideByIndex = index => {
670
+ if (isVirtual) {
671
+ return swiper.slides[swiper.getSlideIndexByData(index)];
672
+ }
673
+ return swiper.slides[index];
674
+ };
675
+ // Find slides currently in view
676
+ if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
677
+ if (swiper.params.centeredSlides) {
678
+ (swiper.visibleSlides || []).forEach(slide => {
679
+ activeSlides.push(slide);
680
+ });
681
+ } else {
682
+ for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
683
+ const index = swiper.activeIndex + i;
684
+ if (index > swiper.slides.length && !isVirtual) break;
685
+ activeSlides.push(getSlideByIndex(index));
686
+ }
687
+ }
688
+ } else {
689
+ activeSlides.push(getSlideByIndex(swiper.activeIndex));
690
+ }
691
+
692
+ // Find new height from highest slide in view
693
+ for (i = 0; i < activeSlides.length; i += 1) {
694
+ if (typeof activeSlides[i] !== 'undefined') {
695
+ const height = activeSlides[i].offsetHeight;
696
+ newHeight = height > newHeight ? height : newHeight;
697
+ }
698
+ }
699
+
700
+ // Update Height
701
+ if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;
702
+ }
703
+
704
+ function updateSlidesOffset() {
705
+ const swiper = this;
706
+ const slides = swiper.slides;
707
+ // eslint-disable-next-line
708
+ const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;
709
+ for (let i = 0; i < slides.length; i += 1) {
710
+ slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();
711
+ }
712
+ }
713
+
714
+ const toggleSlideClasses$1 = (slideEl, condition, className) => {
715
+ if (condition && !slideEl.classList.contains(className)) {
716
+ slideEl.classList.add(className);
717
+ } else if (!condition && slideEl.classList.contains(className)) {
718
+ slideEl.classList.remove(className);
719
+ }
720
+ };
721
+ function updateSlidesProgress(translate) {
722
+ if (translate === void 0) {
723
+ translate = this && this.translate || 0;
724
+ }
725
+ const swiper = this;
726
+ const params = swiper.params;
727
+ const {
728
+ slides,
729
+ rtlTranslate: rtl,
730
+ snapGrid
731
+ } = swiper;
732
+ if (slides.length === 0) return;
733
+ if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
734
+ let offsetCenter = -translate;
735
+ if (rtl) offsetCenter = translate;
736
+ swiper.visibleSlidesIndexes = [];
737
+ swiper.visibleSlides = [];
738
+ let spaceBetween = params.spaceBetween;
739
+ if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
740
+ spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
741
+ } else if (typeof spaceBetween === 'string') {
742
+ spaceBetween = parseFloat(spaceBetween);
743
+ }
744
+ for (let i = 0; i < slides.length; i += 1) {
745
+ const slide = slides[i];
746
+ let slideOffset = slide.swiperSlideOffset;
747
+ if (params.cssMode && params.centeredSlides) {
748
+ slideOffset -= slides[0].swiperSlideOffset;
749
+ }
750
+ const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
751
+ const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
752
+ const slideBefore = -(offsetCenter - slideOffset);
753
+ const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
754
+ const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];
755
+ const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
756
+ if (isVisible) {
757
+ swiper.visibleSlides.push(slide);
758
+ swiper.visibleSlidesIndexes.push(i);
759
+ }
760
+ toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);
761
+ toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);
762
+ slide.progress = rtl ? -slideProgress : slideProgress;
763
+ slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
764
+ }
765
+ }
766
+
767
+ function updateProgress(translate) {
768
+ const swiper = this;
769
+ if (typeof translate === 'undefined') {
770
+ const multiplier = swiper.rtlTranslate ? -1 : 1;
771
+ // eslint-disable-next-line
772
+ translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
773
+ }
774
+ const params = swiper.params;
775
+ const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
776
+ let {
777
+ progress,
778
+ isBeginning,
779
+ isEnd,
780
+ progressLoop
781
+ } = swiper;
782
+ const wasBeginning = isBeginning;
783
+ const wasEnd = isEnd;
784
+ if (translatesDiff === 0) {
785
+ progress = 0;
786
+ isBeginning = true;
787
+ isEnd = true;
788
+ } else {
789
+ progress = (translate - swiper.minTranslate()) / translatesDiff;
790
+ const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;
791
+ const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;
792
+ isBeginning = isBeginningRounded || progress <= 0;
793
+ isEnd = isEndRounded || progress >= 1;
794
+ if (isBeginningRounded) progress = 0;
795
+ if (isEndRounded) progress = 1;
796
+ }
797
+ if (params.loop) {
798
+ const firstSlideIndex = swiper.getSlideIndexByData(0);
799
+ const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);
800
+ const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];
801
+ const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];
802
+ const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];
803
+ const translateAbs = Math.abs(translate);
804
+ if (translateAbs >= firstSlideTranslate) {
805
+ progressLoop = (translateAbs - firstSlideTranslate) / translateMax;
806
+ } else {
807
+ progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;
808
+ }
809
+ if (progressLoop > 1) progressLoop -= 1;
810
+ }
811
+ Object.assign(swiper, {
812
+ progress,
813
+ progressLoop,
814
+ isBeginning,
815
+ isEnd
816
+ });
817
+ if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
818
+ if (isBeginning && !wasBeginning) {
819
+ swiper.emit('reachBeginning toEdge');
820
+ }
821
+ if (isEnd && !wasEnd) {
822
+ swiper.emit('reachEnd toEdge');
823
+ }
824
+ if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
825
+ swiper.emit('fromEdge');
826
+ }
827
+ swiper.emit('progress', progress);
828
+ }
829
+
830
+ const toggleSlideClasses = (slideEl, condition, className) => {
831
+ if (condition && !slideEl.classList.contains(className)) {
832
+ slideEl.classList.add(className);
833
+ } else if (!condition && slideEl.classList.contains(className)) {
834
+ slideEl.classList.remove(className);
835
+ }
836
+ };
837
+ function updateSlidesClasses() {
838
+ const swiper = this;
839
+ const {
840
+ slides,
841
+ params,
842
+ slidesEl,
843
+ activeIndex
844
+ } = swiper;
845
+ const isVirtual = swiper.virtual && params.virtual.enabled;
846
+ const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
847
+ const getFilteredSlide = selector => {
848
+ return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];
849
+ };
850
+ let activeSlide;
851
+ let prevSlide;
852
+ let nextSlide;
853
+ if (isVirtual) {
854
+ if (params.loop) {
855
+ let slideIndex = activeIndex - swiper.virtual.slidesBefore;
856
+ if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;
857
+ if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;
858
+ activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`);
859
+ } else {
860
+ activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);
861
+ }
862
+ } else {
863
+ if (gridEnabled) {
864
+ activeSlide = slides.find(slideEl => slideEl.column === activeIndex);
865
+ nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);
866
+ prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);
867
+ } else {
868
+ activeSlide = slides[activeIndex];
869
+ }
870
+ }
871
+ if (activeSlide) {
872
+ if (!gridEnabled) {
873
+ // Next Slide
874
+ nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
875
+ if (params.loop && !nextSlide) {
876
+ nextSlide = slides[0];
877
+ }
878
+
879
+ // Prev Slide
880
+ prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
881
+ if (params.loop && !prevSlide === 0) {
882
+ prevSlide = slides[slides.length - 1];
883
+ }
884
+ }
885
+ }
886
+ slides.forEach(slideEl => {
887
+ toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);
888
+ toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);
889
+ toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);
890
+ });
891
+ swiper.emitSlidesClasses();
892
+ }
893
+
894
+ const processLazyPreloader = (swiper, imageEl) => {
895
+ if (!swiper || swiper.destroyed || !swiper.params) return;
896
+ const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
897
+ const slideEl = imageEl.closest(slideSelector());
898
+ if (slideEl) {
899
+ let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
900
+ if (!lazyEl && swiper.isElement) {
901
+ if (slideEl.shadowRoot) {
902
+ lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
903
+ } else {
904
+ // init later
905
+ requestAnimationFrame(() => {
906
+ if (slideEl.shadowRoot) {
907
+ lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
908
+ if (lazyEl) lazyEl.remove();
909
+ }
910
+ });
911
+ }
912
+ }
913
+ if (lazyEl) lazyEl.remove();
914
+ }
915
+ };
916
+ const unlazy = (swiper, index) => {
917
+ if (!swiper.slides[index]) return;
918
+ const imageEl = swiper.slides[index].querySelector('[loading="lazy"]');
919
+ if (imageEl) imageEl.removeAttribute('loading');
920
+ };
921
+ const preload = swiper => {
922
+ if (!swiper || swiper.destroyed || !swiper.params) return;
923
+ let amount = swiper.params.lazyPreloadPrevNext;
924
+ const len = swiper.slides.length;
925
+ if (!len || !amount || amount < 0) return;
926
+ amount = Math.min(amount, len);
927
+ const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);
928
+ const activeIndex = swiper.activeIndex;
929
+ if (swiper.params.grid && swiper.params.grid.rows > 1) {
930
+ const activeColumn = activeIndex;
931
+ const preloadColumns = [activeColumn - amount];
932
+ preloadColumns.push(...Array.from({
933
+ length: amount
934
+ }).map((_, i) => {
935
+ return activeColumn + slidesPerView + i;
936
+ }));
937
+ swiper.slides.forEach((slideEl, i) => {
938
+ if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);
939
+ });
940
+ return;
941
+ }
942
+ const slideIndexLastInView = activeIndex + slidesPerView - 1;
943
+ if (swiper.params.rewind || swiper.params.loop) {
944
+ for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {
945
+ const realIndex = (i % len + len) % len;
946
+ if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);
947
+ }
948
+ } else {
949
+ for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {
950
+ if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {
951
+ unlazy(swiper, i);
952
+ }
953
+ }
954
+ }
955
+ };
956
+
957
+ function getActiveIndexByTranslate(swiper) {
958
+ const {
959
+ slidesGrid,
960
+ params
961
+ } = swiper;
962
+ const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
963
+ let activeIndex;
964
+ for (let i = 0; i < slidesGrid.length; i += 1) {
965
+ if (typeof slidesGrid[i + 1] !== 'undefined') {
966
+ if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
967
+ activeIndex = i;
968
+ } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
969
+ activeIndex = i + 1;
970
+ }
971
+ } else if (translate >= slidesGrid[i]) {
972
+ activeIndex = i;
973
+ }
974
+ }
975
+ // Normalize slideIndex
976
+ if (params.normalizeSlideIndex) {
977
+ if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
978
+ }
979
+ return activeIndex;
980
+ }
981
+ function updateActiveIndex(newActiveIndex) {
982
+ const swiper = this;
983
+ const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
984
+ const {
985
+ snapGrid,
986
+ params,
987
+ activeIndex: previousIndex,
988
+ realIndex: previousRealIndex,
989
+ snapIndex: previousSnapIndex
990
+ } = swiper;
991
+ let activeIndex = newActiveIndex;
992
+ let snapIndex;
993
+ const getVirtualRealIndex = aIndex => {
994
+ let realIndex = aIndex - swiper.virtual.slidesBefore;
995
+ if (realIndex < 0) {
996
+ realIndex = swiper.virtual.slides.length + realIndex;
997
+ }
998
+ if (realIndex >= swiper.virtual.slides.length) {
999
+ realIndex -= swiper.virtual.slides.length;
1000
+ }
1001
+ return realIndex;
1002
+ };
1003
+ if (typeof activeIndex === 'undefined') {
1004
+ activeIndex = getActiveIndexByTranslate(swiper);
1005
+ }
1006
+ if (snapGrid.indexOf(translate) >= 0) {
1007
+ snapIndex = snapGrid.indexOf(translate);
1008
+ } else {
1009
+ const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
1010
+ snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
1011
+ }
1012
+ if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
1013
+ if (activeIndex === previousIndex && !swiper.params.loop) {
1014
+ if (snapIndex !== previousSnapIndex) {
1015
+ swiper.snapIndex = snapIndex;
1016
+ swiper.emit('snapIndexChange');
1017
+ }
1018
+ return;
1019
+ }
1020
+ if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
1021
+ swiper.realIndex = getVirtualRealIndex(activeIndex);
1022
+ return;
1023
+ }
1024
+ const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
1025
+
1026
+ // Get real index
1027
+ let realIndex;
1028
+ if (swiper.virtual && params.virtual.enabled && params.loop) {
1029
+ realIndex = getVirtualRealIndex(activeIndex);
1030
+ } else if (gridEnabled) {
1031
+ const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);
1032
+ let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);
1033
+ if (Number.isNaN(activeSlideIndex)) {
1034
+ activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);
1035
+ }
1036
+ realIndex = Math.floor(activeSlideIndex / params.grid.rows);
1037
+ } else if (swiper.slides[activeIndex]) {
1038
+ const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');
1039
+ if (slideIndex) {
1040
+ realIndex = parseInt(slideIndex, 10);
1041
+ } else {
1042
+ realIndex = activeIndex;
1043
+ }
1044
+ } else {
1045
+ realIndex = activeIndex;
1046
+ }
1047
+ Object.assign(swiper, {
1048
+ previousSnapIndex,
1049
+ snapIndex,
1050
+ previousRealIndex,
1051
+ realIndex,
1052
+ previousIndex,
1053
+ activeIndex
1054
+ });
1055
+ if (swiper.initialized) {
1056
+ preload(swiper);
1057
+ }
1058
+ swiper.emit('activeIndexChange');
1059
+ swiper.emit('snapIndexChange');
1060
+ if (swiper.initialized || swiper.params.runCallbacksOnInit) {
1061
+ if (previousRealIndex !== realIndex) {
1062
+ swiper.emit('realIndexChange');
1063
+ }
1064
+ swiper.emit('slideChange');
1065
+ }
1066
+ }
1067
+
1068
+ function updateClickedSlide(el, path) {
1069
+ const swiper = this;
1070
+ const params = swiper.params;
1071
+ let slide = el.closest(`.${params.slideClass}, swiper-slide`);
1072
+ if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {
1073
+ [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {
1074
+ if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {
1075
+ slide = pathEl;
1076
+ }
1077
+ });
1078
+ }
1079
+ let slideFound = false;
1080
+ let slideIndex;
1081
+ if (slide) {
1082
+ for (let i = 0; i < swiper.slides.length; i += 1) {
1083
+ if (swiper.slides[i] === slide) {
1084
+ slideFound = true;
1085
+ slideIndex = i;
1086
+ break;
1087
+ }
1088
+ }
1089
+ }
1090
+ if (slide && slideFound) {
1091
+ swiper.clickedSlide = slide;
1092
+ if (swiper.virtual && swiper.params.virtual.enabled) {
1093
+ swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);
1094
+ } else {
1095
+ swiper.clickedIndex = slideIndex;
1096
+ }
1097
+ } else {
1098
+ swiper.clickedSlide = undefined;
1099
+ swiper.clickedIndex = undefined;
1100
+ return;
1101
+ }
1102
+ if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
1103
+ swiper.slideToClickedSlide();
1104
+ }
1105
+ }
1106
+
1107
+ var update = {
1108
+ updateSize,
1109
+ updateSlides,
1110
+ updateAutoHeight,
1111
+ updateSlidesOffset,
1112
+ updateSlidesProgress,
1113
+ updateProgress,
1114
+ updateSlidesClasses,
1115
+ updateActiveIndex,
1116
+ updateClickedSlide
1117
+ };
1118
+
1119
+ function getSwiperTranslate(axis) {
1120
+ if (axis === void 0) {
1121
+ axis = this.isHorizontal() ? 'x' : 'y';
1122
+ }
1123
+ const swiper = this;
1124
+ const {
1125
+ params,
1126
+ rtlTranslate: rtl,
1127
+ translate,
1128
+ wrapperEl
1129
+ } = swiper;
1130
+ if (params.virtualTranslate) {
1131
+ return rtl ? -translate : translate;
1132
+ }
1133
+ if (params.cssMode) {
1134
+ return translate;
1135
+ }
1136
+ let currentTranslate = getTranslate(wrapperEl, axis);
1137
+ currentTranslate += swiper.cssOverflowAdjustment();
1138
+ if (rtl) currentTranslate = -currentTranslate;
1139
+ return currentTranslate || 0;
1140
+ }
1141
+
1142
+ function setTranslate(translate, byController) {
1143
+ const swiper = this;
1144
+ const {
1145
+ rtlTranslate: rtl,
1146
+ params,
1147
+ wrapperEl,
1148
+ progress
1149
+ } = swiper;
1150
+ let x = 0;
1151
+ let y = 0;
1152
+ const z = 0;
1153
+ if (swiper.isHorizontal()) {
1154
+ x = rtl ? -translate : translate;
1155
+ } else {
1156
+ y = translate;
1157
+ }
1158
+ if (params.roundLengths) {
1159
+ x = Math.floor(x);
1160
+ y = Math.floor(y);
1161
+ }
1162
+ swiper.previousTranslate = swiper.translate;
1163
+ swiper.translate = swiper.isHorizontal() ? x : y;
1164
+ if (params.cssMode) {
1165
+ wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
1166
+ } else if (!params.virtualTranslate) {
1167
+ if (swiper.isHorizontal()) {
1168
+ x -= swiper.cssOverflowAdjustment();
1169
+ } else {
1170
+ y -= swiper.cssOverflowAdjustment();
1171
+ }
1172
+ wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;
1173
+ }
1174
+
1175
+ // Check if we need to update progress
1176
+ let newProgress;
1177
+ const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
1178
+ if (translatesDiff === 0) {
1179
+ newProgress = 0;
1180
+ } else {
1181
+ newProgress = (translate - swiper.minTranslate()) / translatesDiff;
1182
+ }
1183
+ if (newProgress !== progress) {
1184
+ swiper.updateProgress(translate);
1185
+ }
1186
+ swiper.emit('setTranslate', swiper.translate, byController);
1187
+ }
1188
+
1189
+ function minTranslate() {
1190
+ return -this.snapGrid[0];
1191
+ }
1192
+
1193
+ function maxTranslate() {
1194
+ return -this.snapGrid[this.snapGrid.length - 1];
1195
+ }
1196
+
1197
+ function translateTo(translate, speed, runCallbacks, translateBounds, internal) {
1198
+ if (translate === void 0) {
1199
+ translate = 0;
1200
+ }
1201
+ if (speed === void 0) {
1202
+ speed = this.params.speed;
1203
+ }
1204
+ if (runCallbacks === void 0) {
1205
+ runCallbacks = true;
1206
+ }
1207
+ if (translateBounds === void 0) {
1208
+ translateBounds = true;
1209
+ }
1210
+ const swiper = this;
1211
+ const {
1212
+ params,
1213
+ wrapperEl
1214
+ } = swiper;
1215
+ if (swiper.animating && params.preventInteractionOnTransition) {
1216
+ return false;
1217
+ }
1218
+ const minTranslate = swiper.minTranslate();
1219
+ const maxTranslate = swiper.maxTranslate();
1220
+ let newTranslate;
1221
+ if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;
1222
+
1223
+ // Update progress
1224
+ swiper.updateProgress(newTranslate);
1225
+ if (params.cssMode) {
1226
+ const isH = swiper.isHorizontal();
1227
+ if (speed === 0) {
1228
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
1229
+ } else {
1230
+ if (!swiper.support.smoothScroll) {
1231
+ animateCSSModeScroll({
1232
+ swiper,
1233
+ targetPosition: -newTranslate,
1234
+ side: isH ? 'left' : 'top'
1235
+ });
1236
+ return true;
1237
+ }
1238
+ wrapperEl.scrollTo({
1239
+ [isH ? 'left' : 'top']: -newTranslate,
1240
+ behavior: 'smooth'
1241
+ });
1242
+ }
1243
+ return true;
1244
+ }
1245
+ if (speed === 0) {
1246
+ swiper.setTransition(0);
1247
+ swiper.setTranslate(newTranslate);
1248
+ if (runCallbacks) {
1249
+ swiper.emit('beforeTransitionStart', speed, internal);
1250
+ swiper.emit('transitionEnd');
1251
+ }
1252
+ } else {
1253
+ swiper.setTransition(speed);
1254
+ swiper.setTranslate(newTranslate);
1255
+ if (runCallbacks) {
1256
+ swiper.emit('beforeTransitionStart', speed, internal);
1257
+ swiper.emit('transitionStart');
1258
+ }
1259
+ if (!swiper.animating) {
1260
+ swiper.animating = true;
1261
+ if (!swiper.onTranslateToWrapperTransitionEnd) {
1262
+ swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
1263
+ if (!swiper || swiper.destroyed) return;
1264
+ if (e.target !== this) return;
1265
+ swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
1266
+ swiper.onTranslateToWrapperTransitionEnd = null;
1267
+ delete swiper.onTranslateToWrapperTransitionEnd;
1268
+ swiper.animating = false;
1269
+ if (runCallbacks) {
1270
+ swiper.emit('transitionEnd');
1271
+ }
1272
+ };
1273
+ }
1274
+ swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
1275
+ }
1276
+ }
1277
+ return true;
1278
+ }
1279
+
1280
+ var translate = {
1281
+ getTranslate: getSwiperTranslate,
1282
+ setTranslate,
1283
+ minTranslate,
1284
+ maxTranslate,
1285
+ translateTo
1286
+ };
1287
+
1288
+ function setTransition(duration, byController) {
1289
+ const swiper = this;
1290
+ if (!swiper.params.cssMode) {
1291
+ swiper.wrapperEl.style.transitionDuration = `${duration}ms`;
1292
+ swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';
1293
+ }
1294
+ swiper.emit('setTransition', duration, byController);
1295
+ }
1296
+
1297
+ function transitionEmit(_ref) {
1298
+ let {
1299
+ swiper,
1300
+ runCallbacks,
1301
+ direction,
1302
+ step
1303
+ } = _ref;
1304
+ const {
1305
+ activeIndex,
1306
+ previousIndex
1307
+ } = swiper;
1308
+ let dir = direction;
1309
+ if (!dir) {
1310
+ if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
1311
+ }
1312
+ swiper.emit(`transition${step}`);
1313
+ if (runCallbacks && dir === 'reset') {
1314
+ swiper.emit(`slideResetTransition${step}`);
1315
+ } else if (runCallbacks && activeIndex !== previousIndex) {
1316
+ swiper.emit(`slideChangeTransition${step}`);
1317
+ if (dir === 'next') {
1318
+ swiper.emit(`slideNextTransition${step}`);
1319
+ } else {
1320
+ swiper.emit(`slidePrevTransition${step}`);
1321
+ }
1322
+ }
1323
+ }
1324
+
1325
+ function transitionStart(runCallbacks, direction) {
1326
+ if (runCallbacks === void 0) {
1327
+ runCallbacks = true;
1328
+ }
1329
+ const swiper = this;
1330
+ const {
1331
+ params
1332
+ } = swiper;
1333
+ if (params.cssMode) return;
1334
+ if (params.autoHeight) {
1335
+ swiper.updateAutoHeight();
1336
+ }
1337
+ transitionEmit({
1338
+ swiper,
1339
+ runCallbacks,
1340
+ direction,
1341
+ step: 'Start'
1342
+ });
1343
+ }
1344
+
1345
+ function transitionEnd(runCallbacks, direction) {
1346
+ if (runCallbacks === void 0) {
1347
+ runCallbacks = true;
1348
+ }
1349
+ const swiper = this;
1350
+ const {
1351
+ params
1352
+ } = swiper;
1353
+ swiper.animating = false;
1354
+ if (params.cssMode) return;
1355
+ swiper.setTransition(0);
1356
+ transitionEmit({
1357
+ swiper,
1358
+ runCallbacks,
1359
+ direction,
1360
+ step: 'End'
1361
+ });
1362
+ }
1363
+
1364
+ var transition = {
1365
+ setTransition,
1366
+ transitionStart,
1367
+ transitionEnd
1368
+ };
1369
+
1370
+ function slideTo(index, speed, runCallbacks, internal, initial) {
1371
+ if (index === void 0) {
1372
+ index = 0;
1373
+ }
1374
+ if (runCallbacks === void 0) {
1375
+ runCallbacks = true;
1376
+ }
1377
+ if (typeof index === 'string') {
1378
+ index = parseInt(index, 10);
1379
+ }
1380
+ const swiper = this;
1381
+ let slideIndex = index;
1382
+ if (slideIndex < 0) slideIndex = 0;
1383
+ const {
1384
+ params,
1385
+ snapGrid,
1386
+ slidesGrid,
1387
+ previousIndex,
1388
+ activeIndex,
1389
+ rtlTranslate: rtl,
1390
+ wrapperEl,
1391
+ enabled
1392
+ } = swiper;
1393
+ if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {
1394
+ return false;
1395
+ }
1396
+ if (typeof speed === 'undefined') {
1397
+ speed = swiper.params.speed;
1398
+ }
1399
+ const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
1400
+ let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
1401
+ if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
1402
+ const translate = -snapGrid[snapIndex];
1403
+ // Normalize slideIndex
1404
+ if (params.normalizeSlideIndex) {
1405
+ for (let i = 0; i < slidesGrid.length; i += 1) {
1406
+ const normalizedTranslate = -Math.floor(translate * 100);
1407
+ const normalizedGrid = Math.floor(slidesGrid[i] * 100);
1408
+ const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
1409
+ if (typeof slidesGrid[i + 1] !== 'undefined') {
1410
+ if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {
1411
+ slideIndex = i;
1412
+ } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {
1413
+ slideIndex = i + 1;
1414
+ }
1415
+ } else if (normalizedTranslate >= normalizedGrid) {
1416
+ slideIndex = i;
1417
+ }
1418
+ }
1419
+ }
1420
+ // Directions locks
1421
+ if (swiper.initialized && slideIndex !== activeIndex) {
1422
+ if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {
1423
+ return false;
1424
+ }
1425
+ if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
1426
+ if ((activeIndex || 0) !== slideIndex) {
1427
+ return false;
1428
+ }
1429
+ }
1430
+ }
1431
+ if (slideIndex !== (previousIndex || 0) && runCallbacks) {
1432
+ swiper.emit('beforeSlideChangeStart');
1433
+ }
1434
+
1435
+ // Update progress
1436
+ swiper.updateProgress(translate);
1437
+ let direction;
1438
+ if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';
1439
+
1440
+ // initial virtual
1441
+ const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
1442
+ const isInitialVirtual = isVirtual && initial;
1443
+ // Update Index
1444
+ if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {
1445
+ swiper.updateActiveIndex(slideIndex);
1446
+ // Update Height
1447
+ if (params.autoHeight) {
1448
+ swiper.updateAutoHeight();
1449
+ }
1450
+ swiper.updateSlidesClasses();
1451
+ if (params.effect !== 'slide') {
1452
+ swiper.setTranslate(translate);
1453
+ }
1454
+ if (direction !== 'reset') {
1455
+ swiper.transitionStart(runCallbacks, direction);
1456
+ swiper.transitionEnd(runCallbacks, direction);
1457
+ }
1458
+ return false;
1459
+ }
1460
+ if (params.cssMode) {
1461
+ const isH = swiper.isHorizontal();
1462
+ const t = rtl ? translate : -translate;
1463
+ if (speed === 0) {
1464
+ if (isVirtual) {
1465
+ swiper.wrapperEl.style.scrollSnapType = 'none';
1466
+ swiper._immediateVirtual = true;
1467
+ }
1468
+ if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {
1469
+ swiper._cssModeVirtualInitialSet = true;
1470
+ requestAnimationFrame(() => {
1471
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
1472
+ });
1473
+ } else {
1474
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
1475
+ }
1476
+ if (isVirtual) {
1477
+ requestAnimationFrame(() => {
1478
+ swiper.wrapperEl.style.scrollSnapType = '';
1479
+ swiper._immediateVirtual = false;
1480
+ });
1481
+ }
1482
+ } else {
1483
+ if (!swiper.support.smoothScroll) {
1484
+ animateCSSModeScroll({
1485
+ swiper,
1486
+ targetPosition: t,
1487
+ side: isH ? 'left' : 'top'
1488
+ });
1489
+ return true;
1490
+ }
1491
+ wrapperEl.scrollTo({
1492
+ [isH ? 'left' : 'top']: t,
1493
+ behavior: 'smooth'
1494
+ });
1495
+ }
1496
+ return true;
1497
+ }
1498
+ const browser = getBrowser();
1499
+ const isSafari = browser.isSafari;
1500
+ if (isVirtual && !initial && isSafari && swiper.isElement) {
1501
+ swiper.virtual.update(false, false, slideIndex);
1502
+ }
1503
+ swiper.setTransition(speed);
1504
+ swiper.setTranslate(translate);
1505
+ swiper.updateActiveIndex(slideIndex);
1506
+ swiper.updateSlidesClasses();
1507
+ swiper.emit('beforeTransitionStart', speed, internal);
1508
+ swiper.transitionStart(runCallbacks, direction);
1509
+ if (speed === 0) {
1510
+ swiper.transitionEnd(runCallbacks, direction);
1511
+ } else if (!swiper.animating) {
1512
+ swiper.animating = true;
1513
+ if (!swiper.onSlideToWrapperTransitionEnd) {
1514
+ swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
1515
+ if (!swiper || swiper.destroyed) return;
1516
+ if (e.target !== this) return;
1517
+ swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
1518
+ swiper.onSlideToWrapperTransitionEnd = null;
1519
+ delete swiper.onSlideToWrapperTransitionEnd;
1520
+ swiper.transitionEnd(runCallbacks, direction);
1521
+ };
1522
+ }
1523
+ swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
1524
+ }
1525
+ return true;
1526
+ }
1527
+
1528
+ function slideToLoop(index, speed, runCallbacks, internal) {
1529
+ if (index === void 0) {
1530
+ index = 0;
1531
+ }
1532
+ if (runCallbacks === void 0) {
1533
+ runCallbacks = true;
1534
+ }
1535
+ if (typeof index === 'string') {
1536
+ const indexAsNumber = parseInt(index, 10);
1537
+ index = indexAsNumber;
1538
+ }
1539
+ const swiper = this;
1540
+ if (swiper.destroyed) return;
1541
+ if (typeof speed === 'undefined') {
1542
+ speed = swiper.params.speed;
1543
+ }
1544
+ const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;
1545
+ let newIndex = index;
1546
+ if (swiper.params.loop) {
1547
+ if (swiper.virtual && swiper.params.virtual.enabled) {
1548
+ // eslint-disable-next-line
1549
+ newIndex = newIndex + swiper.virtual.slidesBefore;
1550
+ } else {
1551
+ let targetSlideIndex;
1552
+ if (gridEnabled) {
1553
+ const slideIndex = newIndex * swiper.params.grid.rows;
1554
+ targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
1555
+ } else {
1556
+ targetSlideIndex = swiper.getSlideIndexByData(newIndex);
1557
+ }
1558
+ const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;
1559
+ const {
1560
+ centeredSlides
1561
+ } = swiper.params;
1562
+ let slidesPerView = swiper.params.slidesPerView;
1563
+ if (slidesPerView === 'auto') {
1564
+ slidesPerView = swiper.slidesPerViewDynamic();
1565
+ } else {
1566
+ slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));
1567
+ if (centeredSlides && slidesPerView % 2 === 0) {
1568
+ slidesPerView = slidesPerView + 1;
1569
+ }
1570
+ }
1571
+ let needLoopFix = cols - targetSlideIndex < slidesPerView;
1572
+ if (centeredSlides) {
1573
+ needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);
1574
+ }
1575
+ if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {
1576
+ needLoopFix = false;
1577
+ }
1578
+ if (needLoopFix) {
1579
+ const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';
1580
+ swiper.loopFix({
1581
+ direction,
1582
+ slideTo: true,
1583
+ activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,
1584
+ slideRealIndex: direction === 'next' ? swiper.realIndex : undefined
1585
+ });
1586
+ }
1587
+ if (gridEnabled) {
1588
+ const slideIndex = newIndex * swiper.params.grid.rows;
1589
+ newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
1590
+ } else {
1591
+ newIndex = swiper.getSlideIndexByData(newIndex);
1592
+ }
1593
+ }
1594
+ }
1595
+ requestAnimationFrame(() => {
1596
+ swiper.slideTo(newIndex, speed, runCallbacks, internal);
1597
+ });
1598
+ return swiper;
1599
+ }
1600
+
1601
+ /* eslint no-unused-vars: "off" */
1602
+ function slideNext(speed, runCallbacks, internal) {
1603
+ if (runCallbacks === void 0) {
1604
+ runCallbacks = true;
1605
+ }
1606
+ const swiper = this;
1607
+ const {
1608
+ enabled,
1609
+ params,
1610
+ animating
1611
+ } = swiper;
1612
+ if (!enabled || swiper.destroyed) return swiper;
1613
+ if (typeof speed === 'undefined') {
1614
+ speed = swiper.params.speed;
1615
+ }
1616
+ let perGroup = params.slidesPerGroup;
1617
+ if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
1618
+ perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
1619
+ }
1620
+ const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
1621
+ const isVirtual = swiper.virtual && params.virtual.enabled;
1622
+ if (params.loop) {
1623
+ if (animating && !isVirtual && params.loopPreventsSliding) return false;
1624
+ swiper.loopFix({
1625
+ direction: 'next'
1626
+ });
1627
+ // eslint-disable-next-line
1628
+ swiper._clientLeft = swiper.wrapperEl.clientLeft;
1629
+ if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {
1630
+ requestAnimationFrame(() => {
1631
+ swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
1632
+ });
1633
+ return true;
1634
+ }
1635
+ }
1636
+ if (params.rewind && swiper.isEnd) {
1637
+ return swiper.slideTo(0, speed, runCallbacks, internal);
1638
+ }
1639
+ return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
1640
+ }
1641
+
1642
+ /* eslint no-unused-vars: "off" */
1643
+ function slidePrev(speed, runCallbacks, internal) {
1644
+ if (runCallbacks === void 0) {
1645
+ runCallbacks = true;
1646
+ }
1647
+ const swiper = this;
1648
+ const {
1649
+ params,
1650
+ snapGrid,
1651
+ slidesGrid,
1652
+ rtlTranslate,
1653
+ enabled,
1654
+ animating
1655
+ } = swiper;
1656
+ if (!enabled || swiper.destroyed) return swiper;
1657
+ if (typeof speed === 'undefined') {
1658
+ speed = swiper.params.speed;
1659
+ }
1660
+ const isVirtual = swiper.virtual && params.virtual.enabled;
1661
+ if (params.loop) {
1662
+ if (animating && !isVirtual && params.loopPreventsSliding) return false;
1663
+ swiper.loopFix({
1664
+ direction: 'prev'
1665
+ });
1666
+ // eslint-disable-next-line
1667
+ swiper._clientLeft = swiper.wrapperEl.clientLeft;
1668
+ }
1669
+ const translate = rtlTranslate ? swiper.translate : -swiper.translate;
1670
+ function normalize(val) {
1671
+ if (val < 0) return -Math.floor(Math.abs(val));
1672
+ return Math.floor(val);
1673
+ }
1674
+ const normalizedTranslate = normalize(translate);
1675
+ const normalizedSnapGrid = snapGrid.map(val => normalize(val));
1676
+ const isFreeMode = params.freeMode && params.freeMode.enabled;
1677
+ let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
1678
+ if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {
1679
+ let prevSnapIndex;
1680
+ snapGrid.forEach((snap, snapIndex) => {
1681
+ if (normalizedTranslate >= snap) {
1682
+ // prevSnap = snap;
1683
+ prevSnapIndex = snapIndex;
1684
+ }
1685
+ });
1686
+ if (typeof prevSnapIndex !== 'undefined') {
1687
+ prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
1688
+ }
1689
+ }
1690
+ let prevIndex = 0;
1691
+ if (typeof prevSnap !== 'undefined') {
1692
+ prevIndex = slidesGrid.indexOf(prevSnap);
1693
+ if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
1694
+ if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
1695
+ prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
1696
+ prevIndex = Math.max(prevIndex, 0);
1697
+ }
1698
+ }
1699
+ if (params.rewind && swiper.isBeginning) {
1700
+ const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
1701
+ return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
1702
+ } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {
1703
+ requestAnimationFrame(() => {
1704
+ swiper.slideTo(prevIndex, speed, runCallbacks, internal);
1705
+ });
1706
+ return true;
1707
+ }
1708
+ return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
1709
+ }
1710
+
1711
+ /* eslint no-unused-vars: "off" */
1712
+ function slideReset(speed, runCallbacks, internal) {
1713
+ if (runCallbacks === void 0) {
1714
+ runCallbacks = true;
1715
+ }
1716
+ const swiper = this;
1717
+ if (swiper.destroyed) return;
1718
+ if (typeof speed === 'undefined') {
1719
+ speed = swiper.params.speed;
1720
+ }
1721
+ return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
1722
+ }
1723
+
1724
+ /* eslint no-unused-vars: "off" */
1725
+ function slideToClosest(speed, runCallbacks, internal, threshold) {
1726
+ if (runCallbacks === void 0) {
1727
+ runCallbacks = true;
1728
+ }
1729
+ if (threshold === void 0) {
1730
+ threshold = 0.5;
1731
+ }
1732
+ const swiper = this;
1733
+ if (swiper.destroyed) return;
1734
+ if (typeof speed === 'undefined') {
1735
+ speed = swiper.params.speed;
1736
+ }
1737
+ let index = swiper.activeIndex;
1738
+ const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
1739
+ const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
1740
+ const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
1741
+ if (translate >= swiper.snapGrid[snapIndex]) {
1742
+ // The current translate is on or after the current snap index, so the choice
1743
+ // is between the current index and the one after it.
1744
+ const currentSnap = swiper.snapGrid[snapIndex];
1745
+ const nextSnap = swiper.snapGrid[snapIndex + 1];
1746
+ if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
1747
+ index += swiper.params.slidesPerGroup;
1748
+ }
1749
+ } else {
1750
+ // The current translate is before the current snap index, so the choice
1751
+ // is between the current index and the one before it.
1752
+ const prevSnap = swiper.snapGrid[snapIndex - 1];
1753
+ const currentSnap = swiper.snapGrid[snapIndex];
1754
+ if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
1755
+ index -= swiper.params.slidesPerGroup;
1756
+ }
1757
+ }
1758
+ index = Math.max(index, 0);
1759
+ index = Math.min(index, swiper.slidesGrid.length - 1);
1760
+ return swiper.slideTo(index, speed, runCallbacks, internal);
1761
+ }
1762
+
1763
+ function slideToClickedSlide() {
1764
+ const swiper = this;
1765
+ if (swiper.destroyed) return;
1766
+ const {
1767
+ params,
1768
+ slidesEl
1769
+ } = swiper;
1770
+ const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
1771
+ let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex);
1772
+ let realIndex;
1773
+ const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
1774
+ const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;
1775
+ if (params.loop) {
1776
+ if (swiper.animating) return;
1777
+ realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
1778
+ if (params.centeredSlides) {
1779
+ swiper.slideToLoop(realIndex);
1780
+ } else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) {
1781
+ swiper.loopFix();
1782
+ slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
1783
+ nextTick(() => {
1784
+ swiper.slideTo(slideToIndex);
1785
+ });
1786
+ } else {
1787
+ swiper.slideTo(slideToIndex);
1788
+ }
1789
+ } else {
1790
+ swiper.slideTo(slideToIndex);
1791
+ }
1792
+ }
1793
+
1794
+ var slide = {
1795
+ slideTo,
1796
+ slideToLoop,
1797
+ slideNext,
1798
+ slidePrev,
1799
+ slideReset,
1800
+ slideToClosest,
1801
+ slideToClickedSlide
1802
+ };
1803
+
1804
+ function loopCreate(slideRealIndex, initial) {
1805
+ const swiper = this;
1806
+ const {
1807
+ params,
1808
+ slidesEl
1809
+ } = swiper;
1810
+ if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
1811
+ const initSlides = () => {
1812
+ const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
1813
+ slides.forEach((el, index) => {
1814
+ el.setAttribute('data-swiper-slide-index', index);
1815
+ });
1816
+ };
1817
+ const clearBlankSlides = () => {
1818
+ const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`);
1819
+ slides.forEach(el => {
1820
+ el.remove();
1821
+ });
1822
+ if (slides.length > 0) {
1823
+ swiper.recalcSlides();
1824
+ swiper.updateSlides();
1825
+ }
1826
+ };
1827
+ const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
1828
+ if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) {
1829
+ clearBlankSlides();
1830
+ }
1831
+ const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);
1832
+ const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;
1833
+ const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;
1834
+ const addBlankSlides = amountOfSlides => {
1835
+ for (let i = 0; i < amountOfSlides; i += 1) {
1836
+ const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);
1837
+ swiper.slidesEl.append(slideEl);
1838
+ }
1839
+ };
1840
+ if (shouldFillGroup) {
1841
+ if (params.loopAddBlankSlides) {
1842
+ const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;
1843
+ addBlankSlides(slidesToAdd);
1844
+ swiper.recalcSlides();
1845
+ swiper.updateSlides();
1846
+ } else {
1847
+ showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');
1848
+ }
1849
+ initSlides();
1850
+ } else if (shouldFillGrid) {
1851
+ if (params.loopAddBlankSlides) {
1852
+ const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;
1853
+ addBlankSlides(slidesToAdd);
1854
+ swiper.recalcSlides();
1855
+ swiper.updateSlides();
1856
+ } else {
1857
+ showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');
1858
+ }
1859
+ initSlides();
1860
+ } else {
1861
+ initSlides();
1862
+ }
1863
+ swiper.loopFix({
1864
+ slideRealIndex,
1865
+ direction: params.centeredSlides ? undefined : 'next',
1866
+ initial
1867
+ });
1868
+ }
1869
+
1870
+ function loopFix(_temp) {
1871
+ let {
1872
+ slideRealIndex,
1873
+ slideTo = true,
1874
+ direction,
1875
+ setTranslate,
1876
+ activeSlideIndex,
1877
+ initial,
1878
+ byController,
1879
+ byMousewheel
1880
+ } = _temp === void 0 ? {} : _temp;
1881
+ const swiper = this;
1882
+ if (!swiper.params.loop) return;
1883
+ swiper.emit('beforeLoopFix');
1884
+ const {
1885
+ slides,
1886
+ allowSlidePrev,
1887
+ allowSlideNext,
1888
+ slidesEl,
1889
+ params
1890
+ } = swiper;
1891
+ const {
1892
+ centeredSlides,
1893
+ initialSlide
1894
+ } = params;
1895
+ swiper.allowSlidePrev = true;
1896
+ swiper.allowSlideNext = true;
1897
+ if (swiper.virtual && params.virtual.enabled) {
1898
+ if (slideTo) {
1899
+ if (!params.centeredSlides && swiper.snapIndex === 0) {
1900
+ swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
1901
+ } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {
1902
+ swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
1903
+ } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {
1904
+ swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
1905
+ }
1906
+ }
1907
+ swiper.allowSlidePrev = allowSlidePrev;
1908
+ swiper.allowSlideNext = allowSlideNext;
1909
+ swiper.emit('loopFix');
1910
+ return;
1911
+ }
1912
+ let slidesPerView = params.slidesPerView;
1913
+ if (slidesPerView === 'auto') {
1914
+ slidesPerView = swiper.slidesPerViewDynamic();
1915
+ } else {
1916
+ slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));
1917
+ if (centeredSlides && slidesPerView % 2 === 0) {
1918
+ slidesPerView = slidesPerView + 1;
1919
+ }
1920
+ }
1921
+ const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;
1922
+ let loopedSlides = centeredSlides ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup;
1923
+ if (loopedSlides % slidesPerGroup !== 0) {
1924
+ loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;
1925
+ }
1926
+ loopedSlides += params.loopAdditionalSlides;
1927
+ swiper.loopedSlides = loopedSlides;
1928
+ const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
1929
+ if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
1930
+ showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');
1931
+ } else if (gridEnabled && params.grid.fill === 'row') {
1932
+ showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');
1933
+ }
1934
+ const prependSlidesIndexes = [];
1935
+ const appendSlidesIndexes = [];
1936
+ const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;
1937
+ const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !centeredSlides;
1938
+ let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;
1939
+ if (typeof activeSlideIndex === 'undefined') {
1940
+ activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));
1941
+ } else {
1942
+ activeIndex = activeSlideIndex;
1943
+ }
1944
+ const isNext = direction === 'next' || !direction;
1945
+ const isPrev = direction === 'prev' || !direction;
1946
+ let slidesPrepended = 0;
1947
+ let slidesAppended = 0;
1948
+ const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;
1949
+ const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);
1950
+ // prepend last slides before start
1951
+ if (activeColIndexWithShift < loopedSlides) {
1952
+ slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);
1953
+ for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {
1954
+ const index = i - Math.floor(i / cols) * cols;
1955
+ if (gridEnabled) {
1956
+ const colIndexToPrepend = cols - index - 1;
1957
+ for (let i = slides.length - 1; i >= 0; i -= 1) {
1958
+ if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);
1959
+ }
1960
+ // slides.forEach((slide, slideIndex) => {
1961
+ // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);
1962
+ // });
1963
+ } else {
1964
+ prependSlidesIndexes.push(cols - index - 1);
1965
+ }
1966
+ }
1967
+ } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {
1968
+ slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);
1969
+ if (isInitialOverflow) {
1970
+ slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);
1971
+ }
1972
+ for (let i = 0; i < slidesAppended; i += 1) {
1973
+ const index = i - Math.floor(i / cols) * cols;
1974
+ if (gridEnabled) {
1975
+ slides.forEach((slide, slideIndex) => {
1976
+ if (slide.column === index) appendSlidesIndexes.push(slideIndex);
1977
+ });
1978
+ } else {
1979
+ appendSlidesIndexes.push(index);
1980
+ }
1981
+ }
1982
+ }
1983
+ swiper.__preventObserver__ = true;
1984
+ requestAnimationFrame(() => {
1985
+ swiper.__preventObserver__ = false;
1986
+ });
1987
+ if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
1988
+ if (appendSlidesIndexes.includes(activeSlideIndex)) {
1989
+ appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);
1990
+ }
1991
+ if (prependSlidesIndexes.includes(activeSlideIndex)) {
1992
+ prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);
1993
+ }
1994
+ }
1995
+ if (isPrev) {
1996
+ prependSlidesIndexes.forEach(index => {
1997
+ slides[index].swiperLoopMoveDOM = true;
1998
+ slidesEl.prepend(slides[index]);
1999
+ slides[index].swiperLoopMoveDOM = false;
2000
+ });
2001
+ }
2002
+ if (isNext) {
2003
+ appendSlidesIndexes.forEach(index => {
2004
+ slides[index].swiperLoopMoveDOM = true;
2005
+ slidesEl.append(slides[index]);
2006
+ slides[index].swiperLoopMoveDOM = false;
2007
+ });
2008
+ }
2009
+ swiper.recalcSlides();
2010
+ if (params.slidesPerView === 'auto') {
2011
+ swiper.updateSlides();
2012
+ } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {
2013
+ swiper.slides.forEach((slide, slideIndex) => {
2014
+ swiper.grid.updateSlide(slideIndex, slide, swiper.slides);
2015
+ });
2016
+ }
2017
+ if (params.watchSlidesProgress) {
2018
+ swiper.updateSlidesOffset();
2019
+ }
2020
+ if (slideTo) {
2021
+ if (prependSlidesIndexes.length > 0 && isPrev) {
2022
+ if (typeof slideRealIndex === 'undefined') {
2023
+ const currentSlideTranslate = swiper.slidesGrid[activeIndex];
2024
+ const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];
2025
+ const diff = newSlideTranslate - currentSlideTranslate;
2026
+ if (byMousewheel) {
2027
+ swiper.setTranslate(swiper.translate - diff);
2028
+ } else {
2029
+ swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);
2030
+ if (setTranslate) {
2031
+ swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;
2032
+ swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;
2033
+ }
2034
+ }
2035
+ } else {
2036
+ if (setTranslate) {
2037
+ const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;
2038
+ swiper.slideTo(swiper.activeIndex + shift, 0, false, true);
2039
+ swiper.touchEventsData.currentTranslate = swiper.translate;
2040
+ }
2041
+ }
2042
+ } else if (appendSlidesIndexes.length > 0 && isNext) {
2043
+ if (typeof slideRealIndex === 'undefined') {
2044
+ const currentSlideTranslate = swiper.slidesGrid[activeIndex];
2045
+ const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];
2046
+ const diff = newSlideTranslate - currentSlideTranslate;
2047
+ if (byMousewheel) {
2048
+ swiper.setTranslate(swiper.translate - diff);
2049
+ } else {
2050
+ swiper.slideTo(activeIndex - slidesAppended, 0, false, true);
2051
+ if (setTranslate) {
2052
+ swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;
2053
+ swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;
2054
+ }
2055
+ }
2056
+ } else {
2057
+ const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;
2058
+ swiper.slideTo(swiper.activeIndex - shift, 0, false, true);
2059
+ }
2060
+ }
2061
+ }
2062
+ swiper.allowSlidePrev = allowSlidePrev;
2063
+ swiper.allowSlideNext = allowSlideNext;
2064
+ if (swiper.controller && swiper.controller.control && !byController) {
2065
+ const loopParams = {
2066
+ slideRealIndex,
2067
+ direction,
2068
+ setTranslate,
2069
+ activeSlideIndex,
2070
+ byController: true
2071
+ };
2072
+ if (Array.isArray(swiper.controller.control)) {
2073
+ swiper.controller.control.forEach(c => {
2074
+ if (!c.destroyed && c.params.loop) c.loopFix({
2075
+ ...loopParams,
2076
+ slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false
2077
+ });
2078
+ });
2079
+ } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {
2080
+ swiper.controller.control.loopFix({
2081
+ ...loopParams,
2082
+ slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false
2083
+ });
2084
+ }
2085
+ }
2086
+ swiper.emit('loopFix');
2087
+ }
2088
+
2089
+ function loopDestroy() {
2090
+ const swiper = this;
2091
+ const {
2092
+ params,
2093
+ slidesEl
2094
+ } = swiper;
2095
+ if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;
2096
+ swiper.recalcSlides();
2097
+ const newSlidesOrder = [];
2098
+ swiper.slides.forEach(slideEl => {
2099
+ const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;
2100
+ newSlidesOrder[index] = slideEl;
2101
+ });
2102
+ swiper.slides.forEach(slideEl => {
2103
+ slideEl.removeAttribute('data-swiper-slide-index');
2104
+ });
2105
+ newSlidesOrder.forEach(slideEl => {
2106
+ slidesEl.append(slideEl);
2107
+ });
2108
+ swiper.recalcSlides();
2109
+ swiper.slideTo(swiper.realIndex, 0);
2110
+ }
2111
+
2112
+ var loop = {
2113
+ loopCreate,
2114
+ loopFix,
2115
+ loopDestroy
2116
+ };
2117
+
2118
+ function setGrabCursor(moving) {
2119
+ const swiper = this;
2120
+ if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
2121
+ const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
2122
+ if (swiper.isElement) {
2123
+ swiper.__preventObserver__ = true;
2124
+ }
2125
+ el.style.cursor = 'move';
2126
+ el.style.cursor = moving ? 'grabbing' : 'grab';
2127
+ if (swiper.isElement) {
2128
+ requestAnimationFrame(() => {
2129
+ swiper.__preventObserver__ = false;
2130
+ });
2131
+ }
2132
+ }
2133
+
2134
+ function unsetGrabCursor() {
2135
+ const swiper = this;
2136
+ if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
2137
+ return;
2138
+ }
2139
+ if (swiper.isElement) {
2140
+ swiper.__preventObserver__ = true;
2141
+ }
2142
+ swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
2143
+ if (swiper.isElement) {
2144
+ requestAnimationFrame(() => {
2145
+ swiper.__preventObserver__ = false;
2146
+ });
2147
+ }
2148
+ }
2149
+
2150
+ var grabCursor = {
2151
+ setGrabCursor,
2152
+ unsetGrabCursor
2153
+ };
2154
+
2155
+ // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
2156
+ function closestElement(selector, base) {
2157
+ if (base === void 0) {
2158
+ base = this;
2159
+ }
2160
+ function __closestFrom(el) {
2161
+ if (!el || el === getDocument() || el === getWindow()) return null;
2162
+ if (el.assignedSlot) el = el.assignedSlot;
2163
+ const found = el.closest(selector);
2164
+ if (!found && !el.getRootNode) {
2165
+ return null;
2166
+ }
2167
+ return found || __closestFrom(el.getRootNode().host);
2168
+ }
2169
+ return __closestFrom(base);
2170
+ }
2171
+ function preventEdgeSwipe(swiper, event, startX) {
2172
+ const window = getWindow();
2173
+ const {
2174
+ params
2175
+ } = swiper;
2176
+ const edgeSwipeDetection = params.edgeSwipeDetection;
2177
+ const edgeSwipeThreshold = params.edgeSwipeThreshold;
2178
+ if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {
2179
+ if (edgeSwipeDetection === 'prevent') {
2180
+ event.preventDefault();
2181
+ return true;
2182
+ }
2183
+ return false;
2184
+ }
2185
+ return true;
2186
+ }
2187
+ function onTouchStart(event) {
2188
+ const swiper = this;
2189
+ const document = getDocument();
2190
+ let e = event;
2191
+ if (e.originalEvent) e = e.originalEvent;
2192
+ const data = swiper.touchEventsData;
2193
+ if (e.type === 'pointerdown') {
2194
+ if (data.pointerId !== null && data.pointerId !== e.pointerId) {
2195
+ return;
2196
+ }
2197
+ data.pointerId = e.pointerId;
2198
+ } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {
2199
+ data.touchId = e.targetTouches[0].identifier;
2200
+ }
2201
+ if (e.type === 'touchstart') {
2202
+ // don't proceed touch event
2203
+ preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);
2204
+ return;
2205
+ }
2206
+ const {
2207
+ params,
2208
+ touches,
2209
+ enabled
2210
+ } = swiper;
2211
+ if (!enabled) return;
2212
+ if (!params.simulateTouch && e.pointerType === 'mouse') return;
2213
+ if (swiper.animating && params.preventInteractionOnTransition) {
2214
+ return;
2215
+ }
2216
+ if (!swiper.animating && params.cssMode && params.loop) {
2217
+ swiper.loopFix();
2218
+ }
2219
+ let targetEl = e.target;
2220
+ if (params.touchEventsTarget === 'wrapper') {
2221
+ if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;
2222
+ }
2223
+ if ('which' in e && e.which === 3) return;
2224
+ if ('button' in e && e.button > 0) return;
2225
+ if (data.isTouched && data.isMoved) return;
2226
+
2227
+ // change target el for shadow root component
2228
+ const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';
2229
+ // eslint-disable-next-line
2230
+ const eventPath = e.composedPath ? e.composedPath() : e.path;
2231
+ if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {
2232
+ targetEl = eventPath[0];
2233
+ }
2234
+ const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;
2235
+ const isTargetShadow = !!(e.target && e.target.shadowRoot);
2236
+
2237
+ // use closestElement for shadow root element to get the actual closest for nested shadow root element
2238
+ if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {
2239
+ swiper.allowClick = true;
2240
+ return;
2241
+ }
2242
+ if (params.swipeHandler) {
2243
+ if (!targetEl.closest(params.swipeHandler)) return;
2244
+ }
2245
+ touches.currentX = e.pageX;
2246
+ touches.currentY = e.pageY;
2247
+ const startX = touches.currentX;
2248
+ const startY = touches.currentY;
2249
+
2250
+ // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
2251
+
2252
+ if (!preventEdgeSwipe(swiper, e, startX)) {
2253
+ return;
2254
+ }
2255
+ Object.assign(data, {
2256
+ isTouched: true,
2257
+ isMoved: false,
2258
+ allowTouchCallbacks: true,
2259
+ isScrolling: undefined,
2260
+ startMoving: undefined
2261
+ });
2262
+ touches.startX = startX;
2263
+ touches.startY = startY;
2264
+ data.touchStartTime = now();
2265
+ swiper.allowClick = true;
2266
+ swiper.updateSize();
2267
+ swiper.swipeDirection = undefined;
2268
+ if (params.threshold > 0) data.allowThresholdMove = false;
2269
+ let preventDefault = true;
2270
+ if (targetEl.matches(data.focusableElements)) {
2271
+ preventDefault = false;
2272
+ if (targetEl.nodeName === 'SELECT') {
2273
+ data.isTouched = false;
2274
+ }
2275
+ }
2276
+ if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {
2277
+ document.activeElement.blur();
2278
+ }
2279
+ const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
2280
+ if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {
2281
+ e.preventDefault();
2282
+ }
2283
+ if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {
2284
+ swiper.freeMode.onTouchStart();
2285
+ }
2286
+ swiper.emit('touchStart', e);
2287
+ }
2288
+
2289
+ function onTouchMove(event) {
2290
+ const document = getDocument();
2291
+ const swiper = this;
2292
+ const data = swiper.touchEventsData;
2293
+ const {
2294
+ params,
2295
+ touches,
2296
+ rtlTranslate: rtl,
2297
+ enabled
2298
+ } = swiper;
2299
+ if (!enabled) return;
2300
+ if (!params.simulateTouch && event.pointerType === 'mouse') return;
2301
+ let e = event;
2302
+ if (e.originalEvent) e = e.originalEvent;
2303
+ if (e.type === 'pointermove') {
2304
+ if (data.touchId !== null) return; // return from pointer if we use touch
2305
+ const id = e.pointerId;
2306
+ if (id !== data.pointerId) return;
2307
+ }
2308
+ let targetTouch;
2309
+ if (e.type === 'touchmove') {
2310
+ targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
2311
+ if (!targetTouch || targetTouch.identifier !== data.touchId) return;
2312
+ } else {
2313
+ targetTouch = e;
2314
+ }
2315
+ if (!data.isTouched) {
2316
+ if (data.startMoving && data.isScrolling) {
2317
+ swiper.emit('touchMoveOpposite', e);
2318
+ }
2319
+ return;
2320
+ }
2321
+ const pageX = targetTouch.pageX;
2322
+ const pageY = targetTouch.pageY;
2323
+ if (e.preventedByNestedSwiper) {
2324
+ touches.startX = pageX;
2325
+ touches.startY = pageY;
2326
+ return;
2327
+ }
2328
+ if (!swiper.allowTouchMove) {
2329
+ if (!e.target.matches(data.focusableElements)) {
2330
+ swiper.allowClick = false;
2331
+ }
2332
+ if (data.isTouched) {
2333
+ Object.assign(touches, {
2334
+ startX: pageX,
2335
+ startY: pageY,
2336
+ currentX: pageX,
2337
+ currentY: pageY
2338
+ });
2339
+ data.touchStartTime = now();
2340
+ }
2341
+ return;
2342
+ }
2343
+ if (params.touchReleaseOnEdges && !params.loop) {
2344
+ if (swiper.isVertical()) {
2345
+ // Vertical
2346
+ if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
2347
+ data.isTouched = false;
2348
+ data.isMoved = false;
2349
+ return;
2350
+ }
2351
+ } else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {
2352
+ return;
2353
+ } else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {
2354
+ return;
2355
+ }
2356
+ }
2357
+ if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {
2358
+ document.activeElement.blur();
2359
+ }
2360
+ if (document.activeElement) {
2361
+ if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
2362
+ data.isMoved = true;
2363
+ swiper.allowClick = false;
2364
+ return;
2365
+ }
2366
+ }
2367
+ if (data.allowTouchCallbacks) {
2368
+ swiper.emit('touchMove', e);
2369
+ }
2370
+ touches.previousX = touches.currentX;
2371
+ touches.previousY = touches.currentY;
2372
+ touches.currentX = pageX;
2373
+ touches.currentY = pageY;
2374
+ const diffX = touches.currentX - touches.startX;
2375
+ const diffY = touches.currentY - touches.startY;
2376
+ if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
2377
+ if (typeof data.isScrolling === 'undefined') {
2378
+ let touchAngle;
2379
+ if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
2380
+ data.isScrolling = false;
2381
+ } else {
2382
+ // eslint-disable-next-line
2383
+ if (diffX * diffX + diffY * diffY >= 25) {
2384
+ touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
2385
+ data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
2386
+ }
2387
+ }
2388
+ }
2389
+ if (data.isScrolling) {
2390
+ swiper.emit('touchMoveOpposite', e);
2391
+ }
2392
+ if (typeof data.startMoving === 'undefined') {
2393
+ if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
2394
+ data.startMoving = true;
2395
+ }
2396
+ }
2397
+ if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {
2398
+ data.isTouched = false;
2399
+ return;
2400
+ }
2401
+ if (!data.startMoving) {
2402
+ return;
2403
+ }
2404
+ swiper.allowClick = false;
2405
+ if (!params.cssMode && e.cancelable) {
2406
+ e.preventDefault();
2407
+ }
2408
+ if (params.touchMoveStopPropagation && !params.nested) {
2409
+ e.stopPropagation();
2410
+ }
2411
+ let diff = swiper.isHorizontal() ? diffX : diffY;
2412
+ let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;
2413
+ if (params.oneWayMovement) {
2414
+ diff = Math.abs(diff) * (rtl ? 1 : -1);
2415
+ touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);
2416
+ }
2417
+ touches.diff = diff;
2418
+ diff *= params.touchRatio;
2419
+ if (rtl) {
2420
+ diff = -diff;
2421
+ touchesDiff = -touchesDiff;
2422
+ }
2423
+ const prevTouchesDirection = swiper.touchesDirection;
2424
+ swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
2425
+ swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';
2426
+ const isLoop = swiper.params.loop && !params.cssMode;
2427
+ const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;
2428
+ if (!data.isMoved) {
2429
+ if (isLoop && allowLoopFix) {
2430
+ swiper.loopFix({
2431
+ direction: swiper.swipeDirection
2432
+ });
2433
+ }
2434
+ data.startTranslate = swiper.getTranslate();
2435
+ swiper.setTransition(0);
2436
+ if (swiper.animating) {
2437
+ const evt = new window.CustomEvent('transitionend', {
2438
+ bubbles: true,
2439
+ cancelable: true,
2440
+ detail: {
2441
+ bySwiperTouchMove: true
2442
+ }
2443
+ });
2444
+ swiper.wrapperEl.dispatchEvent(evt);
2445
+ }
2446
+ data.allowMomentumBounce = false;
2447
+ // Grab Cursor
2448
+ if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
2449
+ swiper.setGrabCursor(true);
2450
+ }
2451
+ swiper.emit('sliderFirstMove', e);
2452
+ }
2453
+ new Date().getTime();
2454
+ if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {
2455
+ Object.assign(touches, {
2456
+ startX: pageX,
2457
+ startY: pageY,
2458
+ currentX: pageX,
2459
+ currentY: pageY,
2460
+ startTranslate: data.currentTranslate
2461
+ });
2462
+ data.loopSwapReset = true;
2463
+ data.startTranslate = data.currentTranslate;
2464
+ return;
2465
+ }
2466
+ swiper.emit('sliderMove', e);
2467
+ data.isMoved = true;
2468
+ data.currentTranslate = diff + data.startTranslate;
2469
+ let disableParentSwiper = true;
2470
+ let resistanceRatio = params.resistanceRatio;
2471
+ if (params.touchReleaseOnEdges) {
2472
+ resistanceRatio = 0;
2473
+ }
2474
+ if (diff > 0) {
2475
+ if (isLoop && allowLoopFix && true && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {
2476
+ swiper.loopFix({
2477
+ direction: 'prev',
2478
+ setTranslate: true,
2479
+ activeSlideIndex: 0
2480
+ });
2481
+ }
2482
+ if (data.currentTranslate > swiper.minTranslate()) {
2483
+ disableParentSwiper = false;
2484
+ if (params.resistance) {
2485
+ data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
2486
+ }
2487
+ }
2488
+ } else if (diff < 0) {
2489
+ if (isLoop && allowLoopFix && true && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {
2490
+ swiper.loopFix({
2491
+ direction: 'next',
2492
+ setTranslate: true,
2493
+ activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))
2494
+ });
2495
+ }
2496
+ if (data.currentTranslate < swiper.maxTranslate()) {
2497
+ disableParentSwiper = false;
2498
+ if (params.resistance) {
2499
+ data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
2500
+ }
2501
+ }
2502
+ }
2503
+ if (disableParentSwiper) {
2504
+ e.preventedByNestedSwiper = true;
2505
+ }
2506
+
2507
+ // Directions locks
2508
+ if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
2509
+ data.currentTranslate = data.startTranslate;
2510
+ }
2511
+ if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
2512
+ data.currentTranslate = data.startTranslate;
2513
+ }
2514
+ if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
2515
+ data.currentTranslate = data.startTranslate;
2516
+ }
2517
+
2518
+ // Threshold
2519
+ if (params.threshold > 0) {
2520
+ if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
2521
+ if (!data.allowThresholdMove) {
2522
+ data.allowThresholdMove = true;
2523
+ touches.startX = touches.currentX;
2524
+ touches.startY = touches.currentY;
2525
+ data.currentTranslate = data.startTranslate;
2526
+ touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
2527
+ return;
2528
+ }
2529
+ } else {
2530
+ data.currentTranslate = data.startTranslate;
2531
+ return;
2532
+ }
2533
+ }
2534
+ if (!params.followFinger || params.cssMode) return;
2535
+
2536
+ // Update active index in free mode
2537
+ if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {
2538
+ swiper.updateActiveIndex();
2539
+ swiper.updateSlidesClasses();
2540
+ }
2541
+ if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {
2542
+ swiper.freeMode.onTouchMove();
2543
+ }
2544
+ // Update progress
2545
+ swiper.updateProgress(data.currentTranslate);
2546
+ // Update translate
2547
+ swiper.setTranslate(data.currentTranslate);
2548
+ }
2549
+
2550
+ function onTouchEnd(event) {
2551
+ const swiper = this;
2552
+ const data = swiper.touchEventsData;
2553
+ let e = event;
2554
+ if (e.originalEvent) e = e.originalEvent;
2555
+ let targetTouch;
2556
+ const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';
2557
+ if (!isTouchEvent) {
2558
+ if (data.touchId !== null) return; // return from pointer if we use touch
2559
+ if (e.pointerId !== data.pointerId) return;
2560
+ targetTouch = e;
2561
+ } else {
2562
+ targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
2563
+ if (!targetTouch || targetTouch.identifier !== data.touchId) return;
2564
+ }
2565
+ if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {
2566
+ const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);
2567
+ if (!proceed) {
2568
+ return;
2569
+ }
2570
+ }
2571
+ data.pointerId = null;
2572
+ data.touchId = null;
2573
+ const {
2574
+ params,
2575
+ touches,
2576
+ rtlTranslate: rtl,
2577
+ slidesGrid,
2578
+ enabled
2579
+ } = swiper;
2580
+ if (!enabled) return;
2581
+ if (!params.simulateTouch && e.pointerType === 'mouse') return;
2582
+ if (data.allowTouchCallbacks) {
2583
+ swiper.emit('touchEnd', e);
2584
+ }
2585
+ data.allowTouchCallbacks = false;
2586
+ if (!data.isTouched) {
2587
+ if (data.isMoved && params.grabCursor) {
2588
+ swiper.setGrabCursor(false);
2589
+ }
2590
+ data.isMoved = false;
2591
+ data.startMoving = false;
2592
+ return;
2593
+ }
2594
+
2595
+ // Return Grab Cursor
2596
+ if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
2597
+ swiper.setGrabCursor(false);
2598
+ }
2599
+
2600
+ // Time diff
2601
+ const touchEndTime = now();
2602
+ const timeDiff = touchEndTime - data.touchStartTime;
2603
+
2604
+ // Tap, doubleTap, Click
2605
+ if (swiper.allowClick) {
2606
+ const pathTree = e.path || e.composedPath && e.composedPath();
2607
+ swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);
2608
+ swiper.emit('tap click', e);
2609
+ if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
2610
+ swiper.emit('doubleTap doubleClick', e);
2611
+ }
2612
+ }
2613
+ data.lastClickTime = now();
2614
+ nextTick(() => {
2615
+ if (!swiper.destroyed) swiper.allowClick = true;
2616
+ });
2617
+ if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {
2618
+ data.isTouched = false;
2619
+ data.isMoved = false;
2620
+ data.startMoving = false;
2621
+ return;
2622
+ }
2623
+ data.isTouched = false;
2624
+ data.isMoved = false;
2625
+ data.startMoving = false;
2626
+ let currentPos;
2627
+ if (params.followFinger) {
2628
+ currentPos = rtl ? swiper.translate : -swiper.translate;
2629
+ } else {
2630
+ currentPos = -data.currentTranslate;
2631
+ }
2632
+ if (params.cssMode) {
2633
+ return;
2634
+ }
2635
+ if (params.freeMode && params.freeMode.enabled) {
2636
+ swiper.freeMode.onTouchEnd({
2637
+ currentPos
2638
+ });
2639
+ return;
2640
+ }
2641
+
2642
+ // Find current slide
2643
+ const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;
2644
+ let stopIndex = 0;
2645
+ let groupSize = swiper.slidesSizesGrid[0];
2646
+ for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
2647
+ const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
2648
+ if (typeof slidesGrid[i + increment] !== 'undefined') {
2649
+ if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
2650
+ stopIndex = i;
2651
+ groupSize = slidesGrid[i + increment] - slidesGrid[i];
2652
+ }
2653
+ } else if (swipeToLast || currentPos >= slidesGrid[i]) {
2654
+ stopIndex = i;
2655
+ groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
2656
+ }
2657
+ }
2658
+ let rewindFirstIndex = null;
2659
+ let rewindLastIndex = null;
2660
+ if (params.rewind) {
2661
+ if (swiper.isBeginning) {
2662
+ rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
2663
+ } else if (swiper.isEnd) {
2664
+ rewindFirstIndex = 0;
2665
+ }
2666
+ }
2667
+ // Find current slide size
2668
+ const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
2669
+ const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
2670
+ if (timeDiff > params.longSwipesMs) {
2671
+ // Long touches
2672
+ if (!params.longSwipes) {
2673
+ swiper.slideTo(swiper.activeIndex);
2674
+ return;
2675
+ }
2676
+ if (swiper.swipeDirection === 'next') {
2677
+ if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);
2678
+ }
2679
+ if (swiper.swipeDirection === 'prev') {
2680
+ if (ratio > 1 - params.longSwipesRatio) {
2681
+ swiper.slideTo(stopIndex + increment);
2682
+ } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {
2683
+ swiper.slideTo(rewindLastIndex);
2684
+ } else {
2685
+ swiper.slideTo(stopIndex);
2686
+ }
2687
+ }
2688
+ } else {
2689
+ // Short swipes
2690
+ if (!params.shortSwipes) {
2691
+ swiper.slideTo(swiper.activeIndex);
2692
+ return;
2693
+ }
2694
+ const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
2695
+ if (!isNavButtonTarget) {
2696
+ if (swiper.swipeDirection === 'next') {
2697
+ swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);
2698
+ }
2699
+ if (swiper.swipeDirection === 'prev') {
2700
+ swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);
2701
+ }
2702
+ } else if (e.target === swiper.navigation.nextEl) {
2703
+ swiper.slideTo(stopIndex + increment);
2704
+ } else {
2705
+ swiper.slideTo(stopIndex);
2706
+ }
2707
+ }
2708
+ }
2709
+
2710
+ function onResize() {
2711
+ const swiper = this;
2712
+ const {
2713
+ params,
2714
+ el
2715
+ } = swiper;
2716
+ if (el && el.offsetWidth === 0) return;
2717
+
2718
+ // Breakpoints
2719
+ if (params.breakpoints) {
2720
+ swiper.setBreakpoint();
2721
+ }
2722
+
2723
+ // Save locks
2724
+ const {
2725
+ allowSlideNext,
2726
+ allowSlidePrev,
2727
+ snapGrid
2728
+ } = swiper;
2729
+ const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
2730
+
2731
+ // Disable locks on resize
2732
+ swiper.allowSlideNext = true;
2733
+ swiper.allowSlidePrev = true;
2734
+ swiper.updateSize();
2735
+ swiper.updateSlides();
2736
+ swiper.updateSlidesClasses();
2737
+ const isVirtualLoop = isVirtual && params.loop;
2738
+ if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
2739
+ swiper.slideTo(swiper.slides.length - 1, 0, false, true);
2740
+ } else {
2741
+ if (swiper.params.loop && !isVirtual) {
2742
+ swiper.slideToLoop(swiper.realIndex, 0, false, true);
2743
+ } else {
2744
+ swiper.slideTo(swiper.activeIndex, 0, false, true);
2745
+ }
2746
+ }
2747
+ if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
2748
+ clearTimeout(swiper.autoplay.resizeTimeout);
2749
+ swiper.autoplay.resizeTimeout = setTimeout(() => {
2750
+ if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
2751
+ swiper.autoplay.resume();
2752
+ }
2753
+ }, 500);
2754
+ }
2755
+ // Return locks after resize
2756
+ swiper.allowSlidePrev = allowSlidePrev;
2757
+ swiper.allowSlideNext = allowSlideNext;
2758
+ if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
2759
+ swiper.checkOverflow();
2760
+ }
2761
+ }
2762
+
2763
+ function onClick(e) {
2764
+ const swiper = this;
2765
+ if (!swiper.enabled) return;
2766
+ if (!swiper.allowClick) {
2767
+ if (swiper.params.preventClicks) e.preventDefault();
2768
+ if (swiper.params.preventClicksPropagation && swiper.animating) {
2769
+ e.stopPropagation();
2770
+ e.stopImmediatePropagation();
2771
+ }
2772
+ }
2773
+ }
2774
+
2775
+ function onScroll() {
2776
+ const swiper = this;
2777
+ const {
2778
+ wrapperEl,
2779
+ rtlTranslate,
2780
+ enabled
2781
+ } = swiper;
2782
+ if (!enabled) return;
2783
+ swiper.previousTranslate = swiper.translate;
2784
+ if (swiper.isHorizontal()) {
2785
+ swiper.translate = -wrapperEl.scrollLeft;
2786
+ } else {
2787
+ swiper.translate = -wrapperEl.scrollTop;
2788
+ }
2789
+ // eslint-disable-next-line
2790
+ if (swiper.translate === 0) swiper.translate = 0;
2791
+ swiper.updateActiveIndex();
2792
+ swiper.updateSlidesClasses();
2793
+ let newProgress;
2794
+ const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
2795
+ if (translatesDiff === 0) {
2796
+ newProgress = 0;
2797
+ } else {
2798
+ newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
2799
+ }
2800
+ if (newProgress !== swiper.progress) {
2801
+ swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
2802
+ }
2803
+ swiper.emit('setTranslate', swiper.translate, false);
2804
+ }
2805
+
2806
+ function onLoad(e) {
2807
+ const swiper = this;
2808
+ processLazyPreloader(swiper, e.target);
2809
+ if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {
2810
+ return;
2811
+ }
2812
+ swiper.update();
2813
+ }
2814
+
2815
+ function onDocumentTouchStart() {
2816
+ const swiper = this;
2817
+ if (swiper.documentTouchHandlerProceeded) return;
2818
+ swiper.documentTouchHandlerProceeded = true;
2819
+ if (swiper.params.touchReleaseOnEdges) {
2820
+ swiper.el.style.touchAction = 'auto';
2821
+ }
2822
+ }
2823
+
2824
+ const events = (swiper, method) => {
2825
+ const document = getDocument();
2826
+ const {
2827
+ params,
2828
+ el,
2829
+ wrapperEl,
2830
+ device
2831
+ } = swiper;
2832
+ const capture = !!params.nested;
2833
+ const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
2834
+ const swiperMethod = method;
2835
+ if (!el || typeof el === 'string') return;
2836
+
2837
+ // Touch Events
2838
+ document[domMethod]('touchstart', swiper.onDocumentTouchStart, {
2839
+ passive: false,
2840
+ capture
2841
+ });
2842
+ el[domMethod]('touchstart', swiper.onTouchStart, {
2843
+ passive: false
2844
+ });
2845
+ el[domMethod]('pointerdown', swiper.onTouchStart, {
2846
+ passive: false
2847
+ });
2848
+ document[domMethod]('touchmove', swiper.onTouchMove, {
2849
+ passive: false,
2850
+ capture
2851
+ });
2852
+ document[domMethod]('pointermove', swiper.onTouchMove, {
2853
+ passive: false,
2854
+ capture
2855
+ });
2856
+ document[domMethod]('touchend', swiper.onTouchEnd, {
2857
+ passive: true
2858
+ });
2859
+ document[domMethod]('pointerup', swiper.onTouchEnd, {
2860
+ passive: true
2861
+ });
2862
+ document[domMethod]('pointercancel', swiper.onTouchEnd, {
2863
+ passive: true
2864
+ });
2865
+ document[domMethod]('touchcancel', swiper.onTouchEnd, {
2866
+ passive: true
2867
+ });
2868
+ document[domMethod]('pointerout', swiper.onTouchEnd, {
2869
+ passive: true
2870
+ });
2871
+ document[domMethod]('pointerleave', swiper.onTouchEnd, {
2872
+ passive: true
2873
+ });
2874
+ document[domMethod]('contextmenu', swiper.onTouchEnd, {
2875
+ passive: true
2876
+ });
2877
+
2878
+ // Prevent Links Clicks
2879
+ if (params.preventClicks || params.preventClicksPropagation) {
2880
+ el[domMethod]('click', swiper.onClick, true);
2881
+ }
2882
+ if (params.cssMode) {
2883
+ wrapperEl[domMethod]('scroll', swiper.onScroll);
2884
+ }
2885
+
2886
+ // Resize handler
2887
+ if (params.updateOnWindowResize) {
2888
+ swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);
2889
+ } else {
2890
+ swiper[swiperMethod]('observerUpdate', onResize, true);
2891
+ }
2892
+
2893
+ // Images loader
2894
+ el[domMethod]('load', swiper.onLoad, {
2895
+ capture: true
2896
+ });
2897
+ };
2898
+ function attachEvents() {
2899
+ const swiper = this;
2900
+ const {
2901
+ params
2902
+ } = swiper;
2903
+ swiper.onTouchStart = onTouchStart.bind(swiper);
2904
+ swiper.onTouchMove = onTouchMove.bind(swiper);
2905
+ swiper.onTouchEnd = onTouchEnd.bind(swiper);
2906
+ swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);
2907
+ if (params.cssMode) {
2908
+ swiper.onScroll = onScroll.bind(swiper);
2909
+ }
2910
+ swiper.onClick = onClick.bind(swiper);
2911
+ swiper.onLoad = onLoad.bind(swiper);
2912
+ events(swiper, 'on');
2913
+ }
2914
+ function detachEvents() {
2915
+ const swiper = this;
2916
+ events(swiper, 'off');
2917
+ }
2918
+ var events$1 = {
2919
+ attachEvents,
2920
+ detachEvents
2921
+ };
2922
+
2923
+ const isGridEnabled = (swiper, params) => {
2924
+ return swiper.grid && params.grid && params.grid.rows > 1;
2925
+ };
2926
+ function setBreakpoint() {
2927
+ const swiper = this;
2928
+ const {
2929
+ realIndex,
2930
+ initialized,
2931
+ params,
2932
+ el
2933
+ } = swiper;
2934
+ const breakpoints = params.breakpoints;
2935
+ if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;
2936
+ const document = getDocument();
2937
+
2938
+ // Get breakpoint for window/container width and update parameters
2939
+ const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';
2940
+ const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);
2941
+ const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);
2942
+ if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
2943
+ const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
2944
+ const breakpointParams = breakpointOnlyParams || swiper.originalParams;
2945
+ const wasMultiRow = isGridEnabled(swiper, params);
2946
+ const isMultiRow = isGridEnabled(swiper, breakpointParams);
2947
+ const wasGrabCursor = swiper.params.grabCursor;
2948
+ const isGrabCursor = breakpointParams.grabCursor;
2949
+ const wasEnabled = params.enabled;
2950
+ if (wasMultiRow && !isMultiRow) {
2951
+ el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
2952
+ swiper.emitContainerClasses();
2953
+ } else if (!wasMultiRow && isMultiRow) {
2954
+ el.classList.add(`${params.containerModifierClass}grid`);
2955
+ if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {
2956
+ el.classList.add(`${params.containerModifierClass}grid-column`);
2957
+ }
2958
+ swiper.emitContainerClasses();
2959
+ }
2960
+ if (wasGrabCursor && !isGrabCursor) {
2961
+ swiper.unsetGrabCursor();
2962
+ } else if (!wasGrabCursor && isGrabCursor) {
2963
+ swiper.setGrabCursor();
2964
+ }
2965
+
2966
+ // Toggle navigation, pagination, scrollbar
2967
+ ['navigation', 'pagination', 'scrollbar'].forEach(prop => {
2968
+ if (typeof breakpointParams[prop] === 'undefined') return;
2969
+ const wasModuleEnabled = params[prop] && params[prop].enabled;
2970
+ const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;
2971
+ if (wasModuleEnabled && !isModuleEnabled) {
2972
+ swiper[prop].disable();
2973
+ }
2974
+ if (!wasModuleEnabled && isModuleEnabled) {
2975
+ swiper[prop].enable();
2976
+ }
2977
+ });
2978
+ const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
2979
+ const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
2980
+ const wasLoop = params.loop;
2981
+ if (directionChanged && initialized) {
2982
+ swiper.changeDirection();
2983
+ }
2984
+ extend(swiper.params, breakpointParams);
2985
+ const isEnabled = swiper.params.enabled;
2986
+ const hasLoop = swiper.params.loop;
2987
+ Object.assign(swiper, {
2988
+ allowTouchMove: swiper.params.allowTouchMove,
2989
+ allowSlideNext: swiper.params.allowSlideNext,
2990
+ allowSlidePrev: swiper.params.allowSlidePrev
2991
+ });
2992
+ if (wasEnabled && !isEnabled) {
2993
+ swiper.disable();
2994
+ } else if (!wasEnabled && isEnabled) {
2995
+ swiper.enable();
2996
+ }
2997
+ swiper.currentBreakpoint = breakpoint;
2998
+ swiper.emit('_beforeBreakpoint', breakpointParams);
2999
+ if (initialized) {
3000
+ if (needsReLoop) {
3001
+ swiper.loopDestroy();
3002
+ swiper.loopCreate(realIndex);
3003
+ swiper.updateSlides();
3004
+ } else if (!wasLoop && hasLoop) {
3005
+ swiper.loopCreate(realIndex);
3006
+ swiper.updateSlides();
3007
+ } else if (wasLoop && !hasLoop) {
3008
+ swiper.loopDestroy();
3009
+ }
3010
+ }
3011
+ swiper.emit('breakpoint', breakpointParams);
3012
+ }
3013
+
3014
+ function getBreakpoint(breakpoints, base, containerEl) {
3015
+ if (base === void 0) {
3016
+ base = 'window';
3017
+ }
3018
+ if (!breakpoints || base === 'container' && !containerEl) return undefined;
3019
+ let breakpoint = false;
3020
+ const window = getWindow();
3021
+ const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
3022
+ const points = Object.keys(breakpoints).map(point => {
3023
+ if (typeof point === 'string' && point.indexOf('@') === 0) {
3024
+ const minRatio = parseFloat(point.substr(1));
3025
+ const value = currentHeight * minRatio;
3026
+ return {
3027
+ value,
3028
+ point
3029
+ };
3030
+ }
3031
+ return {
3032
+ value: point,
3033
+ point
3034
+ };
3035
+ });
3036
+ points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
3037
+ for (let i = 0; i < points.length; i += 1) {
3038
+ const {
3039
+ point,
3040
+ value
3041
+ } = points[i];
3042
+ if (base === 'window') {
3043
+ if (window.matchMedia(`(min-width: ${value}px)`).matches) {
3044
+ breakpoint = point;
3045
+ }
3046
+ } else if (value <= containerEl.clientWidth) {
3047
+ breakpoint = point;
3048
+ }
3049
+ }
3050
+ return breakpoint || 'max';
3051
+ }
3052
+
3053
+ var breakpoints = {
3054
+ setBreakpoint,
3055
+ getBreakpoint
3056
+ };
3057
+
3058
+ function prepareClasses(entries, prefix) {
3059
+ const resultClasses = [];
3060
+ entries.forEach(item => {
3061
+ if (typeof item === 'object') {
3062
+ Object.keys(item).forEach(classNames => {
3063
+ if (item[classNames]) {
3064
+ resultClasses.push(prefix + classNames);
3065
+ }
3066
+ });
3067
+ } else if (typeof item === 'string') {
3068
+ resultClasses.push(prefix + item);
3069
+ }
3070
+ });
3071
+ return resultClasses;
3072
+ }
3073
+ function addClasses() {
3074
+ const swiper = this;
3075
+ const {
3076
+ classNames,
3077
+ params,
3078
+ rtl,
3079
+ el,
3080
+ device
3081
+ } = swiper;
3082
+ // prettier-ignore
3083
+ const suffixes = prepareClasses(['initialized', params.direction, {
3084
+ 'free-mode': swiper.params.freeMode && params.freeMode.enabled
3085
+ }, {
3086
+ 'autoheight': params.autoHeight
3087
+ }, {
3088
+ 'rtl': rtl
3089
+ }, {
3090
+ 'grid': params.grid && params.grid.rows > 1
3091
+ }, {
3092
+ 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
3093
+ }, {
3094
+ 'android': device.android
3095
+ }, {
3096
+ 'ios': device.ios
3097
+ }, {
3098
+ 'css-mode': params.cssMode
3099
+ }, {
3100
+ 'centered': params.cssMode && params.centeredSlides
3101
+ }, {
3102
+ 'watch-progress': params.watchSlidesProgress
3103
+ }], params.containerModifierClass);
3104
+ classNames.push(...suffixes);
3105
+ el.classList.add(...classNames);
3106
+ swiper.emitContainerClasses();
3107
+ }
3108
+
3109
+ function removeClasses() {
3110
+ const swiper = this;
3111
+ const {
3112
+ el,
3113
+ classNames
3114
+ } = swiper;
3115
+ if (!el || typeof el === 'string') return;
3116
+ el.classList.remove(...classNames);
3117
+ swiper.emitContainerClasses();
3118
+ }
3119
+
3120
+ var classes = {
3121
+ addClasses,
3122
+ removeClasses
3123
+ };
3124
+
3125
+ function checkOverflow() {
3126
+ const swiper = this;
3127
+ const {
3128
+ isLocked: wasLocked,
3129
+ params
3130
+ } = swiper;
3131
+ const {
3132
+ slidesOffsetBefore
3133
+ } = params;
3134
+ if (slidesOffsetBefore) {
3135
+ const lastSlideIndex = swiper.slides.length - 1;
3136
+ const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
3137
+ swiper.isLocked = swiper.size > lastSlideRightEdge;
3138
+ } else {
3139
+ swiper.isLocked = swiper.snapGrid.length === 1;
3140
+ }
3141
+ if (params.allowSlideNext === true) {
3142
+ swiper.allowSlideNext = !swiper.isLocked;
3143
+ }
3144
+ if (params.allowSlidePrev === true) {
3145
+ swiper.allowSlidePrev = !swiper.isLocked;
3146
+ }
3147
+ if (wasLocked && wasLocked !== swiper.isLocked) {
3148
+ swiper.isEnd = false;
3149
+ }
3150
+ if (wasLocked !== swiper.isLocked) {
3151
+ swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
3152
+ }
3153
+ }
3154
+ var checkOverflow$1 = {
3155
+ checkOverflow
3156
+ };
3157
+
3158
+ var defaults = {
3159
+ init: true,
3160
+ direction: 'horizontal',
3161
+ oneWayMovement: false,
3162
+ swiperElementNodeName: 'SWIPER-CONTAINER',
3163
+ touchEventsTarget: 'wrapper',
3164
+ initialSlide: 0,
3165
+ speed: 300,
3166
+ cssMode: false,
3167
+ updateOnWindowResize: true,
3168
+ resizeObserver: true,
3169
+ nested: false,
3170
+ createElements: false,
3171
+ eventsPrefix: 'swiper',
3172
+ enabled: true,
3173
+ focusableElements: 'input, select, option, textarea, button, video, label',
3174
+ // Overrides
3175
+ width: null,
3176
+ height: null,
3177
+ //
3178
+ preventInteractionOnTransition: false,
3179
+ // ssr
3180
+ userAgent: null,
3181
+ url: null,
3182
+ // To support iOS's swipe-to-go-back gesture (when being used in-app).
3183
+ edgeSwipeDetection: false,
3184
+ edgeSwipeThreshold: 20,
3185
+ // Autoheight
3186
+ autoHeight: false,
3187
+ // Set wrapper width
3188
+ setWrapperSize: false,
3189
+ // Virtual Translate
3190
+ virtualTranslate: false,
3191
+ // Effects
3192
+ effect: 'slide',
3193
+ // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
3194
+
3195
+ // Breakpoints
3196
+ breakpoints: undefined,
3197
+ breakpointsBase: 'window',
3198
+ // Slides grid
3199
+ spaceBetween: 0,
3200
+ slidesPerView: 1,
3201
+ slidesPerGroup: 1,
3202
+ slidesPerGroupSkip: 0,
3203
+ slidesPerGroupAuto: false,
3204
+ centeredSlides: false,
3205
+ centeredSlidesBounds: false,
3206
+ slidesOffsetBefore: 0,
3207
+ // in px
3208
+ slidesOffsetAfter: 0,
3209
+ // in px
3210
+ normalizeSlideIndex: true,
3211
+ centerInsufficientSlides: false,
3212
+ // Disable swiper and hide navigation when container not overflow
3213
+ watchOverflow: true,
3214
+ // Round length
3215
+ roundLengths: false,
3216
+ // Touches
3217
+ touchRatio: 1,
3218
+ touchAngle: 45,
3219
+ simulateTouch: true,
3220
+ shortSwipes: true,
3221
+ longSwipes: true,
3222
+ longSwipesRatio: 0.5,
3223
+ longSwipesMs: 300,
3224
+ followFinger: true,
3225
+ allowTouchMove: true,
3226
+ threshold: 5,
3227
+ touchMoveStopPropagation: false,
3228
+ touchStartPreventDefault: true,
3229
+ touchStartForcePreventDefault: false,
3230
+ touchReleaseOnEdges: false,
3231
+ // Unique Navigation Elements
3232
+ uniqueNavElements: true,
3233
+ // Resistance
3234
+ resistance: true,
3235
+ resistanceRatio: 0.85,
3236
+ // Progress
3237
+ watchSlidesProgress: false,
3238
+ // Cursor
3239
+ grabCursor: false,
3240
+ // Clicks
3241
+ preventClicks: true,
3242
+ preventClicksPropagation: true,
3243
+ slideToClickedSlide: false,
3244
+ // loop
3245
+ loop: false,
3246
+ loopAddBlankSlides: true,
3247
+ loopAdditionalSlides: 0,
3248
+ loopPreventsSliding: true,
3249
+ // rewind
3250
+ rewind: false,
3251
+ // Swiping/no swiping
3252
+ allowSlidePrev: true,
3253
+ allowSlideNext: true,
3254
+ swipeHandler: null,
3255
+ // '.swipe-handler',
3256
+ noSwiping: true,
3257
+ noSwipingClass: 'swiper-no-swiping',
3258
+ noSwipingSelector: null,
3259
+ // Passive Listeners
3260
+ passiveListeners: true,
3261
+ maxBackfaceHiddenSlides: 10,
3262
+ // NS
3263
+ containerModifierClass: 'swiper-',
3264
+ // NEW
3265
+ slideClass: 'swiper-slide',
3266
+ slideBlankClass: 'swiper-slide-blank',
3267
+ slideActiveClass: 'swiper-slide-active',
3268
+ slideVisibleClass: 'swiper-slide-visible',
3269
+ slideFullyVisibleClass: 'swiper-slide-fully-visible',
3270
+ slideNextClass: 'swiper-slide-next',
3271
+ slidePrevClass: 'swiper-slide-prev',
3272
+ wrapperClass: 'swiper-wrapper',
3273
+ lazyPreloaderClass: 'swiper-lazy-preloader',
3274
+ lazyPreloadPrevNext: 0,
3275
+ // Callbacks
3276
+ runCallbacksOnInit: true,
3277
+ // Internals
3278
+ _emitClasses: false
3279
+ };
3280
+
3281
+ function moduleExtendParams(params, allModulesParams) {
3282
+ return function extendParams(obj) {
3283
+ if (obj === void 0) {
3284
+ obj = {};
3285
+ }
3286
+ const moduleParamName = Object.keys(obj)[0];
3287
+ const moduleParams = obj[moduleParamName];
3288
+ if (typeof moduleParams !== 'object' || moduleParams === null) {
3289
+ extend(allModulesParams, obj);
3290
+ return;
3291
+ }
3292
+ if (params[moduleParamName] === true) {
3293
+ params[moduleParamName] = {
3294
+ enabled: true
3295
+ };
3296
+ }
3297
+ if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {
3298
+ params[moduleParamName].auto = true;
3299
+ }
3300
+ if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {
3301
+ params[moduleParamName].auto = true;
3302
+ }
3303
+ if (!(moduleParamName in params && 'enabled' in moduleParams)) {
3304
+ extend(allModulesParams, obj);
3305
+ return;
3306
+ }
3307
+ if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
3308
+ params[moduleParamName].enabled = true;
3309
+ }
3310
+ if (!params[moduleParamName]) params[moduleParamName] = {
3311
+ enabled: false
3312
+ };
3313
+ extend(allModulesParams, obj);
3314
+ };
3315
+ }
3316
+
3317
+ /* eslint no-param-reassign: "off" */
3318
+ const prototypes = {
3319
+ eventsEmitter,
3320
+ update,
3321
+ translate,
3322
+ transition,
3323
+ slide,
3324
+ loop,
3325
+ grabCursor,
3326
+ events: events$1,
3327
+ breakpoints,
3328
+ checkOverflow: checkOverflow$1,
3329
+ classes
3330
+ };
3331
+ const extendedDefaults = {};
3332
+ class Swiper {
3333
+ constructor() {
3334
+ let el;
3335
+ let params;
3336
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3337
+ args[_key] = arguments[_key];
3338
+ }
3339
+ if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
3340
+ params = args[0];
3341
+ } else {
3342
+ [el, params] = args;
3343
+ }
3344
+ if (!params) params = {};
3345
+ params = extend({}, params);
3346
+ if (el && !params.el) params.el = el;
3347
+ const document = getDocument();
3348
+ if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {
3349
+ const swipers = [];
3350
+ document.querySelectorAll(params.el).forEach(containerEl => {
3351
+ const newParams = extend({}, params, {
3352
+ el: containerEl
3353
+ });
3354
+ swipers.push(new Swiper(newParams));
3355
+ });
3356
+ // eslint-disable-next-line no-constructor-return
3357
+ return swipers;
3358
+ }
3359
+
3360
+ // Swiper Instance
3361
+ const swiper = this;
3362
+ swiper.__swiper__ = true;
3363
+ swiper.support = getSupport();
3364
+ swiper.device = getDevice({
3365
+ userAgent: params.userAgent
3366
+ });
3367
+ swiper.browser = getBrowser();
3368
+ swiper.eventsListeners = {};
3369
+ swiper.eventsAnyListeners = [];
3370
+ swiper.modules = [...swiper.__modules__];
3371
+ if (params.modules && Array.isArray(params.modules)) {
3372
+ swiper.modules.push(...params.modules);
3373
+ }
3374
+ const allModulesParams = {};
3375
+ swiper.modules.forEach(mod => {
3376
+ mod({
3377
+ params,
3378
+ swiper,
3379
+ extendParams: moduleExtendParams(params, allModulesParams),
3380
+ on: swiper.on.bind(swiper),
3381
+ once: swiper.once.bind(swiper),
3382
+ off: swiper.off.bind(swiper),
3383
+ emit: swiper.emit.bind(swiper)
3384
+ });
3385
+ });
3386
+
3387
+ // Extend defaults with modules params
3388
+ const swiperParams = extend({}, defaults, allModulesParams);
3389
+
3390
+ // Extend defaults with passed params
3391
+ swiper.params = extend({}, swiperParams, extendedDefaults, params);
3392
+ swiper.originalParams = extend({}, swiper.params);
3393
+ swiper.passedParams = extend({}, params);
3394
+
3395
+ // add event listeners
3396
+ if (swiper.params && swiper.params.on) {
3397
+ Object.keys(swiper.params.on).forEach(eventName => {
3398
+ swiper.on(eventName, swiper.params.on[eventName]);
3399
+ });
3400
+ }
3401
+ if (swiper.params && swiper.params.onAny) {
3402
+ swiper.onAny(swiper.params.onAny);
3403
+ }
3404
+
3405
+ // Extend Swiper
3406
+ Object.assign(swiper, {
3407
+ enabled: swiper.params.enabled,
3408
+ el,
3409
+ // Classes
3410
+ classNames: [],
3411
+ // Slides
3412
+ slides: [],
3413
+ slidesGrid: [],
3414
+ snapGrid: [],
3415
+ slidesSizesGrid: [],
3416
+ // isDirection
3417
+ isHorizontal() {
3418
+ return swiper.params.direction === 'horizontal';
3419
+ },
3420
+ isVertical() {
3421
+ return swiper.params.direction === 'vertical';
3422
+ },
3423
+ // Indexes
3424
+ activeIndex: 0,
3425
+ realIndex: 0,
3426
+ //
3427
+ isBeginning: true,
3428
+ isEnd: false,
3429
+ // Props
3430
+ translate: 0,
3431
+ previousTranslate: 0,
3432
+ progress: 0,
3433
+ velocity: 0,
3434
+ animating: false,
3435
+ cssOverflowAdjustment() {
3436
+ // Returns 0 unless `translate` is > 2**23
3437
+ // Should be subtracted from css values to prevent overflow
3438
+ return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
3439
+ },
3440
+ // Locks
3441
+ allowSlideNext: swiper.params.allowSlideNext,
3442
+ allowSlidePrev: swiper.params.allowSlidePrev,
3443
+ // Touch Events
3444
+ touchEventsData: {
3445
+ isTouched: undefined,
3446
+ isMoved: undefined,
3447
+ allowTouchCallbacks: undefined,
3448
+ touchStartTime: undefined,
3449
+ isScrolling: undefined,
3450
+ currentTranslate: undefined,
3451
+ startTranslate: undefined,
3452
+ allowThresholdMove: undefined,
3453
+ // Form elements to match
3454
+ focusableElements: swiper.params.focusableElements,
3455
+ // Last click time
3456
+ lastClickTime: 0,
3457
+ clickTimeout: undefined,
3458
+ // Velocities
3459
+ velocities: [],
3460
+ allowMomentumBounce: undefined,
3461
+ startMoving: undefined,
3462
+ pointerId: null,
3463
+ touchId: null
3464
+ },
3465
+ // Clicks
3466
+ allowClick: true,
3467
+ // Touches
3468
+ allowTouchMove: swiper.params.allowTouchMove,
3469
+ touches: {
3470
+ startX: 0,
3471
+ startY: 0,
3472
+ currentX: 0,
3473
+ currentY: 0,
3474
+ diff: 0
3475
+ },
3476
+ // Images
3477
+ imagesToLoad: [],
3478
+ imagesLoaded: 0
3479
+ });
3480
+ swiper.emit('_swiper');
3481
+
3482
+ // Init
3483
+ if (swiper.params.init) {
3484
+ swiper.init();
3485
+ }
3486
+
3487
+ // Return app instance
3488
+ // eslint-disable-next-line no-constructor-return
3489
+ return swiper;
3490
+ }
3491
+ getDirectionLabel(property) {
3492
+ if (this.isHorizontal()) {
3493
+ return property;
3494
+ }
3495
+ // prettier-ignore
3496
+ return {
3497
+ 'width': 'height',
3498
+ 'margin-top': 'margin-left',
3499
+ 'margin-bottom ': 'margin-right',
3500
+ 'margin-left': 'margin-top',
3501
+ 'margin-right': 'margin-bottom',
3502
+ 'padding-left': 'padding-top',
3503
+ 'padding-right': 'padding-bottom',
3504
+ 'marginRight': 'marginBottom'
3505
+ }[property];
3506
+ }
3507
+ getSlideIndex(slideEl) {
3508
+ const {
3509
+ slidesEl,
3510
+ params
3511
+ } = this;
3512
+ const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
3513
+ const firstSlideIndex = elementIndex(slides[0]);
3514
+ return elementIndex(slideEl) - firstSlideIndex;
3515
+ }
3516
+ getSlideIndexByData(index) {
3517
+ return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));
3518
+ }
3519
+ getSlideIndexWhenGrid(index) {
3520
+ if (this.grid && this.params.grid && this.params.grid.rows > 1) {
3521
+ if (this.params.grid.fill === 'column') {
3522
+ index = Math.floor(index / this.params.grid.rows);
3523
+ } else if (this.params.grid.fill === 'row') {
3524
+ index = index % Math.ceil(this.slides.length / this.params.grid.rows);
3525
+ }
3526
+ }
3527
+ return index;
3528
+ }
3529
+ recalcSlides() {
3530
+ const swiper = this;
3531
+ const {
3532
+ slidesEl,
3533
+ params
3534
+ } = swiper;
3535
+ swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
3536
+ }
3537
+ enable() {
3538
+ const swiper = this;
3539
+ if (swiper.enabled) return;
3540
+ swiper.enabled = true;
3541
+ if (swiper.params.grabCursor) {
3542
+ swiper.setGrabCursor();
3543
+ }
3544
+ swiper.emit('enable');
3545
+ }
3546
+ disable() {
3547
+ const swiper = this;
3548
+ if (!swiper.enabled) return;
3549
+ swiper.enabled = false;
3550
+ if (swiper.params.grabCursor) {
3551
+ swiper.unsetGrabCursor();
3552
+ }
3553
+ swiper.emit('disable');
3554
+ }
3555
+ setProgress(progress, speed) {
3556
+ const swiper = this;
3557
+ progress = Math.min(Math.max(progress, 0), 1);
3558
+ const min = swiper.minTranslate();
3559
+ const max = swiper.maxTranslate();
3560
+ const current = (max - min) * progress + min;
3561
+ swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);
3562
+ swiper.updateActiveIndex();
3563
+ swiper.updateSlidesClasses();
3564
+ }
3565
+ emitContainerClasses() {
3566
+ const swiper = this;
3567
+ if (!swiper.params._emitClasses || !swiper.el) return;
3568
+ const cls = swiper.el.className.split(' ').filter(className => {
3569
+ return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
3570
+ });
3571
+ swiper.emit('_containerClasses', cls.join(' '));
3572
+ }
3573
+ getSlideClasses(slideEl) {
3574
+ const swiper = this;
3575
+ if (swiper.destroyed) return '';
3576
+ return slideEl.className.split(' ').filter(className => {
3577
+ return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
3578
+ }).join(' ');
3579
+ }
3580
+ emitSlidesClasses() {
3581
+ const swiper = this;
3582
+ if (!swiper.params._emitClasses || !swiper.el) return;
3583
+ const updates = [];
3584
+ swiper.slides.forEach(slideEl => {
3585
+ const classNames = swiper.getSlideClasses(slideEl);
3586
+ updates.push({
3587
+ slideEl,
3588
+ classNames
3589
+ });
3590
+ swiper.emit('_slideClass', slideEl, classNames);
3591
+ });
3592
+ swiper.emit('_slideClasses', updates);
3593
+ }
3594
+ slidesPerViewDynamic(view, exact) {
3595
+ if (view === void 0) {
3596
+ view = 'current';
3597
+ }
3598
+ if (exact === void 0) {
3599
+ exact = false;
3600
+ }
3601
+ const swiper = this;
3602
+ const {
3603
+ params,
3604
+ slides,
3605
+ slidesGrid,
3606
+ slidesSizesGrid,
3607
+ size: swiperSize,
3608
+ activeIndex
3609
+ } = swiper;
3610
+ let spv = 1;
3611
+ if (typeof params.slidesPerView === 'number') return params.slidesPerView;
3612
+ if (params.centeredSlides) {
3613
+ let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;
3614
+ let breakLoop;
3615
+ for (let i = activeIndex + 1; i < slides.length; i += 1) {
3616
+ if (slides[i] && !breakLoop) {
3617
+ slideSize += Math.ceil(slides[i].swiperSlideSize);
3618
+ spv += 1;
3619
+ if (slideSize > swiperSize) breakLoop = true;
3620
+ }
3621
+ }
3622
+ for (let i = activeIndex - 1; i >= 0; i -= 1) {
3623
+ if (slides[i] && !breakLoop) {
3624
+ slideSize += slides[i].swiperSlideSize;
3625
+ spv += 1;
3626
+ if (slideSize > swiperSize) breakLoop = true;
3627
+ }
3628
+ }
3629
+ } else {
3630
+ // eslint-disable-next-line
3631
+ if (view === 'current') {
3632
+ for (let i = activeIndex + 1; i < slides.length; i += 1) {
3633
+ const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
3634
+ if (slideInView) {
3635
+ spv += 1;
3636
+ }
3637
+ }
3638
+ } else {
3639
+ // previous
3640
+ for (let i = activeIndex - 1; i >= 0; i -= 1) {
3641
+ const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
3642
+ if (slideInView) {
3643
+ spv += 1;
3644
+ }
3645
+ }
3646
+ }
3647
+ }
3648
+ return spv;
3649
+ }
3650
+ update() {
3651
+ const swiper = this;
3652
+ if (!swiper || swiper.destroyed) return;
3653
+ const {
3654
+ snapGrid,
3655
+ params
3656
+ } = swiper;
3657
+ // Breakpoints
3658
+ if (params.breakpoints) {
3659
+ swiper.setBreakpoint();
3660
+ }
3661
+ [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => {
3662
+ if (imageEl.complete) {
3663
+ processLazyPreloader(swiper, imageEl);
3664
+ }
3665
+ });
3666
+ swiper.updateSize();
3667
+ swiper.updateSlides();
3668
+ swiper.updateProgress();
3669
+ swiper.updateSlidesClasses();
3670
+ function setTranslate() {
3671
+ const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
3672
+ const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
3673
+ swiper.setTranslate(newTranslate);
3674
+ swiper.updateActiveIndex();
3675
+ swiper.updateSlidesClasses();
3676
+ }
3677
+ let translated;
3678
+ if (params.freeMode && params.freeMode.enabled && !params.cssMode) {
3679
+ setTranslate();
3680
+ if (params.autoHeight) {
3681
+ swiper.updateAutoHeight();
3682
+ }
3683
+ } else {
3684
+ if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {
3685
+ const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;
3686
+ translated = swiper.slideTo(slides.length - 1, 0, false, true);
3687
+ } else {
3688
+ translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
3689
+ }
3690
+ if (!translated) {
3691
+ setTranslate();
3692
+ }
3693
+ }
3694
+ if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
3695
+ swiper.checkOverflow();
3696
+ }
3697
+ swiper.emit('update');
3698
+ }
3699
+ changeDirection(newDirection, needUpdate) {
3700
+ if (needUpdate === void 0) {
3701
+ needUpdate = true;
3702
+ }
3703
+ const swiper = this;
3704
+ const currentDirection = swiper.params.direction;
3705
+ if (!newDirection) {
3706
+ // eslint-disable-next-line
3707
+ newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
3708
+ }
3709
+ if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
3710
+ return swiper;
3711
+ }
3712
+ swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);
3713
+ swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);
3714
+ swiper.emitContainerClasses();
3715
+ swiper.params.direction = newDirection;
3716
+ swiper.slides.forEach(slideEl => {
3717
+ if (newDirection === 'vertical') {
3718
+ slideEl.style.width = '';
3719
+ } else {
3720
+ slideEl.style.height = '';
3721
+ }
3722
+ });
3723
+ swiper.emit('changeDirection');
3724
+ if (needUpdate) swiper.update();
3725
+ return swiper;
3726
+ }
3727
+ changeLanguageDirection(direction) {
3728
+ const swiper = this;
3729
+ if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;
3730
+ swiper.rtl = direction === 'rtl';
3731
+ swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;
3732
+ if (swiper.rtl) {
3733
+ swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);
3734
+ swiper.el.dir = 'rtl';
3735
+ } else {
3736
+ swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);
3737
+ swiper.el.dir = 'ltr';
3738
+ }
3739
+ swiper.update();
3740
+ }
3741
+ mount(element) {
3742
+ const swiper = this;
3743
+ if (swiper.mounted) return true;
3744
+
3745
+ // Find el
3746
+ let el = element || swiper.params.el;
3747
+ if (typeof el === 'string') {
3748
+ el = document.querySelector(el);
3749
+ }
3750
+ if (!el) {
3751
+ return false;
3752
+ }
3753
+ el.swiper = swiper;
3754
+ if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {
3755
+ swiper.isElement = true;
3756
+ }
3757
+ const getWrapperSelector = () => {
3758
+ return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;
3759
+ };
3760
+ const getWrapper = () => {
3761
+ if (el && el.shadowRoot && el.shadowRoot.querySelector) {
3762
+ const res = el.shadowRoot.querySelector(getWrapperSelector());
3763
+ // Children needs to return slot items
3764
+ return res;
3765
+ }
3766
+ return elementChildren(el, getWrapperSelector())[0];
3767
+ };
3768
+ // Find Wrapper
3769
+ let wrapperEl = getWrapper();
3770
+ if (!wrapperEl && swiper.params.createElements) {
3771
+ wrapperEl = createElement('div', swiper.params.wrapperClass);
3772
+ el.append(wrapperEl);
3773
+ elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {
3774
+ wrapperEl.append(slideEl);
3775
+ });
3776
+ }
3777
+ Object.assign(swiper, {
3778
+ el,
3779
+ wrapperEl,
3780
+ slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,
3781
+ hostEl: swiper.isElement ? el.parentNode.host : el,
3782
+ mounted: true,
3783
+ // RTL
3784
+ rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',
3785
+ rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),
3786
+ wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'
3787
+ });
3788
+ return true;
3789
+ }
3790
+ init(el) {
3791
+ const swiper = this;
3792
+ if (swiper.initialized) return swiper;
3793
+ const mounted = swiper.mount(el);
3794
+ if (mounted === false) return swiper;
3795
+ swiper.emit('beforeInit');
3796
+
3797
+ // Set breakpoint
3798
+ if (swiper.params.breakpoints) {
3799
+ swiper.setBreakpoint();
3800
+ }
3801
+
3802
+ // Add Classes
3803
+ swiper.addClasses();
3804
+
3805
+ // Update size
3806
+ swiper.updateSize();
3807
+
3808
+ // Update slides
3809
+ swiper.updateSlides();
3810
+ if (swiper.params.watchOverflow) {
3811
+ swiper.checkOverflow();
3812
+ }
3813
+
3814
+ // Set Grab Cursor
3815
+ if (swiper.params.grabCursor && swiper.enabled) {
3816
+ swiper.setGrabCursor();
3817
+ }
3818
+
3819
+ // Slide To Initial Slide
3820
+ if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
3821
+ swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);
3822
+ } else {
3823
+ swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
3824
+ }
3825
+
3826
+ // Create loop
3827
+ if (swiper.params.loop) {
3828
+ swiper.loopCreate(undefined, true);
3829
+ }
3830
+
3831
+ // Attach events
3832
+ swiper.attachEvents();
3833
+ const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')];
3834
+ if (swiper.isElement) {
3835
+ lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'));
3836
+ }
3837
+ lazyElements.forEach(imageEl => {
3838
+ if (imageEl.complete) {
3839
+ processLazyPreloader(swiper, imageEl);
3840
+ } else {
3841
+ imageEl.addEventListener('load', e => {
3842
+ processLazyPreloader(swiper, e.target);
3843
+ });
3844
+ }
3845
+ });
3846
+ preload(swiper);
3847
+
3848
+ // Init Flag
3849
+ swiper.initialized = true;
3850
+ preload(swiper);
3851
+
3852
+ // Emit
3853
+ swiper.emit('init');
3854
+ swiper.emit('afterInit');
3855
+ return swiper;
3856
+ }
3857
+ destroy(deleteInstance, cleanStyles) {
3858
+ if (deleteInstance === void 0) {
3859
+ deleteInstance = true;
3860
+ }
3861
+ if (cleanStyles === void 0) {
3862
+ cleanStyles = true;
3863
+ }
3864
+ const swiper = this;
3865
+ const {
3866
+ params,
3867
+ el,
3868
+ wrapperEl,
3869
+ slides
3870
+ } = swiper;
3871
+ if (typeof swiper.params === 'undefined' || swiper.destroyed) {
3872
+ return null;
3873
+ }
3874
+ swiper.emit('beforeDestroy');
3875
+
3876
+ // Init Flag
3877
+ swiper.initialized = false;
3878
+
3879
+ // Detach events
3880
+ swiper.detachEvents();
3881
+
3882
+ // Destroy loop
3883
+ if (params.loop) {
3884
+ swiper.loopDestroy();
3885
+ }
3886
+
3887
+ // Cleanup styles
3888
+ if (cleanStyles) {
3889
+ swiper.removeClasses();
3890
+ if (el && typeof el !== 'string') {
3891
+ el.removeAttribute('style');
3892
+ }
3893
+ if (wrapperEl) {
3894
+ wrapperEl.removeAttribute('style');
3895
+ }
3896
+ if (slides && slides.length) {
3897
+ slides.forEach(slideEl => {
3898
+ slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
3899
+ slideEl.removeAttribute('style');
3900
+ slideEl.removeAttribute('data-swiper-slide-index');
3901
+ });
3902
+ }
3903
+ }
3904
+ swiper.emit('destroy');
3905
+
3906
+ // Detach emitter events
3907
+ Object.keys(swiper.eventsListeners).forEach(eventName => {
3908
+ swiper.off(eventName);
3909
+ });
3910
+ if (deleteInstance !== false) {
3911
+ if (swiper.el && typeof swiper.el !== 'string') {
3912
+ swiper.el.swiper = null;
3913
+ }
3914
+ deleteProps(swiper);
3915
+ }
3916
+ swiper.destroyed = true;
3917
+ return null;
3918
+ }
3919
+ static extendDefaults(newDefaults) {
3920
+ extend(extendedDefaults, newDefaults);
3921
+ }
3922
+ static get extendedDefaults() {
3923
+ return extendedDefaults;
3924
+ }
3925
+ static get defaults() {
3926
+ return defaults;
3927
+ }
3928
+ static installModule(mod) {
3929
+ if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
3930
+ const modules = Swiper.prototype.__modules__;
3931
+ if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
3932
+ modules.push(mod);
3933
+ }
3934
+ }
3935
+ static use(module) {
3936
+ if (Array.isArray(module)) {
3937
+ module.forEach(m => Swiper.installModule(m));
3938
+ return Swiper;
3939
+ }
3940
+ Swiper.installModule(module);
3941
+ return Swiper;
3942
+ }
3943
+ }
3944
+ Object.keys(prototypes).forEach(prototypeGroup => {
3945
+ Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
3946
+ Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
3947
+ });
3948
+ });
3949
+ Swiper.use([Resize, Observer]);
3950
+
3951
+ export { Swiper as S, defaults as d };