farm-react 1.0.10 → 1.0.12

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 (225) hide show
  1. package/dist/cjs/Utils/index.js.map +1 -1
  2. package/dist/cjs/assets/data/header.js.map +1 -1
  3. package/dist/cjs/components/Accordion.js +4 -4
  4. package/dist/cjs/components/Accordion.js.map +1 -1
  5. package/dist/cjs/components/Alert.js +6 -6
  6. package/dist/cjs/components/Alert.js.map +1 -1
  7. package/dist/cjs/components/Badge.js +6 -6
  8. package/dist/cjs/components/Badge.js.map +1 -1
  9. package/dist/cjs/components/BrokenPage.js +7 -7
  10. package/dist/cjs/components/BrokenPage.js.map +1 -1
  11. package/dist/cjs/components/Button.d.ts +2 -1
  12. package/dist/cjs/components/Button.js +6 -6
  13. package/dist/cjs/components/Button.js.map +1 -1
  14. package/dist/cjs/components/Card.js +1 -1
  15. package/dist/cjs/components/Card.js.map +1 -1
  16. package/dist/cjs/components/Checkbox.js +4 -4
  17. package/dist/cjs/components/Checkbox.js.map +1 -1
  18. package/dist/cjs/components/ConfirmPoup.js +8 -8
  19. package/dist/cjs/components/ConfirmPoup.js.map +1 -1
  20. package/dist/cjs/components/Dropdown.js +3 -3
  21. package/dist/cjs/components/Dropdown.js.map +1 -1
  22. package/dist/cjs/components/Label.js +2 -2
  23. package/dist/cjs/components/Label.js.map +1 -1
  24. package/dist/cjs/components/Layout/Footer.js.map +1 -1
  25. package/dist/cjs/components/Layout/Header.js.map +1 -1
  26. package/dist/cjs/components/Layout/Sidebar.js.map +1 -1
  27. package/dist/cjs/components/MultiCheckbox.js.map +1 -1
  28. package/dist/cjs/components/MultiRadio.js +5 -5
  29. package/dist/cjs/components/MultiRadio.js.map +1 -1
  30. package/dist/cjs/components/NumberInput.js +5 -5
  31. package/dist/cjs/components/NumberInput.js.map +1 -1
  32. package/dist/cjs/components/Popover.js +4 -4
  33. package/dist/cjs/components/Popover.js.map +1 -1
  34. package/dist/cjs/components/Radio.js +4 -4
  35. package/dist/cjs/components/Radio.js.map +1 -1
  36. package/dist/cjs/components/RadioButtonGroup.js +16 -16
  37. package/dist/cjs/components/RadioButtonGroup.js.map +1 -1
  38. package/dist/cjs/components/RangeSlider.js +4 -4
  39. package/dist/cjs/components/RangeSlider.js.map +1 -1
  40. package/dist/cjs/components/RatingDisplay.js +4 -4
  41. package/dist/cjs/components/RatingDisplay.js.map +1 -1
  42. package/dist/cjs/components/Search.js.map +1 -1
  43. package/dist/cjs/components/Select.js +7 -7
  44. package/dist/cjs/components/Select.js.map +1 -1
  45. package/dist/cjs/components/SkeletonLoader.js +3 -3
  46. package/dist/cjs/components/SkeletonLoader.js.map +1 -1
  47. package/dist/cjs/components/{Slider/SlickSlider.d.ts → SlickSlider.d.ts} +13 -10
  48. package/dist/cjs/components/{Slider/SlickSlider.js → SlickSlider.js} +40 -67
  49. package/dist/cjs/components/SlickSlider.js.map +1 -0
  50. package/dist/cjs/components/TextInput.d.ts +6 -5
  51. package/dist/cjs/components/TextInput.js +5 -5
  52. package/dist/cjs/components/TextInput.js.map +1 -1
  53. package/dist/cjs/components/ThreeDotsLoader.js +3 -3
  54. package/dist/cjs/components/ThreeDotsLoader.js.map +1 -1
  55. package/dist/cjs/components/Tooltip.js +3 -3
  56. package/dist/cjs/components/Tooltip.js.map +1 -1
  57. package/dist/cjs/{helpers/app.d.ts → components/helper.d.ts} +2 -1
  58. package/dist/cjs/{helpers/app.js → components/helper.js} +1 -1
  59. package/dist/cjs/components/helper.js.map +1 -0
  60. package/dist/cjs/constants/app.js.map +1 -1
  61. package/dist/cjs/constants/icons.js.map +1 -1
  62. package/dist/cjs/hooks/index.js.map +1 -1
  63. package/dist/{esm/components/Slider → cjs/hooks/slider}/useSlider.d.ts +21 -14
  64. package/dist/cjs/{components/Slider → hooks/slider}/useSlider.js +62 -67
  65. package/dist/cjs/hooks/slider/useSlider.js.map +1 -0
  66. package/dist/cjs/{components/Slider → hooks/slider}/useSliderAutoPlay.d.ts +4 -4
  67. package/dist/cjs/{components/Slider → hooks/slider}/useSliderAutoPlay.js +4 -4
  68. package/dist/cjs/hooks/slider/useSliderAutoPlay.js.map +1 -0
  69. package/dist/cjs/hooks/slider/useSliderBreakpoints.d.ts +35 -0
  70. package/dist/cjs/hooks/slider/useSliderBreakpoints.js +54 -0
  71. package/dist/cjs/hooks/slider/useSliderBreakpoints.js.map +1 -0
  72. package/dist/{esm/components/Slider → cjs/hooks/slider}/useSliderDimension.d.ts +8 -9
  73. package/dist/cjs/{components/Slider → hooks/slider}/useSliderDimension.js +7 -11
  74. package/dist/cjs/hooks/slider/useSliderDimension.js.map +1 -0
  75. package/dist/cjs/{components/Slider → hooks/slider}/useSliderDraggable.d.ts +7 -8
  76. package/dist/cjs/{components/Slider → hooks/slider}/useSliderDraggable.js +13 -16
  77. package/dist/cjs/hooks/slider/useSliderDraggable.js.map +1 -0
  78. package/dist/{esm/components/Slider → cjs/hooks/slider}/useSliderNavigation.d.ts +5 -4
  79. package/dist/cjs/{components/Slider → hooks/slider}/useSliderNavigation.js +9 -21
  80. package/dist/cjs/hooks/slider/useSliderNavigation.js.map +1 -0
  81. package/dist/cjs/hooks/slider/useSliderTransform.d.ts +31 -0
  82. package/dist/cjs/{components/Slider → hooks/slider}/useSliderTransform.js +11 -16
  83. package/dist/cjs/hooks/slider/useSliderTransform.js.map +1 -0
  84. package/dist/cjs/hooks/useLocalStorage.js.map +1 -1
  85. package/dist/cjs/index.d.ts +2 -2
  86. package/dist/cjs/index.js +2 -2
  87. package/dist/cjs/index.js.map +1 -1
  88. package/dist/cjs/strings/en.js.map +1 -1
  89. package/dist/cjs/subComponent/ToggleButton.js +2 -2
  90. package/dist/cjs/subComponent/ToggleButton.js.map +1 -1
  91. package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtn.js +3 -3
  92. package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtn.js.map +1 -1
  93. package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtnGroup.js.map +1 -1
  94. package/dist/esm/Utils/index.js.map +1 -1
  95. package/dist/esm/assets/data/header.js.map +1 -1
  96. package/dist/esm/components/Accordion.js +1 -1
  97. package/dist/esm/components/Accordion.js.map +1 -1
  98. package/dist/esm/components/Alert.js +1 -1
  99. package/dist/esm/components/Alert.js.map +1 -1
  100. package/dist/esm/components/Badge.js +1 -1
  101. package/dist/esm/components/Badge.js.map +1 -1
  102. package/dist/esm/components/BrokenPage.js +1 -1
  103. package/dist/esm/components/BrokenPage.js.map +1 -1
  104. package/dist/esm/components/Button.d.ts +2 -1
  105. package/dist/esm/components/Button.js +1 -1
  106. package/dist/esm/components/Button.js.map +1 -1
  107. package/dist/esm/components/Card.js +1 -1
  108. package/dist/esm/components/Card.js.map +1 -1
  109. package/dist/esm/components/Checkbox.js +1 -1
  110. package/dist/esm/components/Checkbox.js.map +1 -1
  111. package/dist/esm/components/ConfirmPoup.js +1 -1
  112. package/dist/esm/components/ConfirmPoup.js.map +1 -1
  113. package/dist/esm/components/Dropdown.js +1 -1
  114. package/dist/esm/components/Dropdown.js.map +1 -1
  115. package/dist/esm/components/Label.js +1 -1
  116. package/dist/esm/components/Label.js.map +1 -1
  117. package/dist/esm/components/Layout/Footer.js.map +1 -1
  118. package/dist/esm/components/Layout/Header.js.map +1 -1
  119. package/dist/esm/components/Layout/Sidebar.js.map +1 -1
  120. package/dist/esm/components/MultiCheckbox.js.map +1 -1
  121. package/dist/esm/components/MultiRadio.js +1 -1
  122. package/dist/esm/components/MultiRadio.js.map +1 -1
  123. package/dist/esm/components/NumberInput.js +1 -1
  124. package/dist/esm/components/NumberInput.js.map +1 -1
  125. package/dist/esm/components/Popover.js +1 -1
  126. package/dist/esm/components/Popover.js.map +1 -1
  127. package/dist/esm/components/Radio.js +1 -1
  128. package/dist/esm/components/Radio.js.map +1 -1
  129. package/dist/esm/components/RadioButtonGroup.js +1 -1
  130. package/dist/esm/components/RadioButtonGroup.js.map +1 -1
  131. package/dist/esm/components/RangeSlider.js +1 -1
  132. package/dist/esm/components/RangeSlider.js.map +1 -1
  133. package/dist/esm/components/RatingDisplay.js +1 -1
  134. package/dist/esm/components/RatingDisplay.js.map +1 -1
  135. package/dist/esm/components/Search.js.map +1 -1
  136. package/dist/esm/components/Select.js +1 -1
  137. package/dist/esm/components/Select.js.map +1 -1
  138. package/dist/esm/components/SkeletonLoader.js +1 -1
  139. package/dist/esm/components/SkeletonLoader.js.map +1 -1
  140. package/dist/esm/components/{Slider/SlickSlider.d.ts → SlickSlider.d.ts} +13 -10
  141. package/dist/esm/components/{Slider/SlickSlider.js → SlickSlider.js} +34 -61
  142. package/dist/esm/components/SlickSlider.js.map +1 -0
  143. package/dist/esm/components/TextInput.d.ts +6 -5
  144. package/dist/esm/components/TextInput.js +1 -1
  145. package/dist/esm/components/TextInput.js.map +1 -1
  146. package/dist/esm/components/ThreeDotsLoader.js +1 -1
  147. package/dist/esm/components/ThreeDotsLoader.js.map +1 -1
  148. package/dist/esm/components/Tooltip.js +1 -1
  149. package/dist/esm/components/Tooltip.js.map +1 -1
  150. package/dist/esm/{helpers/app.d.ts → components/helper.d.ts} +2 -1
  151. package/dist/esm/{helpers/app.js → components/helper.js} +1 -1
  152. package/dist/esm/components/helper.js.map +1 -0
  153. package/dist/esm/constants/app.js.map +1 -1
  154. package/dist/esm/constants/icons.js.map +1 -1
  155. package/dist/esm/hooks/index.js.map +1 -1
  156. package/dist/{cjs/components/Slider → esm/hooks/slider}/useSlider.d.ts +21 -14
  157. package/dist/esm/hooks/slider/useSlider.js +150 -0
  158. package/dist/esm/hooks/slider/useSlider.js.map +1 -0
  159. package/dist/esm/{components/Slider → hooks/slider}/useSliderAutoPlay.d.ts +4 -4
  160. package/dist/esm/{components/Slider → hooks/slider}/useSliderAutoPlay.js +2 -2
  161. package/dist/esm/hooks/slider/useSliderAutoPlay.js.map +1 -0
  162. package/dist/esm/hooks/slider/useSliderBreakpoints.d.ts +35 -0
  163. package/dist/esm/hooks/slider/useSliderBreakpoints.js +52 -0
  164. package/dist/esm/hooks/slider/useSliderBreakpoints.js.map +1 -0
  165. package/dist/{cjs/components/Slider → esm/hooks/slider}/useSliderDimension.d.ts +8 -9
  166. package/dist/esm/{components/Slider → hooks/slider}/useSliderDimension.js +6 -10
  167. package/dist/esm/hooks/slider/useSliderDimension.js.map +1 -0
  168. package/dist/esm/{components/Slider → hooks/slider}/useSliderDraggable.d.ts +7 -8
  169. package/dist/esm/{components/Slider → hooks/slider}/useSliderDraggable.js +4 -7
  170. package/dist/esm/hooks/slider/useSliderDraggable.js.map +1 -0
  171. package/dist/{cjs/components/Slider → esm/hooks/slider}/useSliderNavigation.d.ts +5 -4
  172. package/dist/esm/{components/Slider → hooks/slider}/useSliderNavigation.js +8 -20
  173. package/dist/esm/hooks/slider/useSliderNavigation.js.map +1 -0
  174. package/dist/esm/hooks/slider/useSliderTransform.d.ts +31 -0
  175. package/dist/esm/{components/Slider → hooks/slider}/useSliderTransform.js +10 -15
  176. package/dist/esm/hooks/slider/useSliderTransform.js.map +1 -0
  177. package/dist/esm/hooks/useLocalStorage.js.map +1 -1
  178. package/dist/esm/index.d.ts +2 -2
  179. package/dist/esm/index.js +2 -2
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/esm/strings/en.js.map +1 -1
  182. package/dist/esm/subComponent/ToggleButton.js +1 -1
  183. package/dist/esm/subComponent/ToggleButton.js.map +1 -1
  184. package/dist/esm/subComponent/toggleBtnGroup/ToggleBtn.js +1 -1
  185. package/dist/esm/subComponent/toggleBtnGroup/ToggleBtn.js.map +1 -1
  186. package/dist/esm/subComponent/toggleBtnGroup/ToggleBtnGroup.js.map +1 -1
  187. package/dist/package.json +19 -1
  188. package/package.json +22 -2
  189. package/dist/cjs/components/Slider/SlickSlider.js.map +0 -1
  190. package/dist/cjs/components/Slider/useCenterMode.d.ts +0 -24
  191. package/dist/cjs/components/Slider/useCenterMode.js +0 -40
  192. package/dist/cjs/components/Slider/useCenterMode.js.map +0 -1
  193. package/dist/cjs/components/Slider/useSlider.js.map +0 -1
  194. package/dist/cjs/components/Slider/useSliderAutoPlay.js.map +0 -1
  195. package/dist/cjs/components/Slider/useSliderBreakpoint.d.ts +0 -23
  196. package/dist/cjs/components/Slider/useSliderBreakpoint.js +0 -92
  197. package/dist/cjs/components/Slider/useSliderBreakpoint.js.map +0 -1
  198. package/dist/cjs/components/Slider/useSliderDimension.js.map +0 -1
  199. package/dist/cjs/components/Slider/useSliderDraggable.js.map +0 -1
  200. package/dist/cjs/components/Slider/useSliderNavigation.js.map +0 -1
  201. package/dist/cjs/components/Slider/useSliderTransform.d.ts +0 -17
  202. package/dist/cjs/components/Slider/useSliderTransform.js.map +0 -1
  203. package/dist/cjs/helpers/app.js.map +0 -1
  204. package/dist/cjs/helpers/index.d.ts +0 -1
  205. package/dist/cjs/helpers/index.js +0 -5
  206. package/dist/cjs/helpers/index.js.map +0 -1
  207. package/dist/esm/components/Slider/SlickSlider.js.map +0 -1
  208. package/dist/esm/components/Slider/useCenterMode.d.ts +0 -24
  209. package/dist/esm/components/Slider/useCenterMode.js +0 -38
  210. package/dist/esm/components/Slider/useCenterMode.js.map +0 -1
  211. package/dist/esm/components/Slider/useSlider.js +0 -156
  212. package/dist/esm/components/Slider/useSlider.js.map +0 -1
  213. package/dist/esm/components/Slider/useSliderAutoPlay.js.map +0 -1
  214. package/dist/esm/components/Slider/useSliderBreakpoint.d.ts +0 -23
  215. package/dist/esm/components/Slider/useSliderBreakpoint.js +0 -90
  216. package/dist/esm/components/Slider/useSliderBreakpoint.js.map +0 -1
  217. package/dist/esm/components/Slider/useSliderDimension.js.map +0 -1
  218. package/dist/esm/components/Slider/useSliderDraggable.js.map +0 -1
  219. package/dist/esm/components/Slider/useSliderNavigation.js.map +0 -1
  220. package/dist/esm/components/Slider/useSliderTransform.d.ts +0 -17
  221. package/dist/esm/components/Slider/useSliderTransform.js.map +0 -1
  222. package/dist/esm/helpers/app.js.map +0 -1
  223. package/dist/esm/helpers/index.d.ts +0 -1
  224. package/dist/esm/helpers/index.js +0 -2
  225. package/dist/esm/helpers/index.js.map +0 -1
@@ -1,40 +1,46 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
2
4
  /**
3
5
  * -----------------------------------------------------------------------------
4
6
  * @file useSlider
5
7
  * -----------------------------------------------------------------------------
6
8
  *
9
+ * @description Add description here
10
+ *
11
+ * Features:
12
+ * - Calculates slider layout and dimensions
13
+ * - Handles next / previous slide navigation
14
+ * - Supports looping and indicators
15
+ * - Applies slide animations
16
+ * - Adds optional autoplay functionality
17
+ *
7
18
  * @description
8
19
  * Main hook that controls all slider behavior.
9
- *
10
20
  * This hook connects multiple smaller slider hooks and makes them work
11
21
  * together. It handles slide size calculation, navigation, animations,
12
- * autoplay, draggable interactions, breakpoint-based configuration,
13
- * and window resize updates.
14
- *
22
+ * autoplay, and window resize updates.
15
23
  * The UI layer only needs to use the values and functions returned from
16
24
  * this hook.
17
25
  *
18
26
  * -----------------------------------------------------------------------------
19
- * Copyright © 2025 BookingKoala. All rights reserved.
27
+ * Copyright © 2017-present BookingKoala. All rights reserved.
20
28
  * -----------------------------------------------------------------------------
21
29
  */
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- var tslib_1 = require("tslib");
24
30
  var react_1 = require("react");
25
- var Utils_1 = require("../../Utils");
26
31
  var useSliderAutoPlay_1 = tslib_1.__importDefault(require("./useSliderAutoPlay"));
32
+ var useSliderBreakpoints_1 = tslib_1.__importDefault(require("./useSliderBreakpoints"));
27
33
  var useSliderDimension_1 = tslib_1.__importDefault(require("./useSliderDimension"));
28
34
  var useSliderDraggable_1 = tslib_1.__importDefault(require("./useSliderDraggable"));
29
35
  var useSliderNavigation_1 = tslib_1.__importDefault(require("./useSliderNavigation"));
30
36
  var useSliderTransform_1 = tslib_1.__importDefault(require("./useSliderTransform"));
31
- var useSliderBreakpoint_1 = tslib_1.__importDefault(require("./useSliderBreakpoint"));
37
+ var Utils_1 = require("../../Utils");
32
38
  function useSlider(_a) {
33
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
34
- 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;
39
+ var _b;
40
+ var activeSlide = _a.activeSlide, animationConfig = _a.animationConfig, autoPlayConfig = _a.autoPlayConfig, breakpoints = _a.breakpoints, data = _a.data, draggable = _a.draggable, gap = _a.gap, loop = _a.loop, orientation = _a.orientation, slideToScroll = _a.slideToScroll, slideToShow = _a.slideToShow, totalSlides = _a.totalSlides;
41
+ // Exceed the activeSlide value to total slide then return a first.
35
42
  var activeSlideIndex = (0, react_1.useMemo)(function () { return (totalSlides > 0 && activeSlide >= totalSlides ? 0 : activeSlide); }, [activeSlide, totalSlides]);
36
- console.log('acaf', activeSlideIndex);
37
- var resolvedBreakpointConfig = (0, useSliderBreakpoint_1.default)({
43
+ var breakPoint = (0, useSliderBreakpoints_1.default)({
38
44
  breakpoints: breakpoints,
39
45
  config: {
40
46
  activeSlide: activeSlideIndex,
@@ -48,94 +54,82 @@ function useSlider(_a) {
48
54
  },
49
55
  });
50
56
  /**
51
- * Final resolved config:
52
- * base props act as defaults, breakpoint values override them.
53
- * The breakpoint hook returns the resolved config directly, which is initialized
54
- * correctly on mount and updates on resize.
57
+ * Creates an extended slides array to support seamless looping.
58
+ *
59
+ * - Prepends the last `slideToShow` slides to allow backward looping
60
+ * - Appends the full slides array to allow forward looping
61
+ * - Results in a continuous sequence that prevents visual gaps
62
+ * when transitioning across boundaries
63
+ *
64
+ * Example:
65
+ * data = [A, B, C, D]
66
+ * extendedSlides = [D, A, B, C, D, A, B, C, D] slideToShow = 1
67
+ * extendedSlides = [C,D, A, B, C, D, A, B, C, D] slideToShow = 2
55
68
  */
56
- var breakPointConfig = (0, react_1.useMemo)(function () { return (tslib_1.__assign({ activeSlide: activeSlideIndex + 1, animationConfig: animationConfig, autoPlayConfig: autoPlayConfig, draggable: draggable, gap: gap, loop: loop, slideToScroll: slideToScroll, slideToShow: slideToShow }, resolvedBreakpointConfig)); }, [
57
- activeSlideIndex,
58
- animationConfig,
59
- autoPlayConfig,
60
- draggable,
61
- gap,
62
- loop,
63
- slideToScroll,
64
- slideToShow,
65
- resolvedBreakpointConfig,
66
- ]);
67
- console.log(breakPointConfig);
69
+ var extendedSlides = (0, react_1.useMemo)(function () { return [data.slice(-(breakPoint === null || breakPoint === void 0 ? void 0 : breakPoint.slideToShow)), data, data].flat(); }, [data, breakPoint.slideToShow]);
70
+ // Refs
68
71
  var sliderWrapperRef = (0, react_1.useRef)(null);
69
72
  var sliderObjRefs = (0, react_1.useRef)({
70
73
  containerHeight: 0,
71
74
  containerWidth: 0,
72
75
  currentIndex: 0,
73
- drag: {
74
- isDragging: false,
75
- startX: 0,
76
- startY: 0,
77
- translate: 0,
78
- },
79
- isTransitionComplete: false,
76
+ drag: { isDragging: false, startX: 0, startY: 0, translate: 0 },
77
+ isTransitionComplete: false, // NOTE: added for the debounce case
80
78
  totalSlides: totalSlides,
81
79
  });
82
80
  var calculateDimensions = (0, useSliderDimension_1.default)({
83
- gap: (_b = breakPointConfig.gap) !== null && _b !== void 0 ? _b : 10,
81
+ gap: breakPoint.gap,
82
+ orientation: orientation,
84
83
  sliderObjRefs: sliderObjRefs,
85
84
  sliderWrapperRef: sliderWrapperRef,
86
- slideToShow: (_c = breakPointConfig.slideToShow) !== null && _c !== void 0 ? _c : 1,
87
- variant: variant,
85
+ slideToShow: breakPoint.slideToShow,
88
86
  }).calculateDimensions;
89
- var isAllSlidesVisible = (0, react_1.useMemo)(function () { var _a; return ((_a = breakPointConfig.slideToShow) !== null && _a !== void 0 ? _a : 1) >= sliderObjRefs.current.totalSlides; }, [breakPointConfig.slideToShow, totalSlides]);
90
- var _o = (0, useSliderTransform_1.default)({
91
- animationConfig: (_d = breakPointConfig.animationConfig) !== null && _d !== void 0 ? _d : animationConfig,
87
+ // Determine if all slides are visible at once (no navigation needed)
88
+ var isAllSlidesVisible = (0, react_1.useMemo)(function () { return breakPoint.slideToShow >= sliderObjRefs.current.totalSlides; }, [breakPoint.slideToShow, sliderObjRefs.current.totalSlides]);
89
+ // Hooks
90
+ var _c = (0, useSliderTransform_1.default)({
91
+ animationConfig: breakPoint.animationConfig,
92
92
  isAllSlidesVisible: isAllSlidesVisible,
93
- isRTLMode: isRTLMode,
93
+ orientation: orientation,
94
94
  sliderObjRefs: sliderObjRefs,
95
95
  sliderWrapperRef: sliderWrapperRef,
96
- slideToShow: (_e = breakPointConfig.slideToShow) !== null && _e !== void 0 ? _e : 1,
97
- variant: variant,
98
- }), applyTransform = _o.applyTransform, calculateTranslate = _o.calculateTranslate;
99
- var _p = (0, useSliderNavigation_1.default)({
100
- activeSlide: (_f = breakPointConfig.activeSlide) !== null && _f !== void 0 ? _f : 0,
96
+ slideToShow: breakPoint.slideToShow,
97
+ }), applyTransform = _c.applyTransform, calculateTranslate = _c.calculateTranslate;
98
+ var _d = (0, useSliderNavigation_1.default)({
99
+ activeSlide: breakPoint.activeSlide,
101
100
  applyTransform: applyTransform,
102
- loop: (_g = breakPointConfig.loop) !== null && _g !== void 0 ? _g : false,
101
+ loop: breakPoint.loop,
103
102
  sliderObjRefs: sliderObjRefs,
104
103
  sliderWrapperRef: sliderWrapperRef,
105
- slideToScroll: (_h = breakPointConfig.slideToScroll) !== null && _h !== void 0 ? _h : 1,
106
- slideToShow: (_j = breakPointConfig.slideToShow) !== null && _j !== void 0 ? _j : 1,
107
- speed: (_k = breakPointConfig.animationConfig) === null || _k === void 0 ? void 0 : _k.speed,
108
- }), getActiveIndicatorIndex = _p.getActiveIndicatorIndex, getIndicatorCount = _p.getIndicatorCount, goToSlideIndicator = _p.goToSlideIndicator, handleNextSlide = _p.handleNextSlide, handlePrevSlide = _p.handlePrevSlide, hasNextBtnDisabled = _p.hasNextBtnDisabled, hasPrevBtnDisabled = _p.hasPrevBtnDisabled;
104
+ slideToScroll: breakPoint.slideToScroll,
105
+ slideToShow: breakPoint.slideToShow,
106
+ speed: (_b = breakPoint.animationConfig) === null || _b === void 0 ? void 0 : _b.delay,
107
+ }), getActiveIndicatorIndex = _d.getActiveIndicatorIndex, getIndicatorCount = _d.getIndicatorCount, goToSlideIndicator = _d.goToSlideIndicator, handleNextSlide = _d.handleNextSlide, handlePrevSlide = _d.handlePrevSlide, hasNextBtnDisabled = _d.hasNextBtnDisabled, hasPrevBtnDisabled = _d.hasPrevBtnDisabled;
109
108
  (0, react_1.useEffect)(function () {
110
- var _a;
111
109
  calculateDimensions();
112
110
  Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.addEventListener('resize', calculateDimensions);
111
+ // Set initial slide position once container width is calculated.
113
112
  if (sliderObjRefs.current.containerWidth > 0 || sliderObjRefs.current.containerHeight > 0) {
114
- var index = (_a = breakPointConfig.activeSlide) !== null && _a !== void 0 ? _a : 0;
115
- applyTransform(index, false);
116
- sliderObjRefs.current.currentIndex = index;
113
+ applyTransform(breakPoint.activeSlide, false);
114
+ Object.assign(sliderObjRefs.current, { currentIndex: breakPoint.activeSlide });
117
115
  }
118
116
  return function () {
119
117
  Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.removeEventListener('resize', calculateDimensions);
120
118
  };
121
- }, [
122
- calculateDimensions,
123
- applyTransform,
124
- breakPointConfig.activeSlide,
125
- breakPointConfig.slideToShow,
126
- breakPointConfig.gap,
127
- ]);
119
+ }, [calculateDimensions, applyTransform, breakPoint.activeSlide]);
120
+ // Auto navigation hooks
128
121
  (0, useSliderAutoPlay_1.default)({
129
- autoPlayConfig: (_l = breakPointConfig.autoPlayConfig) !== null && _l !== void 0 ? _l : autoPlayConfig,
122
+ autoPlayConfig: breakPoint.autoPlayConfig,
130
123
  handleNextSlide: handleNextSlide,
131
124
  isAllSlidesVisible: isAllSlidesVisible,
132
- loop: (_m = breakPointConfig.loop) !== null && _m !== void 0 ? _m : false,
125
+ loop: breakPoint.loop,
133
126
  sliderWrapperRef: sliderWrapperRef,
134
127
  });
128
+ // Draggable Slide
135
129
  (0, useSliderDraggable_1.default)({
136
130
  applyTransform: applyTransform,
137
131
  calculateTranslate: calculateTranslate,
138
- draggable: breakPointConfig.draggable,
132
+ draggable: breakPoint === null || breakPoint === void 0 ? void 0 : breakPoint.draggable,
139
133
  handleNextSlide: handleNextSlide,
140
134
  handlePrevSlide: handlePrevSlide,
141
135
  hasNextBtnDisabled: hasNextBtnDisabled,
@@ -144,6 +138,7 @@ function useSlider(_a) {
144
138
  sliderWrapperRef: sliderWrapperRef,
145
139
  });
146
140
  return {
141
+ extendedSlides: extendedSlides,
147
142
  getActiveIndicatorIndex: getActiveIndicatorIndex,
148
143
  getIndicatorCount: getIndicatorCount,
149
144
  goToSlideIndicator: goToSlideIndicator,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSlider.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSlider.ts"],"names":[],"mappings":"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"}
@@ -17,17 +17,17 @@
17
17
  * @param handleNextSlide Callback invoked to move to the next slide
18
18
  *
19
19
  * -----------------------------------------------------------------------------
20
- * Copyright © 2026 BookingKoala. All rights reserved.
20
+ * Copyright © 2017-present BookingKoala. All rights reserved.
21
21
  * -----------------------------------------------------------------------------
22
22
  */
23
23
  import { type RefObject } from 'react';
24
- import { type SlickSliderAutoPlayConfig } from './SlickSlider';
25
- interface UseSlickSliderAutoplayProps {
24
+ import type { SlickSliderAutoPlayConfig } from '../../components/SlickSlider';
25
+ interface SlickSliderAutoplayProps {
26
26
  autoPlayConfig: SlickSliderAutoPlayConfig;
27
27
  handleNextSlide: () => void;
28
28
  isAllSlidesVisible: boolean;
29
29
  loop: boolean;
30
30
  sliderWrapperRef?: RefObject<HTMLDivElement | null>;
31
31
  }
32
- declare function useSliderAutoplay({ autoPlayConfig, handleNextSlide, isAllSlidesVisible, loop, }: Readonly<UseSlickSliderAutoplayProps>): void;
32
+ declare function useSliderAutoplay({ autoPlayConfig, handleNextSlide, isAllSlidesVisible, loop, }: Readonly<SlickSliderAutoplayProps>): void;
33
33
  export default useSliderAutoplay;
@@ -19,16 +19,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  * @param handleNextSlide Callback invoked to move to the next slide
20
20
  *
21
21
  * -----------------------------------------------------------------------------
22
- * Copyright © 2026 BookingKoala. All rights reserved.
22
+ * Copyright © 2017-present BookingKoala. All rights reserved.
23
23
  * -----------------------------------------------------------------------------
24
24
  */
25
25
  var react_1 = require("react");
26
+ var helper_1 = require("../../components/helper");
26
27
  var Utils_1 = require("../../Utils");
27
- var helpers_1 = require("../../helpers");
28
28
  function useSliderAutoplay(_a) {
29
29
  var autoPlayConfig = _a.autoPlayConfig, handleNextSlide = _a.handleNextSlide, isAllSlidesVisible = _a.isAllSlidesVisible, loop = _a.loop;
30
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;
31
+ var _b = (0, helper_1.destructObj)(autoPlayConfig), _c = _b.enable, enable = _c === void 0 ? false : _c, _d = _b.interval, interval = _d === void 0 ? 2000 : _d;
32
32
  // Refs
33
33
  var timerRef = (0, react_1.useRef)(null);
34
34
  /**
@@ -45,7 +45,7 @@ function useSliderAutoplay(_a) {
45
45
  }, [enable, interval, handleNextSlide]);
46
46
  /** Function stops the active autoplay interval and resets the timer reference. */
47
47
  var clearAutoplayTimer = (0, react_1.useCallback)(function () {
48
- if (!(0, helpers_1.isNullOrUndefined)(timerRef.current)) {
48
+ if (!(0, helper_1.isNullOrUndefined)(timerRef.current)) {
49
49
  Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.clearInterval(timerRef.current);
50
50
  timerRef.current = null;
51
51
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderAutoPlay.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSliderAutoPlay.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,+BAAuE;AACvE,kDAAyE;AAEzE,qCAAyC;AAUzC,SAAS,iBAAiB,CAAC,EAKU;QAJnC,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,kBAAkB,wBAAA,EAClB,IAAI,UAAA;IAEJ,iBAAiB;IACX,IAAA,KAAsC,IAAA,oBAAW,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;QAChC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QACxC,QAAQ,CAAC,OAAO,GAAG,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,WAAW,CAAC;YACzC,eAAe,EAAE,CAAC;QACpB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAExC,kFAAkF;IAClF,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC;QACrC,IAAI,CAAC,IAAA,0BAAiB,EAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,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;YACL,kBAAkB,EAAE,CAAC;YACrB,4CAA4C;YAC5C,mEAAmE;YACnE,8DAA8D;QAChE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * -----------------------------------------------------------------------------
3
+ * @file useSliderBreakpoint
4
+ * -----------------------------------------------------------------------------
5
+ *
6
+ * @description Resolves responsive slider configuration based on viewport width.
7
+ * Applies the first matching breakpoint over the base config and updates
8
+ * the result on window resize. Uses deep comparison to avoid unnecessary
9
+ * re-renders.
10
+ *
11
+ * -----------------------------------------------------------------------------
12
+ * Copyright © 2017-present BookingKoala. All rights reserved.
13
+ * -----------------------------------------------------------------------------
14
+ */
15
+ import type { SlickSliderAnimationConfig, SlickSliderAutoPlayConfig } from '../../components/SlickSlider';
16
+ export interface SlickSliderConfig {
17
+ activeSlide: number;
18
+ animationConfig: SlickSliderAnimationConfig;
19
+ autoPlayConfig: SlickSliderAutoPlayConfig;
20
+ breakpoint?: number;
21
+ draggable: {
22
+ dragThreshold?: number;
23
+ enableDrag?: boolean;
24
+ };
25
+ gap: number;
26
+ loop: boolean;
27
+ slideToScroll: number;
28
+ slideToShow: number;
29
+ }
30
+ export interface SliderBreakpointProps {
31
+ breakpoints?: SlickSliderConfig[];
32
+ config: SlickSliderConfig;
33
+ }
34
+ declare function useSliderBreakpoints({ breakpoints, config }: SliderBreakpointProps): SlickSliderConfig;
35
+ export default useSliderBreakpoints;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * -----------------------------------------------------------------------------
4
+ * @file useSliderBreakpoint
5
+ * -----------------------------------------------------------------------------
6
+ *
7
+ * @description Resolves responsive slider configuration based on viewport width.
8
+ * Applies the first matching breakpoint over the base config and updates
9
+ * the result on window resize. Uses deep comparison to avoid unnecessary
10
+ * re-renders.
11
+ *
12
+ * -----------------------------------------------------------------------------
13
+ * Copyright © 2017-present BookingKoala. All rights reserved.
14
+ * -----------------------------------------------------------------------------
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var tslib_1 = require("tslib");
18
+ var react_1 = require("react");
19
+ var helper_1 = require("../../components/helper");
20
+ var Utils_1 = require("../../Utils");
21
+ function useSliderBreakpoints(_a) {
22
+ var breakpoints = _a.breakpoints, config = _a.config;
23
+ // States
24
+ var _b = (0, react_1.useState)(config), sliderConfig = _b[0], setSliderConfig = _b[1];
25
+ // Hooks
26
+ (0, react_1.useEffect)(function () {
27
+ if ((0, helper_1.isObjectEmpty)(config)) {
28
+ setSliderConfig(config);
29
+ return undefined;
30
+ }
31
+ function resolveBreakpointConfig() {
32
+ var viewportWidth = Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.innerWidth;
33
+ // Find the first breakpoint that matches current viewport
34
+ var matchedBreakpoint = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.find(function (bp) { return viewportWidth && (bp === null || bp === void 0 ? void 0 : bp.breakpoint) && viewportWidth <= bp.breakpoint; });
35
+ // Merge base config with breakpoint overrides
36
+ return (0, helper_1.isObjectNotEmpty)(matchedBreakpoint) ? tslib_1.__assign(tslib_1.__assign({}, config), matchedBreakpoint) : config;
37
+ }
38
+ function updateConfig() {
39
+ var resolvedConfig = resolveBreakpointConfig();
40
+ // Avoid unnecessary updates
41
+ if (!(0, helper_1.deepCompareObjects)(sliderConfig, resolvedConfig)) {
42
+ setSliderConfig(resolvedConfig);
43
+ }
44
+ }
45
+ updateConfig();
46
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.addEventListener('resize', updateConfig);
47
+ return function () {
48
+ Utils_1.safeWindow === null || Utils_1.safeWindow === void 0 ? void 0 : Utils_1.safeWindow.removeEventListener('resize', updateConfig);
49
+ };
50
+ }, [config, breakpoints]);
51
+ return sliderConfig;
52
+ }
53
+ exports.default = useSliderBreakpoints;
54
+ //# sourceMappingURL=useSliderBreakpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderBreakpoints.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSliderBreakpoints.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,+BAA4C;AAC5C,kDAA8F;AAE9F,qCAAyC;AAqBzC,SAAS,oBAAoB,CAAC,EAA8C;QAA5C,WAAW,iBAAA,EAAE,MAAM,YAAA;IACjD,SAAS;IACH,IAAA,KAAkC,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAjD,YAAY,QAAA,EAAE,eAAe,QAAoB,CAAC;IAEzD,QAAQ;IACR,IAAA,iBAAS,EAAC;QACR,IAAI,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,SAAS,uBAAuB;YAC9B,IAAM,aAAa,GAAG,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,UAAU,CAAC;YAE7C,0DAA0D;YAC1D,IAAM,iBAAiB,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CACzC,UAAC,EAAE,IAAK,OAAA,aAAa,KAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAA,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,EAAjE,CAAiE,CAC1E,CAAC;YAEF,8CAA8C;YAC9C,OAAO,IAAA,yBAAgB,EAAC,iBAAiB,CAAC,CAAC,CAAC,uCAAM,MAAM,GAAK,iBAAiB,EAAG,CAAC,CAAC,MAAM,CAAC;QAC5F,CAAC;QAED,SAAS,YAAY;YACnB,IAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;YACjD,4BAA4B;YAC5B,IAAI,CAAC,IAAA,2BAAkB,EAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;gBACtD,eAAe,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,YAAY,EAAE,CAAC;QACf,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAErD,OAAO;YACL,kBAAU,aAAV,kBAAU,uBAAV,kBAAU,CAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
@@ -5,12 +5,10 @@
5
5
  *
6
6
  * @description React hook responsible for calculating and applying layout-related
7
7
  * dimensions for a flex-based slider.
8
- *
9
8
  * This hook dynamically computes:
10
9
  * - Slider container width
11
10
  * - Slide flex-basis based on the number of visible slides
12
11
  * - Gap between slides
13
- *
14
12
  * The calculated values are applied directly to the DOM and stored
15
13
  * in shared slider refs for use by other slider utilities.
16
14
  *
@@ -21,21 +19,22 @@
21
19
  * - Safe DOM access via refs
22
20
  *
23
21
  * NOTE: this loc update when we have add the custom styling. loc no.:-69
22
+ *
24
23
  * -----------------------------------------------------------------------------
25
- * Copyright © 2025 BookingKoala. All rights reserved.
24
+ * Copyright © 2017-present BookingKoala. All rights reserved.
26
25
  * -----------------------------------------------------------------------------
27
26
  */
28
- import { type RefObject } from 'react';
29
- import { type SlickSliderRefs } from './useSlider';
30
- export interface UseSlickSliderDimensionProps {
27
+ import { type MutableRefObject, type RefObject } from 'react';
28
+ import type { SlickSliderRefs } from './useSlider';
29
+ export interface SlickSliderDimensionProps {
31
30
  gap: number;
32
- sliderObjRefs: RefObject<SlickSliderRefs>;
31
+ orientation: 'horizontal' | 'vertical';
32
+ sliderObjRefs: MutableRefObject<SlickSliderRefs>;
33
33
  sliderWrapperRef: RefObject<HTMLDivElement | null>;
34
34
  slideToShow: number;
35
- variant: 'horizontal' | 'vertical';
36
35
  }
37
36
  interface SlickSliderDimensionsReturn {
38
37
  calculateDimensions: () => void;
39
38
  }
40
- declare function useSliderDimension({ gap, sliderObjRefs, sliderWrapperRef, slideToShow, variant, }: Readonly<UseSlickSliderDimensionProps>): SlickSliderDimensionsReturn;
39
+ declare function useSliderDimension({ gap, orientation, sliderObjRefs, sliderWrapperRef, slideToShow, }: Readonly<SlickSliderDimensionProps>): SlickSliderDimensionsReturn;
41
40
  export default useSliderDimension;
@@ -7,12 +7,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  *
8
8
  * @description React hook responsible for calculating and applying layout-related
9
9
  * dimensions for a flex-based slider.
10
- *
11
10
  * This hook dynamically computes:
12
11
  * - Slider container width
13
12
  * - Slide flex-basis based on the number of visible slides
14
13
  * - Gap between slides
15
- *
16
14
  * The calculated values are applied directly to the DOM and stored
17
15
  * in shared slider refs for use by other slider utilities.
18
16
  *
@@ -23,14 +21,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
21
  * - Safe DOM access via refs
24
22
  *
25
23
  * NOTE: this loc update when we have add the custom styling. loc no.:-69
24
+ *
26
25
  * -----------------------------------------------------------------------------
27
- * Copyright © 2025 BookingKoala. All rights reserved.
26
+ * Copyright © 2017-present BookingKoala. All rights reserved.
28
27
  * -----------------------------------------------------------------------------
29
28
  */
30
29
  var react_1 = require("react");
31
- var helpers_1 = require("../../helpers");
30
+ var helper_1 = require("../../components/helper");
32
31
  function useSliderDimension(_a) {
33
- var gap = _a.gap, sliderObjRefs = _a.sliderObjRefs, sliderWrapperRef = _a.sliderWrapperRef, slideToShow = _a.slideToShow, variant = _a.variant;
32
+ var gap = _a.gap, orientation = _a.orientation, sliderObjRefs = _a.sliderObjRefs, sliderWrapperRef = _a.sliderWrapperRef, slideToShow = _a.slideToShow;
34
33
  /**
35
34
  * Calculates and applies slide dimensions based on slider orientation.
36
35
  *
@@ -48,10 +47,8 @@ function useSliderDimension(_a) {
48
47
  */
49
48
  var calculateSlideDimensions = (0, react_1.useCallback)(function (_a) {
50
49
  var container = _a.container, rect = _a.rect;
51
- if (!sliderObjRefs.current)
52
- return;
53
50
  container.style.setProperty('gap', "".concat(gap, "px"));
54
- if (variant === 'vertical') {
51
+ if (orientation === 'vertical') {
55
52
  var verticalSlideHight = container.children[0].clientHeight + gap;
56
53
  Object.assign(sliderObjRefs.current, {
57
54
  containerHeight: verticalSlideHight,
@@ -69,10 +66,9 @@ function useSliderDimension(_a) {
69
66
  containerWidth: containerWidth + gap,
70
67
  });
71
68
  Array.from(container.children).forEach(function (element) {
72
- ;
73
69
  element.style.setProperty('flex', "0 0 ".concat(flexBasisPercent, "%"));
74
70
  });
75
- }, [gap, slideToShow, sliderObjRefs, variant]);
71
+ }, [gap, slideToShow, sliderObjRefs, orientation]);
76
72
  /**
77
73
  * Calculates and applies slider dimensions based on the current container size.
78
74
  * Safely accesses the slider container element, retrieves its bounding rectangle,
@@ -81,7 +77,7 @@ function useSliderDimension(_a) {
81
77
  */
82
78
  var calculateDimensions = (0, react_1.useCallback)(function () {
83
79
  var container = sliderWrapperRef.current;
84
- if ((0, helpers_1.isNullOrUndefined)(container))
80
+ if ((0, helper_1.isNullOrUndefined)(container))
85
81
  return;
86
82
  var rect = container.getBoundingClientRect();
87
83
  calculateSlideDimensions({ container: container, rect: rect });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderDimension.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSliderDimension.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,+BAA2E;AAC3E,kDAA4D;AAoB5D,SAAS,kBAAkB,CAAC,EAMU;QALpC,GAAG,SAAA,EACH,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,gBAAgB,sBAAA,EAChB,WAAW,iBAAA;IAEX;;;;;;;;;;;;;;OAcG;IACH,IAAM,wBAAwB,GAAG,IAAA,mBAAW,EAC1C,UAAC,EAAwC;YAAtC,SAAS,eAAA,EAAE,IAAI,UAAA;QAChB,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,UAAG,GAAG,OAAI,CAAC,CAAC;QAC/C,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;gBACnC,eAAe,EAAE,kBAAkB;aACpC,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;QACT,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;YACnC,cAAc,EAAE,cAAc,GAAG,GAAG;SACrC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,OAAO;YAC5C,OAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,cAAO,gBAAgB,MAAG,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAC/C,CAAC;IAEF;;;;;OAKG;IACH,IAAM,mBAAmB,GAAG,IAAA,mBAAW,EAAC;QACtC,IAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC3C,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC;YAAE,OAAO;QACzC,IAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC/C,wBAAwB,CAAC,EAAE,SAAS,WAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,mBAAmB,qBAAA,EAAE,CAAC;AACjC,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -5,7 +5,6 @@
5
5
  *
6
6
  * @description A custom React hook that enables pointer-based drag interactions
7
7
  * for the Slick slider component.
8
- *
9
8
  * Responsibilities:
10
9
  * - Attaches pointer event listeners to the slider container
11
10
  * - Tracks drag state and movement distance
@@ -13,19 +12,19 @@
13
12
  * - Determines swipe intent using a configurable threshold
14
13
  * - Triggers next/previous slide navigation based on drag direction
15
14
  * - Safely handles pointer cancellation and cleanup
16
- *
17
15
  * Behavior:
18
16
  * - Dragging is enabled only when `draggable.enableDrag` is true
19
17
  * - Horizontal movement controls slide navigation
20
18
  * - Transitions are suppressed during drag and restored on release
21
19
  * - Automatically cleans up listeners on unmount or ref changes
20
+ *
22
21
  * -----------------------------------------------------------------------------
23
- * Copyright © 2026 BookingKoala. All rights reserved.
22
+ * Copyright © 2017-present BookingKoala. All rights reserved.
24
23
  * -----------------------------------------------------------------------------
25
24
  */
26
- import { type RefObject } from 'react';
27
- import { SlickSliderRefs } from './useSlider';
28
- export interface UseSliderDraggableProps {
25
+ import { type MutableRefObject, type RefObject } from 'react';
26
+ import type { SlickSliderRefs } from './useSlider';
27
+ export interface SliderDraggableProps {
29
28
  applyTransform: (val: number, withTransition?: boolean, isRaw?: boolean) => void;
30
29
  calculateTranslate: (idx: number) => number;
31
30
  draggable?: {
@@ -36,8 +35,8 @@ export interface UseSliderDraggableProps {
36
35
  handlePrevSlide: () => void;
37
36
  hasNextBtnDisabled: () => boolean;
38
37
  hasPrevBtnDisabled: () => boolean;
39
- sliderObjRefs: RefObject<SlickSliderRefs>;
38
+ sliderObjRefs: MutableRefObject<SlickSliderRefs>;
40
39
  sliderWrapperRef: RefObject<HTMLDivElement | null>;
41
40
  }
42
- declare function useSliderDraggable({ applyTransform, calculateTranslate, draggable, handleNextSlide, handlePrevSlide, hasNextBtnDisabled, hasPrevBtnDisabled, sliderObjRefs, sliderWrapperRef, }: UseSliderDraggableProps): void;
41
+ declare function useSliderDraggable({ applyTransform, calculateTranslate, draggable, handleNextSlide, handlePrevSlide, hasNextBtnDisabled, hasPrevBtnDisabled, sliderObjRefs, sliderWrapperRef, }: SliderDraggableProps): void;
43
42
  export default useSliderDraggable;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  *
8
8
  * @description A custom React hook that enables pointer-based drag interactions
9
9
  * for the Slick slider component.
10
- *
11
10
  * Responsibilities:
12
11
  * - Attaches pointer event listeners to the slider container
13
12
  * - Tracks drag state and movement distance
@@ -15,27 +14,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
14
  * - Determines swipe intent using a configurable threshold
16
15
  * - Triggers next/previous slide navigation based on drag direction
17
16
  * - Safely handles pointer cancellation and cleanup
18
- *
19
17
  * Behavior:
20
18
  * - Dragging is enabled only when `draggable.enableDrag` is true
21
19
  * - Horizontal movement controls slide navigation
22
20
  * - Transitions are suppressed during drag and restored on release
23
21
  * - Automatically cleans up listeners on unmount or ref changes
22
+ *
24
23
  * -----------------------------------------------------------------------------
25
- * Copyright © 2026 BookingKoala. All rights reserved.
24
+ * Copyright © 2017-present BookingKoala. All rights reserved.
26
25
  * -----------------------------------------------------------------------------
27
26
  */
28
27
  var react_1 = require("react");
29
- var helpers_1 = require("../../helpers");
28
+ var helper_1 = require("../../components/helper");
30
29
  function useSliderDraggable(_a) {
31
30
  var applyTransform = _a.applyTransform, calculateTranslate = _a.calculateTranslate, draggable = _a.draggable, handleNextSlide = _a.handleNextSlide, handlePrevSlide = _a.handlePrevSlide, hasNextBtnDisabled = _a.hasNextBtnDisabled, hasPrevBtnDisabled = _a.hasPrevBtnDisabled, sliderObjRefs = _a.sliderObjRefs, sliderWrapperRef = _a.sliderWrapperRef;
32
31
  (0, react_1.useEffect)(function () {
33
- var _a = (0, helpers_1.destructObj)(draggable), _b = _a.dragThreshold, dragThreshold = _b === void 0 ? 200 : _b, _c = _a.enableDrag, enableDrag = _c === void 0 ? true : _c;
34
- if (!sliderObjRefs.current)
35
- return undefined;
36
- var _d = (0, helpers_1.destructObj)(sliderObjRefs.current), currentIndex = _d.currentIndex, drag = _d.drag;
32
+ var _a = (0, helper_1.destructObj)(draggable), _b = _a.dragThreshold, dragThreshold = _b === void 0 ? 200 : _b, _c = _a.enableDrag, enableDrag = _c === void 0 ? true : _c;
33
+ var _d = sliderObjRefs.current, currentIndex = _d.currentIndex, drag = _d.drag;
37
34
  var container = sliderWrapperRef.current;
38
- if (!enableDrag || (0, helpers_1.isNullOrUndefined)(container))
35
+ if (!enableDrag || (0, helper_1.isNullOrUndefined)(container))
39
36
  return undefined;
40
37
  /**
41
38
  * Handles the pointer down event to initiate a drag interaction.
@@ -44,7 +41,7 @@ function useSliderDraggable(_a) {
44
41
  * - Initializes drag state (start position and reset translate)
45
42
  */
46
43
  function handlePointerDown(event) {
47
- if ((0, helpers_1.isNullOrUndefined)(container))
44
+ if ((0, helper_1.isNullOrUndefined)(container))
48
45
  return;
49
46
  container.setPointerCapture(event.pointerId);
50
47
  Object.assign(drag, {
@@ -53,7 +50,7 @@ function useSliderDraggable(_a) {
53
50
  startY: event.clientY,
54
51
  translate: 0,
55
52
  });
56
- (0, helpers_1.preventDefault)(event);
53
+ (0, helper_1.preventDefault)(event);
57
54
  }
58
55
  /**
59
56
  * Handles pointer move events during an active drag gesture.
@@ -63,13 +60,13 @@ function useSliderDraggable(_a) {
63
60
  * - Applies a real-time transform without transition for smooth dragging
64
61
  */
65
62
  function handlePointerMove(event) {
66
- if ((0, helpers_1.isNullOrUndefined)(container) || !drag.isDragging)
63
+ if ((0, helper_1.isNullOrUndefined)(container) || !drag.isDragging)
67
64
  return;
68
65
  var delta = event.clientX - drag.startX;
69
66
  var base = calculateTranslate(currentIndex);
70
67
  Object.assign(drag, { translate: delta });
71
68
  applyTransform(delta + base, false, true);
72
- (0, helpers_1.preventDefault)(event);
69
+ (0, helper_1.preventDefault)(event);
73
70
  }
74
71
  /**
75
72
  * Handles the pointer up event to finalize a drag interaction.
@@ -79,7 +76,7 @@ function useSliderDraggable(_a) {
79
76
  * - Reverts to the current slide if the drag is insufficient or navigation is disabled
80
77
  */
81
78
  function handlePointerUp(event) {
82
- if ((0, helpers_1.isNullOrUndefined)(container) || !drag.isDragging)
79
+ if ((0, helper_1.isNullOrUndefined)(container) || !drag.isDragging)
83
80
  return;
84
81
  container.releasePointerCapture(event.pointerId);
85
82
  var translate = drag.translate;
@@ -107,7 +104,7 @@ function useSliderDraggable(_a) {
107
104
  * - Smoothly reverts the slider back to the current active slid.
108
105
  */
109
106
  function handlePointerCancel(event) {
110
- if ((0, helpers_1.isNullOrUndefined)(container) || !drag.isDragging)
107
+ if ((0, helper_1.isNullOrUndefined)(container) || !drag.isDragging)
111
108
  return;
112
109
  container.releasePointerCapture(event.pointerId);
113
110
  Object.assign(drag, { isDragging: false });
@@ -132,7 +129,7 @@ function useSliderDraggable(_a) {
132
129
  var touchActionAxis = 'pan-y';
133
130
  Object.assign(container.style, { touchAction: touchActionAxis });
134
131
  return function () {
135
- if ((0, helpers_1.isNullOrUndefined)(container))
132
+ if ((0, helper_1.isNullOrUndefined)(container))
136
133
  return;
137
134
  container.removeEventListener('pointerdown', handlePointerDown);
138
135
  container.removeEventListener('pointermove', handlePointerMove);