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