farm-react 1.0.9 → 1.0.11
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.
- package/dist/cjs/components/Button.d.ts +2 -1
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/Card.js +1 -1
- package/dist/cjs/components/Card.js.map +1 -1
- package/dist/cjs/components/SlickSlider.d.ts +77 -0
- package/dist/cjs/components/SlickSlider.js +184 -0
- package/dist/cjs/components/SlickSlider.js.map +1 -0
- package/dist/cjs/components/TextInput.d.ts +6 -5
- package/dist/cjs/components/TextInput.js.map +1 -1
- package/dist/cjs/hooks/slider/useSlider.d.ts +72 -0
- package/dist/cjs/hooks/slider/useSlider.js +153 -0
- package/dist/cjs/hooks/slider/useSlider.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/cjs/hooks/slider/useSliderAutoPlay.js +73 -0
- package/dist/cjs/hooks/slider/useSliderAutoPlay.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderBreakpoints.d.ts +35 -0
- package/dist/cjs/hooks/slider/useSliderBreakpoints.js +54 -0
- package/dist/cjs/hooks/slider/useSliderBreakpoints.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderDimension.d.ts +40 -0
- package/dist/cjs/hooks/slider/useSliderDimension.js +89 -0
- package/dist/cjs/hooks/slider/useSliderDimension.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderDraggable.d.ts +42 -0
- package/dist/cjs/hooks/slider/useSliderDraggable.js +143 -0
- package/dist/cjs/hooks/slider/useSliderDraggable.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderNavigation.d.ts +42 -0
- package/dist/cjs/hooks/slider/useSliderNavigation.js +124 -0
- package/dist/cjs/hooks/slider/useSliderNavigation.js.map +1 -0
- package/dist/cjs/hooks/slider/useSliderTransform.d.ts +31 -0
- package/dist/cjs/hooks/slider/useSliderTransform.js +66 -0
- package/dist/cjs/hooks/slider/useSliderTransform.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Button.d.ts +2 -1
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/Card.js +1 -1
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/components/SlickSlider.d.ts +77 -0
- package/dist/esm/components/SlickSlider.js +181 -0
- package/dist/esm/components/SlickSlider.js.map +1 -0
- package/dist/esm/components/TextInput.d.ts +6 -5
- package/dist/esm/components/TextInput.js.map +1 -1
- package/dist/esm/helpers.d.ts +1 -0
- package/dist/esm/helpers.js +2 -0
- package/dist/esm/helpers.js.map +1 -0
- package/dist/esm/hooks/slider/useSlider.d.ts +72 -0
- package/dist/esm/hooks/slider/useSlider.js +150 -0
- package/dist/esm/hooks/slider/useSlider.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/esm/hooks/slider/useSliderAutoPlay.js +71 -0
- package/dist/esm/hooks/slider/useSliderAutoPlay.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderBreakpoints.d.ts +35 -0
- package/dist/esm/hooks/slider/useSliderBreakpoints.js +52 -0
- package/dist/esm/hooks/slider/useSliderBreakpoints.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderDimension.d.ts +40 -0
- package/dist/esm/hooks/slider/useSliderDimension.js +87 -0
- package/dist/esm/hooks/slider/useSliderDimension.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderDraggable.d.ts +42 -0
- package/dist/esm/hooks/slider/useSliderDraggable.js +141 -0
- package/dist/esm/hooks/slider/useSliderDraggable.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderNavigation.d.ts +42 -0
- package/dist/esm/hooks/slider/useSliderNavigation.js +122 -0
- package/dist/esm/hooks/slider/useSliderNavigation.js.map +1 -0
- package/dist/esm/hooks/slider/useSliderTransform.d.ts +31 -0
- package/dist/esm/hooks/slider/useSliderTransform.js +64 -0
- package/dist/esm/hooks/slider/useSliderTransform.js.map +1 -0
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/package.json +14 -1
- package/package.json +15 -2
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
* @file useSliderNavigation
|
|
6
|
+
* -----------------------------------------------------------------------------
|
|
7
|
+
*
|
|
8
|
+
* @description This hook is responsible for handling all slider navigation logic.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Handles next slide navigation
|
|
12
|
+
* - Handles previous slide navigation
|
|
13
|
+
* - Controls next button disabled state
|
|
14
|
+
* - Controls previous button disabled state
|
|
15
|
+
* - Provides the active indicator index
|
|
16
|
+
* - Calculates the total number of indicators
|
|
17
|
+
*
|
|
18
|
+
* -----------------------------------------------------------------------------
|
|
19
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
20
|
+
* -----------------------------------------------------------------------------
|
|
21
|
+
*/
|
|
22
|
+
var react_1 = require("react");
|
|
23
|
+
// this string used for the navigate with throttle
|
|
24
|
+
var ctrlBtnString = 'ctrlBtn';
|
|
25
|
+
function useSliderNavigation(_a) {
|
|
26
|
+
var activeSlide = _a.activeSlide, applyTransform = _a.applyTransform, loop = _a.loop, sliderObjRefs = _a.sliderObjRefs, slideToScroll = _a.slideToScroll, slideToShow = _a.slideToShow, _b = _a.speed, speed = _b === void 0 ? 500 : _b;
|
|
27
|
+
// State
|
|
28
|
+
var _c = (0, react_1.useState)(activeSlide), currentSlideIndex = _c[0], setCurrentSlideIndex = _c[1];
|
|
29
|
+
/**
|
|
30
|
+
* Calculates the currently active indicator index based on slide position.
|
|
31
|
+
*/
|
|
32
|
+
var getActiveIndicatorIndex = (0, react_1.useCallback)(function () { return Math.ceil(currentSlideIndex / slideToScroll); }, [currentSlideIndex, slideToScroll]);
|
|
33
|
+
/**
|
|
34
|
+
* Computes the total number of indicators required for the slider.
|
|
35
|
+
*/
|
|
36
|
+
var getIndicatorCount = (0, react_1.useCallback)(function () {
|
|
37
|
+
var totalSlides = sliderObjRefs.current.totalSlides;
|
|
38
|
+
return Math.max(1, Math.ceil(totalSlides / slideToScroll));
|
|
39
|
+
}, [sliderObjRefs, slideToScroll]);
|
|
40
|
+
/**
|
|
41
|
+
* Moves the slider to a given slide index.
|
|
42
|
+
* - Stops execution if a slide animation is already running and the action
|
|
43
|
+
* was triggered by next/prev buttons (prevents rapid clicks).
|
|
44
|
+
* - Updates internal state and refs to point to the target slide.
|
|
45
|
+
* - Applies a smooth transition to move the slider.
|
|
46
|
+
* - If looping is disabled:
|
|
47
|
+
* - Finishes after the animation and exits.
|
|
48
|
+
*
|
|
49
|
+
* - If looping is enabled (infinite slider):
|
|
50
|
+
* - Waits for the animation to finish.
|
|
51
|
+
* - Adjusts the slide index so it stays within valid bounds.
|
|
52
|
+
* - Instantly moves the slider (without animation) to the corrected position.
|
|
53
|
+
* - Updates internal state and refs.
|
|
54
|
+
*
|
|
55
|
+
* This logic creates a smooth infinite scrolling effect.
|
|
56
|
+
*/
|
|
57
|
+
var gotoSlideItem = (0, react_1.useCallback)(function (targetIndex, type) {
|
|
58
|
+
var _a = sliderObjRefs.current, isTransitionComplete = _a.isTransitionComplete, totalSlides = _a.totalSlides;
|
|
59
|
+
if (isTransitionComplete && type === 'ctrlBtn')
|
|
60
|
+
return;
|
|
61
|
+
Object.assign(sliderObjRefs.current, { currentIndex: targetIndex, isTransitionComplete: true });
|
|
62
|
+
setCurrentSlideIndex(targetIndex);
|
|
63
|
+
applyTransform(targetIndex, true);
|
|
64
|
+
if (!loop) {
|
|
65
|
+
Object.assign(sliderObjRefs.current, { isTransitionComplete: false });
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
setTimeout(function () {
|
|
69
|
+
var currentIndex = sliderObjRefs.current.currentIndex;
|
|
70
|
+
var loopedIndex = ((currentIndex % totalSlides) + totalSlides) % totalSlides;
|
|
71
|
+
var finalIndex = Math.min(loopedIndex, totalSlides);
|
|
72
|
+
applyTransform(finalIndex, false);
|
|
73
|
+
Object.assign(sliderObjRefs.current, { currentIndex: finalIndex, isTransitionComplete: false });
|
|
74
|
+
setCurrentSlideIndex(finalIndex);
|
|
75
|
+
}, speed);
|
|
76
|
+
}, [sliderObjRefs, setCurrentSlideIndex, applyTransform, loop, speed]);
|
|
77
|
+
/** Navigates to a slide based on indicator (dot) index. */
|
|
78
|
+
var goToSlideIndicator = (0, react_1.useCallback)(function (indicatorIndex) {
|
|
79
|
+
var targetSlideIndex = indicatorIndex * slideToScroll;
|
|
80
|
+
gotoSlideItem(targetSlideIndex);
|
|
81
|
+
}, [slideToScroll, gotoSlideItem]);
|
|
82
|
+
/** Function responsible for handling the next slide. */
|
|
83
|
+
var handleNextSlide = (0, react_1.useCallback)(function () {
|
|
84
|
+
var currentIdx = sliderObjRefs.current.currentIndex;
|
|
85
|
+
var nextIndex = currentIdx + slideToScroll;
|
|
86
|
+
gotoSlideItem(nextIndex, ctrlBtnString);
|
|
87
|
+
}, [gotoSlideItem, sliderObjRefs, slideToScroll]);
|
|
88
|
+
/** Function responsible for handling the prev slide. */
|
|
89
|
+
var handlePrevSlide = (0, react_1.useCallback)(function () {
|
|
90
|
+
var currentIdx = sliderObjRefs.current.currentIndex;
|
|
91
|
+
var prevIndex = currentIdx - slideToScroll;
|
|
92
|
+
gotoSlideItem(prevIndex, ctrlBtnString);
|
|
93
|
+
}, [gotoSlideItem, sliderObjRefs, slideToScroll]);
|
|
94
|
+
/**
|
|
95
|
+
* function determines whether the slider can navigate to the next set of slides.
|
|
96
|
+
* Always returns true when looping is enabled.
|
|
97
|
+
*/
|
|
98
|
+
var hasNextBtnDisabled = (0, react_1.useCallback)(function () {
|
|
99
|
+
if (loop)
|
|
100
|
+
return false;
|
|
101
|
+
var totalSlides = sliderObjRefs.current.totalSlides;
|
|
102
|
+
return currentSlideIndex >= totalSlides - slideToShow;
|
|
103
|
+
}, [currentSlideIndex, slideToShow, sliderObjRefs, loop]);
|
|
104
|
+
/**
|
|
105
|
+
* function determines whether the slider can navigate to the previous set of slides.
|
|
106
|
+
* Always returns true when looping is enabled.
|
|
107
|
+
*/
|
|
108
|
+
var hasPrevBtnDisabled = (0, react_1.useCallback)(function () {
|
|
109
|
+
if (loop)
|
|
110
|
+
return false;
|
|
111
|
+
return currentSlideIndex <= 0;
|
|
112
|
+
}, [currentSlideIndex, loop]);
|
|
113
|
+
return {
|
|
114
|
+
getActiveIndicatorIndex: getActiveIndicatorIndex,
|
|
115
|
+
getIndicatorCount: getIndicatorCount,
|
|
116
|
+
goToSlideIndicator: goToSlideIndicator,
|
|
117
|
+
handleNextSlide: handleNextSlide,
|
|
118
|
+
handlePrevSlide: handlePrevSlide,
|
|
119
|
+
hasNextBtnDisabled: hasNextBtnDisabled,
|
|
120
|
+
hasPrevBtnDisabled: hasPrevBtnDisabled,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
exports.default = useSliderNavigation;
|
|
124
|
+
//# sourceMappingURL=useSliderNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSliderNavigation.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSliderNavigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* -----------------------------------------------------------------------------
|
|
3
|
+
* @file useSliderTransform
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
*
|
|
6
|
+
* @description Hooks responsible for adding the Transition effect on Slider.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Calculate the slider transited value according to slideToShow item.
|
|
10
|
+
*
|
|
11
|
+
* -----------------------------------------------------------------------------
|
|
12
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
13
|
+
* -----------------------------------------------------------------------------
|
|
14
|
+
*/
|
|
15
|
+
import { type MutableRefObject, type RefObject } from 'react';
|
|
16
|
+
import type { SlickSliderAnimationConfig } from '../../components/SlickSlider';
|
|
17
|
+
import type { SlickSliderRefs } from './useSlider';
|
|
18
|
+
interface SlickSliderTransformProps {
|
|
19
|
+
animationConfig: SlickSliderAnimationConfig;
|
|
20
|
+
isAllSlidesVisible: boolean;
|
|
21
|
+
orientation: 'horizontal' | 'vertical';
|
|
22
|
+
sliderObjRefs: MutableRefObject<SlickSliderRefs>;
|
|
23
|
+
sliderWrapperRef: RefObject<HTMLDivElement | null>;
|
|
24
|
+
slideToShow: number;
|
|
25
|
+
}
|
|
26
|
+
interface SlickSliderTransformReturn {
|
|
27
|
+
applyTransform: (indexOrTranslate: number, withTransition?: boolean, isMouseMoving?: boolean) => void;
|
|
28
|
+
calculateTranslate: (indexOrTranslate: number) => number;
|
|
29
|
+
}
|
|
30
|
+
declare function useSliderTransform({ animationConfig, isAllSlidesVisible, orientation, sliderObjRefs, sliderWrapperRef, slideToShow, }: Readonly<SlickSliderTransformProps>): SlickSliderTransformReturn;
|
|
31
|
+
export default useSliderTransform;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
* @file useSliderTransform
|
|
6
|
+
* -----------------------------------------------------------------------------
|
|
7
|
+
*
|
|
8
|
+
* @description Hooks responsible for adding the Transition effect on Slider.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Calculate the slider transited value according to slideToShow item.
|
|
12
|
+
*
|
|
13
|
+
* -----------------------------------------------------------------------------
|
|
14
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
15
|
+
* -----------------------------------------------------------------------------
|
|
16
|
+
*/
|
|
17
|
+
var react_1 = require("react");
|
|
18
|
+
var helpers_1 = require("../../helpers");
|
|
19
|
+
function useSliderTransform(_a) {
|
|
20
|
+
var animationConfig = _a.animationConfig, isAllSlidesVisible = _a.isAllSlidesVisible, orientation = _a.orientation, sliderObjRefs = _a.sliderObjRefs, sliderWrapperRef = _a.sliderWrapperRef, slideToShow = _a.slideToShow;
|
|
21
|
+
// Constant
|
|
22
|
+
var isVertical = orientation === 'vertical';
|
|
23
|
+
// Destruct props
|
|
24
|
+
var _b = (0, helpers_1.destructObj)(animationConfig), _c = _b.delay, delay = _c === void 0 ? 500 : _c, _d = _b.easing, easing = _d === void 0 ? 'ease' : _d;
|
|
25
|
+
/**
|
|
26
|
+
* Calculates how much the slider track should move when the slide changes.
|
|
27
|
+
* We add slideToShow to the index because extra (cloned) slides are added
|
|
28
|
+
* at the start for looping, so the real position shifts.
|
|
29
|
+
*
|
|
30
|
+
* - If the slider is vertical, the movement is calculated using slide height.
|
|
31
|
+
* - If the slider is horizontal, the movement is calculated using slide width.
|
|
32
|
+
*
|
|
33
|
+
* The returned value is negative because the track moves in the opposite
|
|
34
|
+
* direction of the slide change.
|
|
35
|
+
*/
|
|
36
|
+
var calculateTranslate = (0, react_1.useCallback)(function (index) {
|
|
37
|
+
var _a = sliderObjRefs.current, _b = _a.containerHeight, containerHeight = _b === void 0 ? 0 : _b, _c = _a.containerWidth, containerWidth = _c === void 0 ? 0 : _c;
|
|
38
|
+
var extendedIndex = index + slideToShow;
|
|
39
|
+
if (isVertical) {
|
|
40
|
+
return -extendedIndex * containerHeight;
|
|
41
|
+
}
|
|
42
|
+
var slideWidth = containerWidth / slideToShow;
|
|
43
|
+
return -extendedIndex * slideWidth;
|
|
44
|
+
}, [orientation, slideToShow, sliderObjRefs]);
|
|
45
|
+
/**
|
|
46
|
+
* Applies translateX (or raw value) to the slider container,
|
|
47
|
+
* with optional transition handling.
|
|
48
|
+
*/
|
|
49
|
+
var applyTransform = (0, react_1.useCallback)(function (indexOrTranslate, withTransition, isMouseMoving) {
|
|
50
|
+
if (withTransition === void 0) { withTransition = true; }
|
|
51
|
+
if (isMouseMoving === void 0) { isMouseMoving = false; }
|
|
52
|
+
var container = sliderWrapperRef.current;
|
|
53
|
+
if ((0, helpers_1.isNullOrUndefined)(container) || isAllSlidesVisible)
|
|
54
|
+
return;
|
|
55
|
+
var translatedValue = isMouseMoving ? indexOrTranslate : calculateTranslate(indexOrTranslate);
|
|
56
|
+
var axisX = isVertical ? 0 : translatedValue;
|
|
57
|
+
var axisY = isVertical ? translatedValue : 0;
|
|
58
|
+
Object.assign(container.style, {
|
|
59
|
+
transform: isVertical ? "translate3d(0,".concat(axisY, "px, 0)") : "translate3d(".concat(axisX, "px, 0, 0)"),
|
|
60
|
+
transition: withTransition ? "transform ".concat(delay, "ms ").concat(easing) : 'none',
|
|
61
|
+
});
|
|
62
|
+
}, [calculateTranslate, sliderWrapperRef, delay, easing, isAllSlidesVisible]);
|
|
63
|
+
return { applyTransform: applyTransform, calculateTranslate: calculateTranslate };
|
|
64
|
+
}
|
|
65
|
+
exports.default = useSliderTransform;
|
|
66
|
+
//# sourceMappingURL=useSliderTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSliderTransform.js","sourceRoot":"","sources":["../../../../src/hooks/slider/useSliderTransform.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;GAaG;AACH,+BAA0E;AAC1E,yCAA8D;AAmB9D,SAAS,kBAAkB,CAAC,EAOU;QANpC,eAAe,qBAAA,EACf,kBAAkB,wBAAA,EAClB,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,gBAAgB,sBAAA,EAChB,WAAW,iBAAA;IAEX,WAAW;IACX,IAAM,UAAU,GAAY,WAAW,KAAK,UAAU,CAAA;IAEtD,iBAAiB;IACX,IAAA,KAAmC,IAAA,qBAAW,EAAC,eAAe,CAAC,EAA7D,aAAW,EAAX,KAAK,mBAAG,GAAG,KAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAiC,CAAA;IAErE;;;;;;;;;;OAUG;IACH,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,UAAC,KAAa;QACN,IAAA,KAA8C,aAAa,CAAC,OAAO,EAAjE,uBAAmB,EAAnB,eAAe,mBAAG,CAAC,KAAA,EAAE,sBAAkB,EAAlB,cAAc,mBAAG,CAAC,KAA0B,CAAA;QACzE,IAAM,aAAa,GAAG,KAAK,GAAG,WAAW,CAAA;QAEzC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,aAAa,GAAG,eAAe,CAAA;QACzC,CAAC;QACD,IAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAA;QAE/C,OAAO,CAAC,aAAa,GAAG,UAAU,CAAA;IACpC,CAAC,EACD,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAC1C,CAAA;IAED;;;OAGG;IACH,IAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,UAAC,gBAAwB,EAAE,cAAqB,EAAE,aAAqB;QAA5C,+BAAA,EAAA,qBAAqB;QAAE,8BAAA,EAAA,qBAAqB;QACrE,IAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAA;QAC1C,IAAI,IAAA,2BAAiB,EAAC,SAAS,CAAC,IAAI,kBAAkB;YAAE,OAAM;QAC9D,IAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAC/F,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;QAC9C,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;YAC7B,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,wBAAiB,KAAK,WAAQ,CAAC,CAAC,CAAC,sBAAe,KAAK,cAAW;YACxF,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,oBAAa,KAAK,gBAAM,MAAM,CAAE,CAAC,CAAC,CAAC,MAAM;SACvE,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAC1E,CAAA;IAED,OAAO,EAAE,cAAc,gBAAA,EAAE,kBAAkB,oBAAA,EAAE,CAAA;AAC/C,CAAC;AAED,kBAAe,kBAAkB,CAAA"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as helper from './helpers/app';
|
|
1
2
|
export { default as Accordion, type AccordionProps } from './components/Accordion';
|
|
2
3
|
export { default as Alert, type AlertProps } from './components/Alert';
|
|
3
4
|
export { default as Badge, type BadgeProps } from './components/Badge';
|
|
@@ -13,7 +14,7 @@ export { default as TextInput, type TextInputProps } from './components/TextInpu
|
|
|
13
14
|
export { default as NumberInput, type NumberInputProps } from './components/NumberInput';
|
|
14
15
|
export { default as Dropdown, type DropdownProps } from './components/Dropdown';
|
|
15
16
|
export { default as MultiCheckbox, type MultiCheckboxProps } from './components/MultiCheckbox';
|
|
16
|
-
export { default as SlickSlider, type SlickSliderProps, type SlickSliderDataProps
|
|
17
|
+
export { default as SlickSlider, type SlickSliderProps, type SlickSliderDataProps } from './components/SlickSlider';
|
|
17
18
|
export { default as MultiRadio, type MultiRadioProps } from './components/MultiRadio';
|
|
18
19
|
export { default as SkeletonLoader, type SkeletonLoaderProps } from './components/SkeletonLoader';
|
|
19
20
|
export { default as ThreeDotsLoader, type ThreeDotsLoaderProps } from './components/ThreeDotsLoader';
|
|
@@ -21,3 +22,4 @@ export { default as RangeSlider, type RangeSliderProps } from './components/Rang
|
|
|
21
22
|
export { default as RadioButtonGroup, type RadioButtonGroupProps } from './components/RadioButtonGroup';
|
|
22
23
|
export { default as Tooltip, type TooltipProps } from './components/Tooltip';
|
|
23
24
|
export { default as Search, type SearchProps } from './components/Search';
|
|
25
|
+
export { helper };
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Search = exports.Tooltip = exports.RadioButtonGroup = exports.RangeSlider = exports.ThreeDotsLoader = exports.SkeletonLoader = exports.MultiRadio = exports.SlickSlider = exports.MultiCheckbox = exports.Dropdown = exports.NumberInput = exports.TextInput = exports.Radio = exports.Checkbox = exports.Select = exports.ConfirmPoup = exports.Card = exports.Label = exports.Button = exports.BrokenPage = exports.Badge = exports.Alert = exports.Accordion = void 0;
|
|
3
|
+
exports.helper = exports.Search = exports.Tooltip = exports.RadioButtonGroup = exports.RangeSlider = exports.ThreeDotsLoader = exports.SkeletonLoader = exports.MultiRadio = exports.SlickSlider = exports.MultiCheckbox = exports.Dropdown = exports.NumberInput = exports.TextInput = exports.Radio = exports.Checkbox = exports.Select = exports.ConfirmPoup = exports.Card = exports.Label = exports.Button = exports.BrokenPage = exports.Badge = exports.Alert = exports.Accordion = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var helper = tslib_1.__importStar(require("./helpers/app"));
|
|
6
|
+
exports.helper = helper;
|
|
5
7
|
var Accordion_1 = require("./components/Accordion");
|
|
6
8
|
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return tslib_1.__importDefault(Accordion_1).default; } });
|
|
7
9
|
var Alert_1 = require("./components/Alert");
|
|
@@ -32,7 +34,7 @@ var Dropdown_1 = require("./components/Dropdown");
|
|
|
32
34
|
Object.defineProperty(exports, "Dropdown", { enumerable: true, get: function () { return tslib_1.__importDefault(Dropdown_1).default; } });
|
|
33
35
|
var MultiCheckbox_1 = require("./components/MultiCheckbox");
|
|
34
36
|
Object.defineProperty(exports, "MultiCheckbox", { enumerable: true, get: function () { return tslib_1.__importDefault(MultiCheckbox_1).default; } });
|
|
35
|
-
var SlickSlider_1 = require("./components/
|
|
37
|
+
var SlickSlider_1 = require("./components/SlickSlider");
|
|
36
38
|
Object.defineProperty(exports, "SlickSlider", { enumerable: true, get: function () { return tslib_1.__importDefault(SlickSlider_1).default; } });
|
|
37
39
|
var MultiRadio_1 = require("./components/MultiRadio");
|
|
38
40
|
Object.defineProperty(exports, "MultiRadio", { enumerable: true, get: function () { return tslib_1.__importDefault(MultiRadio_1).default; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAkF;AAAzE,+HAAA,OAAO,OAAa;AAC7B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,sDAAwG;AAA/F,iIAAA,OAAO,OAAc;AAC9B,8CAAyE;AAAhE,yHAAA,OAAO,OAAU;AAC1B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,0CAAmE;AAA1D,qHAAA,OAAO,OAAQ;AACxB,wDAAwF;AAA/E,mIAAA,OAAO,OAAe;AAC/B,8CAAyE;AAAhE,yHAAA,OAAO,OAAU;AAC1B,kDAA+E;AAAtE,6HAAA,OAAO,OAAY;AAC5B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,oDAAkF;AAAzE,+HAAA,OAAO,OAAa;AAC7B,wDAAwF;AAA/E,mIAAA,OAAO,OAAe;AAC/B,kDAA+E;AAAtE,6HAAA,OAAO,OAAY;AAC5B,4DAA8F;AAArF,uIAAA,OAAO,OAAiB;AACjC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,4DAAuC;AAwB9B,wBAAM;AAvBf,oDAAkF;AAAzE,+HAAA,OAAO,OAAa;AAC7B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,sDAAwG;AAA/F,iIAAA,OAAO,OAAc;AAC9B,8CAAyE;AAAhE,yHAAA,OAAO,OAAU;AAC1B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,0CAAmE;AAA1D,qHAAA,OAAO,OAAQ;AACxB,wDAAwF;AAA/E,mIAAA,OAAO,OAAe;AAC/B,8CAAyE;AAAhE,yHAAA,OAAO,OAAU;AAC1B,kDAA+E;AAAtE,6HAAA,OAAO,OAAY;AAC5B,4CAAsE;AAA7D,uHAAA,OAAO,OAAS;AACzB,oDAAkF;AAAzE,+HAAA,OAAO,OAAa;AAC7B,wDAAwF;AAA/E,mIAAA,OAAO,OAAe;AAC/B,kDAA+E;AAAtE,6HAAA,OAAO,OAAY;AAC5B,4DAA8F;AAArF,uIAAA,OAAO,OAAiB;AACjC,wDAAmH;AAA1G,mIAAA,OAAO,OAAe;AAC/B,sDAAqF;AAA5E,iIAAA,OAAO,OAAc;AAC9B,8DAAiG;AAAxF,yIAAA,OAAO,OAAkB;AAClC,gEAAoG;AAA3F,2IAAA,OAAO,OAAmB;AACnC,wDAAwF;AAA/E,mIAAA,OAAO,OAAe;AAC/B,kEAAuG;AAA9F,6IAAA,OAAO,OAAoB;AACpC,gDAA4E;AAAnE,2HAAA,OAAO,OAAW;AAC3B,8CAAyE;AAAhE,yHAAA,OAAO,OAAU"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
import { ButtonProps as BSButtonProps } from 'react-bootstrap';
|
|
2
3
|
interface Classnames {
|
|
3
4
|
button?: string;
|
|
4
5
|
icon?: string;
|
|
@@ -11,7 +12,7 @@ interface Attributes {
|
|
|
11
12
|
spinner?: object;
|
|
12
13
|
label?: object;
|
|
13
14
|
}
|
|
14
|
-
export interface ButtonProps {
|
|
15
|
+
export interface ButtonProps extends BSButtonProps {
|
|
15
16
|
variant?: 'primary' | 'secondary' | 'transparent' | 'success' | 'danger' | 'warning' | 'info' | 'white' | 'outline-primary' | 'outline-secondary' | 'outline-success' | 'outline-danger' | 'outline-warning' | 'outline-info' | 'ghost';
|
|
16
17
|
size?: 'sm' | 'lg';
|
|
17
18
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAA4C,MAAM,OAAO,CAAA;AAChE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -66,7 +66,7 @@ function Card(_a) {
|
|
|
66
66
|
? renderHeader()
|
|
67
67
|
: (headerProps === null || headerProps === void 0 ? void 0 : headerProps.content) && React.createElement(BSCard.Header, { className: classnames.header }, headerProps.content),
|
|
68
68
|
(imgProps === null || imgProps === void 0 ? void 0 : imgProps.src) && React.createElement(CardImg, __assign({}, imgProps, { className: classnames.image })),
|
|
69
|
-
React.createElement(BSCard.Body, __assign({ className: classnames.body }, bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.cardBodyProps),
|
|
69
|
+
renderBody ? (renderBody()) : (React.createElement(BSCard.Body, __assign({ className: classnames.body }, bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.cardBodyProps), renderBodySequence(bodyProps, bodySeq, classnames) || children)),
|
|
70
70
|
renderFooter
|
|
71
71
|
? renderFooter()
|
|
72
72
|
: (footerProps === null || footerProps === void 0 ? void 0 : footerProps.content) && React.createElement(BSCard.Footer, { className: classnames.footer }, footerProps.content)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAuC,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,IAAI,IAAI,MAAM,EAA4B,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAmFnF,8DAA8D;AAC9D,SAAS,IAAI,CAAC,EAcF;IAbV,IAAA,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,SAAS,eAAA,EACT,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,GAAG,SAAA,EACA,IAAI,cAbK,8JAcb,CADQ;IAEP,2CAA2C;IAC3C,SAAS,kBAAkB,CAAC,SAAyB,EAAE,GAAiB,EAAE,UAA+B;QAA/B,2BAAA,EAAA,eAA+B;QACvG,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAEjC,IAAM,SAAS,GAKb,UAAU,KALG,EACL,aAAa,GAIrB,UAAU,SAJW,EACjB,SAAS,GAGb,UAAU,KAHG,EACR,UAAU,GAEf,UAAU,MAFK,EACT,WAAW,GACjB,UAAU,OADO,CACP;QACd,OAAO,GAAG,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;YACrB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBACV,OAAO,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;gBAClD,KAAK,UAAU;oBACb,OAAO,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;gBACxD,KAAK,MAAM;oBACT,OAAO,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;gBAChD,KAAK,MAAM;oBACT,OAAO,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;gBACjD,KAAK,QAAQ;oBACX,OAAO,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;gBACpD;oBACE,OAAO,IAAI,CAAA;YACf,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,SAAoC,EAAE,SAA6B,EAAE,CAAS;QACrG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAA;YAAE,OAAO,IAAI,CAAA;QACtC,IAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,CAAA;QACzC,OAAO,CACL,oBAAC,MAAM,CAAC,IAAI,aAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAM,SAAS,CAAC,SAAS,GACxE,SAAS,CAAC,SAAS,CAAC,OAAO,CAChB,CACf,CAAA;IACH,CAAC;IAED,SAAS,eAAe,CAAC,SAAoC,EAAE,UAA8B,EAAE,CAAS;;QACtG,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,0CAAE,OAAO,CAAA;YAAE,OAAO,IAAI,CAAA;QAChD,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,CAAA;QAChD,OAAO,CACL,oBAAC,MAAM,CAAC,KAAK,IAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,IACtD,SAAS,CAAC,UAAU,CAAC,OAAO,CAChB,CAChB,CAAA;IACH,CAAC;IAED,SAAS,kBAAkB,CAAC,SAAoC,EAAE,aAAiC,EAAE,CAAS;;QAC5G,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,0CAAE,OAAO,CAAA;YAAE,OAAO,IAAI,CAAA;QACnD,IAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAA;QACjD,OAAO,CACL,oBAAC,MAAM,CAAC,QAAQ,IAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,IAC1D,SAAS,CAAC,aAAa,CAAC,OAAO,CAChB,CACnB,CAAA;IACH,CAAC;IAED,SAAS,cAAc,CAAC,SAAoC,EAAE,SAA6B,EAAE,CAAS;QACpG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAA;YAAE,OAAO,IAAI,CAAA;QACtC,IAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,KAAK,CAAA;QAC3C,OAAO,CACL,oBAAC,MAAM,CAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAC/C,SAAS,CAAC,SAAS,CAAC,OAAO,CAChB,CACf,CAAA;IACH,CAAC;IAED,SAAS,gBAAgB,CAAC,SAAoC,EAAE,WAA+B,EAAE,CAAS;;QACxG,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,0CAAE,OAAO,CAAA;YAAE,OAAO,IAAI,CAAA;QAC9C,IAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAA;QAChD,OAAO,CACL,oBAAC,MAAM,aAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,IAAM,SAAS,CAAC,QAAQ,GAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,CACpB,CACV,CAAA;IACH,CAAC;IAED,OAAO,CACL,oBAAC,MAAM,aAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAM,IAAI;QACpE,YAAY;YACX,CAAC,CAAC,YAAY,EAAE;YAChB,CAAC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,oBAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,IAAG,WAAW,CAAC,OAAO,CAAiB;QAE7G,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,KAAI,oBAAC,OAAO,eAAK,QAAQ,IAAE,SAAS,EAAE,UAAU,CAAC,KAAK,IAAI;QAEvE,UAAU,CAAC,CAAC,CAAC,CACZ,UAAU,EAAE,CACb,CAAC,CAAC,CAAC,CACF,oBAAC,MAAM,CAAC,IAAI,aAAC,SAAS,EAAE,UAAU,CAAC,IAAI,IAAM,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,GAClE,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,QAAQ,CACnD,CACf;QAEA,YAAY;YACX,CAAC,CAAC,YAAY,EAAE;YAChB,CAAC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,oBAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,IAAG,WAAW,CAAC,OAAO,CAAiB,CACvG,CACV,CAAA;AACH,CAAC;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* -----------------------------------------------------------------------------
|
|
3
|
+
* @component SlickSlider
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
*
|
|
6
|
+
* @description A highly customizable and reusable React slider/carousel component.
|
|
7
|
+
* Supports autoplay, looping, center mode, custom navigation buttons,
|
|
8
|
+
* slide indicators, and flexible rendering through render props.
|
|
9
|
+
* TODO: add error boundary when move this component into the src folder
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Configurable slide animation (speed, easing)
|
|
13
|
+
* - Autoplay support with interval and pause-on-hover options
|
|
14
|
+
* - Looping with seamless slide cloning
|
|
15
|
+
* - Center mode with active slide highlighting
|
|
16
|
+
* - Custom next/previous navigation buttons
|
|
17
|
+
* - Optional slide indicators (dots)
|
|
18
|
+
* - Custom slide rendering via render props
|
|
19
|
+
* - Click handling for individual slides
|
|
20
|
+
*
|
|
21
|
+
* Note: tjs-slick-slider this class only added for sample
|
|
22
|
+
*
|
|
23
|
+
* -----------------------------------------------------------------------------
|
|
24
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
25
|
+
* -----------------------------------------------------------------------------
|
|
26
|
+
*/
|
|
27
|
+
import { type MouseEvent, type ReactElement } from 'react';
|
|
28
|
+
import type { SlickSliderConfig } from '../hooks/slider/useSliderBreakpoints';
|
|
29
|
+
export interface SlickSliderDataProps {
|
|
30
|
+
id: number;
|
|
31
|
+
label: string;
|
|
32
|
+
url: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SlickSliderAutoPlayConfig {
|
|
35
|
+
enable?: boolean;
|
|
36
|
+
interval?: number;
|
|
37
|
+
pauseOnHover?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface SlickSliderAnimationConfig {
|
|
40
|
+
delay?: number;
|
|
41
|
+
easing?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface SlickSliderDraggable {
|
|
44
|
+
dragThreshold?: number;
|
|
45
|
+
enableDrag?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface SlickSliderProps {
|
|
48
|
+
activeSlide?: number;
|
|
49
|
+
animationConfig?: SlickSliderAnimationConfig;
|
|
50
|
+
autoPlayConfig?: SlickSliderAutoPlayConfig;
|
|
51
|
+
breakpoints?: SlickSliderConfig[];
|
|
52
|
+
btnsLabel?: {
|
|
53
|
+
next?: string;
|
|
54
|
+
prev?: string;
|
|
55
|
+
};
|
|
56
|
+
data: SlickSliderDataProps[];
|
|
57
|
+
draggable?: SlickSliderDraggable;
|
|
58
|
+
gap?: number;
|
|
59
|
+
icons?: {
|
|
60
|
+
activeDot?: string;
|
|
61
|
+
dots?: string;
|
|
62
|
+
next?: string;
|
|
63
|
+
prev?: string;
|
|
64
|
+
};
|
|
65
|
+
loop?: boolean;
|
|
66
|
+
onSlideClick?: (item: SlickSliderDataProps, index: number, event: MouseEvent<HTMLButtonElement>) => void;
|
|
67
|
+
orientation?: 'horizontal' | 'vertical';
|
|
68
|
+
renderNextBtn?: (handleNextSlide: () => void, hasNextBtnDisabled: () => boolean) => ReactElement;
|
|
69
|
+
renderPrevBtn?: (handlePrevSlide: () => void, hasPrevBtnDisabled: () => boolean) => ReactElement;
|
|
70
|
+
renderSlide?: (item: SlickSliderDataProps, index?: number) => null | ReactElement;
|
|
71
|
+
showCtrlBtns?: boolean;
|
|
72
|
+
showIndicator?: boolean;
|
|
73
|
+
slideToScroll?: number;
|
|
74
|
+
slideToShow?: number;
|
|
75
|
+
}
|
|
76
|
+
declare function SlickSlider({ activeSlide, animationConfig, autoPlayConfig, breakpoints, btnsLabel, data, draggable, gap, icons, loop, onSlideClick, orientation, renderNextBtn, renderPrevBtn, renderSlide, showCtrlBtns, showIndicator, slideToScroll, slideToShow, }: Readonly<SlickSliderProps>): ReactElement;
|
|
77
|
+
export default SlickSlider;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* -----------------------------------------------------------------------------
|
|
3
|
+
* @component SlickSlider
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
*
|
|
6
|
+
* @description A highly customizable and reusable React slider/carousel component.
|
|
7
|
+
* Supports autoplay, looping, center mode, custom navigation buttons,
|
|
8
|
+
* slide indicators, and flexible rendering through render props.
|
|
9
|
+
* TODO: add error boundary when move this component into the src folder
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Configurable slide animation (speed, easing)
|
|
13
|
+
* - Autoplay support with interval and pause-on-hover options
|
|
14
|
+
* - Looping with seamless slide cloning
|
|
15
|
+
* - Center mode with active slide highlighting
|
|
16
|
+
* - Custom next/previous navigation buttons
|
|
17
|
+
* - Optional slide indicators (dots)
|
|
18
|
+
* - Custom slide rendering via render props
|
|
19
|
+
* - Click handling for individual slides
|
|
20
|
+
*
|
|
21
|
+
* Note: tjs-slick-slider this class only added for sample
|
|
22
|
+
*
|
|
23
|
+
* -----------------------------------------------------------------------------
|
|
24
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
25
|
+
* -----------------------------------------------------------------------------
|
|
26
|
+
*/
|
|
27
|
+
import { clsx } from 'clsx';
|
|
28
|
+
import { Image } from 'react-bootstrap';
|
|
29
|
+
import { EMPTY_ARRAY, EMPTY_OBJECT } from '../constants/app';
|
|
30
|
+
import ICONS from '../constants/icons';
|
|
31
|
+
import useSlider from '../hooks/slider/useSlider';
|
|
32
|
+
import { createDynamicArray, destructObj, getArrayLength, getKeyString, isArrayEmpty, isNullOrUndefined, } from '../helpers';
|
|
33
|
+
import Button from './Button';
|
|
34
|
+
import React from 'react';
|
|
35
|
+
// Destruct icons
|
|
36
|
+
var angleLeft = ICONS.angleLeft, angleRight = ICONS.angleRight, circle = ICONS.circle, dotCircle = ICONS.dotCircle;
|
|
37
|
+
// Default props value
|
|
38
|
+
var defAutoPlayConfig = {
|
|
39
|
+
enable: false,
|
|
40
|
+
interval: 2000,
|
|
41
|
+
pauseOnHover: false,
|
|
42
|
+
};
|
|
43
|
+
var defAnimationConfig = {
|
|
44
|
+
delay: 500,
|
|
45
|
+
easing: 'ease',
|
|
46
|
+
};
|
|
47
|
+
var defaultDraggable = {
|
|
48
|
+
dragThreshold: 200,
|
|
49
|
+
enableDrag: true,
|
|
50
|
+
};
|
|
51
|
+
function SlickSlider(_a) {
|
|
52
|
+
var _b = _a.activeSlide, activeSlide = _b === void 0 ? 1 : _b, _c = _a.animationConfig, animationConfig = _c === void 0 ? defAnimationConfig : _c, _d = _a.autoPlayConfig, autoPlayConfig = _d === void 0 ? defAutoPlayConfig : _d, _e = _a.breakpoints, breakpoints = _e === void 0 ? EMPTY_ARRAY : _e, _f = _a.btnsLabel, btnsLabel = _f === void 0 ? EMPTY_OBJECT : _f, data = _a.data, _g = _a.draggable, draggable = _g === void 0 ? defaultDraggable : _g, _h = _a.gap, gap = _h === void 0 ? 20 : _h, _j = _a.icons, icons = _j === void 0 ? EMPTY_OBJECT : _j, _k = _a.loop, loop = _k === void 0 ? false : _k, _l = _a.onSlideClick, onSlideClick = _l === void 0 ? undefined : _l, _m = _a.orientation, orientation = _m === void 0 ? 'horizontal' : _m, _o = _a.renderNextBtn, renderNextBtn = _o === void 0 ? undefined : _o, _p = _a.renderPrevBtn, renderPrevBtn = _p === void 0 ? undefined : _p, _q = _a.renderSlide, renderSlide = _q === void 0 ? undefined : _q, _r = _a.showCtrlBtns, showCtrlBtns = _r === void 0 ? true : _r, _s = _a.showIndicator, showIndicator = _s === void 0 ? true : _s, _t = _a.slideToScroll, slideToScroll = _t === void 0 ? 1 : _t, _u = _a.slideToShow, slideToShow = _u === void 0 ? 1 : _u;
|
|
53
|
+
// Constants
|
|
54
|
+
var hasUseExtendedSlides = getArrayLength(data) > slideToShow;
|
|
55
|
+
// Destruct props
|
|
56
|
+
var _v = destructObj(icons), _w = _v.activeDot, activeDot = _w === void 0 ? dotCircle : _w, _x = _v.dots, dots = _x === void 0 ? circle : _x, _y = _v.next, nextBtnIcon = _y === void 0 ? angleRight : _y, _z = _v.prev, prevBtnIcon = _z === void 0 ? angleLeft : _z;
|
|
57
|
+
var _0 = destructObj(btnsLabel), _1 = _0.next, nextBtnLabel = _1 === void 0 ? '' : _1, _2 = _0.prev, prevBtnLabel = _2 === void 0 ? '' : _2;
|
|
58
|
+
// Hooks
|
|
59
|
+
var _3 = useSlider({
|
|
60
|
+
activeSlide: activeSlide - 1,
|
|
61
|
+
animationConfig: animationConfig,
|
|
62
|
+
autoPlayConfig: autoPlayConfig,
|
|
63
|
+
breakpoints: breakpoints,
|
|
64
|
+
data: data,
|
|
65
|
+
draggable: draggable,
|
|
66
|
+
gap: gap,
|
|
67
|
+
loop: loop,
|
|
68
|
+
orientation: orientation,
|
|
69
|
+
slideToScroll: slideToScroll,
|
|
70
|
+
slideToShow: slideToShow,
|
|
71
|
+
totalSlides: getArrayLength(data),
|
|
72
|
+
}), extendedSlides = _3.extendedSlides, getActiveIndicatorIndex = _3.getActiveIndicatorIndex, getIndicatorCount = _3.getIndicatorCount, goToSlideIndicator = _3.goToSlideIndicator, handleNextSlide = _3.handleNextSlide, handlePrevSlide = _3.handlePrevSlide, hasNextBtnDisabled = _3.hasNextBtnDisabled, hasPrevBtnDisabled = _3.hasPrevBtnDisabled, sliderWrapperRef = _3.sliderWrapperRef;
|
|
73
|
+
var renderSlideItem = isNullOrUndefined(renderSlide) ? renderDefSlide : renderSlide;
|
|
74
|
+
function renderDefSlide(item) {
|
|
75
|
+
var _a = destructObj(item), imgName = _a.label, imgURL = _a.url;
|
|
76
|
+
return (React.createElement("div", { className: 'w-100' },
|
|
77
|
+
React.createElement(Image, { alt: imgName, src: imgURL })));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* This helper function render the button based on the different label and custom icons.
|
|
81
|
+
* @param param0 takes a common property of btn
|
|
82
|
+
*/
|
|
83
|
+
function renderNavBtn(_a) {
|
|
84
|
+
var disabled = _a.disabled, icon = _a.icon, label = _a.label, onClick = _a.onClick;
|
|
85
|
+
return (React.createElement(Button, { disabled: disabled, icon: icon, label: label, variant: 'ghost', classnames: { button: 'fs-16 p-5 px-10' }, onClick: onClick }));
|
|
86
|
+
}
|
|
87
|
+
function renderDefPrevBtn() {
|
|
88
|
+
return renderNavBtn({
|
|
89
|
+
disabled: hasPrevBtnDisabled(),
|
|
90
|
+
icon: prevBtnIcon,
|
|
91
|
+
label: prevBtnLabel,
|
|
92
|
+
onClick: handlePrevSlide,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Determines which previous button to render based on whether a custom renderPrevBtn prop is provided.
|
|
97
|
+
* Falls back to the default previous button if no custom renderer is specified.
|
|
98
|
+
*/
|
|
99
|
+
function prevButtonElem() {
|
|
100
|
+
if (!hasUseExtendedSlides)
|
|
101
|
+
return undefined;
|
|
102
|
+
return isNullOrUndefined(renderPrevBtn) ? renderDefPrevBtn() : renderPrevBtn === null || renderPrevBtn === void 0 ? void 0 : renderPrevBtn(handlePrevSlide, hasPrevBtnDisabled);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creates a click handler for a slide item.
|
|
106
|
+
* Returns a function that invokes the onSlideClick callback with the item data.
|
|
107
|
+
* @param item - The slide data item
|
|
108
|
+
*/
|
|
109
|
+
function onSlideClickHandler(item, index) {
|
|
110
|
+
return function (event) {
|
|
111
|
+
onSlideClick === null || onSlideClick === void 0 ? void 0 : onSlideClick(item, index, event);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Renders all slide items in the slider.
|
|
116
|
+
* Uses extended slides array for looping mode, otherwise uses the original data array.
|
|
117
|
+
* Each slide is wrapped in a button that handles click events.
|
|
118
|
+
*/
|
|
119
|
+
function renderSlides() {
|
|
120
|
+
if (isArrayEmpty(data))
|
|
121
|
+
return null;
|
|
122
|
+
var sliderArray = hasUseExtendedSlides ? extendedSlides : data;
|
|
123
|
+
return (React.createElement("div", { ref: sliderWrapperRef, className: 'd-flex' }, sliderArray === null || sliderArray === void 0 ? void 0 : sliderArray.map(function (item, index) { return (React.createElement(Button, { variant: 'ghost', key: getKeyString('slide', index), id: getKeyString('slide', index + 1), "data-index": index, classnames: {
|
|
124
|
+
button: clsx('p-0 rounded-100 bg-transparent', orientation === 'vertical' && 'vertical'),
|
|
125
|
+
}, onClick: onSlideClickHandler(item, index) }, renderSlideItem === null || renderSlideItem === void 0 ? void 0 : renderSlideItem(item))); })));
|
|
126
|
+
}
|
|
127
|
+
function renderDefNextBtn() {
|
|
128
|
+
return renderNavBtn({
|
|
129
|
+
disabled: hasNextBtnDisabled(),
|
|
130
|
+
icon: nextBtnIcon,
|
|
131
|
+
label: nextBtnLabel,
|
|
132
|
+
onClick: handleNextSlide,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Determines which next button to render based on whether a custom renderNextBtn prop is provided.
|
|
137
|
+
* Falls back to the default next button if no custom renderer is specified.
|
|
138
|
+
*/
|
|
139
|
+
function nextButtonElem() {
|
|
140
|
+
if (!hasUseExtendedSlides)
|
|
141
|
+
return undefined;
|
|
142
|
+
return isNullOrUndefined(renderNextBtn) ? renderDefNextBtn() : renderNextBtn === null || renderNextBtn === void 0 ? void 0 : renderNextBtn(handleNextSlide, hasNextBtnDisabled);
|
|
143
|
+
}
|
|
144
|
+
/** This callback function handle the indicator click event and call the go to indicator. */
|
|
145
|
+
function handleIndicatorEvent(idx) {
|
|
146
|
+
return function () {
|
|
147
|
+
goToSlideIndicator(idx);
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Function is render the indicator item and add the active indicator icons based active slide index.
|
|
152
|
+
* @param index index of the indicator items.
|
|
153
|
+
*/
|
|
154
|
+
function renderIndicator(index) {
|
|
155
|
+
if (!hasUseExtendedSlides)
|
|
156
|
+
return undefined;
|
|
157
|
+
var isActive = index === getActiveIndicatorIndex();
|
|
158
|
+
var indicatorIcon = isActive ? activeDot : dots;
|
|
159
|
+
return (React.createElement(Button, { key: getKeyString('ctrl-dot', index), icon: indicatorIcon, variant: 'ghost',
|
|
160
|
+
// throttleProps={{ delay: animationConfig?.delay, enable: true }}
|
|
161
|
+
onClick: handleIndicatorEvent(index), classnames: { button: 'fs-16' } }));
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Function responsible for render the indication icons based on the indicator count.
|
|
165
|
+
* create dynamic array based on the number for indicators.
|
|
166
|
+
*/
|
|
167
|
+
function renderIndicators() {
|
|
168
|
+
var numberOfIndictor = getIndicatorCount();
|
|
169
|
+
if (isNullOrUndefined(numberOfIndictor))
|
|
170
|
+
return undefined;
|
|
171
|
+
return (React.createElement("div", { className: 'd-flex justify-content-center gap-10' }, createDynamicArray(numberOfIndictor).map(function (_, index) { return renderIndicator(index); })));
|
|
172
|
+
}
|
|
173
|
+
return (React.createElement("div", { className: 'tjs-slick-slider' },
|
|
174
|
+
React.createElement("div", { className: 'd-flex align-items-center justify-content-between mb-10' },
|
|
175
|
+
showCtrlBtns ? prevButtonElem() : null,
|
|
176
|
+
React.createElement("div", { className: 'overflow-hidden w-100' }, renderSlides()),
|
|
177
|
+
showCtrlBtns ? nextButtonElem() : null),
|
|
178
|
+
showIndicator ? renderIndicators() : null));
|
|
179
|
+
}
|
|
180
|
+
export default SlickSlider;
|
|
181
|
+
//# sourceMappingURL=SlickSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlickSlider.js","sourceRoot":"","sources":["../../../src/components/SlickSlider.tsx"],"names":[],"mappings":"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"}
|