farm-react 1.0.7 → 1.0.8

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 (298) hide show
  1. package/dist/assets/styles/style.css +26254 -0
  2. package/dist/assets/styles/style.css.map +1 -0
  3. package/dist/cjs/Utils/index.d.ts +4 -0
  4. package/dist/cjs/Utils/index.js +8 -0
  5. package/dist/cjs/Utils/index.js.map +1 -0
  6. package/dist/cjs/components/Accordion.js +7 -6
  7. package/dist/cjs/components/Accordion.js.map +1 -1
  8. package/dist/cjs/components/Alert.d.ts +32 -0
  9. package/dist/cjs/components/Alert.js +50 -0
  10. package/dist/cjs/components/Alert.js.map +1 -0
  11. package/dist/cjs/components/Badge.d.ts +22 -0
  12. package/dist/cjs/components/Badge.js +36 -0
  13. package/dist/cjs/components/Badge.js.map +1 -0
  14. package/dist/cjs/components/BrokenPage.d.ts +35 -0
  15. package/dist/cjs/components/BrokenPage.js +59 -0
  16. package/dist/cjs/components/BrokenPage.js.map +1 -0
  17. package/dist/cjs/components/Button.d.ts +29 -2
  18. package/dist/cjs/components/Button.js +53 -4
  19. package/dist/cjs/components/Button.js.map +1 -1
  20. package/dist/cjs/components/Card.d.ts +77 -0
  21. package/dist/cjs/components/Card.js +77 -0
  22. package/dist/cjs/components/Card.js.map +1 -0
  23. package/dist/cjs/components/Checkbox.d.ts +25 -0
  24. package/dist/cjs/components/Checkbox.js +23 -0
  25. package/dist/cjs/components/Checkbox.js.map +1 -0
  26. package/dist/cjs/components/ConfirmPoup.d.ts +21 -0
  27. package/dist/cjs/components/ConfirmPoup.js +47 -0
  28. package/dist/cjs/components/ConfirmPoup.js.map +1 -0
  29. package/dist/cjs/components/Dropdown.d.ts +35 -0
  30. package/dist/cjs/components/Dropdown.js +54 -0
  31. package/dist/cjs/components/Dropdown.js.map +1 -0
  32. package/dist/cjs/components/Label.d.ts +1 -1
  33. package/dist/cjs/components/Label.js +8 -6
  34. package/dist/cjs/components/Label.js.map +1 -1
  35. package/dist/cjs/components/Layout/Footer.js +11 -2
  36. package/dist/cjs/components/Layout/Footer.js.map +1 -1
  37. package/dist/cjs/components/Layout/Header.d.ts +2 -1
  38. package/dist/cjs/components/Layout/Header.js +15 -4
  39. package/dist/cjs/components/Layout/Header.js.map +1 -1
  40. package/dist/cjs/components/Layout/Sidebar.d.ts +2 -1
  41. package/dist/cjs/components/Layout/Sidebar.js +5 -3
  42. package/dist/cjs/components/Layout/Sidebar.js.map +1 -1
  43. package/dist/cjs/components/MultiCheckbox.d.ts +39 -0
  44. package/dist/cjs/components/MultiCheckbox.js +56 -0
  45. package/dist/cjs/components/MultiCheckbox.js.map +1 -0
  46. package/dist/cjs/components/MultiRadio.d.ts +30 -0
  47. package/dist/cjs/components/MultiRadio.js +41 -0
  48. package/dist/cjs/components/MultiRadio.js.map +1 -0
  49. package/dist/cjs/components/NumberInput.d.ts +38 -0
  50. package/dist/cjs/components/NumberInput.js +34 -0
  51. package/dist/cjs/components/NumberInput.js.map +1 -0
  52. package/dist/cjs/components/Radio.d.ts +24 -0
  53. package/dist/cjs/components/Radio.js +24 -0
  54. package/dist/cjs/components/Radio.js.map +1 -0
  55. package/dist/cjs/components/RangeSlider.d.ts +30 -0
  56. package/dist/cjs/components/RangeSlider.js +48 -0
  57. package/dist/cjs/components/RangeSlider.js.map +1 -0
  58. package/dist/cjs/components/RatingDisplay.js +7 -4
  59. package/dist/cjs/components/RatingDisplay.js.map +1 -1
  60. package/dist/cjs/components/Select.d.ts +41 -0
  61. package/dist/cjs/components/Select.js +48 -0
  62. package/dist/cjs/components/Select.js.map +1 -0
  63. package/dist/cjs/components/SkeletonLoader.d.ts +39 -0
  64. package/dist/cjs/components/SkeletonLoader.js +76 -0
  65. package/dist/cjs/components/SkeletonLoader.js.map +1 -0
  66. package/dist/cjs/components/Slider/SlickSlider.d.ts +74 -0
  67. package/dist/cjs/components/Slider/SlickSlider.js +211 -0
  68. package/dist/cjs/components/Slider/SlickSlider.js.map +1 -0
  69. package/dist/cjs/components/Slider/Slider/SlickSlider.d.ts +74 -0
  70. package/dist/cjs/components/Slider/Slider/SlickSlider.js +212 -0
  71. package/dist/cjs/components/Slider/Slider/SlickSlider.js.map +1 -0
  72. package/dist/cjs/components/Slider/Slider/useCenterMode.d.ts +24 -0
  73. package/dist/cjs/components/Slider/Slider/useCenterMode.js +40 -0
  74. package/dist/cjs/components/Slider/Slider/useCenterMode.js.map +1 -0
  75. package/dist/cjs/components/Slider/Slider/useSlider.d.ts +65 -0
  76. package/dist/cjs/components/Slider/Slider/useSlider.js +164 -0
  77. package/dist/cjs/components/Slider/Slider/useSlider.js.map +1 -0
  78. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  79. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js +73 -0
  80. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  81. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  82. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js +53 -0
  83. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  84. package/dist/cjs/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  85. package/dist/cjs/components/Slider/Slider/useSliderDimension.js +91 -0
  86. package/dist/cjs/components/Slider/Slider/useSliderDimension.js.map +1 -0
  87. package/dist/cjs/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  88. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js +146 -0
  89. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  90. package/dist/cjs/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  91. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js +136 -0
  92. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  93. package/dist/cjs/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  94. package/dist/cjs/components/Slider/Slider/useSliderTransform.js +71 -0
  95. package/dist/cjs/components/Slider/Slider/useSliderTransform.js.map +1 -0
  96. package/dist/cjs/components/Slider/useCenterMode.d.ts +24 -0
  97. package/dist/cjs/components/Slider/useCenterMode.js +40 -0
  98. package/dist/cjs/components/Slider/useCenterMode.js.map +1 -0
  99. package/dist/cjs/components/Slider/useSlider.d.ts +65 -0
  100. package/dist/cjs/components/Slider/useSlider.js +159 -0
  101. package/dist/cjs/components/Slider/useSlider.js.map +1 -0
  102. package/dist/cjs/components/Slider/useSliderAutoPlay.d.ts +33 -0
  103. package/dist/cjs/components/Slider/useSliderAutoPlay.js +73 -0
  104. package/dist/cjs/components/Slider/useSliderAutoPlay.js.map +1 -0
  105. package/dist/cjs/components/Slider/useSliderBreakpoint.d.ts +23 -0
  106. package/dist/cjs/components/Slider/useSliderBreakpoint.js +92 -0
  107. package/dist/cjs/components/Slider/useSliderBreakpoint.js.map +1 -0
  108. package/dist/cjs/components/Slider/useSliderDimension.d.ts +41 -0
  109. package/dist/cjs/components/Slider/useSliderDimension.js +92 -0
  110. package/dist/cjs/components/Slider/useSliderDimension.js.map +1 -0
  111. package/dist/cjs/components/Slider/useSliderDraggable.d.ts +43 -0
  112. package/dist/cjs/components/Slider/useSliderDraggable.js +146 -0
  113. package/dist/cjs/components/Slider/useSliderDraggable.js.map +1 -0
  114. package/dist/cjs/components/Slider/useSliderNavigation.d.ts +41 -0
  115. package/dist/cjs/components/Slider/useSliderNavigation.js +136 -0
  116. package/dist/cjs/components/Slider/useSliderNavigation.js.map +1 -0
  117. package/dist/cjs/components/Slider/useSliderTransform.d.ts +17 -0
  118. package/dist/cjs/components/Slider/useSliderTransform.js +71 -0
  119. package/dist/cjs/components/Slider/useSliderTransform.js.map +1 -0
  120. package/dist/cjs/components/TextInput.d.ts +31 -3
  121. package/dist/cjs/components/TextInput.js +31 -12
  122. package/dist/cjs/components/TextInput.js.map +1 -1
  123. package/dist/cjs/components/ThreeDotsLoader.d.ts +24 -0
  124. package/dist/cjs/components/ThreeDotsLoader.js +25 -0
  125. package/dist/cjs/components/ThreeDotsLoader.js.map +1 -0
  126. package/dist/cjs/constants/app.d.ts +2 -0
  127. package/dist/cjs/constants/app.js +3 -1
  128. package/dist/cjs/constants/app.js.map +1 -1
  129. package/dist/cjs/constants/icons.d.ts +7 -0
  130. package/dist/cjs/constants/icons.js +11 -0
  131. package/dist/cjs/constants/icons.js.map +1 -0
  132. package/dist/cjs/helpers/app.d.ts +39 -2
  133. package/dist/cjs/helpers/app.js +83 -5
  134. package/dist/cjs/helpers/app.js.map +1 -1
  135. package/dist/cjs/helpers/index.d.ts +1 -0
  136. package/dist/cjs/helpers/index.js +3 -0
  137. package/dist/cjs/helpers/index.js.map +1 -1
  138. package/dist/cjs/hooks/index.d.ts +1 -0
  139. package/dist/cjs/hooks/index.js +4 -0
  140. package/dist/cjs/hooks/index.js.map +1 -1
  141. package/dist/cjs/hooks/useLocalStorage.d.ts +7 -0
  142. package/dist/cjs/hooks/useLocalStorage.js +57 -0
  143. package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
  144. package/dist/cjs/index.d.ts +20 -5
  145. package/dist/cjs/index.js +41 -9
  146. package/dist/cjs/index.js.map +1 -1
  147. package/dist/cjs/strings/en.d.ts +3 -1
  148. package/dist/cjs/strings/en.js +5 -3
  149. package/dist/cjs/strings/en.js.map +1 -1
  150. package/dist/esm/Utils/index.d.ts +4 -0
  151. package/dist/esm/Utils/index.js +5 -0
  152. package/dist/esm/Utils/index.js.map +1 -0
  153. package/dist/esm/components/Accordion.js +7 -6
  154. package/dist/esm/components/Accordion.js.map +1 -1
  155. package/dist/esm/components/Alert.d.ts +32 -0
  156. package/dist/esm/components/Alert.js +48 -0
  157. package/dist/esm/components/Alert.js.map +1 -0
  158. package/dist/esm/components/Badge.d.ts +22 -0
  159. package/dist/esm/components/Badge.js +34 -0
  160. package/dist/esm/components/Badge.js.map +1 -0
  161. package/dist/esm/components/BrokenPage.d.ts +35 -0
  162. package/dist/esm/components/BrokenPage.js +57 -0
  163. package/dist/esm/components/BrokenPage.js.map +1 -0
  164. package/dist/esm/components/Button.d.ts +29 -2
  165. package/dist/esm/components/Button.js +53 -3
  166. package/dist/esm/components/Button.js.map +1 -1
  167. package/dist/esm/components/Card.d.ts +77 -0
  168. package/dist/esm/components/Card.js +75 -0
  169. package/dist/esm/components/Card.js.map +1 -0
  170. package/dist/esm/components/Checkbox.d.ts +25 -0
  171. package/dist/esm/components/Checkbox.js +21 -0
  172. package/dist/esm/components/Checkbox.js.map +1 -0
  173. package/dist/esm/components/ConfirmPoup.d.ts +21 -0
  174. package/dist/esm/components/ConfirmPoup.js +45 -0
  175. package/dist/esm/components/ConfirmPoup.js.map +1 -0
  176. package/dist/esm/components/Dropdown.d.ts +35 -0
  177. package/dist/esm/components/Dropdown.js +52 -0
  178. package/dist/esm/components/Dropdown.js.map +1 -0
  179. package/dist/esm/components/Label.d.ts +1 -1
  180. package/dist/esm/components/Label.js +9 -7
  181. package/dist/esm/components/Label.js.map +1 -1
  182. package/dist/esm/components/Layout/Footer.js +10 -2
  183. package/dist/esm/components/Layout/Footer.js.map +1 -1
  184. package/dist/esm/components/Layout/Header.d.ts +2 -1
  185. package/dist/esm/components/Layout/Header.js +14 -3
  186. package/dist/esm/components/Layout/Header.js.map +1 -1
  187. package/dist/esm/components/Layout/Sidebar.d.ts +2 -1
  188. package/dist/esm/components/Layout/Sidebar.js +4 -3
  189. package/dist/esm/components/Layout/Sidebar.js.map +1 -1
  190. package/dist/esm/components/MultiCheckbox.d.ts +39 -0
  191. package/dist/esm/components/MultiCheckbox.js +54 -0
  192. package/dist/esm/components/MultiCheckbox.js.map +1 -0
  193. package/dist/esm/components/MultiRadio.d.ts +30 -0
  194. package/dist/esm/components/MultiRadio.js +39 -0
  195. package/dist/esm/components/MultiRadio.js.map +1 -0
  196. package/dist/esm/components/NumberInput.d.ts +38 -0
  197. package/dist/esm/components/NumberInput.js +32 -0
  198. package/dist/esm/components/NumberInput.js.map +1 -0
  199. package/dist/esm/components/Radio.d.ts +24 -0
  200. package/dist/esm/components/Radio.js +22 -0
  201. package/dist/esm/components/Radio.js.map +1 -0
  202. package/dist/esm/components/RangeSlider.d.ts +30 -0
  203. package/dist/esm/components/RangeSlider.js +46 -0
  204. package/dist/esm/components/RangeSlider.js.map +1 -0
  205. package/dist/esm/components/RatingDisplay.js +7 -4
  206. package/dist/esm/components/RatingDisplay.js.map +1 -1
  207. package/dist/esm/components/Select.d.ts +41 -0
  208. package/dist/esm/components/Select.js +46 -0
  209. package/dist/esm/components/Select.js.map +1 -0
  210. package/dist/esm/components/SkeletonLoader.d.ts +39 -0
  211. package/dist/esm/components/SkeletonLoader.js +74 -0
  212. package/dist/esm/components/SkeletonLoader.js.map +1 -0
  213. package/dist/esm/components/Slider/SlickSlider.d.ts +74 -0
  214. package/dist/esm/components/Slider/SlickSlider.js +208 -0
  215. package/dist/esm/components/Slider/SlickSlider.js.map +1 -0
  216. package/dist/esm/components/Slider/Slider/SlickSlider.d.ts +74 -0
  217. package/dist/esm/components/Slider/Slider/SlickSlider.js +209 -0
  218. package/dist/esm/components/Slider/Slider/SlickSlider.js.map +1 -0
  219. package/dist/esm/components/Slider/Slider/useCenterMode.d.ts +24 -0
  220. package/dist/esm/components/Slider/Slider/useCenterMode.js +38 -0
  221. package/dist/esm/components/Slider/Slider/useCenterMode.js.map +1 -0
  222. package/dist/esm/components/Slider/Slider/useSlider.d.ts +65 -0
  223. package/dist/esm/components/Slider/Slider/useSlider.js +162 -0
  224. package/dist/esm/components/Slider/Slider/useSlider.js.map +1 -0
  225. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  226. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js +71 -0
  227. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  228. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  229. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js +51 -0
  230. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  231. package/dist/esm/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  232. package/dist/esm/components/Slider/Slider/useSliderDimension.js +89 -0
  233. package/dist/esm/components/Slider/Slider/useSliderDimension.js.map +1 -0
  234. package/dist/esm/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  235. package/dist/esm/components/Slider/Slider/useSliderDraggable.js +144 -0
  236. package/dist/esm/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  237. package/dist/esm/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  238. package/dist/esm/components/Slider/Slider/useSliderNavigation.js +134 -0
  239. package/dist/esm/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  240. package/dist/esm/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  241. package/dist/esm/components/Slider/Slider/useSliderTransform.js +69 -0
  242. package/dist/esm/components/Slider/Slider/useSliderTransform.js.map +1 -0
  243. package/dist/esm/components/Slider/useCenterMode.d.ts +24 -0
  244. package/dist/esm/components/Slider/useCenterMode.js +38 -0
  245. package/dist/esm/components/Slider/useCenterMode.js.map +1 -0
  246. package/dist/esm/components/Slider/useSlider.d.ts +65 -0
  247. package/dist/esm/components/Slider/useSlider.js +157 -0
  248. package/dist/esm/components/Slider/useSlider.js.map +1 -0
  249. package/dist/esm/components/Slider/useSliderAutoPlay.d.ts +33 -0
  250. package/dist/esm/components/Slider/useSliderAutoPlay.js +71 -0
  251. package/dist/esm/components/Slider/useSliderAutoPlay.js.map +1 -0
  252. package/dist/esm/components/Slider/useSliderBreakpoint.d.ts +23 -0
  253. package/dist/esm/components/Slider/useSliderBreakpoint.js +90 -0
  254. package/dist/esm/components/Slider/useSliderBreakpoint.js.map +1 -0
  255. package/dist/esm/components/Slider/useSliderDimension.d.ts +41 -0
  256. package/dist/esm/components/Slider/useSliderDimension.js +90 -0
  257. package/dist/esm/components/Slider/useSliderDimension.js.map +1 -0
  258. package/dist/esm/components/Slider/useSliderDraggable.d.ts +43 -0
  259. package/dist/esm/components/Slider/useSliderDraggable.js +144 -0
  260. package/dist/esm/components/Slider/useSliderDraggable.js.map +1 -0
  261. package/dist/esm/components/Slider/useSliderNavigation.d.ts +41 -0
  262. package/dist/esm/components/Slider/useSliderNavigation.js +134 -0
  263. package/dist/esm/components/Slider/useSliderNavigation.js.map +1 -0
  264. package/dist/esm/components/Slider/useSliderTransform.d.ts +17 -0
  265. package/dist/esm/components/Slider/useSliderTransform.js +69 -0
  266. package/dist/esm/components/Slider/useSliderTransform.js.map +1 -0
  267. package/dist/esm/components/TextInput.d.ts +31 -3
  268. package/dist/esm/components/TextInput.js +33 -13
  269. package/dist/esm/components/TextInput.js.map +1 -1
  270. package/dist/esm/components/ThreeDotsLoader.d.ts +24 -0
  271. package/dist/esm/components/ThreeDotsLoader.js +23 -0
  272. package/dist/esm/components/ThreeDotsLoader.js.map +1 -0
  273. package/dist/esm/constants/app.d.ts +2 -0
  274. package/dist/esm/constants/app.js +2 -0
  275. package/dist/esm/constants/app.js.map +1 -1
  276. package/dist/esm/constants/icons.d.ts +7 -0
  277. package/dist/esm/constants/icons.js +9 -0
  278. package/dist/esm/constants/icons.js.map +1 -0
  279. package/dist/esm/helpers/app.d.ts +39 -2
  280. package/dist/esm/helpers/app.js +73 -3
  281. package/dist/esm/helpers/app.js.map +1 -1
  282. package/dist/esm/helpers/index.d.ts +1 -0
  283. package/dist/esm/helpers/index.js +1 -1
  284. package/dist/esm/helpers/index.js.map +1 -1
  285. package/dist/esm/hooks/index.d.ts +1 -0
  286. package/dist/esm/hooks/index.js +1 -1
  287. package/dist/esm/hooks/index.js.map +1 -1
  288. package/dist/esm/hooks/useLocalStorage.d.ts +7 -0
  289. package/dist/esm/hooks/useLocalStorage.js +54 -0
  290. package/dist/esm/hooks/useLocalStorage.js.map +1 -0
  291. package/dist/esm/index.d.ts +20 -5
  292. package/dist/esm/index.js +20 -5
  293. package/dist/esm/index.js.map +1 -1
  294. package/dist/esm/strings/en.d.ts +3 -1
  295. package/dist/esm/strings/en.js +4 -2
  296. package/dist/esm/strings/en.js.map +1 -1
  297. package/dist/package.json +1 -1
  298. package/package.json +5 -4
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * -----------------------------------------------------------------------------
4
+ * @component SlickSlider
5
+ * -----------------------------------------------------------------------------
6
+ *
7
+ * @description A highly customizable and reusable React slider/carousel component.
8
+ * Supports autoplay, looping, center mode, custom navigation buttons,
9
+ * slide indicators, and flexible rendering through render props.
10
+ *
11
+ * Features:
12
+ * - Configurable slide animation (speed, easing)
13
+ * - Autoplay support with interval and pause-on-hover options
14
+ * - Looping with seamless slide cloning
15
+ * - Center mode with active slide highlighting
16
+ * - Custom next/previous navigation buttons
17
+ * - Optional slide indicators (dots)
18
+ * - Custom slide rendering via render props
19
+ * - Click handling for individual slides
20
+ *
21
+ * Note: tjs-slick-slider this class only added for sample
22
+ * -----------------------------------------------------------------------------
23
+ * Copyright © 2025 BookingKoala. All rights reserved.
24
+ * -----------------------------------------------------------------------------
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ var tslib_1 = require("tslib");
28
+ var react_1 = tslib_1.__importStar(require("react"));
29
+ var clsx_1 = require("clsx");
30
+ var react_bootstrap_1 = require("react-bootstrap");
31
+ var Button_1 = tslib_1.__importDefault(require("../../Button"));
32
+ var hooks_1 = require("../../../hooks");
33
+ var helpers_1 = require("../../../helpers");
34
+ var app_1 = require("../../../constants/app");
35
+ var icons_1 = tslib_1.__importDefault(require("../../../constants/icons"));
36
+ var useSlider_1 = tslib_1.__importDefault(require("./useSlider"));
37
+ // Destruct icons
38
+ var angleLeft = icons_1.default.angleLeft, angleRight = icons_1.default.angleRight, circle = icons_1.default.circle, dotCircle = icons_1.default.dotCircle;
39
+ // Default props value
40
+ var defAutoPlayConfig = {
41
+ enable: false,
42
+ interval: 2000,
43
+ pauseOnHover: false
44
+ };
45
+ var defAnimationConfig = {
46
+ easing: 'ease',
47
+ speed: 500
48
+ };
49
+ var defaultDraggable = {
50
+ dragThreshold: 200,
51
+ enableDrag: true
52
+ };
53
+ function SlickSlider(_a) {
54
+ var _b = _a.activeSlide, activeSlide = _b === void 0 ? 1 : _b, _c = _a.animationConfig, animationConfig = _c === void 0 ? defAnimationConfig : _c, _d = _a.autoPlayConfig, autoPlayConfig = _d === void 0 ? defAutoPlayConfig : _d, _e = _a.breakpoints, breakpoints = _e === void 0 ? app_1.EMPTY_ARRAY : _e, _f = _a.btnsLabel, btnsLabel = _f === void 0 ? app_1.EMPTY_OBJECT : _f, data = _a.data, _g = _a.draggable, draggable = _g === void 0 ? defaultDraggable : _g, _h = _a.gap, gap = _h === void 0 ? 20 : _h, _j = _a.icons, icons = _j === void 0 ? app_1.EMPTY_OBJECT : _j, _k = _a.loop, loop = _k === void 0 ? false : _k, _l = _a.onSlideClick, onSlideClick = _l === void 0 ? undefined : _l, _m = _a.renderNextBtn, renderNextBtn = _m === void 0 ? undefined : _m, _o = _a.renderPrevBtn, renderPrevBtn = _o === void 0 ? undefined : _o, _p = _a.renderSlide, renderSlide = _p === void 0 ? undefined : _p, _q = _a.showCtrlBtns, showCtrlBtns = _q === void 0 ? true : _q, _r = _a.showIndicator, showIndicator = _r === void 0 ? true : _r, _s = _a.slideToScroll, slideToScroll = _s === void 0 ? 1 : _s, _t = _a.slideToShow, slideToShow = _t === void 0 ? 1 : _t, _u = _a.variant, variant = _u === void 0 ? 'horizontal' : _u;
55
+ // Constants
56
+ var hasUseExtendedSlides = (0, helpers_1.getArrayLength)(data) > slideToShow;
57
+ var isRTL = (0, hooks_1.useLocalStorage)('tjsReactRTL')[0];
58
+ var isRTLMode = isRTL !== null && isRTL !== void 0 ? isRTL : false;
59
+ var nextBtnIconPrimary = isRTLMode ? angleLeft : angleRight;
60
+ var prevBtnIconPrimary = isRTLMode ? angleRight : angleLeft;
61
+ // Destruct props
62
+ var _v = (0, helpers_1.destructObj)(icons), _w = _v.activeDot, activeDot = _w === void 0 ? dotCircle : _w, _x = _v.dots, dots = _x === void 0 ? circle : _x, _y = _v.next, nextBtnIcon = _y === void 0 ? nextBtnIconPrimary : _y, _z = _v.prev, prevBtnIcon = _z === void 0 ? prevBtnIconPrimary : _z;
63
+ var _0 = (0, helpers_1.destructObj)(btnsLabel), _1 = _0.next, nextBtnLabel = _1 === void 0 ? '' : _1, _2 = _0.prev, prevBtnLabel = _2 === void 0 ? '' : _2;
64
+ // Hooks
65
+ var _3 = (0, useSlider_1.default)({
66
+ activeSlide: activeSlide - 1,
67
+ animationConfig: animationConfig,
68
+ autoPlayConfig: autoPlayConfig,
69
+ breakpoints: breakpoints,
70
+ draggable: draggable,
71
+ gap: gap,
72
+ isRTLMode: isRTLMode,
73
+ loop: loop,
74
+ slideToScroll: slideToScroll,
75
+ slideToShow: slideToShow,
76
+ totalSlides: (0, helpers_1.getArrayLength)(data),
77
+ variant: variant
78
+ }), getActiveIndicatorIndex = _3.getActiveIndicatorIndex, getIndicatorCount = _3.getIndicatorCount, goToSlideIndicator = _3.goToSlideIndicator, handleNextSlide = _3.handleNextSlide, handlePrevSlide = _3.handlePrevSlide, hasNextBtnDisabled = _3.hasNextBtnDisabled, hasPrevBtnDisabled = _3.hasPrevBtnDisabled, sliderWrapperRef = _3.sliderWrapperRef;
79
+ var renderSlideItem = (0, helpers_1.isNullOrUndefined)(renderSlide) ? renderDefSlide : function (item, index) {
80
+ var result = renderSlide(item, index);
81
+ return result !== null && result !== void 0 ? result : renderDefSlide(item);
82
+ };
83
+ function renderDefSlide(item) {
84
+ var _a = (0, helpers_1.destructObj)(item), imgName = _a.label, imgURL = _a.url;
85
+ return (react_1.default.createElement("div", { className: "w-100" },
86
+ react_1.default.createElement(react_bootstrap_1.Image, { alt: imgName, src: imgURL }),
87
+ react_1.default.createElement("p", { className: "fs-40" }, item.label)));
88
+ }
89
+ /**
90
+ * This helper function render the button based on the different label and custom icons.
91
+ * @param param0 takes a common property of btn
92
+ */
93
+ function renderNavBtn(_a) {
94
+ var disabled = _a.disabled, icon = _a.icon, label = _a.label, onClick = _a.onClick;
95
+ return (react_1.default.createElement(Button_1.default, { disabled: disabled, icon: icon, label: label, variant: "outline-primary", classnames: { button: 'fs-16 p-5 px-10' }, onClick: onClick }));
96
+ }
97
+ function renderDefPrevBtn() {
98
+ return renderNavBtn({
99
+ disabled: hasPrevBtnDisabled(),
100
+ icon: prevBtnIcon,
101
+ label: prevBtnLabel,
102
+ onClick: handlePrevSlide
103
+ });
104
+ }
105
+ /**
106
+ * Determines which previous button to render based on whether a custom renderPrevBtn prop is provided.
107
+ * Falls back to the default previous button if no custom renderer is specified.
108
+ */
109
+ function prevButtonElem() {
110
+ if ((0, helpers_1.isNullOrUndefined)(renderPrevBtn)) {
111
+ return renderDefPrevBtn();
112
+ }
113
+ var result = renderPrevBtn(handlePrevSlide, hasPrevBtnDisabled);
114
+ return result !== null && result !== void 0 ? result : renderDefPrevBtn();
115
+ }
116
+ /**
117
+ * Creates an extended slides array to support seamless looping.
118
+ *
119
+ * - Prepends the last `slideToShow` slides to allow backward looping
120
+ * - Appends the full slides array to allow forward looping
121
+ * - Results in a continuous sequence that prevents visual gaps
122
+ * when transitioning across boundaries
123
+ *
124
+ * Example:
125
+ * data = [A, B, C, D]
126
+ * extendedSlides = [D, A, B, C, D, A, B, C, D] slideToShow = 1
127
+ * extendedSlides = [C,D, A, B, C, D, A, B, C, D] slideToShow = 2
128
+ */
129
+ var extendedSlides = (0, react_1.useMemo)(function () { return [data.slice(-slideToShow), data, data].flat(); }, [data, slideToShow]);
130
+ /**
131
+ * Creates a click handler for a slide item.
132
+ * Returns a function that invokes the onSlideClick callback with the item data.
133
+ * @param item - The slide data item
134
+ */
135
+ function onSlideClickHandler(item, index) {
136
+ return function () {
137
+ onSlideClick === null || onSlideClick === void 0 ? void 0 : onSlideClick(item, index, {});
138
+ };
139
+ }
140
+ /**
141
+ * Renders all slide items in the slider.
142
+ * Uses extended slides array for looping mode, otherwise uses the original data array.
143
+ * Each slide is wrapped in a button that handles click events.
144
+ */
145
+ function renderSlides() {
146
+ if ((0, helpers_1.isArrayEmpty)(data))
147
+ return null;
148
+ var sliderArray = hasUseExtendedSlides ? extendedSlides : data;
149
+ return (react_1.default.createElement("div", { ref: sliderWrapperRef, className: "d-flex" }, sliderArray === null || sliderArray === void 0 ? void 0 : sliderArray.map(function (item, index) { return (react_1.default.createElement(Button_1.default, { variant: "outline-primary", key: (0, helpers_1.getKeyString)('slide', index), attributes: {
150
+ button: {
151
+ id: (0, helpers_1.getKeyString)('slide', index + 1),
152
+ 'data-index': index
153
+ }
154
+ }, classnames: {
155
+ button: (0, clsx_1.clsx)('p-0 rounded-100 bg-transparent', variant === 'vertical' && 'vertical')
156
+ }, onClick: onSlideClickHandler(item, index) }, renderSlideItem(item))); })));
157
+ }
158
+ function renderDefNextBtn() {
159
+ return renderNavBtn({
160
+ disabled: hasNextBtnDisabled(),
161
+ icon: nextBtnIcon,
162
+ label: nextBtnLabel,
163
+ onClick: handleNextSlide
164
+ });
165
+ }
166
+ /**
167
+ * Determines which next button to render based on whether a custom renderNextBtn prop is provided.
168
+ * Falls back to the default next button if no custom renderer is specified.
169
+ */
170
+ function nextButtonElem() {
171
+ if ((0, helpers_1.isNullOrUndefined)(renderNextBtn)) {
172
+ return renderDefNextBtn();
173
+ }
174
+ var result = renderNextBtn(handleNextSlide, hasNextBtnDisabled);
175
+ return result !== null && result !== void 0 ? result : renderDefNextBtn();
176
+ }
177
+ /** This callback function handle the indicator click event and call the go to indicator. */
178
+ function handleIndicatorEvent(idx) {
179
+ return function () {
180
+ goToSlideIndicator(idx);
181
+ };
182
+ }
183
+ /**
184
+ * Function is render the indicator item and add the active indicator icons based active slide index.
185
+ * @param index index of the indicator items.
186
+ */
187
+ function renderIndicator(index) {
188
+ if (!hasUseExtendedSlides)
189
+ return undefined;
190
+ var isActive = index === getActiveIndicatorIndex();
191
+ var indicatorIcon = isActive ? activeDot : dots;
192
+ return (react_1.default.createElement(Button_1.default, { key: (0, helpers_1.getKeyString)('ctrl-dot', index), icon: indicatorIcon, variant: "outline-primary", onClick: handleIndicatorEvent(index), classnames: { button: 'fs-16' } }));
193
+ }
194
+ /**
195
+ * Function responsible for render the indication icons based on the indicator count.
196
+ * create dynamic array based on the number for indicators.
197
+ */
198
+ function renderIndicators() {
199
+ var numberOfIndictor = getIndicatorCount();
200
+ if ((0, helpers_1.isNullOrUndefined)(numberOfIndictor))
201
+ return undefined;
202
+ return (react_1.default.createElement("div", { className: "d-flex justify-content-center gap-10" }, (0, helpers_1.createDynamicArray)(numberOfIndictor).map(function (_, index) { return renderIndicator(index); })));
203
+ }
204
+ return (react_1.default.createElement("div", { className: "tjs-slick-slider" },
205
+ react_1.default.createElement("div", { className: "d-flex align-items-center justify-content-between mb-10" },
206
+ showCtrlBtns ? prevButtonElem() : null,
207
+ react_1.default.createElement("div", { className: "overflow-hidden w-100" }, renderSlides()),
208
+ showCtrlBtns ? nextButtonElem() : null),
209
+ showIndicator ? renderIndicators() : null));
210
+ }
211
+ exports.default = SlickSlider;
212
+ //# sourceMappingURL=SlickSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlickSlider.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/SlickSlider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,qDAA2E;AAC3E,6BAA4B;AAC5B,mDAAwC;AACxC,gEAAkC;AAClC,wCAAiD;AACjD,4CAO0B;AAC1B,8CAAmE;AACnE,2EAA6C;AAC7C,kEAAoC;AA6DpC,iBAAiB;AACT,IAAA,SAAS,GAAoC,eAAK,UAAzC,EAAE,UAAU,GAAwB,eAAK,WAA7B,EAAE,MAAM,GAAgB,eAAK,OAArB,EAAE,SAAS,GAAK,eAAK,UAAV,CAAW;AAE3D,sBAAsB;AACtB,IAAM,iBAAiB,GAA8B;IACpD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,KAAK;CACnB,CAAC;AAEF,IAAM,kBAAkB,GAA+B;IACtD,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,GAAG;CACV,CAAC;AAEF,IAAM,gBAAgB,GAAkC;IACvD,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,IAAI;CAChB,CAAC;AAEF,SAAS,WAAW,CAAC,EAoBQ;QAnB5B,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,uBAAoC,EAApC,eAAe,mBAAG,kBAAkB,KAAA,EACpC,sBAAkC,EAAlC,cAAc,mBAAG,iBAAiB,KAAA,EAClC,mBAAyB,EAAzB,WAAW,mBAAG,iBAAW,KAAA,EACzB,iBAAwB,EAAxB,SAAS,mBAAG,kBAAY,KAAA,EACxB,IAAI,UAAA,EACJ,iBAA4B,EAA5B,SAAS,mBAAG,gBAAgB,KAAA,EAC5B,WAAQ,EAAR,GAAG,mBAAG,EAAE,KAAA,EACR,aAAoB,EAApB,KAAK,mBAAG,kBAAY,KAAA,EACpB,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EACZ,oBAAwB,EAAxB,YAAY,mBAAG,SAAS,KAAA,EACxB,qBAAyB,EAAzB,aAAa,mBAAG,SAAS,KAAA,EACzB,qBAAyB,EAAzB,aAAa,mBAAG,SAAS,KAAA,EACzB,mBAAuB,EAAvB,WAAW,mBAAG,SAAS,KAAA,EACvB,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,qBAAoB,EAApB,aAAa,mBAAG,IAAI,KAAA,EACpB,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EACjB,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,eAAsB,EAAtB,OAAO,mBAAG,YAAY,KAAA;IAEtB,YAAY;IACZ,IAAM,oBAAoB,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IACzD,IAAA,KAAK,GAAI,IAAA,uBAAe,EAAU,aAAa,CAAC,GAA3C,CAA4C;IACxD,IAAM,SAAS,GAAY,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC;IAC1C,IAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,IAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,iBAAiB;IACX,IAAA,KAKF,IAAA,qBAAW,EAAC,KAAK,CAAC,EAJrB,iBAAqB,EAArB,SAAS,mBAAG,SAAS,KAAA,EACrB,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EACb,YAAsC,EAAhC,WAAW,mBAAG,kBAAkB,KAAA,EACtC,YAAsC,EAAhC,WAAW,mBAAG,kBAAkB,KACjB,CAAC;IAEjB,IAAA,KAGF,IAAA,qBAAW,EAAC,SAAS,CAAC,EAFzB,YAAuB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACvB,YAAuB,EAAjB,YAAY,mBAAG,EAAE,KACE,CAAC;IAE3B,QAAQ;IACF,IAAA,KASF,IAAA,mBAAS,EAAC;QACb,WAAW,EAAE,WAAW,GAAG,CAAC;QAC5B,eAAe,iBAAA;QACf,cAAc,gBAAA;QACd,WAAW,aAAA;QACX,SAAS,WAAA;QACT,GAAG,KAAA;QACH,SAAS,WAAA;QACT,IAAI,MAAA;QACJ,aAAa,eAAA;QACb,WAAW,aAAA;QACX,WAAW,EAAE,IAAA,wBAAc,EAAC,IAAI,CAAC;QACjC,OAAO,SAAA;KACP,CAAC,EArBD,uBAAuB,6BAAA,EACvB,iBAAiB,uBAAA,EACjB,kBAAkB,wBAAA,EAClB,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,kBAAkB,wBAAA,EAClB,kBAAkB,wBAAA,EAClB,gBAAgB,sBAcf,CAAC;IAEH,IAAM,eAAe,GAAG,IAAA,2BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAC,IAA0B,EAAE,KAAc;QACpH,IAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,SAAS,cAAc,CAAC,IAA0B;QAC3C,IAAA,KAAkC,IAAA,qBAAW,EAAC,IAAI,CAAC,EAA1C,OAAO,WAAA,EAAO,MAAM,SAAsB,CAAC;QAE1D,OAAO,CACN,uCAAK,SAAS,EAAC,OAAO;YACrB,8BAAC,uBAAK,IAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAI;YACpC,qCAAG,SAAS,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAK,CAChC,CACN,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,YAAY,CAAC,EAAiD;YAA/C,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAA;QACrD,OAAO,CACN,8BAAC,gBAAM,IACN,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,iBAAiB,EACzB,UAAU,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACzC,OAAO,EAAE,OAAO,GACf,CACF,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB;QACxB,OAAO,YAAY,CAAC;YACnB,QAAQ,EAAE,kBAAkB,EAAE;YAC9B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,eAAe;SACxB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,cAAc;QACtB,IAAI,IAAA,2BAAiB,EAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,gBAAgB,EAAE,CAAC;QAC3B,CAAC;QACD,IAAM,MAAM,GAAG,aAAa,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAM,cAAc,GAAG,IAAA,eAAO,EAC7B,cAAM,OAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAA7C,CAA6C,EACnD,CAAC,IAAI,EAAE,WAAW,CAAC,CACnB,CAAC;IAEF;;;;OAIG;IACH,SAAS,mBAAmB,CAAC,IAA0B,EAAE,KAAa;QACrE,OAAO;YACN,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,EAAE,KAAK,EAAE,EAAmC,CAAC,CAAC;QAClE,CAAC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY;QACpB,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,OAAO,CACN,uCAAK,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAC,QAAQ,IAC5C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAClC,8BAAC,gBAAM,IACN,OAAO,EAAC,iBAAiB,EACzB,GAAG,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,KAAK,CAAC,EACjC,UAAU,EAAE;gBACX,MAAM,EAAE;oBACP,EAAE,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;oBACpC,YAAY,EAAE,KAAK;iBACnB;aACD,EACD,UAAU,EAAE;gBACX,MAAM,EAAE,IAAA,WAAI,EAAC,gCAAgC,EAAE,OAAO,KAAK,UAAU,IAAI,UAAU,CAAC;aACpF,EACD,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,IAExC,eAAe,CAAC,IAAI,CAAC,CACd,CACT,EAjBkC,CAiBlC,CAAC,CACG,CACN,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB;QACxB,OAAO,YAAY,CAAC;YACnB,QAAQ,EAAE,kBAAkB,EAAE;YAC9B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,eAAe;SACxB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,cAAc;QACtB,IAAI,IAAA,2BAAiB,EAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,gBAAgB,EAAE,CAAC;QAC3B,CAAC;QACD,IAAM,MAAM,GAAG,aAAa,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,4FAA4F;IAC5F,SAAS,oBAAoB,CAAC,GAAW;QACxC,OAAO;YACN,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,eAAe,CAAC,KAAa;QACrC,IAAI,CAAC,oBAAoB;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAM,QAAQ,GAAG,KAAK,KAAK,uBAAuB,EAAE,CAAC;QACrD,IAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAElD,OAAO,CACN,8BAAC,gBAAM,IACN,GAAG,EAAE,IAAA,sBAAY,EAAC,UAAU,EAAE,KAAK,CAAC,EACpC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAC,iBAAiB,EACzB,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACpC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAC9B,CACF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,gBAAgB;QACxB,IAAM,gBAAgB,GAAuB,iBAAiB,EAAE,CAAC;QACjE,IAAI,IAAA,2BAAiB,EAAC,gBAAgB,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,OAAO,CACN,uCAAK,SAAS,EAAC,sCAAsC,IACnD,IAAA,4BAAkB,EAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,CAAS,EAAE,KAAa,IAAK,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAC1F,CACN,CAAC;IACH,CAAC;IAED,OAAO,CACN,uCAAK,SAAS,EAAC,kBAAkB;QAChC,uCAAK,SAAS,EAAC,yDAAyD;YACtE,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI;YACvC,uCAAK,SAAS,EAAC,uBAAuB,IACpC,YAAY,EAAE,CACV;YACL,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAClC;QACL,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CACrC,CACN,CAAC;AACH,CAAC;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useCenterMode
4
+ * -----------------------------------------------------------------------------
5
+ *
6
+ * @description Utility file - add description here
7
+ *
8
+ * Features:
9
+ * - Add key features here
10
+ *
11
+ * -----------------------------------------------------------------------------
12
+ * Copyright © 2026 BookingKoala. All rights reserved.
13
+ * -----------------------------------------------------------------------------
14
+ */
15
+ interface UseCenterMode {
16
+ activeSlideIndex?: number;
17
+ slideToShow: number;
18
+ }
19
+ declare function useCenterMode({ activeSlideIndex, slideToShow }: UseCenterMode): number[];
20
+ export default useCenterMode;
21
+ /**
22
+ * Returns active slide indexes based on slideToShow and active indicator
23
+ * Works only when slideToShow is odd
24
+ */
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function useCenterMode(_a) {
4
+ var _b = _a.activeSlideIndex, activeSlideIndex = _b === void 0 ? 0 : _b, slideToShow = _a.slideToShow;
5
+ var centerOffset = Math.floor(slideToShow / 2);
6
+ var centerIndex = slideToShow + activeSlideIndex + centerOffset;
7
+ // even slideToShow → two active slides
8
+ if (slideToShow === 1 || slideToShow === 2)
9
+ return [];
10
+ if (slideToShow % 2 === 0) {
11
+ return [centerIndex - 1, centerIndex];
12
+ }
13
+ // odd slideToShow
14
+ if (slideToShow === 3) {
15
+ return [centerIndex];
16
+ }
17
+ return [centerIndex - 1, centerIndex, centerIndex + 1];
18
+ }
19
+ exports.default = useCenterMode;
20
+ /**
21
+ * Returns active slide indexes based on slideToShow and active indicator
22
+ * Works only when slideToShow is odd
23
+ */
24
+ // function getActiveSlideIndexes(): number[] {
25
+ // const activeSlideIndex = getActiveIndicatorIndex();
26
+ // if (isNullOrUndefined(activeSlideIndex)) return [];
27
+ // const centerOffset = Math.floor(slideToShow / 2);
28
+ // const centerIndex = slideToShow + activeSlideIndex + centerOffset;
29
+ // // even slideToShow → two active slides
30
+ // if (slideToShow === 1 || slideToShow === 2) return [];
31
+ // if (slideToShow % 2 === 0) {
32
+ // return [centerIndex - 1, centerIndex];
33
+ // }
34
+ // // odd slideToShow
35
+ // if (slideToShow === 3) {
36
+ // return [centerIndex];
37
+ // }
38
+ // return [centerIndex - 1, centerIndex, centerIndex + 1];
39
+ // }
40
+ //# sourceMappingURL=useCenterMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCenterMode.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/useCenterMode.ts"],"names":[],"mappings":";;AAmBA,SAAS,aAAa,CAAC,EAGP;QAFf,wBAAoB,EAApB,gBAAgB,mBAAG,CAAC,KAAA,EACpB,WAAW,iBAAA;IAEX,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACjD,IAAM,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC;IAClE,uCAAuC;IACvC,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtD,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;IAClB,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AACD,kBAAe,aAAa,CAAC;AAC7B;;;OAGI;AACJ,+CAA+C;AAC/C,uDAAuD;AACvD,uDAAuD;AAEvD,qDAAqD;AACrD,sEAAsE;AACtE,2CAA2C;AAC3C,0DAA0D;AAC1D,gCAAgC;AAChC,2CAA2C;AAC3C,KAAK;AAEL,sBAAsB;AACtB,4BAA4B;AAC5B,0BAA0B;AAC1B,KAAK;AACL,2DAA2D;AAC3D,IAAI"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useSlider
4
+ * -----------------------------------------------------------------------------
5
+ *
6
+ * @description
7
+ * Main hook that controls all slider behavior.
8
+ *
9
+ * This hook connects multiple smaller slider hooks and makes them work
10
+ * together. It handles slide size calculation, navigation, animations,
11
+ * autoplay, draggable interactions, breakpoint-based configuration,
12
+ * and window resize updates.
13
+ *
14
+ * The UI layer only needs to use the values and functions returned from
15
+ * this hook.
16
+ *
17
+ * -----------------------------------------------------------------------------
18
+ * Copyright © 2025 BookingKoala. All rights reserved.
19
+ * -----------------------------------------------------------------------------
20
+ */
21
+ import { type Ref } from 'react';
22
+ import { type SlickSliderAnimationConfig, type SlickSliderAutoPlayConfig } from './SlickSlider';
23
+ import { SlickSliderConfig } from './useSliderBreakpoint';
24
+ export interface UseSlickSliderReturn {
25
+ getActiveIndicatorIndex: () => number | undefined;
26
+ getIndicatorCount: () => number | undefined;
27
+ goToSlideIndicator: (index: number) => void;
28
+ handleNextSlide: () => void;
29
+ handlePrevSlide: () => void;
30
+ hasNextBtnDisabled: () => boolean;
31
+ hasPrevBtnDisabled: () => boolean;
32
+ sliderWrapperRef: Ref<HTMLDivElement>;
33
+ }
34
+ export interface UseSlickSliderProps {
35
+ activeSlide: number;
36
+ animationConfig: SlickSliderAnimationConfig;
37
+ autoPlayConfig: SlickSliderAutoPlayConfig;
38
+ breakpoints: SlickSliderConfig[];
39
+ draggable?: {
40
+ dragThreshold?: number;
41
+ enableDrag?: boolean;
42
+ };
43
+ gap: number;
44
+ isRTLMode: boolean;
45
+ loop: boolean;
46
+ slideToScroll: number;
47
+ slideToShow: number;
48
+ totalSlides: number;
49
+ variant: 'horizontal' | 'vertical';
50
+ }
51
+ export interface SlickSliderRefs {
52
+ containerHeight: number;
53
+ containerWidth: number;
54
+ currentIndex: number;
55
+ drag: {
56
+ isDragging: boolean;
57
+ startX: number;
58
+ startY: number;
59
+ translate: number;
60
+ };
61
+ isTransitionComplete: boolean;
62
+ totalSlides: number;
63
+ }
64
+ declare function useSlider({ activeSlide, animationConfig, autoPlayConfig, breakpoints, draggable, gap, isRTLMode, loop, slideToScroll, slideToShow, totalSlides, variant }: Readonly<UseSlickSliderProps>): UseSlickSliderReturn;
65
+ export default useSlider;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /*eslint-disable*/
3
+ /**
4
+ * -----------------------------------------------------------------------------
5
+ * @file useSlider
6
+ * -----------------------------------------------------------------------------
7
+ *
8
+ * @description
9
+ * Main hook that controls all slider behavior.
10
+ *
11
+ * This hook connects multiple smaller slider hooks and makes them work
12
+ * together. It handles slide size calculation, navigation, animations,
13
+ * autoplay, draggable interactions, breakpoint-based configuration,
14
+ * and window resize updates.
15
+ *
16
+ * The UI layer only needs to use the values and functions returned from
17
+ * this hook.
18
+ *
19
+ * -----------------------------------------------------------------------------
20
+ * Copyright © 2025 BookingKoala. All rights reserved.
21
+ * -----------------------------------------------------------------------------
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ var tslib_1 = require("tslib");
25
+ var react_1 = require("react");
26
+ var Utils_1 = require("../../../Utils");
27
+ var useSliderAutoPlay_1 = tslib_1.__importDefault(require("./useSliderAutoPlay"));
28
+ var useSliderDimension_1 = tslib_1.__importDefault(require("./useSliderDimension"));
29
+ var useSliderDraggable_1 = tslib_1.__importDefault(require("./useSliderDraggable"));
30
+ var useSliderNavigation_1 = tslib_1.__importDefault(require("./useSliderNavigation"));
31
+ var useSliderTransform_1 = tslib_1.__importDefault(require("./useSliderTransform"));
32
+ var useSliderBreakpoint_1 = tslib_1.__importDefault(require("./useSliderBreakpoint"));
33
+ function useSlider(_a) {
34
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
35
+ var activeSlide = _a.activeSlide, animationConfig = _a.animationConfig, autoPlayConfig = _a.autoPlayConfig, breakpoints = _a.breakpoints, draggable = _a.draggable, gap = _a.gap, isRTLMode = _a.isRTLMode, loop = _a.loop, slideToScroll = _a.slideToScroll, slideToShow = _a.slideToShow, totalSlides = _a.totalSlides, variant = _a.variant;
36
+ var activeSlideIndex = (0, react_1.useMemo)(function () { return (totalSlides > 0 && activeSlide >= totalSlides ? 0 : activeSlide); }, [activeSlide, totalSlides]);
37
+ var breakpointConfigRef = (0, useSliderBreakpoint_1.default)({
38
+ breakpoints: breakpoints,
39
+ config: {
40
+ activeSlide: activeSlideIndex,
41
+ animationConfig: animationConfig,
42
+ autoPlayConfig: autoPlayConfig,
43
+ draggable: draggable,
44
+ gap: gap,
45
+ loop: loop,
46
+ slideToScroll: slideToScroll,
47
+ slideToShow: slideToShow
48
+ }
49
+ });
50
+ console.log(breakpointConfigRef);
51
+ /**
52
+ * Final resolved config:
53
+ * base props act as defaults, breakpoint values override them.
54
+ */
55
+ var breakPointConfig = (0, react_1.useMemo)(function () {
56
+ var _a;
57
+ return (tslib_1.__assign({ activeSlide: activeSlideIndex, animationConfig: animationConfig, autoPlayConfig: autoPlayConfig, draggable: draggable, gap: gap, loop: loop, slideToScroll: slideToScroll, slideToShow: slideToShow }, ((_a = breakpointConfigRef.current) !== null && _a !== void 0 ? _a : {})));
58
+ }, [
59
+ activeSlideIndex,
60
+ animationConfig,
61
+ autoPlayConfig,
62
+ draggable,
63
+ gap,
64
+ loop,
65
+ slideToScroll,
66
+ slideToShow,
67
+ breakpointConfigRef.current
68
+ ]);
69
+ var sliderWrapperRef = (0, react_1.useRef)(null);
70
+ var sliderObjRefs = (0, react_1.useRef)({
71
+ containerHeight: 0,
72
+ containerWidth: 0,
73
+ currentIndex: 0,
74
+ drag: {
75
+ isDragging: false,
76
+ startX: 0,
77
+ startY: 0,
78
+ translate: 0
79
+ },
80
+ isTransitionComplete: false,
81
+ totalSlides: totalSlides
82
+ });
83
+ var calculateDimensions = (0, useSliderDimension_1.default)({
84
+ gap: (_b = breakPointConfig.gap) !== null && _b !== void 0 ? _b : 10,
85
+ sliderObjRefs: sliderObjRefs,
86
+ sliderWrapperRef: sliderWrapperRef,
87
+ slideToShow: (_c = breakPointConfig.slideToShow) !== null && _c !== void 0 ? _c : 1,
88
+ variant: variant
89
+ }).calculateDimensions;
90
+ var isAllSlidesVisible = (0, react_1.useMemo)(function () {
91
+ var _a;
92
+ return ((_a = breakPointConfig.slideToShow) !== null && _a !== void 0 ? _a : 1) >=
93
+ sliderObjRefs.current.totalSlides;
94
+ }, [breakPointConfig.slideToShow, totalSlides]);
95
+ var _o = (0, useSliderTransform_1.default)({
96
+ animationConfig: (_d = breakPointConfig.animationConfig) !== null && _d !== void 0 ? _d : animationConfig,
97
+ isAllSlidesVisible: isAllSlidesVisible,
98
+ isRTLMode: isRTLMode,
99
+ sliderObjRefs: sliderObjRefs,
100
+ sliderWrapperRef: sliderWrapperRef,
101
+ slideToShow: (_e = breakPointConfig.slideToShow) !== null && _e !== void 0 ? _e : 1,
102
+ variant: variant
103
+ }), applyTransform = _o.applyTransform, calculateTranslate = _o.calculateTranslate;
104
+ var _p = (0, useSliderNavigation_1.default)({
105
+ activeSlide: (_f = breakPointConfig.activeSlide) !== null && _f !== void 0 ? _f : 0,
106
+ applyTransform: applyTransform,
107
+ loop: (_g = breakPointConfig.loop) !== null && _g !== void 0 ? _g : false,
108
+ sliderObjRefs: sliderObjRefs,
109
+ sliderWrapperRef: sliderWrapperRef,
110
+ slideToScroll: (_h = breakPointConfig.slideToScroll) !== null && _h !== void 0 ? _h : 1,
111
+ slideToShow: (_j = breakPointConfig.slideToShow) !== null && _j !== void 0 ? _j : 1,
112
+ speed: (_k = breakPointConfig.animationConfig) === null || _k === void 0 ? void 0 : _k.speed
113
+ }), getActiveIndicatorIndex = _p.getActiveIndicatorIndex, getIndicatorCount = _p.getIndicatorCount, goToSlideIndicator = _p.goToSlideIndicator, handleNextSlide = _p.handleNextSlide, handlePrevSlide = _p.handlePrevSlide, hasNextBtnDisabled = _p.hasNextBtnDisabled, hasPrevBtnDisabled = _p.hasPrevBtnDisabled;
114
+ (0, react_1.useEffect)(function () {
115
+ var _a;
116
+ calculateDimensions();
117
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.addEventListener('resize', calculateDimensions);
118
+ if (sliderObjRefs.current.containerWidth > 0 ||
119
+ sliderObjRefs.current.containerHeight > 0) {
120
+ var index = (_a = breakPointConfig.activeSlide) !== null && _a !== void 0 ? _a : 0;
121
+ applyTransform(index, false);
122
+ sliderObjRefs.current.currentIndex = index;
123
+ }
124
+ return function () {
125
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.removeEventListener('resize', calculateDimensions);
126
+ };
127
+ }, [
128
+ calculateDimensions,
129
+ applyTransform,
130
+ breakPointConfig.activeSlide,
131
+ breakPointConfig.slideToShow,
132
+ breakPointConfig.gap
133
+ ]);
134
+ (0, useSliderAutoPlay_1.default)({
135
+ autoPlayConfig: (_l = breakPointConfig.autoPlayConfig) !== null && _l !== void 0 ? _l : autoPlayConfig,
136
+ handleNextSlide: handleNextSlide,
137
+ isAllSlidesVisible: isAllSlidesVisible,
138
+ loop: (_m = breakPointConfig.loop) !== null && _m !== void 0 ? _m : false,
139
+ sliderWrapperRef: sliderWrapperRef
140
+ });
141
+ (0, useSliderDraggable_1.default)({
142
+ applyTransform: applyTransform,
143
+ calculateTranslate: calculateTranslate,
144
+ draggable: breakPointConfig.draggable,
145
+ handleNextSlide: handleNextSlide,
146
+ handlePrevSlide: handlePrevSlide,
147
+ hasNextBtnDisabled: hasNextBtnDisabled,
148
+ hasPrevBtnDisabled: hasPrevBtnDisabled,
149
+ sliderObjRefs: sliderObjRefs,
150
+ sliderWrapperRef: sliderWrapperRef
151
+ });
152
+ return {
153
+ getActiveIndicatorIndex: getActiveIndicatorIndex,
154
+ getIndicatorCount: getIndicatorCount,
155
+ goToSlideIndicator: goToSlideIndicator,
156
+ handleNextSlide: handleNextSlide,
157
+ handlePrevSlide: handlePrevSlide,
158
+ hasNextBtnDisabled: hasNextBtnDisabled,
159
+ hasPrevBtnDisabled: hasPrevBtnDisabled,
160
+ sliderWrapperRef: sliderWrapperRef
161
+ };
162
+ }
163
+ exports.default = useSlider;
164
+ //# sourceMappingURL=useSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSlider.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/useSlider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useSliderAutoPlay
4
+ * -----------------------------------------------------------------------------
5
+ *
6
+ * @description :- React hook that manages autoplay behavior for a slider component.
7
+ * Responsibilities:
8
+ * - Starts an interval-based autoplay when enabled
9
+ * - Stops autoplay safely on cleanup or when conditions change
10
+ * - Prevents multiple intervals from running simultaneously
11
+ * - Respects loop and transformation states to avoid invalid transitions
12
+ * Autoplay will:
13
+ * - Start only when `enable` is true
14
+ * - Pause automatically when the slider is transforming
15
+ * - Stop and clean up intervals on unmount
16
+ * @param autoPlayConfig Configuration object controlling autoplay behavior
17
+ * @param handleNextSlide Callback invoked to move to the next slide
18
+ *
19
+ * -----------------------------------------------------------------------------
20
+ * Copyright © 2026 BookingKoala. All rights reserved.
21
+ * -----------------------------------------------------------------------------
22
+ */
23
+ import { type RefObject } from 'react';
24
+ import { type SlickSliderAutoPlayConfig } from './SlickSlider';
25
+ interface UseSlickSliderAutoplayProps {
26
+ autoPlayConfig: SlickSliderAutoPlayConfig;
27
+ handleNextSlide: () => void;
28
+ isAllSlidesVisible: boolean;
29
+ loop: boolean;
30
+ sliderWrapperRef?: RefObject<HTMLDivElement | null>;
31
+ }
32
+ declare function useSliderAutoplay({ autoPlayConfig, handleNextSlide, isAllSlidesVisible, loop }: Readonly<UseSlickSliderAutoplayProps>): void;
33
+ export default useSliderAutoplay;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * -----------------------------------------------------------------------------
5
+ * @file useSliderAutoPlay
6
+ * -----------------------------------------------------------------------------
7
+ *
8
+ * @description :- React hook that manages autoplay behavior for a slider component.
9
+ * Responsibilities:
10
+ * - Starts an interval-based autoplay when enabled
11
+ * - Stops autoplay safely on cleanup or when conditions change
12
+ * - Prevents multiple intervals from running simultaneously
13
+ * - Respects loop and transformation states to avoid invalid transitions
14
+ * Autoplay will:
15
+ * - Start only when `enable` is true
16
+ * - Pause automatically when the slider is transforming
17
+ * - Stop and clean up intervals on unmount
18
+ * @param autoPlayConfig Configuration object controlling autoplay behavior
19
+ * @param handleNextSlide Callback invoked to move to the next slide
20
+ *
21
+ * -----------------------------------------------------------------------------
22
+ * Copyright © 2026 BookingKoala. All rights reserved.
23
+ * -----------------------------------------------------------------------------
24
+ */
25
+ var react_1 = require("react");
26
+ var Utils_1 = require("../../../Utils");
27
+ var helpers_1 = require("../../../helpers");
28
+ function useSliderAutoplay(_a) {
29
+ var autoPlayConfig = _a.autoPlayConfig, handleNextSlide = _a.handleNextSlide, isAllSlidesVisible = _a.isAllSlidesVisible, loop = _a.loop;
30
+ // Destruct props
31
+ var _b = (0, helpers_1.destructObj)(autoPlayConfig), _c = _b.enable, enable = _c === void 0 ? false : _c, _d = _b.interval, interval = _d === void 0 ? 2000 : _d;
32
+ // Refs
33
+ var timerRef = (0, react_1.useRef)(null);
34
+ /**
35
+ * Function initializes autoplay by creating a single interval timer.
36
+ * On each interval tick, it triggers the handleNextSlide callback
37
+ * to advance the slider.
38
+ */
39
+ var startAutoPlay = (0, react_1.useCallback)(function () {
40
+ if (!enable || timerRef.current)
41
+ return;
42
+ timerRef.current = Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.setInterval(function () {
43
+ handleNextSlide();
44
+ }, interval);
45
+ }, [enable, interval, handleNextSlide]);
46
+ /** Function stops the active autoplay interval and resets the timer reference. */
47
+ var clearAutoplayTimer = (0, react_1.useCallback)(function () {
48
+ if (!(0, helpers_1.isNullOrUndefined)(timerRef.current)) {
49
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.clearInterval(timerRef.current);
50
+ timerRef.current = null;
51
+ }
52
+ }, []);
53
+ (0, react_1.useEffect)(function () {
54
+ if (!loop || isAllSlidesVisible)
55
+ return undefined;
56
+ startAutoPlay();
57
+ // TODO: Enable pause-on-hover by attaching mouseenter/mouseleave events to start and stop autoplay when hover interaction is active.
58
+ // const container = sliderWrapperRef?.current;
59
+ // if (pauseOnHover) {
60
+ // if (isNullOrUndefined(container)) return;
61
+ // container.addEventListener('mouseenter', clearAutoplayTimer);
62
+ // container.addEventListener('mouseleave', startAutoPlay);
63
+ // }
64
+ return function () {
65
+ clearAutoplayTimer();
66
+ // if (isNullOrUndefined(container)) return;
67
+ // container.removeEventListener('mouseenter', clearAutoplayTimer);
68
+ // container.removeEventListener('mouseleave', startAutoPlay);
69
+ };
70
+ }, [loop, isAllSlidesVisible, startAutoPlay, clearAutoplayTimer]);
71
+ }
72
+ exports.default = useSliderAutoplay;
73
+ //# sourceMappingURL=useSliderAutoPlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderAutoPlay.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/useSliderAutoPlay.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,+BAAuE;AACvE,wCAA4C;AAC5C,4CAAkE;AAWlE,SAAS,iBAAiB,CAAC,EAKa;QAJvC,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,kBAAkB,wBAAA,EAClB,IAAI,UAAA;IAEJ,iBAAiB;IACX,IAAA,KAAsC,IAAA,qBAAW,EAAC,cAAc,CAAC,EAA/D,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EAAE,gBAAe,EAAf,QAAQ,mBAAG,IAAI,KAAgC,CAAC;IAExE,OAAO;IACP,IAAM,QAAQ,GAAG,IAAA,cAAM,EAA4B,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC;QACjC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QACxC,QAAQ,CAAC,OAAO,GAAG,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,WAAW,CAAC;YAC1C,eAAe,EAAE,CAAC;QACnB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACd,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAExC,kFAAkF;IAClF,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC;QACtC,IAAI,CAAC,IAAA,2BAAiB,EAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACT,IAAI,CAAC,IAAI,IAAI,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAClD,aAAa,EAAE,CAAC;QAChB,qIAAqI;QACrI,+CAA+C;QAC/C,sBAAsB;QACtB,6CAA6C;QAC7C,iEAAiE;QACjE,4DAA4D;QAC5D,IAAI;QAEJ,OAAO;YACN,kBAAkB,EAAE,CAAC;YACrB,4CAA4C;YAC5C,mEAAmE;YACnE,8DAA8D;QAC/D,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,kBAAe,iBAAiB,CAAC"}