farm-react 1.0.6 → 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 (302) hide show
  1. package/README.md +79 -4
  2. package/dist/assets/styles/style.css +26254 -0
  3. package/dist/assets/styles/style.css.map +1 -0
  4. package/dist/cjs/Utils/index.d.ts +4 -0
  5. package/dist/cjs/Utils/index.js +8 -0
  6. package/dist/cjs/Utils/index.js.map +1 -0
  7. package/dist/cjs/components/Accordion.d.ts +33 -0
  8. package/dist/cjs/components/Accordion.js +21 -0
  9. package/dist/cjs/components/Accordion.js.map +1 -0
  10. package/dist/cjs/components/Alert.d.ts +32 -0
  11. package/dist/cjs/components/Alert.js +50 -0
  12. package/dist/cjs/components/Alert.js.map +1 -0
  13. package/dist/cjs/components/Badge.d.ts +22 -0
  14. package/dist/cjs/components/Badge.js +36 -0
  15. package/dist/cjs/components/Badge.js.map +1 -0
  16. package/dist/cjs/components/BrokenPage.d.ts +35 -0
  17. package/dist/cjs/components/BrokenPage.js +59 -0
  18. package/dist/cjs/components/BrokenPage.js.map +1 -0
  19. package/dist/cjs/components/Button.d.ts +29 -2
  20. package/dist/cjs/components/Button.js +51 -3
  21. package/dist/cjs/components/Button.js.map +1 -1
  22. package/dist/cjs/components/Card.d.ts +77 -0
  23. package/dist/cjs/components/Card.js +77 -0
  24. package/dist/cjs/components/Card.js.map +1 -0
  25. package/dist/cjs/components/Checkbox.d.ts +25 -0
  26. package/dist/cjs/components/Checkbox.js +23 -0
  27. package/dist/cjs/components/Checkbox.js.map +1 -0
  28. package/dist/cjs/components/ConfirmPoup.d.ts +21 -0
  29. package/dist/cjs/components/ConfirmPoup.js +47 -0
  30. package/dist/cjs/components/ConfirmPoup.js.map +1 -0
  31. package/dist/cjs/components/Dropdown.d.ts +35 -0
  32. package/dist/cjs/components/Dropdown.js +54 -0
  33. package/dist/cjs/components/Dropdown.js.map +1 -0
  34. package/dist/cjs/components/Label.d.ts +1 -1
  35. package/dist/cjs/components/Label.js +4 -4
  36. package/dist/cjs/components/Label.js.map +1 -1
  37. package/dist/cjs/components/MultiCheckbox.d.ts +39 -0
  38. package/dist/cjs/components/MultiCheckbox.js +56 -0
  39. package/dist/cjs/components/MultiCheckbox.js.map +1 -0
  40. package/dist/cjs/components/MultiRadio.d.ts +30 -0
  41. package/dist/cjs/components/MultiRadio.js +41 -0
  42. package/dist/cjs/components/MultiRadio.js.map +1 -0
  43. package/dist/cjs/components/NumberInput.d.ts +38 -0
  44. package/dist/cjs/components/NumberInput.js +34 -0
  45. package/dist/cjs/components/NumberInput.js.map +1 -0
  46. package/dist/cjs/components/Radio.d.ts +24 -0
  47. package/dist/cjs/components/Radio.js +24 -0
  48. package/dist/cjs/components/Radio.js.map +1 -0
  49. package/dist/cjs/components/RangeSlider.d.ts +30 -0
  50. package/dist/cjs/components/RangeSlider.js +48 -0
  51. package/dist/cjs/components/RangeSlider.js.map +1 -0
  52. package/dist/cjs/components/RatingDisplay.d.ts +27 -0
  53. package/dist/cjs/components/RatingDisplay.js +42 -0
  54. package/dist/cjs/components/RatingDisplay.js.map +1 -0
  55. package/dist/cjs/components/Select.d.ts +41 -0
  56. package/dist/cjs/components/Select.js +48 -0
  57. package/dist/cjs/components/Select.js.map +1 -0
  58. package/dist/cjs/components/SkeletonLoader.d.ts +39 -0
  59. package/dist/cjs/components/SkeletonLoader.js +76 -0
  60. package/dist/cjs/components/SkeletonLoader.js.map +1 -0
  61. package/dist/cjs/components/Slider/SlickSlider.d.ts +74 -0
  62. package/dist/cjs/components/Slider/SlickSlider.js +211 -0
  63. package/dist/cjs/components/Slider/SlickSlider.js.map +1 -0
  64. package/dist/cjs/components/Slider/Slider/SlickSlider.d.ts +74 -0
  65. package/dist/cjs/components/Slider/Slider/SlickSlider.js +212 -0
  66. package/dist/cjs/components/Slider/Slider/SlickSlider.js.map +1 -0
  67. package/dist/cjs/components/Slider/Slider/useCenterMode.d.ts +24 -0
  68. package/dist/cjs/components/Slider/Slider/useCenterMode.js +40 -0
  69. package/dist/cjs/components/Slider/Slider/useCenterMode.js.map +1 -0
  70. package/dist/cjs/components/Slider/Slider/useSlider.d.ts +65 -0
  71. package/dist/cjs/components/Slider/Slider/useSlider.js +164 -0
  72. package/dist/cjs/components/Slider/Slider/useSlider.js.map +1 -0
  73. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  74. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js +73 -0
  75. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  76. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  77. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js +53 -0
  78. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  79. package/dist/cjs/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  80. package/dist/cjs/components/Slider/Slider/useSliderDimension.js +91 -0
  81. package/dist/cjs/components/Slider/Slider/useSliderDimension.js.map +1 -0
  82. package/dist/cjs/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  83. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js +146 -0
  84. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  85. package/dist/cjs/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  86. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js +136 -0
  87. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  88. package/dist/cjs/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  89. package/dist/cjs/components/Slider/Slider/useSliderTransform.js +71 -0
  90. package/dist/cjs/components/Slider/Slider/useSliderTransform.js.map +1 -0
  91. package/dist/cjs/components/Slider/useCenterMode.d.ts +24 -0
  92. package/dist/cjs/components/Slider/useCenterMode.js +40 -0
  93. package/dist/cjs/components/Slider/useCenterMode.js.map +1 -0
  94. package/dist/cjs/components/Slider/useSlider.d.ts +65 -0
  95. package/dist/cjs/components/Slider/useSlider.js +159 -0
  96. package/dist/cjs/components/Slider/useSlider.js.map +1 -0
  97. package/dist/cjs/components/Slider/useSliderAutoPlay.d.ts +33 -0
  98. package/dist/cjs/components/Slider/useSliderAutoPlay.js +73 -0
  99. package/dist/cjs/components/Slider/useSliderAutoPlay.js.map +1 -0
  100. package/dist/cjs/components/Slider/useSliderBreakpoint.d.ts +23 -0
  101. package/dist/cjs/components/Slider/useSliderBreakpoint.js +92 -0
  102. package/dist/cjs/components/Slider/useSliderBreakpoint.js.map +1 -0
  103. package/dist/cjs/components/Slider/useSliderDimension.d.ts +41 -0
  104. package/dist/cjs/components/Slider/useSliderDimension.js +92 -0
  105. package/dist/cjs/components/Slider/useSliderDimension.js.map +1 -0
  106. package/dist/cjs/components/Slider/useSliderDraggable.d.ts +43 -0
  107. package/dist/cjs/components/Slider/useSliderDraggable.js +146 -0
  108. package/dist/cjs/components/Slider/useSliderDraggable.js.map +1 -0
  109. package/dist/cjs/components/Slider/useSliderNavigation.d.ts +41 -0
  110. package/dist/cjs/components/Slider/useSliderNavigation.js +136 -0
  111. package/dist/cjs/components/Slider/useSliderNavigation.js.map +1 -0
  112. package/dist/cjs/components/Slider/useSliderTransform.d.ts +17 -0
  113. package/dist/cjs/components/Slider/useSliderTransform.js +71 -0
  114. package/dist/cjs/components/Slider/useSliderTransform.js.map +1 -0
  115. package/dist/cjs/components/TextInput.d.ts +30 -3
  116. package/dist/cjs/components/TextInput.js +31 -17
  117. package/dist/cjs/components/TextInput.js.map +1 -1
  118. package/dist/cjs/components/ThreeDotsLoader.d.ts +24 -0
  119. package/dist/cjs/components/ThreeDotsLoader.js +25 -0
  120. package/dist/cjs/components/ThreeDotsLoader.js.map +1 -0
  121. package/dist/cjs/constants/app.d.ts +2 -0
  122. package/dist/cjs/constants/app.js +3 -1
  123. package/dist/cjs/constants/app.js.map +1 -1
  124. package/dist/cjs/constants/icons.d.ts +7 -0
  125. package/dist/cjs/constants/icons.js +11 -0
  126. package/dist/cjs/constants/icons.js.map +1 -0
  127. package/dist/cjs/helpers/app.d.ts +39 -2
  128. package/dist/cjs/helpers/app.js +83 -5
  129. package/dist/cjs/helpers/app.js.map +1 -1
  130. package/dist/cjs/helpers/index.d.ts +1 -0
  131. package/dist/cjs/helpers/index.js +3 -0
  132. package/dist/cjs/helpers/index.js.map +1 -1
  133. package/dist/cjs/hooks/index.d.ts +1 -0
  134. package/dist/cjs/hooks/index.js +4 -0
  135. package/dist/cjs/hooks/index.js.map +1 -1
  136. package/dist/cjs/hooks/useLocalStorage.d.ts +7 -0
  137. package/dist/cjs/hooks/useLocalStorage.js +57 -0
  138. package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
  139. package/dist/cjs/index.d.ts +20 -4
  140. package/dist/cjs/index.js +41 -7
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/strings/en.d.ts +4 -1
  143. package/dist/cjs/strings/en.js +5 -2
  144. package/dist/cjs/strings/en.js.map +1 -1
  145. package/dist/esm/Utils/index.d.ts +4 -0
  146. package/dist/esm/Utils/index.js +5 -0
  147. package/dist/esm/Utils/index.js.map +1 -0
  148. package/dist/esm/components/Accordion.d.ts +33 -0
  149. package/dist/esm/components/Accordion.js +19 -0
  150. package/dist/esm/components/Accordion.js.map +1 -0
  151. package/dist/esm/components/Alert.d.ts +32 -0
  152. package/dist/esm/components/Alert.js +48 -0
  153. package/dist/esm/components/Alert.js.map +1 -0
  154. package/dist/esm/components/Badge.d.ts +22 -0
  155. package/dist/esm/components/Badge.js +34 -0
  156. package/dist/esm/components/Badge.js.map +1 -0
  157. package/dist/esm/components/BrokenPage.d.ts +35 -0
  158. package/dist/esm/components/BrokenPage.js +57 -0
  159. package/dist/esm/components/BrokenPage.js.map +1 -0
  160. package/dist/esm/components/Button.d.ts +29 -2
  161. package/dist/esm/components/Button.js +52 -2
  162. package/dist/esm/components/Button.js.map +1 -1
  163. package/dist/esm/components/Card.d.ts +77 -0
  164. package/dist/esm/components/Card.js +75 -0
  165. package/dist/esm/components/Card.js.map +1 -0
  166. package/dist/esm/components/Checkbox.d.ts +25 -0
  167. package/dist/esm/components/Checkbox.js +21 -0
  168. package/dist/esm/components/Checkbox.js.map +1 -0
  169. package/dist/esm/components/ConfirmPoup.d.ts +21 -0
  170. package/dist/esm/components/ConfirmPoup.js +45 -0
  171. package/dist/esm/components/ConfirmPoup.js.map +1 -0
  172. package/dist/esm/components/Dropdown.d.ts +35 -0
  173. package/dist/esm/components/Dropdown.js +52 -0
  174. package/dist/esm/components/Dropdown.js.map +1 -0
  175. package/dist/esm/components/Label.d.ts +1 -1
  176. package/dist/esm/components/Label.js +5 -5
  177. package/dist/esm/components/Label.js.map +1 -1
  178. package/dist/esm/components/MultiCheckbox.d.ts +39 -0
  179. package/dist/esm/components/MultiCheckbox.js +54 -0
  180. package/dist/esm/components/MultiCheckbox.js.map +1 -0
  181. package/dist/esm/components/MultiRadio.d.ts +30 -0
  182. package/dist/esm/components/MultiRadio.js +39 -0
  183. package/dist/esm/components/MultiRadio.js.map +1 -0
  184. package/dist/esm/components/NumberInput.d.ts +38 -0
  185. package/dist/esm/components/NumberInput.js +32 -0
  186. package/dist/esm/components/NumberInput.js.map +1 -0
  187. package/dist/esm/components/Radio.d.ts +24 -0
  188. package/dist/esm/components/Radio.js +22 -0
  189. package/dist/esm/components/Radio.js.map +1 -0
  190. package/dist/esm/components/RangeSlider.d.ts +30 -0
  191. package/dist/esm/components/RangeSlider.js +46 -0
  192. package/dist/esm/components/RangeSlider.js.map +1 -0
  193. package/dist/esm/components/RatingDisplay.d.ts +27 -0
  194. package/dist/esm/components/RatingDisplay.js +40 -0
  195. package/dist/esm/components/RatingDisplay.js.map +1 -0
  196. package/dist/esm/components/Select.d.ts +41 -0
  197. package/dist/esm/components/Select.js +46 -0
  198. package/dist/esm/components/Select.js.map +1 -0
  199. package/dist/esm/components/SkeletonLoader.d.ts +39 -0
  200. package/dist/esm/components/SkeletonLoader.js +74 -0
  201. package/dist/esm/components/SkeletonLoader.js.map +1 -0
  202. package/dist/esm/components/Slider/SlickSlider.d.ts +74 -0
  203. package/dist/esm/components/Slider/SlickSlider.js +208 -0
  204. package/dist/esm/components/Slider/SlickSlider.js.map +1 -0
  205. package/dist/esm/components/Slider/Slider/SlickSlider.d.ts +74 -0
  206. package/dist/esm/components/Slider/Slider/SlickSlider.js +209 -0
  207. package/dist/esm/components/Slider/Slider/SlickSlider.js.map +1 -0
  208. package/dist/esm/components/Slider/Slider/useCenterMode.d.ts +24 -0
  209. package/dist/esm/components/Slider/Slider/useCenterMode.js +38 -0
  210. package/dist/esm/components/Slider/Slider/useCenterMode.js.map +1 -0
  211. package/dist/esm/components/Slider/Slider/useSlider.d.ts +65 -0
  212. package/dist/esm/components/Slider/Slider/useSlider.js +162 -0
  213. package/dist/esm/components/Slider/Slider/useSlider.js.map +1 -0
  214. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  215. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js +71 -0
  216. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  217. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  218. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js +51 -0
  219. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  220. package/dist/esm/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  221. package/dist/esm/components/Slider/Slider/useSliderDimension.js +89 -0
  222. package/dist/esm/components/Slider/Slider/useSliderDimension.js.map +1 -0
  223. package/dist/esm/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  224. package/dist/esm/components/Slider/Slider/useSliderDraggable.js +144 -0
  225. package/dist/esm/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  226. package/dist/esm/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  227. package/dist/esm/components/Slider/Slider/useSliderNavigation.js +134 -0
  228. package/dist/esm/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  229. package/dist/esm/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  230. package/dist/esm/components/Slider/Slider/useSliderTransform.js +69 -0
  231. package/dist/esm/components/Slider/Slider/useSliderTransform.js.map +1 -0
  232. package/dist/esm/components/Slider/useCenterMode.d.ts +24 -0
  233. package/dist/esm/components/Slider/useCenterMode.js +38 -0
  234. package/dist/esm/components/Slider/useCenterMode.js.map +1 -0
  235. package/dist/esm/components/Slider/useSlider.d.ts +65 -0
  236. package/dist/esm/components/Slider/useSlider.js +157 -0
  237. package/dist/esm/components/Slider/useSlider.js.map +1 -0
  238. package/dist/esm/components/Slider/useSliderAutoPlay.d.ts +33 -0
  239. package/dist/esm/components/Slider/useSliderAutoPlay.js +71 -0
  240. package/dist/esm/components/Slider/useSliderAutoPlay.js.map +1 -0
  241. package/dist/esm/components/Slider/useSliderBreakpoint.d.ts +23 -0
  242. package/dist/esm/components/Slider/useSliderBreakpoint.js +90 -0
  243. package/dist/esm/components/Slider/useSliderBreakpoint.js.map +1 -0
  244. package/dist/esm/components/Slider/useSliderDimension.d.ts +41 -0
  245. package/dist/esm/components/Slider/useSliderDimension.js +90 -0
  246. package/dist/esm/components/Slider/useSliderDimension.js.map +1 -0
  247. package/dist/esm/components/Slider/useSliderDraggable.d.ts +43 -0
  248. package/dist/esm/components/Slider/useSliderDraggable.js +144 -0
  249. package/dist/esm/components/Slider/useSliderDraggable.js.map +1 -0
  250. package/dist/esm/components/Slider/useSliderNavigation.d.ts +41 -0
  251. package/dist/esm/components/Slider/useSliderNavigation.js +134 -0
  252. package/dist/esm/components/Slider/useSliderNavigation.js.map +1 -0
  253. package/dist/esm/components/Slider/useSliderTransform.d.ts +17 -0
  254. package/dist/esm/components/Slider/useSliderTransform.js +69 -0
  255. package/dist/esm/components/Slider/useSliderTransform.js.map +1 -0
  256. package/dist/esm/components/TextInput.d.ts +30 -3
  257. package/dist/esm/components/TextInput.js +33 -18
  258. package/dist/esm/components/TextInput.js.map +1 -1
  259. package/dist/esm/components/ThreeDotsLoader.d.ts +24 -0
  260. package/dist/esm/components/ThreeDotsLoader.js +23 -0
  261. package/dist/esm/components/ThreeDotsLoader.js.map +1 -0
  262. package/dist/esm/constants/app.d.ts +2 -0
  263. package/dist/esm/constants/app.js +2 -0
  264. package/dist/esm/constants/app.js.map +1 -1
  265. package/dist/esm/constants/icons.d.ts +7 -0
  266. package/dist/esm/constants/icons.js +9 -0
  267. package/dist/esm/constants/icons.js.map +1 -0
  268. package/dist/esm/helpers/app.d.ts +39 -2
  269. package/dist/esm/helpers/app.js +73 -3
  270. package/dist/esm/helpers/app.js.map +1 -1
  271. package/dist/esm/helpers/index.d.ts +1 -0
  272. package/dist/esm/helpers/index.js +1 -1
  273. package/dist/esm/helpers/index.js.map +1 -1
  274. package/dist/esm/hooks/index.d.ts +1 -0
  275. package/dist/esm/hooks/index.js +1 -1
  276. package/dist/esm/hooks/index.js.map +1 -1
  277. package/dist/esm/hooks/useLocalStorage.d.ts +7 -0
  278. package/dist/esm/hooks/useLocalStorage.js +54 -0
  279. package/dist/esm/hooks/useLocalStorage.js.map +1 -0
  280. package/dist/esm/index.d.ts +20 -4
  281. package/dist/esm/index.js +20 -4
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/strings/en.d.ts +4 -1
  284. package/dist/esm/strings/en.js +4 -1
  285. package/dist/esm/strings/en.js.map +1 -1
  286. package/dist/package.json +13 -0
  287. package/package.json +63 -58
  288. package/dist/cjs/components/app.d.ts +0 -6
  289. package/dist/cjs/components/app.js +0 -22
  290. package/dist/cjs/components/app.js.map +0 -1
  291. package/dist/esm/components/Notification.d.ts +0 -1
  292. package/dist/esm/components/Notification.js +0 -46
  293. package/dist/esm/components/Notification.js.map +0 -1
  294. package/dist/esm/components/SwitchItem.d.ts +0 -8
  295. package/dist/esm/components/SwitchItem.js +0 -7
  296. package/dist/esm/components/SwitchItem.js.map +0 -1
  297. package/dist/esm/components/app.d.ts +0 -6
  298. package/dist/esm/components/app.js +0 -19
  299. package/dist/esm/components/app.js.map +0 -1
  300. package/dist/esm/constants/aap.d.ts +0 -1
  301. package/dist/esm/constants/aap.js +0 -2
  302. package/dist/esm/constants/aap.js.map +0 -1
@@ -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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useSliderBreakpoint
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
+ import { RefObject } from 'react';
16
+ import { type SlickSliderAnimationConfig, type SlickSliderAutoPlayConfig } from './SlickSlider';
17
+ export interface SlickSliderConfig {
18
+ activeSlide?: number;
19
+ animationConfig?: SlickSliderAnimationConfig;
20
+ autoPlayConfig?: SlickSliderAutoPlayConfig;
21
+ breakpoint?: number;
22
+ draggable?: {
23
+ dragThreshold?: number;
24
+ enableDrag?: boolean;
25
+ };
26
+ gap?: number;
27
+ loop?: boolean;
28
+ showCtrlBtns?: boolean;
29
+ showIndicator?: boolean;
30
+ slideToScroll?: number;
31
+ slideToShow?: number;
32
+ }
33
+ export interface UseSliderBreakpointProps {
34
+ breakpoints: SlickSliderConfig[];
35
+ config: SlickSliderConfig;
36
+ }
37
+ declare function useSliderBreakpoint({ breakpoints, config }: UseSliderBreakpointProps): RefObject<SlickSliderConfig>;
38
+ export default useSliderBreakpoint;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ /**
5
+ * -----------------------------------------------------------------------------
6
+ * @file useSliderBreakpoint
7
+ * -----------------------------------------------------------------------------
8
+ *
9
+ * @description Utility file - add description here
10
+ *
11
+ * Features:
12
+ * - Add key features here
13
+ *
14
+ * -----------------------------------------------------------------------------
15
+ * Copyright © 2026 BookingKoala. All rights reserved.
16
+ * -----------------------------------------------------------------------------
17
+ */
18
+ var react_1 = require("react");
19
+ var Utils_1 = require("../../../Utils");
20
+ var helpers_1 = require("../../../helpers");
21
+ function useSliderBreakpoint(_a) {
22
+ var breakpoints = _a.breakpoints, config = _a.config;
23
+ var configRef = (0, react_1.useRef)(config);
24
+ (0, react_1.useEffect)(function () {
25
+ if ((0, helpers_1.isObjectEmpty)(config)) {
26
+ configRef.current = config;
27
+ return;
28
+ }
29
+ function resolveBreakpointConfig() {
30
+ var viewportWidth = Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.innerWidth;
31
+ // Find the first breakpoint that matches current viewport
32
+ var matchedBreakpoint = breakpoints.find(function (bp) { return (viewportWidth && (bp === null || bp === void 0 ? void 0 : bp.breakpoint)) && viewportWidth <= bp.breakpoint; });
33
+ // Merge base config with breakpoint overrides
34
+ return (0, helpers_1.isObjectNotEmpty)(matchedBreakpoint)
35
+ ? tslib_1.__assign(tslib_1.__assign({}, config), matchedBreakpoint) : config;
36
+ }
37
+ function updateConfig() {
38
+ var resolvedConfig = resolveBreakpointConfig();
39
+ // Avoid unnecessary updates
40
+ if (!(0, helpers_1.deepCompareObjects)(configRef.current, resolvedConfig)) {
41
+ configRef.current = resolvedConfig;
42
+ }
43
+ }
44
+ updateConfig();
45
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.addEventListener('resize', updateConfig);
46
+ return function () {
47
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.removeEventListener('resize', updateConfig);
48
+ };
49
+ }, [config, breakpoints, Utils_1.safeWindow]);
50
+ return configRef;
51
+ }
52
+ exports.default = useSliderBreakpoint;
53
+ //# sourceMappingURL=useSliderBreakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderBreakpoint.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/useSliderBreakpoint.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,+BAAqD;AACrD,wCAA4C;AAC5C,4CAAuF;AAuBvF,SAAS,mBAAmB,CAAC,EAGF;QAF1B,WAAW,iBAAA,EACX,MAAM,YAAA;IAEN,IAAM,SAAS,GAAG,IAAA,cAAM,EAAoB,MAAM,CAAC,CAAC;IAEpD,IAAA,iBAAS,EAAC;QACT,IAAI,IAAA,uBAAa,EAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,SAAS,uBAAuB;YAC/B,IAAM,aAAa,GAAG,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,UAAU,CAAC;YAE7C,0DAA0D;YAC1D,IAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CACzC,UAAC,EAAE,IAAK,OAAA,CAAC,aAAa,KAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAA,CAAC,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,EAAnE,CAAmE,CAC3E,CAAC;YAEF,8CAA8C;YAC9C,OAAO,IAAA,0BAAgB,EAAC,iBAAiB,CAAC;gBACzC,CAAC,uCAAM,MAAM,GAAK,iBAAiB,EACnC,CAAC,CAAC,MAAM,CAAC;QACX,CAAC;QAED,SAAS,YAAY;YACpB,IAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;YACjD,4BAA4B;YAC5B,IAAI,CAAC,IAAA,4BAAkB,EAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;gBAC5D,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC;YACpC,CAAC;QACF,CAAC;QAED,YAAY,EAAE,CAAC;QACf,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAErD,OAAO;YACN,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAU,CAAC,CAAC,CAAC;IAEtC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useSliderDimension
4
+ * -----------------------------------------------------------------------------
5
+ *
6
+ * @description React hook responsible for calculating and applying layout-related
7
+ * dimensions for a flex-based slider.
8
+ *
9
+ * This hook dynamically computes:
10
+ * - Slider container width
11
+ * - Slide flex-basis based on the number of visible slides
12
+ * - Gap between slides
13
+ *
14
+ * The calculated values are applied directly to the DOM and stored
15
+ * in shared slider refs for use by other slider utilities.
16
+ *
17
+ * Features:
18
+ * - Responsive slide sizing using container dimensions
19
+ * - Flex-based layout calculation
20
+ * - Centralized dimension updates
21
+ * - Safe DOM access via refs
22
+ *
23
+ * NOTE: this loc update when we have add the custom styling. loc no.:-69
24
+ * -----------------------------------------------------------------------------
25
+ * Copyright © 2025 BookingKoala. All rights reserved.
26
+ * -----------------------------------------------------------------------------
27
+ */
28
+ import { type RefObject } from 'react';
29
+ import { type SlickSliderRefs } from './useSlider';
30
+ export interface UseSlickSliderDimensionProps {
31
+ gap: number;
32
+ sliderObjRefs: RefObject<SlickSliderRefs>;
33
+ sliderWrapperRef: RefObject<HTMLDivElement | null>;
34
+ slideToShow: number;
35
+ variant: 'horizontal' | 'vertical';
36
+ }
37
+ interface SlickSliderDimensionsReturn {
38
+ calculateDimensions: () => void;
39
+ }
40
+ declare function useSliderDimension({ gap, sliderObjRefs, sliderWrapperRef, slideToShow, variant }: Readonly<UseSlickSliderDimensionProps>): SlickSliderDimensionsReturn;
41
+ export default useSliderDimension;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * -----------------------------------------------------------------------------
5
+ * @file useSliderDimension
6
+ * -----------------------------------------------------------------------------
7
+ *
8
+ * @description React hook responsible for calculating and applying layout-related
9
+ * dimensions for a flex-based slider.
10
+ *
11
+ * This hook dynamically computes:
12
+ * - Slider container width
13
+ * - Slide flex-basis based on the number of visible slides
14
+ * - Gap between slides
15
+ *
16
+ * The calculated values are applied directly to the DOM and stored
17
+ * in shared slider refs for use by other slider utilities.
18
+ *
19
+ * Features:
20
+ * - Responsive slide sizing using container dimensions
21
+ * - Flex-based layout calculation
22
+ * - Centralized dimension updates
23
+ * - Safe DOM access via refs
24
+ *
25
+ * NOTE: this loc update when we have add the custom styling. loc no.:-69
26
+ * -----------------------------------------------------------------------------
27
+ * Copyright © 2025 BookingKoala. All rights reserved.
28
+ * -----------------------------------------------------------------------------
29
+ */
30
+ var react_1 = require("react");
31
+ var helpers_1 = require("../../../helpers");
32
+ function useSliderDimension(_a) {
33
+ var gap = _a.gap, sliderObjRefs = _a.sliderObjRefs, sliderWrapperRef = _a.sliderWrapperRef, slideToShow = _a.slideToShow, variant = _a.variant;
34
+ /**
35
+ * Calculates and applies slide dimensions based on slider orientation.
36
+ *
37
+ * - Sets the gap between slides.
38
+ * - For vertical sliders:
39
+ * - Calculates slide height including gap.
40
+ * - Sets the container height to show the required number of slides.
41
+ * - Switches layout to column direction.
42
+ * - For horizontal sliders:
43
+ * - Calculates available width after subtracting gaps.
44
+ * - Distributes width equally across visible slides using flex-basis.
45
+ *
46
+ * This function updates both DOM styles and cached dimensions
47
+ * used later for slide translation.
48
+ */
49
+ var calculateSlideDimensions = (0, react_1.useCallback)(function (_a) {
50
+ var container = _a.container, rect = _a.rect;
51
+ if (!sliderObjRefs.current)
52
+ return;
53
+ container.style.setProperty('gap', "".concat(gap, "px"));
54
+ if (variant === 'vertical') {
55
+ var verticalSlideHight = container.children[0].clientHeight + gap;
56
+ Object.assign(sliderObjRefs.current, {
57
+ containerHeight: verticalSlideHight
58
+ });
59
+ container.style.setProperty('height', "".concat(verticalSlideHight * slideToShow, "px"));
60
+ container.style.setProperty('flex-direction', 'column');
61
+ return;
62
+ }
63
+ var containerWidth = rect.width;
64
+ var totalGap = gap * (slideToShow - 1);
65
+ var availableWidth = containerWidth - totalGap;
66
+ var slideWidthPx = availableWidth / slideToShow;
67
+ var flexBasisPercent = (slideWidthPx / containerWidth) * 100;
68
+ Object.assign(sliderObjRefs.current, {
69
+ containerWidth: containerWidth + gap
70
+ });
71
+ Array.from(container.children).forEach(function (element) {
72
+ element.style.setProperty('flex', "0 0 ".concat(flexBasisPercent, "%"));
73
+ });
74
+ }, [gap, slideToShow, sliderObjRefs, variant]);
75
+ /**
76
+ * Calculates and applies slider dimensions based on the current container size.
77
+ * Safely accesses the slider container element, retrieves its bounding rectangle,
78
+ * and triggers the dimension calculation for slides.
79
+ * NOTE: currently for horizontal slider navigation
80
+ */
81
+ var calculateDimensions = (0, react_1.useCallback)(function () {
82
+ var container = sliderWrapperRef.current;
83
+ if ((0, helpers_1.isNullOrUndefined)(container))
84
+ return;
85
+ var rect = container.getBoundingClientRect();
86
+ calculateSlideDimensions({ container: container, rect: rect });
87
+ }, [sliderWrapperRef, calculateSlideDimensions]);
88
+ return { calculateDimensions: calculateDimensions };
89
+ }
90
+ exports.default = useSliderDimension;
91
+ //# sourceMappingURL=useSliderDimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderDimension.js","sourceRoot":"","sources":["../../../../../src/components/Slider/Slider/useSliderDimension.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,+BAAoD;AACpD,4CAAqD;AAoBrD,SAAS,kBAAkB,CAAC,EAMa;QALxC,GAAG,SAAA,EACH,aAAa,mBAAA,EACb,gBAAgB,sBAAA,EAChB,WAAW,iBAAA,EACX,OAAO,aAAA;IAEP;;;;;;;;;;;;;;OAcG;IACH,IAAM,wBAAwB,GAAG,IAAA,mBAAW,EAC3C,UAAC,EAAwC;YAAtC,SAAS,eAAA,EAAE,IAAI,UAAA;QACjB,IAAI,CAAC,aAAa,CAAC,OAAO;YAAE,OAAO;QACnC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,UAAG,GAAG,OAAI,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC5B,IAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;gBACpC,eAAe,EAAE,kBAAkB;aACnC,CAAC,CAAC;YACH,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAG,kBAAkB,GAAG,WAAW,OAAI,CAAC,CAAC;YAC/E,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO;QACR,CAAC;QAEO,IAAO,cAAc,GAAK,IAAI,MAAT,CAAU;QACvC,IAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACzC,IAAM,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC;QACjD,IAAM,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;QAClD,IAAM,gBAAgB,GAAG,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;YACpC,cAAc,EAAE,cAAc,GAAG,GAAG;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,OAAgB;YACtD,OAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,cAAO,gBAAgB,MAAG,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAC1C,CAAC;IAEF;;;;;OAKG;IACH,IAAM,mBAAmB,GAAG,IAAA,mBAAW,EAAC;QACvC,IAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC3C,IAAI,IAAA,2BAAiB,EAAC,SAAS,CAAC;YAAE,OAAO;QACzC,IAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC/C,wBAAwB,CAAC,EAAE,SAAS,EAAE,SAA2B,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,mBAAmB,qBAAA,EAAE,CAAC;AAChC,CAAC;AAED,kBAAe,kBAAkB,CAAC"}