farm-react 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/styles/style.css +26254 -0
- package/dist/assets/styles/style.css.map +1 -0
- package/dist/cjs/Utils/index.d.ts +4 -0
- package/dist/cjs/Utils/index.js +8 -0
- package/dist/cjs/Utils/index.js.map +1 -0
- package/dist/cjs/components/Accordion.js +7 -6
- package/dist/cjs/components/Accordion.js.map +1 -1
- package/dist/cjs/components/Alert.d.ts +32 -0
- package/dist/cjs/components/Alert.js +50 -0
- package/dist/cjs/components/Alert.js.map +1 -0
- package/dist/cjs/components/Badge.d.ts +22 -0
- package/dist/cjs/components/Badge.js +36 -0
- package/dist/cjs/components/Badge.js.map +1 -0
- package/dist/cjs/components/BrokenPage.d.ts +35 -0
- package/dist/cjs/components/BrokenPage.js +59 -0
- package/dist/cjs/components/BrokenPage.js.map +1 -0
- package/dist/cjs/components/Button.d.ts +29 -2
- package/dist/cjs/components/Button.js +53 -4
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/Card.d.ts +77 -0
- package/dist/cjs/components/Card.js +77 -0
- package/dist/cjs/components/Card.js.map +1 -0
- package/dist/cjs/components/Checkbox.d.ts +25 -0
- package/dist/cjs/components/Checkbox.js +23 -0
- package/dist/cjs/components/Checkbox.js.map +1 -0
- package/dist/cjs/components/ConfirmPoup.d.ts +21 -0
- package/dist/cjs/components/ConfirmPoup.js +47 -0
- package/dist/cjs/components/ConfirmPoup.js.map +1 -0
- package/dist/cjs/components/Dropdown.d.ts +35 -0
- package/dist/cjs/components/Dropdown.js +54 -0
- package/dist/cjs/components/Dropdown.js.map +1 -0
- package/dist/cjs/components/Label.d.ts +1 -1
- package/dist/cjs/components/Label.js +8 -6
- package/dist/cjs/components/Label.js.map +1 -1
- package/dist/cjs/components/Layout/Footer.js +11 -2
- package/dist/cjs/components/Layout/Footer.js.map +1 -1
- package/dist/cjs/components/Layout/Header.d.ts +2 -1
- package/dist/cjs/components/Layout/Header.js +15 -4
- package/dist/cjs/components/Layout/Header.js.map +1 -1
- package/dist/cjs/components/Layout/Sidebar.d.ts +2 -1
- package/dist/cjs/components/Layout/Sidebar.js +5 -3
- package/dist/cjs/components/Layout/Sidebar.js.map +1 -1
- package/dist/cjs/components/MultiCheckbox.d.ts +39 -0
- package/dist/cjs/components/MultiCheckbox.js +56 -0
- package/dist/cjs/components/MultiCheckbox.js.map +1 -0
- package/dist/cjs/components/MultiRadio.d.ts +30 -0
- package/dist/cjs/components/MultiRadio.js +41 -0
- package/dist/cjs/components/MultiRadio.js.map +1 -0
- package/dist/cjs/components/NumberInput.d.ts +38 -0
- package/dist/cjs/components/NumberInput.js +34 -0
- package/dist/cjs/components/NumberInput.js.map +1 -0
- package/dist/cjs/components/Radio.d.ts +24 -0
- package/dist/cjs/components/Radio.js +24 -0
- package/dist/cjs/components/Radio.js.map +1 -0
- package/dist/cjs/components/RangeSlider.d.ts +30 -0
- package/dist/cjs/components/RangeSlider.js +48 -0
- package/dist/cjs/components/RangeSlider.js.map +1 -0
- package/dist/cjs/components/RatingDisplay.js +7 -4
- package/dist/cjs/components/RatingDisplay.js.map +1 -1
- package/dist/cjs/components/Select.d.ts +41 -0
- package/dist/cjs/components/Select.js +48 -0
- package/dist/cjs/components/Select.js.map +1 -0
- package/dist/cjs/components/SkeletonLoader.d.ts +39 -0
- package/dist/cjs/components/SkeletonLoader.js +76 -0
- package/dist/cjs/components/SkeletonLoader.js.map +1 -0
- package/dist/cjs/components/Slider/SlickSlider.d.ts +74 -0
- package/dist/cjs/components/Slider/SlickSlider.js +211 -0
- package/dist/cjs/components/Slider/SlickSlider.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/SlickSlider.d.ts +74 -0
- package/dist/cjs/components/Slider/Slider/SlickSlider.js +212 -0
- package/dist/cjs/components/Slider/Slider/SlickSlider.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useCenterMode.d.ts +24 -0
- package/dist/cjs/components/Slider/Slider/useCenterMode.js +40 -0
- package/dist/cjs/components/Slider/Slider/useCenterMode.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSlider.d.ts +65 -0
- package/dist/cjs/components/Slider/Slider/useSlider.js +164 -0
- package/dist/cjs/components/Slider/Slider/useSlider.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js +73 -0
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js +53 -0
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderDimension.d.ts +41 -0
- package/dist/cjs/components/Slider/Slider/useSliderDimension.js +91 -0
- package/dist/cjs/components/Slider/Slider/useSliderDimension.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.js +146 -0
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.js +136 -0
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.js.map +1 -0
- package/dist/cjs/components/Slider/Slider/useSliderTransform.d.ts +17 -0
- package/dist/cjs/components/Slider/Slider/useSliderTransform.js +71 -0
- package/dist/cjs/components/Slider/Slider/useSliderTransform.js.map +1 -0
- package/dist/cjs/components/Slider/useCenterMode.d.ts +24 -0
- package/dist/cjs/components/Slider/useCenterMode.js +40 -0
- package/dist/cjs/components/Slider/useCenterMode.js.map +1 -0
- package/dist/cjs/components/Slider/useSlider.d.ts +65 -0
- package/dist/cjs/components/Slider/useSlider.js +159 -0
- package/dist/cjs/components/Slider/useSlider.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/cjs/components/Slider/useSliderAutoPlay.js +73 -0
- package/dist/cjs/components/Slider/useSliderAutoPlay.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderBreakpoint.d.ts +23 -0
- package/dist/cjs/components/Slider/useSliderBreakpoint.js +92 -0
- package/dist/cjs/components/Slider/useSliderBreakpoint.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderDimension.d.ts +41 -0
- package/dist/cjs/components/Slider/useSliderDimension.js +92 -0
- package/dist/cjs/components/Slider/useSliderDimension.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderDraggable.d.ts +43 -0
- package/dist/cjs/components/Slider/useSliderDraggable.js +146 -0
- package/dist/cjs/components/Slider/useSliderDraggable.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderNavigation.d.ts +41 -0
- package/dist/cjs/components/Slider/useSliderNavigation.js +136 -0
- package/dist/cjs/components/Slider/useSliderNavigation.js.map +1 -0
- package/dist/cjs/components/Slider/useSliderTransform.d.ts +17 -0
- package/dist/cjs/components/Slider/useSliderTransform.js +71 -0
- package/dist/cjs/components/Slider/useSliderTransform.js.map +1 -0
- package/dist/cjs/components/TextInput.d.ts +31 -3
- package/dist/cjs/components/TextInput.js +31 -12
- package/dist/cjs/components/TextInput.js.map +1 -1
- package/dist/cjs/components/ThreeDotsLoader.d.ts +24 -0
- package/dist/cjs/components/ThreeDotsLoader.js +25 -0
- package/dist/cjs/components/ThreeDotsLoader.js.map +1 -0
- package/dist/cjs/constants/app.d.ts +2 -0
- package/dist/cjs/constants/app.js +3 -1
- package/dist/cjs/constants/app.js.map +1 -1
- package/dist/cjs/constants/icons.d.ts +7 -0
- package/dist/cjs/constants/icons.js +11 -0
- package/dist/cjs/constants/icons.js.map +1 -0
- package/dist/cjs/helpers/app.d.ts +39 -2
- package/dist/cjs/helpers/app.js +83 -5
- package/dist/cjs/helpers/app.js.map +1 -1
- package/dist/cjs/helpers/index.d.ts +1 -0
- package/dist/cjs/helpers/index.js +3 -0
- package/dist/cjs/helpers/index.js.map +1 -1
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.js +4 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useLocalStorage.d.ts +7 -0
- package/dist/cjs/hooks/useLocalStorage.js +57 -0
- package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
- package/dist/cjs/index.d.ts +20 -5
- package/dist/cjs/index.js +41 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/strings/en.d.ts +3 -1
- package/dist/cjs/strings/en.js +5 -3
- package/dist/cjs/strings/en.js.map +1 -1
- package/dist/esm/Utils/index.d.ts +4 -0
- package/dist/esm/Utils/index.js +5 -0
- package/dist/esm/Utils/index.js.map +1 -0
- package/dist/esm/components/Accordion.js +7 -6
- package/dist/esm/components/Accordion.js.map +1 -1
- package/dist/esm/components/Alert.d.ts +32 -0
- package/dist/esm/components/Alert.js +48 -0
- package/dist/esm/components/Alert.js.map +1 -0
- package/dist/esm/components/Badge.d.ts +22 -0
- package/dist/esm/components/Badge.js +34 -0
- package/dist/esm/components/Badge.js.map +1 -0
- package/dist/esm/components/BrokenPage.d.ts +35 -0
- package/dist/esm/components/BrokenPage.js +57 -0
- package/dist/esm/components/BrokenPage.js.map +1 -0
- package/dist/esm/components/Button.d.ts +29 -2
- package/dist/esm/components/Button.js +53 -3
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/Card.d.ts +77 -0
- package/dist/esm/components/Card.js +75 -0
- package/dist/esm/components/Card.js.map +1 -0
- package/dist/esm/components/Checkbox.d.ts +25 -0
- package/dist/esm/components/Checkbox.js +21 -0
- package/dist/esm/components/Checkbox.js.map +1 -0
- package/dist/esm/components/ConfirmPoup.d.ts +21 -0
- package/dist/esm/components/ConfirmPoup.js +45 -0
- package/dist/esm/components/ConfirmPoup.js.map +1 -0
- package/dist/esm/components/Dropdown.d.ts +35 -0
- package/dist/esm/components/Dropdown.js +52 -0
- package/dist/esm/components/Dropdown.js.map +1 -0
- package/dist/esm/components/Label.d.ts +1 -1
- package/dist/esm/components/Label.js +9 -7
- package/dist/esm/components/Label.js.map +1 -1
- package/dist/esm/components/Layout/Footer.js +10 -2
- package/dist/esm/components/Layout/Footer.js.map +1 -1
- package/dist/esm/components/Layout/Header.d.ts +2 -1
- package/dist/esm/components/Layout/Header.js +14 -3
- package/dist/esm/components/Layout/Header.js.map +1 -1
- package/dist/esm/components/Layout/Sidebar.d.ts +2 -1
- package/dist/esm/components/Layout/Sidebar.js +4 -3
- package/dist/esm/components/Layout/Sidebar.js.map +1 -1
- package/dist/esm/components/MultiCheckbox.d.ts +39 -0
- package/dist/esm/components/MultiCheckbox.js +54 -0
- package/dist/esm/components/MultiCheckbox.js.map +1 -0
- package/dist/esm/components/MultiRadio.d.ts +30 -0
- package/dist/esm/components/MultiRadio.js +39 -0
- package/dist/esm/components/MultiRadio.js.map +1 -0
- package/dist/esm/components/NumberInput.d.ts +38 -0
- package/dist/esm/components/NumberInput.js +32 -0
- package/dist/esm/components/NumberInput.js.map +1 -0
- package/dist/esm/components/Radio.d.ts +24 -0
- package/dist/esm/components/Radio.js +22 -0
- package/dist/esm/components/Radio.js.map +1 -0
- package/dist/esm/components/RangeSlider.d.ts +30 -0
- package/dist/esm/components/RangeSlider.js +46 -0
- package/dist/esm/components/RangeSlider.js.map +1 -0
- package/dist/esm/components/RatingDisplay.js +7 -4
- package/dist/esm/components/RatingDisplay.js.map +1 -1
- package/dist/esm/components/Select.d.ts +41 -0
- package/dist/esm/components/Select.js +46 -0
- package/dist/esm/components/Select.js.map +1 -0
- package/dist/esm/components/SkeletonLoader.d.ts +39 -0
- package/dist/esm/components/SkeletonLoader.js +74 -0
- package/dist/esm/components/SkeletonLoader.js.map +1 -0
- package/dist/esm/components/Slider/SlickSlider.d.ts +74 -0
- package/dist/esm/components/Slider/SlickSlider.js +208 -0
- package/dist/esm/components/Slider/SlickSlider.js.map +1 -0
- package/dist/esm/components/Slider/Slider/SlickSlider.d.ts +74 -0
- package/dist/esm/components/Slider/Slider/SlickSlider.js +209 -0
- package/dist/esm/components/Slider/Slider/SlickSlider.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useCenterMode.d.ts +24 -0
- package/dist/esm/components/Slider/Slider/useCenterMode.js +38 -0
- package/dist/esm/components/Slider/Slider/useCenterMode.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSlider.d.ts +65 -0
- package/dist/esm/components/Slider/Slider/useSlider.js +162 -0
- package/dist/esm/components/Slider/Slider/useSlider.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js +71 -0
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js +51 -0
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderDimension.d.ts +41 -0
- package/dist/esm/components/Slider/Slider/useSliderDimension.js +89 -0
- package/dist/esm/components/Slider/Slider/useSliderDimension.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
- package/dist/esm/components/Slider/Slider/useSliderDraggable.js +144 -0
- package/dist/esm/components/Slider/Slider/useSliderDraggable.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
- package/dist/esm/components/Slider/Slider/useSliderNavigation.js +134 -0
- package/dist/esm/components/Slider/Slider/useSliderNavigation.js.map +1 -0
- package/dist/esm/components/Slider/Slider/useSliderTransform.d.ts +17 -0
- package/dist/esm/components/Slider/Slider/useSliderTransform.js +69 -0
- package/dist/esm/components/Slider/Slider/useSliderTransform.js.map +1 -0
- package/dist/esm/components/Slider/useCenterMode.d.ts +24 -0
- package/dist/esm/components/Slider/useCenterMode.js +38 -0
- package/dist/esm/components/Slider/useCenterMode.js.map +1 -0
- package/dist/esm/components/Slider/useSlider.d.ts +65 -0
- package/dist/esm/components/Slider/useSlider.js +157 -0
- package/dist/esm/components/Slider/useSlider.js.map +1 -0
- package/dist/esm/components/Slider/useSliderAutoPlay.d.ts +33 -0
- package/dist/esm/components/Slider/useSliderAutoPlay.js +71 -0
- package/dist/esm/components/Slider/useSliderAutoPlay.js.map +1 -0
- package/dist/esm/components/Slider/useSliderBreakpoint.d.ts +23 -0
- package/dist/esm/components/Slider/useSliderBreakpoint.js +90 -0
- package/dist/esm/components/Slider/useSliderBreakpoint.js.map +1 -0
- package/dist/esm/components/Slider/useSliderDimension.d.ts +41 -0
- package/dist/esm/components/Slider/useSliderDimension.js +90 -0
- package/dist/esm/components/Slider/useSliderDimension.js.map +1 -0
- package/dist/esm/components/Slider/useSliderDraggable.d.ts +43 -0
- package/dist/esm/components/Slider/useSliderDraggable.js +144 -0
- package/dist/esm/components/Slider/useSliderDraggable.js.map +1 -0
- package/dist/esm/components/Slider/useSliderNavigation.d.ts +41 -0
- package/dist/esm/components/Slider/useSliderNavigation.js +134 -0
- package/dist/esm/components/Slider/useSliderNavigation.js.map +1 -0
- package/dist/esm/components/Slider/useSliderTransform.d.ts +17 -0
- package/dist/esm/components/Slider/useSliderTransform.js +69 -0
- package/dist/esm/components/Slider/useSliderTransform.js.map +1 -0
- package/dist/esm/components/TextInput.d.ts +31 -3
- package/dist/esm/components/TextInput.js +33 -13
- package/dist/esm/components/TextInput.js.map +1 -1
- package/dist/esm/components/ThreeDotsLoader.d.ts +24 -0
- package/dist/esm/components/ThreeDotsLoader.js +23 -0
- package/dist/esm/components/ThreeDotsLoader.js.map +1 -0
- package/dist/esm/constants/app.d.ts +2 -0
- package/dist/esm/constants/app.js +2 -0
- package/dist/esm/constants/app.js.map +1 -1
- package/dist/esm/constants/icons.d.ts +7 -0
- package/dist/esm/constants/icons.js +9 -0
- package/dist/esm/constants/icons.js.map +1 -0
- package/dist/esm/helpers/app.d.ts +39 -2
- package/dist/esm/helpers/app.js +73 -3
- package/dist/esm/helpers/app.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useLocalStorage.d.ts +7 -0
- package/dist/esm/hooks/useLocalStorage.js +54 -0
- package/dist/esm/hooks/useLocalStorage.js.map +1 -0
- package/dist/esm/index.d.ts +20 -5
- package/dist/esm/index.js +20 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/strings/en.d.ts +3 -1
- package/dist/esm/strings/en.js +4 -2
- package/dist/esm/strings/en.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
7
|
+
var helpers_1 = require("../helpers");
|
|
8
|
+
var sizeHeightMap = {
|
|
9
|
+
xs: 8,
|
|
10
|
+
sm: 16,
|
|
11
|
+
lg: 24,
|
|
12
|
+
};
|
|
13
|
+
function getComputedHeight(height, size) {
|
|
14
|
+
return height !== null && height !== void 0 ? height : (size ? sizeHeightMap[size] : undefined);
|
|
15
|
+
}
|
|
16
|
+
function getCommonStyle(width, height) {
|
|
17
|
+
return {
|
|
18
|
+
width: width !== null && width !== void 0 ? width : undefined,
|
|
19
|
+
height: height,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function SkeletonLoader(_a) {
|
|
23
|
+
var loading = _a.loading, variant = _a.variant, _b = _a.spinnerProps, spinnerProps = _b === void 0 ? {} : _b, _c = _a.xs, xs = _c === void 0 ? 12 : _c, _d = _a.as, Component = _d === void 0 ? 'span' : _d, _e = _a.animation, animation = _e === void 0 ? 'glow' : _e, _f = _a.width, width = _f === void 0 ? null : _f, _g = _a.height, height = _g === void 0 ? null : _g, _h = _a.rows, rows = _h === void 0 ? 1 : _h, _j = _a.cols, cols = _j === void 0 ? 1 : _j, size = _a.size, _k = _a.classnames, classnames = _k === void 0 ? {} : _k, _l = _a.attributes, attributes = _l === void 0 ? {} : _l;
|
|
24
|
+
if (!loading)
|
|
25
|
+
return null;
|
|
26
|
+
var computedHeight = getComputedHeight(height, size);
|
|
27
|
+
var commonStyle = getCommonStyle(width, computedHeight);
|
|
28
|
+
var baseAnimationClass = "placeholder-".concat(animation);
|
|
29
|
+
var _m = (0, helpers_1.destructObj)(classnames), wrapperClass = _m.wrapper, textClass = _m.text, circleClass = _m.circle, squareClass = _m.square, tableClass = _m.table, listClass = _m.list, spinnerWrapperClass = _m.spinnerWrapper, textWrapperClass = _m.textWrapper;
|
|
30
|
+
var _o = (0, helpers_1.destructObj)(attributes), wrapperAttr = _o.wrapper, textAttr = _o.text, circleAttr = _o.circle, squareAttr = _o.square, tableAttr = _o.table, listAttr = _o.list, spinnerWrapperAttr = _o.spinnerWrapper, textWrapperAttr = _o.textWrapper;
|
|
31
|
+
function renderText() {
|
|
32
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(baseAnimationClass, textWrapperClass) }, textWrapperAttr),
|
|
33
|
+
react_1.default.createElement(Component, tslib_1.__assign({ className: (0, clsx_1.default)("placeholder rounded col-".concat(xs), textClass), style: commonStyle }, textAttr))));
|
|
34
|
+
}
|
|
35
|
+
function renderCircle() {
|
|
36
|
+
var _a;
|
|
37
|
+
return (react_1.default.createElement("div", { className: baseAnimationClass },
|
|
38
|
+
react_1.default.createElement(Component, tslib_1.__assign({ className: (0, clsx_1.default)('placeholder rounded-circle', circleClass), style: {
|
|
39
|
+
width: width !== null && width !== void 0 ? width : 40,
|
|
40
|
+
height: (_a = computedHeight !== null && computedHeight !== void 0 ? computedHeight : width) !== null && _a !== void 0 ? _a : 40,
|
|
41
|
+
} }, circleAttr))));
|
|
42
|
+
}
|
|
43
|
+
function renderSquare() {
|
|
44
|
+
return (react_1.default.createElement("div", { className: baseAnimationClass },
|
|
45
|
+
react_1.default.createElement(Component, tslib_1.__assign({ className: (0, clsx_1.default)('placeholder rounded', squareClass), style: commonStyle }, squareAttr))));
|
|
46
|
+
}
|
|
47
|
+
function renderTable() {
|
|
48
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(tableClass) }, tableAttr), Array.from({ length: rows }).map(function (_, rowIndex) { return (react_1.default.createElement("div", { key: rowIndex, className: 'd-flex gap-50 mb-2' }, Array.from({ length: cols }).map(function (_, colIndex) { return (react_1.default.createElement(Component, { key: colIndex, className: 'placeholder rounded col mb-10', style: { height: computedHeight !== null && computedHeight !== void 0 ? computedHeight : 16 } })); }))); })));
|
|
49
|
+
}
|
|
50
|
+
function renderList() {
|
|
51
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(listClass) }, listAttr), Array.from({ length: rows }).map(function (_, index) {
|
|
52
|
+
var _a;
|
|
53
|
+
return (react_1.default.createElement("div", { key: index, className: 'd-flex align-items-center gap-3 mb-2' },
|
|
54
|
+
react_1.default.createElement(Component, tslib_1.__assign({ className: (0, clsx_1.default)('placeholder rounded-circle flex-shrink-0', circleClass), style: {
|
|
55
|
+
width: width !== null && width !== void 0 ? width : 40,
|
|
56
|
+
height: (_a = computedHeight !== null && computedHeight !== void 0 ? computedHeight : width) !== null && _a !== void 0 ? _a : 40,
|
|
57
|
+
} }, circleAttr)),
|
|
58
|
+
react_1.default.createElement(Component, { className: 'placeholder rounded col-12', style: { height: computedHeight !== null && computedHeight !== void 0 ? computedHeight : 16 } })));
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
function renderSpinner() {
|
|
62
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(spinnerWrapperClass) }, spinnerWrapperAttr),
|
|
63
|
+
react_1.default.createElement(react_bootstrap_1.Spinner, tslib_1.__assign({ animation: 'border' }, spinnerProps))));
|
|
64
|
+
}
|
|
65
|
+
var renderMap = {
|
|
66
|
+
text: renderText,
|
|
67
|
+
circle: renderCircle,
|
|
68
|
+
square: renderSquare,
|
|
69
|
+
table: renderTable,
|
|
70
|
+
list: renderList,
|
|
71
|
+
spinner: renderSpinner,
|
|
72
|
+
};
|
|
73
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(wrapperClass) }, wrapperAttr), renderMap[variant]()));
|
|
74
|
+
}
|
|
75
|
+
exports.default = SkeletonLoader;
|
|
76
|
+
//# sourceMappingURL=SkeletonLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonLoader.js","sourceRoot":"","sources":["../../../src/components/SkeletonLoader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Configurable slide animation (speed, easing)
|
|
12
|
+
* - Autoplay support with interval and pause-on-hover options
|
|
13
|
+
* - Looping with seamless slide cloning
|
|
14
|
+
* - Center mode with active slide highlighting
|
|
15
|
+
* - Custom next/previous navigation buttons
|
|
16
|
+
* - Optional slide indicators (dots)
|
|
17
|
+
* - Custom slide rendering via render props
|
|
18
|
+
* - Click handling for individual slides
|
|
19
|
+
*
|
|
20
|
+
* Note: tjs-slick-slider this class only added for sample
|
|
21
|
+
* -----------------------------------------------------------------------------
|
|
22
|
+
* Copyright © 2025 BookingKoala. All rights reserved.
|
|
23
|
+
* -----------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
import { type MouseEvent, type ReactElement } from 'react';
|
|
26
|
+
import { SlickSliderConfig } from './useSliderBreakpoint';
|
|
27
|
+
export interface SlickSliderDataProps {
|
|
28
|
+
id: number;
|
|
29
|
+
label: string;
|
|
30
|
+
url: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SlickSliderAutoPlayConfig {
|
|
33
|
+
enable?: boolean;
|
|
34
|
+
interval?: number;
|
|
35
|
+
pauseOnHover?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface SlickSliderAnimationConfig {
|
|
38
|
+
easing?: string;
|
|
39
|
+
speed?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface SlickSliderProps {
|
|
42
|
+
activeSlide?: number;
|
|
43
|
+
animationConfig?: SlickSliderAnimationConfig;
|
|
44
|
+
autoPlayConfig?: SlickSliderAutoPlayConfig;
|
|
45
|
+
breakpoints?: SlickSliderConfig[];
|
|
46
|
+
btnsLabel?: {
|
|
47
|
+
next?: string;
|
|
48
|
+
prev?: string;
|
|
49
|
+
};
|
|
50
|
+
data: SlickSliderDataProps[];
|
|
51
|
+
draggable?: {
|
|
52
|
+
dragThreshold?: number;
|
|
53
|
+
enableDrag?: boolean;
|
|
54
|
+
};
|
|
55
|
+
gap?: number;
|
|
56
|
+
icons?: {
|
|
57
|
+
activeDot?: string;
|
|
58
|
+
dots?: string;
|
|
59
|
+
next?: string;
|
|
60
|
+
prev?: string;
|
|
61
|
+
};
|
|
62
|
+
loop?: boolean;
|
|
63
|
+
onSlideClick?: (item: SlickSliderDataProps, index: number, event: MouseEvent<HTMLButtonElement>) => void;
|
|
64
|
+
renderNextBtn?: (handleNextSlide: () => void, hasNextBtnDisabled: () => boolean) => ReactElement;
|
|
65
|
+
renderPrevBtn?: (handlePrevSlide: () => void, hasPrevBtnDisabled: () => boolean) => ReactElement;
|
|
66
|
+
renderSlide?: (slideItem: SlickSliderDataProps, index?: number) => null | ReactElement;
|
|
67
|
+
showCtrlBtns?: boolean;
|
|
68
|
+
showIndicator?: boolean;
|
|
69
|
+
slideToScroll?: number;
|
|
70
|
+
slideToShow?: number;
|
|
71
|
+
variant?: 'horizontal' | 'vertical';
|
|
72
|
+
}
|
|
73
|
+
declare function SlickSlider({ activeSlide, animationConfig, autoPlayConfig, breakpoints, btnsLabel, data, draggable, gap, icons, loop, onSlideClick, renderNextBtn, renderPrevBtn, renderSlide, showCtrlBtns, showIndicator, slideToScroll, slideToShow, variant, }: Readonly<SlickSliderProps>): ReactElement;
|
|
74
|
+
export default SlickSlider;
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* -----------------------------------------------------------------------------
|
|
4
|
+
* @component SlickSlider
|
|
5
|
+
* -----------------------------------------------------------------------------
|
|
6
|
+
*
|
|
7
|
+
* @description A highly customizable and reusable React slider/carousel component.
|
|
8
|
+
* Supports autoplay, looping, center mode, custom navigation buttons,
|
|
9
|
+
* slide indicators, and flexible rendering through render props.
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Configurable slide animation (speed, easing)
|
|
13
|
+
* - Autoplay support with interval and pause-on-hover options
|
|
14
|
+
* - Looping with seamless slide cloning
|
|
15
|
+
* - Center mode with active slide highlighting
|
|
16
|
+
* - Custom next/previous navigation buttons
|
|
17
|
+
* - Optional slide indicators (dots)
|
|
18
|
+
* - Custom slide rendering via render props
|
|
19
|
+
* - Click handling for individual slides
|
|
20
|
+
*
|
|
21
|
+
* Note: tjs-slick-slider this class only added for sample
|
|
22
|
+
* -----------------------------------------------------------------------------
|
|
23
|
+
* Copyright © 2025 BookingKoala. All rights reserved.
|
|
24
|
+
* -----------------------------------------------------------------------------
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
var tslib_1 = require("tslib");
|
|
28
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
29
|
+
var clsx_1 = require("clsx");
|
|
30
|
+
var Button_1 = tslib_1.__importDefault(require("../Button"));
|
|
31
|
+
var hooks_1 = require("../../hooks");
|
|
32
|
+
var helpers_1 = require("../../helpers");
|
|
33
|
+
var app_1 = require("../../constants/app");
|
|
34
|
+
var icons_1 = tslib_1.__importDefault(require("../../constants/icons"));
|
|
35
|
+
var useSlider_1 = tslib_1.__importDefault(require("./useSlider"));
|
|
36
|
+
// Destruct icons
|
|
37
|
+
var angleLeft = icons_1.default.angleLeft, angleRight = icons_1.default.angleRight, circle = icons_1.default.circle, dotCircle = icons_1.default.dotCircle;
|
|
38
|
+
// Default props value
|
|
39
|
+
var defAutoPlayConfig = {
|
|
40
|
+
enable: false,
|
|
41
|
+
interval: 2000,
|
|
42
|
+
pauseOnHover: false,
|
|
43
|
+
};
|
|
44
|
+
var defAnimationConfig = {
|
|
45
|
+
easing: 'ease',
|
|
46
|
+
speed: 500,
|
|
47
|
+
};
|
|
48
|
+
var defaultDraggable = {
|
|
49
|
+
dragThreshold: 200,
|
|
50
|
+
enableDrag: true,
|
|
51
|
+
};
|
|
52
|
+
function SlickSlider(_a) {
|
|
53
|
+
var _b = _a.activeSlide, activeSlide = _b === void 0 ? 1 : _b, _c = _a.animationConfig, animationConfig = _c === void 0 ? defAnimationConfig : _c, _d = _a.autoPlayConfig, autoPlayConfig = _d === void 0 ? defAutoPlayConfig : _d, _e = _a.breakpoints, breakpoints = _e === void 0 ? app_1.EMPTY_ARRAY : _e, _f = _a.btnsLabel, btnsLabel = _f === void 0 ? app_1.EMPTY_OBJECT : _f, data = _a.data, _g = _a.draggable, draggable = _g === void 0 ? defaultDraggable : _g, _h = _a.gap, gap = _h === void 0 ? 20 : _h, _j = _a.icons, icons = _j === void 0 ? app_1.EMPTY_OBJECT : _j, _k = _a.loop, loop = _k === void 0 ? false : _k, _l = _a.onSlideClick, onSlideClick = _l === void 0 ? undefined : _l, _m = _a.renderNextBtn, renderNextBtn = _m === void 0 ? undefined : _m, _o = _a.renderPrevBtn, renderPrevBtn = _o === void 0 ? undefined : _o, _p = _a.renderSlide, renderSlide = _p === void 0 ? undefined : _p, _q = _a.showCtrlBtns, showCtrlBtns = _q === void 0 ? true : _q, _r = _a.showIndicator, showIndicator = _r === void 0 ? true : _r, _s = _a.slideToScroll, slideToScroll = _s === void 0 ? 1 : _s, _t = _a.slideToShow, slideToShow = _t === void 0 ? 1 : _t, _u = _a.variant, variant = _u === void 0 ? 'horizontal' : _u;
|
|
54
|
+
// Constants
|
|
55
|
+
var hasUseExtendedSlides = (0, helpers_1.getArrayLength)(data) > slideToShow;
|
|
56
|
+
var isRTL = (0, hooks_1.useLocalStorage)('tjsReactRTL')[0];
|
|
57
|
+
var isRTLMode = isRTL !== null && isRTL !== void 0 ? isRTL : false;
|
|
58
|
+
var nextBtnIconPrimary = isRTLMode ? angleLeft : angleRight;
|
|
59
|
+
var prevBtnIconPrimary = isRTLMode ? angleRight : angleLeft;
|
|
60
|
+
// Destruct props
|
|
61
|
+
var _v = (0, helpers_1.destructObj)(icons), _w = _v.activeDot, activeDot = _w === void 0 ? dotCircle : _w, _x = _v.dots, dots = _x === void 0 ? circle : _x, _y = _v.next, nextBtnIcon = _y === void 0 ? nextBtnIconPrimary : _y, _z = _v.prev, prevBtnIcon = _z === void 0 ? prevBtnIconPrimary : _z;
|
|
62
|
+
var _0 = (0, helpers_1.destructObj)(btnsLabel), _1 = _0.next, nextBtnLabel = _1 === void 0 ? '' : _1, _2 = _0.prev, prevBtnLabel = _2 === void 0 ? '' : _2;
|
|
63
|
+
// Hooks
|
|
64
|
+
var _3 = (0, useSlider_1.default)({
|
|
65
|
+
activeSlide: activeSlide - 1,
|
|
66
|
+
animationConfig: animationConfig,
|
|
67
|
+
autoPlayConfig: autoPlayConfig,
|
|
68
|
+
breakpoints: breakpoints,
|
|
69
|
+
draggable: draggable,
|
|
70
|
+
gap: gap,
|
|
71
|
+
isRTLMode: isRTLMode,
|
|
72
|
+
loop: loop,
|
|
73
|
+
slideToScroll: slideToScroll,
|
|
74
|
+
slideToShow: slideToShow,
|
|
75
|
+
totalSlides: (0, helpers_1.getArrayLength)(data),
|
|
76
|
+
variant: variant,
|
|
77
|
+
}), getActiveIndicatorIndex = _3.getActiveIndicatorIndex, getIndicatorCount = _3.getIndicatorCount, goToSlideIndicator = _3.goToSlideIndicator, handleNextSlide = _3.handleNextSlide, handlePrevSlide = _3.handlePrevSlide, hasNextBtnDisabled = _3.hasNextBtnDisabled, hasPrevBtnDisabled = _3.hasPrevBtnDisabled, sliderWrapperRef = _3.sliderWrapperRef;
|
|
78
|
+
var renderSlideItem = (0, helpers_1.isNullOrUndefined)(renderSlide)
|
|
79
|
+
? renderDefSlide
|
|
80
|
+
: function (item, index) {
|
|
81
|
+
var result = renderSlide(item, index);
|
|
82
|
+
return result !== null && result !== void 0 ? result : renderDefSlide(item);
|
|
83
|
+
};
|
|
84
|
+
function renderDefSlide(item) {
|
|
85
|
+
return (react_1.default.createElement("div", { className: 'w-100 p-6 bg-primary' },
|
|
86
|
+
react_1.default.createElement("p", { className: 'fs-40' }, item.label)));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* This helper function render the button based on the different label and custom icons.
|
|
90
|
+
* @param param0 takes a common property of btn
|
|
91
|
+
*/
|
|
92
|
+
function renderNavBtn(_a) {
|
|
93
|
+
var disabled = _a.disabled, icon = _a.icon, label = _a.label, onClick = _a.onClick;
|
|
94
|
+
return (react_1.default.createElement(Button_1.default, { disabled: disabled, icon: icon, label: label, variant: 'ghost', classnames: { button: 'fs-16 p-5 px-10' }, onClick: onClick }));
|
|
95
|
+
}
|
|
96
|
+
function renderDefPrevBtn() {
|
|
97
|
+
return renderNavBtn({
|
|
98
|
+
disabled: hasPrevBtnDisabled(),
|
|
99
|
+
icon: prevBtnIcon,
|
|
100
|
+
label: prevBtnLabel,
|
|
101
|
+
onClick: handlePrevSlide,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Determines which previous button to render based on whether a custom renderPrevBtn prop is provided.
|
|
106
|
+
* Falls back to the default previous button if no custom renderer is specified.
|
|
107
|
+
*/
|
|
108
|
+
function prevButtonElem() {
|
|
109
|
+
if ((0, helpers_1.isNullOrUndefined)(renderPrevBtn)) {
|
|
110
|
+
return renderDefPrevBtn();
|
|
111
|
+
}
|
|
112
|
+
var result = renderPrevBtn(handlePrevSlide, hasPrevBtnDisabled);
|
|
113
|
+
return result !== null && result !== void 0 ? result : renderDefPrevBtn();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Creates an extended slides array to support seamless looping.
|
|
117
|
+
*
|
|
118
|
+
* - Prepends the last `slideToShow` slides to allow backward looping
|
|
119
|
+
* - Appends the full slides array to allow forward looping
|
|
120
|
+
* - Results in a continuous sequence that prevents visual gaps
|
|
121
|
+
* when transitioning across boundaries
|
|
122
|
+
*
|
|
123
|
+
* Example:
|
|
124
|
+
* data = [A, B, C, D]
|
|
125
|
+
* extendedSlides = [D, A, B, C, D, A, B, C, D] slideToShow = 1
|
|
126
|
+
* extendedSlides = [C,D, A, B, C, D, A, B, C, D] slideToShow = 2
|
|
127
|
+
*/
|
|
128
|
+
var extendedSlides = (0, react_1.useMemo)(function () { return [data.slice(-slideToShow), data, data].flat(); }, [data, slideToShow]);
|
|
129
|
+
/**
|
|
130
|
+
* Creates a click handler for a slide item.
|
|
131
|
+
* Returns a function that invokes the onSlideClick callback with the item data.
|
|
132
|
+
* @param item - The slide data item
|
|
133
|
+
*/
|
|
134
|
+
function onSlideClickHandler(item, index) {
|
|
135
|
+
return function () {
|
|
136
|
+
onSlideClick === null || onSlideClick === void 0 ? void 0 : onSlideClick(item, index, {});
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Renders all slide items in the slider.
|
|
141
|
+
* Uses extended slides array for looping mode, otherwise uses the original data array.
|
|
142
|
+
* Each slide is wrapped in a button that handles click events.
|
|
143
|
+
*/
|
|
144
|
+
function renderSlides() {
|
|
145
|
+
if ((0, helpers_1.isArrayEmpty)(data))
|
|
146
|
+
return null;
|
|
147
|
+
var sliderArray = hasUseExtendedSlides ? extendedSlides : data;
|
|
148
|
+
return (react_1.default.createElement("div", { ref: sliderWrapperRef, className: 'd-flex' }, sliderArray === null || sliderArray === void 0 ? void 0 : sliderArray.map(function (item, index) { return (react_1.default.createElement(Button_1.default, { variant: 'ghost', key: (0, helpers_1.getKeyString)('slide', index), attributes: {
|
|
149
|
+
button: {
|
|
150
|
+
id: (0, helpers_1.getKeyString)('slide', index + 1),
|
|
151
|
+
'data-index': index,
|
|
152
|
+
},
|
|
153
|
+
}, classnames: {
|
|
154
|
+
button: (0, clsx_1.clsx)('p-0 rounded-100 bg-transparent', variant === 'vertical' && 'vertical'),
|
|
155
|
+
}, onClick: onSlideClickHandler(item, index) }, renderSlideItem(item))); })));
|
|
156
|
+
}
|
|
157
|
+
function renderDefNextBtn() {
|
|
158
|
+
return renderNavBtn({
|
|
159
|
+
disabled: hasNextBtnDisabled(),
|
|
160
|
+
icon: nextBtnIcon,
|
|
161
|
+
label: nextBtnLabel,
|
|
162
|
+
onClick: handleNextSlide,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Determines which next button to render based on whether a custom renderNextBtn prop is provided.
|
|
167
|
+
* Falls back to the default next button if no custom renderer is specified.
|
|
168
|
+
*/
|
|
169
|
+
function nextButtonElem() {
|
|
170
|
+
if ((0, helpers_1.isNullOrUndefined)(renderNextBtn)) {
|
|
171
|
+
return renderDefNextBtn();
|
|
172
|
+
}
|
|
173
|
+
var result = renderNextBtn(handleNextSlide, hasNextBtnDisabled);
|
|
174
|
+
return result !== null && result !== void 0 ? result : renderDefNextBtn();
|
|
175
|
+
}
|
|
176
|
+
/** This callback function handle the indicator click event and call the go to indicator. */
|
|
177
|
+
function handleIndicatorEvent(idx) {
|
|
178
|
+
return function () {
|
|
179
|
+
goToSlideIndicator(idx);
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Function is render the indicator item and add the active indicator icons based active slide index.
|
|
184
|
+
* @param index index of the indicator items.
|
|
185
|
+
*/
|
|
186
|
+
function renderIndicator(index) {
|
|
187
|
+
if (!hasUseExtendedSlides)
|
|
188
|
+
return undefined;
|
|
189
|
+
var isActive = index === getActiveIndicatorIndex();
|
|
190
|
+
var indicatorIcon = isActive ? activeDot : dots;
|
|
191
|
+
return (react_1.default.createElement(Button_1.default, { key: (0, helpers_1.getKeyString)('ctrl-dot', index), icon: indicatorIcon, variant: 'ghost', onClick: handleIndicatorEvent(index), classnames: { button: 'fs-16' } }));
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Function responsible for render the indication icons based on the indicator count.
|
|
195
|
+
* create dynamic array based on the number for indicators.
|
|
196
|
+
*/
|
|
197
|
+
function renderIndicators() {
|
|
198
|
+
var numberOfIndictor = getIndicatorCount();
|
|
199
|
+
if ((0, helpers_1.isNullOrUndefined)(numberOfIndictor))
|
|
200
|
+
return undefined;
|
|
201
|
+
return (react_1.default.createElement("div", { className: 'd-flex justify-content-center gap-10' }, (0, helpers_1.createDynamicArray)(numberOfIndictor).map(function (_, index) { return renderIndicator(index); })));
|
|
202
|
+
}
|
|
203
|
+
return (react_1.default.createElement("div", { className: 'tjs-slick-slider' },
|
|
204
|
+
react_1.default.createElement("div", { className: 'd-flex align-items-center justify-content-between mb-10' },
|
|
205
|
+
showCtrlBtns ? prevButtonElem() : null,
|
|
206
|
+
react_1.default.createElement("div", { className: 'overflow-hidden w-100' }, renderSlides()),
|
|
207
|
+
showCtrlBtns ? nextButtonElem() : null),
|
|
208
|
+
showIndicator ? renderIndicators() : null));
|
|
209
|
+
}
|
|
210
|
+
exports.default = SlickSlider;
|
|
211
|
+
//# sourceMappingURL=SlickSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlickSlider.js","sourceRoot":"","sources":["../../../../src/components/Slider/SlickSlider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Configurable slide animation (speed, easing)
|
|
12
|
+
* - Autoplay support with interval and pause-on-hover options
|
|
13
|
+
* - Looping with seamless slide cloning
|
|
14
|
+
* - Center mode with active slide highlighting
|
|
15
|
+
* - Custom next/previous navigation buttons
|
|
16
|
+
* - Optional slide indicators (dots)
|
|
17
|
+
* - Custom slide rendering via render props
|
|
18
|
+
* - Click handling for individual slides
|
|
19
|
+
*
|
|
20
|
+
* Note: tjs-slick-slider this class only added for sample
|
|
21
|
+
* -----------------------------------------------------------------------------
|
|
22
|
+
* Copyright © 2025 BookingKoala. All rights reserved.
|
|
23
|
+
* -----------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
import { type MouseEvent, type ReactElement } from 'react';
|
|
26
|
+
import { SlickSliderConfig } from './useSliderBreakpoint';
|
|
27
|
+
export interface SlickSliderDataProps {
|
|
28
|
+
id: number;
|
|
29
|
+
label: string;
|
|
30
|
+
url: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SlickSliderAutoPlayConfig {
|
|
33
|
+
enable?: boolean;
|
|
34
|
+
interval?: number;
|
|
35
|
+
pauseOnHover?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface SlickSliderAnimationConfig {
|
|
38
|
+
easing?: string;
|
|
39
|
+
speed?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface SlickSliderProps {
|
|
42
|
+
activeSlide?: number;
|
|
43
|
+
animationConfig?: SlickSliderAnimationConfig;
|
|
44
|
+
autoPlayConfig?: SlickSliderAutoPlayConfig;
|
|
45
|
+
breakpoints?: SlickSliderConfig[];
|
|
46
|
+
btnsLabel?: {
|
|
47
|
+
next?: string;
|
|
48
|
+
prev?: string;
|
|
49
|
+
};
|
|
50
|
+
data: SlickSliderDataProps[];
|
|
51
|
+
draggable?: {
|
|
52
|
+
dragThreshold?: number;
|
|
53
|
+
enableDrag?: boolean;
|
|
54
|
+
};
|
|
55
|
+
gap?: number;
|
|
56
|
+
icons?: {
|
|
57
|
+
activeDot?: string;
|
|
58
|
+
dots?: string;
|
|
59
|
+
next?: string;
|
|
60
|
+
prev?: string;
|
|
61
|
+
};
|
|
62
|
+
loop?: boolean;
|
|
63
|
+
onSlideClick?: (item: SlickSliderDataProps, index: number, event: MouseEvent<HTMLButtonElement>) => void;
|
|
64
|
+
renderNextBtn?: (handleNextSlide: () => void, hasNextBtnDisabled: () => boolean) => ReactElement;
|
|
65
|
+
renderPrevBtn?: (handlePrevSlide: () => void, hasPrevBtnDisabled: () => boolean) => ReactElement;
|
|
66
|
+
renderSlide?: (slideItem: SlickSliderDataProps, index?: number) => null | ReactElement;
|
|
67
|
+
showCtrlBtns?: boolean;
|
|
68
|
+
showIndicator?: boolean;
|
|
69
|
+
slideToScroll?: number;
|
|
70
|
+
slideToShow?: number;
|
|
71
|
+
variant?: 'horizontal' | 'vertical';
|
|
72
|
+
}
|
|
73
|
+
declare function SlickSlider({ activeSlide, animationConfig, autoPlayConfig, breakpoints, btnsLabel, data, draggable, gap, icons, loop, onSlideClick, renderNextBtn, renderPrevBtn, renderSlide, showCtrlBtns, showIndicator, slideToScroll, slideToShow, variant }: Readonly<SlickSliderProps>): ReactElement;
|
|
74
|
+
export default SlickSlider;
|