ccxt 4.2.100 → 4.3.2

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 (330) hide show
  1. package/README.md +6 -5
  2. package/dist/cjs/ccxt.js +1 -1
  3. package/dist/cjs/src/base/Exchange.js +3 -0
  4. package/dist/cjs/src/binance.js +56 -0
  5. package/dist/cjs/src/bingx.js +2 -2
  6. package/dist/cjs/src/bitget.js +69 -5
  7. package/dist/cjs/src/bybit.js +1 -1
  8. package/dist/cjs/src/coinbase.js +2 -1
  9. package/dist/cjs/src/coinbasepro.js +1 -1
  10. package/dist/cjs/src/coinex.js +164 -206
  11. package/dist/cjs/src/cryptocom.js +5 -5
  12. package/dist/cjs/src/hyperliquid.js +74 -0
  13. package/dist/cjs/src/kraken.js +8 -3
  14. package/dist/cjs/src/kucoin.js +13 -11
  15. package/dist/cjs/src/okx.js +76 -5
  16. package/dist/cjs/src/pro/kraken.js +2 -2
  17. package/dist/cjs/src/woo.js +40 -0
  18. package/js/ccxt.d.ts +1 -1
  19. package/js/ccxt.js +1 -1
  20. package/js/src/base/Exchange.d.ts +2 -1
  21. package/js/src/base/Exchange.js +3 -0
  22. package/js/src/base/types.d.ts +5 -0
  23. package/js/src/binance.d.ts +3 -1
  24. package/js/src/binance.js +56 -0
  25. package/js/src/bingx.js +3 -3
  26. package/js/src/bitget.d.ts +1 -0
  27. package/js/src/bitget.js +69 -5
  28. package/js/src/bybit.js +1 -1
  29. package/js/src/coinbase.js +2 -1
  30. package/js/src/coinbasepro.d.ts +1 -1
  31. package/js/src/coinbasepro.js +1 -1
  32. package/js/src/coinex.js +164 -206
  33. package/js/src/cryptocom.js +5 -5
  34. package/js/src/hyperliquid.d.ts +2 -1
  35. package/js/src/hyperliquid.js +75 -1
  36. package/js/src/kraken.js +8 -3
  37. package/js/src/kucoin.js +13 -11
  38. package/js/src/okx.d.ts +1 -0
  39. package/js/src/okx.js +76 -5
  40. package/js/src/pro/kraken.js +2 -2
  41. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  42. package/js/src/woo.d.ts +1 -0
  43. package/js/src/woo.js +40 -0
  44. package/package.json +2 -1
  45. package/.dockerignore +0 -6
  46. package/.eslintignore +0 -1
  47. package/.git-templates/hooks/pre-push +0 -55
  48. package/.gitattributes +0 -7
  49. package/CHANGELOG.md +0 -6003
  50. package/CODEOWNERS +0 -1
  51. package/CONTRIBUTING.md +0 -1099
  52. package/build.sh +0 -217
  53. package/change.sh +0 -18
  54. package/cleanup.sh +0 -18
  55. package/composer-install.sh +0 -20
  56. package/dist/ccxt.browser.js +0 -327256
  57. package/dist/ccxt.browser.min.js +0 -30
  58. package/dist/ccxt.browser.min.js.LICENSE.txt +0 -12
  59. package/doc/FAQ.rst +0 -1
  60. package/doc/Makefile +0 -20
  61. package/doc/_static/css/dark.css +0 -101
  62. package/doc/_static/css/index.css +0 -128
  63. package/doc/_static/favicon.ico +0 -0
  64. package/doc/_static/javascript/binance-portal.min.js +0 -2369
  65. package/doc/_static/javascript/index.js +0 -195
  66. package/doc/_static/javascript/jquery-ui.min.js +0 -6
  67. package/doc/ccxt.pro.install.rst +0 -1
  68. package/doc/ccxt.pro.manual.rst +0 -1665
  69. package/doc/exchange-markets-by-country.rst +0 -1423
  70. package/doc/exchange-markets.rst +0 -1441
  71. package/doc/index.rst +0 -35
  72. package/doc/install.rst +0 -1
  73. package/doc/make.bat +0 -36
  74. package/doc/manual.rst +0 -7471
  75. package/doc/readme.rst +0 -2191
  76. package/doc/requirements.txt +0 -6
  77. package/examples/ccxt.pro/html/watchTicker.html +0 -51
  78. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +0 -55
  79. package/examples/ccxt.pro/js/binance-https-proxy.js +0 -48
  80. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +0 -38
  81. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +0 -64
  82. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +0 -62
  83. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +0 -68
  84. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +0 -82
  85. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +0 -59
  86. package/examples/ccxt.pro/js/exchange-capabitities.js +0 -72
  87. package/examples/ccxt.pro/js/exchange-close.js +0 -46
  88. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +0 -30
  89. package/examples/ccxt.pro/js/gateio-watch-balance.js +0 -23
  90. package/examples/ccxt.pro/js/gateio-watch-order-book.js +0 -71
  91. package/examples/ccxt.pro/js/graceful-shutdown.js +0 -43
  92. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +0 -37
  93. package/examples/ccxt.pro/js/okex-create-futures-order.js +0 -48
  94. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +0 -54
  95. package/examples/ccxt.pro/js/okx-watch-tickers.js +0 -31
  96. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +0 -46
  97. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +0 -26
  98. package/examples/ccxt.pro/js/one-exchange-many-streams.js +0 -28
  99. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +0 -30
  100. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +0 -40
  101. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +0 -38
  102. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +0 -40
  103. package/examples/ccxt.pro/js/watch-many-orderbooks.js +0 -27
  104. package/examples/ccxt.pro/js/watch-new-trades-only.js +0 -43
  105. package/examples/ccxt.pro/js/watch-new-trades.js +0 -42
  106. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +0 -29
  107. package/examples/ccxt.pro/js/watch-vs-fetch.js +0 -29
  108. package/examples/cs/Examples.sln +0 -22
  109. package/examples/cs/c#.csproj +0 -19
  110. package/examples/html/basic-cors-proxy.html +0 -46
  111. package/examples/html/basic-inheritance.html +0 -47
  112. package/examples/html/basic-poller.html +0 -52
  113. package/examples/html/basic-rate-limiting.html +0 -49
  114. package/examples/html/basic.html +0 -43
  115. package/examples/html/binance-cors-proxy.html +0 -28
  116. package/examples/html/bitmex-browser-cors-proxy.js +0 -7
  117. package/examples/html/bitmex-cors.html +0 -46
  118. package/examples/html/tradingview-charts.html +0 -61
  119. package/examples/html/webworker/index.html +0 -97
  120. package/examples/html/webworker/worker.js +0 -43
  121. package/examples/js/advanced-error-handling.js +0 -39
  122. package/examples/js/aggregate-orderbook.js +0 -54
  123. package/examples/js/arbitrage-pairs.js +0 -130
  124. package/examples/js/basic-chart.js +0 -29
  125. package/examples/js/basic-orderbook-polling.js +0 -13
  126. package/examples/js/bcc-vs-bch.js +0 -115
  127. package/examples/js/benchmark.js +0 -104
  128. package/examples/js/binance-fetch-all-deposits.js +0 -45
  129. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +0 -34
  130. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +0 -33
  131. package/examples/js/binance-fetchTicker-delivery-vs-future.js +0 -31
  132. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +0 -41
  133. package/examples/js/binance-margin-stop-order.js +0 -39
  134. package/examples/js/binance-server-time.js +0 -34
  135. package/examples/js/binance-universal-transfer.js +0 -16
  136. package/examples/js/bitfinex-fetch-trades.js +0 -35
  137. package/examples/js/bitfinex2-fetch-trades.js +0 -35
  138. package/examples/js/bitmex-browser-cors-proxy.js +0 -7
  139. package/examples/js/bitpanda-fetchMyTrades-reduce.js +0 -36
  140. package/examples/js/bitrue-fetch-balance.js +0 -28
  141. package/examples/js/bitstamp-private-api.js +0 -115
  142. package/examples/js/bitstamp-public-api.js +0 -39
  143. package/examples/js/bittrex-balance.js +0 -50
  144. package/examples/js/bittrex-fetch-closed-orders-history.js +0 -69
  145. package/examples/js/blockchaincom-withdrawal.js +0 -59
  146. package/examples/js/build-ohlcv-bars.js +0 -48
  147. package/examples/js/builtin-rate-limiting-rest-poller.js +0 -25
  148. package/examples/js/bybit-trailing.js +0 -62
  149. package/examples/js/bybit-updated.cjs +0 -154
  150. package/examples/js/coinbase-fetch-all-balances.js +0 -36
  151. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +0 -47
  152. package/examples/js/coinex-futures.js +0 -75
  153. package/examples/js/coinone-fetch-tickers.js +0 -54
  154. package/examples/js/coinone-markets.js +0 -16
  155. package/examples/js/compare-two-exchanges-capabilities.js +0 -36
  156. package/examples/js/cors-proxy.js +0 -5
  157. package/examples/js/create-order-handle-errors.js +0 -55
  158. package/examples/js/create-order-position-with-takeprofit-stoploss.js +0 -71
  159. package/examples/js/create-order-with-retry.js +0 -65
  160. package/examples/js/create-order-ws-example.js +0 -25
  161. package/examples/js/create-orders-example.js +0 -17
  162. package/examples/js/create-trailing-amount-order.js +0 -36
  163. package/examples/js/create-trailing-percent-order.js +0 -36
  164. package/examples/js/credentials.json +0 -5
  165. package/examples/js/custom-proxy-agent-for-js.js +0 -10
  166. package/examples/js/custom-proxy-url.js +0 -23
  167. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +0 -60
  168. package/examples/js/env-variables.js +0 -26
  169. package/examples/js/error-handling.js +0 -89
  170. package/examples/js/exchange-capabilities.js +0 -135
  171. package/examples/js/exchanges-by-volume.js +0 -60
  172. package/examples/js/exchanges.js +0 -40
  173. package/examples/js/fetch-all-balances.js +0 -219
  174. package/examples/js/fetch-all-tickers-to-files-2.js +0 -53
  175. package/examples/js/fetch-all-tickers-to-files.js +0 -77
  176. package/examples/js/fetch-balance.js +0 -28
  177. package/examples/js/fetch-create-deposit-address.js +0 -101
  178. package/examples/js/fetch-from-many-exchanges-simultaneously.js +0 -21
  179. package/examples/js/fetch-funding-rate-history.js +0 -25
  180. package/examples/js/fetch-futures/prettier.config.js +0 -5
  181. package/examples/js/fetch-futures/src/index.js +0 -25
  182. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +0 -72
  183. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +0 -39
  184. package/examples/js/fetch-ohlcv.js +0 -16
  185. package/examples/js/fetch-okex-futures.js +0 -22
  186. package/examples/js/fetch-orders.js +0 -27
  187. package/examples/js/fetch-ticker-from-multiple-exchanges.js +0 -35
  188. package/examples/js/fetch-ticker-where-available.js +0 -75
  189. package/examples/js/fetch-tickers/build/index.js +0 -19
  190. package/examples/js/fetch-tickers/prettier.config.js +0 -5
  191. package/examples/js/fetch-tickers/src/index.js +0 -17
  192. package/examples/js/gateio-create-batch-order.js +0 -43
  193. package/examples/js/gateio-futures.js +0 -49
  194. package/examples/js/gateio-open-close-contract.js +0 -49
  195. package/examples/js/gateio-swaps.js +0 -74
  196. package/examples/js/gdax-fetch-trades-pagination.js +0 -29
  197. package/examples/js/hitbtc2-withdraw.js +0 -61
  198. package/examples/js/how-to-import-one-exchange-esm.js +0 -10
  199. package/examples/js/huobi-futures.js +0 -71
  200. package/examples/js/huobi-open-close-contract.js +0 -63
  201. package/examples/js/huobi-swaps.js +0 -70
  202. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +0 -98
  203. package/examples/js/hybridCJSExample.cjs +0 -19
  204. package/examples/js/hybridESMExample.js +0 -19
  205. package/examples/js/idex-fetch-balance.js +0 -13
  206. package/examples/js/instantiate-all-at-once.js +0 -46
  207. package/examples/js/instantiate-all-from-json.js +0 -31
  208. package/examples/js/kraken-create-and-close-position.js +0 -54
  209. package/examples/js/kraken-fetch-order-trades.js +0 -33
  210. package/examples/js/kraken-margin-trading.js +0 -89
  211. package/examples/js/kucoin-rate-limit.js +0 -38
  212. package/examples/js/latoken-example.js +0 -108
  213. package/examples/js/live-orderbook.js +0 -106
  214. package/examples/js/live-ticker.js +0 -80
  215. package/examples/js/live-tickers.js +0 -74
  216. package/examples/js/load-all-contracts.js +0 -41
  217. package/examples/js/load-all-symbols-at-once.js +0 -69
  218. package/examples/js/load-all-tickers-at-once.js +0 -91
  219. package/examples/js/load-markets-to-files.js +0 -57
  220. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +0 -61
  221. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +0 -91
  222. package/examples/js/margin-loan-borrow-buy-sell-repay.js +0 -70
  223. package/examples/js/market-status-and-currency-status.js +0 -29
  224. package/examples/js/ohlcv-console-chart.js +0 -29
  225. package/examples/js/okex-fetch-closed-orders-archive.js +0 -31
  226. package/examples/js/okex-transfer.js +0 -51
  227. package/examples/js/okx-poll-fetch-my-trades.js +0 -37
  228. package/examples/js/okx-poll-rate-limit.js +0 -48
  229. package/examples/js/order-book-extra-level-depth-param.js +0 -20
  230. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +0 -49
  231. package/examples/js/poll-ohlcv.js +0 -43
  232. package/examples/js/poloniex-fetch-order-books.js +0 -35
  233. package/examples/js/poloniex-limits-amount-min.js +0 -62
  234. package/examples/js/proxy-round-robin.js +0 -98
  235. package/examples/js/proxy-usage.js +0 -32
  236. package/examples/js/sample-local-proxy-server-with-cors.js +0 -12
  237. package/examples/js/search-all-exchanges.js +0 -159
  238. package/examples/js/shared-load-markets.js +0 -80
  239. package/examples/js/sort-swap-markets-by-hourly-price-change.js +0 -55
  240. package/examples/js/symbols.js +0 -110
  241. package/examples/js/theocean.js +0 -41
  242. package/examples/js/tickers.js +0 -106
  243. package/examples/js/validate-paginated-data.js +0 -61
  244. package/examples/js/watch-OHLCV-For-Symbols.js +0 -15
  245. package/examples/js/watch-OHLCV.js +0 -12
  246. package/examples/js/watch-OrderBook-For-Symbols.js +0 -11
  247. package/examples/js/watch-Trades-For-Symbols.js +0 -11
  248. package/examples/js/watch-tickers.js +0 -11
  249. package/examples/js/watchOHLCVForSymbols.js +0 -15
  250. package/examples/js/watchOrderBookForSymbols.js +0 -11
  251. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +0 -2
  252. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +0 -1
  253. package/examples/js/watchPositions-many-exchanges-continuosly.js +0 -49
  254. package/examples/js/watchPositions.d.ts +0 -2
  255. package/examples/js/watchPositions.d.ts.map +0 -1
  256. package/examples/js/watchPositions.js +0 -13
  257. package/examples/js/watchPositionsForSymbols.d.ts +0 -2
  258. package/examples/js/watchPositionsForSymbols.d.ts.map +0 -1
  259. package/examples/js/watchPositionsForSymbols.js +0 -14
  260. package/examples/js/watchTradesForSymbols.js +0 -11
  261. package/examples/js/withdraw-from-one-exchange-to-another.js +0 -50
  262. package/examples/php/README.md +0 -7
  263. package/examples/py/README.md +0 -15
  264. package/examples/py/playing_with_ccxt_example.ipynb +0 -222
  265. package/examples/ts/.eslintrc +0 -111
  266. package/examples/ts/benchmark.ts +0 -134
  267. package/examples/ts/build-ohlcv-bars.ts +0 -53
  268. package/examples/ts/cli.ts +0 -397
  269. package/examples/ts/compare-two-exchanges-capabilities.ts +0 -36
  270. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +0 -89
  271. package/examples/ts/create-order-ws-example.ts +0 -33
  272. package/examples/ts/create-orders-example.ts +0 -21
  273. package/examples/ts/create-trailing-amount-order.ts +0 -37
  274. package/examples/ts/create-trailing-percent-order.ts +0 -37
  275. package/examples/ts/custom-proxy-agent-for-js.ts +0 -14
  276. package/examples/ts/fetch-futures/package-lock.json +0 -116
  277. package/examples/ts/fetch-futures/package.json +0 -34
  278. package/examples/ts/fetch-futures/prettier.config.js +0 -4
  279. package/examples/ts/fetch-futures/src/index.ts +0 -28
  280. package/examples/ts/fetch-futures/tsconfig.json +0 -28
  281. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +0 -44
  282. package/examples/ts/fetch-ohlcv.ts +0 -17
  283. package/examples/ts/fetch-tickers/package-lock.json +0 -116
  284. package/examples/ts/fetch-tickers/package.json +0 -34
  285. package/examples/ts/fetch-tickers/prettier.config.js +0 -4
  286. package/examples/ts/fetch-tickers/src/index.ts +0 -21
  287. package/examples/ts/fetch-tickers/tsconfig.json +0 -28
  288. package/examples/ts/how-to-import-one-exchange-esm.ts +0 -11
  289. package/examples/ts/kraken-create-and-close-position.ts +0 -69
  290. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +0 -72
  291. package/examples/ts/nextjs-page-router/.eslintrc.json +0 -3
  292. package/examples/ts/nextjs-page-router/README.md +0 -43
  293. package/examples/ts/nextjs-page-router/next.config.js +0 -6
  294. package/examples/ts/nextjs-page-router/package-lock.json +0 -7425
  295. package/examples/ts/nextjs-page-router/package.json +0 -28
  296. package/examples/ts/nextjs-page-router/postcss.config.js +0 -6
  297. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  298. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +0 -6
  299. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +0 -13
  300. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +0 -46
  301. package/examples/ts/nextjs-page-router/src/pages/index.tsx +0 -8
  302. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +0 -61
  303. package/examples/ts/nextjs-page-router/src/styles/globals.css +0 -27
  304. package/examples/ts/nextjs-page-router/tailwind.config.ts +0 -20
  305. package/examples/ts/nextjs-page-router/tsconfig.json +0 -22
  306. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +0 -62
  307. package/examples/ts/proxy-usage.ts +0 -41
  308. package/examples/ts/sample-local-proxy-server-with-cors.ts +0 -15
  309. package/examples/ts/watch-OHLCV-For-Symbols.ts +0 -17
  310. package/examples/ts/watch-OHLCV.ts +0 -14
  311. package/examples/ts/watch-OrderBook-For-Symbols.ts +0 -13
  312. package/examples/ts/watch-Trades-For-Symbols.ts +0 -13
  313. package/examples/ts/watch-tickers.ts +0 -13
  314. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +0 -53
  315. package/examples/ts/watchPositions.ts +0 -15
  316. package/examples/ts/watchPositionsForSymbols.ts +0 -16
  317. package/examples/tsconfig.json +0 -27
  318. package/examples2md.js +0 -79
  319. package/gource.sh +0 -3
  320. package/index.html +0 -7
  321. package/jsdoc2md.js +0 -122
  322. package/multilang.sh +0 -164
  323. package/pro-tests.json +0 -57
  324. package/pyproject.toml +0 -8
  325. package/rollup.config.js +0 -60
  326. package/skip-tests.json +0 -1653
  327. package/test-commonjs.cjs +0 -65
  328. package/tests-manager.sh +0 -96
  329. package/tsconfig.json +0 -111
  330. package/webpack.config.js +0 -46
@@ -1,2369 +0,0 @@
1
- !function(e, t) {
2
- "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).binanceBrokerPortalSdk = {})
3
- }(this, (function(e) {
4
- "use strict";
5
- var t = function() {
6
- return (t = Object.assign || function(e) {
7
- for (var t, i = 1, s = arguments.length; i < s; i++)
8
- for (var n in t = arguments[i])
9
- Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
10
- return e
11
- }).apply(this, arguments)
12
- },
13
- i = {
14
- apiHost: "",
15
- site: "global",
16
- brokerId: "",
17
- overrideStyle: "",
18
- slideTime: 1e100,
19
- },
20
- s = function() {
21
- if ("undefined" != typeof window && "undefined" != typeof document) {
22
- var e = document,
23
- t = window,
24
- i = function(e) {
25
- for (var t = 0; t < e.length; t += 1)
26
- this[t] = e[t];
27
- return this.length = e.length, this
28
- };
29
- k.fn = i.prototype,
30
- k.Class = i,
31
- k.Dom7 = i;
32
- var s = {
33
- addClass: function(e) {
34
- if (void 0 === e)
35
- return this;
36
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
37
- for (var s = 0; s < this.length; s += 1)
38
- void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.add(t[i]);
39
- return this
40
- },
41
- removeClass: function(e) {
42
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
43
- for (var s = 0; s < this.length; s += 1)
44
- void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.remove(t[i]);
45
- return this
46
- },
47
- hasClass: function(e) {
48
- return !!this[0] && this[0].classList.contains(e)
49
- },
50
- toggleClass: function(e) {
51
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
52
- for (var s = 0; s < this.length; s += 1)
53
- void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.toggle(t[i]);
54
- return this
55
- },
56
- attr: function(e, t) {
57
- var i = arguments;
58
- if (1 === arguments.length && "string" == typeof e)
59
- return this[0] ? this[0].getAttribute(e) : void 0;
60
- for (var s = 0; s < this.length; s += 1)
61
- if (2 === i.length)
62
- this[s].setAttribute(e, t);
63
- else
64
- for (var n in e)
65
- this[s][n] = e[n],
66
- this[s].setAttribute(n, e[n]);
67
- return this
68
- },
69
- removeAttr: function(e) {
70
- for (var t = 0; t < this.length; t += 1)
71
- this[t].removeAttribute(e);
72
- return this
73
- },
74
- data: function(e, t) {
75
- var i;
76
- if (void 0 !== t) {
77
- for (var s = 0; s < this.length; s += 1)
78
- (i = this[s]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}),
79
- i.dom7ElementDataStorage[e] = t;
80
- return this
81
- }
82
- if (i = this[0]) {
83
- if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage)
84
- return i.dom7ElementDataStorage[e];
85
- var n = i.getAttribute("data-" + e);
86
- return n || void 0
87
- }
88
- },
89
- transform: function(e) {
90
- for (var t = 0; t < this.length; t += 1) {
91
- var i = this[t].style;
92
- i.webkitTransform = e,
93
- i.transform = e
94
- }
95
- return this
96
- },
97
- transition: function(e) {
98
- "string" != typeof e && (e += "ms");
99
- for (var t = 0; t < this.length; t += 1) {
100
- var i = this[t].style;
101
- i.webkitTransitionDuration = e,
102
- i.transitionDuration = e
103
- }
104
- return this
105
- },
106
- on: function() {
107
- for (var e, t = [], i = arguments.length; i--;)
108
- t[i] = arguments[i];
109
- var s = t[0],
110
- n = t[1],
111
- r = t[2],
112
- a = t[3];
113
- function o(e) {
114
- var t = e.target;
115
- if (t) {
116
- var i = e.target.dom7EventData || [];
117
- if (i.indexOf(e) < 0 && i.unshift(e), k(t).is(n))
118
- r.apply(t, i);
119
- else
120
- for (var s = k(t).parents(), a = 0; a < s.length; a += 1)
121
- k(s[a]).is(n) && r.apply(s[a], i)
122
- }
123
- }
124
- function l(e) {
125
- var t = e && e.target && e.target.dom7EventData || [];
126
- t.indexOf(e) < 0 && t.unshift(e),
127
- r.apply(this, t)
128
- }
129
- "function" == typeof t[1] && (s = (e = t)[0], r = e[1], a = e[2], n = void 0),
130
- a || (a = !1);
131
- for (var d, h = s.split(" "), p = 0; p < this.length; p += 1) {
132
- var u = this[p];
133
- if (n)
134
- for (d = 0; d < h.length; d += 1) {
135
- var c = h[d];
136
- u.dom7LiveListeners || (u.dom7LiveListeners = {}),
137
- u.dom7LiveListeners[c] || (u.dom7LiveListeners[c] = []),
138
- u.dom7LiveListeners[c].push({
139
- listener: r,
140
- proxyListener: o
141
- }),
142
- u.addEventListener(c, o, a)
143
- }
144
- else
145
- for (d = 0; d < h.length; d += 1) {
146
- var v = h[d];
147
- u.dom7Listeners || (u.dom7Listeners = {}),
148
- u.dom7Listeners[v] || (u.dom7Listeners[v] = []),
149
- u.dom7Listeners[v].push({
150
- listener: r,
151
- proxyListener: l
152
- }),
153
- u.addEventListener(v, l, a)
154
- }
155
- }
156
- return this
157
- },
158
- off: function() {
159
- for (var e, t = [], i = arguments.length; i--;)
160
- t[i] = arguments[i];
161
- var s = t[0],
162
- n = t[1],
163
- r = t[2],
164
- a = t[3];
165
- "function" == typeof t[1] && (s = (e = t)[0], r = e[1], a = e[2], n = void 0),
166
- a || (a = !1);
167
- for (var o = s.split(" "), l = 0; l < o.length; l += 1)
168
- for (var d = o[l], h = 0; h < this.length; h += 1) {
169
- var p = this[h],
170
- u = void 0;
171
- if (!n && p.dom7Listeners ? u = p.dom7Listeners[d] : n && p.dom7LiveListeners && (u = p.dom7LiveListeners[d]), u && u.length)
172
- for (var c = u.length - 1; c >= 0; c -= 1) {
173
- var v = u[c];
174
- r && v.listener === r ? (p.removeEventListener(d, v.proxyListener, a), u.splice(c, 1)) : r || (p.removeEventListener(d, v.proxyListener, a), u.splice(c, 1))
175
- }
176
- }
177
- return this
178
- },
179
- trigger: function() {
180
- for (var i = [], s = arguments.length; s--;)
181
- i[s] = arguments[s];
182
- for (var n = i[0].split(" "), r = i[1], a = 0; a < n.length; a += 1)
183
- for (var o = n[a], l = 0; l < this.length; l += 1) {
184
- var d = this[l],
185
- h = void 0;
186
- try {
187
- h = new t.CustomEvent(o, {
188
- detail: r,
189
- bubbles: !0,
190
- cancelable: !0
191
- })
192
- } catch (t) {
193
- (h = e.createEvent("Event")).initEvent(o, !0, !0),
194
- h.detail = r
195
- }
196
- d.dom7EventData = i.filter((function(e, t) {
197
- return t > 0
198
- })),
199
- d.dispatchEvent(h),
200
- d.dom7EventData = [],
201
- delete d.dom7EventData
202
- }
203
- return this
204
- },
205
- transitionEnd: function(e) {
206
- var t,
207
- i = ["webkitTransitionEnd", "transitionend"],
208
- s = this;
209
- function n(r) {
210
- if (r.target === this)
211
- for (e.call(this, r), t = 0; t < i.length; t += 1)
212
- s.off(i[t], n)
213
- }
214
- if (e)
215
- for (t = 0; t < i.length; t += 1)
216
- s.on(i[t], n);
217
- return this
218
- },
219
- outerWidth: function(e) {
220
- if (this.length > 0) {
221
- if (e) {
222
- var t = this.styles();
223
- return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
224
- }
225
- return this[0].offsetWidth
226
- }
227
- return null
228
- },
229
- outerHeight: function(e) {
230
- if (this.length > 0) {
231
- if (e) {
232
- var t = this.styles();
233
- return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
234
- }
235
- return this[0].offsetHeight
236
- }
237
- return null
238
- },
239
- offset: function() {
240
- if (this.length > 0) {
241
- var i = this[0],
242
- s = i.getBoundingClientRect(),
243
- n = e.body,
244
- r = i.clientTop || n.clientTop || 0,
245
- a = i.clientLeft || n.clientLeft || 0,
246
- o = i === t ? t.scrollY : i.scrollTop,
247
- l = i === t ? t.scrollX : i.scrollLeft;
248
- return {
249
- top: s.top + o - r,
250
- left: s.left + l - a
251
- }
252
- }
253
- return null
254
- },
255
- css: function(e, i) {
256
- var s;
257
- if (1 === arguments.length) {
258
- if ("string" != typeof e) {
259
- for (s = 0; s < this.length; s += 1)
260
- for (var n in e)
261
- this[s].style[n] = e[n];
262
- return this
263
- }
264
- if (this[0])
265
- return t.getComputedStyle(this[0], null).getPropertyValue(e)
266
- }
267
- if (2 === arguments.length && "string" == typeof e) {
268
- for (s = 0; s < this.length; s += 1)
269
- this[s].style[e] = i;
270
- return this
271
- }
272
- return this
273
- },
274
- each: function(e) {
275
- if (!e)
276
- return this;
277
- for (var t = 0; t < this.length; t += 1)
278
- if (!1 === e.call(this[t], t, this[t]))
279
- return this;
280
- return this
281
- },
282
- html: function(e) {
283
- if (void 0 === e)
284
- return this[0] ? this[0].innerHTML : void 0;
285
- for (var t = 0; t < this.length; t += 1)
286
- this[t].innerHTML = e;
287
- return this
288
- },
289
- text: function(e) {
290
- if (void 0 === e)
291
- return this[0] ? this[0].textContent.trim() : null;
292
- for (var t = 0; t < this.length; t += 1)
293
- this[t].textContent = e;
294
- return this
295
- },
296
- is: function(s) {
297
- var n,
298
- r,
299
- a = this[0];
300
- if (!a || void 0 === s)
301
- return !1;
302
- if ("string" == typeof s) {
303
- if (a.matches)
304
- return a.matches(s);
305
- if (a.webkitMatchesSelector)
306
- return a.webkitMatchesSelector(s);
307
- if (a.msMatchesSelector)
308
- return a.msMatchesSelector(s);
309
- for (n = k(s), r = 0; r < n.length; r += 1)
310
- if (n[r] === a)
311
- return !0;
312
- return !1
313
- }
314
- if (s === e)
315
- return a === e;
316
- if (s === t)
317
- return a === t;
318
- if (s.nodeType || s instanceof i) {
319
- for (n = s.nodeType ? [s] : s, r = 0; r < n.length; r += 1)
320
- if (n[r] === a)
321
- return !0;
322
- return !1
323
- }
324
- return !1
325
- },
326
- index: function() {
327
- var e,
328
- t = this[0];
329
- if (t) {
330
- for (e = 0; null !== (t = t.previousSibling);)
331
- 1 === t.nodeType && (e += 1);
332
- return e
333
- }
334
- },
335
- eq: function(e) {
336
- if (void 0 === e)
337
- return this;
338
- var t,
339
- s = this.length;
340
- return new i(e > s - 1 ? [] : e < 0 ? (t = s + e) < 0 ? [] : [this[t]] : [this[e]])
341
- },
342
- append: function() {
343
- for (var t, s = [], n = arguments.length; n--;)
344
- s[n] = arguments[n];
345
- for (var r = 0; r < s.length; r += 1) {
346
- t = s[r];
347
- for (var a = 0; a < this.length; a += 1)
348
- if ("string" == typeof t) {
349
- var o = e.createElement("div");
350
- for (o.innerHTML = t; o.firstChild;)
351
- this[a].appendChild(o.firstChild)
352
- } else if (t instanceof i)
353
- for (var l = 0; l < t.length; l += 1)
354
- this[a].appendChild(t[l]);
355
- else
356
- this[a].appendChild(t)
357
- }
358
- return this
359
- },
360
- prepend: function(t) {
361
- var s,
362
- n;
363
- for (s = 0; s < this.length; s += 1)
364
- if ("string" == typeof t) {
365
- var r = e.createElement("div");
366
- for (r.innerHTML = t, n = r.childNodes.length - 1; n >= 0; n -= 1)
367
- this[s].insertBefore(r.childNodes[n], this[s].childNodes[0])
368
- } else if (t instanceof i)
369
- for (n = 0; n < t.length; n += 1)
370
- this[s].insertBefore(t[n], this[s].childNodes[0]);
371
- else
372
- this[s].insertBefore(t, this[s].childNodes[0]);
373
- return this
374
- },
375
- next: function(e) {
376
- return this.length > 0 ? e ? this[0].nextElementSibling && k(this[0].nextElementSibling).is(e) ? new i([this[0].nextElementSibling]) : new i([]) : this[0].nextElementSibling ? new i([this[0].nextElementSibling]) : new i([]) : new i([])
377
- },
378
- nextAll: function(e) {
379
- var t = [],
380
- s = this[0];
381
- if (!s)
382
- return new i([]);
383
- for (; s.nextElementSibling;) {
384
- var n = s.nextElementSibling;
385
- e ? k(n).is(e) && t.push(n) : t.push(n),
386
- s = n
387
- }
388
- return new i(t)
389
- },
390
- prev: function(e) {
391
- if (this.length > 0) {
392
- var t = this[0];
393
- return e ? t.previousElementSibling && k(t.previousElementSibling).is(e) ? new i([t.previousElementSibling]) : new i([]) : t.previousElementSibling ? new i([t.previousElementSibling]) : new i([])
394
- }
395
- return new i([])
396
- },
397
- prevAll: function(e) {
398
- var t = [],
399
- s = this[0];
400
- if (!s)
401
- return new i([]);
402
- for (; s.previousElementSibling;) {
403
- var n = s.previousElementSibling;
404
- e ? k(n).is(e) && t.push(n) : t.push(n),
405
- s = n
406
- }
407
- return new i(t)
408
- },
409
- parent: function(e) {
410
- for (var t = [], i = 0; i < this.length; i += 1)
411
- null !== this[i].parentNode && (e ? k(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode));
412
- return k(O(t))
413
- },
414
- parents: function(e) {
415
- for (var t = [], i = 0; i < this.length; i += 1)
416
- for (var s = this[i].parentNode; s;)
417
- e ? k(s).is(e) && t.push(s) : t.push(s),
418
- s = s.parentNode;
419
- return k(O(t))
420
- },
421
- closest: function(e) {
422
- var t = this;
423
- return void 0 === e ? new i([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
424
- },
425
- find: function(e) {
426
- for (var t = [], s = 0; s < this.length; s += 1)
427
- for (var n = this[s].querySelectorAll(e), r = 0; r < n.length; r += 1)
428
- t.push(n[r]);
429
- return new i(t)
430
- },
431
- children: function(e) {
432
- for (var t = [], s = 0; s < this.length; s += 1)
433
- for (var n = this[s].childNodes, r = 0; r < n.length; r += 1)
434
- e ? 1 === n[r].nodeType && k(n[r]).is(e) && t.push(n[r]) : 1 === n[r].nodeType && t.push(n[r]);
435
- return new i(O(t))
436
- },
437
- remove: function() {
438
- for (var e = 0; e < this.length; e += 1)
439
- this[e].parentNode && this[e].parentNode.removeChild(this[e]);
440
- return this
441
- },
442
- add: function() {
443
- for (var e = [], t = arguments.length; t--;)
444
- e[t] = arguments[t];
445
- var i,
446
- s,
447
- n = this;
448
- for (i = 0; i < e.length; i += 1) {
449
- var r = k(e[i]);
450
- for (s = 0; s < r.length; s += 1)
451
- n[n.length] = r[s],
452
- n.length += 1
453
- }
454
- return n
455
- },
456
- styles: function() {
457
- return this[0] ? t.getComputedStyle(this[0], null) : {}
458
- }
459
- };
460
- Object.keys(s).forEach((function(e) {
461
- k.fn[e] = s[e]
462
- }));
463
- var n,
464
- r = {
465
- deleteProps: function(e) {
466
- var t = e;
467
- Object.keys(t).forEach((function(e) {
468
- try {
469
- t[e] = null
470
- } catch (e) {}
471
- try {
472
- delete t[e]
473
- } catch (e) {}
474
- }))
475
- },
476
- nextTick: function(e, t) {
477
- return void 0 === t && (t = 0), setTimeout(e, t)
478
- },
479
- now: function() {
480
- return Date.now()
481
- },
482
- getTranslate: function(e, i) {
483
- var s,
484
- n,
485
- r;
486
- void 0 === i && (i = "x");
487
- var a = t.getComputedStyle(e, null);
488
- return t.WebKitCSSMatrix ? ((n = a.transform || a.webkitTransform).split(",").length > 6 && (n = n.split(", ").map((function(e) {
489
- return e.replace(",", ".")
490
- })).join(", ")), r = new t.WebKitCSSMatrix("none" === n ? "" : n)) : s = (r = a.MozTransform || a.OTransform || a.MsTransform || a.msTransform || a.transform || a.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === i && (n = t.WebKitCSSMatrix ? r.m41 : 16 === s.length ? parseFloat(s[12]) : parseFloat(s[4])), "y" === i && (n = t.WebKitCSSMatrix ? r.m42 : 16 === s.length ? parseFloat(s[13]) : parseFloat(s[5])), n || 0
491
- },
492
- parseUrlQuery: function(e) {
493
- var i,
494
- s,
495
- n,
496
- r,
497
- a = {},
498
- o = e || t.location.href;
499
- if ("string" == typeof o && o.length)
500
- for (r = (s = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split("&").filter((function(e) {
501
- return "" !== e
502
- }))).length, i = 0; i < r; i += 1)
503
- n = s[i].replace(/#\S+/g, "").split("="),
504
- a[decodeURIComponent(n[0])] = void 0 === n[1] ? void 0 : decodeURIComponent(n[1]) || "";
505
- return a
506
- },
507
- isObject: function(e) {
508
- return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
509
- },
510
- extend: function() {
511
- for (var e = [], t = arguments.length; t--;)
512
- e[t] = arguments[t];
513
- for (var i = Object(e[0]), s = 1; s < e.length; s += 1) {
514
- var n = e[s];
515
- if (null != n)
516
- for (var a = Object.keys(Object(n)), o = 0, l = a.length; o < l; o += 1) {
517
- var d = a[o],
518
- h = Object.getOwnPropertyDescriptor(n, d);
519
- void 0 !== h && h.enumerable && (r.isObject(i[d]) && r.isObject(n[d]) ? r.extend(i[d], n[d]) : !r.isObject(i[d]) && r.isObject(n[d]) ? (i[d] = {}, r.extend(i[d], n[d])) : i[d] = n[d])
520
- }
521
- }
522
- return i
523
- }
524
- },
525
- a = (n = e.createElement("div"), {
526
- touch: t.Modernizr && !0 === t.Modernizr.touch || !!("ontouchstart" in t || t.DocumentTouch && e instanceof t.DocumentTouch),
527
- pointerEvents: !!(t.navigator.pointerEnabled || t.PointerEvent || "maxTouchPoints" in t.navigator),
528
- prefixedPointerEvents: !!t.navigator.msPointerEnabled,
529
- transition: function() {
530
- var e = n.style;
531
- return "transition" in e || "webkitTransition" in e || "MozTransition" in e
532
- }(),
533
- transforms3d: t.Modernizr && !0 === t.Modernizr.csstransforms3d || function() {
534
- var e = n.style;
535
- return "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e
536
- }(),
537
- flexbox: function() {
538
- for (var e = n.style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), i = 0; i < t.length; i += 1)
539
- if (t[i] in e)
540
- return !0;
541
- return !1
542
- }(),
543
- observer: "MutationObserver" in t || "WebkitMutationObserver" in t,
544
- passiveListener: function() {
545
- var e = !1;
546
- try {
547
- var i = Object.defineProperty({}, "passive", {
548
- get: function() {
549
- e = !0
550
- }
551
- });
552
- t.addEventListener("testPassiveListener", null, i)
553
- } catch (e) {}
554
- return e
555
- }(),
556
- gestures: "ongesturestart" in t
557
- }),
558
- o = function(e) {
559
- void 0 === e && (e = {});
560
- var t = this;
561
- t.params = e,
562
- t.eventsListeners = {},
563
- t.params && t.params.on && Object.keys(t.params.on).forEach((function(e) {
564
- t.on(e, t.params.on[e])
565
- }))
566
- },
567
- l = {
568
- components: {
569
- configurable: !0
570
- }
571
- };
572
- o.prototype.on = function(e, t, i) {
573
- var s = this;
574
- if ("function" != typeof t)
575
- return s;
576
- var n = i ? "unshift" : "push";
577
- return e.split(" ").forEach((function(e) {
578
- s.eventsListeners[e] || (s.eventsListeners[e] = []),
579
- s.eventsListeners[e][n](t)
580
- })), s
581
- },
582
- o.prototype.once = function(e, t, i) {
583
- var s = this;
584
- return "function" != typeof t ? s : s.on(e, (function i() {
585
- for (var n = [], r = arguments.length; r--;)
586
- n[r] = arguments[r];
587
- t.apply(s, n),
588
- s.off(e, i)
589
- }), i)
590
- },
591
- o.prototype.off = function(e, t) {
592
- var i = this;
593
- return i.eventsListeners ? (e.split(" ").forEach((function(e) {
594
- void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[e].length && i.eventsListeners[e].forEach((function(s, n) {
595
- s === t && i.eventsListeners[e].splice(n, 1)
596
- }))
597
- })), i) : i
598
- },
599
- o.prototype.emit = function() {
600
- for (var e = [], t = arguments.length; t--;)
601
- e[t] = arguments[t];
602
- var i,
603
- s,
604
- n,
605
- r = this;
606
- if (!r.eventsListeners)
607
- return r;
608
- "string" == typeof e[0] || Array.isArray(e[0]) ? (i = e[0], s = e.slice(1, e.length), n = r) : (i = e[0].events, s = e[0].data, n = e[0].context || r);
609
- var a = Array.isArray(i) ? i : i.split(" ");
610
- return a.forEach((function(e) {
611
- if (r.eventsListeners && r.eventsListeners[e]) {
612
- var t = [];
613
- r.eventsListeners[e].forEach((function(e) {
614
- t.push(e)
615
- })),
616
- t.forEach((function(e) {
617
- e.apply(n, s)
618
- }))
619
- }
620
- })), r
621
- },
622
- o.prototype.useModulesParams = function(e) {
623
- var t = this;
624
- t.modules && Object.keys(t.modules).forEach((function(i) {
625
- var s = t.modules[i];
626
- s.params && r.extend(e, s.params)
627
- }))
628
- },
629
- o.prototype.useModules = function(e) {
630
- void 0 === e && (e = {});
631
- var t = this;
632
- t.modules && Object.keys(t.modules).forEach((function(i) {
633
- var s = t.modules[i],
634
- n = e[i] || {};
635
- s.instance && Object.keys(s.instance).forEach((function(e) {
636
- var i = s.instance[e];
637
- t[e] = "function" == typeof i ? i.bind(t) : i
638
- })),
639
- s.on && t.on && Object.keys(s.on).forEach((function(e) {
640
- t.on(e, s.on[e])
641
- })),
642
- s.create && s.create.bind(t)(n)
643
- }))
644
- },
645
- l.components.set = function(e) {
646
- this.use && this.use(e)
647
- },
648
- o.installModule = function(e) {
649
- for (var t = [], i = arguments.length - 1; i-- > 0;)
650
- t[i] = arguments[i + 1];
651
- var s = this;
652
- s.prototype.modules || (s.prototype.modules = {});
653
- var n = e.name || Object.keys(s.prototype.modules).length + "_" + r.now();
654
- return s.prototype.modules[n] = e, e.proto && Object.keys(e.proto).forEach((function(t) {
655
- s.prototype[t] = e.proto[t]
656
- })), e.static && Object.keys(e.static).forEach((function(t) {
657
- s[t] = e.static[t]
658
- })), e.install && e.install.apply(s, t), s
659
- },
660
- o.use = function(e) {
661
- for (var t = [], i = arguments.length - 1; i-- > 0;)
662
- t[i] = arguments[i + 1];
663
- var s = this;
664
- return Array.isArray(e) ? (e.forEach((function(e) {
665
- return s.installModule(e)
666
- })), s) : s.installModule.apply(s, [e].concat(t))
667
- },
668
- Object.defineProperties(o, l);
669
- var d,
670
- h = {
671
- updateSize: function() {
672
- var e,
673
- t,
674
- i = this.$el;
675
- e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth,
676
- t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight,
677
- 0 === e && this.isHorizontal() || 0 === t && this.isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), r.extend(this, {
678
- width: e,
679
- height: t,
680
- size: this.isHorizontal() ? e : t
681
- }))
682
- },
683
- updateSlides: function() {
684
- var e = this.params,
685
- i = this.$wrapperEl,
686
- s = this.size,
687
- n = this.rtlTranslate,
688
- o = this.wrongRTL,
689
- l = this.virtual && e.virtual.enabled,
690
- d = l ? this.virtual.slides.length : this.slides.length,
691
- h = i.children("." + this.params.slideClass),
692
- p = l ? this.virtual.slides.length : h.length,
693
- u = [],
694
- c = [],
695
- v = [],
696
- f = e.slidesOffsetBefore;
697
- "function" == typeof f && (f = e.slidesOffsetBefore.call(this));
698
- var m = e.slidesOffsetAfter;
699
- "function" == typeof m && (m = e.slidesOffsetAfter.call(this));
700
- var g = this.snapGrid.length,
701
- w = this.snapGrid.length,
702
- C = e.spaceBetween,
703
- x = -f,
704
- T = 0;
705
- if (void 0 !== s) {
706
- var y,
707
- b;
708
- "string" == typeof C && C.indexOf("%") >= 0 && (C = parseFloat(C.replace("%", "")) / 100 * s),
709
- this.virtualSize = -C,
710
- n ? h.css({
711
- marginLeft: "",
712
- marginTop: ""
713
- }) : h.css({
714
- marginRight: "",
715
- marginBottom: ""
716
- }),
717
- e.slidesPerColumn > 1 && (y = Math.floor(p / e.slidesPerColumn) === p / this.params.slidesPerColumn ? p : Math.ceil(p / e.slidesPerColumn) * e.slidesPerColumn, "auto" !== e.slidesPerView && "row" === e.slidesPerColumnFill && (y = Math.max(y, e.slidesPerView * e.slidesPerColumn)));
718
- for (var S, E = e.slidesPerColumn, M = y / E, L = M - (e.slidesPerColumn * M - p), P = 0; P < p; P += 1) {
719
- b = 0;
720
- var k = h.eq(P);
721
- if (e.slidesPerColumn > 1) {
722
- var O = void 0,
723
- I = void 0,
724
- z = void 0;
725
- "column" === e.slidesPerColumnFill ? (z = P - (I = Math.floor(P / E)) * E, (I > L || I === L && z === E - 1) && (z += 1) >= E && (z = 0, I += 1), O = I + z * y / E, k.css({
726
- "-webkit-box-ordinal-group": O,
727
- "-moz-box-ordinal-group": O,
728
- "-ms-flex-order": O,
729
- "-webkit-order": O,
730
- order: O
731
- })) : I = P - (z = Math.floor(P / M)) * M,
732
- k.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== z && e.spaceBetween && e.spaceBetween + "px").attr("data-swiper-column", I).attr("data-swiper-row", z)
733
- }
734
- if ("none" !== k.css("display")) {
735
- if ("auto" === e.slidesPerView) {
736
- var A = t.getComputedStyle(k[0], null),
737
- D = k[0].style.transform,
738
- B = k[0].style.webkitTransform;
739
- D && (k[0].style.transform = "none"),
740
- B && (k[0].style.webkitTransform = "none"),
741
- b = e.roundLengths ? this.isHorizontal() ? k.outerWidth(!0) : k.outerHeight(!0) : this.isHorizontal() ? parseFloat(A.getPropertyValue("width")) + parseFloat(A.getPropertyValue("margin-left")) + parseFloat(A.getPropertyValue("margin-right")) : parseFloat(A.getPropertyValue("height")) + parseFloat(A.getPropertyValue("margin-top")) + parseFloat(A.getPropertyValue("margin-bottom")),
742
- D && (k[0].style.transform = D),
743
- B && (k[0].style.webkitTransform = B),
744
- e.roundLengths && (b = Math.floor(b))
745
- } else
746
- b = (s - (e.slidesPerView - 1) * C) / e.slidesPerView,
747
- e.roundLengths && (b = Math.floor(b)),
748
- h[P] && (this.isHorizontal() ? h[P].style.width = b + "px" : h[P].style.height = b + "px");
749
- h[P] && (h[P].swiperSlideSize = b),
750
- v.push(b),
751
- e.centeredSlides || (e.roundLengths && (x = Math.floor(x)), T % e.slidesPerGroup == 0 && u.push(x), c.push(x), x = x + b + C),
752
- this.virtualSize += b + C,
753
- T += 1
754
- }
755
- }
756
- if (this.virtualSize = Math.max(this.virtualSize, s) + m, n && o && ("slide" === e.effect || "coverflow" === e.effect) && i.css({
757
- width: this.virtualSize + e.spaceBetween + "px"
758
- }), a.flexbox || (this.isHorizontal() ? i.css({
759
- width: this.virtualSize + e.spaceBetween + "px"
760
- }) : i.css({
761
- height: this.virtualSize + e.spaceBetween + "px"
762
- })), e.slidesPerColumn > 1 && (this.virtualSize = (b + e.spaceBetween) * y, this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) - e.spaceBetween, this.isHorizontal() ? i.css({
763
- width: this.virtualSize + e.spaceBetween + "px"
764
- }) : i.css({
765
- height: this.virtualSize + e.spaceBetween + "px"
766
- })), !e.centeredSlides) {
767
- S = [];
768
- for (var $ = 0; $ < u.length; $ += 1) {
769
- var N = u[$];
770
- e.roundLengths && (N = Math.floor(N)),
771
- u[$] <= this.virtualSize - s && S.push(N)
772
- }
773
- u = S,
774
- Math.floor(this.virtualSize - s) - Math.floor(u[u.length - 1]) > 1 && u.push(this.virtualSize - s)
775
- }
776
- if (0 === u.length && (u = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ? n ? h.css({
777
- marginLeft: C + "px"
778
- }) : h.css({
779
- marginRight: C + "px"
780
- }) : h.css({
781
- marginBottom: C + "px"
782
- })), e.centerInsufficientSlides) {
783
- var G = 0;
784
- if (v.forEach((function(t) {
785
- G += t + (e.spaceBetween ? e.spaceBetween : 0)
786
- })), (G -= e.spaceBetween) < s) {
787
- var F = (s - G) / 2;
788
- u.forEach((function(e, t) {
789
- u[t] = e - F
790
- })),
791
- c.forEach((function(e, t) {
792
- c[t] = e + F
793
- }))
794
- }
795
- }
796
- r.extend(this, {
797
- slides: h,
798
- snapGrid: u,
799
- slidesGrid: c,
800
- slidesSizesGrid: v
801
- }),
802
- p !== d && this.emit("slidesLengthChange"),
803
- u.length !== g && this.emit("snapGridLengthChange"),
804
- c.length !== w && this.emit("slidesGridLengthChange")
805
- }
806
- },
807
- updateSlidesOffset: function() {
808
- for (var e = this.slides, t = 0; t < e.length; t += 1)
809
- e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
810
- },
811
- updateSlidesProgress: function(e) {
812
- void 0 === e && (e = this && this.translate || 0);
813
- var t = this.params,
814
- i = this.slides,
815
- s = this.rtlTranslate;
816
- if (0 !== i.length) {
817
- void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
818
- var n = -e;
819
- s && (n = e),
820
- i.removeClass(t.slideVisibleClass),
821
- this.visibleSlidesIndexes = [],
822
- this.visibleSlides = [];
823
- for (var r = 0; r < i.length; r += 1) {
824
- var a = i[r],
825
- o = (n + 0 - a.swiperSlideOffset) / (a.swiperSlideSize + t.spaceBetween);
826
- a.progress = s ? -o : o
827
- }
828
- this.visibleSlides = k(this.visibleSlides)
829
- }
830
- },
831
- updateProgress: function(e) {
832
- void 0 === e && (e = this && this.translate || 0),
833
- this.params;
834
- var t = this.maxTranslate() - this.minTranslate(),
835
- i = this.progress,
836
- s = this.isBeginning,
837
- n = this.isEnd,
838
- a = s,
839
- o = n;
840
- 0 === t ? (i = 0, s = !0, n = !0) : (s = (i = (e - this.minTranslate()) / t) <= 0, n = i >= 1),
841
- r.extend(this, {
842
- progress: i,
843
- isBeginning: s,
844
- isEnd: n
845
- }),
846
- s && !a && this.emit("reachBeginning toEdge"),
847
- n && !o && this.emit("reachEnd toEdge"),
848
- (a && !s || o && !n) && this.emit("fromEdge"),
849
- this.emit("progress", i)
850
- },
851
- updateSlidesClasses: function() {
852
- var e,
853
- t = this.slides,
854
- i = this.params,
855
- s = this.$wrapperEl,
856
- n = this.activeIndex,
857
- r = this.realIndex,
858
- a = this.virtual && i.virtual.enabled;
859
- t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass),
860
- (e = a ? this.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + n + '"]') : t.eq(n)).addClass(i.slideActiveClass),
861
- i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass));
862
- var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
863
- i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
864
- var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
865
- i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass),
866
- i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass))
867
- },
868
- updateActiveIndex: function(e) {
869
- var t,
870
- i = this.rtlTranslate ? this.translate : -this.translate,
871
- s = this.slidesGrid,
872
- n = this.snapGrid,
873
- a = this.params,
874
- o = this.activeIndex,
875
- l = this.realIndex,
876
- d = this.snapIndex,
877
- h = e;
878
- if (void 0 === h) {
879
- for (var p = 0; p < s.length; p += 1)
880
- void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? h = p : i >= s[p] && i < s[p + 1] && (h = p + 1) : i >= s[p] && (h = p);
881
- a.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0)
882
- }
883
- if ((t = n.indexOf(i) >= 0 ? n.indexOf(i) : Math.floor(h / a.slidesPerGroup)) >= n.length && (t = n.length - 1), h !== o) {
884
- var u = parseInt(this.slides.eq(h).attr("data-swiper-slide-index") || h, 10);
885
- r.extend(this, {
886
- snapIndex: t,
887
- realIndex: u,
888
- previousIndex: o,
889
- activeIndex: h
890
- }),
891
- this.emit("activeIndexChange"),
892
- this.emit("snapIndexChange"),
893
- l !== u && this.emit("realIndexChange"),
894
- this.emit("slideChange")
895
- } else
896
- t !== d && (this.snapIndex = t, this.emit("snapIndexChange"))
897
- },
898
- updateClickedSlide: function(e) {
899
- var t = this.params,
900
- i = k(e.target).closest("." + t.slideClass)[0],
901
- s = !1;
902
- if (i)
903
- for (var n = 0; n < this.slides.length; n += 1)
904
- this.slides[n] === i && (s = !0);
905
- i && s ? (this.clickedSlide = i, this.virtual && this.params.virtual.enabled ? this.clickedIndex = parseInt(k(i).attr("data-swiper-slide-index"), 10) : this.clickedIndex = k(i).index()) : (this.clickedSlide = void 0, this.clickedIndex = void 0)
906
- }
907
- },
908
- p = {
909
- getTranslate: function(e) {
910
- void 0 === e && (e = this.isHorizontal() ? "x" : "y"),
911
- this.params;
912
- var t = this.rtlTranslate,
913
- i = (this.translate, this.$wrapperEl),
914
- s = r.getTranslate(i[0], e);
915
- return t && (s = -s), s || 0
916
- },
917
- setTranslate: function(e, t) {
918
- var i = this.rtlTranslate,
919
- s = this.params,
920
- n = this.$wrapperEl,
921
- r = this.progress,
922
- o = 0,
923
- l = 0;
924
- this.isHorizontal() ? o = i ? -e : e : l = e,
925
- s.roundLengths && (o = Math.floor(o), l = Math.floor(l)),
926
- a.transforms3d ? n.transform("translate3d(" + o + "px, " + l + "px, 0px)") : n.transform("translate(" + o + "px, " + l + "px)"),
927
- this.previousTranslate = this.translate,
928
- this.translate = this.isHorizontal() ? o : l;
929
- var d = this.maxTranslate() - this.minTranslate();
930
- (0 === d ? 0 : (e - this.minTranslate()) / d) !== r && this.updateProgress(e),
931
- this.emit("setTranslate", this.translate, t)
932
- },
933
- minTranslate: function() {
934
- return -this.snapGrid[0]
935
- },
936
- maxTranslate: function() {
937
- return -this.snapGrid[this.snapGrid.length - 1]
938
- }
939
- },
940
- u = {
941
- setTransition: function(e, t) {
942
- this.$wrapperEl.transition(e),
943
- this.emit("setTransition", e, t)
944
- },
945
- transitionStart: function(e, t) {
946
- void 0 === e && (e = !0);
947
- var i = this.activeIndex,
948
- s = (this.params, this.previousIndex),
949
- n = t;
950
- if (n || (n = i > s ? "next" : i < s ? "prev" : "reset"), this.emit("transitionStart"), e && i !== s) {
951
- if ("reset" === n)
952
- return void this.emit("slideResetTransitionStart");
953
- this.emit("slideChangeTransitionStart"),
954
- "next" === n ? this.emit("slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
955
- }
956
- },
957
- transitionEnd: function(e, t) {
958
- void 0 === e && (e = !0);
959
- var i = this.activeIndex,
960
- s = this.previousIndex;
961
- this.animating = !1,
962
- this.setTransition(0);
963
- var n = t;
964
- if (n || (n = i > s ? "next" : i < s ? "prev" : "reset"), this.emit("transitionEnd"), e && i !== s) {
965
- if ("reset" === n)
966
- return void this.emit("slideResetTransitionEnd");
967
- this.emit("slideChangeTransitionEnd"),
968
- "next" === n ? this.emit("slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
969
- }
970
- }
971
- },
972
- c = {
973
- slideTo: function(e, t, i, s) {
974
- void 0 === e && (e = 0),
975
- void 0 === t && (t = this.params.speed),
976
- void 0 === i && (i = !0);
977
- var n = this,
978
- r = e;
979
- r < 0 && (r = 0);
980
- var o = n.params,
981
- l = n.snapGrid,
982
- d = n.slidesGrid,
983
- h = n.previousIndex,
984
- p = n.activeIndex,
985
- u = n.rtlTranslate;
986
- if (n.animating && o.preventInteractionOnTransition)
987
- return !1;
988
- var c = Math.floor(r / o.slidesPerGroup);
989
- c >= l.length && (c = l.length - 1),
990
- (p || o.initialSlide || 0) === (h || 0) && i && n.emit("beforeSlideChangeStart");
991
- var v,
992
- f = -l[c];
993
- if (n.updateProgress(f), o.normalizeSlideIndex)
994
- for (var m = 0; m < d.length; m += 1)
995
- -Math.floor(100 * f) >= Math.floor(100 * d[m]) && (r = m);
996
- if (n.initialized && r !== p) {
997
- if (!n.allowSlideNext && f < n.translate && f < n.minTranslate())
998
- return !1;
999
- if (!n.allowSlidePrev && f > n.translate && f > n.maxTranslate() && (p || 0) !== r)
1000
- return !1
1001
- }
1002
- return v = r > p ? "next" : r < p ? "prev" : "reset", u && -f === n.translate || !u && f === n.translate ? (n.updateActiveIndex(r), n.updateSlidesClasses(), "slide" !== o.effect && n.setTranslate(f), "reset" !== v && (n.transitionStart(i, v), n.transitionEnd(i, v)), !1) : (0 !== t && a.transition ? (n.setTransition(t), n.setTranslate(f), n.updateActiveIndex(r), n.updateSlidesClasses(), n.emit("beforeTransitionStart", t, s), n.transitionStart(i, v), n.animating || (n.animating = !0, n.onSlideToWrapperTransitionEnd || (n.onSlideToWrapperTransitionEnd = function(e) {
1003
- n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.$wrapperEl[0].removeEventListener("webkitTransitionEnd", n.onSlideToWrapperTransitionEnd), n.onSlideToWrapperTransitionEnd = null, delete n.onSlideToWrapperTransitionEnd, n.transitionEnd(i, v))
1004
- }), n.$wrapperEl[0].addEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onSlideToWrapperTransitionEnd))) : (n.setTransition(0), n.setTranslate(f), n.updateActiveIndex(r), n.updateSlidesClasses(), n.emit("beforeTransitionStart", t, s), n.transitionStart(i, v), n.transitionEnd(i, v)), !0)
1005
- },
1006
- slideToLoop: function(e, t, i, s) {
1007
- void 0 === e && (e = 0),
1008
- void 0 === t && (t = this.params.speed),
1009
- void 0 === i && (i = !0);
1010
- var n = e;
1011
- return this.params.loop && (n += this.loopedSlides), this.slideTo(n, t, i, s)
1012
- },
1013
- slideNext: function(e, t, i) {
1014
- void 0 === e && (e = this.params.speed),
1015
- void 0 === t && (t = !0);
1016
- var s = this.params,
1017
- n = this.animating;
1018
- return s.loop ? !n && (this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft, this.slideTo(this.activeIndex + s.slidesPerGroup, e, t, i)) : this.slideTo(this.activeIndex + s.slidesPerGroup, e, t, i)
1019
- },
1020
- slidePrev: function(e, t, i) {
1021
- void 0 === e && (e = this.params.speed),
1022
- void 0 === t && (t = !0);
1023
- var s = this.params,
1024
- n = this.animating,
1025
- r = this.snapGrid,
1026
- a = this.slidesGrid,
1027
- o = this.rtlTranslate;
1028
- if (s.loop) {
1029
- if (n)
1030
- return !1;
1031
- this.loopFix(),
1032
- this._clientLeft = this.$wrapperEl[0].clientLeft
1033
- }
1034
- function l(e) {
1035
- return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
1036
- }
1037
- var d,
1038
- h = l(o ? this.translate : -this.translate),
1039
- p = r.map((function(e) {
1040
- return l(e)
1041
- })),
1042
- u = (a.map((function(e) {
1043
- return l(e)
1044
- })), r[p.indexOf(h)], r[p.indexOf(h) - 1]);
1045
- return void 0 !== u && (d = a.indexOf(u)) < 0 && (d = this.activeIndex - 1), this.slideTo(d, e, t, i)
1046
- },
1047
- slideReset: function(e, t, i) {
1048
- return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, i)
1049
- }
1050
- },
1051
- v = {
1052
- loopCreate: function() {
1053
- var t = this,
1054
- i = t.params,
1055
- s = t.$wrapperEl;
1056
- s.children("." + i.slideClass + "." + i.slideDuplicateClass).remove();
1057
- var n = s.children("." + i.slideClass);
1058
- if (i.loopFillGroupWithBlank) {
1059
- var r = i.slidesPerGroup - n.length % i.slidesPerGroup;
1060
- if (r !== i.slidesPerGroup) {
1061
- for (var a = 0; a < r; a += 1) {
1062
- var o = k(e.createElement("div")).addClass(i.slideClass + " " + i.slideBlankClass);
1063
- s.append(o)
1064
- }
1065
- n = s.children("." + i.slideClass)
1066
- }
1067
- }
1068
- "auto" !== i.slidesPerView || i.loopedSlides || (i.loopedSlides = n.length),
1069
- t.loopedSlides = parseInt(i.loopedSlides || i.slidesPerView, 10),
1070
- t.loopedSlides += i.loopAdditionalSlides,
1071
- t.loopedSlides > n.length && (t.loopedSlides = n.length);
1072
- var l = [],
1073
- d = [];
1074
- n.each((function(e, i) {
1075
- var s = k(i);
1076
- e < t.loopedSlides && d.push(i),
1077
- e < n.length && e >= n.length - t.loopedSlides && l.push(i),
1078
- s.attr("data-swiper-slide-index", e)
1079
- }));
1080
- for (var h = 0; h < d.length; h += 1)
1081
- s.append(k(d[h].cloneNode(!0)).addClass(i.slideDuplicateClass));
1082
- for (var p = l.length - 1; p >= 0; p -= 1)
1083
- s.prepend(k(l[p].cloneNode(!0)).addClass(i.slideDuplicateClass))
1084
- },
1085
- loopFix: function() {
1086
- var e,
1087
- t = this.params,
1088
- i = this.activeIndex,
1089
- s = this.slides,
1090
- n = this.loopedSlides,
1091
- r = this.allowSlidePrev,
1092
- a = this.allowSlideNext,
1093
- o = this.snapGrid,
1094
- l = this.rtlTranslate;
1095
- this.allowSlidePrev = !0,
1096
- this.allowSlideNext = !0;
1097
- var d = -o[i] - this.getTranslate();
1098
- i < n ? (e = s.length - 3 * n + i, e += n, this.slideTo(e, 0, !1, !0) && 0 !== d && this.setTranslate((l ? -this.translate : this.translate) - d)) : ("auto" === t.slidesPerView && i >= 2 * n || i >= s.length - n) && (e = -s.length + i + n, e += n, this.slideTo(e, 0, !1, !0) && 0 !== d && this.setTranslate((l ? -this.translate : this.translate) - d)),
1099
- this.allowSlidePrev = r,
1100
- this.allowSlideNext = a
1101
- },
1102
- loopDestroy: function() {
1103
- var e = this.$wrapperEl,
1104
- t = this.params,
1105
- i = this.slides;
1106
- e.children("." + t.slideClass + "." + t.slideDuplicateClass).remove(),
1107
- i.removeAttr("data-swiper-slide-index")
1108
- }
1109
- },
1110
- f = {
1111
- appendSlide: function(e) {
1112
- var t = this.$wrapperEl,
1113
- i = this.params;
1114
- if (i.loop && this.loopDestroy(), "object" == typeof e && "length" in e)
1115
- for (var s = 0; s < e.length; s += 1)
1116
- e[s] && t.append(e[s]);
1117
- else
1118
- t.append(e);
1119
- i.loop && this.loopCreate(),
1120
- i.observer && a.observer || this.update()
1121
- },
1122
- prependSlide: function(e) {
1123
- var t = this.params,
1124
- i = this.$wrapperEl,
1125
- s = this.activeIndex;
1126
- t.loop && this.loopDestroy();
1127
- var n = s + 1;
1128
- if ("object" == typeof e && "length" in e) {
1129
- for (var r = 0; r < e.length; r += 1)
1130
- e[r] && i.prepend(e[r]);
1131
- n = s + e.length
1132
- } else
1133
- i.prepend(e);
1134
- t.loop && this.loopCreate(),
1135
- t.observer && a.observer || this.update(),
1136
- this.slideTo(n, 0, !1)
1137
- },
1138
- addSlide: function(e, t) {
1139
- var i = this.$wrapperEl,
1140
- s = this.params,
1141
- n = this.activeIndex;
1142
- s.loop && (n -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + s.slideClass));
1143
- var r = this.slides.length;
1144
- if (e <= 0)
1145
- this.prependSlide(t);
1146
- else if (e >= r)
1147
- this.appendSlide(t);
1148
- else {
1149
- for (var o = n > e ? n + 1 : n, l = [], d = r - 1; d >= e; d -= 1) {
1150
- var h = this.slides.eq(d);
1151
- h.remove(),
1152
- l.unshift(h)
1153
- }
1154
- if ("object" == typeof t && "length" in t) {
1155
- for (var p = 0; p < t.length; p += 1)
1156
- t[p] && i.append(t[p]);
1157
- o = n > e ? n + t.length : n
1158
- } else
1159
- i.append(t);
1160
- for (var u = 0; u < l.length; u += 1)
1161
- i.append(l[u]);
1162
- s.loop && this.loopCreate(),
1163
- s.observer && a.observer || this.update(),
1164
- s.loop ? this.slideTo(o + this.loopedSlides, 0, !1) : this.slideTo(o, 0, !1)
1165
- }
1166
- },
1167
- removeSlide: function(e) {
1168
- var t = this.params,
1169
- i = this.$wrapperEl,
1170
- s = this.activeIndex;
1171
- t.loop && (s -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + t.slideClass));
1172
- var n,
1173
- r = s;
1174
- if ("object" == typeof e && "length" in e) {
1175
- for (var o = 0; o < e.length; o += 1)
1176
- n = e[o],
1177
- this.slides[n] && this.slides.eq(n).remove(),
1178
- n < r && (r -= 1);
1179
- r = Math.max(r, 0)
1180
- } else
1181
- n = e,
1182
- this.slides[n] && this.slides.eq(n).remove(),
1183
- n < r && (r -= 1),
1184
- r = Math.max(r, 0);
1185
- t.loop && this.loopCreate(),
1186
- t.observer && a.observer || this.update(),
1187
- t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1)
1188
- },
1189
- removeAllSlides: function() {
1190
- for (var e = [], t = 0; t < this.slides.length; t += 1)
1191
- e.push(t);
1192
- this.removeSlide(e)
1193
- }
1194
- },
1195
- m = function() {
1196
- var i = t.navigator.userAgent,
1197
- s = {
1198
- ios: !1,
1199
- android: !1,
1200
- androidChrome: !1,
1201
- desktop: !1,
1202
- windows: !1,
1203
- iphone: !1,
1204
- ipod: !1,
1205
- ipad: !1,
1206
- cordova: t.cordova || t.phonegap,
1207
- phonegap: t.cordova || t.phonegap
1208
- },
1209
- n = i.match(/(Windows Phone);?[\s\/]+([\d.]+)?/),
1210
- r = i.match(/(Android);?[\s\/]+([\d.]+)?/),
1211
- a = i.match(/(iPad).*OS\s([\d_]+)/),
1212
- o = i.match(/(iPod)(.*OS\s([\d_]+))?/),
1213
- l = !a && i.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
1214
- if (n && (s.os = "windows", s.osVersion = n[2], s.windows = !0), r && !n && (s.os = "android", s.osVersion = r[2], s.android = !0, s.androidChrome = i.toLowerCase().indexOf("chrome") >= 0), (a || l || o) && (s.os = "ios", s.ios = !0), l && !o && (s.osVersion = l[2].replace(/_/g, "."), s.iphone = !0), a && (s.osVersion = a[2].replace(/_/g, "."), s.ipad = !0), o && (s.osVersion = o[3] ? o[3].replace(/_/g, ".") : null, s.iphone = !0), s.ios && s.osVersion && i.indexOf("Version/") >= 0 && "10" === s.osVersion.split(".")[0] && (s.osVersion = i.toLowerCase().split("version/")[1].split(" ")[0]), s.desktop = !(s.os || s.android || s.webView), s.webView = (l || a || o) && i.match(/.*AppleWebKit(?!.*Safari)/i), s.os && "ios" === s.os) {
1215
- var d = s.osVersion.split("."),
1216
- h = e.querySelector('meta[name="viewport"]');
1217
- s.minimalUi = !s.webView && (o || l) && (1 * d[0] == 7 ? 1 * d[1] >= 1 : 1 * d[0] > 7) && h && h.getAttribute("content").indexOf("minimal-ui") >= 0
1218
- }
1219
- return s.pixelRatio = t.devicePixelRatio || 1, s
1220
- }(),
1221
- g = {
1222
- attachEvents: function() {
1223
- var t = this.params,
1224
- i = this.touchEvents,
1225
- s = this.el,
1226
- n = this.wrapperEl;
1227
- this.onTouchStart = I.bind(this),
1228
- this.onTouchMove = z.bind(this),
1229
- this.onTouchEnd = A.bind(this),
1230
- this.onClick = B.bind(this);
1231
- var r = "container" === t.touchEventsTarget ? s : n,
1232
- o = !!t.nested;
1233
- if (a.touch || !a.pointerEvents && !a.prefixedPointerEvents) {
1234
- if (a.touch) {
1235
- var l = !("touchstart" !== i.start || !a.passiveListener || !t.passiveListeners) && {
1236
- passive: !0,
1237
- capture: !1
1238
- };
1239
- r.addEventListener(i.start, this.onTouchStart, l),
1240
- r.addEventListener(i.move, this.onTouchMove, a.passiveListener ? {
1241
- passive: !1,
1242
- capture: o
1243
- } : o),
1244
- r.addEventListener(i.end, this.onTouchEnd, l)
1245
- }
1246
- (t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !a.touch && m.ios) && (r.addEventListener("mousedown", this.onTouchStart, !1), e.addEventListener("mousemove", this.onTouchMove, o), e.addEventListener("mouseup", this.onTouchEnd, !1))
1247
- } else
1248
- r.addEventListener(i.start, this.onTouchStart, !1),
1249
- e.addEventListener(i.move, this.onTouchMove, o),
1250
- e.addEventListener(i.end, this.onTouchEnd, !1);
1251
- (t.preventClicks || t.preventClicksPropagation) && r.addEventListener("click", this.onClick, !0),
1252
- this.on(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", D, !0)
1253
- },
1254
- detachEvents: function() {
1255
- var t = this.params,
1256
- i = this.touchEvents,
1257
- s = this.el,
1258
- n = this.wrapperEl,
1259
- r = "container" === t.touchEventsTarget ? s : n,
1260
- o = !!t.nested;
1261
- if (a.touch || !a.pointerEvents && !a.prefixedPointerEvents) {
1262
- if (a.touch) {
1263
- var l = !("onTouchStart" !== i.start || !a.passiveListener || !t.passiveListeners) && {
1264
- passive: !0,
1265
- capture: !1
1266
- };
1267
- r.removeEventListener(i.start, this.onTouchStart, l),
1268
- r.removeEventListener(i.move, this.onTouchMove, o),
1269
- r.removeEventListener(i.end, this.onTouchEnd, l)
1270
- }
1271
- (t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !a.touch && m.ios) && (r.removeEventListener("mousedown", this.onTouchStart, !1), e.removeEventListener("mousemove", this.onTouchMove, o), e.removeEventListener("mouseup", this.onTouchEnd, !1))
1272
- } else
1273
- r.removeEventListener(i.start, this.onTouchStart, !1),
1274
- e.removeEventListener(i.move, this.onTouchMove, o),
1275
- e.removeEventListener(i.end, this.onTouchEnd, !1);
1276
- (t.preventClicks || t.preventClicksPropagation) && r.removeEventListener("click", this.onClick, !0),
1277
- this.off(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", D)
1278
- }
1279
- },
1280
- w = {
1281
- isIE: !!t.navigator.userAgent.match(/Trident/g) || !!t.navigator.userAgent.match(/MSIE/g),
1282
- isEdge: !!t.navigator.userAgent.match(/Edge/g),
1283
- isSafari: (d = t.navigator.userAgent.toLowerCase(), d.indexOf("safari") >= 0 && d.indexOf("chrome") < 0 && d.indexOf("android") < 0),
1284
- isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)
1285
- },
1286
- C = {
1287
- init: !0,
1288
- direction: "horizontal",
1289
- touchEventsTarget: "container",
1290
- initialSlide: 0,
1291
- speed: 300,
1292
- preventInteractionOnTransition: !1,
1293
- edgeSwipeDetection: !1,
1294
- edgeSwipeThreshold: 20,
1295
- freeMode: !1,
1296
- freeModeMomentum: !0,
1297
- freeModeMomentumRatio: 1,
1298
- freeModeMomentumBounce: !0,
1299
- freeModeMomentumBounceRatio: 1,
1300
- freeModeMomentumVelocityRatio: 1,
1301
- freeModeSticky: !1,
1302
- freeModeMinimumVelocity: .02,
1303
- effect: "slide",
1304
- spaceBetween: 0,
1305
- slidesPerView: 1,
1306
- slidesPerColumn: 1,
1307
- slidesPerColumnFill: "column",
1308
- slidesPerGroup: 1,
1309
- centeredSlides: !1,
1310
- slidesOffsetBefore: 0,
1311
- slidesOffsetAfter: 0,
1312
- normalizeSlideIndex: !0,
1313
- centerInsufficientSlides: !1,
1314
- roundLengths: !1,
1315
- touchRatio: 1,
1316
- touchAngle: 45,
1317
- simulateTouch: !0,
1318
- shortSwipes: !0,
1319
- longSwipes: !0,
1320
- longSwipesRatio: .5,
1321
- longSwipesMs: 300,
1322
- followFinger: !0,
1323
- allowTouchMove: !0,
1324
- threshold: 0,
1325
- touchMoveStopPropagation: !0,
1326
- touchStartPreventDefault: !0,
1327
- touchStartForcePreventDefault: !1,
1328
- touchReleaseOnEdges: !1,
1329
- uniqueNavElements: !0,
1330
- resistance: !0,
1331
- resistanceRatio: .85,
1332
- grabCursor: !1,
1333
- preventClicks: !0,
1334
- preventClicksPropagation: !0,
1335
- slideToClickedSlide: !1,
1336
- loop: !1,
1337
- loopAdditionalSlides: 0,
1338
- loopedSlides: null,
1339
- loopFillGroupWithBlank: !1,
1340
- allowSlidePrev: !0,
1341
- allowSlideNext: !0,
1342
- swipeHandler: null,
1343
- noSwiping: !0,
1344
- noSwipingClass: "swiper-no-swiping",
1345
- noSwipingSelector: null,
1346
- passiveListeners: !0,
1347
- containerModifierClass: "swiper-container-",
1348
- slideClass: "swiper-slide",
1349
- slideBlankClass: "swiper-slide-invisible-blank",
1350
- slideActiveClass: "swiper-slide-active",
1351
- slideDuplicateActiveClass: "swiper-slide-duplicate-active",
1352
- slideVisibleClass: "swiper-slide-visible",
1353
- slideDuplicateClass: "swiper-slide-duplicate",
1354
- slideNextClass: "swiper-slide-next",
1355
- slideDuplicateNextClass: "swiper-slide-duplicate-next",
1356
- slidePrevClass: "swiper-slide-prev",
1357
- slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
1358
- wrapperClass: "swiper-wrapper",
1359
- runCallbacksOnInit: !0
1360
- },
1361
- x = {
1362
- update: h,
1363
- translate: p,
1364
- transition: u,
1365
- slide: c,
1366
- loop: v,
1367
- manipulation: f,
1368
- events: g,
1369
- classes: {
1370
- addClasses: function() {
1371
- var e = this.classNames,
1372
- t = this.params,
1373
- i = this.rtl,
1374
- s = this.$el,
1375
- n = [];
1376
- n.push(t.direction),
1377
- t.freeMode && n.push("free-mode"),
1378
- a.flexbox || n.push("no-flexbox"),
1379
- i && n.push("rtl"),
1380
- t.slidesPerColumn > 1 && n.push("multirow"),
1381
- m.android && n.push("android"),
1382
- m.ios && n.push("ios"),
1383
- (w.isIE || w.isEdge) && (a.pointerEvents || a.prefixedPointerEvents) && n.push("wp8-" + t.direction),
1384
- n.forEach((function(i) {
1385
- e.push(t.containerModifierClass + i)
1386
- })),
1387
- s.addClass(e.join(" "))
1388
- },
1389
- removeClasses: function() {
1390
- var e = this.$el,
1391
- t = this.classNames;
1392
- e.removeClass(t.join(" "))
1393
- }
1394
- }
1395
- },
1396
- T = {},
1397
- y = function(e) {
1398
- function t() {
1399
- for (var i, s, n, o = [], l = arguments.length; l--;)
1400
- o[l] = arguments[l];
1401
- 1 === o.length && o[0].constructor && o[0].constructor === Object ? n = o[0] : (s = (i = o)[0], n = i[1]),
1402
- n || (n = {}),
1403
- n = r.extend({}, n),
1404
- s && !n.el && (n.el = s),
1405
- e.call(this, n),
1406
- Object.keys(x).forEach((function(e) {
1407
- Object.keys(x[e]).forEach((function(i) {
1408
- t.prototype[i] || (t.prototype[i] = x[e][i])
1409
- }))
1410
- }));
1411
- var d = this;
1412
- void 0 === d.modules && (d.modules = {}),
1413
- Object.keys(d.modules).forEach((function(e) {
1414
- var t = d.modules[e];
1415
- if (t.params) {
1416
- var i = Object.keys(t.params)[0],
1417
- s = t.params[i];
1418
- if ("object" != typeof s || null === s)
1419
- return;
1420
- if (!(i in n) || !("enabled" in s))
1421
- return;
1422
- !0 === n[i] && (n[i] = {
1423
- enabled: !0
1424
- }),
1425
- "object" != typeof n[i] || "enabled" in n[i] || (n[i].enabled = !0),
1426
- n[i] || (n[i] = {
1427
- enabled: !1
1428
- })
1429
- }
1430
- }));
1431
- var h = r.extend({}, C);
1432
- d.useModulesParams(h),
1433
- d.params = r.extend({}, h, T, n),
1434
- d.originalParams = r.extend({}, d.params),
1435
- d.passedParams = r.extend({}, n),
1436
- d.$ = k;
1437
- var p = k(d.params.el);
1438
- if (s = p[0]) {
1439
- if (p.length > 1) {
1440
- var u = [];
1441
- return p.each((function(e, i) {
1442
- var s = r.extend({}, n, {
1443
- el: i
1444
- });
1445
- u.push(new t(s))
1446
- })), u
1447
- }
1448
- s.swiper = d,
1449
- p.data("swiper", d);
1450
- var c,
1451
- v,
1452
- f = p.children("." + d.params.wrapperClass);
1453
- return r.extend(d, {
1454
- $el: p,
1455
- el: s,
1456
- $wrapperEl: f,
1457
- wrapperEl: f[0],
1458
- classNames: [],
1459
- slides: k(),
1460
- slidesGrid: [],
1461
- snapGrid: [],
1462
- slidesSizesGrid: [],
1463
- isHorizontal: function() {
1464
- return "horizontal" === d.params.direction
1465
- },
1466
- isVertical: function() {
1467
- return "vertical" === d.params.direction
1468
- },
1469
- rtl: "rtl" === s.dir.toLowerCase() || "rtl" === p.css("direction"),
1470
- rtlTranslate: "horizontal" === d.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === p.css("direction")),
1471
- wrongRTL: "-webkit-box" === f.css("display"),
1472
- activeIndex: 0,
1473
- realIndex: 0,
1474
- isBeginning: !0,
1475
- isEnd: !1,
1476
- translate: 0,
1477
- previousTranslate: 0,
1478
- progress: 0,
1479
- velocity: 0,
1480
- animating: !1,
1481
- allowSlideNext: d.params.allowSlideNext,
1482
- allowSlidePrev: d.params.allowSlidePrev,
1483
- touchEvents: (c = ["touchstart", "touchmove", "touchend"], v = ["mousedown", "mousemove", "mouseup"], a.pointerEvents ? v = ["pointerdown", "pointermove", "pointerup"] : a.prefixedPointerEvents && (v = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]), d.touchEventsTouch = {
1484
- start: c[0],
1485
- move: c[1],
1486
- end: c[2]
1487
- }, d.touchEventsDesktop = {
1488
- start: v[0],
1489
- move: v[1],
1490
- end: v[2]
1491
- }, a.touch || !d.params.simulateTouch ? d.touchEventsTouch : d.touchEventsDesktop),
1492
- touchEventsData: {
1493
- isTouched: void 0,
1494
- isMoved: void 0,
1495
- allowTouchCallbacks: void 0,
1496
- touchStartTime: void 0,
1497
- isScrolling: void 0,
1498
- currentTranslate: void 0,
1499
- startTranslate: void 0,
1500
- allowThresholdMove: void 0,
1501
- formElements: "input, select, option, textarea, button, video",
1502
- lastClickTime: r.now(),
1503
- clickTimeout: void 0,
1504
- velocities: [],
1505
- allowMomentumBounce: void 0,
1506
- isTouchEvent: void 0,
1507
- startMoving: void 0
1508
- },
1509
- allowClick: !0,
1510
- allowTouchMove: d.params.allowTouchMove,
1511
- touches: {
1512
- startX: 0,
1513
- startY: 0,
1514
- currentX: 0,
1515
- currentY: 0,
1516
- diff: 0
1517
- }
1518
- }), d.useModules(), d.params.init && d.init(), d
1519
- }
1520
- }
1521
- e && (t.__proto__ = e),
1522
- t.prototype = Object.create(e && e.prototype),
1523
- t.prototype.constructor = t;
1524
- var i = {
1525
- extendedDefaults: {
1526
- configurable: !0
1527
- },
1528
- defaults: {
1529
- configurable: !0
1530
- },
1531
- Class: {
1532
- configurable: !0
1533
- },
1534
- $: {
1535
- configurable: !0
1536
- }
1537
- };
1538
- return t.prototype.slidesPerViewDynamic = function() {
1539
- var e = this.params,
1540
- t = this.slides,
1541
- i = this.slidesGrid,
1542
- s = this.size,
1543
- n = this.activeIndex,
1544
- r = 1;
1545
- if (e.centeredSlides)
1546
- ;
1547
- else
1548
- for (var a = n + 1; a < t.length; a += 1)
1549
- i[a] - i[n] < s && (r += 1);
1550
- return r
1551
- }, t.prototype.update = function() {
1552
- var e = this;
1553
- function t() {
1554
- var t = e.rtlTranslate ? -1 * e.translate : e.translate,
1555
- i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
1556
- e.setTranslate(i),
1557
- e.updateActiveIndex(),
1558
- e.updateSlidesClasses()
1559
- }
1560
- e && !e.destroyed && (e.snapGrid, e.params, e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? t() : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || t(), e.emit("update"))
1561
- }, t.prototype.init = function() {
1562
- this.initialized || (this.emit("beforeInit"), this.addClasses(), this.params.loop && this.loopCreate(), this.updateSize(), this.updateSlides(), this.params.loop ? this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this.params.runCallbacksOnInit), this.attachEvents(), this.initialized = !0, this.emit("init"))
1563
- }, t.prototype.destroy = function(e, t) {
1564
- void 0 === e && (e = !0),
1565
- void 0 === t && (t = !0);
1566
- var i = this,
1567
- s = i.params,
1568
- n = i.$el,
1569
- a = i.$wrapperEl,
1570
- o = i.slides;
1571
- return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), n.removeAttr("style"), a.removeAttr("style"), o && o.length && o.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr("data-swiper-column").removeAttr("data-swiper-row")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function(e) {
1572
- i.off(e)
1573
- })), !1 !== e && (i.$el[0].swiper = null, i.$el.data("swiper", null), r.deleteProps(i)), i.destroyed = !0), null
1574
- }, t.extendDefaults = function(e) {
1575
- r.extend(T, e)
1576
- }, i.extendedDefaults.get = function() {
1577
- return T
1578
- }, i.defaults.get = function() {
1579
- return C
1580
- }, i.Class.get = function() {
1581
- return e
1582
- }, i.$.get = function() {
1583
- return k
1584
- }, Object.defineProperties(t, i), t
1585
- }(o),
1586
- b = {
1587
- update: function() {
1588
- var e = this.params.navigation;
1589
- if (!this.params.loop) {
1590
- var t = this.navigation,
1591
- i = t.$nextEl,
1592
- s = t.$prevEl;
1593
- s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass), s.removeClass(e.lockClass)),
1594
- i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass), i.removeClass(e.lockClass))
1595
- }
1596
- },
1597
- onPrevClick: function(e) {
1598
- e.preventDefault(),
1599
- this.isBeginning && !this.params.loop || this.slidePrev()
1600
- },
1601
- onNextClick: function(e) {
1602
- e.preventDefault(),
1603
- this.isEnd && !this.params.loop || this.slideNext()
1604
- },
1605
- init: function() {
1606
- var e,
1607
- t,
1608
- i = this.params.navigation;
1609
- (i.nextEl || i.prevEl) && (i.nextEl && (e = k(i.nextEl), this.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && (t = k(i.prevEl), this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", this.navigation.onNextClick), t && t.length > 0 && t.on("click", this.navigation.onPrevClick), r.extend(this.navigation, {
1610
- $nextEl: e,
1611
- nextEl: e && e[0],
1612
- $prevEl: t,
1613
- prevEl: t && t[0]
1614
- }))
1615
- },
1616
- destroy: function() {
1617
- var e = this.navigation,
1618
- t = e.$nextEl,
1619
- i = e.$prevEl;
1620
- t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)),
1621
- i && i.length && (i.off("click", this.navigation.onPrevClick), i.removeClass(this.params.navigation.disabledClass))
1622
- }
1623
- },
1624
- S = {
1625
- update: function() {
1626
- var e = this.rtl,
1627
- t = this.params.pagination;
1628
- if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
1629
- var i,
1630
- s = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
1631
- n = this.pagination.$el,
1632
- r = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length;
1633
- if (this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -= s - 2 * this.loopedSlides), i > r - 1 && (i -= r), i < 0 && "bullets" !== this.params.paginationType && (i = r + i)) : i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0, "bullets" === t.type && this.pagination.bullets && this.pagination.bullets.length > 0) {
1634
- var a,
1635
- o,
1636
- l,
1637
- d = this.pagination.bullets;
1638
- if (t.dynamicBullets && (this.pagination.bulletSize = d.eq(0)[this.isHorizontal() ? "outerWidth" : "outerHeight"](!0), n.css(this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets + 4) + "px"), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && (this.pagination.dynamicBulletIndex += i - this.previousIndex, this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1 : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), a = i - this.pagination.dynamicBulletIndex, l = ((o = a + (Math.min(d.length, t.dynamicMainBullets) - 1)) + a) / 2), d.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass + "-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass + "-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass + "-main"), n.length > 1)
1639
- d.each((function(e, s) {
1640
- var n = k(s),
1641
- r = n.index();
1642
- r === i && n.addClass(t.bulletActiveClass),
1643
- t.dynamicBullets && (r >= a && r <= o && n.addClass(t.bulletActiveClass + "-main"), r === a && n.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), r === o && n.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next"))
1644
- }));
1645
- else if (d.eq(i).addClass(t.bulletActiveClass), t.dynamicBullets) {
1646
- for (var h = d.eq(a), p = d.eq(o), u = a; u <= o; u += 1)
1647
- d.eq(u).addClass(t.bulletActiveClass + "-main");
1648
- h.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"),
1649
- p.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next")
1650
- }
1651
- if (t.dynamicBullets) {
1652
- var c = Math.min(d.length, t.dynamicMainBullets + 4),
1653
- v = (this.pagination.bulletSize * c - this.pagination.bulletSize) / 2 - l * this.pagination.bulletSize,
1654
- f = e ? "right" : "left";
1655
- d.css(this.isHorizontal() ? f : "top", v + "px")
1656
- }
1657
- }
1658
- if ("fraction" === t.type && (n.find("." + t.currentClass).text(t.formatFractionCurrent(i + 1)), n.find("." + t.totalClass).text(t.formatFractionTotal(r))), "progressbar" === t.type) {
1659
- var m;
1660
- m = t.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
1661
- var g = (i + 1) / r,
1662
- w = 1,
1663
- C = 1;
1664
- "horizontal" === m ? w = g : C = g,
1665
- n.find("." + t.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + w + ") scaleY(" + C + ")").transition(this.params.speed)
1666
- }
1667
- "custom" === t.type && t.renderCustom ? (n.html(t.renderCustom(this, i + 1, r)), this.emit("paginationRender", this, n[0])) : this.emit("paginationUpdate", this, n[0]),
1668
- n.removeClass(t.lockClass)
1669
- }
1670
- },
1671
- render: function() {
1672
- var e = this.params.pagination;
1673
- if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
1674
- var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
1675
- i = this.pagination.$el,
1676
- s = "";
1677
- if ("bullets" === e.type) {
1678
- for (var n = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < n; r += 1)
1679
- e.renderBullet ? s += e.renderBullet.call(this, r, e.bulletClass) : s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + ">";
1680
- i.html(s),
1681
- this.pagination.bullets = i.find("." + e.bulletClass)
1682
- }
1683
- "fraction" === e.type && (s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>', i.html(s)),
1684
- "progressbar" === e.type && (s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass + '"></span>', i.html(s)),
1685
- "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0])
1686
- }
1687
- },
1688
- init: function() {
1689
- var e = this,
1690
- t = e.params.pagination;
1691
- if (t.el) {
1692
- var i = k(t.el);
1693
- 0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el && i.length > 1 && 1 === e.$el.find(t.el).length && (i = e.$el.find(t.el)), "bullets" === t.type && t.clickable && i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass), t.clickable && i.on("click", "." + t.bulletClass, (function(t) {
1694
- t.preventDefault();
1695
- var i = k(this).index() * e.params.slidesPerGroup;
1696
- e.params.loop && (i += e.loopedSlides),
1697
- e.slideTo(i)
1698
- })), r.extend(e.pagination, {
1699
- $el: i,
1700
- el: i[0]
1701
- }))
1702
- }
1703
- },
1704
- destroy: function() {
1705
- var e = this.params.pagination;
1706
- if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
1707
- var t = this.pagination.$el;
1708
- t.removeClass(e.hiddenClass),
1709
- t.removeClass(e.modifierClass + e.type),
1710
- this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass),
1711
- e.clickable && t.off("click", "." + e.bulletClass)
1712
- }
1713
- }
1714
- },
1715
- E = {
1716
- LinearSpline: function(e, t) {
1717
- var i,
1718
- s,
1719
- n,
1720
- r,
1721
- a,
1722
- o = function(e, t) {
1723
- for (s = -1, i = e.length; i - s > 1;)
1724
- e[n = i + s >> 1] <= t ? s = n : i = n;
1725
- return i
1726
- };
1727
- return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) {
1728
- return e ? (a = o(this.x, e), r = a - 1, (e - this.x[r]) * (this.y[a] - this.y[r]) / (this.x[a] - this.x[r]) + this.y[r]) : 0
1729
- }, this
1730
- },
1731
- getInterpolateFunction: function(e) {
1732
- this.controller.spline || (this.controller.spline = this.params.loop ? new E.LinearSpline(this.slidesGrid, e.slidesGrid) : new E.LinearSpline(this.snapGrid, e.snapGrid))
1733
- },
1734
- setTranslate: function(e, t) {
1735
- var i,
1736
- s,
1737
- n = this,
1738
- r = n.controller.control;
1739
- function a(e) {
1740
- var t = n.rtlTranslate ? -n.translate : n.translate;
1741
- "slide" === n.params.controller.by && (n.controller.getInterpolateFunction(e), s = -n.controller.spline.interpolate(-t)),
1742
- s && "container" !== n.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) / (n.maxTranslate() - n.minTranslate()), s = (t - n.minTranslate()) * i + e.minTranslate()),
1743
- n.params.controller.inverse && (s = e.maxTranslate() - s),
1744
- e.updateProgress(s),
1745
- e.setTranslate(s, n),
1746
- e.updateActiveIndex(),
1747
- e.updateSlidesClasses()
1748
- }
1749
- if (Array.isArray(r))
1750
- for (var o = 0; o < r.length; o += 1)
1751
- r[o] !== t && r[o] instanceof y && a(r[o]);
1752
- else
1753
- r instanceof y && t !== r && a(r)
1754
- },
1755
- setTransition: function(e, t) {
1756
- var i,
1757
- s = this,
1758
- n = s.controller.control;
1759
- function r(t) {
1760
- t.setTransition(e, s),
1761
- 0 !== e && (t.transitionStart(), t.$wrapperEl.transitionEnd((function() {
1762
- n && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd())
1763
- })))
1764
- }
1765
- if (Array.isArray(n))
1766
- for (i = 0; i < n.length; i += 1)
1767
- n[i] !== t && n[i] instanceof y && r(n[i]);
1768
- else
1769
- n instanceof y && t !== n && r(n)
1770
- }
1771
- },
1772
- M = {
1773
- name: "controller",
1774
- params: {
1775
- controller: {
1776
- control: void 0,
1777
- inverse: !1,
1778
- by: "slide"
1779
- }
1780
- },
1781
- create: function() {
1782
- r.extend(this, {
1783
- controller: {
1784
- control: this.params.controller.control,
1785
- getInterpolateFunction: E.getInterpolateFunction.bind(this),
1786
- setTranslate: E.setTranslate.bind(this),
1787
- setTransition: E.setTransition.bind(this)
1788
- }
1789
- })
1790
- },
1791
- on: {
1792
- update: function() {
1793
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
1794
- },
1795
- resize: function() {
1796
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
1797
- },
1798
- observerUpdate: function() {
1799
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
1800
- },
1801
- setTranslate: function(e, t) {
1802
- this.controller.control && this.controller.setTranslate(e, t)
1803
- },
1804
- setTransition: function(e, t) {
1805
- this.controller.control && this.controller.setTransition(e, t)
1806
- }
1807
- }
1808
- },
1809
- L = {
1810
- run: function() {
1811
- var e = this,
1812
- t = e.slides.eq(e.activeIndex),
1813
- i = e.params.autoplay.delay;
1814
- t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") || e.params.autoplay.delay),
1815
- e.autoplay.timeout = r.nextTick((function() {
1816
- e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay"))
1817
- }), i)
1818
- },
1819
- start: function() {
1820
- return void 0 === this.autoplay.timeout && !this.autoplay.running && (this.autoplay.running = !0, this.emit("autoplayStart"), this.autoplay.run(), !0)
1821
- },
1822
- stop: function() {
1823
- return !!this.autoplay.running && void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), this.autoplay.timeout = void 0), this.autoplay.running = !1, this.emit("autoplayStop"), !0)
1824
- },
1825
- pause: function(e) {
1826
- this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), this.autoplay.paused = !0, 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener("transitionend", this.autoplay.onTransitionEnd), this.$wrapperEl[0].addEventListener("webkitTransitionEnd", this.autoplay.onTransitionEnd)) : (this.autoplay.paused = !1, this.autoplay.run())))
1827
- }
1828
- },
1829
- P = [{
1830
- name: "device",
1831
- proto: {
1832
- device: m
1833
- },
1834
- static: {
1835
- device: m
1836
- }
1837
- }, {
1838
- name: "support",
1839
- proto: {
1840
- support: a
1841
- },
1842
- static: {
1843
- support: a
1844
- }
1845
- }, {
1846
- name: "browser",
1847
- proto: {
1848
- browser: w
1849
- },
1850
- static: {
1851
- browser: w
1852
- }
1853
- }, {
1854
- name: "resize",
1855
- create: function() {
1856
- var e = this;
1857
- r.extend(e, {
1858
- resize: {
1859
- resizeHandler: function() {
1860
- e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
1861
- },
1862
- orientationChangeHandler: function() {
1863
- e && !e.destroyed && e.initialized && e.emit("orientationchange")
1864
- }
1865
- }
1866
- })
1867
- },
1868
- on: {
1869
- init: function() {
1870
- t.addEventListener("resize", this.resize.resizeHandler),
1871
- t.addEventListener("orientationchange", this.resize.orientationChangeHandler)
1872
- },
1873
- destroy: function() {
1874
- t.removeEventListener("resize", this.resize.resizeHandler),
1875
- t.removeEventListener("orientationchange", this.resize.orientationChangeHandler)
1876
- }
1877
- }
1878
- }, {
1879
- name: "navigation",
1880
- params: {
1881
- navigation: {
1882
- nextEl: null,
1883
- prevEl: null,
1884
- hideOnClick: !1,
1885
- disabledClass: "swiper-button-disabled",
1886
- hiddenClass: "swiper-button-hidden",
1887
- lockClass: "swiper-button-lock"
1888
- }
1889
- },
1890
- create: function() {
1891
- r.extend(this, {
1892
- navigation: {
1893
- init: b.init.bind(this),
1894
- update: b.update.bind(this),
1895
- destroy: b.destroy.bind(this),
1896
- onNextClick: b.onNextClick.bind(this),
1897
- onPrevClick: b.onPrevClick.bind(this)
1898
- }
1899
- })
1900
- },
1901
- on: {
1902
- init: function() {
1903
- this.navigation.init(),
1904
- this.navigation.update()
1905
- },
1906
- toEdge: function() {
1907
- this.navigation.update()
1908
- },
1909
- fromEdge: function() {
1910
- this.navigation.update()
1911
- },
1912
- destroy: function() {
1913
- this.navigation.destroy()
1914
- },
1915
- click: function(e) {
1916
- var t = this.navigation,
1917
- i = t.$nextEl,
1918
- s = t.$prevEl;
1919
- !this.params.navigation.hideOnClick || k(e.target).is(s) || k(e.target).is(i) || (i && i.toggleClass(this.params.navigation.hiddenClass), s && s.toggleClass(this.params.navigation.hiddenClass))
1920
- }
1921
- }
1922
- }, {
1923
- name: "pagination",
1924
- params: {
1925
- pagination: {
1926
- el: null,
1927
- bulletElement: "span",
1928
- clickable: !1,
1929
- hideOnClick: !1,
1930
- renderBullet: null,
1931
- renderProgressbar: null,
1932
- renderFraction: null,
1933
- renderCustom: null,
1934
- progressbarOpposite: !1,
1935
- type: "bullets",
1936
- dynamicBullets: !1,
1937
- dynamicMainBullets: 1,
1938
- formatFractionCurrent: function(e) {
1939
- return e
1940
- },
1941
- formatFractionTotal: function(e) {
1942
- return e
1943
- },
1944
- bulletClass: "swiper-pagination-bullet",
1945
- bulletActiveClass: "swiper-pagination-bullet-active",
1946
- modifierClass: "swiper-pagination-",
1947
- currentClass: "swiper-pagination-current",
1948
- totalClass: "swiper-pagination-total",
1949
- hiddenClass: "swiper-pagination-hidden",
1950
- progressbarFillClass: "swiper-pagination-progressbar-fill",
1951
- progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
1952
- clickableClass: "swiper-pagination-clickable",
1953
- lockClass: "swiper-pagination-lock"
1954
- }
1955
- },
1956
- create: function() {
1957
- r.extend(this, {
1958
- pagination: {
1959
- init: S.init.bind(this),
1960
- render: S.render.bind(this),
1961
- update: S.update.bind(this),
1962
- destroy: S.destroy.bind(this),
1963
- dynamicBulletIndex: 0
1964
- }
1965
- })
1966
- },
1967
- on: {
1968
- init: function() {
1969
- this.pagination.init(),
1970
- this.pagination.render(),
1971
- this.pagination.update()
1972
- },
1973
- activeIndexChange: function() {
1974
- (this.params.loop || void 0 === this.snapIndex) && this.pagination.update()
1975
- },
1976
- snapIndexChange: function() {
1977
- this.params.loop || this.pagination.update()
1978
- },
1979
- slidesLengthChange: function() {
1980
- this.params.loop && (this.pagination.render(), this.pagination.update())
1981
- },
1982
- snapGridLengthChange: function() {
1983
- this.params.loop || (this.pagination.render(), this.pagination.update())
1984
- },
1985
- destroy: function() {
1986
- this.pagination.destroy()
1987
- },
1988
- click: function(e) {
1989
- this.params.pagination.el && this.params.pagination.hideOnClick && this.pagination.$el.length > 0 && !k(e.target).hasClass(this.params.pagination.bulletClass) && this.pagination.$el.toggleClass(this.params.pagination.hiddenClass)
1990
- }
1991
- }
1992
- }, M, {
1993
- name: "autoplay",
1994
- params: {
1995
- autoplay: {
1996
- enabled: !1,
1997
- delay: 3e3,
1998
- waitForTransition: !0,
1999
- disableOnInteraction: !0,
2000
- stopOnLastSlide: !1,
2001
- reverseDirection: !1
2002
- }
2003
- },
2004
- create: function() {
2005
- var e = this;
2006
- r.extend(e, {
2007
- autoplay: {
2008
- running: !1,
2009
- paused: !1,
2010
- run: L.run.bind(e),
2011
- start: L.start.bind(e),
2012
- stop: L.stop.bind(e),
2013
- pause: L.pause.bind(e),
2014
- onTransitionEnd: function(t) {
2015
- e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener("transitionend", e.autoplay.onTransitionEnd), e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ? e.autoplay.run() : e.autoplay.stop())
2016
- }
2017
- }
2018
- })
2019
- },
2020
- on: {
2021
- init: function() {
2022
- this.params.autoplay.enabled && this.autoplay.start()
2023
- },
2024
- beforeTransitionStart: function(e, t) {
2025
- this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop())
2026
- },
2027
- sliderFirstMove: function() {
2028
- this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause())
2029
- },
2030
- destroy: function() {
2031
- this.autoplay.running && this.autoplay.stop()
2032
- }
2033
- }
2034
- }];
2035
- return void 0 === y.use && (y.use = y.Class.use, y.installModule = y.Class.installModule), y.use(P), y
2036
- }
2037
- function k(s, n) {
2038
- var r = [],
2039
- a = 0;
2040
- if (s && !n && s instanceof i)
2041
- return s;
2042
- if (s)
2043
- if ("string" == typeof s) {
2044
- var o,
2045
- l,
2046
- d = s.trim();
2047
- if (d.indexOf("<") >= 0 && d.indexOf(">") >= 0) {
2048
- var h = "div";
2049
- for (0 === d.indexOf("<li") && (h = "ul"), 0 === d.indexOf("<tr") && (h = "tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (h = "tr"), 0 === d.indexOf("<tbody") && (h = "table"), 0 === d.indexOf("<option") && (h = "select"), (l = e.createElement(h)).innerHTML = d, a = 0; a < l.childNodes.length; a += 1)
2050
- r.push(l.childNodes[a])
2051
- } else
2052
- for (o = n || "#" !== s[0] || s.match(/[ .<>:~]/) ? (n || e).querySelectorAll(s.trim()) : [e.getElementById(s.trim().split("#")[1])], a = 0; a < o.length; a += 1)
2053
- o[a] && r.push(o[a])
2054
- } else if (s.nodeType || s === t || s === e)
2055
- r.push(s);
2056
- else if (s.length > 0 && s[0].nodeType)
2057
- for (a = 0; a < s.length; a += 1)
2058
- r.push(s[a]);
2059
- return new i(r)
2060
- }
2061
- function O(e) {
2062
- for (var t = [], i = 0; i < e.length; i += 1)
2063
- -1 === t.indexOf(e[i]) && t.push(e[i]);
2064
- return t
2065
- }
2066
- function I(i) {
2067
- var s = this.touchEventsData,
2068
- n = this.params,
2069
- a = this.touches;
2070
- if (!this.animating || !n.preventInteractionOnTransition) {
2071
- var o = i;
2072
- if (o.originalEvent && (o = o.originalEvent), s.isTouchEvent = "touchstart" === o.type, (s.isTouchEvent || !("which" in o) || 3 !== o.which) && !(!s.isTouchEvent && "button" in o && o.button > 0 || s.isTouched && s.isMoved))
2073
- if (n.noSwiping && k(o.target).closest(n.noSwipingSelector ? n.noSwipingSelector : "." + n.noSwipingClass)[0])
2074
- this.allowClick = !0;
2075
- else if (!n.swipeHandler || k(o).closest(n.swipeHandler)[0]) {
2076
- a.currentX = "touchstart" === o.type ? o.targetTouches[0].pageX : o.pageX,
2077
- a.currentY = "touchstart" === o.type ? o.targetTouches[0].pageY : o.pageY;
2078
- var l = a.currentX,
2079
- d = a.currentY,
2080
- h = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection,
2081
- p = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold;
2082
- if (!h || !(l <= p || l >= t.screen.width - p)) {
2083
- if (r.extend(s, {
2084
- isTouched: !0,
2085
- isMoved: !1,
2086
- allowTouchCallbacks: !0,
2087
- isScrolling: void 0,
2088
- startMoving: void 0
2089
- }), a.startX = l, a.startY = d, s.touchStartTime = r.now(), this.allowClick = !0, this.updateSize(), this.swipeDirection = void 0, n.threshold > 0 && (s.allowThresholdMove = !1), "touchstart" !== o.type) {
2090
- var u = !0;
2091
- k(o.target).is(s.formElements) && (u = !1),
2092
- e.activeElement && k(e.activeElement).is(s.formElements) && e.activeElement !== o.target && e.activeElement.blur();
2093
- var c = u && this.allowTouchMove && n.touchStartPreventDefault;
2094
- (n.touchStartForcePreventDefault || c) && o.preventDefault()
2095
- }
2096
- this.emit("touchStart", o)
2097
- }
2098
- }
2099
- }
2100
- }
2101
- function z(t) {
2102
- var i = this.touchEventsData,
2103
- s = this.params,
2104
- n = this.touches,
2105
- a = this.rtlTranslate,
2106
- o = t;
2107
- if (o.originalEvent && (o = o.originalEvent), i.isTouched) {
2108
- if (!i.isTouchEvent || "mousemove" !== o.type) {
2109
- var l = "touchmove" === o.type ? o.targetTouches[0].pageX : o.pageX,
2110
- d = "touchmove" === o.type ? o.targetTouches[0].pageY : o.pageY;
2111
- if (o.preventedByNestedSwiper)
2112
- return n.startX = l, void (n.startY = d);
2113
- if (!this.allowTouchMove)
2114
- return this.allowClick = !1, void (i.isTouched && (r.extend(n, {
2115
- startX: l,
2116
- startY: d,
2117
- currentX: l,
2118
- currentY: d
2119
- }), i.touchStartTime = r.now()));
2120
- if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
2121
- if (this.isVertical()) {
2122
- if (d < n.startY && this.translate <= this.maxTranslate() || d > n.startY && this.translate >= this.minTranslate())
2123
- return i.isTouched = !1, void (i.isMoved = !1)
2124
- } else if (l < n.startX && this.translate <= this.maxTranslate() || l > n.startX && this.translate >= this.minTranslate())
2125
- return;
2126
- if (i.isTouchEvent && e.activeElement && o.target === e.activeElement && k(o.target).is(i.formElements))
2127
- return i.isMoved = !0, void (this.allowClick = !1);
2128
- if (i.allowTouchCallbacks && this.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
2129
- n.currentX = l,
2130
- n.currentY = d;
2131
- var h,
2132
- p = n.currentX - n.startX,
2133
- u = n.currentY - n.startY;
2134
- if (!(this.params.threshold && Math.sqrt(Math.pow(p, 2) + Math.pow(u, 2)) < this.params.threshold))
2135
- if (void 0 === i.isScrolling && (this.isHorizontal() && n.currentY === n.startY || this.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : p * p + u * u >= 25 && (h = 180 * Math.atan2(Math.abs(u), Math.abs(p)) / Math.PI, i.isScrolling = this.isHorizontal() ? h > s.touchAngle : 90 - h > s.touchAngle)), i.isScrolling && this.emit("touchMoveOpposite", o), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling)
2136
- i.isTouched = !1;
2137
- else if (i.startMoving) {
2138
- this.allowClick = !1,
2139
- o.preventDefault(),
2140
- s.touchMoveStopPropagation && !s.nested && o.stopPropagation(),
2141
- i.isMoved || (s.loop && this.loopFix(), i.startTranslate = this.getTranslate(), this.setTransition(0), this.animating && this.$wrapperEl.trigger("webkitTransitionEnd transitionend"), i.allowMomentumBounce = !1, this.emit("sliderFirstMove", o)),
2142
- this.emit("sliderMove", o),
2143
- i.isMoved = !0;
2144
- var c = this.isHorizontal() ? p : u;
2145
- n.diff = c,
2146
- c *= s.touchRatio,
2147
- a && (c = -c),
2148
- this.swipeDirection = c > 0 ? "prev" : "next",
2149
- i.currentTranslate = c + i.startTranslate;
2150
- var v = !0,
2151
- f = s.resistanceRatio;
2152
- if (s.touchReleaseOnEdges && (f = 0), c > 0 && i.currentTranslate > this.minTranslate() ? (v = !1, s.resistance && (i.currentTranslate = this.minTranslate() - 1 + Math.pow(-this.minTranslate() + i.startTranslate + c, f))) : c < 0 && i.currentTranslate < this.maxTranslate() && (v = !1, s.resistance && (i.currentTranslate = this.maxTranslate() + 1 - Math.pow(this.maxTranslate() - i.startTranslate - c, f))), v && (o.preventedByNestedSwiper = !0), !this.allowSlideNext && "next" === this.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !this.allowSlidePrev && "prev" === this.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.threshold > 0) {
2153
- if (!(Math.abs(c) > s.threshold || i.allowThresholdMove))
2154
- return void (i.currentTranslate = i.startTranslate);
2155
- if (!i.allowThresholdMove)
2156
- return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void (n.diff = this.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY)
2157
- }
2158
- s.followFinger && (s.freeMode && (this.updateActiveIndex(), this.updateSlidesClasses()), s.freeMode && (0 === i.velocities.length && i.velocities.push({
2159
- position: n[this.isHorizontal() ? "startX" : "startY"],
2160
- time: i.touchStartTime
2161
- }), i.velocities.push({
2162
- position: n[this.isHorizontal() ? "currentX" : "currentY"],
2163
- time: r.now()
2164
- })), this.updateProgress(i.currentTranslate), this.setTranslate(i.currentTranslate))
2165
- }
2166
- }
2167
- }
2168
- } else
2169
- i.startMoving && i.isScrolling && this.emit("touchMoveOpposite", o)
2170
- }
2171
- function A(e) {
2172
- var t = this,
2173
- i = t.touchEventsData,
2174
- s = t.params,
2175
- n = t.touches,
2176
- a = t.rtlTranslate,
2177
- o = t.$wrapperEl,
2178
- l = t.slidesGrid,
2179
- d = t.snapGrid,
2180
- h = e;
2181
- if (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit("touchEnd", h), i.allowTouchCallbacks = !1, !i.isTouched)
2182
- return i.isMoved = !1, void (i.startMoving = !1);
2183
- var p,
2184
- u = r.now(),
2185
- c = u - i.touchStartTime;
2186
- if (t.allowClick && (t.updateClickedSlide(h), t.emit("tap", h), c < 300 && u - i.lastClickTime > 300 && (i.clickTimeout && clearTimeout(i.clickTimeout), i.clickTimeout = r.nextTick((function() {
2187
- t && !t.destroyed && t.emit("click", h)
2188
- }), 300)), c < 300 && u - i.lastClickTime < 300 && (i.clickTimeout && clearTimeout(i.clickTimeout), t.emit("doubleTap", h))), i.lastClickTime = r.now(), r.nextTick((function() {
2189
- t.destroyed || (t.allowClick = !0)
2190
- })), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === n.diff || i.currentTranslate === i.startTranslate)
2191
- return i.isTouched = !1, i.isMoved = !1, void (i.startMoving = !1);
2192
- if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = s.followFinger ? a ? t.translate : -t.translate : -i.currentTranslate, s.freeMode) {
2193
- if (p < -t.minTranslate())
2194
- return void t.slideTo(t.activeIndex);
2195
- if (p > -t.maxTranslate())
2196
- return void (t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1));
2197
- if (s.freeModeMomentum) {
2198
- if (i.velocities.length > 1) {
2199
- var v = i.velocities.pop(),
2200
- f = i.velocities.pop(),
2201
- m = v.position - f.position,
2202
- g = v.time - f.time;
2203
- t.velocity = m / g,
2204
- t.velocity /= 2,
2205
- Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0),
2206
- (g > 150 || r.now() - v.time > 300) && (t.velocity = 0)
2207
- } else
2208
- t.velocity = 0;
2209
- t.velocity *= s.freeModeMomentumVelocityRatio,
2210
- i.velocities.length = 0;
2211
- var w = 1e3 * s.freeModeMomentumRatio,
2212
- C = t.velocity * w,
2213
- x = t.translate + C;
2214
- a && (x = -x);
2215
- var T,
2216
- y = !1,
2217
- b = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
2218
- x < t.maxTranslate() ? s.freeModeMomentumBounce ? (x + t.maxTranslate() < -b && (x = t.maxTranslate() - b), T = t.maxTranslate(), y = !0, i.allowMomentumBounce = !0) : x = t.maxTranslate() : x > t.minTranslate() && (s.freeModeMomentumBounce ? (x - t.minTranslate() > b && (x = t.minTranslate() + b), T = t.minTranslate(), y = !0, i.allowMomentumBounce = !0) : x = t.minTranslate()),
2219
- 0 !== t.velocity && (w = a ? Math.abs((-x - t.translate) / t.velocity) : Math.abs((x - t.translate) / t.velocity)),
2220
- s.freeModeMomentumBounce && y ? (t.updateProgress(T), t.setTransition(w), t.setTranslate(x), t.transitionStart(!0, t.swipeDirection), t.animating = !0, o.transitionEnd((function() {
2221
- t && !t.destroyed && i.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(s.speed), t.setTranslate(T), o.transitionEnd((function() {
2222
- t && !t.destroyed && t.transitionEnd()
2223
- })))
2224
- }))) : t.velocity ? (t.updateProgress(x), t.setTransition(w), t.setTranslate(x), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, o.transitionEnd((function() {
2225
- t && !t.destroyed && t.transitionEnd()
2226
- })))) : t.updateProgress(x),
2227
- t.updateActiveIndex(),
2228
- t.updateSlidesClasses()
2229
- }
2230
- (!s.freeModeMomentum || c >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
2231
- } else {
2232
- for (var S = 0, E = t.slidesSizesGrid[0], M = 0; M < l.length; M += s.slidesPerGroup)
2233
- void 0 !== l[M + s.slidesPerGroup] ? p >= l[M] && p < l[M + s.slidesPerGroup] && (S = M, E = l[M + s.slidesPerGroup] - l[M]) : p >= l[M] && (S = M, E = l[l.length - 1] - l[l.length - 2]);
2234
- var L = (p - l[S]) / E;
2235
- if (c > s.longSwipesMs) {
2236
- if (!s.longSwipes)
2237
- return void t.slideTo(t.activeIndex);
2238
- "next" === t.swipeDirection && (L >= s.longSwipesRatio ? t.slideTo(S + s.slidesPerGroup) : t.slideTo(S)),
2239
- "prev" === t.swipeDirection && (L > 1 - s.longSwipesRatio ? t.slideTo(S + s.slidesPerGroup) : t.slideTo(S))
2240
- } else {
2241
- if (!s.shortSwipes)
2242
- return void t.slideTo(t.activeIndex);
2243
- "next" === t.swipeDirection && t.slideTo(S + s.slidesPerGroup),
2244
- "prev" === t.swipeDirection && t.slideTo(S)
2245
- }
2246
- }
2247
- }
2248
- function D() {
2249
- var e = this.params,
2250
- t = this.el;
2251
- if (!t || 0 !== t.offsetWidth) {
2252
- var i = this.allowSlideNext,
2253
- s = this.allowSlidePrev;
2254
- if (this.snapGrid, this.allowSlideNext = !0, this.allowSlidePrev = !0, this.updateSize(), this.updateSlides(), e.freeMode) {
2255
- var n = Math.min(Math.max(this.translate, this.maxTranslate()), this.minTranslate());
2256
- this.setTranslate(n),
2257
- this.updateActiveIndex(),
2258
- this.updateSlidesClasses()
2259
- } else
2260
- this.updateSlidesClasses(),
2261
- ("auto" === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0);
2262
- this.allowSlidePrev = s,
2263
- this.allowSlideNext = i
2264
- }
2265
- }
2266
- function B(e) {}
2267
- }(),
2268
- n = "bnc-broker-widget",
2269
- r = function(e) {
2270
- return e.replace(/CLS/g, n)
2271
- };
2272
- function a(e) {
2273
- var t = document.querySelector("head"),
2274
- i = document.createElement("link");
2275
- i.rel = "stylesheet",
2276
- i.href = "https://public.bnbstatic.com/static/css/broker-sdk/broker-sdk@1.0.0.min.css";
2277
- var s = document.createElement("style");
2278
- s.append(document.createTextNode(function(e) {
2279
- return void 0 === e && (e = ""), r(e)
2280
- }(e))),
2281
- s.dataset.widget = n + "-override-style",
2282
- null == t || t.appendChild(i),
2283
- null == t || t.appendChild(s)
2284
- }
2285
- function o(e, t, i, o) {
2286
- void 0 === t && (t = []);
2287
- var l = e.scrollWidth,
2288
- d = Math.min(l, 400),
2289
- h = .5625 * d,
2290
- p = Math.max(d / 400 * 32, 16),
2291
- u = Math.max(d / 400 * 24, 16),
2292
- c = Math.max(d / 400 * 20, 10);
2293
- a(r(".CLS-slider.swiper-wrapper{height:" + h + "px}.CLS-footer{height:" + p + "px;padding: 0 " + c + "px}.CLS-prev > svg, .CLS-next > svg{width:" + u + "px;height:" + u + "px}" + i)),
2294
- setTimeout((function() {
2295
- var i = r('<div class="CLS-slider swiper-wrapper">' + t.map((function(e) {
2296
- var t = e.link,
2297
- i = e.picLink;
2298
- return '<div title="' + e.bannerTitle + '" class="CLS-slide swiper-slide"><a class="CLS-link" href="' + t + '"><div class="CLS-img" style="background-image: url(' + i + ')"></div></a></div>'
2299
- })).join("") + "</div>"),
2300
- a = r('<div class="CLS-footer"><div class="CLS-prev" id="CLS-prev"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M16.4142 18.5859L15 20.0001L7 12.0001L15 4.00021L16.4142 5.41443L9.82843 12.0001L16.4142 18.5859Z" />\n</svg>\n</div><div class="CLS-dots swiper-pagination"></div><div class="CLS-next" id="CLS-next"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.58578 18.5859L9 20.0001L17 12.0001L9 4.00021L7.58579 5.41443L14.1716 12.0001L7.58578 18.5859Z" />\n</svg></div></div>'),
2301
- l = r('<div class="CLS-container swiper-container" id="CLS-con">' + i + a + "</div>");
2302
- e.innerHTML = l,
2303
- function(e) {
2304
- if ("function" == typeof s)
2305
- new s("#" + n + "-con", {
2306
- loop: !0,
2307
- navigation: {
2308
- nextEl: "#" + n + "-next",
2309
- prevEl: "#" + n + "-prev"
2310
- },
2311
- autoplay: {
2312
- delay: e,
2313
- stopOnLastSlide: !1,
2314
- disableOnInteraction: !1
2315
- },
2316
- pagination: {
2317
- el: "." + n + "-dots"
2318
- },
2319
- width: 200, // cheeky edit 0:
2320
- })
2321
- }(o)
2322
- }), 0)
2323
- }
2324
- e.initBrokerSDK = function(e, s) {
2325
- var n,
2326
- r = window.document.querySelector(e),
2327
- a = t(t({}, i), s),
2328
- l = a.apiHost,
2329
- d = a.site,
2330
- h = a.overrideStyle,
2331
- p = void 0 === h ? "" : h,
2332
- u = a.brokerId,
2333
- c = a.slideTime,
2334
- v = void 0 === c ? 5e3 : c;
2335
- if (!u)
2336
- throw new Error("Please specific Broker Id");
2337
- if (!l)
2338
- throw new Error("Please specific API host");
2339
- if (!r)
2340
- throw new Error("Cannot find element");
2341
- !function(e, t) {
2342
- if ("function" != typeof window.XMLHttpRequest)
2343
- throw new Error("Your browser does not support XMLHttpRequest");
2344
- var i = new window.XMLHttpRequest;
2345
- i.onreadystatechange = function() {
2346
- 4 === this.readyState && 200 === this.status && "function" == typeof t && t(i.responseText)
2347
- },
2348
- i.open("GET", e, !0),
2349
- i.send()
2350
- }(l + "/bapi/composite/v1/public/market/broker/portal/bannerInfo?" + (n = {
2351
- cnDomain: String("cn" === d),
2352
- brokerId: u
2353
- }, Object.keys(n).map((function(e) {
2354
- return n[e] ? e + "=" + n[e] : ""
2355
- })).join("&")), (function(e) {
2356
- try {
2357
- var t = JSON.parse(e),
2358
- i = t.data;
2359
- t.success && Array.isArray(i) && o(r, i, p, v)
2360
- } catch (e) {
2361
- throw new Error("Request failed")
2362
- }
2363
- }))
2364
- },
2365
- Object.defineProperty(e, "__esModule", {
2366
- value: !0
2367
- })
2368
- }));
2369
-