farm-react 1.0.7 → 1.0.9
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 +25347 -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 +56 -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/Popover.d.ts +56 -0
- package/dist/cjs/components/Popover.js +34 -0
- package/dist/cjs/components/Popover.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/RadioButtonGroup.d.ts +67 -0
- package/dist/cjs/components/RadioButtonGroup.js +141 -0
- package/dist/cjs/components/RadioButtonGroup.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/Search.d.ts +6 -0
- package/dist/cjs/components/Search.js +11 -0
- package/dist/cjs/components/Search.js.map +1 -0
- 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/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 +158 -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 +35 -4
- package/dist/cjs/components/TextInput.js +97 -11
- 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/components/Tooltip.d.ts +32 -0
- package/dist/cjs/components/Tooltip.js +35 -0
- package/dist/cjs/components/Tooltip.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 +10 -0
- package/dist/cjs/constants/icons.js +14 -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 +23 -5
- package/dist/cjs/index.js +47 -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/cjs/subComponent/DateRange.js +2 -0
- package/dist/cjs/subComponent/DateRange.js.map +1 -0
- package/dist/cjs/subComponent/ToggleButton.d.ts +9 -0
- package/dist/cjs/subComponent/ToggleButton.js +19 -0
- package/dist/cjs/subComponent/ToggleButton.js.map +1 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtn.d.ts +43 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtn.js +43 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtn.js.map +1 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtnGroup.d.ts +43 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtnGroup.js +53 -0
- package/dist/cjs/subComponent/toggleBtnGroup/ToggleBtnGroup.js.map +1 -0
- 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 +56 -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/Popover.d.ts +56 -0
- package/dist/esm/components/Popover.js +32 -0
- package/dist/esm/components/Popover.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/RadioButtonGroup.d.ts +67 -0
- package/dist/esm/components/RadioButtonGroup.js +139 -0
- package/dist/esm/components/RadioButtonGroup.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/Search.d.ts +6 -0
- package/dist/esm/components/Search.js +8 -0
- package/dist/esm/components/Search.js.map +1 -0
- 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/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 +156 -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 +35 -4
- package/dist/esm/components/TextInput.js +99 -12
- 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/components/Tooltip.d.ts +32 -0
- package/dist/esm/components/Tooltip.js +33 -0
- package/dist/esm/components/Tooltip.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 +10 -0
- package/dist/esm/constants/icons.js +12 -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 +23 -5
- package/dist/esm/index.js +23 -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/esm/subComponent/DateRange.js +2 -0
- package/dist/esm/subComponent/DateRange.js.map +1 -0
- package/dist/esm/subComponent/ToggleButton.d.ts +9 -0
- package/dist/esm/subComponent/ToggleButton.js +17 -0
- package/dist/esm/subComponent/ToggleButton.js.map +1 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtn.d.ts +43 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtn.js +41 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtn.js.map +1 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtnGroup.d.ts +43 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtnGroup.js +51 -0
- package/dist/esm/subComponent/toggleBtnGroup/ToggleBtnGroup.js.map +1 -0
- package/dist/package.json +1 -1
- package/package.json +6 -4
- package/dist/cjs/strings/index.js +0 -2
- package/dist/cjs/strings/index.js.map +0 -1
- package/dist/esm/strings/index.js +0 -2
- package/dist/esm/strings/index.js.map +0 -1
- /package/dist/cjs/{strings/index.d.ts → subComponent/DateRange.d.ts} +0 -0
- /package/dist/esm/{strings/index.d.ts → subComponent/DateRange.d.ts} +0 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* -----------------------------------------------------------------------------
|
|
6
|
+
* @component RadioButtonGroup
|
|
7
|
+
* -----------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* @description This component is responsible for rendering group of radio buttons, radio buttons can be rendered using the radioBtns prop.
|
|
10
|
+
* The radioBtns is an array which consists of objects, each object representing a radio button with respective properties.
|
|
11
|
+
* React-Hook-Form can be bind to this component.
|
|
12
|
+
*
|
|
13
|
+
* -----------------------------------------------------------------------------
|
|
14
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
15
|
+
* -----------------------------------------------------------------------------
|
|
16
|
+
*/
|
|
17
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
18
|
+
var clsx_1 = require("clsx");
|
|
19
|
+
var FormText_1 = tslib_1.__importDefault(require("react-bootstrap/FormText"));
|
|
20
|
+
var react_hook_form_1 = require("react-hook-form");
|
|
21
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
22
|
+
var Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
23
|
+
var helpers_1 = require("../helpers");
|
|
24
|
+
var ToggleBtn_1 = tslib_1.__importDefault(require("../subComponent/toggleBtnGroup/ToggleBtn"));
|
|
25
|
+
var ToggleBtnGroup_1 = tslib_1.__importDefault(require("../subComponent/toggleBtnGroup/ToggleBtnGroup"));
|
|
26
|
+
/** Component to add wrapper on the children based on the presence of the label and description. */
|
|
27
|
+
function Wrapper(_a) {
|
|
28
|
+
var show = _a.show, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.attributes, attributes = _c === void 0 ? {} : _c, children = _a.children;
|
|
29
|
+
return show ? (react_1.default.createElement("div", tslib_1.__assign({}, attributes, { className: className }), children)) : (children);
|
|
30
|
+
}
|
|
31
|
+
function RadioButtonGroup(_a) {
|
|
32
|
+
var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.isSpaced, isSpaced = _c === void 0 ? false : _c, _d = _a.vertical, vertical = _d === void 0 ? false : _d, _e = _a.description, description = _e === void 0 ? '' : _e, _f = _a.gap, gap = _f === void 0 ? '1rem' : _f, _g = _a.name, name = _g === void 0 ? 'radio-btn' : _g, _h = _a.size, size = _h === void 0 ? undefined : _h, _j = _a.variant, variant = _j === void 0 ? 'outline-light' : _j, _k = _a.value, value = _k === void 0 ? '' : _k, _l = _a.attributes, attributes = _l === void 0 ? undefined : _l, _m = _a.classnames, classnames = _m === void 0 ? undefined : _m, _o = _a.labelProps, labelProps = _o === void 0 ? {} : _o, _p = _a.methods, methods = _p === void 0 ? undefined : _p, _q = _a.radioBtns, radioBtns = _q === void 0 ? [] : _q, _r = _a.onChange, onChange = _r === void 0 ? undefined : _r, _s = _a.renderOptions, renderOptions = _s === void 0 ? undefined : _s;
|
|
33
|
+
var control = (0, helpers_1.destructObj)(methods).control;
|
|
34
|
+
// Stateless variables.
|
|
35
|
+
var hasDesc = (0, helpers_1.isStrNotEmpty)(description);
|
|
36
|
+
var hasLabel = (0, helpers_1.isStrNotEmpty)(labelProps === null || labelProps === void 0 ? void 0 : labelProps.label);
|
|
37
|
+
var hasRadioBtns = (0, helpers_1.isArrayNotEmpty)(radioBtns);
|
|
38
|
+
var hasHookFormBind = (0, helpers_1.isObjectNotEmpty)(methods);
|
|
39
|
+
// Destruct classes and attributes.
|
|
40
|
+
var _t = (0, helpers_1.destructObj)(classnames), wrapperClass = _t.wrapper, btnGroupClass = _t.btnGroup, btnClass = _t.button, iconClass = _t.icon, descClass = _t.description;
|
|
41
|
+
var _u = (0, helpers_1.destructObj)(attributes), wrapperAttr = _u.wrapper, btnGroupAttr = _u.btnGroup, btnAttr = _u.button, descAttr = _u.description;
|
|
42
|
+
// This state variable 'radioBtnVal' is used to manage the selected radio button value internally.
|
|
43
|
+
var _v = (0, react_1.useState)(value), radioBtnVal = _v[0], setRadioBtnVal = _v[1];
|
|
44
|
+
/** Lifecycle method to update the value incase user has changed the value programmatically(dynamically). */
|
|
45
|
+
(0, react_1.useEffect)(function () {
|
|
46
|
+
if (!hasHookFormBind) {
|
|
47
|
+
setRadioBtnVal(value);
|
|
48
|
+
}
|
|
49
|
+
}, [value]);
|
|
50
|
+
function isWrapperPresent() {
|
|
51
|
+
return hasLabel || hasDesc;
|
|
52
|
+
}
|
|
53
|
+
function renderLabel() {
|
|
54
|
+
return hasLabel ? react_1.default.createElement(Label_1.default, tslib_1.__assign({}, labelProps)) : null;
|
|
55
|
+
}
|
|
56
|
+
function getToggleBtnGrpCommonProps() {
|
|
57
|
+
var toggleBtnGrpCommonProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, btnGroupAttr), { vertical: vertical, name: name, size: size, type: 'radio', className: (0, clsx_1.clsx)(isSpaced ? 'spaced-btn-group flex-wrap' : 'd-flex', btnGroupClass) }), (isSpaced ? { style: { '--radio-btns-gap': gap } } : {}));
|
|
58
|
+
return toggleBtnGrpCommonProps;
|
|
59
|
+
}
|
|
60
|
+
function getIcon(isLabelPresent, iconProps, tooltip) {
|
|
61
|
+
var _a;
|
|
62
|
+
var _b = (0, helpers_1.destructObj)(iconProps), icon = _b.icon, position = _b.position;
|
|
63
|
+
var iconMargin = position === 'start' ? 'me-5' : 'ms-5';
|
|
64
|
+
var iconElement = react_1.default.createElement("i", { className: (0, clsx_1.clsx)(icon, (_a = {}, _a[iconMargin] = isLabelPresent, _a), iconClass) });
|
|
65
|
+
return isSpaced ? react_1.default.createElement(react_bootstrap_1.Tooltip, tslib_1.__assign({}, tooltip), iconElement) : iconElement;
|
|
66
|
+
}
|
|
67
|
+
function getRadioBtnContent(radioBtnContentProps) {
|
|
68
|
+
var _a = (0, helpers_1.destructObj)(radioBtnContentProps), iconProps = _a.iconProps, label = _a.label, className = _a.className, tooltip = _a.tooltip;
|
|
69
|
+
var isLabelPresent = (0, helpers_1.isStrNotEmpty)(label);
|
|
70
|
+
var isIconPresent = (0, helpers_1.isStrNotEmpty)(iconProps === null || iconProps === void 0 ? void 0 : iconProps.icon);
|
|
71
|
+
var isIconPositionStart = (iconProps === null || iconProps === void 0 ? void 0 : iconProps.position) === 'start';
|
|
72
|
+
var iconElement = getIcon(isLabelPresent, iconProps, tooltip);
|
|
73
|
+
// Note - Adding button classes to button's content wrapper to fix tooltip issue.
|
|
74
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.clsx)(className, 'p-10 px-20') },
|
|
75
|
+
isIconPresent && isIconPositionStart ? iconElement : null,
|
|
76
|
+
isLabelPresent ? label : null,
|
|
77
|
+
isIconPresent && !isIconPositionStart ? iconElement : null));
|
|
78
|
+
}
|
|
79
|
+
function handleOnChange(event) {
|
|
80
|
+
var _a;
|
|
81
|
+
var selectedVal = (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value;
|
|
82
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectedVal, event);
|
|
83
|
+
setRadioBtnVal(selectedVal);
|
|
84
|
+
}
|
|
85
|
+
function renderBtnContent(_a) {
|
|
86
|
+
var radioBtn = _a.radioBtn, isTooltipPresent = _a.isTooltipPresent, tooltip = _a.tooltip, btnContent = _a.btnContent;
|
|
87
|
+
if (renderOptions) {
|
|
88
|
+
return renderOptions === null || renderOptions === void 0 ? void 0 : renderOptions(radioBtn);
|
|
89
|
+
}
|
|
90
|
+
if (isTooltipPresent && !isSpaced) {
|
|
91
|
+
return react_1.default.createElement(react_bootstrap_1.Tooltip, tslib_1.__assign({}, tooltip), btnContent);
|
|
92
|
+
}
|
|
93
|
+
return btnContent;
|
|
94
|
+
}
|
|
95
|
+
function renderRadioBtns() {
|
|
96
|
+
return radioBtns.map(function (radioBtn, index) {
|
|
97
|
+
var _a = (0, helpers_1.destructObj)(radioBtn), radioBtnDescProps = _a.descProps, label = _a.label, _b = _a.value, btnVal = _b === void 0 ? '' : _b, iconProps = _a.iconProps, className = _a.className, tooltip = _a.tooltip, disabledBtn = _a.disabled, restRadioBtnProps = tslib_1.__rest(_a, ["descProps", "label", "value", "iconProps", "className", "tooltip", "disabled"]);
|
|
98
|
+
if ((0, helpers_1.isStrEmpty)(label) && (0, helpers_1.isStrEmpty)(iconProps === null || iconProps === void 0 ? void 0 : iconProps.icon))
|
|
99
|
+
return null;
|
|
100
|
+
var isTooltipPresent = (0, helpers_1.isStrNotEmpty)(tooltip === null || tooltip === void 0 ? void 0 : tooltip.content);
|
|
101
|
+
var btnContent = getRadioBtnContent({ label: label, iconProps: iconProps, className: className, tooltip: tooltip });
|
|
102
|
+
var isBtnDisabled = disabled || disabledBtn;
|
|
103
|
+
var toggleBtnProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ isSpaced: isSpaced, descProps: radioBtnDescProps, name: name }, btnAttr), { disabled: isBtnDisabled }), restRadioBtnProps), { type: 'radio', variant: variant, value: btnVal, 'aria-label': label, className: (0, clsx_1.clsx)(btnClass, 'p-0') });
|
|
104
|
+
return (react_1.default.createElement(ToggleBtn_1.default, tslib_1.__assign({ key: (0, helpers_1.getKeyString)(btnVal.toString(), index) }, toggleBtnProps, { children: renderBtnContent({ radioBtn: radioBtn, isTooltipPresent: isTooltipPresent, tooltip: tooltip, btnContent: btnContent }) })));
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function handleRHFChange(fieldOnChange) {
|
|
108
|
+
return function (event) {
|
|
109
|
+
var value = event.target.value;
|
|
110
|
+
fieldOnChange(value);
|
|
111
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function renderToggleBtnGroup(_a) {
|
|
115
|
+
var _b = _a.field, controllerOnChange = _b.onChange, fieldVal = _b.value;
|
|
116
|
+
return (react_1.default.createElement(ToggleBtnGroup_1.default, tslib_1.__assign({}, getToggleBtnGrpCommonProps(), { value: fieldVal, onChange: handleRHFChange(controllerOnChange) }), renderRadioBtns()));
|
|
117
|
+
}
|
|
118
|
+
function renderRadioBtnGrpWithRhf() {
|
|
119
|
+
return react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, defaultValue: value, render: renderToggleBtnGroup });
|
|
120
|
+
}
|
|
121
|
+
function renderRadioBtnGrpWithoutRfh() {
|
|
122
|
+
return (react_1.default.createElement(ToggleBtnGroup_1.default, tslib_1.__assign({}, getToggleBtnGrpCommonProps(), { value: radioBtnVal, onChange: handleOnChange }), renderRadioBtns()));
|
|
123
|
+
}
|
|
124
|
+
/** This function determines whether radio button group should be rendered with or without react-hook-form. */
|
|
125
|
+
function renderRadioBtnGrp() {
|
|
126
|
+
if (!hasRadioBtns) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return hasHookFormBind ? renderRadioBtnGrpWithRhf() : renderRadioBtnGrpWithoutRfh();
|
|
130
|
+
}
|
|
131
|
+
function renderDesc() {
|
|
132
|
+
return hasDesc ? (react_1.default.createElement(FormText_1.default, tslib_1.__assign({}, descAttr, { className: (0, clsx_1.clsx)(descClass, 'fs-12') }), description)) : null;
|
|
133
|
+
}
|
|
134
|
+
return (react_1.default.createElement(Wrapper, { attributes: wrapperAttr, className: (0, clsx_1.clsx)(wrapperClass, isSpaced && 'd-flex flex-column'), show: isWrapperPresent() },
|
|
135
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
136
|
+
renderLabel(),
|
|
137
|
+
renderRadioBtnGrp(),
|
|
138
|
+
renderDesc())));
|
|
139
|
+
}
|
|
140
|
+
exports.default = RadioButtonGroup;
|
|
141
|
+
//# sourceMappingURL=RadioButtonGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type LabelProps } from './Label';
|
|
3
|
+
interface Classnames {
|
|
4
|
+
wrapper?: string;
|
|
5
|
+
range?: string;
|
|
6
|
+
value?: string;
|
|
7
|
+
}
|
|
8
|
+
interface Attributes {
|
|
9
|
+
wrapper?: object;
|
|
10
|
+
range?: object;
|
|
11
|
+
value?: object;
|
|
12
|
+
}
|
|
13
|
+
export interface RangeSliderProps {
|
|
14
|
+
min?: number;
|
|
15
|
+
max?: number;
|
|
16
|
+
step?: number;
|
|
17
|
+
value?: number;
|
|
18
|
+
defaultValue?: number;
|
|
19
|
+
classnames?: Classnames;
|
|
20
|
+
attributes?: Attributes;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
showValue?: boolean;
|
|
23
|
+
showTooltip?: boolean;
|
|
24
|
+
labelProps?: LabelProps;
|
|
25
|
+
onChange?: (value: number) => void;
|
|
26
|
+
onSlideStart?: () => void;
|
|
27
|
+
onSlideEnd?: () => void;
|
|
28
|
+
}
|
|
29
|
+
declare function RangeSlider({ min, max, step, value, classnames, attributes, defaultValue, disabled, showValue, showTooltip, labelProps, onChange, onSlideStart, onSlideEnd, }: RangeSliderProps): React.JSX.Element;
|
|
30
|
+
export default RangeSlider;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importStar(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 Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
9
|
+
function RangeSlider(_a) {
|
|
10
|
+
var _b = _a.min, min = _b === void 0 ? 0 : _b, _c = _a.max, max = _c === void 0 ? 100 : _c, _d = _a.step, step = _d === void 0 ? 1 : _d, value = _a.value, _e = _a.classnames, classnames = _e === void 0 ? undefined : _e, _f = _a.attributes, attributes = _f === void 0 ? undefined : _f, _g = _a.defaultValue, defaultValue = _g === void 0 ? min : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.showValue, showValue = _j === void 0 ? true : _j, _k = _a.showTooltip, showTooltip = _k === void 0 ? true : _k, _l = _a.labelProps, labelProps = _l === void 0 ? undefined : _l, onChange = _a.onChange, onSlideStart = _a.onSlideStart, onSlideEnd = _a.onSlideEnd;
|
|
11
|
+
var _m = (0, helpers_1.destructObj)(classnames), wrapperClass = _m.wrapper, rangeClass = _m.range, valueClass = _m.value;
|
|
12
|
+
var _o = (0, helpers_1.destructObj)(attributes), wrapperAttr = _o.wrapper, rangeAttr = _o.range, valueAttr = _o.value;
|
|
13
|
+
var isControlled = value !== undefined;
|
|
14
|
+
var _p = (0, react_1.useState)(defaultValue), internalValue = _p[0], setInternalValue = _p[1];
|
|
15
|
+
var _q = (0, react_1.useState)(false), dragging = _q[0], setDragging = _q[1];
|
|
16
|
+
var target = (0, react_1.useRef)(null);
|
|
17
|
+
var currentValue = isControlled ? value : internalValue;
|
|
18
|
+
function handleChange(e) {
|
|
19
|
+
var val = Number(e.target.value);
|
|
20
|
+
if (!isControlled)
|
|
21
|
+
setInternalValue(val);
|
|
22
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
23
|
+
}
|
|
24
|
+
function handleMouseDown() {
|
|
25
|
+
setDragging(true);
|
|
26
|
+
onSlideStart === null || onSlideStart === void 0 ? void 0 : onSlideStart();
|
|
27
|
+
}
|
|
28
|
+
function handleMouseUp() {
|
|
29
|
+
setDragging(false);
|
|
30
|
+
onSlideEnd === null || onSlideEnd === void 0 ? void 0 : onSlideEnd();
|
|
31
|
+
}
|
|
32
|
+
function renderLabel() {
|
|
33
|
+
if ((0, helpers_1.isObjEmpty)(labelProps))
|
|
34
|
+
return null;
|
|
35
|
+
return react_1.default.createElement(Label_1.default, tslib_1.__assign({}, labelProps));
|
|
36
|
+
}
|
|
37
|
+
function renderTooltip(props) {
|
|
38
|
+
return react_1.default.createElement(react_bootstrap_1.Tooltip, tslib_1.__assign({}, props), currentValue);
|
|
39
|
+
}
|
|
40
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)('range-slider', wrapperClass) }, wrapperAttr),
|
|
41
|
+
renderLabel(),
|
|
42
|
+
react_1.default.createElement("div", { className: 'd-flex align-items-center' },
|
|
43
|
+
react_1.default.createElement(react_bootstrap_1.Form.Range, tslib_1.__assign({ ref: target, min: min, max: max, step: step, value: currentValue, disabled: disabled, onChange: handleChange, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, role: 'slider', className: (0, clsx_1.default)(' w-100', rangeClass) }, rangeAttr)),
|
|
44
|
+
showValue && (react_1.default.createElement("p", tslib_1.__assign({ className: (0, clsx_1.default)('mb-2 ms-5', valueClass) }, valueAttr), currentValue)),
|
|
45
|
+
showTooltip && (react_1.default.createElement(react_bootstrap_1.Overlay, { target: target.current, show: dragging, placement: 'top' }, renderTooltip)))));
|
|
46
|
+
}
|
|
47
|
+
exports.default = RangeSlider;
|
|
48
|
+
//# sourceMappingURL=RangeSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeSlider.js","sourceRoot":"","sources":["../../../src/components/RangeSlider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
5
|
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
6
|
var app_1 = require("../helpers/app");
|
|
7
7
|
function RatingDisplay(_a) {
|
|
@@ -30,10 +30,13 @@ function RatingDisplay(_a) {
|
|
|
30
30
|
.toString();
|
|
31
31
|
}
|
|
32
32
|
function renderLabelText() {
|
|
33
|
-
return (
|
|
33
|
+
return (react_1.default.createElement("span", tslib_1.__assign({}, labelAttr, { className: (0, clsx_1.default)(labelClass) }), getFormattedVal()));
|
|
34
34
|
}
|
|
35
|
-
return (
|
|
36
|
-
|
|
35
|
+
return (react_1.default.createElement("div", tslib_1.__assign({}, wrapperAttr, { className: (0, clsx_1.default)('d-flex align-items-center gap-2', wrapperClass) }),
|
|
36
|
+
(0, app_1.isArrayNotEmpty)(createRatingsArr()) &&
|
|
37
|
+
createRatingsArr().map(function (star) { return (react_1.default.createElement("span", { key: star, className: "d-flex align-items-center ".concat(isInteractive ? 'rating-hover' : 'disabled-rating'), onClick: function () { return (isInteractive ? onClick(star) : undefined); } },
|
|
38
|
+
react_1.default.createElement("i", tslib_1.__assign({}, iconAttr, { className: (0, clsx_1.default)(icon, iconClass, star <= activeIcons ? 'text-warning' : 'text-secondary', isInteractive ? 'cursor-pointer' : 'cursor-default pe-none') })))); }),
|
|
39
|
+
!hideLabel ? renderLabelText() : null));
|
|
37
40
|
}
|
|
38
41
|
exports.default = RatingDisplay;
|
|
39
42
|
//# sourceMappingURL=RatingDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatingDisplay.js","sourceRoot":"","sources":["../../../src/components/RatingDisplay.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RatingDisplay.js","sourceRoot":"","sources":["../../../src/components/RatingDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
function Search(_a) {
|
|
6
|
+
var value = _a.value;
|
|
7
|
+
console.log(value);
|
|
8
|
+
return react_1.default.createElement("div", null, "Search");
|
|
9
|
+
}
|
|
10
|
+
exports.default = Search;
|
|
11
|
+
//# sourceMappingURL=Search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/components/Search.tsx"],"names":[],"mappings":";;;AAAA,wDAA2C;AAM3C,SAAS,MAAM,CAAC,EAAsB;QAApB,KAAK,WAAA;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,oDAAiB,CAAA;AAC1B,CAAC;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type LabelProps } from './Label';
|
|
3
|
+
type SelectVariant = 'normal' | 'floating';
|
|
4
|
+
type SelectSize = 'sm' | 'lg';
|
|
5
|
+
interface SelectOption {
|
|
6
|
+
value: string | number;
|
|
7
|
+
label: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
interface SelectClassNames {
|
|
12
|
+
wrapper?: string;
|
|
13
|
+
select?: string;
|
|
14
|
+
option?: string;
|
|
15
|
+
description: string;
|
|
16
|
+
}
|
|
17
|
+
interface Attributes {
|
|
18
|
+
wrapper?: object;
|
|
19
|
+
select?: object;
|
|
20
|
+
option?: object;
|
|
21
|
+
description: object;
|
|
22
|
+
}
|
|
23
|
+
export interface SelectProps {
|
|
24
|
+
options?: SelectOption[];
|
|
25
|
+
labelProps?: LabelProps;
|
|
26
|
+
id?: string;
|
|
27
|
+
size?: SelectSize;
|
|
28
|
+
description?: string;
|
|
29
|
+
attributes?: Attributes;
|
|
30
|
+
classnames?: SelectClassNames;
|
|
31
|
+
isValid?: boolean;
|
|
32
|
+
onChange?: (value?: string | number | SelectOption | null) => void;
|
|
33
|
+
returnType?: 'value' | 'object';
|
|
34
|
+
name?: string;
|
|
35
|
+
isInvalid?: boolean;
|
|
36
|
+
value?: string | number;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
variant?: SelectVariant;
|
|
39
|
+
}
|
|
40
|
+
declare function Select({ labelProps, classnames, options, description, attributes, size, id, isValid, returnType, name, value, isInvalid, disabled, variant, onChange, ...rest }: SelectProps): React.JSX.Element;
|
|
41
|
+
export default Select;
|
|
@@ -0,0 +1,48 @@
|
|
|
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 app_1 = require("../helpers/app");
|
|
8
|
+
var Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
9
|
+
function Select(_a) {
|
|
10
|
+
var _b = _a.labelProps, labelProps = _b === void 0 ? undefined : _b, _c = _a.classnames, classnames = _c === void 0 ? undefined : _c, _d = _a.options, options = _d === void 0 ? [] : _d, _e = _a.description, description = _e === void 0 ? undefined : _e, _f = _a.attributes, attributes = _f === void 0 ? undefined : _f, _g = _a.size, size = _g === void 0 ? undefined : _g, _h = _a.id, id = _h === void 0 ? '' : _h, _j = _a.isValid, isValid = _j === void 0 ? false : _j, _k = _a.returnType, returnType = _k === void 0 ? 'value' : _k, _l = _a.name, name = _l === void 0 ? '' : _l, _m = _a.value, value = _m === void 0 ? undefined : _m, _o = _a.isInvalid, isInvalid = _o === void 0 ? false : _o, _p = _a.disabled, disabled = _p === void 0 ? false : _p, _q = _a.variant, variant = _q === void 0 ? 'normal' : _q, _r = _a.onChange, onChange = _r === void 0 ? undefined : _r, rest = tslib_1.__rest(_a, ["labelProps", "classnames", "options", "description", "attributes", "size", "id", "isValid", "returnType", "name", "value", "isInvalid", "disabled", "variant", "onChange"]);
|
|
11
|
+
var _s = (0, app_1.destructObj)(classnames), wrapperClass = _s.wrapper, selectClass = _s.select, optionClass = _s.option, descClass = _s.description;
|
|
12
|
+
var _t = (0, app_1.destructObj)(attributes), wrapperAttr = _t.wrapper, selectAttr = _t.select, optionAttr = _t.option, descAttr = _t.description;
|
|
13
|
+
var isFloatingVariantEnable = variant === 'floating';
|
|
14
|
+
/** Label */
|
|
15
|
+
function renderSelectLabel() {
|
|
16
|
+
if ((0, app_1.isStrEmpty)(labelProps === null || labelProps === void 0 ? void 0 : labelProps.label))
|
|
17
|
+
return null;
|
|
18
|
+
return react_1.default.createElement(Label_1.default, tslib_1.__assign({ id: id }, labelProps));
|
|
19
|
+
}
|
|
20
|
+
/** Description */
|
|
21
|
+
function renderSelectDesc() {
|
|
22
|
+
if ((0, app_1.isStrEmpty)(description))
|
|
23
|
+
return null;
|
|
24
|
+
return (react_1.default.createElement("small", tslib_1.__assign({ className: descClass }, descAttr), description));
|
|
25
|
+
}
|
|
26
|
+
function renderOptionItem(item) {
|
|
27
|
+
var _a = (0, app_1.destructObj)(item), label = _a.label, value = _a.value, disabled = _a.disabled;
|
|
28
|
+
return (react_1.default.createElement("option", tslib_1.__assign({ key: value, value: value, disabled: disabled, className: (0, clsx_1.default)(optionClass) }, optionAttr), label));
|
|
29
|
+
}
|
|
30
|
+
function handleSelectOnchange(event) {
|
|
31
|
+
var selectedValue = event.target.value;
|
|
32
|
+
var selectedOption = options.find(function (opt) { return String(opt.value) === selectedValue; }) || null;
|
|
33
|
+
if (returnType === 'object') {
|
|
34
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectedOption);
|
|
35
|
+
}
|
|
36
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectedValue);
|
|
37
|
+
}
|
|
38
|
+
function renderSelect() {
|
|
39
|
+
return (react_1.default.createElement(react_bootstrap_1.Form.Select, tslib_1.__assign({ className: (0, clsx_1.default)(selectClass), size: size, isValid: isValid, id: id, disabled: disabled, value: value, isInvalid: isInvalid, name: name, onChange: handleSelectOnchange }, selectAttr, rest), (0, app_1.isArrayNotEmpty)(options) && options.map(function (option) { return renderOptionItem(option); })));
|
|
40
|
+
}
|
|
41
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(wrapperClass, { 'form-floating': isFloatingVariantEnable }) }, wrapperAttr),
|
|
42
|
+
!isFloatingVariantEnable && renderSelectLabel(),
|
|
43
|
+
renderSelect(),
|
|
44
|
+
isFloatingVariantEnable && renderSelectLabel(),
|
|
45
|
+
renderSelectDesc()));
|
|
46
|
+
}
|
|
47
|
+
exports.default = Select;
|
|
48
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React, { type ReactElement } from 'react';
|
|
2
|
+
import { type SpinnerProps } from 'react-bootstrap';
|
|
3
|
+
interface Classnames {
|
|
4
|
+
wrapper?: string;
|
|
5
|
+
text?: string;
|
|
6
|
+
circle?: string;
|
|
7
|
+
square?: string;
|
|
8
|
+
table?: string;
|
|
9
|
+
list?: string;
|
|
10
|
+
spinnerWrapper?: string;
|
|
11
|
+
textWrapper?: string;
|
|
12
|
+
}
|
|
13
|
+
interface Attributes {
|
|
14
|
+
wrapper?: object;
|
|
15
|
+
text?: object;
|
|
16
|
+
circle?: object;
|
|
17
|
+
square?: object;
|
|
18
|
+
table?: object;
|
|
19
|
+
list?: object;
|
|
20
|
+
spinnerWrapper?: object;
|
|
21
|
+
textWrapper?: object;
|
|
22
|
+
}
|
|
23
|
+
export interface SkeletonLoaderProps {
|
|
24
|
+
loading: boolean;
|
|
25
|
+
variant: 'text' | 'circle' | 'square' | 'table' | 'list' | 'spinner';
|
|
26
|
+
spinnerProps?: SpinnerProps;
|
|
27
|
+
xs?: number;
|
|
28
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
29
|
+
animation?: 'glow' | 'wave';
|
|
30
|
+
width?: number | string | null;
|
|
31
|
+
height?: number | string | null;
|
|
32
|
+
rows?: number;
|
|
33
|
+
cols?: number;
|
|
34
|
+
size?: 'xs' | 'sm' | 'lg';
|
|
35
|
+
classnames?: Classnames;
|
|
36
|
+
attributes?: Attributes;
|
|
37
|
+
}
|
|
38
|
+
declare function SkeletonLoader({ loading, variant, spinnerProps, xs, as: Component, animation, width, height, rows, cols, size, classnames, attributes, }: SkeletonLoaderProps): ReactElement | null;
|
|
39
|
+
export default SkeletonLoader;
|
|
@@ -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;
|